C# 클래스 BEPUphysics.CollisionRuleManagement.CollisionRules

Stores how an object can interact with other objects through collisions.
파일 보기 프로젝트 열기: Indiefreaks/igf 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
CollisionGroupRules CollisionRule>.Dictionary
DefaultCollisionRule CollisionRule
DefaultDynamicCollisionGroup BEPUphysics.CollisionRuleManagement.CollisionGroup
DefaultKinematicCollisionGroup BEPUphysics.CollisionRuleManagement.CollisionGroup

공개 메소드들

메소드 설명
AddRule ( CollisionRules rulesA, ICollisionRulesOwner ownerB, CollisionRule rule ) : void

Adds an entry in rulesA's Specific relationships list about ownerB.

AddRule ( ICollisionRulesOwner ownerA, CollisionRules rulesB, CollisionRule rule ) : void

Adds an entry in rulesA's Specific relationships list about ownerB.

AddRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB, CollisionRule rule ) : void

Adds an entry in ownerA's Specific relationships list about ownerB.

CollisionRules ( ) : System

Constructs a new CollisionRules instance.

GetCollisionRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB ) : CollisionRule

Uses the CollisionRuleCalculator to get the collision rule between two collision rules owners.

GetCollisionRuleDefault ( ICollisionRulesOwner aOwner, ICollisionRulesOwner bOwner ) : CollisionRule

Determines what collision rule governs the interaction between the two objects.

GetGroupCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule

Default implementation used to calculate collision rules due to the rulesets' collision groups.

GetHashCode ( ) : int

Serves as a hash function for a particular type.

GetPersonalCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule

Default implementation used to calculate collision rules due to the rulesets' personal rules.

GetSpecificCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule

Default implementation used to calculate collision rules due to the rulesets' specific relationships.

RemoveRule ( CollisionRules rulesA, ICollisionRulesOwner ownerB ) : void

Tries to remove a relationship about ownerB from rulesA's Specific list.

RemoveRule ( ICollisionRulesOwner ownerA, CollisionRules rulesB ) : void

Tries to remove a relationship about rulesB from ownerA's Specific list.

RemoveRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB ) : void

Tries to remove a relationship about ownerB from ownerA's Specific list.

보호된 메소드들

메소드 설명
OnChanged ( ) : void

메소드 상세

AddRule() 공개 정적인 메소드

Adds an entry in rulesA's Specific relationships list about ownerB.
public static AddRule ( CollisionRules rulesA, ICollisionRulesOwner ownerB, CollisionRule rule ) : void
rulesA CollisionRules Collision rules that will gain an entry in its Specific relationships.
ownerB ICollisionRulesOwner Owner of the collision rules that will be added to ownerA's Specific relationships.
rule CollisionRule Rule assigned to the pair.
리턴 void

AddRule() 공개 정적인 메소드

Adds an entry in rulesA's Specific relationships list about ownerB.
public static AddRule ( ICollisionRulesOwner ownerA, CollisionRules rulesB, CollisionRule rule ) : void
ownerA ICollisionRulesOwner Owner of the collision rules that will gain an entry in its Specific relationships.
rulesB CollisionRules Collision rules that will be added to ownerA's Specific relationships.
rule CollisionRule Rule assigned to the pair.
리턴 void

AddRule() 공개 정적인 메소드

Adds an entry in ownerA's Specific relationships list about ownerB.
public static AddRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB, CollisionRule rule ) : void
ownerA ICollisionRulesOwner Owner of the collision rules that will gain an entry in its Specific relationships.
ownerB ICollisionRulesOwner Owner of the collision rules that will be added to ownerA's Specific relationships.
rule CollisionRule Rule assigned to the pair.
리턴 void

CollisionRules() 공개 메소드

Constructs a new CollisionRules instance.
public CollisionRules ( ) : System
리턴 System

GetCollisionRule() 공개 정적인 메소드

Uses the CollisionRuleCalculator to get the collision rule between two collision rules owners.
public static GetCollisionRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB ) : CollisionRule
ownerA ICollisionRulesOwner First owner of the pair.
ownerB ICollisionRulesOwner Second owner of the pair.
리턴 CollisionRule

GetCollisionRuleDefault() 공개 정적인 메소드

Determines what collision rule governs the interaction between the two objects.
public static GetCollisionRuleDefault ( ICollisionRulesOwner aOwner, ICollisionRulesOwner bOwner ) : CollisionRule
aOwner ICollisionRulesOwner First ruleset owner in the pair. This entity's space is used to determine the collision detection settings that contain special collision group interaction rules.
bOwner ICollisionRulesOwner Second ruleset owner in the pair.
리턴 CollisionRule

GetGroupCollisionRuleDefault() 공개 정적인 메소드

Default implementation used to calculate collision rules due to the rulesets' collision groups.
public static GetGroupCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule
a CollisionRules First ruleset in the pair.
b CollisionRules Second ruleset in the pair.
리턴 CollisionRule

GetHashCode() 공개 메소드

Serves as a hash function for a particular type.
public GetHashCode ( ) : int
리턴 int

GetPersonalCollisionRuleDefault() 공개 정적인 메소드

Default implementation used to calculate collision rules due to the rulesets' personal rules.
public static GetPersonalCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule
a CollisionRules First ruleset in the pair.
b CollisionRules Second ruleset in the pair.
리턴 CollisionRule

GetSpecificCollisionRuleDefault() 공개 정적인 메소드

Default implementation used to calculate collision rules due to the rulesets' specific relationships.
public static GetSpecificCollisionRuleDefault ( CollisionRules a, CollisionRules b ) : CollisionRule
a CollisionRules First ruleset in the pair.
b CollisionRules Second ruleset in the pair.
리턴 CollisionRule

OnChanged() 보호된 메소드

protected OnChanged ( ) : void
리턴 void

RemoveRule() 공개 정적인 메소드

Tries to remove a relationship about ownerB from rulesA's Specific list.
public static RemoveRule ( CollisionRules rulesA, ICollisionRulesOwner ownerB ) : void
rulesA CollisionRules Collision rules that will lose an entry in its Specific relationships.
ownerB ICollisionRulesOwner Owner of the collision rules that will be removed from ownerA's Specific relationships.
리턴 void

RemoveRule() 공개 정적인 메소드

Tries to remove a relationship about rulesB from ownerA's Specific list.
public static RemoveRule ( ICollisionRulesOwner ownerA, CollisionRules rulesB ) : void
ownerA ICollisionRulesOwner Owner of the collision rules that will lose an entry in its Specific relationships.
rulesB CollisionRules Collision rules that will be removed from ownerA's Specific relationships.
리턴 void

RemoveRule() 공개 정적인 메소드

Tries to remove a relationship about ownerB from ownerA's Specific list.
public static RemoveRule ( ICollisionRulesOwner ownerA, ICollisionRulesOwner ownerB ) : void
ownerA ICollisionRulesOwner Owner of the collision rules that will lose an entry in its Specific relationships.
ownerB ICollisionRulesOwner Owner of the collision rules that will be removed from ownerA's Specific relationships.
리턴 void

프로퍼티 상세

CollisionGroupRules 공개적으로 정적으로 프로퍼티

Defines any special collision rules between collision groups.
public static Dictionary CollisionGroupRules
리턴 CollisionRule>.Dictionary

DefaultCollisionRule 공개적으로 정적으로 프로퍼티

If a CollisionRule calculation between two colliding objects results in no defined CollisionRule, this value will be used.
public static CollisionRule DefaultCollisionRule
리턴 CollisionRule

DefaultDynamicCollisionGroup 공개적으로 정적으로 프로퍼티

When a dynamic entity is created and added to a space without having a specific collision group set beforehand, it inherits this collision group. There are no special rules associated with this group by default; entities within this group have normal, full interaction with all other entities. Collision group interaction rules can be overriden by entity personal collision rules or entity-to-entity specific collision rules.
public static CollisionGroup,BEPUphysics.CollisionRuleManagement DefaultDynamicCollisionGroup
리턴 BEPUphysics.CollisionRuleManagement.CollisionGroup

DefaultKinematicCollisionGroup 공개적으로 정적으로 프로퍼티

When a kinematic entity is created and added to a space without having a specific collision group set beforehand, it inherits this collision group. Entities in this collision group will not create collision pairs with other entities of this collision group by default. All other interactions are normal. Collision group interaction rules can be overriden by entity personal collision rules or entity-to-entity specific collision rules. Non-entity collidable objects like static triangle meshes also use this collision group by default.
public static CollisionGroup,BEPUphysics.CollisionRuleManagement DefaultKinematicCollisionGroup
리턴 BEPUphysics.CollisionRuleManagement.CollisionGroup