00001
00002
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00028 #ifndef exotkAIS_DisplayManager_HeaderFile
00029 #define exotkAIS_DisplayManager_HeaderFile
00030 #if _MSC_VER > 1000
00031 #pragma once
00032 #endif // _MSC_VER > 1000
00033
00034 #ifndef _MMgt_TShared_HeaderFile
00035 #include <MMgt_TShared.hxx>
00036 #endif
00037
00038 #ifndef _exotkAIS_DoubleMapAsciiStringAISInteractiveObject_HeaderFile
00039 #include <exotkAIS_DoubleMapAsciiStringAISInteractiveObject.hxx>
00040 #endif
00041
00042 #ifndef _Handle_exotkAIS_DisplayManager_HeaderFile
00043 #include <Handle_exotkAIS_DisplayManager.hxx>
00044 #endif
00045
00046 #ifndef _TCollection_AsciiString_HeaderFile
00047 #include <TCollection_AsciiString.hxx>
00048 #endif
00049 #ifndef _Handle_AIS_InteractiveContext_HeaderFile
00050 #include <Handle_AIS_InteractiveContext.hxx>
00051 #endif
00052
00053 class Handle_V3d_Viewer;
00054 class AIS_SequenceOfInteractive;
00055 enum exotkAIS_DisplayMode;
00056 class Graphic3d_MaterialAspect;
00057
00063 class exotkAIS_DisplayManager : public MMgt_TShared
00064 {
00065 public:
00066
00074 inline void* operator new(size_t,void* anAddress)
00075 {
00076 return anAddress;
00077 }
00078
00085 inline void* operator new(size_t size)
00086 {
00087 return Standard::Allocate(size);
00088 }
00089
00096 inline void operator delete(void *anAddress)
00097 {
00098 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00099 }
00100
00105 Standard_EXPORT exotkAIS_DisplayManager();
00106
00112 Standard_EXPORT exotkAIS_DisplayManager(const Handle_V3d_Viewer& aViewer);
00113
00119 Standard_EXPORT exotkAIS_DisplayManager(const Handle_AIS_InteractiveContext& anAISContext);
00120
00125 Standard_EXPORT virtual ~exotkAIS_DisplayManager();
00126
00127
00134 Standard_EXPORT virtual TCollection_AsciiString SetNameSeed(const TCollection_AsciiString& aNewSeed);
00135
00141 Standard_EXPORT virtual TCollection_AsciiString NameSeed();
00142
00149 Standard_EXPORT virtual Handle_AIS_InteractiveContext& InteractiveContext();
00150
00160 Standard_EXPORT virtual TCollection_AsciiString Add(const Handle_AIS_InteractiveObject& anObjectToAdd, const TCollection_AsciiString& aProposedName = TCollection_AsciiString(),const Standard_Integer aDisplayMode = 0 , const Standard_Boolean UpdateViewer = Standard_True);
00161
00169 Standard_EXPORT virtual TCollection_AsciiString Remove(const Handle_AIS_InteractiveObject& anObjectToRemove,const Standard_Boolean UpdateViewer = Standard_True);
00170
00178 Standard_EXPORT virtual TCollection_AsciiString Remove(const TCollection_AsciiString& anObjectNameToRemove,const Standard_Boolean UpdateViewer = Standard_True);
00179
00180
00187 Standard_EXPORT virtual void SetDisplayMode(const Handle_AIS_InteractiveObject& anObject,const enum exotkAIS_DisplayMode aMode);
00188
00195 Standard_EXPORT virtual Standard_Boolean NameExists(const TCollection_AsciiString& aNameToTest);
00196
00203 Standard_EXPORT virtual Standard_Boolean ObjectExists(const Handle_AIS_InteractiveObject& anObjectToTest);
00204
00205
00212 Standard_EXPORT virtual TCollection_AsciiString Name(const Handle_AIS_InteractiveObject& anObjectToFind);
00213
00214
00221 Standard_EXPORT virtual Standard_Boolean CurrentObjects(AIS_SequenceOfInteractive& aSequence);
00228 Standard_EXPORT virtual Handle_AIS_InteractiveObject InteractiveObject(const TCollection_AsciiString& aNameToFind);
00229
00230
00237 Standard_EXPORT virtual void SetMaterial(const Handle_AIS_InteractiveObject& anObject,const Graphic3d_MaterialAspect& aMaterial);
00238
00245 Standard_EXPORT virtual void SetTransparency(const Handle_AIS_InteractiveObject& anObject,const Standard_Real aTransparency);
00246
00253 Standard_EXPORT friend Handle_Standard_Type& exotkAIS_DisplayManager_Type_();
00254
00260 Standard_EXPORT const Handle_Standard_Type& DynamicType() const;
00261
00268 Standard_EXPORT Standard_Boolean IsKind(const Handle_Standard_Type&) const;
00269
00270 private:
00272 Handle_AIS_InteractiveContext myAISContext;
00273
00275 exotkAIS_DoubleMapAsciiStringAISInteractiveObject myMap;
00276
00278 TCollection_AsciiString myNameSeed;
00279
00281 Standard_Integer myNameIndex;
00282
00283 };
00284
00285 #endif