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

OrientedParticle Class Reference

Describes a particle that has angular characteristics (velocity, orientation). More...

#include "orientedParticle.h"

Inheritance diagram for OrientedParticle:
BaseParticle PhysicsObject TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

List of all members.

Public Types

typedef pvector< PT(PhysicsObject)> Vector

Public Member Functions

 OrientedParticle (int lifespan=0, bool alive=false)
 simple constructor
 OrientedParticle (const OrientedParticle &copy)
 copy constructor
virtual ~OrientedParticle ()
 simple destructor
virtual void add_impact (const LPoint3f &offset_from_center_of_mass, const LVector3f &impulse)
 Adds an impulse and/or torque (i.e.
void add_impulse (const LVector3f &impulse)
 Adds an impulse force (i.e.
virtual void add_local_impact (const LPoint3f &offset_from_center_of_mass, const LVector3f &impulse)
 Adds an impulse and/or torque (i.e.
void add_local_impulse (const LVector3f &impulse)
 Adds an impulse force (i.e.
void add_local_torque (const LRotationf &torque)
 Adds an torque force (i.e.
void add_torque (const LRotationf &torque)
 Adds an torque force (i.e.
const TypedObjectas_typed_object () const
 Returns the object, upcast (if necessary) to a TypedObject pointer.
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer.
virtual void die ()
 particle death routine
virtual TypeHandle force_init_type ()
bool get_active () const
 Process Flag Query.
float get_age () const
bool get_alive () const
int get_best_parent_from_Set (const std::set< int > &) const
LVector3f get_implicit_velocity () const
 Velocity Query over the last dt.
int get_index () const
virtual LMatrix4f get_inertial_tensor () const
 returns a transform matrix that represents the object's willingness to be forced.
LPoint3f get_last_position () const
 Get the position of the physics object at the start of the most recent do_physics.
virtual LMatrix4f get_lcs () const
 returns a transform matrix to this object's local coordinate system.
float get_lifespan () const
float get_mass () const
 Get the mass in slugs (or kilograms).
const string & get_name ()
LOrientationf get_orientation () const
 get current orientation.
bool get_oriented () const
 See set_oriented().
float get_parameterized_age () const
float get_parameterized_vel () const
LPoint3f get_position () const
 Position Query.
int get_ref_count () const
 Returns the current reference count.
LRotationf get_rotation () const
 get rotation per second.
float get_terminal_velocity () const
 tv query
virtual float get_theta () const
 for spriteParticleRenderer
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.
LVector3f get_velocity () const
 Velocity Query per second.
WeakReferenceListget_weak_list () const
 Returns the WeakReferenceList associated with this ReferenceCount object.
bool has_weak_list () const
 Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
virtual void init ()
 particle init routine
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.
void local_object ()
 This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
virtual PhysicsObjectmake_copy () const
 simple destructor
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete[] (void *ptr)
void operator delete[] (void *, 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 *ptr)
void * operator new (size_t size)
void * operator new[] (size_t size)
void * operator new[] (size_t size, void *ptr)
void * operator new[] (size_t size, void *ptr)
void * operator new[] (size_t size)
virtual void output (ostream &out) const
 Write a string representation of this instance to <out>.
void ref () const
 Explicitly increments the reference count.
void reset_orientation (const LOrientationf &orientation)
 set the orientation while clearing the rotation velocity.
void reset_position (const LPoint3f &pos)
 use this to place an object in a completely new position, that has nothing to do with its last position.
void set_active (bool flag)
 Process Flag assignment.
void set_age (float age)
void set_alive (bool alive)
void set_index (int index)
void set_last_position (const LPoint3f &pos)
 Last position assignment.
void set_lifespan (float lifespan)
void set_mass (float)
 Set the mass in slugs (or kilograms).
void set_name (const string &name)
void set_orientation (const LOrientationf &orientation)
void set_orientation ()
void set_oriented (bool flag)
 Set flag to determine whether this object should do any rotation or orientation calculations.
void set_position (float x, float y, float z)
 Piecewise position assignment.
void set_position (const LPoint3f &pos)
 Vector position assignment.
void set_rotation (const LRotationf &rotation)
 set rotation as a quaternion delta per second.
void set_terminal_velocity (float tv)
 tv assignment
void set_velocity (float x, float y, float z)
 Piecewise velocity assignment.
void set_velocity (const LVector3f &vel)
 Vector velocity assignment.
void set_velocity ()
bool test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.
bool test_ref_count_nonzero () const
 Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
virtual bool unref () const
 Explicitly decrements the reference count.
virtual void update ()
 particle update routine.
void weak_ref (WeakPointerToVoid *ptv)
 Adds the indicated PointerToVoid as a weak reference to this object.
void weak_unref (WeakPointerToVoid *ptv)
 Removes the indicated PointerToVoid as a weak reference to this object.
virtual void write (ostream &out, int indent=0) const
 Write a string representation of this instance to <out>.
virtual void write (ostream &out, unsigned int indent=0) const
 Write a string representation of this instance to <out>.

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.

Static Public Attributes

static ConfigVariableDouble _default_terminal_velocity

Protected Member Functions

bool do_test_ref_count_integrity () const
 Does some easy checks to make sure that the reference count isn't completely bogus.
bool do_test_ref_count_nonzero () const
 Returns true if the reference count is nonzero, false otherwise.

Detailed Description

Describes a particle that has angular characteristics (velocity, orientation).

Definition at line 25 of file orientedParticle.h.


Constructor & Destructor Documentation

OrientedParticle::OrientedParticle ( int  lifespan = 0,
bool  alive = false 
)

simple constructor

Definition at line 23 of file orientedParticle.cxx.

References PhysicsObject::set_oriented().

Referenced by make_copy().

OrientedParticle::OrientedParticle ( const OrientedParticle copy)

copy constructor

Definition at line 34 of file orientedParticle.cxx.

OrientedParticle::~OrientedParticle ( ) [virtual]

simple destructor

Definition at line 44 of file orientedParticle.cxx.


Member Function Documentation

void PhysicsObject::add_impact ( const LPoint3f offset,
const LVector3f force 
) [virtual, inherited]

Adds an impulse and/or torque (i.e.

an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call add_impulse and add_torque respectively. offset and force are in global (or parent) coordinates.

Definition at line 123 of file physicsObject.cxx.

References PhysicsObject::add_impulse(), PhysicsObject::add_torque(), LVecBase3f::is_nan(), LVecBase3f::length(), LVecBase3f::normalize(), and LQuaternionf::set_from_axis_angle().

Referenced by PhysicsObject::add_local_impact(), and PhysicsCollisionHandler::apply_net_shove().

void PhysicsObject::add_impulse ( const LVector3f impulse) [inline, inherited]

Adds an impulse force (i.e.

an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

Definition at line 160 of file physicsObject.I.

References LVecBase3f::is_nan().

Referenced by PhysicsObject::add_impact().

void PhysicsObject::add_local_impact ( const LPoint3f offset_from_center_of_mass,
const LVector3f force 
) [virtual, inherited]

Adds an impulse and/or torque (i.e.

an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call add_impulse and add_torque respectively. offset and force are in local coordinates.

Definition at line 102 of file physicsObject.cxx.

References PhysicsObject::add_impact(), LVecBase3f::is_nan(), and LQuaternionf::xform().

void PhysicsObject::add_local_impulse ( const LVector3f impulse) [inline, inherited]

Adds an impulse force (i.e.

an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

Definition at line 132 of file physicsObject.I.

References LVecBase3f::is_nan(), and LQuaternionf::xform().

void PhysicsObject::add_local_torque ( const LRotationf torque) [inline, inherited]

Adds an torque force (i.e.

an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

Definition at line 118 of file physicsObject.I.

References LVecBase4f::is_nan(), and LQuaternionf::xform().

void PhysicsObject::add_torque ( const LRotationf torque) [inline, inherited]

Adds an torque force (i.e.

an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

Definition at line 146 of file physicsObject.I.

References LVecBase4f::is_nan().

Referenced by PhysicsObject::add_impact().

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 OrientedParticle::die ( ) [virtual]

particle death routine

Implements BaseParticle.

Definition at line 72 of file orientedParticle.cxx.

bool ReferenceCount::do_test_ref_count_integrity ( ) const [protected, inherited]

Does some easy checks to make sure that the reference count isn't completely bogus.

Returns true if ok, false otherwise.

Reimplemented in NodeReferenceCount, CachedTypedWritableReferenceCount, and NodeCachedReferenceCount.

Definition at line 29 of file referenceCount.cxx.

Referenced by ReferenceCount::do_test_ref_count_nonzero(), and ReferenceCount::test_ref_count_integrity().

bool ReferenceCount::do_test_ref_count_nonzero ( ) const [protected, inherited]

Returns true if the reference count is nonzero, false otherwise.

Definition at line 56 of file referenceCount.cxx.

References ReferenceCount::do_test_ref_count_integrity().

Referenced by ReferenceCount::test_ref_count_nonzero().

bool PhysicsObject::get_active ( ) const [inline, inherited]

Process Flag Query.

Definition at line 242 of file physicsObject.I.

LVector3f PhysicsObject::get_implicit_velocity ( ) const [inline, inherited]

Velocity Query over the last dt.

Definition at line 232 of file physicsObject.I.

Referenced by PhysicsObject::write().

LMatrix4f PhysicsObject::get_inertial_tensor ( ) const [virtual, inherited]

returns a transform matrix that represents the object's willingness to be forced.

Definition at line 169 of file physicsObject.cxx.

References LMatrix4f::ident_mat().

LPoint3f PhysicsObject::get_last_position ( ) const [inline, inherited]

Get the position of the physics object at the start of the most recent do_physics.

Definition at line 212 of file physicsObject.I.

LMatrix4f PhysicsObject::get_lcs ( ) const [virtual, inherited]

returns a transform matrix to this object's local coordinate system.

Definition at line 153 of file physicsObject.cxx.

References LMatrix4f::is_nan(), and LMatrix4f::translate_mat().

Referenced by PhysicsCollisionHandler::apply_net_shove(), and ActorNode::update_transform().

float PhysicsObject::get_mass ( ) const [inline, inherited]

Get the mass in slugs (or kilograms).

Definition at line 191 of file physicsObject.I.

LOrientationf PhysicsObject::get_orientation ( ) const [inline, inherited]

get current orientation.

Definition at line 284 of file physicsObject.I.

bool PhysicsObject::get_oriented ( ) const [inline, inherited]

See set_oriented().

Definition at line 315 of file physicsObject.I.

LPoint3f PhysicsObject::get_position ( ) const [inline, inherited]

Position Query.

Definition at line 201 of file physicsObject.I.

Referenced by LinearIntegrator::integrate(), and ParticleSystem::update().

int ReferenceCount::get_ref_count ( ) const [inline, inherited]
LRotationf PhysicsObject::get_rotation ( ) const [inline, inherited]

get rotation per second.

Definition at line 294 of file physicsObject.I.

float PhysicsObject::get_terminal_velocity ( ) const [inline, inherited]

tv query

Definition at line 252 of file physicsObject.I.

float BaseParticle::get_theta ( ) const [virtual, inherited]

for spriteParticleRenderer

Reimplemented in ZSpinParticle.

Definition at line 55 of file baseParticle.cxx.

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().

LVector3f PhysicsObject::get_velocity ( ) const [inline, inherited]

Velocity Query per second.

Definition at line 222 of file physicsObject.I.

Referenced by PhysicsCollisionHandler::apply_net_shove().

WeakReferenceList * ReferenceCount::get_weak_list ( ) const [inline, inherited]

Returns the WeakReferenceList associated with this ReferenceCount object.

If there has never been a WeakReferenceList associated with this object, creates one now.

Definition at line 307 of file referenceCount.I.

Referenced by ReferenceCount::weak_ref().

bool ReferenceCount::has_weak_list ( ) const [inline, inherited]

Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.

In general, this will be true if there was ever a WeakPointerTo created for this object (even if there is not any for it now).

Definition at line 294 of file referenceCount.I.

Referenced by ReferenceCount::weak_unref().

void OrientedParticle::init ( ) [virtual]

particle init routine

Implements BaseParticle.

Definition at line 63 of file orientedParticle.cxx.

static void PhysicsObject::init_type ( ) [inline, static, inherited]

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 TypedReferenceCount.

Definition at line 128 of file physicsObject.h.

References TypedReferenceCount::init_type().

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().

void ReferenceCount::local_object ( ) [inline, inherited]

This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.

This allows the object to be passed to functions that will increment and decrement the object's reference count temporarily, and it will prevent the object from being deleted (inappropriately), when the reference count returns to zero. It actually achieves this by setting a large positive value in the reference count field.

Definition at line 276 of file referenceCount.I.

Referenced by PGTop::cull_callback(), BoundingSphere::extend_by_hexahedron(), AsyncTaskManager::find_task(), AsyncTaskManager::find_tasks(), and AsyncTaskManager::find_tasks_matching().

PhysicsObject * OrientedParticle::make_copy ( ) const [virtual]

simple destructor

Implements BaseParticle.

Definition at line 53 of file orientedParticle.cxx.

References OrientedParticle().

void OrientedParticle::output ( ostream &  out) const [virtual]

Write a string representation of this instance to <out>.

Reimplemented from BaseParticle.

Definition at line 93 of file orientedParticle.cxx.

void ReferenceCount::ref ( ) const [inline, inherited]

Explicitly increments the reference count.

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

Definition at line 179 of file referenceCount.I.

References ReferenceCount::test_ref_count_integrity().

Referenced by CachedTypedWritableReferenceCount::cache_ref(), TypedWritable::decode_raw_from_bam_stream(), NodeCachedReferenceCount::node_ref(), NodeReferenceCount::node_ref(), BamCacheRecord::set_data(), CullableObject::set_draw_callback(), and ModelRoot::set_reference().

void PhysicsObject::reset_orientation ( const LOrientationf orientation) [inline, inherited]

set the orientation while clearing the rotation velocity.

Definition at line 71 of file physicsObject.I.

References LQuaternionf::ident_quat(), and LVecBase4f::is_nan().

void PhysicsObject::reset_position ( const LPoint3f pos) [inline, inherited]

use this to place an object in a completely new position, that has nothing to do with its last position.

Definition at line 57 of file physicsObject.I.

References LVecBase3f::is_nan().

void PhysicsObject::set_active ( bool  flag) [inline, inherited]

Process Flag assignment.

Definition at line 171 of file physicsObject.I.

Referenced by ActorNode::ActorNode(), and BaseParticleFactory::populate_particle().

void PhysicsObject::set_last_position ( const LPoint3f pos) [inline, inherited]

Last position assignment.

Definition at line 83 of file physicsObject.I.

Referenced by LinearIntegrator::integrate().

void PhysicsObject::set_mass ( float  m) [inline, inherited]

Set the mass in slugs (or kilograms).

Definition at line 21 of file physicsObject.I.

Referenced by BaseParticleFactory::populate_particle().

void PhysicsObject::set_oriented ( bool  flag) [inline, inherited]

Set flag to determine whether this object should do any rotation or orientation calculations.

Optimization.

Definition at line 305 of file physicsObject.I.

Referenced by OrientedParticle(), and PointParticle::PointParticle().

void PhysicsObject::set_position ( const LPoint3f pos) [inline, inherited]

Vector position assignment.

This is also used as the center of mass.

Definition at line 33 of file physicsObject.I.

References LVecBase3f::is_nan().

void PhysicsObject::set_position ( float  x,
float  y,
float  z 
) [inline, inherited]

Piecewise position assignment.

Definition at line 44 of file physicsObject.I.

void PhysicsObject::set_rotation ( const LRotationf rotation) [inline, inherited]

set rotation as a quaternion delta per second.

Definition at line 273 of file physicsObject.I.

References LVecBase4f::is_nan().

void PhysicsObject::set_terminal_velocity ( float  tv) [inline, inherited]

tv assignment

Definition at line 181 of file physicsObject.I.

Referenced by BaseParticleFactory::populate_particle().

void PhysicsObject::set_velocity ( const LVector3f vel) [inline, inherited]

Vector velocity assignment.

Definition at line 93 of file physicsObject.I.

References LVecBase3f::is_nan().

Referenced by PhysicsCollisionHandler::apply_net_shove().

void PhysicsObject::set_velocity ( float  x,
float  y,
float  z 
) [inline, inherited]

Piecewise velocity assignment.

Definition at line 104 of file physicsObject.I.

bool ReferenceCount::test_ref_count_integrity ( ) const [inline, inherited]
bool ReferenceCount::test_ref_count_nonzero ( ) const [inline, inherited]

Does some easy checks to make sure that the reference count isn't zero, or completely bogus.

Returns true if ok, false otherwise.

Definition at line 252 of file referenceCount.I.

References ReferenceCount::do_test_ref_count_nonzero().

Referenced by CopyOnWritePointer::test_ref_count_nonzero().

bool ReferenceCount::unref ( ) const [inline, virtual, inherited]

Explicitly decrements the reference count.

Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic.) However, see the helper function unref_delete().

User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.

This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

The return value is true if the new reference count is nonzero, false if it is zero.

Reimplemented in GeomVertexArrayFormat, GeomVertexFormat, InternalName, RenderAttrib, RenderEffects, RenderState, and TransformState.

Definition at line 214 of file referenceCount.I.

References ReferenceCount::test_ref_count_integrity().

Referenced by CachedTypedWritableReferenceCount::cache_unref(), TypedWritable::decode_raw_from_bam_stream(), RenderEffect::finalize(), NodeCachedReferenceCount::node_unref(), NodeReferenceCount::node_unref(), TransformState::unref(), RenderState::unref(), RenderEffects::unref(), RenderAttrib::unref(), InternalName::unref(), GeomVertexFormat::unref(), and GeomVertexArrayFormat::unref().

void OrientedParticle::update ( ) [virtual]

particle update routine.

This NEEDS to be filled in with quaternion slerp stuff, or oriented particles will not rotate.

Implements BaseParticle.

Definition at line 83 of file orientedParticle.cxx.

void ReferenceCount::weak_ref ( WeakPointerToVoid ptv) [inline, inherited]

Adds the indicated PointerToVoid as a weak reference to this object.

Definition at line 321 of file referenceCount.I.

References WeakReferenceList::add_reference(), and ReferenceCount::get_weak_list().

void ReferenceCount::weak_unref ( WeakPointerToVoid ptv) [inline, inherited]

Removes the indicated PointerToVoid as a weak reference to this object.

It must have previously been added via a call to weak_ref().

Definition at line 334 of file referenceCount.I.

References WeakReferenceList::clear_reference(), and ReferenceCount::has_weak_list().

void OrientedParticle::write ( ostream &  out,
int  indent = 0 
) const [virtual]

Write a string representation of this instance to <out>.

Reimplemented from BaseParticle.

Definition at line 106 of file orientedParticle.cxx.

void PhysicsObject::write ( ostream &  out,
unsigned int  indent = 0 
) const [virtual, inherited]

Write a string representation of this instance to <out>.

Definition at line 193 of file physicsObject.cxx.

References LQuaternionf::get_hpr(), and PhysicsObject::get_implicit_velocity().

Referenced by Physical::write(), and ActorNode::write().


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