#include <TCollection_HExtendedString.hxx>
class SUIT_ViewManager;
+class OCCViewer_ViewFrame;
class HYDROGUI_DataModel;
class HYDROGUI_Module;
class HYDROGUI_Prs;
class QDockWidget;
+class Handle(HYDROData_Document);
/**
* \class HYDROGUI_Tool
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.
* \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 );
/**
* \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 the geometry data objects from document.
+ * \param theModule module
+ * \return sequence of data objects
+ */
+ static HYDROData_SequenceOfObjects GetGeometryObjects( HYDROGUI_Module* theModule );
/**
* \brief Get kind of objects the selected partition contains.
*/
static ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule );
+ /**
+ * \brief Get the selected GEOM objects.
+ * \param theModule module
+ * \return list of GEOM objects entries
+ */
+ static QStringList GetSelectedGeomObjects( HYDROGUI_Module* theModule );
+
/**
* \brief Find the data object with the specified name.
* \param theModule module
* \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
+ * \param theIsTryToUsePurePrefix if true - the prefix will be returned if the name equal to the prefix is not busy
* \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(),
+ const bool theIsTryToUsePurePrefix = false );
+
+ /**
+ * \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.
*/
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
*/
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 Change OCC viewer action visibility.
+ * \param theViewFrame OCC viewer frame
+ * \param theActionId an action index, which state should be changed
+ * \param isShown the action visibility state
+ */
+ static void setOCCActionShown( OCCViewer_ViewFrame* theViewFrame,
+ const int theActionId,
+ const bool isShown );
+
+ /**
+ * \brief Change OCC viewer action visibility for all opened views.
+ * \param theActionId an action index, which state should be changed
+ * \param isShown the action visibility state
+ */
+ static void setOCCActionShown( HYDROGUI_Module* theModule,
+ const int theActionId,
+ const bool isShown );
+
/**
* \brief Get the list of references (recursively) for the specified image object
* \param theImage image data object
* \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 );
*/
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 );
+
+ /**
+ * \brief Find names of existing objects of the given kind.
+ * \param theDoc model document
+ * \param theObjectKind kind of object
+ * \return list of names
+ */
+ static QStringList FindExistingObjectsNames( const Handle(HYDROData_Document)& theDoc,
+ const ObjectKind theObjectKind );
};
#endif