Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

ITriangleSelector.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2010 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_TRIANGLE_SELECTOR_H_INCLUDED__
00006 #define __I_TRIANGLE_SELECTOR_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "triangle3d.h"
00010 #include "aabbox3d.h"
00011 #include "matrix4.h"
00012 #include "line3d.h"
00013 
00014 namespace irr
00015 {
00016 namespace scene
00017 {
00018 
00019 class ISceneNode;
00020 
00022 
00028 class ITriangleSelector : public virtual IReferenceCounted
00029 {
00030 public:
00031 
00033         virtual ~ITriangleSelector() {}
00034 
00036         virtual s32 getTriangleCount() const = 0;
00037 
00039 
00053         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00054                 s32& outTriangleCount, const core::matrix4* transform=0) const = 0;
00055 
00057 
00076         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00077                 s32& outTriangleCount, const core::aabbox3d<f32>& box,
00078                 const core::matrix4* transform=0) const = 0;
00079 
00081 
00100         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00101                 s32& outTriangleCount, const core::line3d<f32>& line,
00102                 const core::matrix4* transform=0) const = 0;
00103 
00105 
00113         virtual const ISceneNode* getSceneNodeForTriangle(u32 triangleIndex) const = 0;
00114 
00115 };
00116 
00117 } // end namespace scene
00118 } // end namespace irr
00119 
00120 
00121 #endif
00122 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:41:57 2010 by Doxygen (1.6.2)