aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h')
-rw-r--r--libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h232
1 files changed, 116 insertions, 116 deletions
diff --git a/libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h b/libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h
index 9b08f36..016af9c 100644
--- a/libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h
+++ b/libraries/irrlicht-1.8/include/CDynamicMeshBuffer.h
@@ -1,116 +1,116 @@
1// Copyright (C) 2008-2012 Nikolaus Gebhardt 1// Copyright (C) 2008-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_DYNAMIC_MESHBUFFER_H_INCLUDED__ 5#ifndef __C_DYNAMIC_MESHBUFFER_H_INCLUDED__
6#define __C_DYNAMIC_MESHBUFFER_H_INCLUDED__ 6#define __C_DYNAMIC_MESHBUFFER_H_INCLUDED__
7 7
8#include "IDynamicMeshBuffer.h" 8#include "IDynamicMeshBuffer.h"
9 9
10#include "CVertexBuffer.h" 10#include "CVertexBuffer.h"
11#include "CIndexBuffer.h" 11#include "CIndexBuffer.h"
12 12
13namespace irr 13namespace irr
14{ 14{
15namespace scene 15namespace scene
16{ 16{
17 17
18 class CDynamicMeshBuffer: public IDynamicMeshBuffer 18 class CDynamicMeshBuffer: public IDynamicMeshBuffer
19 { 19 {
20 public: 20 public:
21 //! constructor 21 //! constructor
22 CDynamicMeshBuffer(video::E_VERTEX_TYPE vertexType, video::E_INDEX_TYPE indexType) 22 CDynamicMeshBuffer(video::E_VERTEX_TYPE vertexType, video::E_INDEX_TYPE indexType)
23 { 23 {
24 VertexBuffer=new CVertexBuffer(vertexType); 24 VertexBuffer=new CVertexBuffer(vertexType);
25 IndexBuffer=new CIndexBuffer(indexType); 25 IndexBuffer=new CIndexBuffer(indexType);
26 } 26 }
27 27
28 //! destructor 28 //! destructor
29 virtual ~CDynamicMeshBuffer() 29 virtual ~CDynamicMeshBuffer()
30 { 30 {
31 if (VertexBuffer) 31 if (VertexBuffer)
32 VertexBuffer->drop(); 32 VertexBuffer->drop();
33 if (IndexBuffer) 33 if (IndexBuffer)
34 IndexBuffer->drop(); 34 IndexBuffer->drop();
35 } 35 }
36 36
37 virtual IVertexBuffer& getVertexBuffer() const 37 virtual IVertexBuffer& getVertexBuffer() const
38 { 38 {
39 return *VertexBuffer; 39 return *VertexBuffer;
40 } 40 }
41 41
42 virtual IIndexBuffer& getIndexBuffer() const 42 virtual IIndexBuffer& getIndexBuffer() const
43 { 43 {
44 return *IndexBuffer; 44 return *IndexBuffer;
45 } 45 }
46 46
47 virtual void setVertexBuffer(IVertexBuffer *newVertexBuffer) 47 virtual void setVertexBuffer(IVertexBuffer *newVertexBuffer)
48 { 48 {
49 if (newVertexBuffer) 49 if (newVertexBuffer)
50 newVertexBuffer->grab(); 50 newVertexBuffer->grab();
51 if (VertexBuffer) 51 if (VertexBuffer)
52 VertexBuffer->drop(); 52 VertexBuffer->drop();
53 53
54 VertexBuffer=newVertexBuffer; 54 VertexBuffer=newVertexBuffer;
55 } 55 }
56 56
57 virtual void setIndexBuffer(IIndexBuffer *newIndexBuffer) 57 virtual void setIndexBuffer(IIndexBuffer *newIndexBuffer)
58 { 58 {
59 if (newIndexBuffer) 59 if (newIndexBuffer)
60 newIndexBuffer->grab(); 60 newIndexBuffer->grab();
61 if (IndexBuffer) 61 if (IndexBuffer)
62 IndexBuffer->drop(); 62 IndexBuffer->drop();
63 63
64 IndexBuffer=newIndexBuffer; 64 IndexBuffer=newIndexBuffer;
65 } 65 }
66 66
67 //! Get Material of this buffer. 67 //! Get Material of this buffer.
68 virtual const video::SMaterial& getMaterial() const 68 virtual const video::SMaterial& getMaterial() const
69 { 69 {
70 return Material; 70 return Material;
71 } 71 }
72 72
73 //! Get Material of this buffer. 73 //! Get Material of this buffer.
74 virtual video::SMaterial& getMaterial() 74 virtual video::SMaterial& getMaterial()
75 { 75 {
76 return Material; 76 return Material;
77 } 77 }
78 78
79 //! Get bounding box 79 //! Get bounding box
80 virtual const core::aabbox3d<f32>& getBoundingBox() const 80 virtual const core::aabbox3d<f32>& getBoundingBox() const
81 { 81 {
82 return BoundingBox; 82 return BoundingBox;
83 } 83 }
84 84
85 //! Set bounding box 85 //! Set bounding box
86 virtual void setBoundingBox( const core::aabbox3df& box) 86 virtual void setBoundingBox( const core::aabbox3df& box)
87 { 87 {
88 BoundingBox = box; 88 BoundingBox = box;
89 } 89 }
90 90
91 //! Recalculate bounding box 91 //! Recalculate bounding box
92 virtual void recalculateBoundingBox() 92 virtual void recalculateBoundingBox()
93 { 93 {
94 if (!getVertexBuffer().size()) 94 if (!getVertexBuffer().size())
95 BoundingBox.reset(0,0,0); 95 BoundingBox.reset(0,0,0);
96 else 96 else
97 { 97 {
98 BoundingBox.reset(getVertexBuffer()[0].Pos); 98 BoundingBox.reset(getVertexBuffer()[0].Pos);
99 for (u32 i=1; i<getVertexBuffer().size(); ++i) 99 for (u32 i=1; i<getVertexBuffer().size(); ++i)
100 BoundingBox.addInternalPoint(getVertexBuffer()[i].Pos); 100 BoundingBox.addInternalPoint(getVertexBuffer()[i].Pos);
101 } 101 }
102 } 102 }
103 103
104 video::SMaterial Material; 104 video::SMaterial Material;
105 core::aabbox3d<f32> BoundingBox; 105 core::aabbox3d<f32> BoundingBox;
106 private: 106 private:
107 IVertexBuffer *VertexBuffer; 107 IVertexBuffer *VertexBuffer;
108 IIndexBuffer *IndexBuffer; 108 IIndexBuffer *IndexBuffer;
109 }; 109 };
110 110
111 111
112} // end namespace scene 112} // end namespace scene
113} // end namespace irr 113} // end namespace irr
114 114
115#endif 115#endif
116 116