+
+ /**
+ * \brief Check if the shape is not a closed wire or edge.
+ *
+ * This function is used for pipe creation algorithm to test if
+ * the pipe path is not closed. It returns false if theShape is a wire or
+ * an edge with coincident end vertices. Otherwise it returns true.
+ *
+ * \param theShape the shape to be tested.
+ * \return true if theShape is not a closed wire or edge.
+ */
+ Standard_EXPORT bool IsOpenPath(const TopoDS_Shape &theShape);
+
+ /**
+ * This function compares two tolerances. The shape tolerance (the first
+ * argument) is considered less than the reference tolerance (the second
+ * argument) if theTolShape < theTolRef - Tolerance(theTolRef). theTolShape is
+ * considered greater than theTolRef if theTolShape > theTolRef +
+ * Tolerance(theTolRef). Otherwise these tolerances are equal.
+ * Tolerance(theTolRef) = theTolRef*DEFAULT_TOLERANCE_TOLERANCE. But this value
+ * should not be greated than DEFAULT_MAX_TOLERANCE_TOLERANCE.
+ *
+ * \param theTolShape the shape tolerance
+ * \param theTolRef the reference tolerance
+ * \return -1 if theTolShape is less than theTolRef; 1 if theTolShape is greater
+ * than theTolRef; 0 if they are equal
+ */
+ Standard_EXPORT int CompareToleranceValues(const double theTolShape,
+ const double theTolRef);
+
+ /**
+ * Check if the comarison of tolerances fit the condition. The comparison of
+ * tolerances is performed using the function CompareToleranceValues.
+ *
+ * \param theCondition the condition
+ * \param theTolShape the shape tolerance
+ * \param theTolRef the reference tolerance
+ * \return true if the shape tolerance fits the condition; false otherwise.
+ */
+ Standard_EXPORT bool IsFitCondition(const ComparisonCondition theCondition,
+ const double theTolShape,
+ const double theTolRef);
+
+}