IDummyTransformationSceneNode.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright (C) 2002-2012 Nikolaus Gebhardt
  2. // This file is part of the "Irrlicht Engine".
  3. // For conditions of distribution and use, see copyright notice in irrlicht.h
  4. #pragma once
  5. #include "ISceneNode.h"
  6. namespace irr
  7. {
  8. namespace scene
  9. {
  10. //! Dummy scene node for adding additional transformations to the scene graph.
  11. /** This scene node does not render itself, and does not respond to set/getPosition,
  12. set/getRotation and set/getScale. Its just a simple scene node that takes a
  13. matrix as relative transformation, making it possible to insert any transformation
  14. anywhere into the scene graph.
  15. This scene node is for example used by the IAnimatedMeshSceneNode for emulating
  16. joint scene nodes when playing skeletal animations.
  17. */
  18. class IDummyTransformationSceneNode : public ISceneNode
  19. {
  20. public:
  21. //! Constructor
  22. IDummyTransformationSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id) :
  23. ISceneNode(parent, mgr, id) {}
  24. //! Returns a reference to the current relative transformation matrix.
  25. /** This is the matrix, this scene node uses instead of scale, translation
  26. and rotation. */
  27. virtual core::matrix4 &getRelativeTransformationMatrix() = 0;
  28. };
  29. } // end namespace scene
  30. } // end namespace irr