00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef INC_SML_SHAPEOBJECT_H
00019 #define INC_SML_SHAPEOBJECT_H
00020
00021 #ifndef INC_SML_OBJECT_H
00022 #include <sml/object.h>
00023 #endif
00024
00025 #ifdef RVCSYSDLL
00026 #define RVCSYSLIBEXPORT MI_DLLEXPORT
00027 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSEXPORT
00028 #else
00029 #define RVCSYSLIBEXPORT MI_DLLIMPORT
00030 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT
00031 #endif
00032
00033
00034 #ifndef GENERATING_DOXYGEN_OUTPUT
00035 namespace RVC {
00036 class SHAPE;
00037 class SHAPEHANDLE;
00038 }
00039 #endif
00040
00041 namespace SML {
00042
00043 class RVCSYSLIBCLASSEXPORT SHAPEOBJECT : public OBJECT {
00044 public:
00045
00052 RVC::SHAPE* GetInterface (
00053 ) const;
00054
00061 void SetInterface (
00062 RVC::SHAPE* obj
00063 );
00064
00065 private:
00066 #ifndef GENERATING_DOXYGEN_OUTPUT
00067
00068 SHAPEOBJECT (
00069 CONTEXT* context
00070 );
00071
00072
00073 virtual ~SHAPEOBJECT (
00074 );
00075
00076 virtual int v_OpenLow (
00077 int mode
00078 );
00079
00080 virtual void v_CloseLow (
00081 );
00082
00083 virtual RVC::OBJTYPE v_GetObjType (
00084 ) const;
00085
00086 friend class CONTEXT;
00087 friend class OBJECT;
00088
00089 RVC::SHAPEHANDLE* m_handle;
00090 #endif // GENERATING_DOXYGEN_OUTPUT
00091 };
00092
00093 }
00094
00095
00096 typedef SML::SHAPEOBJECT SMLSHAPEOBJECT;
00097
00098 #undef RVCSYSLIBEXPORT
00099 #undef RVCSYSLIBCLASSEXPORT
00100
00101 #endif // INC_SML_SHAPEOBJECT_H
00102
00103