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

IMesh.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_MESH_H_INCLUDED__
00006 #define __I_MESH_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "SMaterial.h"
00010 #include "EHardwareBufferFlags.h"
00011 
00012 namespace irr
00013 {
00014 namespace scene
00015 {
00016         class IMeshBuffer;
00017 
00019 
00023         class IMesh : public virtual IReferenceCounted
00024         {
00025         public:
00026 
00028 
00029                 virtual u32 getMeshBufferCount() const = 0;
00030 
00032 
00036                 virtual IMeshBuffer* getMeshBuffer(u32 nr) const = 0;
00037 
00039 
00042                 virtual IMeshBuffer* getMeshBuffer( const video::SMaterial &material) const = 0;
00043 
00045 
00046                 virtual const core::aabbox3d<f32>& getBoundingBox() const = 0;
00047 
00049 
00050                 virtual void setBoundingBox( const core::aabbox3df& box) = 0;
00051 
00053 
00055                 virtual void setMaterialFlag(video::E_MATERIAL_FLAG flag, bool newvalue) = 0;
00056 
00058 
00062                 virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) = 0;
00063 
00065 
00068                 virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) = 0;
00069         };
00070 
00071 } // end namespace scene
00072 } // end namespace irr
00073 
00074 #endif
00075 

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)