Salome HOME
test Strickler
[modules/hydro.git] / src / HYDROData / HYDROData_Tool.h
index 0eeb64871a87580606127605c5e53d45f6675e23..359ddf5b136bfd64c594d1fedd4f1da711eaeb5b 100644 (file)
@@ -23,8 +23,8 @@
 #include <QStringList>
 #include <Precision.hxx>
 
-class Handle_HYDROData_Document;
-class Handle_HYDROData_Entity;
+class HYDROData_Document;
+class HYDROData_Entity;
 class HYDROData_SequenceOfObjects;
 class MapOfTreatedObjects;
 class gp_XY;
@@ -40,7 +40,6 @@ class TopoDS_Edge;
 class TopoDS_Face;
 class TopoDS_Shape;
 class TopoDS_Wire;
-class TopTools_SequenceOfShape;
 class Quantity_Color;
 
 class HYDRODATA_EXPORT HYDROData_Tool {
@@ -59,7 +58,7 @@ public:
    * \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( const Handle_HYDROData_Document& theDoc,
+  static QString GenerateObjectName( const Handle(HYDROData_Document)& theDoc,
                                                             const QString&                   thePrefix,
                                                             const QStringList&               theUsedNames = QStringList(),
                                                             const bool                       theIsTryToUsePurePrefix = false );
@@ -69,7 +68,7 @@ public:
    * \param theObject object to check
    * \return true if object is geometry object
    */
-  static bool                           IsGeometryObject( const Handle_HYDROData_Entity& theObject );
+  static bool                           IsGeometryObject( const Handle(HYDROData_Entity)& theObject );
 
   /**
    * \brief Updates the child object name.
@@ -79,7 +78,7 @@ public:
    */
   static void                           UpdateChildObjectName( const QString&                  theOldStr,
                                                                const QString&                  theNewStr,
-                                                               const Handle_HYDROData_Entity& theObject );
+                                                               const Handle(HYDROData_Entity)& theObject );
 
 
   /**
@@ -121,6 +120,14 @@ public:
 
   static Quantity_Color toOccColor( const QColor& );
   static QColor toQtColor( const Quantity_Color& );
+
+  static bool IsNan( double theValue );
+  static bool IsInf( double theValue );
+
+  /**
+  Rebuilds shape container (like compound/compsolid/shell) which contains faces (shared or nonshared with each other)
+  */
+  static TopoDS_Shape RebuildCmp(const TopoDS_Shape& in);
 };
 
 inline bool ValuesEquals( const double& theFirst, const double& theSecond )
@@ -143,6 +150,8 @@ HYDRODATA_EXPORT std::ostream& operator<<( std::ostream& theStream, const QStrin
 HYDRODATA_EXPORT std::ostream& operator<<( std::ostream& theStream, const QColor& theText );
 HYDRODATA_EXPORT std::ostream& operator<<( std::ostream& theStream, const TopoDS_Shape& theShape );
 HYDRODATA_EXPORT std::ostream& operator<<( std::ostream& theStream, const TopoDS_Face& theFace );
+HYDRODATA_EXPORT bool operator == ( const gp_XY& thePoint1, const gp_XY& thePoint2 );
+HYDRODATA_EXPORT std::ostream& operator<<( std::ostream& theStream, const gp_XY& theXY );
 
 #endif