SurgSim::Physics Namespace Reference

## Namespaces

| FemElementStructs

## Classes

class | BuildMlcp
| Build an mlcp from a list of constraints stored in a PhysicsManagerState. More...
class | CcdCollision
| Computation to determine the contacts between a list of CollisionPairs. More...
class | CcdCollisionLoop
class | Computation
| Encapsulates a calculation over a selection of objects, needs to be subclassed to be used. More...
class | ComputationGroup
| Implements a mechanism to group and loop computations, the computations will be called in sequence repeatedly until one of the exit criteria is met. More...
class | Constraint
| Base class for all physics constraints. Contains data specific to the constraint and a pair of implementations. More...
class | ConstraintComponent
| Component class for inserting constraints between physics representations into the scene. More...
class | ConstraintData
| Base class for all CosntraintData Derived classes should be specific to a given constraint. More...
class | ConstraintImplementation
| Base class for all constraint implementations. A ConstraintImplementation defines 1 side of a constraint. More...
class | ConstraintImplementationFactory
| This class manages ConstraintImplementations, and can be used to look up the correct implementation by representation and constraint type. More...
class | ContactConstraintData
| Class for Frictionless contact (only needs a plane equation) More...
class | ContactConstraintGeneration
| Generate a constraint for every contact that was calculated. More...
class | ContactFiltering
| Computation to determine filter the contacts on collisions pairs. More...
class | DcdCollision
| Computation to determine the contacts between a list of CollisionPairs. More...
class | DeformableCollisionRepresentation
| A collision representation that can be attached to a deformable, when this contains a mesh with the same number of vertices as the deformable has nodes, the mesh vertices will move to match the positions of the nodes in the deformable. More...
class | DeformableRepresentation
| Base class for all deformable representations MassSprings, Finite Element Models,... More...
class | Fem
| Base class for a data structure for holding FEM mesh data of different dimensions. More...
class | Fem1D
| Fem class data structure implementation for 1-Dimensional FEMs. More...
class | Fem1DElementBeam
| 1D FemElement based on a beam volume discretization with a fixed cross section More...
class | Fem1DLocalization
| Implementation of Localization for Fem1DRepresentation. More...
class | Fem1DPlyReaderDelegate
class | Fem1DRepresentation
| Finite Element Model 1D is a fem built with 1D FemElement. More...
class | Fem2D
| Fem class data structure implementation for 2-Dimensional FEMs. More...
class | Fem2DElementTriangle
| 2D FemElement based on a triangle with a constant thickness More...
class | Fem2DLocalization
| Implementation of Localization for Fem2DRepresentation. More...
class | Fem2DPlyReaderDelegate
class | Fem2DRepresentation
| Finite Element Model 2D is a fem built with 2D FemElement. More...
class | Fem3D
| Fem class data structure implementation for 3-Dimensional FEMs. More...
class | Fem3DElementCorotationalTetrahedron
| Fem Element 3D co-rotational based on a tetrahedron volume discretization. More...
class | Fem3DElementCube
| Class for Fem Element 3D based on a cube volume discretization. More...
class | Fem3DElementTetrahedron
| Class for Fem Element 3D based on a tetrahedron volume discretization. More...
class | Fem3DLocalization
| Implementation of Localization for Fem3DRepresentation. More...
class | Fem3DPlyReaderDelegate
class | Fem3DRepresentation
| Finite Element Model 3D is a fem built with 3D FemElement. More...
class | FemConstraintFixedPoint
| Base class for all FemRepresentation fixed point constraint implementation. More...
class | FemConstraintFixedRotationVector
| Base class for all FemRepresentation fixed rotation vector constraint implementation. More...
class | FemConstraintFrictionalSliding
| Base class for all FemRepresentation frictional sliding constraint implementation. More...
class | FemConstraintFrictionlessContact
| Base class for all FemRepresentation frictionless contact constraint implementation. More...
class | FemConstraintFrictionlessSliding
| Base class for all FemRepresentation frictionless sliding constraint implementation. More...
class | FemElement
| Base class for all Fem Element (1D, 2D, 3D) It handles the node ids to which it is connected and requires all derived classes to compute the element mass matrix and the force vector along with the derivatives (the stiffness and damping matrices). More...
class | FemLocalization
| Implementation of Localization for Fem3DRepresentation. More...
class | FemPlyReaderDelegate
| Common part of implementation of PlyReaderDelegate for FemRepresentations. More...
class | FemRepresentation
| Finite Element Model (a.k.a FEM) is a deformable model (a set of nodes connected by FemElement). More...
class | FixedConstraintFixedPoint
| FixedRepresentation bilateral 3d constraint implementation. More...
class | FixedConstraintFixedRotationVector
| FixedRepresentation fixed rotation vector constraint. More...
class | FixedConstraintFrictionlessContact
| FixedRepresentation frictionless contact implementation. More...
class | FixedRepresentation
| The FixedRepresentation class represents a physics entity without any motion nor compliance against which others physics entities can interact. More...
class | FreeMotion
| Apply the FreeMotion calculation to all physics representations. More...
class | LinearSpring
| Linear spring connecting 2 nodes with a viscous term. More...
class | Localization
| This class localize a point on a representation (representation specific) More...
class | Mass
class | MassSpringConstraintFixedPoint
| MassSpringRepresentation bilateral 3d constraint implementation. More...
class | MassSpringConstraintFrictionlessContact
| MassSpring frictionless contact implementation. More...
class | MassSpringLocalization
| Implementation of Localization for MassSpringRepresentation. More...
class | MassSpringRepresentation
| MassSpring model is a deformable model (a set of masses connected by springs). More...
class | MlcpMapping
struct | MlcpPhysicsProblem
| A description of a physical mixed LCP system to be solved. More...
struct | MlcpPhysicsSolution
| The description of a solution to a physical MLCP problem. More...
class | ParticleCollisionResponse
| Allows the Particle Representations to respond to collisions. More...
class | PhysicsManager
| PhyicsManager handles the physics and motion calculation, it uses Computations to separate the algorithmic steps into smaller pieces. More...
class | PhysicsManagerState
class | PostUpdate
| Post Update is called prior to anything else at the beginning of each time step. More...
class | PrepareCollisionPairs
| Computation to determine the contacts between a list of CollisionPairs. More...
class | PreUpdate
| Pre Update is called after everything else is done in the physics time step. More...
class | PushResults
| Propagates the Mlcp result to the representations. More...
class | Representation
| The Representation class defines the base class for all physics objects. More...
class | RigidCollisionRepresentation
| Collision Representation class that wraps a RigidRepresentation, this can be used to strictly tie the Collision Representation to the Rigid, so even if the shape of the rigid changes, the collision representation will use the appropriate shape. More...
class | RigidConstraintFixedPoint
| RigidRepresentation bilateral 3d constraint implementation. More...
class | RigidConstraintFixedRotationVector
| RigidRepresentationBase fixed rotation vector constraint. More...
class | RigidConstraintFrictionlessContact
| RigidRepresentation frictionless contact implementation. More...
class | RigidLocalization
| This class implements the localization on a RigidRepresentationBase, as a local position. More...
class | RigidRepresentation
| The RigidRepresentation class defines the dynamic rigid body representation Note that the rigid representation is velocity-based, therefore its degrees of freedom are the linear and angular velocities: 6 Dof. More...
class | RigidRepresentationBase
| The RigidRepresentationBase class defines the base class for all rigid motion based representations (fixed, rigid body, rigid body + vtc,...) More...
class | RigidState
| The RigidState class describes a state (position and velocity information). More...
class | RotationVectorConstraint
| Specific class for rotation vector constraints. More...
class | RotationVectorRigidFem1DConstraintData
| Class for rotation vector constraint data between a rigid/fixed representation and Fem1d beam being controlled. More...
class | SlidingConstraint
| Sliding constraint between two physics representations. More...
class | SlidingConstraintData
| Class for Frictionless sliding constraint (stores two planes, the intersection of which, is the sliding direction) More...
class | SolveMlcp
| Solve the system Mixed Linear Complementarity Problem (Mlcp) More...
class | Spring
| Base class for all springs It handles the node ids to which it is connected and requires all derived classes to compute the force and its derivatives (the stiffness and damping matrices) A extra method also exist to compute all of them at once for performance purposes. More...
class | UpdateCcdData
class | UpdateCollisionData
class | UpdateCollisionRepresentations
| Computation that calls the CollisionRepresentations update() function. More...
class | UpdateDcdData
class | VirtualToolCoupler
| The VirtualToolCoupler couples a rigid object to an input/output device through a spring and damper. More...

## Typedefs

typedef RigidLocalization | FixedLocalization
typedef RigidLocalization | RigidLocalization

## Enumerations

enum | ConstraintSideSign { CONSTRAINT_POSITIVE_SIDE, CONSTRAINT_NEGATIVE_SIDE }
| Enum defining on which side of the constraint an implementation is (positive or negative side) More...
enum | ConstraintType { INVALID_CONSTRAINT = -1, FIXED_3DPOINT = 0, FIXED_3DROTATION_VECTOR, FRICTIONLESS_3DCONTACT, FRICTIONAL_3DCONTACT, FRICTIONLESS_SLIDING, FRICTIONAL_SLIDING, NUM_CONSTRAINT_TYPES }
enum | ConstraintGroupType { CONSTRAINT_GROUP_TYPE_CONTACT = 0, CONSTRAINT_GROUP_TYPE_SCENE, CONSTRAINT_GROUP_TYPE_COUNT }

## Functions

std::vector< std::shared_ptr< Physics::Computation > > | createDcdPipeline (bool copyState=false)
| Creates default DCD pipeline, this currently does basic DCD without regard to CCD. More...
std::vector< std::shared_ptr< Physics::Computation > > | createCcdPipeline (bool copyState=false)
| Create default CCD pipeline, this currently does basic CCD without regard to DCD. More...

## Typedef Documentation

## FixedLocalization

typedef RigidLocalization SurgSim::Physics::FixedLocalization

## RigidLocalization

typedef RigidLocalization SurgSim::Physics::RigidLocalization

## Enumeration Type Documentation

## ConstraintGroupType

enum SurgSim::Physics::ConstraintGroupType

Enumerator
CONSTRAINT_GROUP_TYPE_CONTACT |
CONSTRAINT_GROUP_TYPE_SCENE |
CONSTRAINT_GROUP_TYPE_COUNT |

## ConstraintSideSign

enum SurgSim::Physics::ConstraintSideSign

Enum defining on which side of the constraint an implementation is (positive or negative side)

Note
  A constraint can be seen as C: side0 = side1 <=> C: side0 - side1 = 0
  Therefore 1 side will have a positive sign (+1), and 1 side a negative sign (-1)

Enumerator
CONSTRAINT_POSITIVE_SIDE |
CONSTRAINT_NEGATIVE_SIDE |

## ConstraintType

enum SurgSim::Physics::ConstraintType

Enumerator
INVALID_CONSTRAINT |
FIXED_3DPOINT |
FIXED_3DROTATION_VECTOR |
FRICTIONLESS_3DCONTACT |
FRICTIONAL_3DCONTACT |
FRICTIONLESS_SLIDING |
FRICTIONAL_SLIDING |
NUM_CONSTRAINT_TYPES |

## Function Documentation

## createCcdPipeline()

std::vector< std::shared_ptr< Physics::Computation > > SurgSim::Physics::createCcdPipeline | ( | bool | copyState = `false` | ) |

Create default CCD pipeline, this currently does basic CCD without regard to DCD.

Parameters

  copyState | if true the physics manager will maintain a copy of the Physics manager state for each computation

## createDcdPipeline()

std::vector< std::shared_ptr< Physics::Computation > > SurgSim::Physics::createDcdPipeline | ( | bool | copyState = `false` | ) |

Creates default DCD pipeline, this currently does basic DCD without regard to CCD.

Parameters

  copyState | if true the physics manager will maintain a copy of the Physics manager state for each computation