igeom/polymesh.h
Go to the documentation of this file.00001 /* 00002 Crystal Space 3D engine 00003 Copyright (C) 2000 by Jorrit Tyberghein 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 */ 00019 00020 #ifndef __CS_IGEOM_POLYMESH_H__ 00021 #define __CS_IGEOM_POLYMESH_H__ 00022 00023 #include "csutil/scf_interface.h" 00024 00025 class csFlags; 00026 00037 enum 00038 { 00047 CS_POLYMESH_CLOSED = 1, 00048 00057 CS_POLYMESH_NOTCLOSED = 2, 00058 00067 CS_POLYMESH_CONVEX = 4, 00068 00077 CS_POLYMESH_NOTCONVEX = 8, 00078 00082 CS_POLYMESH_DEFORMABLE = 16, 00083 00090 CS_POLYMESH_TRIANGLEMESH = 32 00091 }; 00099 struct csMeshedPolygon 00100 { 00101 int num_vertices; 00102 int* vertices; 00103 }; 00104 00105 class csVector3; 00106 struct csTriangle; 00107 00138 struct iPolygonMesh : public virtual iBase 00139 { 00140 SCF_INTERFACE(iPolygonMesh, 2, 0, 0); 00142 virtual int GetVertexCount () = 0; 00144 virtual csVector3* GetVertices () = 0; 00146 virtual int GetPolygonCount () = 0; 00148 virtual csMeshedPolygon* GetPolygons () = 0; 00150 virtual int GetTriangleCount () = 0; 00152 virtual csTriangle* GetTriangles () = 0; 00157 virtual void Lock () = 0; 00161 virtual void Unlock () = 0; 00162 00178 virtual csFlags& GetFlags () = 0; 00179 00185 virtual uint32 GetChangeNumber () const = 0; 00186 }; 00187 00190 #endif // __CS_IGEOM_POLYMESH_H__ 00191
Generated for Crystal Space by doxygen 1.4.7