Panda3D
|
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 | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. | |
const TypedObject * | as_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 |
OdeJointFeedback * | get_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 | operator delete (void *ptr, void *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *, void *) |
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 (OdeJointFeedback *) |
void | set_feedback (bool flag=true) |
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 Member Functions | |
OdeJoint (dJointID id) | |
Protected Attributes | |
dJointID | _id |
Friends | |
class | OdeBody |
class | OdeUtil |
Definition at line 53 of file odeJoint.h.
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.
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 | ||
) |
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] |
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 OdeJoint::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 TypedObject.
Reimplemented in OdeAMotorJoint, OdeBallJoint, OdeContactJoint, OdeFixedJoint, OdeHinge2Joint, OdeHingeJoint, OdeLMotorJoint, OdeNullJoint, OdePlane2dJoint, OdeSliderJoint, and OdeUniversalJoint.
Definition at line 118 of file odeJoint.h.
References TypedObject::init_type().
Referenced by OdeUniversalJoint::init_type(), OdeSliderJoint::init_type(), OdePlane2dJoint::init_type(), OdeNullJoint::init_type(), OdeLMotorJoint::init_type(), OdeHingeJoint::init_type(), OdeHinge2Joint::init_type(), OdeFixedJoint::init_type(), OdeContactJoint::init_type(), OdeBallJoint::init_type(), and OdeAMotorJoint::init_type().
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 24 of file odeJoint.I.
bool TypedObject::is_exact_type | ( | TypeHandle | handle | ) | const [inline, inherited] |
Returns true if the current object is the indicated type exactly.
Definition at line 74 of file typedObject.I.
References TypeHandle::get_name().
Referenced by GraphicsStateGuardian::async_reload_texture(), PortalNode::combine_with(), PandaNode::combine_with(), GeomNode::combine_with(), CollisionNode::combine_with(), Character::combine_with(), PGItem::cull_callback(), FactoryParams::get_param_of_type(), CollisionHandlerPusher::handle_entries(), SceneGraphReducer::r_flatten(), ConnectionWriter::send(), FltToEggLevelState::set_transform(), and VirtualFileSystem::unmount().
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().