Panda3D
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
OdeJoint Class Reference
Inheritance diagram for OdeJoint:
TypedObject MemoryBase OdeAMotorJoint OdeBallJoint OdeContactJoint OdeFixedJoint OdeHinge2Joint OdeHingeJoint OdeLMotorJoint OdeNullJoint OdePlane2dJoint OdeSliderJoint OdeUniversalJoint

Public Types

enum  JointType {
  JT_none = 0 , JT_ball , JT_hinge , JT_slider ,
  JT_contact , JT_universal , JT_hinge2 , JT_fixed ,
  JT_null , JT_a_motor , JT_l_motor , JT_plane2d
}
 

Public Member Functions

 OdeJoint (dJointID id)
 
void attach_bodies (const OdeBody &body1, const OdeBody &body2)
 Attaches two OdeBody objects to this joint.
 
void attach_body (const OdeBody &body, int index)
 Attaches a single OdeBody to this joint at the specified index (0 or 1).
 
int compare_to (const OdeJoint &other) const
 
OdeAMotorJoint convert_to_a_motor () const
 
OdeBallJoint convert_to_ball () const
 
OdeContactJoint convert_to_contact () const
 
OdeFixedJoint convert_to_fixed () const
 
OdeHingeJoint convert_to_hinge () const
 
OdeHinge2Joint convert_to_hinge2 () const
 
OdeLMotorJoint convert_to_l_motor () const
 
OdeNullJoint convert_to_null () const
 
OdePlane2dJoint convert_to_plane2d () const
 
OdeSliderJoint convert_to_slider () const
 
OdeUniversalJoint convert_to_universal () const
 
void destroy ()
 
void detach ()
 
virtual TypeHandle force_init_type ()
 
OdeBody get_body (int index) const
 
OdeJointFeedbackget_feedback ()
 
dJointID get_id () const
 Returns the underlying dJointID.
 
int get_joint_type () const
 
virtual TypeHandle get_type () const
 
bool is_empty () const
 Returns true if the ID is 0, meaning the OdeJoint does not point to a valid joint.
 
 operator bool () const
 
bool operator== (const OdeJoint &other) const
 
void set_feedback (bool flag=true)
 
void set_feedback (OdeJointFeedback *)
 
virtual void write (std::ostream &out=std::cout, unsigned int indent=0) const
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer.
 
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer.
 
int get_best_parent_from_Set (const std::set< int > &) const
 
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.
 
bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.
 
bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from MemoryBase
void operator delete (void *, void *)
 
void operator delete (void *ptr)
 
void operator delete[] (void *, void *)
 
void operator delete[] (void *ptr)
 
void * operator new (size_t size)
 
void * operator new (size_t size, void *ptr)
 
void * operator new[] (size_t size)
 
void * operator new[] (size_t size, void *ptr)
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedObject
static TypeHandle get_class_type ()
 
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96.
 

Friends

class OdeBody
 
class OdeUtil
 

Additional Inherited Members

- Public Attributes inherited from TypedObject
 get_type
 

Detailed Description

Definition at line 51 of file odeJoint.h.

Member Enumeration Documentation

◆ JointType

enum OdeJoint::JointType

Definition at line 60 of file odeJoint.h.

Constructor & Destructor Documentation

◆ OdeJoint() [1/2]

OdeJoint::OdeJoint ( )

Definition at line 31 of file odeJoint.cxx.

◆ OdeJoint() [2/2]

OdeJoint::OdeJoint ( dJointID id)

Definition at line 40 of file odeJoint.cxx.

◆ ~OdeJoint()

OdeJoint::~OdeJoint ( )
virtual

Definition at line 49 of file odeJoint.cxx.

Member Function Documentation

◆ attach_bodies()

void OdeJoint::attach_bodies ( const OdeBody & body1,
const OdeBody & body2 )

Attaches two OdeBody objects to this joint.

Order is important. Consider using the OdeJoint::attach extension function if you're using the Python interface.

Definition at line 64 of file odeJoint.cxx.

References OdeBody::get_id().

◆ attach_body()

void OdeJoint::attach_body ( const OdeBody & body,
int index )

Attaches a single OdeBody to this joint at the specified index (0 or 1).

The other index will be set to the environment (null). Consider using the OdeJoint::attach extension function if you're using the Python interface.

Definition at line 76 of file odeJoint.cxx.

References OdeBody::get_id().

◆ compare_to()

int OdeJoint::compare_to ( const OdeJoint & other) const
inline

Definition at line 73 of file odeJoint.I.

◆ convert_to_a_motor()

OdeAMotorJoint OdeJoint::convert_to_a_motor ( ) const

Definition at line 186 of file odeJoint.cxx.

◆ convert_to_ball()

OdeBallJoint OdeJoint::convert_to_ball ( ) const

Definition at line 130 of file odeJoint.cxx.

◆ convert_to_contact()

OdeContactJoint OdeJoint::convert_to_contact ( ) const

Definition at line 151 of file odeJoint.cxx.

◆ convert_to_fixed()

OdeFixedJoint OdeJoint::convert_to_fixed ( ) const

Definition at line 172 of file odeJoint.cxx.

◆ convert_to_hinge()

OdeHingeJoint OdeJoint::convert_to_hinge ( ) const

Definition at line 137 of file odeJoint.cxx.

◆ convert_to_hinge2()

OdeHinge2Joint OdeJoint::convert_to_hinge2 ( ) const

Definition at line 165 of file odeJoint.cxx.

◆ convert_to_l_motor()

OdeLMotorJoint OdeJoint::convert_to_l_motor ( ) const

Definition at line 193 of file odeJoint.cxx.

◆ convert_to_null()

OdeNullJoint OdeJoint::convert_to_null ( ) const

Definition at line 179 of file odeJoint.cxx.

◆ convert_to_plane2d()

OdePlane2dJoint OdeJoint::convert_to_plane2d ( ) const

Definition at line 200 of file odeJoint.cxx.

◆ convert_to_slider()

OdeSliderJoint OdeJoint::convert_to_slider ( ) const

Definition at line 144 of file odeJoint.cxx.

◆ convert_to_universal()

OdeUniversalJoint OdeJoint::convert_to_universal ( ) const

Definition at line 158 of file odeJoint.cxx.

◆ destroy()

void OdeJoint::destroy ( )

Definition at line 53 of file odeJoint.cxx.

◆ detach()

void OdeJoint::detach ( )

Definition at line 88 of file odeJoint.cxx.

◆ force_init_type()

virtual TypeHandle OdeJoint::force_init_type ( )
inlinevirtual

Implements TypedObject.

Definition at line 124 of file odeJoint.h.

◆ get_body()

OdeBody OdeJoint::get_body ( int index) const

Definition at line 94 of file odeJoint.cxx.

◆ get_class_type()

static TypeHandle OdeJoint::get_class_type ( )
inlinestatic

Definition at line 113 of file odeJoint.h.

◆ get_feedback()

OdeJointFeedback * OdeJoint::get_feedback ( )
inline

Definition at line 68 of file odeJoint.I.

◆ get_id()

dJointID OdeJoint::get_id ( ) const
inline

Returns the underlying dJointID.

Definition at line 27 of file odeJoint.I.

◆ get_joint_type()

int OdeJoint::get_joint_type ( ) const
inline

Definition at line 44 of file odeJoint.I.

◆ get_type()

virtual TypeHandle OdeJoint::get_type ( ) const
inlinevirtual

Implements TypedObject.

Definition at line 121 of file odeJoint.h.

◆ init_type()

static void OdeJoint::init_type ( )
inlinestatic

Definition at line 116 of file odeJoint.h.

◆ is_empty()

bool OdeJoint::is_empty ( ) const
inline

Returns true if the ID is 0, meaning the OdeJoint does not point to a valid joint.

It is an error to call a method on an empty joint. Note that an empty OdeJoint also evaluates to False.

Definition at line 19 of file odeJoint.I.

◆ operator bool()

OdeJoint::operator bool ( ) const

Definition at line 125 of file odeJoint.cxx.

◆ operator==()

bool OdeJoint::operator== ( const OdeJoint & other) const
inline

Definition at line 81 of file odeJoint.I.

◆ set_feedback() [1/2]

void OdeJoint::set_feedback ( bool flag = true)
inline

Definition at line 49 of file odeJoint.I.

◆ set_feedback() [2/2]

void OdeJoint::set_feedback ( OdeJointFeedback * feedback)
inline

Definition at line 63 of file odeJoint.I.

◆ write()

void OdeJoint::write ( std::ostream & out = std::cout,
unsigned int indent = 0 ) const
virtual

Definition at line 101 of file odeJoint.cxx.

Friends And Related Symbol Documentation

◆ OdeBody

friend class OdeBody
friend

Definition at line 52 of file odeJoint.h.

◆ OdeUtil

friend class OdeUtil
friend

Definition at line 53 of file odeJoint.h.


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