diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/irrlicht-1.8/include/IMeshSceneNode.h | 158 |
1 files changed, 79 insertions, 79 deletions
diff --git a/libraries/irrlicht-1.8/include/IMeshSceneNode.h b/libraries/irrlicht-1.8/include/IMeshSceneNode.h index fdffc03..4541069 100644 --- a/libraries/irrlicht-1.8/include/IMeshSceneNode.h +++ b/libraries/irrlicht-1.8/include/IMeshSceneNode.h | |||
@@ -1,79 +1,79 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt |
2 | // This file is part of the "Irrlicht Engine". | 2 | // This file is part of the "Irrlicht Engine". |
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h |
4 | 4 | ||
5 | #ifndef __I_MESH_SCENE_NODE_H_INCLUDED__ | 5 | #ifndef __I_MESH_SCENE_NODE_H_INCLUDED__ |
6 | #define __I_MESH_SCENE_NODE_H_INCLUDED__ | 6 | #define __I_MESH_SCENE_NODE_H_INCLUDED__ |
7 | 7 | ||
8 | #include "ISceneNode.h" | 8 | #include "ISceneNode.h" |
9 | 9 | ||
10 | namespace irr | 10 | namespace irr |
11 | { | 11 | { |
12 | namespace scene | 12 | namespace scene |
13 | { | 13 | { |
14 | 14 | ||
15 | class IShadowVolumeSceneNode; | 15 | class IShadowVolumeSceneNode; |
16 | class IMesh; | 16 | class IMesh; |
17 | 17 | ||
18 | 18 | ||
19 | //! A scene node displaying a static mesh | 19 | //! A scene node displaying a static mesh |
20 | class IMeshSceneNode : public ISceneNode | 20 | class IMeshSceneNode : public ISceneNode |
21 | { | 21 | { |
22 | public: | 22 | public: |
23 | 23 | ||
24 | //! Constructor | 24 | //! Constructor |
25 | /** Use setMesh() to set the mesh to display. | 25 | /** Use setMesh() to set the mesh to display. |
26 | */ | 26 | */ |
27 | IMeshSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id, | 27 | IMeshSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id, |
28 | const core::vector3df& position = core::vector3df(0,0,0), | 28 | const core::vector3df& position = core::vector3df(0,0,0), |
29 | const core::vector3df& rotation = core::vector3df(0,0,0), | 29 | const core::vector3df& rotation = core::vector3df(0,0,0), |
30 | const core::vector3df& scale = core::vector3df(1,1,1)) | 30 | const core::vector3df& scale = core::vector3df(1,1,1)) |
31 | : ISceneNode(parent, mgr, id, position, rotation, scale) {} | 31 | : ISceneNode(parent, mgr, id, position, rotation, scale) {} |
32 | 32 | ||
33 | //! Sets a new mesh to display | 33 | //! Sets a new mesh to display |
34 | /** \param mesh Mesh to display. */ | 34 | /** \param mesh Mesh to display. */ |
35 | virtual void setMesh(IMesh* mesh) = 0; | 35 | virtual void setMesh(IMesh* mesh) = 0; |
36 | 36 | ||
37 | //! Get the currently defined mesh for display. | 37 | //! Get the currently defined mesh for display. |
38 | /** \return Pointer to mesh which is displayed by this node. */ | 38 | /** \return Pointer to mesh which is displayed by this node. */ |
39 | virtual IMesh* getMesh(void) = 0; | 39 | virtual IMesh* getMesh(void) = 0; |
40 | 40 | ||
41 | //! Creates shadow volume scene node as child of this node. | 41 | //! Creates shadow volume scene node as child of this node. |
42 | /** The shadow can be rendered using the ZPass or the zfail | 42 | /** The shadow can be rendered using the ZPass or the zfail |
43 | method. ZPass is a little bit faster because the shadow volume | 43 | method. ZPass is a little bit faster because the shadow volume |
44 | creation is easier, but with this method there occur ugly | 44 | creation is easier, but with this method there occur ugly |
45 | looking artifacs when the camera is inside the shadow volume. | 45 | looking artifacs when the camera is inside the shadow volume. |
46 | These error do not occur with the ZFail method. | 46 | These error do not occur with the ZFail method. |
47 | \param shadowMesh: Optional custom mesh for shadow volume. | 47 | \param shadowMesh: Optional custom mesh for shadow volume. |
48 | \param id: Id of the shadow scene node. This id can be used to | 48 | \param id: Id of the shadow scene node. This id can be used to |
49 | identify the node later. | 49 | identify the node later. |
50 | \param zfailmethod: If set to true, the shadow will use the | 50 | \param zfailmethod: If set to true, the shadow will use the |
51 | zfail method, if not, zpass is used. | 51 | zfail method, if not, zpass is used. |
52 | \param infinity: Value used by the shadow volume algorithm to | 52 | \param infinity: Value used by the shadow volume algorithm to |
53 | scale the shadow volume (for zfail shadow volume we support only | 53 | scale the shadow volume (for zfail shadow volume we support only |
54 | finite shadows, so camera zfar must be larger than shadow back cap, | 54 | finite shadows, so camera zfar must be larger than shadow back cap, |
55 | which is depend on infinity parameter). | 55 | which is depend on infinity parameter). |
56 | \return Pointer to the created shadow scene node. This pointer | 56 | \return Pointer to the created shadow scene node. This pointer |
57 | should not be dropped. See IReferenceCounted::drop() for more | 57 | should not be dropped. See IReferenceCounted::drop() for more |
58 | information. */ | 58 | information. */ |
59 | virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0, | 59 | virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0, |
60 | s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0; | 60 | s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f) = 0; |
61 | 61 | ||
62 | //! Sets if the scene node should not copy the materials of the mesh but use them in a read only style. | 62 | //! Sets if the scene node should not copy the materials of the mesh but use them in a read only style. |
63 | /** In this way it is possible to change the materials of a mesh | 63 | /** In this way it is possible to change the materials of a mesh |
64 | causing all mesh scene nodes referencing this mesh to change, too. | 64 | causing all mesh scene nodes referencing this mesh to change, too. |
65 | \param readonly Flag if the materials shall be read-only. */ | 65 | \param readonly Flag if the materials shall be read-only. */ |
66 | virtual void setReadOnlyMaterials(bool readonly) = 0; | 66 | virtual void setReadOnlyMaterials(bool readonly) = 0; |
67 | 67 | ||
68 | //! Check if the scene node should not copy the materials of the mesh but use them in a read only style | 68 | //! Check if the scene node should not copy the materials of the mesh but use them in a read only style |
69 | /** This flag can be set by setReadOnlyMaterials(). | 69 | /** This flag can be set by setReadOnlyMaterials(). |
70 | \return Whether the materials are read-only. */ | 70 | \return Whether the materials are read-only. */ |
71 | virtual bool isReadOnlyMaterials() const = 0; | 71 | virtual bool isReadOnlyMaterials() const = 0; |
72 | }; | 72 | }; |
73 | 73 | ||
74 | } // end namespace scene | 74 | } // end namespace scene |
75 | } // end namespace irr | 75 | } // end namespace irr |
76 | 76 | ||
77 | 77 | ||
78 | #endif | 78 | #endif |
79 | 79 | ||