File mechanics/src/joints/JointStopR.hpp

Go to the source code of this file

class JointStopR : public NewtonEulerR
#include <JointStopR.hpp>

This class implements a stop on a DoF for any NewtonEulerJointR.

Public Functions

JointStopR(SP::NewtonEulerJointR joint, double pos, bool dir, unsigned int axis = 0)

Initialize a joint stop for a common case: a single axis with a single stop, either positive or negative.

For use with NewtonImpactNSL.

JointStopR(SP::NewtonEulerJointR joint, SP::SiconosVector pos, SP::SiconosVector dir, SP::UnsignedIntVector axes)

Initialize a multidimensional joint stop, e.g.

the cone stop on a ball joint. For use with NewtonImpactFrictionNSL size 2 or 3.

virtual ~JointStopR()


unsigned int axis(unsigned int _index)
virtual void computeh(double time, BlockVector &q0, SiconosVector &y)
virtual void computeJachq(double time, Interaction &inter, SP::BlockVector q0)
double direction(unsigned int _index)
SP::NewtonEulerJointR joint()
unsigned int numberOfAxes()
virtual unsigned int numberOfConstraints()
double position(unsigned int _index)

Protected Functions


serialization hooks

Protected Attributes

SP::UnsignedIntVector _axis
unsigned int _axisMax
unsigned int _axisMin
SP::SiconosVector _dir
SP::SimpleMatrix _jachqTmp
SP::NewtonEulerJointR _joint
SP::SiconosVector _pos