Documentation
Public Member Functions |
Static Public Member Functions |
Protected Member Functions |
Private Member Functions |
Private Attributes |
List of all members  
  Urho3D::RigidBody Class Reference
  Physics rigid body component. More...
#include <RigidBody.h>
Inheritance diagram for Urho3D::RigidBody:
Collaboration diagram for Urho3D::RigidBody:
Public Member Functions | |
| RigidBody (Context *context) | |
| Construct.  | |
| virtual | ~RigidBody () | 
| Destruct. Free the rigid body and geometries.  | |
| virtual void | OnSetAttribute (const AttributeInfo &attr, const Variant &src) | 
| Handle attribute write access.  | |
| virtual void | ApplyAttributes () | 
| Apply attribute changes that can not be applied immediately. Called after scene load or a network update.  | |
| virtual void | OnSetEnabled () | 
| Handle enabled/disabled state change.  | |
| virtual void | getWorldTransform (btTransform &worldTrans) const | 
| Return initial world transform to Bullet.  | |
| virtual void | setWorldTransform (const btTransform &worldTrans) | 
| Update world transform from Bullet.  | |
| virtual void | DrawDebugGeometry (DebugRenderer *debug, bool depthTest) | 
| Visualize the component as debug geometry.  | |
| void | SetMass (float mass) | 
| Set mass. Zero mass makes the body static.  | |
| void | SetPosition (const Vector3 &position) | 
| Set rigid body position in world space.  | |
| void | SetRotation (const Quaternion &rotation) | 
| Set rigid body rotation in world space.  | |
| void | SetTransform (const Vector3 &position, const Quaternion &rotation) | 
| Set rigid body position and rotation in world space as an atomic operation.  | |
| void | SetLinearVelocity (const Vector3 &velocity) | 
| Set linear velocity.  | |
| void | SetLinearFactor (const Vector3 &factor) | 
| Set linear degrees of freedom. Use 1 to enable an axis or 0 to disable. Default is all axes enabled (1, 1, 1).  | |
| void | SetLinearRestThreshold (float threshold) | 
| Set linear velocity deactivation threshold.  | |
| void | SetLinearDamping (float damping) | 
| Set linear velocity damping factor.  | |
| void | SetAngularVelocity (const Vector3 &angularVelocity) | 
| Set angular velocity.  | |
| void | SetAngularFactor (const Vector3 &factor) | 
| Set angular degrees of freedom. Use 1 to enable an axis or 0 to disable. Default is all axes enabled (1, 1, 1).  | |
| void | SetAngularRestThreshold (float threshold) | 
| Set angular velocity deactivation threshold.  | |
| void | SetAngularDamping (float factor) | 
| Set angular velocity damping factor.  | |
| void | SetFriction (float friction) | 
| Set friction coefficient.  | |
| void | SetAnisotropicFriction (const Vector3 &friction) | 
| Set anisotropic friction.  | |
| void | SetRollingFriction (float friction) | 
| Set rolling friction coefficient.  | |
| void | SetRestitution (float restitution) | 
| Set restitution coefficient.  | |
| void | SetContactProcessingThreshold (float threshold) | 
| Set contact processing threshold.  | |
| void | SetCcdRadius (float radius) | 
| Set continuous collision detection swept sphere radius.  | |
| void | SetCcdMotionThreshold (float threshold) | 
| Set continuous collision detection motion-per-simulation-step threshold. 0 disables, which is the default.  | |
| void | SetUseGravity (bool enable) | 
| Set whether gravity is applied to rigid body.  | |
| void | SetGravityOverride (const Vector3 &gravity) | 
| Set gravity override. If zero, uses physics world's gravity.  | |
| void | SetKinematic (bool enable) | 
| Set rigid body kinematic mode. In kinematic mode forces are not applied to the rigid body.  | |
| void | SetTrigger (bool enable) | 
| Set rigid body trigger mode. In trigger mode collisions are reported but do not apply forces.  | |
| void | SetCollisionLayer (unsigned layer) | 
| Set collision layer.  | |
| void | SetCollisionMask (unsigned mask) | 
| Set collision mask.  | |
| void | SetCollisionLayerAndMask (unsigned layer, unsigned mask) | 
| Set collision group and mask.  | |
| void | SetCollisionEventMode (CollisionEventMode mode) | 
| Set collision event signaling mode. Default is to signal when rigid bodies are active.  | |
| void | ApplyForce (const Vector3 &force) | 
| Apply force to center of mass.  | |
| void | ApplyForce (const Vector3 &force, const Vector3 &position) | 
| Apply force at local position.  | |
| void | ApplyTorque (const Vector3 &torque) | 
| Apply torque.  | |
| void | ApplyImpulse (const Vector3 &impulse) | 
| Apply impulse to center of mass.  | |
| void | ApplyImpulse (const Vector3 &impulse, const Vector3 &position) | 
| Apply impulse at local position.  | |
| void | ApplyTorqueImpulse (const Vector3 &torque) | 
| Apply torque impulse.  | |
| void | ResetForces () | 
| Reset accumulated forces.  | |
| void | Activate () | 
| Activate rigid body if it was resting.  | |
| void | ReAddBodyToWorld () | 
| Readd rigid body to the physics world to clean up internal state like stale contacts.  | |
| void | DisableMassUpdate () | 
| Disable mass update. Call this to optimize performance when adding or editing multiple collision shapes in the same node.  | |
| void | EnableMassUpdate () | 
| Re-enable mass update and recalculate the mass/inertia by calling UpdateMass(). Call when collision shape changes are finished.  | |
| PhysicsWorld * | GetPhysicsWorld () const | 
| Return physics world.  | |
| btRigidBody * | GetBody () const | 
| Return Bullet rigid body.  | |
| btCompoundShape * | GetCompoundShape () const | 
| Return Bullet compound collision shape.  | |
| float | GetMass () const | 
| Return mass.  | |
| Vector3 | GetPosition () const | 
| Return rigid body position in world space.  | |
| Quaternion | GetRotation () const | 
| Return rigid body rotation in world space.  | |
| Vector3 | GetLinearVelocity () const | 
| Return linear velocity.  | |
| Vector3 | GetLinearFactor () const | 
| Return linear degrees of freedom.  | |
| Vector3 | GetVelocityAtPoint (const Vector3 &position) const | 
| Return linear velocity at local point.  | |
| float | GetLinearRestThreshold () const | 
| Return linear velocity deactivation threshold.  | |
| float | GetLinearDamping () const | 
| Return linear velocity damping factor.  | |
| Vector3 | GetAngularVelocity () const | 
| Return angular velocity.  | |
| Vector3 | GetAngularFactor () const | 
| Return angular degrees of freedom.  | |
| float | GetAngularRestThreshold () const | 
| Return angular velocity deactivation threshold.  | |
| float | GetAngularDamping () const | 
| Return angular velocity damping factor.  | |
| float | GetFriction () const | 
| Return friction coefficient.  | |
| Vector3 | GetAnisotropicFriction () const | 
| Return anisotropic friction.  | |
| float | GetRollingFriction () const | 
| Return rolling friction coefficient.  | |
| float | GetRestitution () const | 
| Return restitution coefficient.  | |
| float | GetContactProcessingThreshold () const | 
| Return contact processing threshold.  | |
| float | GetCcdRadius () const | 
| Return continuous collision detection swept sphere radius.  | |
| float | GetCcdMotionThreshold () const | 
| Return continuous collision detection motion-per-simulation-step threshold.  | |
| bool | GetUseGravity () const | 
| Return whether rigid body uses gravity.  | |
| const Vector3 & | GetGravityOverride () const | 
| Return gravity override. If zero (default), uses the physics world's gravity.  | |
| const Vector3 & | GetCenterOfMass () const | 
| Return center of mass offset.  | |
| bool | IsKinematic () const | 
| Return kinematic mode flag.  | |
| bool | IsTrigger () const | 
| Return whether this RigidBody is acting as a trigger.  | |
| bool | IsActive () const | 
| Return whether rigid body is active (not sleeping.)  | |
| unsigned | GetCollisionLayer () const | 
| Return collision layer.  | |
| unsigned | GetCollisionMask () const | 
| Return collision mask.  | |
| CollisionEventMode | GetCollisionEventMode () const | 
| Return collision event signaling mode.  | |
| void | GetCollidingBodies (PODVector< RigidBody * > &result) const | 
| Return colliding rigid bodies from the last simulation step.  | |
| void | ApplyWorldTransform (const Vector3 &newWorldPosition, const Quaternion &newWorldRotation) | 
| Apply new world transform after a simulation step. Called internally.  | |
| void | UpdateMass () | 
| Update mass and inertia to the Bullet rigid body.  | |
| void | UpdateGravity () | 
| Update gravity parameters to the Bullet rigid body.  | |
| void | SetNetAngularVelocityAttr (const PODVector< unsigned char > &value) | 
| Set network angular velocity attribute.  | |
| const PODVector< unsigned char > & | GetNetAngularVelocityAttr () const | 
| Return network angular velocity attribute.  | |
| void | AddConstraint (Constraint *constraint) | 
| Add a constraint that refers to this rigid body.  | |
| void | RemoveConstraint (Constraint *constraint) | 
| Remove a constraint that refers to this rigid body.  | |
| void | ReleaseBody () | 
| Remove the rigid body.  | |
  Public Member Functions inherited from Urho3D::Component | |
| Component (Context *context) | |
| Construct.  | |
| virtual | ~Component () | 
| Destruct.  | |
| virtual bool | Save (Serializer &dest) const | 
| Save as binary data. Return true if successful.  | |
| virtual bool | SaveXML (XMLElement &dest) const | 
| Save as XML data. Return true if successful.  | |
| virtual void | MarkNetworkUpdate () | 
| Mark for attribute check on the next network update.  | |
| virtual void | GetDependencyNodes (PODVector< Node * > &dest) | 
| Return the depended on nodes to order network updates.  | |
| void | SetEnabled (bool enable) | 
| Set enabled/disabled state.  | |
| void | Remove () | 
| Remove from the scene node. If no other shared pointer references exist, causes immediate deletion.  | |
| unsigned | GetID () const | 
| Return ID.  | |
| Node * | GetNode () const | 
| Return scene node.  | |
| Scene * | GetScene () const | 
| Return the scene the node belongs to.  | |
| bool | IsEnabled () const | 
| Return whether is enabled.  | |
| bool | IsEnabledEffective () const | 
| Return whether is effectively enabled (node is also enabled.)  | |
| Component * | GetComponent (StringHash type) const | 
| Return component in the same scene node by type. If there are several, returns the first.  | |
| void | GetComponents (PODVector< Component * > &dest, StringHash type) const | 
| Return components in the same scene node by type.  | |
| template<class T > | |
| T * | GetComponent () const | 
| Template version of returning a component in the same scene node by type.  | |
| template<class T > | |
| void | GetComponents (PODVector< T * > &dest) const | 
| Template version of returning components in the same scene node by type.  | |
| void | AddReplicationState (ComponentReplicationState *state) | 
| Add a replication state that is tracking this component.  | |
| void | PrepareNetworkUpdate () | 
| Prepare network update by comparing attributes and marking replication states dirty as necessary.  | |
| void | CleanupConnection (Connection *connection) | 
| Clean up all references to a network connection that is about to be removed.  | |
  Public Member Functions inherited from Urho3D::Animatable | |
| Animatable (Context *context) | |
| Construct.  | |
| virtual | ~Animatable () | 
| Destruct.  | |
| virtual bool | LoadXML (const XMLElement &source, bool setInstanceDefault=false) | 
| Load from XML data. When setInstanceDefault is set to true, after setting the attribute value, store the value as instance's default value. Return true if successful.  | |
| void | SetAnimationEnabled (bool enable) | 
| Set animation enabled.  | |
| void | SetObjectAnimation (ObjectAnimation *objectAnimation) | 
| Set object animation.  | |
| void | SetAttributeAnimation (const String &name, ValueAnimation *attributeAnimation, WrapMode wrapMode=WM_LOOP, float speed=1.0f) | 
| Set attribute animation.  | |
| void | SetAttributeAnimationWrapMode (const String &name, WrapMode wrapMode) | 
| Set attribute animation wrap mode.  | |
| void | SetAttributeAnimationSpeed (const String &name, float speed) | 
| Set attribute animation speed.  | |
| bool | GetAnimationEnabled () const | 
| Return animation enabled.  | |
| ObjectAnimation * | GetObjectAnimation () const | 
| Return object animation.  | |
| ValueAnimation * | GetAttributeAnimation (const String &name) const | 
| Return attribute animation.  | |
| WrapMode | GetAttributeAnimationWrapMode (const String &name) const | 
| Return attribute animation wrap mode.  | |
| float | GetAttributeAnimationSpeed (const String &name) const | 
| Return attribute animation speed.  | |
| void | SetObjectAnimationAttr (const ResourceRef &value) | 
| Set object animation attribute.  | |
| ResourceRef | GetObjectAnimationAttr () const | 
| Return object animation attribute.  | |
  Public Member Functions inherited from Urho3D::Serializable | |
| Serializable (Context *context) | |
| Construct.  | |
| virtual | ~Serializable () | 
| Destruct.  | |
| virtual void | OnGetAttribute (const AttributeInfo &attr, Variant &dest) const | 
| Handle attribute read access. Default implementation reads the variable at offset, or invokes the get accessor.  | |
| 
virtual const Vector < AttributeInfo > *  | GetAttributes () const | 
| Return attribute descriptions, or null if none defined.  | |
| 
virtual const Vector < AttributeInfo > *  | GetNetworkAttributes () const | 
| Return network replication attribute descriptions, or null if none defined.  | |
| virtual bool | Load (Deserializer &source, bool setInstanceDefault=false) | 
| Load from binary data. When setInstanceDefault is set to true, after setting the attribute value, store the value as instance's default value. Return true if successful.  | |
| virtual bool | SaveDefaultAttributes () const | 
| Return whether should save default-valued attributes into XML. Default false.  | |
| bool | SetAttribute (unsigned index, const Variant &value) | 
| Set attribute by index. Return true if successfully set.  | |
| bool | SetAttribute (const String &name, const Variant &value) | 
| Set attribute by name. Return true if successfully set.  | |
| void | ResetToDefault () | 
| Reset all editable attributes to their default values.  | |
| void | RemoveInstanceDefault () | 
| Remove instance's default values if they are set previously.  | |
| void | SetTemporary (bool enable) | 
| Set temporary flag. Temporary objects will not be saved.  | |
| void | SetInterceptNetworkUpdate (const String &attributeName, bool enable) | 
| Enable interception of an attribute from network updates. Intercepted attributes are sent as events instead of applying directly. This can be used to implement client side prediction.  | |
| void | AllocateNetworkState () | 
| Allocate network attribute state.  | |
| void | WriteInitialDeltaUpdate (Serializer &dest, unsigned char timeStamp) | 
| Write initial delta network update.  | |
| void | WriteDeltaUpdate (Serializer &dest, const DirtyBits &attributeBits, unsigned char timeStamp) | 
| Write a delta network update according to dirty attribute bits.  | |
| void | WriteLatestDataUpdate (Serializer &dest, unsigned char timeStamp) | 
| Write a latest data network update.  | |
| bool | ReadDeltaUpdate (Deserializer &source) | 
| Read and apply a network delta update. Return true if attributes were changed.  | |
| bool | ReadLatestDataUpdate (Deserializer &source) | 
| Read and apply a network latest data update. Return true if attributes were changed.  | |
| Variant | GetAttribute (unsigned index) const | 
| Return attribute value by index. Return empty if illegal index.  | |
| Variant | GetAttribute (const String &name) const | 
| Return attribute value by name. Return empty if not found.  | |
| Variant | GetAttributeDefault (unsigned index) const | 
| Return attribute default value by index. Return empty if illegal index.  | |
| Variant | GetAttributeDefault (const String &name) const | 
| Return attribute default value by name. Return empty if not found.  | |
| unsigned | GetNumAttributes () const | 
| Return number of attributes.  | |
| unsigned | GetNumNetworkAttributes () const | 
| Return number of network replication attributes.  | |
| bool | IsTemporary () const | 
| Return whether is temporary.  | |
| bool | GetInterceptNetworkUpdate (const String &attributeName) const | 
| Return whether an attribute's network updates are being intercepted.  | |
| NetworkState * | GetNetworkState () const | 
| Return the network attribute state, if allocated.  | |
  Public Member Functions inherited from Urho3D::Object | |
| Object (Context *context) | |
| Construct.  | |
| virtual | ~Object () | 
| Destruct. Clean up self from event sender & receiver structures.  | |
| virtual Urho3D::StringHash | GetType () const =0 | 
| Return type hash.  | |
| virtual Urho3D::StringHash | GetBaseType () const =0 | 
| Return base class type hash.  | |
| virtual const Urho3D::String & | GetTypeName () const =0 | 
| Return type name.  | |
| virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) | 
| Handle event.  | |
| void | SubscribeToEvent (StringHash eventType, EventHandler *handler) | 
| Subscribe to an event that can be sent by any sender.  | |
| void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) | 
| Subscribe to a specific sender's event.  | |
| void | UnsubscribeFromEvent (StringHash eventType) | 
| Unsubscribe from an event.  | |
| void | UnsubscribeFromEvent (Object *sender, StringHash eventType) | 
| Unsubscribe from a specific sender's event.  | |
| void | UnsubscribeFromEvents (Object *sender) | 
| Unsubscribe from a specific sender's events.  | |
| void | UnsubscribeFromAllEvents () | 
| Unsubscribe from all events.  | |
| void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) | 
| Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)  | |
| void | SendEvent (StringHash eventType) | 
| Send event to all subscribers.  | |
| void | SendEvent (StringHash eventType, VariantMap &eventData) | 
| Send event with parameters to all subscribers.  More... | |
| VariantMap & | GetEventDataMap () const | 
| Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps.  | |
| Context * | GetContext () const | 
| Return execution context.  | |
| Object * | GetSubsystem (StringHash type) const | 
| Return subsystem by type.  | |
| Object * | GetEventSender () const | 
| Return active event sender. Null outside event handling.  | |
| EventHandler * | GetEventHandler () const | 
| Return active event handler. Null outside event handling.  | |
| bool | HasSubscribedToEvent (StringHash eventType) const | 
| Return whether has subscribed to an event without specific sender.  | |
| bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const | 
| Return whether has subscribed to a specific sender's event.  | |
| bool | HasEventHandlers () const | 
| Return whether has subscribed to any event.  | |
| template<class T > | |
| T * | GetSubsystem () const | 
| Template version of returning a subsystem.  | |
| const String & | GetCategory () const | 
| Return object category. Categories are (optionally) registered along with the object factory. Return an empty string if the object category is not registered.  | |
  Public Member Functions inherited from Urho3D::RefCounted | |
| RefCounted () | |
| Construct. Allocate the reference count structure and set an initial self weak reference.  | |
| virtual | ~RefCounted () | 
| Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.  | |
| void | AddRef () | 
| Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.  | |
| void | ReleaseRef () | 
| Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.  | |
| int | Refs () const | 
| Return reference count.  | |
| int | WeakRefs () const | 
| Return weak reference count.  | |
| RefCount * | RefCountPtr () | 
| Return pointer to the reference count structure.  | |
Static Public Member Functions | |
| static void | RegisterObject (Context *context) | 
| Register object factory.  | |
Protected Member Functions | |
| virtual void | OnNodeSet (Node *node) | 
| Handle node being assigned.  | |
| virtual void | OnMarkedDirty (Node *node) | 
| Handle node transform being dirtied.  | |
  Protected Member Functions inherited from Urho3D::Component | |
| virtual void | OnAttributeAnimationAdded () | 
| Handle attribute animation added.  | |
| virtual void | OnAttributeAnimationRemoved () | 
| Handle attribute animation removed.  | |
| virtual void | OnNodeSetEnabled (Node *node) | 
| Handle scene node enabled status changing.  | |
| void | SetID (unsigned id) | 
| Set ID. Called by Scene.  | |
| void | SetNode (Node *node) | 
| Set scene node. Called by Node when creating the component.  | |
| void | HandleAttributeAnimationUpdate (StringHash eventType, VariantMap &eventData) | 
| Handle scene attribute animation update event.  | |
  Protected Member Functions inherited from Urho3D::Animatable | |
| virtual void | SetObjectAttributeAnimation (const String &name, ValueAnimation *attributeAnimation, WrapMode wrapMode, float speed) | 
| Set object attribute animation internal.  | |
| void | OnObjectAnimationAdded (ObjectAnimation *objectAnimation) | 
| Handle object animation added.  | |
| void | OnObjectAnimationRemoved (ObjectAnimation *objectAnimation) | 
| Handle object animation removed.  | |
| void | UpdateAttributeAnimations (float timeStep) | 
| Update attribute animations.  | |
| bool | IsAnimatedNetworkAttribute (const AttributeInfo &attrInfo) const | 
| Is animated network attribute.  | |
| AttributeAnimationInfo * | GetAttributeAnimationInfo (const String &name) const | 
| Return attribute animation info.  | |
| void | HandleAttributeAnimationAdded (StringHash eventType, VariantMap &eventData) | 
| Handle attribute animation added.  | |
| void | HandleAttributeAnimationRemoved (StringHash eventType, VariantMap &eventData) | 
| Handle attribute animation removed.  | |
Private Member Functions | |
| OBJECT (RigidBody) | |
| void | AddBodyToWorld () | 
| Create the rigid body, or re-add to the physics world with changed flags. Calls UpdateMass().  | |
| void | RemoveBodyFromWorld () | 
| Remove the rigid body from the physics world.  | |
| void | HandleTargetPosition (StringHash eventType, VariantMap &eventData) | 
| Handle SmoothedTransform target position update.  | |
| void | HandleTargetRotation (StringHash eventType, VariantMap &eventData) | 
| Handle SmoothedTransform target rotation update.  | |
Private Attributes | |
| btRigidBody * | body_ | 
| Bullet rigid body.  | |
| btCompoundShape * | compoundShape_ | 
| Bullet compound collision shape.  | |
| btCompoundShape * | shiftedCompoundShape_ | 
| Compound collision shape with center of mass offset applied.  | |
| WeakPtr< PhysicsWorld > | physicsWorld_ | 
| Physics world.  | |
| PODVector< Constraint * > | constraints_ | 
| Constraints that refer to this rigid body.  | |
| Vector3 | gravityOverride_ | 
| Gravity override vector.  | |
| Vector3 | centerOfMass_ | 
| Center of mass offset.  | |
| float | mass_ | 
| Mass.  | |
| VectorBuffer | attrBuffer_ | 
| Attribute buffer for network replication.  | |
| unsigned | collisionLayer_ | 
| Collision layer.  | |
| unsigned | collisionMask_ | 
| Collision mask.  | |
| CollisionEventMode | collisionEventMode_ | 
| Collision event signaling mode.  | |
| Vector3 | lastPosition_ | 
| Last interpolated position from the simulation.  | |
| Quaternion | lastRotation_ | 
| Last interpolated rotation from the simulation.  | |
| bool | kinematic_ | 
| Kinematic flag.  | |
| bool | trigger_ | 
| Trigger flag.  | |
| bool | useGravity_ | 
| Use gravity flag.  | |
| bool | hasSmoothedTransform_ | 
| Smoothed transform mode.  | |
| bool | readdBody_ | 
| Readd body to world flag.  | |
| bool | inWorld_ | 
| Body exists in world flag.  | |
| bool | enableMassUpdate_ | 
| Mass update enable flag.  | |
Additional Inherited Members | |
  Protected Attributes inherited from Urho3D::Component | |
| Node * | node_ | 
| Scene node.  | |
| unsigned | id_ | 
| Unique ID within the scene.  | |
| bool | networkUpdate_ | 
| Network update queued flag.  | |
| bool | enabled_ | 
| Enabled flag.  | |
Detailed Description
Physics rigid body component.
The documentation for this class was generated from the following files:
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Physics/RigidBody.h
 - /home/travis/build/urho3d/Urho3D/Source/Urho3D/Physics/RigidBody.cpp
 

 Public Member Functions inherited from