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_