opensurgsim
|
Base class for all physics constraints. Contains data specific to the constraint and a pair of implementations. More...
#include <Constraint.h>
Public Member Functions | |
Constraint (ConstraintType constraintType, std::shared_ptr< ConstraintData > data, std::shared_ptr< Representation > representation0, const SurgSim::DataStructures::Location &location0, std::shared_ptr< Representation > representation1, const SurgSim::DataStructures::Location &location1) | |
Sets all the values for this constraints, does validation on the parameters and will throw if something is wrong with the constraint. More... | |
virtual | ~Constraint () |
Destructor. | |
void | setInformation (ConstraintType constraintType, std::shared_ptr< ConstraintData > data, std::shared_ptr< Representation > representation0, const SurgSim::DataStructures::Location &location0, std::shared_ptr< Representation > representation1, const SurgSim::DataStructures::Location &location1) |
Sets all the values for this constraints, does validation on the parameters and will throw if something is wrong with the constraint. More... | |
const std::pair< std::shared_ptr< ConstraintImplementation >, std::shared_ptr< ConstraintImplementation > > & | getImplementations () const |
Gets both sides implementation as a pair. More... | |
const std::pair< std::shared_ptr< Localization >, std::shared_ptr< Localization > > & | getLocalizations () const |
Gets both sides Localization as a pair. More... | |
std::shared_ptr< ConstraintData > | getData () const |
Gets the data associated to this constraint. More... | |
size_t | getNumDof () const |
Gets the number of degree of freedom for this constraint. More... | |
ConstraintType | getType () |
Gets the ConstraintType. More... | |
void | build (double dt, MlcpPhysicsProblem *mlcpPhysicsProblem, size_t indexOfRepresentation0, size_t indexOfRepresentation1, size_t indexOfConstraint) |
Builds subset of an Mlcp physics problem associated to this constraint. More... | |
bool | isActive () |
void | setActive (bool flag) |
Protected Member Functions | |
virtual void | doBuild (double dt, const ConstraintData &data, MlcpPhysicsProblem *mlcpPhysicsProblem, size_t indexOfRepresentation0, size_t indexOfRepresentation1, size_t indexOfConstraint) |
Builds subset of an Mlcp physics problem associated to this constraint user-defined call for extra treatment. More... | |
Protected Attributes | |
std::array< Math::MlcpConstraintType, NUM_CONSTRAINT_TYPES > | m_mlcpMap |
Constraint-MLCP mapping. | |
std::shared_ptr< ConstraintData > | m_data |
Specific data associated to this constraint. | |
std::pair< std::shared_ptr< ConstraintImplementation >, std::shared_ptr< ConstraintImplementation > > | m_implementations |
Pair of implementations defining the 2 sides of the constraint. | |
std::pair< std::shared_ptr< Localization >, std::shared_ptr< Localization > > | m_localizations |
size_t | m_numDof |
The degrees of freedom that this constraint has. | |
ConstraintType | m_constraintType |
The type of this constraint. | |
bool | m_active |
Flag to indicate whether this constraint is active or not. | |
Base class for all physics constraints. Contains data specific to the constraint and a pair of implementations.
SurgSim::Physics::Constraint::Constraint | ( | ConstraintType | constraintType, |
std::shared_ptr< ConstraintData > | data, | ||
std::shared_ptr< Representation > | representation0, | ||
const SurgSim::DataStructures::Location & | location0, | ||
std::shared_ptr< Representation > | representation1, | ||
const SurgSim::DataStructures::Location & | location1 | ||
) |
Sets all the values for this constraints, does validation on the parameters and will throw if something is wrong with the constraint.
constraintType | The constraint type. |
data | The data for this constraint. |
representation0,representation1 | Both representations in this constraint. |
location0,location1 | Both locations of the representations involved in this constraint. |
void SurgSim::Physics::Constraint::build | ( | double | dt, |
MlcpPhysicsProblem * | mlcpPhysicsProblem, | ||
size_t | indexOfRepresentation0, | ||
size_t | indexOfRepresentation1, | ||
size_t | indexOfConstraint | ||
) |
Builds subset of an Mlcp physics problem associated to this constraint.
dt | The time step. | |
[in,out] | mlcpPhysicsProblem | The Mlcp physics problem to be filled up. |
indexOfRepresentation0 | The index of the 1st representation in the Mlcp. | |
indexOfRepresentation1 | The index of the 2nd representation in the Mlcp. | |
indexOfConstraint | The index of this constraint in the Mlcp. |
|
protectedvirtual |
Builds subset of an Mlcp physics problem associated to this constraint user-defined call for extra treatment.
dt | The time step | |
data | The data specific to this constraint | |
[in,out] | mlcpPhysicsProblem | The Mlcp physics problem to be filled up |
indexOfRepresentation0 | The index of the 1st representation in the Mlcp | |
indexOfRepresentation1 | The index of the 2nd representation in the Mlcp | |
indexOfConstraint | The index of this constraint in the Mlcp |
Reimplemented in SurgSim::Physics::RotationVectorConstraint.
std::shared_ptr< ConstraintData > SurgSim::Physics::Constraint::getData | ( | ) | const |
Gets the data associated to this constraint.
const std::pair< std::shared_ptr< ConstraintImplementation >, std::shared_ptr< ConstraintImplementation > > & SurgSim::Physics::Constraint::getImplementations | ( | ) | const |
Gets both sides implementation as a pair.
const std::pair< std::shared_ptr< Localization >, std::shared_ptr< Localization > > & SurgSim::Physics::Constraint::getLocalizations | ( | ) | const |
Gets both sides Localization as a pair.
size_t SurgSim::Physics::Constraint::getNumDof | ( | ) | const |
Gets the number of degree of freedom for this constraint.
ConstraintType SurgSim::Physics::Constraint::getType | ( | ) |
Gets the ConstraintType.
bool SurgSim::Physics::Constraint::isActive | ( | ) |
void SurgSim::Physics::Constraint::setActive | ( | bool | flag | ) |
flag | Whether this constraint is active. |
void SurgSim::Physics::Constraint::setInformation | ( | ConstraintType | constraintType, |
std::shared_ptr< ConstraintData > | data, | ||
std::shared_ptr< Representation > | representation0, | ||
const SurgSim::DataStructures::Location & | location0, | ||
std::shared_ptr< Representation > | representation1, | ||
const SurgSim::DataStructures::Location & | location1 | ||
) |
Sets all the values for this constraints, does validation on the parameters and will throw if something is wrong with the constraint.
constraintType | The constraint type. |
data | The data for this constraint. |
representation0,representation1 | Both representations in this constraint. |
location0,location1 | Both locations of the representations involved in this constraint. |