Salome HOME
Image positioning by two points.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Tool.h
index c2552ddca66bb25f52a349b624cf21660bbe676c..1874513a871a2a6302b32b4c9b9644e94e2786ce 100644 (file)
@@ -40,6 +40,7 @@ class HYDROGUI_Module;
 class HYDROGUI_Prs;
 
 class QDockWidget;
+class Handle(HYDROData_Document);
 
 /**
  * \class HYDROGUI_Tool
@@ -89,28 +90,17 @@ public:
   static Handle(TCollection_HExtendedString)      ToHExtString( const QString& );
 
   /**
-   * \brief Encode the Lambert93 coordinates to the absolute double value
+   * \brief Get the active study id.
+   * \return active study id
    */
-  static void                     LambertToDouble( const int theDegrees,
-                                                   const int theMinutes,
-                                                   const double theSeconds,
-                                                   double& theCoord );
+  static int                      GetActiveStudyId();
 
   /**
-   * \brief Decode the Lambert93 coordinates from the absolute double value
+   * \brief Get path to the temporary directory.
+   * \param theToCreate flag used to create a directory if it doesn't exist
+   * \return path
    */
-  static void                     DoubleToLambert( const double theCoord,
-                                                   int& theDegrees,
-                                                   int& theMinutes,
-                                                   double& theSeconds );
-
-  /**
-   * \brief Check that the specified objects are equal.
-   * \param theObj1 first object
-   * \param theObj2 second object
-   */
-  static bool                     IsEqual( const Handle(HYDROData_Object)& theObj1,
-                                           const Handle(HYDROData_Object)& theObj2 );
+  static QString                  GetTempDir( const bool theToCreate );
 
   /**
    * \brief Set the specified view manager to be active on the desktop.
@@ -134,7 +124,7 @@ public:
    * \param theObjects list of existing presentations
    * \return presentation
    */
-  static HYDROGUI_Prs*            GetPresentation( const Handle(HYDROData_Object)& theObj,
+  static HYDROGUI_Prs*            GetPresentation( const Handle(HYDROData_Entity)& theObj,
                                                    const GraphicsView_ObjectList& theObjects );
 
   /**
@@ -156,7 +146,7 @@ public:
    * \param theModule module
    * \return selected data object
    */
-  static Handle(HYDROData_Object) GetSelectedObject( HYDROGUI_Module* theModule );
+  static Handle(HYDROData_Entity) GetSelectedObject( HYDROGUI_Module* theModule );
 
   /**
    * \brief Get kind of objects the selected partition contains.
@@ -172,18 +162,39 @@ public:
    * \param theObjectKind kind of object
    * \return data object
    */
-  static Handle(HYDROData_Object) FindObjectByName( HYDROGUI_Module* theModule,
+  static Handle(HYDROData_Entity) FindObjectByName( HYDROGUI_Module* theModule,
                                                     const QString& theName,
                                                     const ObjectKind theObjectKind = KIND_UNKNOWN );
 
+  /**
+   * \brief Find the data objects with the specified names.
+   * \param theModule module
+   * \param theNames list of names
+   * \param theObjectKind kind of object
+   * \return list of data objects
+   */
+  static HYDROData_SequenceOfObjects FindObjectsByNames( HYDROGUI_Module*   theModule,
+                                                         const QStringList& theNames,
+                                                         const ObjectKind   theObjectKind = KIND_UNKNOWN );
+
   /**
    * \brief Generate name for new object.
    * \param theModule module
    * \param thePrefix name prefix
+   * \param theUsedNames list of already used names
    * \return generated name
    */
-  static QString                  GenerateObjectName( HYDROGUI_Module* theModule,
-                                                      const QString& thePrefix );
+  static QString                  GenerateObjectName( HYDROGUI_Module*   theModule,
+                                                      const QString&     thePrefix,
+                                                      const QStringList& theUsedNames = QStringList() );
+
+  /**
+   * \brief Get id of the active view.
+   * \param theModule module
+   * \return view id
+   */
+  static size_t                   GetActiveViewId( HYDROGUI_Module* theModule,
+                                                   const QString&   theViewId = QString() );
 
   /**
    * \brief Get id of the active GraphicsView view.
@@ -192,6 +203,13 @@ public:
    */
   static size_t                   GetActiveGraphicsViewId( HYDROGUI_Module* theModule );
 
+  /**
+   * \brief Get id of the active OCC view.
+   * \param theModule module
+   * \return view id
+   */
+  static size_t                   GetActiveOCCViewId( HYDROGUI_Module* theModule );
+
   /**
    * \brief Get list of ids of existing GraphicsView views.
    * \param theModule module
@@ -199,6 +217,13 @@ public:
    */
   static QList<size_t>            GetGraphicsViewIdList( HYDROGUI_Module* theModule );
 
+  /**
+   * \brief Get list of ids of existing OCC views.
+   * \param theModule module
+   * \return list of view ids
+   */
+  static QList<size_t>            GetOCCViewIdList( HYDROGUI_Module* theModule );
+
   /**
    * \brief Get the list of references (recursively) for the specified image object
    * \param theImage image data object
@@ -217,7 +242,7 @@ public:
    * \param theBackRefNames list of back-reference object names
    */
   static void                     GetObjectBackReferences( HYDROGUI_Module* theModule,
-                                                           const Handle(HYDROData_Object)& theObj,
+                                                           const Handle(HYDROData_Entity)& theObj,
                                                            HYDROData_SequenceOfObjects& theBackRefObjects,
                                                            QStringList& theBackRefNames );
 
@@ -228,6 +253,24 @@ public:
    */
   static QDockWidget*             WindowDock( QWidget* wid );
 
+  /**
+   * \brief Generates the filling color for intersected zone
+   * \param theModule module
+   * \param theZoneNames list of intersected zones
+   * \return result color
+   */
+  static QColor                   GenerateFillingColor( HYDROGUI_Module*   theModule,
+                                                        const QStringList& theZoneNames );
+
+  /*
+   * \brief Generates the filling color for intersected zone
+   * \param theDoc model document
+   * \param theZoneNames list of intersected zones
+   * \return result color
+   */
+  static QColor                   GenerateFillingColor( const Handle(HYDROData_Document)& theDoc,
+                                                        const QStringList&                theZoneNames );
+
 };
 
 #endif