|
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. |
1.8.12