Class PivotJointR#

Defined in Program listing for file mechanics/src/joints/PivotJointR.hpp

class PivotJointR : public KneeJointR#

This class implements a pivots joint between one or two Newton/Euler Dynamical system.

Public Functions

PivotJointR()#

Empty constructor.

The relation may be initialized later by setPoint, setAxis, setAbsolute, and setBasePositions.

PivotJointR(SP::SiconosVector P, SP::SiconosVector A, bool absoluteRef, SP::NewtonEulerDS d1 = SP::NewtonEulerDS(), SP::NewtonEulerDS d2 = SP::NewtonEulerDS())#

Constructor based on one or two dynamical systems, a point and an axis.

Parameters:
  • d1 – first DynamicalSystem linked by the joint.

  • d2 – second DynamicalSystem linked by the joint, or NULL for absolute frame.

  • P – SiconosVector of size 3 that defines the point around which rotation is allowed.

  • A – SiconosVector of size 3 that defines the cylindrical axis.

  • absoluteRef – if true, P and A are in the absolute frame, otherwise P and A are in d1 frame.

virtual void setBasePositions(SP::SiconosVector q1, SP::SiconosVector q2 = SP::SiconosVector())#

Initialize the joint constants based on the provided base positions.

Parameters:
  • q1 – A SiconosVector of size 7 indicating translation and orientation in inertial coordinates.

  • q2 – An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base.

virtual void computeh(double time, const BlockVector &q0, SiconosVector &y)#

to compute the output y = h(t,q,z) of the Relation

Parameters:
  • time – current time value

  • q – coordinates of the dynamical systems involved in the relation

  • y – the resulting vector

virtual void computehDoF(double time, const BlockVector &q0, SiconosVector &y, unsigned int axis)#

Compute the vector of linear and angular positions of the free axes.

virtual void computeJachqDoF(double time, Interaction &inter, SP::BlockVector q0, SimpleMatrix &jachq, unsigned int axis)#

Compute the jacobian of linear and angular DoF with respect to some q.

inline virtual unsigned int numberOfConstraints()#

Get the number of constraints defined in the joint.

Returns:

the number of constraints

inline virtual unsigned int numberOfDoF()#

Return the number of degrees of freedom of this joint.

Returns:

the number of degrees of freedom (DoF)

inline virtual DoF_Type typeOfDoF(unsigned int axis)#

Return the type of a degree of freedom of this joint.

Returns:

the type of the degree of freedom (DoF)