Salome HOME
Minor changes.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Shape.h
index 007c3e52d20cecdbae30b027f805739d99686b51..6226f542fbcff620d7907c1012eef022af2d6007 100644 (file)
@@ -24,7 +24,7 @@
 #define HYDROGUI_SHAPE_H
 
 #include <AIS_InteractiveContext.hxx>
-#include <AIS_TexturedShape.hxx>
+#include <AIS_Shape.hxx>
 
 #include <HYDROData_Entity.h>
 
 
 #include <TopoDS_Face.hxx>
 #include <TopoDS_Wire.hxx>
+#include <TopoDS_Compound.hxx>
 
 class HYDROGUI_Shape
 {
 public:
   HYDROGUI_Shape( const Handle(AIS_InteractiveContext)& theContext,
-                  const Handle(HYDROData_Entity)&       theObject );
+                  const Handle(HYDROData_Entity)&       theObject,
+                  const int                             theZLayer = -1 );
   ~HYDROGUI_Shape();
 
 public:
   virtual void               display( const bool theIsUpdateViewer = true );
   virtual void               erase( const bool theIsUpdateViewer = true );
 
-  virtual void               highlight( bool theIsHighlight );
+  virtual void               highlight( bool theIsHighlight, bool isUpdateViewer );
   virtual bool               isHighlighted() const;
 
   Handle(HYDROData_Entity)   getObject() const { return myObject; }
@@ -63,6 +65,10 @@ public:
                                       const bool         theToDisplay = true,
                                       const bool         theIsUpdateViewer = true );
 
+  virtual void               setFaces( const TopoDS_Compound& theWires,
+                                       const bool             theToDisplay = true,
+                                       const bool             theIsUpdateViewer = true );
+
   virtual void               setFace( const TopoDS_Wire& theWire,
                                       const bool         theToDisplay = true,
                                       const bool         theIsUpdateViewer = true );
@@ -71,6 +77,10 @@ public:
                                       const bool         theToDisplay = true,
                                       const bool         theIsUpdateViewer = true );
 
+  virtual void               setShape( const TopoDS_Shape& theShape,
+                                       const bool          theToDisplay = true,
+                                       const bool          theIsUpdateViewer = true );
+
   virtual void               setFillingColor( const QColor& theColor,
                                               const bool    theToDisplay = true,
                                               const bool    theIsUpdateViewer = true );
@@ -89,10 +99,16 @@ public:
                                                  const bool     theIsUpdateViewer = true );
   virtual QString            getTextureFileName() const;
 
+  virtual Handle(AIS_Shape)  getAISShape() const { return myShape; }
+
+  void                       setZLayer( const int theZLayer );
+
 protected:
   virtual void               buildShape();
   virtual void               updateShape( const bool theToDisplay      = true,
                                           const bool theIsUpdateViewer = true );
+  void                       displayShape( const bool theIsUpdateViewer );
+
   virtual QColor             getActiveColor() const;
 
 private:
@@ -107,7 +123,9 @@ private:
 private:
   Handle(AIS_InteractiveContext) myContext;
   Handle(HYDROData_Entity)       myObject;
-  Handle(AIS_TexturedShape)      myShape;
+  Handle(AIS_Shape)              myShape;
+
+  int                            myZLayer;
 
   bool                           myIsToUpdate;
   bool                           myIsVisible;