![]() |
#include <SurgSim/Physics/PhysicsManagerState.h>
Public Member Functions | |
PhysicsManagerState () | |
Constructor. More... | |
~PhysicsManagerState () | |
Destructor. More... | |
void | setRepresentations (const std::vector< std::shared_ptr< Representation >> &val) |
Sets the physics representations for the state, these are the basis for all the computations. More... | |
const std::vector< std::shared_ptr< Representation > > & | getRepresentations () |
Gets the physics representations. More... | |
void | setActiveRepresentations (const std::vector< std::shared_ptr< Representation >> &activeRepresentations) |
Set the list of representations into the active representations list. More... | |
const std::vector< std::shared_ptr< Representation > > & | getActiveRepresentations () const |
Gets the active physics representations. More... | |
void | setCollisionRepresentations (const std::vector< std::shared_ptr< SurgSim::Collision::Representation >> &val) |
Sets the collision representations for the state. More... | |
const std::vector< std::shared_ptr< SurgSim::Collision::Representation > > & | getCollisionRepresentations () |
Gets the collision representations. More... | |
void | setActiveCollisionRepresentations (const std::vector< std::shared_ptr< SurgSim::Collision::Representation >> &val) |
Sets the active collision representations for the state. More... | |
const std::vector< std::shared_ptr< SurgSim::Collision::Representation > > & | getActiveCollisionRepresentations () |
Gets the list of active collision representations. More... | |
void | setParticleRepresentations (const std::vector< std::shared_ptr< SurgSim::Particles::Representation >> &val) |
Sets the particle representations for the state. More... | |
const std::vector< std::shared_ptr< SurgSim::Particles::Representation > > & | getParticleRepresentations () |
Gets the particle representations. More... | |
void | setActiveParticleRepresentations (const std::vector< std::shared_ptr< SurgSim::Particles::Representation >> &val) |
Sets the active particle representations for the state. More... | |
const std::vector< std::shared_ptr< SurgSim::Particles::Representation > > & | getActiveParticleRepresentations () |
Gets the list of active particle representations. More... | |
void | setConstraintComponents (const std::vector< std::shared_ptr< ConstraintComponent >> &val) |
Sets the list of constraint components. More... | |
const std::vector< std::shared_ptr< ConstraintComponent > > & | getConstraintComponents () |
Gets the constraint components. More... | |
const std::unordered_map< std::shared_ptr< SurgSim::Collision::Representation >, std::shared_ptr< SurgSim::Physics::Representation > > & | getCollisionToPhysicsMap () const |
void | setCollisionPairs (const std::vector< std::shared_ptr< SurgSim::Collision::CollisionPair >> &val) |
Sets collision pairs that should be considered, while this is not being verified the collision pairs should only be from the list of representations that are in this state. More... | |
const std::vector< std::shared_ptr< SurgSim::Collision::CollisionPair > > & | getCollisionPairs () |
Gets collision pairs. More... | |
void | setContactFilters (const std::vector< std::shared_ptr< SurgSim::Collision::ContactFilter >> &val) |
Set the list of contact filters. More... | |
std::vector< std::shared_ptr< SurgSim::Collision::ContactFilter > > | getContactFilters () const |
void | setConstraintGroup (ConstraintGroupType type, const std::vector< std::shared_ptr< Constraint >> &constraints) |
Sets the group of constraints to a given value, the grouping indicates what type of constraint we are dealing with. More... | |
const std::vector< std::shared_ptr< Constraint > > & | getConstraintGroup (int type) const |
Gets constraint group. More... | |
void | setActiveConstraints (const std::vector< std::shared_ptr< Constraint >> &activeConstraints) |
Filter the map of constraints into the active constraints list. More... | |
const std::vector< std::shared_ptr< Constraint > > & | getActiveConstraints () const |
MlcpPhysicsProblem & | getMlcpProblem () |
Gets the Mlcp problem. More... | |
const MlcpPhysicsProblem & | getMlcpProblem () const |
Gets the Mlcp problem. More... | |
MlcpPhysicsSolution & | getMlcpSolution () |
Gets the Mlcp solution. More... | |
const MlcpPhysicsSolution & | getMlcpSolution () const |
Gets the Mlcp solution. More... | |
const MlcpMapping< Representation > & | getRepresentationsMapping () const |
Gets the representations mapping. More... | |
void | setRepresentationsMapping (const MlcpMapping< Representation > &representationsMapping) |
Set the representations mapping. More... | |
const MlcpMapping< Constraint > & | getConstraintsMapping () const |
Gets the constraints mapping. More... | |
void | setConstraintsMapping (const MlcpMapping< Constraint > &constraintsMapping) |
Set the constraints mapping. More... | |
void | setTimeOfImpact (double timeOfImpact) |
Set the time of impact. More... | |
double | getTimeOfImpact () |
bool | shouldAbortGroup () const |
void | setAbortGroup (bool val) |
Set whether to abort the current grouped computation. More... | |
Private Attributes | |
MlcpPhysicsProblem | m_mlcpPhysicsProblem |
Mlcp problem for this Physics Manager State. More... | |
MlcpPhysicsSolution | m_mlcpPhysicsSolution |
Mlcp solution for this Physics Manager State. More... | |
bool | m_abortGroup |
Flag for the abort group case. More... | |
double | m_timeOfImpact |
last time of impact for a CCD calculation More... | |
std::vector< std::shared_ptr< Representation > > | m_representations |
std::vector< std::shared_ptr< Representation > > | m_activeRepresentations |
The list of active representations. More... | |
std::vector< std::shared_ptr< SurgSim::Collision::Representation > > | m_collisionRepresentations |
List of all the collision representations known to the state. More... | |
std::vector< std::shared_ptr< SurgSim::Collision::Representation > > | m_activeCollisionRepresentations |
List of all the active collision representations known to the state. More... | |
std::vector< std::shared_ptr< Collision::ContactFilter > > | m_contactFilters |
List of all the collision filters known to the state. More... | |
std::vector< std::shared_ptr< SurgSim::Particles::Representation > > | m_particleRepresentations |
List of all the particle representations known to the state. More... | |
std::vector< std::shared_ptr< SurgSim::Particles::Representation > > | m_activeParticleRepresentations |
List of all the active particle representations known to the state. More... | |
std::vector< std::shared_ptr< ConstraintComponent > > | m_constraintComponents |
List of the constraint components. More... | |
std::unordered_map< std::shared_ptr< SurgSim::Collision::Representation >, std::shared_ptr< SurgSim::Physics::Representation > > | m_collisionsToPhysicsMap |
Mapping of collision representations to their respective physics representation. More... | |
std::vector< std::shared_ptr< SurgSim::Collision::CollisionPair > > | m_collisionPairs |
The local list of collision pairs. More... | |
std::unordered_map< int, std::vector< std::shared_ptr< Constraint > > > | m_constraints |
The local map of constraints. More... | |
std::vector< std::shared_ptr< Constraint > > | m_activeConstraints |
The list of active constraints. More... | |
MlcpMapping< Representation > | m_representationsIndexMapping |
Representation mapping. More... | |
MlcpMapping< Constraint > | m_constraintsIndexMapping |
Constraints mapping. More... | |
SurgSim::Physics::PhysicsManagerState::PhysicsManagerState | ( | ) |
Constructor.
SurgSim::Physics::PhysicsManagerState::~PhysicsManagerState | ( | ) |
Destructor.
const std::vector< std::shared_ptr< SurgSim::Collision::Representation > > & SurgSim::Physics::PhysicsManagerState::getActiveCollisionRepresentations | ( | ) |
Gets the list of active collision representations.
const std::vector< std::shared_ptr< Constraint > > & SurgSim::Physics::PhysicsManagerState::getActiveConstraints | ( | ) | const |
const std::vector< std::shared_ptr< Particles::Representation > > & SurgSim::Physics::PhysicsManagerState::getActiveParticleRepresentations | ( | ) |
Gets the list of active particle representations.
const std::vector< std::shared_ptr< Representation > > & SurgSim::Physics::PhysicsManagerState::getActiveRepresentations | ( | ) | const |
Gets the active physics representations.
const std::vector< std::shared_ptr< SurgSim::Collision::CollisionPair > > & SurgSim::Physics::PhysicsManagerState::getCollisionPairs | ( | ) |
Gets collision pairs.
const std::vector< std::shared_ptr< SurgSim::Collision::Representation > > & SurgSim::Physics::PhysicsManagerState::getCollisionRepresentations | ( | ) |
Gets the collision representations.
const std::unordered_map< std::shared_ptr< SurgSim::Collision::Representation >, std::shared_ptr< SurgSim::Physics::Representation > > & SurgSim::Physics::PhysicsManagerState::getCollisionToPhysicsMap | ( | ) | const |
const std::vector< std::shared_ptr< ConstraintComponent > > & SurgSim::Physics::PhysicsManagerState::getConstraintComponents | ( | ) |
Gets the constraint components.
const std::vector< std::shared_ptr< Constraint > > & SurgSim::Physics::PhysicsManagerState::getConstraintGroup | ( | int | type | ) | const |
Gets constraint group.
type | The type. |
const MlcpMapping< Constraint > & SurgSim::Physics::PhysicsManagerState::getConstraintsMapping | ( | ) | const |
Gets the constraints mapping.
std::vector< std::shared_ptr< SurgSim::Collision::ContactFilter > > SurgSim::Physics::PhysicsManagerState::getContactFilters | ( | ) | const |
MlcpPhysicsProblem & SurgSim::Physics::PhysicsManagerState::getMlcpProblem | ( | ) |
Gets the Mlcp problem.
const MlcpPhysicsProblem & SurgSim::Physics::PhysicsManagerState::getMlcpProblem | ( | ) | const |
Gets the Mlcp problem.
MlcpPhysicsSolution & SurgSim::Physics::PhysicsManagerState::getMlcpSolution | ( | ) |
Gets the Mlcp solution.
const MlcpPhysicsSolution & SurgSim::Physics::PhysicsManagerState::getMlcpSolution | ( | ) | const |
Gets the Mlcp solution.
const std::vector< std::shared_ptr< Particles::Representation > > & SurgSim::Physics::PhysicsManagerState::getParticleRepresentations | ( | ) |
Gets the particle representations.
const std::vector< std::shared_ptr< Representation > > & SurgSim::Physics::PhysicsManagerState::getRepresentations | ( | ) |
Gets the physics representations.
const MlcpMapping< Representation > & SurgSim::Physics::PhysicsManagerState::getRepresentationsMapping | ( | ) | const |
Gets the representations mapping.
double SurgSim::Physics::PhysicsManagerState::getTimeOfImpact | ( | ) |
void SurgSim::Physics::PhysicsManagerState::setAbortGroup | ( | bool | val | ) |
Set whether to abort the current grouped computation.
val | set to true to signal to an above computation to abort |
void SurgSim::Physics::PhysicsManagerState::setActiveCollisionRepresentations | ( | const std::vector< std::shared_ptr< SurgSim::Collision::Representation >> & | val | ) |
Sets the active collision representations for the state.
val | collection of all active collision representations. |
void SurgSim::Physics::PhysicsManagerState::setActiveConstraints | ( | const std::vector< std::shared_ptr< Constraint >> & | activeConstraints | ) |
Filter the map of constraints into the active constraints list.
activeConstraints | The list of active constraints. |
void SurgSim::Physics::PhysicsManagerState::setActiveParticleRepresentations | ( | const std::vector< std::shared_ptr< SurgSim::Particles::Representation >> & | val | ) |
Sets the active particle representations for the state.
val | collection of all active particle representations. |
void SurgSim::Physics::PhysicsManagerState::setActiveRepresentations | ( | const std::vector< std::shared_ptr< Representation >> & | activeRepresentations | ) |
Set the list of representations into the active representations list.
activeRepresentations | The active physics representations that are known to the state. |
void SurgSim::Physics::PhysicsManagerState::setCollisionPairs | ( | const std::vector< std::shared_ptr< SurgSim::Collision::CollisionPair >> & | val | ) |
Sets collision pairs that should be considered, while this is not being verified the collision pairs should only be from the list of representations that are in this state.
val | The list of collision pairs. |
void SurgSim::Physics::PhysicsManagerState::setCollisionRepresentations | ( | const std::vector< std::shared_ptr< SurgSim::Collision::Representation >> & | val | ) |
Sets the collision representations for the state.
val | collection of all collision representations. |
void SurgSim::Physics::PhysicsManagerState::setConstraintComponents | ( | const std::vector< std::shared_ptr< ConstraintComponent >> & | val | ) |
Sets the list of constraint components.
val | collection of all constraint components |
void SurgSim::Physics::PhysicsManagerState::setConstraintGroup | ( | ConstraintGroupType | type, |
const std::vector< std::shared_ptr< Constraint >> & | constraints | ||
) |
Sets the group of constraints to a given value, the grouping indicates what type of constraint we are dealing with.
type | The type of constraint grouping e.g. Contact Constraints. |
constraints | The constraints. |
void SurgSim::Physics::PhysicsManagerState::setConstraintsMapping | ( | const MlcpMapping< Constraint > & | constraintsMapping | ) |
Set the constraints mapping.
constraintsMapping | The constraints mapping (mapping between the constraints and the mlcp) |
void SurgSim::Physics::PhysicsManagerState::setContactFilters | ( | const std::vector< std::shared_ptr< SurgSim::Collision::ContactFilter >> & | val | ) |
Set the list of contact filters.
val | the list of contact filters |
void SurgSim::Physics::PhysicsManagerState::setParticleRepresentations | ( | const std::vector< std::shared_ptr< SurgSim::Particles::Representation >> & | val | ) |
Sets the particle representations for the state.
val | collection of all particle representations. |
void SurgSim::Physics::PhysicsManagerState::setRepresentations | ( | const std::vector< std::shared_ptr< Representation >> & | val | ) |
Sets the physics representations for the state, these are the basis for all the computations.
val | The list of representations. |
void SurgSim::Physics::PhysicsManagerState::setRepresentationsMapping | ( | const MlcpMapping< Representation > & | representationsMapping | ) |
Set the representations mapping.
representationsMapping | The representations mapping (mapping between the representation and the mlcp) |
void SurgSim::Physics::PhysicsManagerState::setTimeOfImpact | ( | double | timeOfImpact | ) |
Set the time of impact.
timeOfImpact | the time of impact for CCD |
bool SurgSim::Physics::PhysicsManagerState::shouldAbortGroup | ( | ) | const |
|
private |
Flag for the abort group case.
|
private |
List of all the active collision representations known to the state.
|
private |
The list of active constraints.
|
private |
List of all the active particle representations known to the state.
|
private |
The list of active representations.
|
private |
The local list of collision pairs.
|
private |
List of all the collision representations known to the state.
|
private |
Mapping of collision representations to their respective physics representation.
|
private |
List of the constraint components.
|
private |
The local map of constraints.
|
private |
Constraints mapping.
|
private |
List of all the collision filters known to the state.
|
private |
Mlcp problem for this Physics Manager State.
|
private |
Mlcp solution for this Physics Manager State.
|
private |
List of all the particle representations known to the state.
|
private |
Local state data structures, please note that the physics state may get copied, these data structures should copy their contents on copy. With the caveat that objects contained within those structures might not get copied themselves. The local list of representations
|
private |
Representation mapping.
|
private |
last time of impact for a CCD calculation