00001 00046 #ifndef INC_MIE_VECTOR_H 00047 #define INC_MIE_VECTOR_H 00048 00049 #ifndef INC_MIE_GEOMETRIC_H 00050 #include <mie/geometric.h> 00051 #endif 00052 00053 #ifndef INC_RVC_VECTOR_H 00054 #include <rvc/vector.h> 00055 #endif 00056 00057 #ifndef GENERATING_DOXYGEN_OUTPUT 00058 class SUBREGION2D; 00059 #endif // GENERATING_DOXYGEN_OUTPUT 00060 00061 namespace MIE { 00062 00063 // ************************************************************************ 00064 00065 // The base class for an individual import/export job 00066 class JOB_VECTOR : public JOB_GEOMETRIC { 00067 public: 00068 JOB_VECTOR ( 00069 const FORMAT& format, 00070 const SETTINGS& settings 00071 ); 00072 00073 virtual ~JOB_VECTOR (); 00074 00078 INT32 AddLabel ( 00079 RVC::VECTOR::LABEL& Label, 00080 RVC::STYLE *StyleObj = 0 00081 ); 00082 00086 INT32 AddLabel ( 00087 RVC::VECTOR::LABEL& Label, 00088 const TEXTSTYLE &TextStyle 00089 ); 00090 00094 INT32 AddLine ( 00095 const POLYLINE& PolyLine 00096 ); 00097 00100 INT32 AddNode ( 00101 const DPOINT3D& node, 00102 const SIMPLE_ARRAY<INT32>* NodeLineList = 0 00103 ); 00104 00107 INT32 AddPoint ( 00108 const DPOINT3D& point 00109 ); 00110 00114 INT32 AddPolygon ( 00115 const POLYLINE& PolyLine 00116 ); 00117 00121 INT32 AddSubRegion ( 00122 const SUBREGION2D& SubRegion 00123 ); 00124 00126 void GetMakeParms ( 00127 RVC::VECTOR::MAKEPARMS& MakeParms 00128 ) const; 00129 00131 RVC::VECTOR& GetVectorObj ( 00132 ) { return m_Obj; } 00133 00136 ERRVALUE MakeVector ( 00137 ); 00138 00141 ERRVALUE MakeVector ( 00142 const RVC::VECTOR::MAKEPARMS& MakeParms 00143 ); 00144 00147 ERRVALUE OpenVector ( 00148 RVC::OBJECT::OPENMODE OpenMode = RVC::OBJECT::OPENMODE_Read 00149 ); 00150 00151 protected: 00152 00156 virtual ERRVALUE v_ImportBegin ( 00157 const RVC::OBJITEM& DestObj 00158 ); 00159 00164 virtual ERRVALUE v_ImportEnd ( 00165 RVC::OBJITEM& DestObj 00166 ); 00167 00168 virtual bool v_ImportNeedTempFile() const; 00169 00170 private: 00171 #ifndef GENERATING_DOXYGEN_OUTPUT 00172 RVC::VECTOR m_Obj; 00173 #endif // GENERATING_DOXYGEN_OUTPUT 00174 }; 00175 00176 00177 class JOB_EXPORT_VECTOR : public JOB_EXPORT_GEOMETRIC { 00178 public: 00179 JOB_EXPORT_VECTOR ( 00180 const FORMAT& format, 00181 const SETTINGS& settings 00182 ); 00183 00184 ~JOB_EXPORT_VECTOR ( 00185 ); 00186 00188 const RVC::VECTOR& GetVectorObj ( 00189 ) const { return (m_Obj); } 00190 00191 protected: 00193 virtual ERRVALUE v_ExportBeginObject ( 00194 const MISTRING& Dest 00195 ); 00196 00198 virtual ERRVALUE v_ExportEndObject ( 00199 const MISTRING& Dest 00200 ); 00201 00208 virtual bool v_ExportNeedTempFile ( 00209 ) const; 00210 00211 private: 00212 #ifndef GENERATING_DOXYGEN_OUTPUT 00213 RVC::VECTOR m_Obj; 00214 mutable bool m_NeedSplitLines; 00215 #endif // GENERATING_DOXYGEN_OUTPUT 00216 00219 virtual INT32 v_MaxVerticesAllowed ( 00220 ) const; 00221 00222 }; 00223 00224 } // end of MIE NAMESPACE 00225 00226 #endif
1.6.1