C# Class BEPUphysics.Constraints.SolverGroups.SolverGroup

Superclass of constraints that are composed of multiple subconstraints.
Inheritance: SolverUpdateable
Datei anzeigen Open project: Indiefreaks/igf Class Usage Examples

Public Methods

Method Description
ExclusiveUpdate ( ) : void

Performs any pre-solve iteration work that needs exclusive access to the members of the solver updateable. Usually, this is used for applying warmstarting impulses.

OnAdditionToSpace ( ISpace newSpace ) : void

Called after the object is added to a space.

OnRemovalFromSpace ( ISpace oldSpace ) : void

Called before an object is removed from its space.

SolveIteration ( ) : float

Computes one iteration of the constraint to meet the solver updateable's goal.

Update ( float dt ) : void

Performs the frame's configuration step.

UpdateSolverActivity ( ) : void

Sets the activity state of the constraint based on the activity state of its connections. Called automatically by the space owning a constaint. If a constraint is a sub-constraint that hasn't been directly added to the space, this may need to be called alongside the preStep from within the parent constraint.

Protected Methods

Method Description
Add ( EntitySolverUpdateable solverUpdateable ) : void

Adds a solver updateable to the group.

CollectInvolvedEntities ( RawList outputInvolvedEntities ) : void

Collects the entities which are affected by the solver group and updates the internal listing.

ExclusiveUpdateUpdateable ( EntitySolverUpdateable item ) : void
Remove ( EntitySolverUpdateable solverUpdateable ) : void

Removes a solver updateable from the group.

SolveUpdateable ( EntitySolverUpdateable item, int &activeConstraints ) : void

Solves a child updateable. Some children may override the group's update method; this avoids code repeat.

UpdateUpdateable ( EntitySolverUpdateable item, float dt ) : void

Method Details

Add() protected method

Adds a solver updateable to the group.
Thrown when the SolverUpdateable to add to the SolverGroup already belongs to another SolverGroup or to a Space.
protected Add ( EntitySolverUpdateable solverUpdateable ) : void
solverUpdateable EntitySolverUpdateable Solver updateable to add.
return void

CollectInvolvedEntities() protected method

Collects the entities which are affected by the solver group and updates the internal listing.
protected CollectInvolvedEntities ( RawList outputInvolvedEntities ) : void
outputInvolvedEntities RawList
return void

ExclusiveUpdate() public method

Performs any pre-solve iteration work that needs exclusive access to the members of the solver updateable. Usually, this is used for applying warmstarting impulses.
public ExclusiveUpdate ( ) : void
return void

ExclusiveUpdateUpdateable() protected method

protected ExclusiveUpdateUpdateable ( EntitySolverUpdateable item ) : void
item EntitySolverUpdateable
return void

OnAdditionToSpace() public method

Called after the object is added to a space.
public OnAdditionToSpace ( ISpace newSpace ) : void
newSpace ISpace
return void

OnRemovalFromSpace() public method

Called before an object is removed from its space.
public OnRemovalFromSpace ( ISpace oldSpace ) : void
oldSpace ISpace
return void

Remove() protected method

Removes a solver updateable from the group.
Thrown when the SolverUpdateable to remove from the SolverGroup doesn't actually belong to this SolverGroup.
protected Remove ( EntitySolverUpdateable solverUpdateable ) : void
solverUpdateable EntitySolverUpdateable Solver updateable to remove.
return void

SolveIteration() public method

Computes one iteration of the constraint to meet the solver updateable's goal.
public SolveIteration ( ) : float
return float

SolveUpdateable() protected method

Solves a child updateable. Some children may override the group's update method; this avoids code repeat.
protected SolveUpdateable ( EntitySolverUpdateable item, int &activeConstraints ) : void
item EntitySolverUpdateable
activeConstraints int
return void

Update() public method

Performs the frame's configuration step.
public Update ( float dt ) : void
dt float Timestep duration.
return void

UpdateSolverActivity() public method

Sets the activity state of the constraint based on the activity state of its connections. Called automatically by the space owning a constaint. If a constraint is a sub-constraint that hasn't been directly added to the space, this may need to be called alongside the preStep from within the parent constraint.
public UpdateSolverActivity ( ) : void
return void

UpdateUpdateable() protected method

protected UpdateUpdateable ( EntitySolverUpdateable item, float dt ) : void
item EntitySolverUpdateable
dt float
return void