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 | |
OdeLMotorJoint (OdeWorld &world) | |
OdeLMotorJoint (OdeWorld &world, OdeJointGroup &joint_group) | |
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 () |
LVecBase3f | get_axis (int anum) const |
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 |
int | get_num_axes () const |
dReal | get_param (int parameter) 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. | |
MAKE_SEQ (get_axes, get_num_axes, get_axis) | |
operator bool () const | |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete[] (void *, void *) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t size, void *ptr) |
void * | operator new (size_t size) |
void * | operator new[] (size_t size, void *ptr) |
void * | operator new[] (size_t size) |
bool | operator== (const OdeJoint &other) const |
void | set_axis (int anum, int rel, const LVecBase3f &axis) |
void | set_axis (int anum, int rel, dReal x, dReal y, dReal z) |
void | set_feedback (bool flag=true) |
void | set_feedback (OdeJointFeedback *) |
void | set_num_axes (int num) |
void | set_param (int parameter, dReal value) |
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 |
Definition at line 15 of file odeLMotorJoint.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 | ||
) | [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 OdeLMotorJoint::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 40 of file odeLMotorJoint.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] |
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().