SOFA API  014b24ea
Open source framework for multi-physics simuation
sofa::component::projectiveconstraintset Namespace Reference

Classes

class  AffineMovementConstraint
 
class  AffineMovementConstraintInternalData
 
class  AttachConstraint
 
class  FixedConstraint
 
class  FixedConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  FixedPlaneConstraint
 
class  FixedPlaneConstraintInternalData
 This class can be overriden if needed for additionnal storage within template specilizations. More...
 
class  FixedRotationConstraint
 
class  FixedTranslationConstraint
 
class  FixedTranslationConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  HermiteSplineConstraint
 
class  LinearMovementConstraint
 
class  LinearMovementConstraintInternalData
 
class  LinearVelocityConstraint
 
class  OscillatorConstraint
 
class  ParabolicConstraint
 
class  PartialFixedConstraint
 
class  PartialLinearMovementConstraint
 
class  PartialLinearMovementConstraintInternalData
 
class  PatchTestMovementConstraint
 
class  PatchTestMovementConstraintInternalData
 
class  PointConstraint
 
class  PositionBasedDynamicsConstraint
 
class  PositionBasedDynamicsConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  ProjectDirectionConstraint
 
class  ProjectDirectionConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  ProjectToLineConstraint
 
class  ProjectToLineConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  ProjectToPlaneConstraint
 
class  ProjectToPlaneConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  ProjectToPointConstraint
 
class  ProjectToPointConstraintInternalData
 This class can be overridden if needed for additionnal storage within template specializations. More...
 
class  SkeletalMotionConstraint
 
struct  SkeletonJoint
 

Typedefs

typedef int SkeletonBone
 

Functions

sofa::defaulttype::Vec3d & getVec (sofa::defaulttype::Rigid3dTypes::Deriv &i)
 
sofa::defaulttype::Vec3d & getVec (sofa::defaulttype::Rigid3dTypes::Coord &i)
 
const sofa::defaulttype::Vec3d & getVec (const sofa::defaulttype::Rigid3dTypes::Coord &i)
 
sofa::defaulttype::Vec3d & getVec (sofa::defaulttype::Vec3dTypes::Deriv &i)
 
const sofa::defaulttype::Vec3d & getVec (const sofa::defaulttype::Vec3dTypes::Deriv &i)
 
sofa::defaulttype::Vec3f & getVec (sofa::defaulttype::Rigid3fTypes::Deriv &i)
 
sofa::defaulttype::Vec3f & getVec (sofa::defaulttype::Rigid3fTypes::Coord &i)
 
const sofa::defaulttype::Vec3f & getVec (const sofa::defaulttype::Rigid3fTypes::Coord &i)
 

Variables

int AffineMovementConstraintRegister
 
int FixedConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Vec2Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Vec1Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Vec6Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Rigid3Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedConstraint< Rigid2Types >
 
int FixedPlaneConstraintClass
 
int FixedRotationConstraintClass
 
int FixedTranslationConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API FixedTranslationConstraint< Rigid3Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedTranslationConstraint< Rigid2Types >
 
template class SOFA_BOUNDARY_CONDITION_API FixedTranslationConstraint< Vec6Types >
 
int HermiteSplineConstraintClass
 
int LinearMovementConstraintClass
 
int LinearVelocityConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API LinearVelocityConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API LinearVelocityConstraint< Vec2Types >
 
template class SOFA_BOUNDARY_CONDITION_API LinearVelocityConstraint< Vec1Types >
 
template class SOFA_BOUNDARY_CONDITION_API LinearVelocityConstraint< Vec6Types >
 
template class SOFA_BOUNDARY_CONDITION_API LinearVelocityConstraint< Rigid3Types >
 
int OscillatorConstraintClass
 
int ParabolicConstraintClass
 
int PartialFixedConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Vec2Types >
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Vec1Types >
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Vec6Types >
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Rigid3Types >
 
template class SOFA_BOUNDARY_CONDITION_API PartialFixedConstraint< Rigid2Types >
 
int PartialLinearMovementConstraintClass
 
int PatchTestMovementConstraintClass
 
int PointConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API PointConstraint< Vec3Types >
 
int PositionBasedDynamicsConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API PositionBasedDynamicsConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API PositionBasedDynamicsConstraint< Vec2Types >
 
template class SOFA_BOUNDARY_CONDITION_API PositionBasedDynamicsConstraint< Vec1Types >
 
template class SOFA_BOUNDARY_CONDITION_API PositionBasedDynamicsConstraint< Vec6Types >
 
template class SOFA_BOUNDARY_CONDITION_API PositionBasedDynamicsConstraint< Rigid3Types >
 
int ProjectDirectionConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API ProjectDirectionConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectDirectionConstraint< Vec2Types >
 
int ProjectToLineConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToLineConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToLineConstraint< Vec2Types >
 
int ProjectToPlaneConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPlaneConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPlaneConstraint< Vec2Types >
 
int ProjectToPointConstraintClass
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPointConstraint< Vec3Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPointConstraint< Vec2Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPointConstraint< Vec1Types >
 
template class SOFA_BOUNDARY_CONDITION_API ProjectToPointConstraint< Vec6Types >
 
int SkeletalMotionConstraintClass
 
int AttachConstraintClass
 
template class SOFA_GENERAL_OBJECT_INTERACTION_API AttachConstraint< Vec3Types >
 
template class SOFA_GENERAL_OBJECT_INTERACTION_API AttachConstraint< Vec2Types >
 
template class SOFA_GENERAL_OBJECT_INTERACTION_API AttachConstraint< Vec1Types >
 
template class SOFA_GENERAL_OBJECT_INTERACTION_API AttachConstraint< Rigid3Types >
 
template class SOFA_GENERAL_OBJECT_INTERACTION_API AttachConstraint< Rigid2Types >
 

Typedef Documentation

Function Documentation

sofa::defaulttype::Vec3d& sofa::component::projectiveconstraintset::getVec ( sofa::defaulttype::Rigid3dTypes::Deriv &  i)

This function are there to provide kind of type translation to the vector one so we can implement the algorithm as is the different objects where of similar type. this solution is not really satisfactory but for the moment it does the job. A better solution would that all the used types are following the same iterface which requires to touch core sofa classes.

sofa::defaulttype::Vec3d& sofa::component::projectiveconstraintset::getVec ( sofa::defaulttype::Rigid3dTypes::Coord &  i)
const sofa::defaulttype::Vec3d& sofa::component::projectiveconstraintset::getVec ( const sofa::defaulttype::Rigid3dTypes::Coord &  i)
sofa::defaulttype::Vec6f & sofa::component::projectiveconstraintset::getVec ( sofa::defaulttype::Vec3dTypes::Deriv i)
const sofa::defaulttype::Vec6f & sofa::component::projectiveconstraintset::getVec ( const sofa::defaulttype::Vec3dTypes::Deriv i)
sofa::defaulttype::Vec3f& sofa::component::projectiveconstraintset::getVec ( sofa::defaulttype::Rigid3fTypes::Deriv &  i)
sofa::defaulttype::Vec3f& sofa::component::projectiveconstraintset::getVec ( sofa::defaulttype::Rigid3fTypes::Coord &  i)
const sofa::defaulttype::Vec3f& sofa::component::projectiveconstraintset::getVec ( const sofa::defaulttype::Rigid3fTypes::Coord &  i)

Variable Documentation

int sofa::component::projectiveconstraintset::AffineMovementConstraintRegister
Initial value:
= core::RegisterObject("Constraint the movement by a rigid transform.")
.add< AffineMovementConstraint<defaulttype::Vec3Types> >()
.add< AffineMovementConstraint<defaulttype::Rigid3Types> >()
template class SOFA_GENERAL_OBJECT_INTERACTION_API sofa::component::projectiveconstraintset::AttachConstraint< Rigid2Types >
template class SOFA_GENERAL_OBJECT_INTERACTION_API sofa::component::projectiveconstraintset::AttachConstraint< Rigid3Types >
template class SOFA_GENERAL_OBJECT_INTERACTION_API sofa::component::projectiveconstraintset::AttachConstraint< Vec1Types >
template class SOFA_GENERAL_OBJECT_INTERACTION_API sofa::component::projectiveconstraintset::AttachConstraint< Vec2Types >
template class SOFA_GENERAL_OBJECT_INTERACTION_API sofa::component::projectiveconstraintset::AttachConstraint< Vec3Types >
int sofa::component::projectiveconstraintset::AttachConstraintClass
Initial value:
= core::RegisterObject("Attach given pair of particles, projecting the positions of the second particles to the first ones")
.add< AttachConstraint<Vec3Types> >()
.add< AttachConstraint<Vec2Types> >()
.add< AttachConstraint<Vec1Types> >()
.add< AttachConstraint<Rigid3Types> >()
.add< AttachConstraint<Rigid2Types> >()
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Rigid2Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Rigid3Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Vec1Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Vec2Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Vec3Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::FixedConstraint< Vec6Types >
int sofa::component::projectiveconstraintset::FixedConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< FixedConstraint<Vec3Types> >()
.add< FixedConstraint<Vec2Types> >()
.add< FixedConstraint<Vec1Types> >()
.add< FixedConstraint<Vec6Types> >()
.add< FixedConstraint<Rigid3Types> >()
.add< FixedConstraint<Rigid2Types> >()
int sofa::component::projectiveconstraintset::FixedPlaneConstraintClass
Initial value:
= core::RegisterObject("Project particles on a given plane")
.add< FixedPlaneConstraint<Rigid3Types> >()
.add< FixedPlaneConstraint<Vec3Types> >()
.add< FixedPlaneConstraint<Vec6Types> >()
int sofa::component::projectiveconstraintset::FixedRotationConstraintClass
Initial value:
= core::RegisterObject("Prevents rotation around x or/and y or/and z axis")
.add< FixedRotationConstraint<Rigid3Types> >()
int sofa::component::projectiveconstraintset::FixedTranslationConstraintClass
Initial value:
= core::RegisterObject("Attach given rigids to their initial positions but they still can have rotations")
.add< FixedTranslationConstraint<Rigid3Types> >()
.add< FixedTranslationConstraint<Rigid2Types> >()
.add< FixedTranslationConstraint<Vec6Types> >()
int sofa::component::projectiveconstraintset::HermiteSplineConstraintClass
Initial value:
= core::RegisterObject("Apply a hermite cubic spline trajectory to given points")
.add< HermiteSplineConstraint<defaulttype::Vec3Types> >()
.add< HermiteSplineConstraint<defaulttype::Rigid3Types> >()
int sofa::component::projectiveconstraintset::LinearMovementConstraintClass
Initial value:
= core::RegisterObject("translate given particles")
.add< LinearMovementConstraint<defaulttype::Vec3Types> >()
.add< LinearMovementConstraint<defaulttype::Vec2Types> >()
.add< LinearMovementConstraint<defaulttype::Vec1Types> >()
.add< LinearMovementConstraint<defaulttype::Vec6Types> >()
.add< LinearMovementConstraint<defaulttype::Rigid3Types> >()
int sofa::component::projectiveconstraintset::LinearVelocityConstraintClass
Initial value:
= core::RegisterObject("apply velocity to given particles")
.add< LinearVelocityConstraint<Vec3Types> >()
.add< LinearVelocityConstraint<Vec2Types> >()
.add< LinearVelocityConstraint<Vec1Types> >()
.add< LinearVelocityConstraint<Vec6Types> >()
.add< LinearVelocityConstraint<Rigid3Types> >()
int sofa::component::projectiveconstraintset::OscillatorConstraintClass
Initial value:
= core::RegisterObject("Apply a sinusoidal trajectory to given points")
.add< OscillatorConstraint<Vec3Types> >()
.add< OscillatorConstraint<Rigid3Types> >()
int sofa::component::projectiveconstraintset::ParabolicConstraintClass
Initial value:
= core::RegisterObject("Apply a parabolic trajectory to given points")
.add< ParabolicConstraint<defaulttype::Vec3Types> >()
.add< ParabolicConstraint<defaulttype::Rigid3Types> >()
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::PartialFixedConstraint< Vec1Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::PartialFixedConstraint< Vec2Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::PartialFixedConstraint< Vec3Types >
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::PartialFixedConstraint< Vec6Types >
int sofa::component::projectiveconstraintset::PartialFixedConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< PartialFixedConstraint<Vec3Types> >()
.add< PartialFixedConstraint<Vec2Types> >()
.add< PartialFixedConstraint<Vec1Types> >()
.add< PartialFixedConstraint<Vec6Types> >()
.add< PartialFixedConstraint<Rigid3Types> >()
.add< PartialFixedConstraint<Rigid2Types> >()
int sofa::component::projectiveconstraintset::PartialLinearMovementConstraintClass
Initial value:
= core::RegisterObject("translate given particles")
.add< PartialLinearMovementConstraint<defaulttype::Vec3Types> >()
.add< PartialLinearMovementConstraint<defaulttype::Vec2Types> >()
.add< PartialLinearMovementConstraint<defaulttype::Vec1Types> >()
.add< PartialLinearMovementConstraint<defaulttype::Vec6Types> >()
.add< PartialLinearMovementConstraint<defaulttype::Rigid3Types> >()
int sofa::component::projectiveconstraintset::PatchTestMovementConstraintClass
Initial value:
= core::RegisterObject("bilinear constraint")
.add< PatchTestMovementConstraint<defaulttype::Vec3Types> >()
.add< PatchTestMovementConstraint<defaulttype::Rigid3Types> >()
template class SOFA_BOUNDARY_CONDITION_API sofa::component::projectiveconstraintset::PointConstraint< Vec3Types >
int sofa::component::projectiveconstraintset::PointConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< PointConstraint<Vec3Types> >()
int sofa::component::projectiveconstraintset::PositionBasedDynamicsConstraintClass
Initial value:
= core::RegisterObject("Position-based dynamics")
.add< PositionBasedDynamicsConstraint<Vec3Types> >(true)
.add< PositionBasedDynamicsConstraint<Vec2Types> >()
.add< PositionBasedDynamicsConstraint<Vec1Types> >()
.add< PositionBasedDynamicsConstraint<Vec6Types> >()
.add< PositionBasedDynamicsConstraint<Rigid3Types> >()
int sofa::component::projectiveconstraintset::ProjectDirectionConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< ProjectDirectionConstraint<Vec3Types> >()
.add< ProjectDirectionConstraint<Vec2Types> >()
int sofa::component::projectiveconstraintset::ProjectToLineConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< ProjectToLineConstraint<Vec3Types> >()
.add< ProjectToLineConstraint<Vec2Types> >()
int sofa::component::projectiveconstraintset::ProjectToPlaneConstraintClass
Initial value:
= core::RegisterObject("Attach given particles to their initial positions")
.add< ProjectToPlaneConstraint<Vec3Types> >()
.add< ProjectToPlaneConstraint<Vec2Types> >()
int sofa::component::projectiveconstraintset::ProjectToPointConstraintClass
Initial value:
= core::RegisterObject("Project particles to a point")
.add< ProjectToPointConstraint<Vec3Types> >()
.add< ProjectToPointConstraint<Vec2Types> >()
.add< ProjectToPointConstraint<Vec1Types> >()
.add< ProjectToPointConstraint<Vec6Types> >()
int sofa::component::projectiveconstraintset::SkeletalMotionConstraintClass
Initial value:
= core::RegisterObject("animate a skeleton")
.add< SkeletalMotionConstraint<defaulttype::Rigid3Types> >()