40 #ifndef _collidableproxy_h
41 #define _collidableproxy_h
43 #include "Physics/physicsenumerations.h"
45 #include "worldproxy.h"
47 class btCollisionObject;
48 class btCollisionShape;
101 virtual void AddToWorld() = 0;
103 virtual void RemoveFromWorld() = 0;
105 virtual Boolean IsInWorld()
const;
117 virtual void SetCollisionGroupAndMask(
const Int16 Group,
const Int16 Mask);
120 virtual void SetCollisionGroup(
const Int16 Group);
123 virtual void SetCollisionMask(
const Int16 Mask);
126 virtual Int16 GetCollisionGroup()
const;
129 virtual Int16 GetCollisionMask()
const;
141 virtual void SetCollisionResponse(
bool Enable);
144 virtual bool GetCollisionResponse()
const;
149 virtual void SetCollisionFlags(
const Whole Flags);
152 virtual Whole GetCollisionFlags()
const;
160 virtual void SetKinematic();
164 virtual void SetStatic();
167 virtual bool IsKinematic()
const;
170 virtual bool IsStatic()
const;
174 virtual bool IsStaticOrKinematic()
const;
184 virtual void SetFriction(
const Real Friction);
187 virtual Real GetFriction()
const;
193 virtual void SetRollingFriction(
const Real Friction);
196 virtual Real GetRollingFriction()
const;
204 virtual void SetAnisotropicFriction(
const Vector3& Friction,
const Whole Mode);
211 virtual Boolean IsAnisotropicFrictionModeSet(
const Whole Mode)
const;
214 virtual Vector3 GetAnisotropicFriction()
const;
221 virtual void SetRestitution(
const Real& Restitution);
224 virtual Real GetRestitution()
const;
238 virtual bool IsActive()
const;
245 virtual void SetDeactivationTime(
const Real Time);
248 virtual Real GetDeactivationTime()
const;
254 virtual void SetLocation(
const Vector3& Loc);
256 virtual void SetLocation(
const Real X,
const Real Y,
const Real Z);
258 virtual Vector3 GetLocation()
const;
260 virtual void SetOrientation(
const Quaternion& Ori);
262 virtual void SetOrientation(
const Real X,
const Real Y,
const Real Z,
const Real W);
268 virtual void SetScale(
const Vector3& Sc);
272 virtual void SetScale(
const Real X,
const Real Y,
const Real Z);
274 virtual Vector3 GetScale()
const;
277 virtual void Translate(
const Vector3& Trans);
279 virtual void Translate(
const Real X,
const Real Y,
const Real Z);
281 virtual void Yaw(
const Real Angle);
283 virtual void Pitch(
const Real Angle);
285 virtual void Roll(
const Real Angle);
287 virtual void Rotate(
const Vector3& Axis,
const Real Angle);
289 virtual void Rotate(
const Quaternion& Rotation);
293 virtual void Scale(
const Vector3& Scale);
297 virtual void Scale(
const Real X,
const Real Y,
const Real Z);
303 virtual void ProtoSerialize(
XML::Node& ParentNode)
const;
305 virtual void ProtoSerializeProperties(
XML::Node& SelfRoot)
const;
308 virtual void ProtoSerializeShape(
XML::Node& SelfRoot)
const;
311 virtual void ProtoDeSerialize(
const XML::Node& SelfRoot);
313 virtual void ProtoDeSerializeProperties(
const XML::Node& SelfRoot);
316 virtual void ProtoDeSerializeShape(
const XML::Node& SelfRoot);
319 virtual String GetDerivedSerializableName()
const;
321 static String GetSerializableName();
329 virtual Integer _GetBroadphaseUniqueID()
const;
333 virtual void _SetContactProcessingThreshold(
const Real Threshold);
337 virtual Real _GetContactProcessingThreshold()
const;
341 virtual btCollisionObject* _GetBasePhysicsObject()
const = 0;