Namespaces | Classes | Typedefs | Enumerations | Functions
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

◆ RigidLocalization

Enumeration Type Documentation

◆ ConstraintGroupType

Enumerator
CONSTRAINT_GROUP_TYPE_CONTACT 
CONSTRAINT_GROUP_TYPE_SCENE 
CONSTRAINT_GROUP_TYPE_COUNT 

◆ 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

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
copyStateif 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
copyStateif true the physics manager will maintain a copy of the Physics manager state for each computation