MarSTDv2004: CCsg3D.h Source File

MarSTDv2004

CCsg3D.h

Go to the documentation of this file.
00001 #ifndef __CCsg3D_h__
00002 #define __CCsg3D_h__
00003 
00005 // MarSTD version 2004 - (c)2004 - Marcel Smit                      //
00006 //                                                                  //
00007 // [email protected]                                      //
00008 // [email protected]                                          //
00009 //                                                                  //
00010 // This code may not be used in a commercial product without my     //
00011 // permission. If you redistribute it, this message must remain     //
00012 // intact. If you use this code, some acknowledgement would be      //
00013 // appreciated. ;-)                                                 //
00015 
00017 
00018 
00019 
00020 #include "CBsp.h"
00021 #include "CPlane.h"
00022 #include "CPoly.h"
00023 
00024 //---------------------------------------------------------------------------
00025 
00027 
00035 class CCsg3D
00036 {
00037 
00038         private:
00039         
00040         CCsg3D();
00041         
00042         public:
00043         
00044         ~CCsg3D();
00045         
00046         public:
00047         
00051         static CCsg3D& I()
00052         {
00053                 static CCsg3D csg3D;
00054                 return csg3D;
00055         }
00056         
00057         public:
00058 
00059         void addition(CMesh* mesh1, CMesh* mesh2, CMesh* out);
00060         void subtraction(CMesh* mesh1, CMesh* mesh2, CMesh* out);
00061         void intersection(CMesh* mesh1, CMesh* mesh2, CMesh* out);
00062         void exclusiveOr(CMesh* mesh1, CMesh* mesh2, CMesh* out);
00063 
00064         private:
00065 
00066         void clip(CMesh* mesh, CMesh* clipMesh, CMesh* out, CMesh* in, int polyClipPriority);
00067         void clip(CMesh* mesh, CBsp* bsp, CMesh* out, CMesh* in, int polyClipPriority);
00068 
00069 };
00070 
00071 #endif

Generated on Tue Feb 8 21:59:02 2005 for MarSTDv2004 by  doxygen 1.4.1