24#include <OgreSceneManager.h>
25#include <OgreSceneNode.h>
49 catch (Ogre::Exception &e)
51 ReportError(
"Error creating scene node:\n" + e.getDescription());
71 node->detachAllObjects();
86 if (
node && scenenode)
90 node->removeChild(rawnode);
99 node->showBoundingBox(value);
115 ReportError(
"Cannot move outside of engine boundaries");
120 if (relative ==
false)
132 node->setPosition(pos);
143 return Vector3::ZERO;
145 if (relative ==
false)
212 if (relative ==
false)
220 return node->getOrientation();
223 return Quaternion::ZERO;
233 if (relative ==
false)
238 node->_setDerivedOrientation(q);
241 node->setOrientation(q);
261 ReportError(
"Cannot move outside of engine boundaries");
279 node->attachObject(
object);
281 catch (Ogre::Exception &e)
283 ReportError(
"Error attaching object:\n" + e.getDescription());
296 node->detachObject(
object);
298 catch (Ogre::Exception &e)
301 ReportError(
"Error detaching object:\n" + e.getDescription());
311 return node->getScale().x;
334 scenenode->
Move(offset);
346 return node->getName();
385 return node->_getDerivedOrientation();
std::string GetNameBase()
virtual bool ReportError(const std::string &message)
void SetName(const std::string &name)
SceneNode * GetSceneNode()
Ogre::SceneManager * mSceneManager
Trigger * GetAreaTrigger()
Vector3 ToGlobal(const Vector3 &position)
Real ToLocal(Real remote_value)
Vector3 FromGlobal(const Vector3 &position)
Real ToRemote(Real local_value)
void DetachObject(Ogre::MovableObject *object)
void ShowBoundingBox(bool value)
void RemoveChild(SceneNode *scenenode)
Ogre::SceneNode * GetRawSceneNode()
void SetOrientation(const Quaternion &q, bool relative=false)
SceneNode * CreateChild(std::string name, const Vector3 &offset=Vector3::ZERO)
Quaternion GetDerivedOrientation()
void SetPosition(const Vector3 &position, bool relative=false, bool force=false)
void AttachObject(Ogre::MovableObject *object)
void Move(const Vector3 &vector, Real speed=1.0, bool force=false)
void SetScale(Real scale)
void SetRotation(const Vector3 &rotation)
void SetDirection(const Vector3 &direction)
Vector3 GetPosition(bool relative=false)
Quaternion GetOrientation(bool relative=false)
SceneNode(Object *parent, std::string name)
void AddChild(SceneNode *scenenode)
Vector3 GetDerivedPosition()
void LookAt(const Vector3 &point)
std::string GetFullName()
bool IsOutside(const Vector3 &position)
Ogre::Quaternion Quaternion