Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
ITriangleSelector.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2010 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 
5 #ifndef __I_TRIANGLE_SELECTOR_H_INCLUDED__
6 #define __I_TRIANGLE_SELECTOR_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "triangle3d.h"
10 #include "aabbox3d.h"
11 #include "matrix4.h"
12 #include "line3d.h"
13 
14 namespace irr
15 {
16 namespace scene
17 {
18 
19 class ISceneNode;
20 
22 
28 class ITriangleSelector : public virtual IReferenceCounted
29 {
30 public:
31 
33  virtual ~ITriangleSelector() {}
34 
36  virtual s32 getTriangleCount() const = 0;
37 
39 
53  virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
54  s32& outTriangleCount, const core::matrix4* transform=0) const = 0;
55 
57 
76  virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
77  s32& outTriangleCount, const core::aabbox3d<f32>& box,
78  const core::matrix4* transform=0) const = 0;
79 
81 
100  virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
101  s32& outTriangleCount, const core::line3d<f32>& line,
102  const core::matrix4* transform=0) const = 0;
103 
105 
113  virtual const ISceneNode* getSceneNodeForTriangle(u32 triangleIndex) const = 0;
114 
115 };
116 
117 } // end namespace scene
118 } // end namespace irr
119 
120 
121 #endif
122 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Tue Jun 5 2012 17:57:13 by Doxygen (1.8.1)