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 #ifndef _DXF2VRML_LAYERDATA_H_
00029 #define _DXF2VRML_LAYERDATA_H_
00030
00031 #include <dime/util/Linear.h>
00032 #include <dime/util/Array.h>
00033 #include <dime/util/BSPTree.h>
00034 #include <stdio.h>
00035
00036 class DIME_DLL_API dxfLayerData {
00037 public:
00038 dxfLayerData(const int colidx);
00039 ~dxfLayerData();
00040
00041 void setFillmode(const bool fillmode);
00042
00043 void addLine(const dimeVec3f &v0, const dimeVec3f &v1,
00044 const dimeMatrix * const matrix = NULL);
00045
00046 void addPoint(const dimeVec3f &v,
00047 const dimeMatrix * const matrix = NULL);
00048
00049 void addTriangle(const dimeVec3f &v0,
00050 const dimeVec3f &v1,
00051 const dimeVec3f &v2,
00052 const dimeMatrix * const matrix = NULL);
00053 void addQuad(const dimeVec3f &v0,
00054 const dimeVec3f &v1,
00055 const dimeVec3f &v2,
00056 const dimeVec3f &v3,
00057 const dimeMatrix * const matrix = NULL);
00058
00059 void writeWrl(FILE *fp, int indent, const bool vrml1,
00060 const bool only2d);
00061
00062
00063 public:
00064
00065 friend class dime2So;
00066 friend class dime2Profit;
00067
00068 bool fillmode;
00069 int colidx;
00070 dimeBSPTree facebsp;
00071 dimeArray <int> faceindices;
00072 dimeBSPTree linebsp;
00073 dimeArray <int> lineindices;
00074 dimeArray <dimeVec3f> points;
00075 };
00076
00077 #endif // _DXF2VRML_LAYERDATA_H_