IGUIMeshViewer.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifndef IRR_I_GUI_MESH_VIEWER_H_INCLUDED
  5. #define IRR_I_GUI_MESH_VIEWER_H_INCLUDED
  6. #include "IGUIElement.h"
  7. namespace irr
  8. {
  9. namespace video
  10. {
  11. class SMaterial;
  12. } // end namespace video
  13. namespace scene
  14. {
  15. class IAnimatedMesh;
  16. } // end namespace scene
  17. namespace gui
  18. {
  19. //! 3d mesh viewing GUI element.
  20. class IGUIMeshViewer : public IGUIElement
  21. {
  22. public:
  23. //! constructor
  24. IGUIMeshViewer(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
  25. : IGUIElement(EGUIET_MESH_VIEWER, environment, parent, id, rectangle) {}
  26. //! Sets the mesh to be shown
  27. virtual void setMesh(scene::IAnimatedMesh* mesh) = 0;
  28. //! Gets the displayed mesh
  29. virtual scene::IAnimatedMesh* getMesh() const = 0;
  30. //! Sets the material
  31. virtual void setMaterial(const video::SMaterial& material) = 0;
  32. //! Gets the material
  33. virtual const video::SMaterial& getMaterial() const = 0;
  34. };
  35. } // end namespace gui
  36. } // end namespace irr
  37. #endif