Salome HOME
Merge branch 'BR_1330' into BR_DEMO
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Shape.h
index 64548763669e165503aacf191ca22cc8dcfd4f3d..76b002ca1741b2d95a0344a2adab5f8212cfcee2 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -83,7 +79,8 @@ public:
 
   virtual void               setShape( const TopoDS_Shape& theShape,
                                        const bool          theToDisplay = true,
-                                       const bool          theIsUpdateViewer = true );
+                                       const bool          theIsUpdateViewer = true,
+                                       const int           theDisplayMode = AIS_Shaded );
 
   virtual void               setFillingColor( const QColor& theColor,
                                               const bool    theToDisplay = true,
@@ -98,18 +95,22 @@ public:
   virtual void               setHighlightColor( const QColor& theColor );
   virtual QColor             getHighlightColor() const;
 
-  virtual Handle(AIS_InteractiveObject)  getAISObject() const;
-
   void                       setZLayer( const int theZLayer );
+  void                       setSelectionMode( int theSelectionMode );
+
+  QList<Handle(AIS_InteractiveObject)> getAISObjects() const;
 
 protected:
   virtual void               buildShape();
   virtual void               updateShape( const bool theToDisplay      = true,
                                           const bool theIsUpdateViewer = true );
-  void                       displayShape( const bool theIsUpdateViewer );
+  virtual void               displayShape( const bool theIsUpdateViewer );
+  virtual void               eraseShape( const bool theIsUpdateViewer );
 
   virtual QColor             getActiveColor() const;
-  virtual Handle_AIS_InteractiveObject createShape() const;
+  virtual QList<Handle(AIS_InteractiveObject)> createShape() const;
+
+  void setDisplayMode( int theDisplayMode );
 
 private:
   static double              getQuantityColorVal( const int theColorVal );
@@ -118,7 +119,7 @@ private:
 private:
   Handle(AIS_InteractiveContext) myContext;
   Handle(HYDROData_Entity)       myObject;
-  Handle(AIS_InteractiveObject)  myShape;
+  QList<Handle(AIS_InteractiveObject)>  myShapes;
 
   int                            myZLayer;
 
@@ -128,6 +129,7 @@ private:
   bool                           myIsHighlight;
   TopoDS_Shape                   myTopoShape;
   int                            myDisplayMode;
+  int                            mySelectionMode;
   
   QColor                         myFillingColor;
   QColor                         myBorderColor;