aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-01-13 18:54:10 +1000
committerDavid Walter Seikel2013-01-13 18:54:10 +1000
commit959831f4ef5a3e797f576c3de08cd65032c997ad (patch)
treee7351908be5995f0b325b2ebeaa02d5a34b82583 /libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h
parentAdd info about changes to Irrlicht. (diff)
downloadSledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.zip
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.gz
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.bz2
SledjHamr-959831f4ef5a3e797f576c3de08cd65032c997ad.tar.xz
Remove damned ancient DOS line endings from Irrlicht. Hopefully I did not go overboard.
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h')
-rw-r--r--libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h160
1 files changed, 80 insertions, 80 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h b/libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h
index 2445467..2419eed 100644
--- a/libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h
+++ b/libraries/irrlicht-1.8/source/Irrlicht/COctreeTriangleSelector.h
@@ -1,80 +1,80 @@
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_OCTREE_TRIANGLE_SELECTOR_H_INCLUDED__ 5#ifndef __C_OCTREE_TRIANGLE_SELECTOR_H_INCLUDED__
6#define __C_OCTREE_TRIANGLE_SELECTOR_H_INCLUDED__ 6#define __C_OCTREE_TRIANGLE_SELECTOR_H_INCLUDED__
7 7
8#include "CTriangleSelector.h" 8#include "CTriangleSelector.h"
9 9
10namespace irr 10namespace irr
11{ 11{
12namespace scene 12namespace scene
13{ 13{
14 14
15class ISceneNode; 15class ISceneNode;
16 16
17//! Stupid triangle selector without optimization 17//! Stupid triangle selector without optimization
18class COctreeTriangleSelector : public CTriangleSelector 18class COctreeTriangleSelector : public CTriangleSelector
19{ 19{
20public: 20public:
21 21
22 //! Constructs a selector based on a mesh 22 //! Constructs a selector based on a mesh
23 COctreeTriangleSelector(const IMesh* mesh, ISceneNode* node, s32 minimalPolysPerNode); 23 COctreeTriangleSelector(const IMesh* mesh, ISceneNode* node, s32 minimalPolysPerNode);
24 24
25 virtual ~COctreeTriangleSelector(); 25 virtual ~COctreeTriangleSelector();
26 26
27 //! Gets all triangles which lie within a specific bounding box. 27 //! Gets all triangles which lie within a specific bounding box.
28 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize, s32& outTriangleCount, 28 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize, s32& outTriangleCount,
29 const core::aabbox3d<f32>& box, const core::matrix4* transform=0) const; 29 const core::aabbox3d<f32>& box, const core::matrix4* transform=0) const;
30 30
31 //! Gets all triangles which have or may have contact with a 3d line. 31 //! Gets all triangles which have or may have contact with a 3d line.
32 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize, 32 virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
33 s32& outTriangleCount, const core::line3d<f32>& line, 33 s32& outTriangleCount, const core::line3d<f32>& line,
34 const core::matrix4* transform=0) const; 34 const core::matrix4* transform=0) const;
35 35
36private: 36private:
37 37
38 struct SOctreeNode 38 struct SOctreeNode
39 { 39 {
40 SOctreeNode() 40 SOctreeNode()
41 { 41 {
42 for (u32 i=0; i!=8; ++i) 42 for (u32 i=0; i!=8; ++i)
43 Child[i] = 0; 43 Child[i] = 0;
44 } 44 }
45 45
46 ~SOctreeNode() 46 ~SOctreeNode()
47 { 47 {
48 for (u32 i=0; i!=8; ++i) 48 for (u32 i=0; i!=8; ++i)
49 delete Child[i]; 49 delete Child[i];
50 } 50 }
51 51
52 core::array<core::triangle3df> Triangles; 52 core::array<core::triangle3df> Triangles;
53 SOctreeNode* Child[8]; 53 SOctreeNode* Child[8];
54 core::aabbox3d<f32> Box; 54 core::aabbox3d<f32> Box;
55 }; 55 };
56 56
57 57
58 void constructOctree(SOctreeNode* node); 58 void constructOctree(SOctreeNode* node);
59 void deleteEmptyNodes(SOctreeNode* node); 59 void deleteEmptyNodes(SOctreeNode* node);
60 void getTrianglesFromOctree(SOctreeNode* node, s32& trianglesWritten, 60 void getTrianglesFromOctree(SOctreeNode* node, s32& trianglesWritten,
61 s32 maximumSize, const core::aabbox3d<f32>& box, 61 s32 maximumSize, const core::aabbox3d<f32>& box,
62 const core::matrix4* transform, 62 const core::matrix4* transform,
63 core::triangle3df* triangles) const; 63 core::triangle3df* triangles) const;
64 64
65 void getTrianglesFromOctree(SOctreeNode* node, s32& trianglesWritten, 65 void getTrianglesFromOctree(SOctreeNode* node, s32& trianglesWritten,
66 s32 maximumSize, const core::line3d<f32>& line, 66 s32 maximumSize, const core::line3d<f32>& line,
67 const core::matrix4* transform, 67 const core::matrix4* transform,
68 core::triangle3df* triangles) const; 68 core::triangle3df* triangles) const;
69 69
70 SOctreeNode* Root; 70 SOctreeNode* Root;
71 s32 NodeCount; 71 s32 NodeCount;
72 s32 MinimalPolysPerNode; 72 s32 MinimalPolysPerNode;
73}; 73};
74 74
75} // end namespace scene 75} // end namespace scene
76} // end namespace irr 76} // end namespace irr
77 77
78 78
79#endif 79#endif
80 80