+ GEOMALGOAPI_EXPORT static void findBounds(const std::shared_ptr<GeomAPI_Shape> theShape,
+ std::shared_ptr<GeomAPI_Vertex>& theV1,
+ std::shared_ptr<GeomAPI_Vertex>& theV2);
+
+ /// \brief Creates faces with holes from wires.
+ /// \param[in] theWires base wires.
+ /// \param[out] theFaces resulting faces.
+ GEOMALGOAPI_EXPORT static void makeFacesWithHoles(const std::shared_ptr<GeomAPI_Pnt> theOrigin,
+ const std::shared_ptr<GeomAPI_Dir> theDirection,
+ const ListOfShape& theWires,
+ ListOfShape& theFaces);
+
+ /// \brief Return a plane for list of shapes if they are all planar.
+ /// \param[in] theShapes shapes to find plane.
+ /// \return plane where all shapes lie or empty ptr if they not planar.
+ GEOMALGOAPI_EXPORT static std::shared_ptr<GeomAPI_Pln> findPlane(const ListOfShape& theShapes);
+
+ /// \brief Checks that vertex/edge is inside face or vertext inside wire.
+ /// \param[in] theSubShape shape that should be inside.
+ /// \param[in] theBaseShape base shape.
+ /// \return true if edge inside the face.
+ GEOMALGOAPI_EXPORT static bool isSubShapeInsideShape(const std::shared_ptr<GeomAPI_Shape> theSubShape,
+ const std::shared_ptr<GeomAPI_Shape> theBaseShape);
+
+ /// \return true if theShape is valid.
+ GEOMALGOAPI_EXPORT static bool isShapeValid(const std::shared_ptr<GeomAPI_Shape> theShape);
+
+ /// \return outer wire for face. If theShape has different type returns empty pointer.
+ GEOMALGOAPI_EXPORT static std::shared_ptr<GeomAPI_Shape> getFaceOuterWire(const std::shared_ptr<GeomAPI_Shape> theFace);