00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #ifndef __FK_SOLID_HEADER__
00073 #define __FK_SOLID_HEADER__
00074
00075 #include <FK/SolidBase.h>
00076 #include <FK/FileBase.h>
00077
00078 class fk_DataBase;
00079
00081
00137 class fk_Solid : public fk_SolidBase {
00138 private:
00139
00140 fk_DataBase *SolidDB;
00141 fk_Palette localPal;
00142
00143 public:
00144
00146 fk_Solid(void);
00147
00149 ~fk_Solid();
00150
00152
00160 void allClear(bool matFlg = true);
00161
00163
00168 bool isEmpty(void);
00169
00171
00177 void cloneShape(fk_Solid *solid);
00178
00180
00189 bool compareShape(fk_Solid *solid);
00190
00192
00194
00201 bool readSMFFile(std::string fileName);
00202
00204
00211 bool readSRFFile(std::string fileName);
00212
00214
00241 bool readVRMLFile(std::string fileName,
00242 bool materialFlg = true,
00243 bool solidFlg = true);
00244
00246
00262 bool readSTLFile(std::string fileName,
00263 bool solidFlg = true,
00264 double tolerance = 1.0e-08);
00265
00267
00274 bool readHRCFile(std::string fileName);
00275
00277
00289 bool readRDSFile(std::string fileName,
00290 bool solidFlg = true);
00291
00293
00305 bool readDXFFile(std::string fileName,
00306 bool solidFlg = true);
00307
00309
00342 bool readMQOFile(std::string fileName,
00343 std::string objName,
00344 bool solidFlg = true,
00345 bool contFlg = true,
00346 bool materialFlg = false);
00347
00348
00350
00388 bool readMQOFile(std::string fileName,
00389 std::string objName,
00390 int materialID,
00391 bool solidFlg = true,
00392 bool contFlg = true,
00393 bool materialFlg = false);
00394
00396
00422 bool readD3DXFile(std::string fileName,
00423 std::string objName,
00424 bool solidFlg = true);
00425
00427
00458 bool readD3DXFile(std::string fileName,
00459 std::string objName,
00460 int materialID,
00461 bool solidFlg = true);
00462
00464
00474 bool readData(std::string fileName,
00475 bool sizeMode = true);
00476
00478
00489 bool readData(FILE *fp,
00490 fk_DataFormatMode mode = FK_BINARY_FILE,
00491 bool sizeMode = true);
00492
00493
00494
00496
00498
00510 bool writeVRMLFile(std::string fileName,
00511 fk_Material *material = NULL,
00512 bool triFlg = false);
00513
00515
00534 bool writeVRMLFile(std::string fileName,
00535 std::vector<double> *time,
00536 std::vector<fk_Vector> *pos,
00537 fk_Material *material = NULL,
00538 bool triFlg = false);
00539
00541
00548 bool writeSTLFile(std::string fileName);
00549
00551
00561 bool writeDXFFile(std::string fileName,
00562 bool triFlg = false);
00563
00565
00572 bool writeMQOFile(std::string fileName);
00573
00575
00583 bool writeData(std::string fileName,
00584 fk_DataFormatMode mode = FK_BINARY_FILE);
00585
00587
00595 bool writeData(FILE *fp,
00596 fk_DataFormatMode mode = FK_BINARY_FILE);
00597
00598
00599 #ifndef FK_DOXYGEN_USER_PROCESS
00600 bool AllCheck(void);
00601 void PrintMat(std::string = "");
00602 #endif
00603
00604 };
00605
00606 #endif // !__FK_SOLID_HEADER__