00001 00034 #ifndef INC_MIE_CAD_H 00035 #define INC_MIE_CAD_H 00036 00037 #ifndef INC_MIE_GEOMETRIC_H 00038 #include <mie/geometric.h> 00039 #endif 00040 #ifndef INC_RVC_CAD_H 00041 #include <rvc/cad.h> 00042 #endif 00043 00044 00045 namespace MIE { 00046 00047 // ************************************************************************ 00048 00049 // The base class for an individual import/export job 00050 class JOB_CAD : public JOB_GEOMETRIC { 00051 public: 00052 JOB_CAD ( 00053 const FORMAT& format, 00054 const SETTINGS& settings 00055 ); 00056 00057 virtual ~JOB_CAD (); 00058 00060 RVC::CAD& GetCADObj ( 00061 ) { return (m_Obj); } 00062 00065 ERRVALUE MakeCAD ( 00066 const RVC::CAD::MAKEPARMS& MakeParms 00067 ); 00068 00071 ERRVALUE OpenCAD ( 00072 RVC::OBJECT::OPENMODE OpenMode = RVC::OBJECT::OPENMODE_Read 00073 ); 00074 00075 // Was _mieCADSaveBlock 00078 ERRVALUE SaveBlock ( 00079 CADBLOCK& Block, 00080 INT32 BlockNum 00081 ); 00082 00083 // Was _mieCADSaveElement 00086 INT32 SaveElement ( 00087 INT32 BlockNum, 00088 CADBLOCK* Block, 00089 RVC::CAD::ELEMENT& Element 00090 ); 00091 00092 // Was _mieCADValidateElement 00095 bool ValidateElement ( 00096 INT32 BlockNum, 00097 CADBLOCK* Block, 00098 const RVC::CAD::ELEMENT& Element 00099 ); 00100 00101 protected: 00102 virtual ERRVALUE v_ImportEnd ( 00103 RVC::OBJITEM& destobj 00104 ); 00105 00106 virtual bool v_ImportNeedTempFile() const; 00107 00108 private: 00109 DRECT3D m_TestRect; 00110 bool m_bNewBlock; 00111 RVC::CAD m_Obj; 00112 00113 void v_GeoreferenceChanged (); 00114 }; 00115 00116 class JOB_EXPORT_CAD : public JOB_EXPORT_GEOMETRIC { 00117 public: 00118 JOB_EXPORT_CAD ( 00119 const FORMAT& format, 00120 const SETTINGS& settings 00121 ); 00122 00123 ~JOB_EXPORT_CAD ( 00124 ); 00125 00127 const RVC::CAD& GetCADObj ( 00128 ) const { return (m_Obj); } 00129 protected: 00131 virtual ERRVALUE v_ExportBeginObject ( 00132 const MISTRING& Dest 00133 ); 00134 00136 virtual ERRVALUE v_ExportEndObject ( 00137 const MISTRING& Dest 00138 ); 00139 00146 virtual bool v_ExportNeedTempFile ( 00147 ) const; 00148 00149 private: 00150 #ifndef GENERATING_DOXYGEN_OUTPUT 00151 RVC::CAD m_Obj; 00152 #endif // GENERATING_DOXYGEN_OUTPUT 00153 }; 00154 00155 } // end of MIE NAMESPACE 00156 00157 #endif
1.6.1