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

ITriangleSelector.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2008 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 
00020 
00026 class ITriangleSelector : public virtual IReferenceCounted
00027 {
00028 public:
00029 
00031         virtual ~ITriangleSelector() {}
00032 
00034         virtual s32 getTriangleCount() const = 0;
00035 
00037 
00046         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00047                 s32& outTriangleCount, const core::matrix4* transform=0) const = 0;
00048 
00050 
00063         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00064                 s32& outTriangleCount, const core::aabbox3d<f32>& box,
00065                 const core::matrix4* transform=0) const = 0;
00066 
00068 
00081         virtual void getTriangles(core::triangle3df* triangles, s32 arraySize,
00082                 s32& outTriangleCount, const core::line3d<f32>& line,
00083                 const core::matrix4* transform=0) const = 0;
00084 };
00085 
00086 } // end namespace scene
00087 } // end namespace irr
00088 
00089 
00090 #endif
00091 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated on Sun Jun 1 07:59:08 2008 by Doxygen (1.4.2)