diff options
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h b/libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h index 7dcc4c8..842188c 100644 --- a/libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h +++ b/libraries/irrlicht-1.8/source/Irrlicht/CSphereSceneNode.h | |||
@@ -1,96 +1,96 @@ | |||
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 __C_SHPERE_SCENE_NODE_H_INCLUDED__ | 5 | #ifndef __C_SHPERE_SCENE_NODE_H_INCLUDED__ |
6 | #define __C_SHPERE_SCENE_NODE_H_INCLUDED__ | 6 | #define __C_SHPERE_SCENE_NODE_H_INCLUDED__ |
7 | 7 | ||
8 | #include "IMeshSceneNode.h" | 8 | #include "IMeshSceneNode.h" |
9 | #include "IMesh.h" | 9 | #include "IMesh.h" |
10 | 10 | ||
11 | namespace irr | 11 | namespace irr |
12 | { | 12 | { |
13 | namespace scene | 13 | namespace scene |
14 | { | 14 | { |
15 | class CSphereSceneNode : public IMeshSceneNode | 15 | class CSphereSceneNode : public IMeshSceneNode |
16 | { | 16 | { |
17 | public: | 17 | public: |
18 | 18 | ||
19 | //! constructor | 19 | //! constructor |
20 | CSphereSceneNode(f32 size, u32 polyCountX, u32 polyCountY, ISceneNode* parent, ISceneManager* mgr, s32 id, | 20 | CSphereSceneNode(f32 size, u32 polyCountX, u32 polyCountY, ISceneNode* parent, ISceneManager* mgr, s32 id, |
21 | const core::vector3df& position = core::vector3df(0,0,0), | 21 | const core::vector3df& position = core::vector3df(0,0,0), |
22 | const core::vector3df& rotation = core::vector3df(0,0,0), | 22 | const core::vector3df& rotation = core::vector3df(0,0,0), |
23 | const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)); | 23 | const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)); |
24 | 24 | ||
25 | //! destructor | 25 | //! destructor |
26 | virtual ~CSphereSceneNode(); | 26 | virtual ~CSphereSceneNode(); |
27 | 27 | ||
28 | virtual void OnRegisterSceneNode(); | 28 | virtual void OnRegisterSceneNode(); |
29 | 29 | ||
30 | //! renders the node. | 30 | //! renders the node. |
31 | virtual void render(); | 31 | virtual void render(); |
32 | 32 | ||
33 | //! returns the axis aligned bounding box of this node | 33 | //! returns the axis aligned bounding box of this node |
34 | virtual const core::aabbox3d<f32>& getBoundingBox() const; | 34 | virtual const core::aabbox3d<f32>& getBoundingBox() const; |
35 | 35 | ||
36 | //! returns the material based on the zero based index i. To get the amount | 36 | //! returns the material based on the zero based index i. To get the amount |
37 | //! of materials used by this scene node, use getMaterialCount(). | 37 | //! of materials used by this scene node, use getMaterialCount(). |
38 | //! This function is needed for inserting the node into the scene hirachy on a | 38 | //! This function is needed for inserting the node into the scene hirachy on a |
39 | //! optimal position for minimizing renderstate changes, but can also be used | 39 | //! optimal position for minimizing renderstate changes, but can also be used |
40 | //! to directly modify the material of a scene node. | 40 | //! to directly modify the material of a scene node. |
41 | virtual video::SMaterial& getMaterial(u32 i); | 41 | virtual video::SMaterial& getMaterial(u32 i); |
42 | 42 | ||
43 | //! returns amount of materials used by this scene node. | 43 | //! returns amount of materials used by this scene node. |
44 | virtual u32 getMaterialCount() const; | 44 | virtual u32 getMaterialCount() const; |
45 | 45 | ||
46 | //! Returns type of the scene node | 46 | //! Returns type of the scene node |
47 | virtual ESCENE_NODE_TYPE getType() const { return ESNT_SPHERE; } | 47 | virtual ESCENE_NODE_TYPE getType() const { return ESNT_SPHERE; } |
48 | 48 | ||
49 | //! Writes attributes of the scene node. | 49 | //! Writes attributes of the scene node. |
50 | virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const; | 50 | virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const; |
51 | 51 | ||
52 | //! Reads attributes of the scene node. | 52 | //! Reads attributes of the scene node. |
53 | virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0); | 53 | virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0); |
54 | 54 | ||
55 | //! Creates a clone of this scene node and its children. | 55 | //! Creates a clone of this scene node and its children. |
56 | virtual ISceneNode* clone(ISceneNode* newParent=0, ISceneManager* newManager=0); | 56 | virtual ISceneNode* clone(ISceneNode* newParent=0, ISceneManager* newManager=0); |
57 | 57 | ||
58 | //! The mesh cannot be changed | 58 | //! The mesh cannot be changed |
59 | virtual void setMesh(IMesh* mesh) {} | 59 | virtual void setMesh(IMesh* mesh) {} |
60 | 60 | ||
61 | //! Returns the current mesh | 61 | //! Returns the current mesh |
62 | virtual IMesh* getMesh() { return Mesh; } | 62 | virtual IMesh* getMesh() { return Mesh; } |
63 | 63 | ||
64 | //! Sets if the scene node should not copy the materials of the mesh but use them in a read only style. | 64 | //! Sets if the scene node should not copy the materials of the mesh but use them in a read only style. |
65 | /* In this way it is possible to change the materials a mesh causing all mesh scene nodes | 65 | /* In this way it is possible to change the materials a mesh causing all mesh scene nodes |
66 | referencing this mesh to change too. */ | 66 | referencing this mesh to change too. */ |
67 | virtual void setReadOnlyMaterials(bool readonly) {} | 67 | virtual void setReadOnlyMaterials(bool readonly) {} |
68 | 68 | ||
69 | //! Returns if the scene node should not copy the materials of the mesh but use them in a read only style | 69 | //! Returns if the scene node should not copy the materials of the mesh but use them in a read only style |
70 | virtual bool isReadOnlyMaterials() const { return false; } | 70 | virtual bool isReadOnlyMaterials() const { return false; } |
71 | 71 | ||
72 | //! Creates shadow volume scene node as child of this node | 72 | //! Creates shadow volume scene node as child of this node |
73 | //! and returns a pointer to it. | 73 | //! and returns a pointer to it. |
74 | virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh, | 74 | virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh, |
75 | s32 id, bool zfailmethod=true, f32 infinity=10000.0f); | 75 | s32 id, bool zfailmethod=true, f32 infinity=10000.0f); |
76 | 76 | ||
77 | //! Removes a child from this scene node. | 77 | //! Removes a child from this scene node. |
78 | //! Implemented here, to be able to remove the shadow properly, if there is one, | 78 | //! Implemented here, to be able to remove the shadow properly, if there is one, |
79 | //! or to remove attached childs. | 79 | //! or to remove attached childs. |
80 | virtual bool removeChild(ISceneNode* child); | 80 | virtual bool removeChild(ISceneNode* child); |
81 | 81 | ||
82 | private: | 82 | private: |
83 | 83 | ||
84 | IMesh* Mesh; | 84 | IMesh* Mesh; |
85 | IShadowVolumeSceneNode* Shadow; | 85 | IShadowVolumeSceneNode* Shadow; |
86 | core::aabbox3d<f32> Box; | 86 | core::aabbox3d<f32> Box; |
87 | f32 Radius; | 87 | f32 Radius; |
88 | u32 PolyCountX; | 88 | u32 PolyCountX; |
89 | u32 PolyCountY; | 89 | u32 PolyCountY; |
90 | }; | 90 | }; |
91 | 91 | ||
92 | } // end namespace scene | 92 | } // end namespace scene |
93 | } // end namespace irr | 93 | } // end namespace irr |
94 | 94 | ||
95 | #endif | 95 | #endif |
96 | 96 | ||