Image Component Library (ICL)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
icl::physics::SliderConstraint Class Reference

This constraint simulates a Slider joint. More...

#include <SliderConstraint.h>

Inheritance diagram for icl::physics::SliderConstraint:
icl::physics::SixDOFConstraint icl::physics::Constraint icl::utils::Uncopyable icl::physics::HingeConstraint

Public Member Functions

 SliderConstraint (RigidObject *a, RigidObject *b, const geom::Mat &frameInA, const geom::Mat &frameInB, int rotationAxis, const bool useLinearReferenceFrameA=true)
 Creates the Slider, with the specified frame along the rotationAxis(0 = x, 1 = y, 2 = z). More...
 
 SliderConstraint (RigidObject *a, RigidObject *b, const geom::Vec &pivotInA, const geom::Vec &pivotInB, int rotationAxis, const bool useLinearReferenceFrameA=true)
 Creates the Slider, with the specified frame along the rotationAxis(0 = x, 1 = y, 2 = z). More...
 
void setAngularLimits (float lower, float upper)
 
void setLinearLimits (float lower, float upper)
 
- Public Member Functions inherited from icl::physics::SixDOFConstraint
 SixDOFConstraint (RigidObject *a, RigidObject *b, const geom::Mat &frameInA, const geom::Mat &frameInB, const bool useLinearReferenceFrameA=true)
 The frames describe the position and orientation of the pivot in the objectspaces of the 2 objects. More...
 
 SixDOFConstraint (RigidObject *a, RigidObject *b, const geom::Vec &pivotInA, const geom::Vec &pivotInB, bool useLinearReferenceFrameA=true)
 
 SixDOFConstraint (RigidObject *a, RigidObject *b, const bool useLinearReferenceFrameA=true)
 This constructor uses the identity geom::Matrices as frames. More...
 
void setFrames (const geom::Mat &frameA, const geom::Mat &frameB)
 The frames describe the position and orientation of the constraint pivot in the objectspace of the 2 objects. More...
 
void setPivot (const geom::Vec &pivotInA, const geom::Vec &pivotInB)
 
void setLinearLowerLimit (const geom::Vec &lower)
 
void setLinearUpperLimit (const geom::Vec &upper)
 
geom::Vec getLinearLowerLimit ()
 Return the lower linear limit. More...
 
geom::Vec getLinearUpperLimit ()
 Return the upper linear limit. More...
 
float getAngle (int index)
 
void setAngularLowerLimit (const geom::Vec &lower)
 
void setAngularUpperLimit (const geom::Vec &upper)
 
geom::Vec getAngularLowerLimit ()
 Return the lower angular limit. More...
 
geom::Vec getAngularUpperLimit ()
 Return the upper angular limit. More...
 
void setLinearMotor (int index, bool enableMotor, float targetVelocity, float maxMotorForce, bool force_activation=false)
 Set the angular motor settings. More...
 
void setAngularMotor (int index, bool enableMotor, float targetVelocity, float maxMotorForce, bool force_activation=false)
 Set the linear motor settings. More...
 
- Public Member Functions inherited from icl::physics::Constraint
 Constraint ()
 Base cosntructor. More...
 
virtual ~Constraint ()
 Destructor. More...
 
btTypedConstraint * getConstraint ()
 Getter for the internal constraint. More...
 
std::vector< RigidObject * > & getObjects ()
 Getter for the objects involved in the constraint. More...
 

Private Member Functions

void init ()
 

Private Attributes

int m_rotationAxis
 

Additional Inherited Members

- Protected Member Functions inherited from icl::physics::Constraint
void initUserPointer ()
 
- Protected Member Functions inherited from icl::utils::Uncopyable
 Uncopyable ()
 Empty base constructor. More...
 
- Protected Attributes inherited from icl::physics::Constraint
btTypedConstraint * m_constraint
 internal constraint More...
 
std::vector< RigidObject * > m_objects
 
bool m_collide
 

Detailed Description

This constraint simulates a Slider joint.

Constructor & Destructor Documentation

◆ SliderConstraint() [1/2]

icl::physics::SliderConstraint::SliderConstraint ( RigidObject a,
RigidObject b,
const geom::Mat frameInA,
const geom::Mat frameInB,
int  rotationAxis,
const bool  useLinearReferenceFrameA = true 
)

Creates the Slider, with the specified frame along the rotationAxis(0 = x, 1 = y, 2 = z).

◆ SliderConstraint() [2/2]

icl::physics::SliderConstraint::SliderConstraint ( RigidObject a,
RigidObject b,
const geom::Vec pivotInA,
const geom::Vec pivotInB,
int  rotationAxis,
const bool  useLinearReferenceFrameA = true 
)

Creates the Slider, with the specified frame along the rotationAxis(0 = x, 1 = y, 2 = z).

Member Function Documentation

◆ init()

void icl::physics::SliderConstraint::init ( )
private

◆ setAngularLimits()

void icl::physics::SliderConstraint::setAngularLimits ( float  lower,
float  upper 
)

◆ setLinearLimits()

void icl::physics::SliderConstraint::setLinearLimits ( float  lower,
float  upper 
)

Member Data Documentation

◆ m_rotationAxis

int icl::physics::SliderConstraint::m_rotationAxis
private

The documentation for this class was generated from the following file: