Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _GEOM_AISShape_HeaderFile
00028 #define _GEOM_AISShape_HeaderFile
00029
00030 #include "GEOM_OBJECT_defs.hxx"
00031
00032 #ifndef _Standard_HeaderFile
00033 #include <Standard.hxx>
00034 #endif
00035 #ifndef _Handle_GEOM_AISShape_HeaderFile
00036 #include "Handle_GEOM_AISShape.hxx"
00037 #endif
00038
00039 #ifndef _Handle_SALOME_InteractiveObject_HeaderFile
00040 #include "Handle_SALOME_InteractiveObject.hxx"
00041 #endif
00042 #ifndef _Standard_CString_HeaderFile
00043 #include <Standard_CString.hxx>
00044 #endif
00045 #ifndef _SALOME_AISShape_HeaderFile
00046 #include "SALOME_AISShape.hxx"
00047 #endif
00048 #ifndef _Standard_Boolean_HeaderFile
00049 #include <Standard_Boolean.hxx>
00050 #endif
00051 #ifndef _Handle_PrsMgr_PresentationManager3d_HeaderFile
00052 #include <Handle_PrsMgr_PresentationManager3d.hxx>
00053 #endif
00054 #ifndef _Handle_Prs3d_Presentation_HeaderFile
00055 #include <Handle_Prs3d_Presentation.hxx>
00056 #endif
00057
00058 #include <TCollection_AsciiString.hxx>
00059
00060 class PrsMgr_PresentationManager3d;
00061 class Prs3d_Presentation;
00062 class SALOME_InteractiveObject;
00063 class TopoDS_Shape;
00064
00065 class GEOM_OBJECT_EXPORT GEOM_AISShape : public SALOME_AISShape {
00066
00067 public:
00068
00069 inline void* operator new(size_t,void* anAddress)
00070 {
00071 return anAddress;
00072 }
00073 inline void* operator new(size_t size)
00074 {
00075 return Standard::Allocate(size);
00076 }
00077 inline void operator delete(void *anAddress)
00078 {
00079 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00080 }
00081
00082
00083
00084
00085
00086
00087 GEOM_AISShape(const TopoDS_Shape& shape, const Standard_CString aName);
00088 Standard_Boolean hasIO() ;
00089 void setIO(const Handle(SALOME_InteractiveObject)& name) ;
00090 void setName(const Standard_CString aName) ;
00091 Standard_CString getName() ;
00092 Handle_SALOME_InteractiveObject getIO() ;
00093 void highlightSubShapes(const TColStd_IndexedMapOfInteger& aIndexMap, const Standard_Boolean aHighlight );
00094 ~GEOM_AISShape();
00095
00096 void SetTransparency(const Standard_Real aValue);
00097 void SetShadingColor(const Quantity_Color &aCol);
00098 void SetDisplayVectors(bool isShow);
00099
00100 virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
00101 const Handle(Prs3d_Presentation)& aPresentation,
00102 const Standard_Integer aMode = 0) ;
00103
00104 virtual bool isShowVectors () { return myDisplayVectors; }
00105
00106
00107
00108 friend Handle_Standard_Type& GEOM_AISShape_Type_();
00109 const Handle(Standard_Type)& DynamicType() const;
00110 Standard_Boolean IsKind(const Handle(Standard_Type)&) const;
00111
00112 protected:
00113 Quantity_Color myShadingColor;
00114
00115 private:
00116 TCollection_AsciiString myName;
00117 bool myDisplayVectors;
00118 };
00119
00120
00121
00122
00123
00124
00125 #endif