|
|
| MockMassSpring (const std::string &name, const SurgSim::Math::RigidTransform3d &pose, size_t numNodes, std::vector< size_t > nodeBoundaryConditions, double totalMass, double rayleighDampingMass, double rayleighDampingStiffness, double springStiffness, double springDamping, SurgSim::Math::IntegrationScheme integrationScheme) |
| |
|
const Vector3d & | getGravityVector () const |
| |
|
const SurgSim::Math::Vector & | getExternalForce () const |
| |
|
const SurgSim::Math::SparseMatrix & | getExternalStiffness () const |
| |
|
const SurgSim::Math::SparseMatrix & | getExternalDamping () const |
| |
|
void | clearFMDK () |
| |
| | MassSpringRepresentation (const std::string &name) |
| | Constructor. More...
|
| |
|
virtual | ~MassSpringRepresentation () |
| | Destructor.
|
| |
|
| SURGSIM_CLASSNAME (SurgSim::Physics::MassSpringRepresentation) |
| |
| void | addMass (const std::shared_ptr< Mass > mass) |
| | Adds a mass. More...
|
| |
| void | addSpring (const std::shared_ptr< Spring > spring) |
| | Adds a spring. More...
|
| |
| size_t | getNumMasses () const |
| | Gets the number of masses. More...
|
| |
| size_t | getNumSprings () const |
| | Gets the number of springs. More...
|
| |
| size_t | getNumElements () const |
| |
| std::shared_ptr< Mass > | getMass (size_t nodeId) |
| | Retrieves the mass of a given node. More...
|
| |
| std::shared_ptr< Spring > | getSpring (size_t springId) |
| | Retrieves a given spring from its id. More...
|
| |
| double | getTotalMass () const |
| | Gets the total mass of the mass spring. More...
|
| |
| double | getRayleighDampingStiffness () const |
| | Gets the Rayleigh stiffness parameter. More...
|
| |
| double | getRayleighDampingMass () const |
| | Gets the Rayleigh mass parameter. More...
|
| |
| void | setRayleighDampingStiffness (double stiffnessCoef) |
| | Sets the Rayleigh stiffness parameter. More...
|
| |
| void | setRayleighDampingMass (double massCoef) |
| | Sets the Rayleigh mass parameter. More...
|
| |
| void | addExternalGeneralizedForce (std::shared_ptr< Localization > localization, const SurgSim::Math::Vector &generalizedForce, const SurgSim::Math::Matrix &K=SurgSim::Math::Matrix(), const SurgSim::Math::Matrix &D=SurgSim::Math::Matrix()) override |
| | Add an external generalized force applied on a specific localization. More...
|
| |
| void | beforeUpdate (double dt) override |
| | Preprocessing done before the update call. More...
|
| |
| std::shared_ptr< Localization > | createLocalization (const SurgSim::DataStructures::Location &location) override |
| | Computes a localized coordinate w.r.t this representation, given a Location object. More...
|
| |
| void | loadMassSpringModel (const std::string &filename) |
| | Loads a MassSpringRepresentation from a ply file. More...
|
| |
| void | setMassSpringModel (std::shared_ptr< Framework::Asset > mesh) |
| | Sets the mesh asset. More...
|
| |
| std::shared_ptr< MassSpringModel > | getMassSpringModel () const |
| |
| bool | isValidCoordinate (const SurgSim::Math::Vector &naturalCoordinate) const |
| | Determines whether a given natural coordinate is valid. More...
|
| |
| bool | isValidCoordinate (const SurgSim::DataStructures::IndexedLocalCoordinate &localCoordinate) const |
| | Determines whether a local coordinate is valid. More...
|
| |
| Math::Vector3d | computeCartesianCoordinate (const Math::OdeState &state, const DataStructures::IndexedLocalCoordinate &localCoordinate) const |
| | Computes a given natural coordinate in cartesian coordinates. More...
|
| |
| const std::vector< size_t > & | getNodeIds (size_t index) const |
| | Get an element's node ids. More...
|
| |
| bool | saveMassSpringModel (const std::string &fileName, double physicsLength=0.0) const |
| | Save the current MassSpring mesh to a ply file. More...
|
| |
| | DeformableRepresentation (const std::string &name) |
| | Constructor. More...
|
| |
|
virtual | ~DeformableRepresentation () |
| | Destructor.
|
| |
|
void | resetState () override |
| | Reset the representation to its initial/default state.
|
| |
| virtual void | setInitialState (std::shared_ptr< SurgSim::Math::OdeState > initialState) |
| | Initialize the state variables to initialState. More...
|
| |
| virtual const std::shared_ptr< SurgSim::Math::OdeState > | getCurrentState () const |
| | Return the current state of the deformable representation. More...
|
| |
| virtual const std::shared_ptr< SurgSim::Math::OdeState > | getPreviousState () const |
| | Return the previous state of the deformable representation. More...
|
| |
| virtual const std::shared_ptr< SurgSim::Math::OdeState > | getFinalState () const |
| | Return the final state of the deformable representation. More...
|
| |
| virtual void | interpolatePreviousState (double t) |
| | Declare a new previous state by interpolating between the old previous state and the current state using parametric time variable t. More...
|
| |
| size_t | getNumDofPerNode () const |
| | Gets the number of degrees of freedom per node. More...
|
| |
| void | setIntegrationScheme (SurgSim::Math::IntegrationScheme integrationScheme) |
| | Sets the numerical integration scheme. More...
|
| |
| SurgSim::Math::IntegrationScheme | getIntegrationScheme () const |
| | Gets the numerical integration scheme. More...
|
| |
| std::shared_ptr< SurgSim::Math::OdeSolver > | getOdeSolver () const |
| |
| void | setLinearSolver (SurgSim::Math::LinearSolver linearSolver) |
| | Sets the linear algebraic solver. More...
|
| |
| SurgSim::Math::LinearSolver | getLinearSolver () const |
| | Gets the linear algebraic solver. More...
|
| |
| const SurgSim::Math::Vector & | getExternalGeneralizedForce () const |
| |
| const SurgSim::Math::SparseMatrix & | getExternalGeneralizedStiffness () const |
| |
| const SurgSim::Math::SparseMatrix & | getExternalGeneralizedDamping () const |
| |
| Math::Matrix | applyCompliance (const Math::OdeState &state, const Math::Matrix &b) override |
| | Calculate the product \(C.b\) where \(C\) is the compliance matrix with boundary conditions applied. More...
|
| |
|
virtual const SurgSim::Math::Matrix & | getComplianceMatrix () const |
| | Gets the compliance matrix associated with motion.
|
| |
| void | update (double dt) override |
| | Update the representation state to the current time step. More...
|
| |
| void | afterUpdate (double dt) override |
| | Postprocessing done after the update call This needs to be called from the outside usually from a Computation. More...
|
| |
| void | applyCorrection (double dt, const Eigen::VectorBlock< SurgSim::Math::Vector > &deltaVelocity) override |
| | Update the Representation's current position and velocity using a time interval, dt, and change in velocity, deltaVelocity. More...
|
| |
|
void | deactivateAndReset () |
| | Deactivate and call resetState.
|
| |
| void | setCollisionRepresentation (std::shared_ptr< SurgSim::Collision::Representation > representation) override |
| | Set the collision representation for this physics representation, when the collision object is involved in a collision, the collision should be resolved inside the dynamics calculation. More...
|
| |
| void | setLocalPose (const SurgSim::Math::RigidTransform3d &pose) override |
| | Set the pose of the representation with respect to the Scene Element. More...
|
| |
| | Representation (const std::string &name) |
| | Constructor. More...
|
| |
|
virtual | ~Representation () |
| | Destructor.
|
| |
| size_t | getNumDof () const |
| | Query the object number of degrees of freedom. More...
|
| |
| void | setIsGravityEnabled (bool isGravityEnabled) |
| | Set the gravity enable flag. More...
|
| |
| bool | isGravityEnabled () const |
| | Get the gravity enable flag. More...
|
| |
| void | setIsDrivingSceneElementPose (bool isDrivingSceneElementPose) |
| | Set whether this Representation is controlling the pose of the SceneElement that it is part of. More...
|
| |
| bool | isDrivingSceneElementPose () |
| | Query if this Representation is controlling the pose of the SceneElement that it is part of. More...
|
| |
| std::shared_ptr< SurgSim::Collision::Representation > | getCollisionRepresentation () const |
| |
| std::shared_ptr< ConstraintImplementation > | getConstraintImplementation (SurgSim::Physics::ConstraintType type) |
| | Get a constraint implementation of the given type for this representation. More...
|
| |
| | Representation (const std::string &name) |
| | Constructor. More...
|
| |
| virtual SurgSim::Math::RigidTransform3d | getLocalPose () const |
| | Get the pose of the representation with respect to the Scene Element. More...
|
| |
| virtual SurgSim::Math::RigidTransform3d | getPose () const |
| | Get the pose of the representation in world coordinates. More...
|
| |
| | Component (const std::string &name) |
| | Constructor. More...
|
| |
|
virtual | ~Component () |
| | Destructor.
|
| |
| std::string | getName () const |
| | Gets component name. More...
|
| |
| std::string | getFullName () const |
| | Gets a string containing the name of the Component and (if it has one) its SceneElement. More...
|
| |
| void | setName (const std::string &name) |
| | Sets the name of component. More...
|
| |
|
boost::uuids::uuid | getUuid () const |
| | Gets the id of the component.
|
| |
| bool | isInitialized () const |
| |
| bool | initialize (const std::weak_ptr< Runtime > &runtime) |
| | Initialize this component, this needs to be called before wakeUp() can be called. More...
|
| |
| bool | isAwake () const |
| |
| bool | wakeUp () |
| | Wakeup this component, this will be called when the component is inserted into the ComponentManager that is responsible for handling this component. More...
|
| |
| void | retire () |
| | Retire this component, this will be called when the component is removed from the ComponentManager that is responsible for handling this component. More...
|
| |
| void | setScene (std::weak_ptr< Scene > scene) |
| | Sets the scene. More...
|
| |
| std::shared_ptr< Scene > | getScene () |
| | Gets the scene. More...
|
| |
| void | setSceneElement (std::weak_ptr< SceneElement > sceneElement) |
| | Sets the scene element. More...
|
| |
| std::shared_ptr< SceneElement > | getSceneElement () |
| | Gets the scene element. More...
|
| |
| std::shared_ptr< const SceneElement > | getSceneElement () const |
| | Gets the scene element, constant version. More...
|
| |
| std::shared_ptr< Runtime > | getRuntime () const |
| | Get the runtime which contains this component. More...
|
| |
| virtual std::string | getClassName () const |
| | The class name for this class, this being the base class it should return SurgSim::Framework::Component but this would make missing implemenentations of this hard to catch, therefore this calls SURGSIM_FAILURE. More...
|
| |
| std::shared_ptr< Component > | getSharedPtr () |
| | Gets a shared pointer to this component. More...
|
| |
|
virtual void | doRetire () |
| | Interface to be implemented by derived classes Has a default implementation, does nothing.
|
| |
| bool | isActive () const |
| |
| virtual void | setLocalActive (bool val) |
| | Set the component's active state. More...
|
| |
| bool | isLocalActive () const |
| |
|
| Accessible () |
| | Default Constructor.
|
| |
|
| ~Accessible () |
| | Destructor.
|
| |
| template<class T > |
| T | getValue (const std::string &name) const |
| | Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More...
|
| |
| boost::any | getValue (const std::string &name) const |
| | Retrieves the value with the name by executing the getter if it is found. More...
|
| |
| template<class T > |
| bool | getValue (const std::string &name, T *value) const |
| | Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More...
|
| |
| void | setValue (const std::string &name, const boost::any &value) |
| | Sets a value of a property that has setter. More...
|
| |
| bool | isReadable (const std::string &name) const |
| | Check whether a property is readable. More...
|
| |
| bool | isWriteable (const std::string &name) const |
| | Check whether a property is writable. More...
|
| |
| void | setGetter (const std::string &name, GetterType func) |
| | Sets a getter for a given property. More...
|
| |
| void | setSetter (const std::string &name, SetterType func) |
| | Sets a setter for a given property. More...
|
| |
| void | setAccessors (const std::string &name, GetterType getter, SetterType setter) |
| | Sets the accessors getter and setter in one function. More...
|
| |
| void | removeAccessors (const std::string &name) |
| | Removes all the accessors (getter and setter) for a given property. More...
|
| |
| void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty) |
| | Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More...
|
| |
| void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder) |
| | Sets the functions used to convert data from and to a YAML::Node. More...
|
| |
| void | setDecoder (const std::string &name, DecoderType decoder) |
| | Sets the functions used to convert data from a YAML::Node. More...
|
| |
| YAML::Node | encode () const |
| | Encode this Accessible to a YAML::Node. More...
|
| |
| void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >()) |
| | Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More...
|
| |
|
std::vector< std::string > | getProperties () |
| |
|
template<> |
| boost::any | getValue (const std::string &name) const |
| |
|
virtual | ~OdeEquation () |
| | Virtual destructor.
|
| |
| const std::shared_ptr< OdeState > | getInitialState () const |
| | Retrieves the ode initial conditions \((x0, v0)\) (i.e the initial state) More...
|
| |
| virtual void | updateFMDK (const OdeState &state, int options) |
| | Update the OdeEquation (and support data) based on the given state. More...
|
| |
| const Vector & | getF () const |
| |
| const SparseMatrix & | getM () const |
| |
| const SparseMatrix & | getD () const |
| |
| const SparseMatrix & | getK () const |
| |
|
bool | hasF () const |
| |
|
bool | hasM () const |
| |
|
bool | hasK () const |
| |
|
bool | hasD () const |
| |
|
|
typedef std::function< boost::any(void)> | GetterType |
| |
|
typedef std::function< void(boost::any)> | SetterType |
| |
|
typedef std::function< YAML::Node(void)> | EncoderType |
| |
|
typedef std::function< void(const YAML::Node *)> | DecoderType |
| |
|
typedef ObjectFactory1< Component, std::string > | FactoryType |
| |
| static FactoryType & | getFactory () |
| |
| void | addRayleighDampingForce (SurgSim::Math::Vector *f, const SurgSim::Math::OdeState &state, bool useGlobalStiffnessMatrix=false, bool useGlobalMassMatrix=false, double scale=1.0) |
| | Add the Rayleigh damping forces. More...
|
| |
| void | addSpringsForce (SurgSim::Math::Vector *f, const SurgSim::Math::OdeState &state, double scale=1.0) |
| | Add the springs force to f (given a state) More...
|
| |
| void | addGravityForce (SurgSim::Math::Vector *f, const SurgSim::Math::OdeState &state, double scale=1.0) |
| | Add the gravity force to f (given a state) More...
|
| |
| void | transformState (std::shared_ptr< SurgSim::Math::OdeState > state, const SurgSim::Math::RigidTransform3d &transform) |
| | Transform a state using a given transformation. More...
|
| |
| bool | doInitialize () override |
| | Interface to be implemented by derived classes. More...
|
| |
| void | computeF (const SurgSim::Math::OdeState &state) override |
| | Evaluation of the RHS function \(f(x, v)\) for a given state. More...
|
| |
| void | computeM (const SurgSim::Math::OdeState &state) override |
| | Evaluation of the LHS matrix \(M(x,v)\) for a given state. More...
|
| |
| void | computeD (const SurgSim::Math::OdeState &state) override |
| | Evaluation of \(D = -\frac{\partial f}{\partial v}(x,v)\) for a given state. More...
|
| |
| void | computeK (const SurgSim::Math::OdeState &state) override |
| | Evaluation of \(K = -\frac{\partial f}{\partial x}(x,v)\) for a given state. More...
|
| |
| void | computeFMDK (const SurgSim::Math::OdeState &state) override |
| | Evaluation of \(f(x,v)\), \(M(x,v)\), \(D = -\frac{\partial f}{\partial v}(x,v)\) and \(K = -\frac{\partial f}{\partial x}(x,v)\). More...
|
| |
| bool | doWakeUp () override |
| | Interface to be implemented by derived classes. More...
|
| |
| void | setNumDof (size_t numDof) |
| | Set the number of degrees of freedom. More...
|
| |
| const SurgSim::Math::Vector3d & | getGravity () const |
| | Get the gravity used by this Representation. More...
|
| |
| void | driveSceneElementPose (const SurgSim::Math::RigidTransform3d &pose) |
| | This conditionally updates that pose for the scenelement to the given pose The update gets exectuded if the representation actually has sceneelement and isDrivingScenElement() is true. More...
|
| |
| virtual std::shared_ptr< PoseComponent > | getPoseComponent () |
| | Get the PoseComponent for this component. More...
|
| |
| virtual std::shared_ptr< const PoseComponent > | getPoseComponent () const |
| | Get the PoseComponent for this component, constant access. More...
|
| |
|
std::shared_ptr< SurgSim::Math::OdeState > | m_previousState |
| | The previous state inside the calculation loop, this has no meaning outside of the loop.
|
| |
|
std::shared_ptr< SurgSim::Math::OdeState > | m_currentState |
| | The currently calculated state inside the physics loop, after the whole calculation is done this will become m_finalState.
|
| |
|
std::shared_ptr< SurgSim::Math::OdeState > | m_newState |
| | New state is a temporary variable to store the newly computed state.
|
| |
| std::shared_ptr< SurgSim::Math::OdeState > | m_finalState |
| | Last valid state (a.k.a final state) More...
|
| |
| size_t | m_numDofPerNode |
| | Number of degrees of freedom per node (varies per deformable model) More...
|
| |
|
SurgSim::Math::IntegrationScheme | m_integrationScheme |
| | Numerical Integration scheme (dynamic explicit/implicit solver)
|
| |
|
SurgSim::Math::LinearSolver | m_linearSolver |
| | Linear algebraic solver used.
|
| |
|
std::shared_ptr< SurgSim::Math::OdeSolver > | m_odeSolver |
| | Ode solver (its type depends on the numerical integration scheme)
|
| |
|
bool | m_hasExternalGeneralizedForce |
| | External generalized force, stiffness and damping applied on the deformable representation.
|
| |
|
SurgSim::Math::Vector | m_externalGeneralizedForce |
| |
|
SurgSim::Math::SparseMatrix | m_externalGeneralizedStiffness |
| |
|
SurgSim::Math::SparseMatrix | m_externalGeneralizedDamping |
| |
|
bool | m_previousHasExternalGeneralizedForce |
| |
|
SurgSim::Math::SparseMatrix | m_previousExternalGeneralizedStiffness |
| |
|
SurgSim::Math::SparseMatrix | m_previousExternalGeneralizedDamping |
| |
|
std::shared_ptr< SurgSim::Collision::Representation > | m_collisionRepresentation |
| | This entity's collision representation, these are usually very specific to the physics representation.
|
| |
|
std::shared_ptr< SurgSim::Framework::Logger > | m_logger |
| | Logger for this class.
|
| |
| std::shared_ptr< OdeState > | m_initialState |
| | The initial state (which defines the ODE initial conditions \((x0, v0)\)) More...
|
| |
|
unsigned int | m_initState |
| |
|
Vector | m_f |
| | The vector containing \(f(x, v)\).
|
| |
|
SparseMatrix | m_M |
| | The matrix \(M(x,v)\).
|
| |
|
SparseMatrix | m_D |
| | The The matrix \(D = -\frac{\partial f}{\partial v}(x,v)\).
|
| |
|
SparseMatrix | m_K |
| | The The matrix \(K = -\frac{\partial f}{\partial x}(x,v)\).
|
| |