/** \class GeomAlgoAPI_ShapeTools
* \ingroup DataAlgo
- * \brief
+ * \brief Useful tools for working with shapes.
*/
class GEOMALGOAPI_EXPORT GeomAlgoAPI_ShapeTools
{
/// are expressed in the absolute Cartesian coordinate system. (This function works only for surfaces).
static std::shared_ptr<GeomAPI_Pnt> centreOfMass(std::shared_ptr<GeomAPI_Shape> theShape);
- /** \brief Combines faces with common edges to shells
- * \param[in] theFacesList list of faces to be combined.
- * \param[out] theShells resulting shells.
- * \param[out] theFreeFaces faces that does not have common edges.
+ /** \brief Combines faces with common edges to shells, or solids to compsolids.
+ * \param[in] theCompound compound of shapes.
+ * \param[in] theType type of combine.
+ * \param[out] theCombinedShapes resulting shapes.
+ * \param[out] theFreeShapes shapes that does not have common subshapes.
*/
- static void combineFacesToShells(const ListOfShape& theFacesList,
- ListOfShape& theShells,
- ListOfShape& theFreeFaces);
+ static void combineShapes(const std::shared_ptr<GeomAPI_Shape> theCompound,
+ const GeomAPI_Shape::ShapeType theType,
+ ListOfShape& theCombinedShapes,
+ ListOfShape& theFreeShapes);
+
+ /**
+ * Returns infinite plane received from theFace plane
+ */
+ static std::shared_ptr<GeomAPI_Shape> faceToInfinitePlane(const std::shared_ptr<GeomAPI_Shape>& theFace);
};
#endif