28 #ifndef _SceneNode_H__
29 #define _SceneNode_H__
41 struct VisibleObjectsBoundsInfo;
81 void updateFromParentImpl(
void)
const;
84 Node* createChildImpl(
void);
90 void setParent(
Node* parent);
95 virtual void setInSceneGraph(
bool inGraph);
132 virtual unsigned short numAttachedObjects(
void)
const;
138 virtual MovableObject* getAttachedObject(
unsigned short index);
159 virtual void detachAllObjects(
void);
185 virtual void _update(
bool updateChildren,
bool parentHasChanged);
189 virtual void _updateBounds(
void);
211 bool includeChildren =
true,
bool displayNodes =
false,
bool onlyShadowCasters =
false);
230 virtual ObjectIterator getAttachedObjectIterator(
void);
241 virtual ConstObjectIterator getAttachedObjectIterator(
void)
const;
260 virtual void removeAndDestroyChild(
const String& name);
272 virtual void removeAndDestroyChild(
unsigned short index);
280 virtual void removeAndDestroyAllChildren(
void);
286 virtual void showBoundingBox(
bool bShow);
293 virtual void hideBoundingBox(
bool bHide);
297 virtual void _addBoundingBoxToQueue(
RenderQueue* queue);
306 virtual bool getShowBoundingBox()
const;
345 virtual void findLights(
LightList& destList,
Real radius,
uint32 lightMask = 0xFFFFFFFF)
const;
365 virtual void yaw(
const Radian& angle, TransformSpace relativeTo = TS_LOCAL);
377 TransformSpace relativeTo = TS_LOCAL,
390 virtual void setDirection(
const Vector3& vec, TransformSpace relativeTo = TS_LOCAL,
398 virtual void lookAt(
const Vector3& targetPoint, TransformSpace relativeTo,
418 virtual void setAutoTracking(
bool enabled,
SceneNode*
const target = 0,
428 void _autoTrack(
void);
430 SceneNode* getParentSceneNode(
void)
const;
439 virtual void setVisible(
bool visible,
bool cascade =
true);
447 virtual void flipVisibility(
bool cascade =
true);
458 virtual void setDebugDisplayEnabled(
bool enabled,
bool cascade =
true);
461 virtual DebugRenderable* getDebugRenderable();