X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FBRepTools%2FBRepTools.hxx;h=cbc23eb6229801f28a6b07fd00110c8b32a40830;hp=e6bc4b5db67dde4cd1d4addb1e058a8eabfc1485;hb=09543c2d99f53edff60fd66a0f9725f68b16b686;hpb=4b114473efae0e071c33e84dd70a2342e00b029f diff --git a/src/BRepTools/BRepTools.hxx b/src/BRepTools/BRepTools.hxx index e6bc4b5db6..cbc23eb622 100644 --- a/src/BRepTools/BRepTools.hxx +++ b/src/BRepTools/BRepTools.hxx @@ -150,9 +150,11 @@ public: //! edge on the face. Standard_EXPORT static void UpdateFaceUVPoints (const TopoDS_Face& theF); - //! Removes all the triangulations of the faces of - //! and removes all polygons on triangulations of the - //! edges. + //! Removes all cashed polygonal representation of the shape, + //! i.e. the triangulations of the faces of and polygons on + //! triangulations and polygons 3d of the edges. + //! In case polygonal representation is the only available representation + //! for the shape (shape does not have geometry) it is not removed. Standard_EXPORT static void Clean (const TopoDS_Shape& S); //! Removes geometry (curves and surfaces) from all edges and faces of the shape @@ -162,10 +164,18 @@ public: //! refer to surfaces not belonging to any face of Standard_EXPORT static void RemoveUnusedPCurves (const TopoDS_Shape& S); - //! verifies that each face from the shape has got - //! a triangulation with a deflection <= deflec and - //! the edges a discretisation on this triangulation. - Standard_EXPORT static Standard_Boolean Triangulation (const TopoDS_Shape& S, const Standard_Real deflec); + //! Verifies that each Face from the shape has got a triangulation with a deflection smaller or equal to specified one + //! and the Edges a discretization on this triangulation. + //! @param theShape [in] shape to verify + //! @param theLinDefl [in] maximum allowed linear deflection + //! @param theToCheckFreeEdges [in] if TRUE, then free Edges are required to have 3D polygon + //! @return FALSE if input Shape contains Faces without triangulation, + //! or that triangulation has worse (greater) deflection than specified one, + //! or Edges in Shape lack polygons on triangulation + //! or free Edges in Shape lack 3D polygons + Standard_EXPORT static Standard_Boolean Triangulation (const TopoDS_Shape& theShape, + const Standard_Real theLinDefl, + const Standard_Boolean theToCheckFreeEdges = Standard_False); //! Returns True if the distance between the two //! vertices is lower than their tolerance. @@ -223,6 +233,20 @@ public: const Standard_Real theF, const Standard_Real theL); + //! returns the cumul of the orientation of + //! and thc containing wire in + Standard_EXPORT static TopAbs_Orientation OriEdgeInFace(const TopoDS_Edge& theEdge, + const TopoDS_Face& theFace); + + //! Removes internal sub-shapes from the shape. + //! The check on internal status is based on orientation of sub-shapes, + //! classification is not performed. + //! Before removal of internal sub-shapes the algorithm checks if such + //! removal is not going to break topological connectivity between sub-shapes. + //! The flag if set to true disables the connectivity check and clears + //! the given shape from all sub-shapes with internal orientation. + Standard_EXPORT static void RemoveInternals (TopoDS_Shape& theS, + const Standard_Boolean theForce = Standard_False); protected: