File mechanics/src/collision/RigidBody2dDS.hpp#

Go to the source code of this file

Definition of an abstract 3D rigid body above NewtonEulerDS.

class RigidBody2dDS : public LagrangianLinearTIDS, public std::enable_shared_from_this<RigidBody2dDS>

Public Functions

RigidBody2dDS(SP::SiconosVector position, SP::SiconosVector velocity, SP::SiconosMatrix mass = SP::SimpleMatrix())#
RigidBody2dDS(SP::SiconosVector position, SP::SiconosVector velocity, double mass, double inertia)#
virtual ~RigidBody2dDS()#
inline double scalarMass()#
inline void setUseContactorInertia(bool use)#
inline bool useContactorInertia()#
inline bool allowSelfCollide()

Return the value of the _allowSelfCollide flag.

inline void setAllowSelfCollide(bool x)

Set the value of the _allowSelfCollide flag.

inline SP::SiconosContactorSet contactors() const
Returns:

the contactor set associated with this body

inline void setContactors(SP::SiconosContactorSet c)

Provide a set of contactors to the body.

Parameters:

c – A SP::SiconosContactorSet

inline virtual SP::SiconosVector base_position()

Make the base position of the contactors equal to the DS q vector.

Returns:

a SP::SiconosVector

ACCEPT_BASE_VISITORS(LagrangianLinearTIDS)#

Protected Functions

ACCEPT_SERIALIZATION(RigidBody2dDS)#
inline RigidBody2dDS()#

Protected Attributes

double _scalarMass#

a scalar mass in the case of RigidBody2dDS

SP::SiconosContactorSet _contactors#
bool _useContactorInertia#
bool _allowSelfCollide = true#

If false, bodies connected to this body by a joint will not collide.

See also NewtonEulerJointR::_allowSelfCollide