00001 #ifndef __JBXL_BREPLIB_H_ 00002 #define __JBXL_BREPLIB_H_ 00003 00004 00017 #include "TriBrep.h" 00018 #include "MeshObjectData.h" 00019 00020 00021 #define BREPLIB_VERSION "v2.1.0 '20 11/29" 00022 #define BREPLIB_NAME "BREPLib" 00023 #define BREPLIB_COPYRIGHT "by Fumi.Iseki 2003" 00024 00025 00026 00027 namespace jbxl { 00028 00029 00030 class BrepSolidList 00031 { 00032 public: 00033 BrepSolidList(void) { init();} 00034 virtual ~BrepSolidList(void); 00035 00036 public: 00037 BREP_SOLID_LIST solid_list; 00038 00039 public: 00040 void init (void); 00041 void clear(void); 00042 void free (void); 00043 00044 public: 00045 int addObject(MeshObjectData* mesh) { return addSolid(mesh);} // 有効なファセットの数を返す 00046 int addSolid (MeshObjectData* mesh); // 有効なファセットの数を返す 00047 void outputFile(const char* fn, const char* path=NULL, bool binfile=true); 00048 00049 BREP_SOLID* getMerge(CVCounter* counter=NULL); 00050 }; 00051 00052 00053 inline void freeBrepSolidList(BrepSolidList*& solids) { if(solids!=NULL){ solids->free(); delete solids; solids=NULL;} } 00054 00055 00056 00057 } // namespace 00058 00059 00060 00061 #endif