C# Class BEPUphysics.BroadPhaseEntries.MobileCollidables.CompoundHelper

Contains methods to help with splitting compound objects into multiple pieces.
Exibir arquivo Open project: Indiefreaks/igf

Public Methods

Method Description
CreatePartialCompoundCollidable ( CompoundShape shape, IList childIndices ) : CompoundCollidable

Constructs a compound collidable containing only the specified subset of children.

RemoveChildFromCompound ( CompoundCollidable compound, bool>.Func removalPredicate, IList childContributions, ShapeDistributionInformation &distributionInfo, float &weight, float &removedWeight, System.Vector3 &removedCenter ) : bool

Removes a child from a compound collidable.

RemoveChildFromCompound ( Entity compound, bool>.Func removalPredicate, IList childContributions ) : bool

Removes a child from a compound body.

RemoveChildFromCompound ( Entity compound, bool>.Func removalPredicate, IList childContributions, ShapeDistributionInformation &distributionInfo ) : bool

Removes a child from a compound body.

SplitCompound ( bool>.Func splitPredicate, Entity a, Entity &b ) : bool

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.

SplitCompound ( IList childContributions, bool>.Func splitPredicate, CompoundCollidable a, CompoundCollidable b, ShapeDistributionInformation &distributionInfoA, ShapeDistributionInformation &distributionInfoB, float &weightA, float &weightB ) : bool

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.

SplitCompound ( IList childContributions, bool>.Func splitPredicate, Entity a, Entity &b ) : bool

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.

SplitCompound ( IList childContributions, bool>.Func splitPredicate, Entity a, Entity &b, ShapeDistributionInformation &distributionInfoA, ShapeDistributionInformation &distributionInfoB ) : bool

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.

Private Methods

Method Description
RemoveReposition ( Entity compound, ShapeDistributionInformation &distributionInfo, float weight, float removedWeight, System.Vector3 &removedCenter ) : void
SplitReposition ( Entity a, Entity b, ShapeDistributionInformation &distributionInfoA, ShapeDistributionInformation &distributionInfoB, float weightA, float weightB ) : void

Method Details

CreatePartialCompoundCollidable() public static method

Constructs a compound collidable containing only the specified subset of children.
public static CreatePartialCompoundCollidable ( CompoundShape shape, IList childIndices ) : CompoundCollidable
shape BEPUphysics.CollisionShapes.CompoundShape Shape to base the compound collidable on.
childIndices IList Indices of child shapes from the CompoundShape to include in the compound collidable.
return CompoundCollidable

RemoveChildFromCompound() public static method

Removes a child from a compound collidable.
public static RemoveChildFromCompound ( CompoundCollidable compound, bool>.Func removalPredicate, IList childContributions, ShapeDistributionInformation &distributionInfo, float &weight, float &removedWeight, System.Vector3 &removedCenter ) : bool
compound CompoundCollidable Compound collidable to remove a child from.
removalPredicate bool>.Func Callback which analyzes a child and determines if it should be removed from the compound.
childContributions IList Distribution contributions from all shapes in the compound shape. This can include shapes which are not represented in the compound.
distributionInfo BEPUphysics.CollisionShapes.ShapeDistributionInformation Distribution information of the new compound.
weight float Total weight of the new compound.
removedWeight float Weight removed from the compound.
removedCenter System.Vector3 Center of the chunk removed from the compound.
return bool

RemoveChildFromCompound() public static method

Removes a child from a compound body.
public static RemoveChildFromCompound ( Entity compound, bool>.Func removalPredicate, IList childContributions ) : bool
compound Entity Original compound to have a child removed.
removalPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
childContributions IList List of distribution information associated with each child shape of the whole compound shape used by the compound being split.
return bool

RemoveChildFromCompound() public static method

Removes a child from a compound body.
public static RemoveChildFromCompound ( Entity compound, bool>.Func removalPredicate, IList childContributions, ShapeDistributionInformation &distributionInfo ) : bool
compound Entity Original compound to have a child removed.
removalPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
childContributions IList List of distribution information associated with each child shape of the whole compound shape used by the compound being split.
distributionInfo BEPUphysics.CollisionShapes.ShapeDistributionInformation Volume, volume distribution, and center information about the new form of the original compound collidable.
return bool

SplitCompound() public static method

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.
public static SplitCompound ( bool>.Func splitPredicate, Entity a, Entity &b ) : bool
splitPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
a Entity Original compound to be split. Children in this compound will be removed and added to the other compound.
b Entity Compound to receive children removed from the original compound.
return bool

SplitCompound() public static method

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.
public static SplitCompound ( IList childContributions, bool>.Func splitPredicate, CompoundCollidable a, CompoundCollidable b, ShapeDistributionInformation &distributionInfoA, ShapeDistributionInformation &distributionInfoB, float &weightA, float &weightB ) : bool
childContributions IList List of distribution information associated with each child shape of the whole compound shape used by the compound being split.
splitPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
a CompoundCollidable Original compound to be split. Children in this compound will be removed and added to the other compound.
b CompoundCollidable Compound to receive children removed from the original compound.
distributionInfoA BEPUphysics.CollisionShapes.ShapeDistributionInformation Volume, volume distribution, and center information about the new form of the original compound collidable.
distributionInfoB BEPUphysics.CollisionShapes.ShapeDistributionInformation Volume, volume distribution, and center information about the new compound collidable.
weightA float Total weight associated with the new form of the original compound collidable.
weightB float Total weight associated with the new compound collidable.
return bool

SplitCompound() public static method

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.
public static SplitCompound ( IList childContributions, bool>.Func splitPredicate, Entity a, Entity &b ) : bool
childContributions IList List of distribution information associated with each child shape of the whole compound shape used by the compound being split.
splitPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
a Entity Original compound to be split. Children in this compound will be removed and added to the other compound.
b Entity Compound to receive children removed from the original compound.
return bool

SplitCompound() public static method

Splits a single compound collidable into two separate compound collidables and computes information needed by the simulation.
public static SplitCompound ( IList childContributions, bool>.Func splitPredicate, Entity a, Entity &b, ShapeDistributionInformation &distributionInfoA, ShapeDistributionInformation &distributionInfoB ) : bool
childContributions IList List of distribution information associated with each child shape of the whole compound shape used by the compound being split.
splitPredicate bool>.Func Delegate which determines if a child in the original compound should be moved to the new compound.
a Entity Original compound to be split. Children in this compound will be removed and added to the other compound.
b Entity Compound to receive children removed from the original compound.
distributionInfoA BEPUphysics.CollisionShapes.ShapeDistributionInformation Volume, volume distribution, and center information about the new form of the original compound collidable.
distributionInfoB BEPUphysics.CollisionShapes.ShapeDistributionInformation Volume, volume distribution, and center information about the new compound collidable.
return bool