29 #ifndef __MovableObject_H__
30 #define __MovableObject_H__
47 class MovableObjectFactory;
196 virtual const String& getMovableType(
void)
const = 0;
204 virtual Node* getParentNode(
void)
const;
213 virtual SceneNode* getParentSceneNode(
void)
const;
220 virtual void _notifyAttached(
Node* parent,
bool isTagPoint =
false);
223 virtual bool isAttached(
void)
const;
226 virtual void detachFromParent(
void);
231 virtual bool isInScene(
void)
const;
235 virtual void _notifyMoved(
void);
242 virtual void _notifyCurrentCamera(
Camera* cam);
253 virtual Real getBoundingRadius(
void)
const = 0;
256 virtual const AxisAlignedBox& getWorldBoundingBox(
bool derive =
false)
const;
258 virtual const Sphere& getWorldBoundingSphere(
bool derive =
false)
const;
264 virtual void _updateRenderQueue(
RenderQueue* queue) = 0;
280 virtual void setVisible(
bool visible);
286 virtual bool getVisible(
void)
const;
292 virtual bool isVisible(
void)
const;
300 mUpperDistance = dist;
301 mSquaredUpperDistance = mUpperDistance * mUpperDistance;
313 mMinPixelSize = pixelSize;
319 return mMinPixelSize;
329 virtual void setUserAny(
const Any& anything) { getUserObjectBindings().setUserAny(anything); }
334 virtual const Any&
getUserAny(
void)
const {
return getUserObjectBindings().getUserAny(); }
360 virtual void setRenderQueueGroup(
uint8 queueID);
377 virtual void setRenderQueueGroupAndPriority(
uint8 queueID,
ushort priority);
380 virtual uint8 getRenderQueueGroup(
void)
const;
383 virtual const Matrix4& _getParentNodeFullTransform(
void)
const;
470 virtual const LightList& queryLights(
void)
const;
483 virtual void setLightMask(
uint32 lightMask);
498 ShadowRenderableListIterator getShadowVolumeRenderableIterator(
501 bool extrudeVertices,
Real extrusionDist,
unsigned long flags = 0);
525 bool getReceivesShadows();
528 Real getPointExtrusionDistance(
const Light* l)
const;
539 virtual uint32 getTypeFlags(
void)
const;
553 bool debugRenderables =
false) = 0;
591 virtual const String& getType(
void)
const = 0;