+ static TopAbs_State ComputePointState( const gp_XY& thePnt2d,
+ const TopoDS_Face& theFace );
+
+ static double GetAltitudeForEdge( const TopoDS_Edge& theEdge,
+ const gp_XY& thePoint,
+ double theParameterTolerance,
+ double theSquareDistanceTolerance,
+ double theInvalidAltitude );
+ static double GetAltitudeForWire( const TopoDS_Wire& theWire,
+ const gp_XY& thePoint,
+ double theParameterTolerance,
+ double theSquareDistanceTolerance,
+ double theInvalidAltitude );
+
+ /**
+ * \brief Returns the first shape from the group.
+ * \param theGroups the list of groups
+ * \param theGroupId the group id
+ */
+ static TopoDS_Shape getFirstShapeFromGroup( const HYDROData_SequenceOfObjects& theGroups,
+ const int theGroupId );
+
+ static TCollection_ExtendedString toExtString( const QString& );
+ static QString toQString( const TCollection_ExtendedString& );
+
+ static Quantity_Color toOccColor( const QColor& );
+ static QColor toQtColor( const Quantity_Color& );
+
+ static QColor GenerateRandColor();
+ static bool GenerateNonRepeatableRandColors(int nbColorsToGen, QVector<QColor>& theColors);
+ static void GenerateRepeatableRandColors(int nbColorsToGen, QVector<QColor>& theColors);
+
+ 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);
+
+ static TopoDS_Shape PolyXY2Face(const Handle(HYDROData_PolylineXY)& aPolyline);
+
+ static bool importFromXYZ( QString& theFileName, bool bImportXY, std::vector<gp_XYZ>& thePointsXYZ,
+ std::vector<gp_XY>& thePointsXY);
+
+ static bool importPolylineFromXYZ(QString aFilename, Handle(HYDROData_Document) theDocument,
+ bool importXY, NCollection_Sequence<Handle(HYDROData_Entity)>& importedEntities);
+
+
+ static void SetSIProgress(const Handle(Message_ProgressIndicator)& thePI);
+ static const Handle(Message_ProgressIndicator)& GetSIProgress();
+
+ static void SetZIProgress(const Handle(Message_ProgressIndicator)& thePI);
+ static const Handle(Message_ProgressIndicator)& GetZIProgress();
+
+ static void SetTriangulationStatus(const ExecStatus& theStatus);
+ static const ExecStatus& GetTriangulationStatus();
+
+private:
+ static Handle(Message_ProgressIndicator)& StricklerInterpolationProgress();
+ static Handle(Message_ProgressIndicator)& BathymetryInterpolationProgress();
+ static ExecStatus myTriangulationStatus;