00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef INC_SML_CADOBJECT_H
00022 #define INC_SML_CADOBJECT_H
00023
00024 #ifndef INC_SML_OBJECT_H
00025 #include <sml/object.h>
00026 #endif
00027
00028 #ifdef RVCSYSDLL
00029 #define RVCSYSLIBEXPORT MI_DLLEXPORT
00030 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSEXPORT
00031 #else
00032 #define RVCSYSLIBEXPORT MI_DLLIMPORT
00033 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT
00034 #endif
00035
00036
00037 #ifndef GENERATING_DOXYGEN_OUTPUT
00038 namespace RVC {
00039 class CAD;
00040 class CADHANDLE;
00041 }
00042 struct CADBLOCK;
00043 #endif
00044
00045 namespace SML {
00046
00047 class RVCSYSLIBCLASSEXPORT CADOBJECT : public OBJECT {
00048 public:
00049 CADBLOCK *GetBlock (
00050 ) const;
00051
00058 RVC::CAD* GetInterface (
00059 ) const;
00060
00061 void SetBlock (
00062 CADBLOCK* block
00063 );
00064
00071 void SetInterface (
00072 RVC::CAD* obj
00073 );
00074
00075 private:
00076 #ifndef GENERATING_DOXYGEN_OUTPUT
00077
00078 CADOBJECT (
00079 CONTEXT* context
00080 );
00081
00082
00083 virtual ~CADOBJECT (
00084 );
00085
00086 virtual int v_OpenLow (
00087 int mode
00088 );
00089
00090 virtual void v_CloseLow (
00091 );
00092
00093 virtual RVC::OBJTYPE v_GetObjType (
00094 ) const;
00095
00096
00097 CADBLOCK *m_CADBlock;
00098 RVC::CADHANDLE* m_handle;
00099
00100 friend class SML::CONTEXT;
00101 friend class SML::OBJECT;
00102 #endif // GENERATING_DOXYGEN_OUTPUT
00103 };
00104
00105
00106 }
00107
00108
00109 typedef SML::CADOBJECT SMLCADOBJECT;
00110
00111 #undef RVCSYSLIBEXPORT
00112 #undef RVCSYSLIBCLASSEXPORT
00113
00114 #endif // INC_SML_CADOBJECT_H
00115
00116