Main Page | Class Hierarchy | Class List | File List | Class Members

layerdata.h

00001 /**************************************************************************\ 00002 * 00003 * This source file is part of DIME. 00004 * Copyright (C) 1998-2001 by Systems In Motion. All rights reserved. 00005 * 00006 * This library is free software; you can redistribute it and/or modify it 00007 * under the terms of the GNU General Public License, version 2, as 00008 * published by the Free Software Foundation. 00009 * 00010 * This library is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * General Public License (the accompanying file named COPYING) for more 00014 * details. 00015 * 00016 ************************************************************************** 00017 * 00018 * If you need DIME for a non-GPL project, contact Systems In Motion 00019 * to acquire a Professional Edition License: 00020 * 00021 * Systems In Motion http://www.sim.no/ 00022 * Prof. Brochs gate 6 sales@sim.no 00023 * N-7030 Trondheim Voice: +47 22114160 00024 * NORWAY Fax: +47 22207097 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 //private: 00063 public: // 20011001 thammer - please don't kill me for this ;-) 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_

Copyright © 1998-1999, Systems In Motion <sales@sim.no>. All rights reserved.
System documentation was generated using doxygen.