Salome HOME
5c63ece8beee50ab28c4ca6ffe42a3c08ca0f578
[modules/geom.git] / src / OBJECT / GEOM_AISShape.hxx
1 // File generated by CPPExt (Transient)
2 //
3 //                     Copyright (C) 1991,1995 by
4 //  
5 //                      MATRA DATAVISION, FRANCE
6 //  
7 // This software is furnished in accordance with the terms and conditions
8 // of the contract and with the inclusion of the above copyright notice.
9 // This software or any other copy thereof may not be provided or otherwise
10 // be made available to any other person. No title to an ownership of the
11 // software is hereby transferred.
12 //  
13 // At the termination of the contract, the software and all copies of this
14 // software must be deleted.
15 //
16 #ifndef _GEOM_AISShape_HeaderFile
17 #define _GEOM_AISShape_HeaderFile
18
19 #ifndef _Standard_HeaderFile
20 #include <Standard.hxx>
21 #endif
22 #ifndef _Handle_GEOM_AISShape_HeaderFile
23 #include "Handle_GEOM_AISShape.hxx"
24 #endif
25
26 #ifndef _Handle_SALOME_InteractiveObject_HeaderFile
27 #include "Handle_SALOME_InteractiveObject.hxx"
28 #endif
29 #ifndef _Standard_CString_HeaderFile
30 #include <Standard_CString.hxx>
31 #endif
32 #ifndef _SALOME_AISShape_HeaderFile
33 #include "SALOME_AISShape.hxx"
34 #endif
35 #ifndef _Standard_Boolean_HeaderFile
36 #include <Standard_Boolean.hxx>
37 #endif
38 #ifndef _Handle_PrsMgr_PresentationManager3d_HeaderFile
39 #include <Handle_PrsMgr_PresentationManager3d.hxx>
40 #endif
41 #ifndef _Handle_Prs3d_Presentation_HeaderFile
42 #include <Handle_Prs3d_Presentation.hxx>
43 #endif
44
45 class PrsMgr_PresentationManager3d;
46 class Prs3d_Presentation;
47 class SALOME_InteractiveObject;
48 class TopoDS_Shape;
49
50
51 class GEOM_AISShape : public SALOME_AISShape {
52
53 public:
54
55     inline void* operator new(size_t,void* anAddress) 
56       {
57         return anAddress;
58       }
59     inline void* operator new(size_t size) 
60       { 
61         return Standard::Allocate(size); 
62       }
63     inline void  operator delete(void *anAddress) 
64       { 
65         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
66       }
67 //    inline void  operator delete(void *anAddress, size_t size) 
68 //      { 
69 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
70 //      }
71  // Methods PUBLIC
72  // 
73 Standard_EXPORT   GEOM_AISShape(const TopoDS_Shape& shape, const Standard_CString aName);
74 Standard_EXPORT   Standard_Boolean hasIO() ;
75 Standard_EXPORT   void setIO(const Handle(SALOME_InteractiveObject)& name) ;
76 Standard_EXPORT   void setName(const Standard_CString aName) ;
77 Standard_EXPORT   Standard_CString getName() ;
78 Standard_EXPORT   Handle_SALOME_InteractiveObject getIO() ;
79 Standard_EXPORT   ~GEOM_AISShape();
80
81 Standard_EXPORT   void SetTransparency(const Standard_Real aValue);
82 Standard_EXPORT   void SetShadingColor(const Quantity_Color &aCol);
83
84 Standard_EXPORT virtual  void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
85                                       const Handle(Prs3d_Presentation)& aPresentation,
86                                       const Standard_Integer aMode = 0) ;
87
88  // Type management
89  //
90  Standard_EXPORT friend Handle_Standard_Type& GEOM_AISShape_Type_();
91  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
92  Standard_EXPORT Standard_Boolean             IsKind(const Handle(Standard_Type)&) const;
93
94 protected:
95
96  // Methods PROTECTED
97  // 
98
99
100  // Fields PROTECTED
101  //
102
103
104 private: 
105
106  // Methods PRIVATE
107  // 
108
109
110  // Fields PRIVATE
111  //
112   Handle_SALOME_InteractiveObject myIO;
113   Standard_CString myName;
114   Quantity_Color myShadingColor;
115 };
116
117
118
119
120
121 // other inline functions and methods (like "C++: function call" methods)
122 //
123
124
125 #endif