Panda3D
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends

OdeContactJoint Class Reference

Inheritance diagram for OdeContactJoint:
OdeJoint TypedObject MemoryBase

List of all members.

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

 OdeContactJoint (OdeWorld &world, const OdeContact &contact)
 OdeContactJoint (OdeWorld &world, OdeJointGroup &joint_group, const OdeContact &contact)
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.
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 ()
int get_best_parent_from_Set (const std::set< int > &) const
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
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_empty () const
 Returns true if the ID is 0, meaning the OdeJoint does not point to a valid joint.
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.
 operator bool () const
void operator delete (void *ptr, 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)
bool operator== (const OdeJoint &other) const
void set_feedback (bool flag=true)
void set_feedback (OdeJointFeedback *)
virtual void write (ostream &out=cout, unsigned int indent=0) const

Static Public Member Functions

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.

Protected Attributes

dJointID _id

Friends

class OdeJoint

Detailed Description

Definition at line 17 of file odeContactJoint.h.


Member Function Documentation

TypedObject * TypedObject::as_typed_object ( ) [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 99 of file typedObject.I.

const TypedObject * TypedObject::as_typed_object ( ) const [inline, inherited]

Returns the object, upcast (if necessary) to a TypedObject pointer.

Definition at line 110 of file typedObject.I.

void OdeJoint::attach_bodies ( const OdeBody body1,
const OdeBody body2 
) [inherited]

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 53 of file odeJoint.cxx.

References OdeBody::get_id().

void OdeJoint::attach_body ( const OdeBody body,
int  index 
) [inherited]

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 69 of file odeJoint.cxx.

References OdeBody::get_id().

dJointID OdeJoint::get_id ( ) const [inline, inherited]

Returns the underlying dJointID.

Definition at line 34 of file odeJoint.I.

int TypedObject::get_type_index ( ) const [inline, inherited]

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 52 of file typedObject.I.

References TypeHandle::get_index().

static void OdeContactJoint::init_type ( ) [inline, static]

This function is declared non-inline to work around a compiler bug in g++ 2.96.

Making it inline seems to cause problems in the optimizer.

Reimplemented from OdeJoint.

Definition at line 32 of file odeContactJoint.h.

References OdeJoint::init_type().

bool OdeJoint::is_empty ( ) const [inline, inherited]

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 24 of file odeJoint.I.

bool TypedObject::is_exact_type ( TypeHandle  handle) const [inline, inherited]
bool TypedObject::is_of_type ( TypeHandle  handle) const [inline, inherited]

Returns true if the current object is or derives from the indicated type.

Definition at line 63 of file typedObject.I.

References TypeHandle::is_derived_from().

Referenced by EggSliderData::add_back_pointer(), EggJointData::add_back_pointer(), CIntervalManager::add_c_interval(), XFileNode::add_child(), CollisionTraverser::add_collider(), CollisionHandlerPhysical::add_collider(), EggXfmSAnim::add_data(), CharacterJointBundle::add_node(), NonlinearImager::add_screen(), EggGroupNode::apply_first_attribute(), EggGroupNode::apply_last_attribute(), DeferredNodeProperty::apply_to_node(), RecorderController::begin_playback(), NodePath::clear_clip_plane(), EggGroupNode::clear_connected_shading(), NodePath::clear_light(), EggBase::convert_paths(), NodePath::decode_from_bam_stream(), VrpnClient::disconnect_device(), PhysicsManager::do_physics(), GraphicsStateGuardian::fetch_specified_part(), EggRenderState::fill_state(), AnimBundleNode::find_anim_bundle(), EggGroupNode::find_coordsys_entry(), XFile::find_data_object(), Character::find_joint(), EggGroupNode::find_materials(), Character::find_slider(), XFile::find_template(), EggGroupNode::find_textures(), EggMaterialCollection::find_used_materials(), EggTextureCollection::find_used_textures(), EggGroupNode::force_filenames(), EggJointData::force_initial_rest_frame(), WindowFramework::get_aspect_2d(), EggPoolUniquifier::get_category(), EggGroupUniquifier::get_category(), EggGroupNode::get_connected_shading(), PandaFramework::get_mouse(), FactoryParams::get_param_of_type(), EggGroupNode::has_absolute_pathnames(), NodePath::has_clip_plane(), NodePath::has_clip_plane_off(), NodePath::has_light(), PandaFramework::hide_collision_solids(), x11GraphicsWindow::open_window(), eglGraphicsWindow::open_window(), EggNode::parse_egg(), CharacterMaker::part_to_node(), EggGroupNode::post_apply_flat_attribute(), EggBinner::prepare_node(), PortalClipper::prepare_portal(), NodePath::project_texture(), EggMatrixTablePointer::quantize_channels(), ParametricCurveCollection::r_add_curves(), SceneGraphReducer::r_collect_vertex_data(), EggGroupNode::r_load_externals(), EggGroupNode::rebuild_vertex_pools(), EggGroupNode::recompute_polygon_normals(), EggGroupNode::remove_invalid_primitives(), EggGroupNode::remove_unused_vertices(), EggLoader::reparent_decals(), EggMaterialCollection::replace_materials(), EggTextureCollection::replace_textures(), EggGroupNode::resolve_filenames(), EggGroupNode::reverse_vertex_ordering(), NodePath::set_clip_plane(), NodePath::set_clip_plane_off(), NodePath::set_light(), ProjectionScreen::set_projector(), NonlinearImager::set_source_camera(), EggXfmSAnim::set_value(), NonlinearImager::set_viewer_camera(), PandaFramework::show_collision_solids(), BamCache::store(), XFileToEggConverter::strip_nodes(), EggGroupNode::strip_normals(), DataGraphTraverser::traverse(), DataGraphTraverser::traverse_below(), EggGroupNode::triangulate_polygons(), EggGroupNode::unify_attributes(), EggNameUniquifier::uniquify(), NodeCullCallbackData::upcall(), PhysicsCollisionHandler::validate_target(), EggXfmSAnim::write(), EggGroup::write(), EggToDXFLayer::write_3d_face(), and EggToDXFLayer::write_entities().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations