Open CASCADE Technology  7.5.0
Static Public Member Functions

BRepTools Class Reference

The BRepTools package provides utilities for BRep data structures. More...

#include <BRepTools.hxx>

Static Public Member Functions

static void UVBounds (const TopoDS_Face &F, Standard_Real &UMin, Standard_Real &UMax, Standard_Real &VMin, Standard_Real &VMax)
 Returns in UMin, UMax, VMin, VMax the bounding values in the parametric space of F. More...
 
static void UVBounds (const TopoDS_Face &F, const TopoDS_Wire &W, Standard_Real &UMin, Standard_Real &UMax, Standard_Real &VMin, Standard_Real &VMax)
 Returns in UMin, UMax, VMin, VMax the bounding values of the wire in the parametric space of F. More...
 
static void UVBounds (const TopoDS_Face &F, const TopoDS_Edge &E, Standard_Real &UMin, Standard_Real &UMax, Standard_Real &VMin, Standard_Real &VMax)
 Returns in UMin, UMax, VMin, VMax the bounding values of the edge in the parametric space of F. More...
 
static void AddUVBounds (const TopoDS_Face &F, Bnd_Box2d &B)
 Adds to the box the bounding values in the parametric space of F. More...
 
static void AddUVBounds (const TopoDS_Face &F, const TopoDS_Wire &W, Bnd_Box2d &B)
 Adds to the box the bounding values of the wire in the parametric space of F. More...
 
static void AddUVBounds (const TopoDS_Face &F, const TopoDS_Edge &E, Bnd_Box2d &B)
 Adds to the box the bounding values of the edge in the parametric space of F. More...
 
static void Update (const TopoDS_Vertex &V)
 Update a vertex (nothing is done) More...
 
static void Update (const TopoDS_Edge &E)
 Update an edge, compute 2d bounding boxes. More...
 
static void Update (const TopoDS_Wire &W)
 Update a wire (nothing is done) More...
 
static void Update (const TopoDS_Face &F)
 Update a Face, update UV points. More...
 
static void Update (const TopoDS_Shell &S)
 Update a shell (nothing is done) More...
 
static void Update (const TopoDS_Solid &S)
 Update a solid (nothing is done) More...
 
static void Update (const TopoDS_CompSolid &C)
 Update a composite solid (nothing is done) More...
 
static void Update (const TopoDS_Compound &C)
 Update a compound (nothing is done) More...
 
static void Update (const TopoDS_Shape &S)
 Update a shape, call the corect update. More...
 
static void UpdateFaceUVPoints (const TopoDS_Face &theF)
 For each edge of the face <F> reset the UV points to the bounding points of the parametric curve of the edge on the face. More...
 
static void Clean (const TopoDS_Shape &S)
 Removes all cashed polygonal representation of the shape, i.e. the triangulations of the faces of <S> 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. More...
 
static void CleanGeometry (const TopoDS_Shape &theShape)
 Removes geometry (curves and surfaces) from all edges and faces of the shape. More...
 
static void RemoveUnusedPCurves (const TopoDS_Shape &S)
 Removes all the pcurves of the edges of <S> that refer to surfaces not belonging to any face of <S> More...
 
static Standard_Boolean Triangulation (const TopoDS_Shape &theShape, const Standard_Real theLinDefl, const Standard_Boolean theToCheckFreeEdges=Standard_False)
 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. More...
 
static Standard_Boolean Compare (const TopoDS_Vertex &V1, const TopoDS_Vertex &V2)
 Returns True if the distance between the two vertices is lower than their tolerance. More...
 
static Standard_Boolean Compare (const TopoDS_Edge &E1, const TopoDS_Edge &E2)
 Returns True if the distance between the two edges is lower than their tolerance. More...
 
static TopoDS_Wire OuterWire (const TopoDS_Face &F)
 Returns the outer most wire of <F>. Returns a Null wire if <F> has no wires. More...
 
static void Map3DEdges (const TopoDS_Shape &S, TopTools_IndexedMapOfShape &M)
 Stores in the map <M> all the 3D topology edges of <S>. More...
 
static Standard_Boolean IsReallyClosed (const TopoDS_Edge &E, const TopoDS_Face &F)
 Verifies that the edge <E> is found two times on the face <F> before calling BRep_Tool::IsClosed. More...
 
static void DetectClosedness (const TopoDS_Face &theFace, Standard_Boolean &theUclosed, Standard_Boolean &theVclosed)
 Detect closedness of face in U and V directions. More...
 
static void Dump (const TopoDS_Shape &Sh, Standard_OStream &S)
 Dumps the topological structure and the geometry of <Sh> on the stream <S>. More...
 
static void Write (const TopoDS_Shape &Sh, Standard_OStream &S, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes <Sh> on <S> in an ASCII format. More...
 
static void Read (TopoDS_Shape &Sh, Standard_IStream &S, const BRep_Builder &B, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a Shape from <S> in returns it in <Sh>. is used to build the shape. More...
 
static Standard_Boolean Write (const TopoDS_Shape &Sh, const Standard_CString File, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes <Sh> in <File>. More...
 
static Standard_Boolean Read (TopoDS_Shape &Sh, const Standard_CString File, const BRep_Builder &B, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a Shape from <File>, returns it in <Sh>. is used to build the shape. More...
 
static Standard_Real EvalAndUpdateTol (const TopoDS_Edge &theE, const Handle< Geom_Curve > &theC3d, const Handle< Geom2d_Curve > theC2d, const Handle< Geom_Surface > &theS, const Standard_Real theF, const Standard_Real theL)
 Evals real tolerance of edge <theE>. <theC3d>, <theC2d>, <theS>, <theF>, <theL> are correspondently 3d curve of edge, 2d curve on surface <theS> and rang of edge If calculated tolerance is more then current edge tolerance, edge is updated. Method returns actual tolerance of edge. More...
 
static TopAbs_Orientation OriEdgeInFace (const TopoDS_Edge &theEdge, const TopoDS_Face &theFace)
 returns the cumul of the orientation of <Edge> and thc containing wire in <Face> More...
 
static void RemoveInternals (TopoDS_Shape &theS, const Standard_Boolean theForce=Standard_False)
 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 <theForce> if set to true disables the connectivity check and clears the given shape from all sub-shapes with internal orientation. More...
 

Detailed Description

The BRepTools package provides utilities for BRep data structures.

Member Function Documentation

◆ AddUVBounds() [1/3]

static void BRepTools::AddUVBounds ( const TopoDS_Face F,
Bnd_Box2d B 
)
static

Adds to the box the bounding values in the parametric space of F.

◆ AddUVBounds() [2/3]

static void BRepTools::AddUVBounds ( const TopoDS_Face F,
const TopoDS_Wire W,
Bnd_Box2d B 
)
static

Adds to the box the bounding values of the wire in the parametric space of F.

◆ AddUVBounds() [3/3]

static void BRepTools::AddUVBounds ( const TopoDS_Face F,
const TopoDS_Edge E,
Bnd_Box2d B 
)
static

Adds to the box the bounding values of the edge in the parametric space of F.

◆ Clean()

static void BRepTools::Clean ( const TopoDS_Shape S)
static

Removes all cashed polygonal representation of the shape, i.e. the triangulations of the faces of <S> 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.

◆ CleanGeometry()

static void BRepTools::CleanGeometry ( const TopoDS_Shape theShape)
static

Removes geometry (curves and surfaces) from all edges and faces of the shape.

◆ Compare() [1/2]

static Standard_Boolean BRepTools::Compare ( const TopoDS_Vertex V1,
const TopoDS_Vertex V2 
)
static

Returns True if the distance between the two vertices is lower than their tolerance.

◆ Compare() [2/2]

static Standard_Boolean BRepTools::Compare ( const TopoDS_Edge E1,
const TopoDS_Edge E2 
)
static

Returns True if the distance between the two edges is lower than their tolerance.

◆ DetectClosedness()

static void BRepTools::DetectClosedness ( const TopoDS_Face theFace,
Standard_Boolean theUclosed,
Standard_Boolean theVclosed 
)
static

Detect closedness of face in U and V directions.

◆ Dump()

static void BRepTools::Dump ( const TopoDS_Shape Sh,
Standard_OStream S 
)
static

Dumps the topological structure and the geometry of <Sh> on the stream <S>.

◆ EvalAndUpdateTol()

static Standard_Real BRepTools::EvalAndUpdateTol ( const TopoDS_Edge theE,
const Handle< Geom_Curve > &  theC3d,
const Handle< Geom2d_Curve theC2d,
const Handle< Geom_Surface > &  theS,
const Standard_Real  theF,
const Standard_Real  theL 
)
static

Evals real tolerance of edge <theE>. <theC3d>, <theC2d>, <theS>, <theF>, <theL> are correspondently 3d curve of edge, 2d curve on surface <theS> and rang of edge If calculated tolerance is more then current edge tolerance, edge is updated. Method returns actual tolerance of edge.

◆ IsReallyClosed()

static Standard_Boolean BRepTools::IsReallyClosed ( const TopoDS_Edge E,
const TopoDS_Face F 
)
static

Verifies that the edge <E> is found two times on the face <F> before calling BRep_Tool::IsClosed.

◆ Map3DEdges()

static void BRepTools::Map3DEdges ( const TopoDS_Shape S,
TopTools_IndexedMapOfShape M 
)
static

Stores in the map <M> all the 3D topology edges of <S>.

◆ OriEdgeInFace()

static TopAbs_Orientation BRepTools::OriEdgeInFace ( const TopoDS_Edge theEdge,
const TopoDS_Face theFace 
)
static

returns the cumul of the orientation of <Edge> and thc containing wire in <Face>

◆ OuterWire()

static TopoDS_Wire BRepTools::OuterWire ( const TopoDS_Face F)
static

Returns the outer most wire of <F>. Returns a Null wire if <F> has no wires.

◆ Read() [1/2]

static void BRepTools::Read ( TopoDS_Shape Sh,
Standard_IStream S,
const BRep_Builder B,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
static

Reads a Shape from <S> in returns it in <Sh>. is used to build the shape.

◆ Read() [2/2]

static Standard_Boolean BRepTools::Read ( TopoDS_Shape Sh,
const Standard_CString  File,
const BRep_Builder B,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
static

Reads a Shape from <File>, returns it in <Sh>. is used to build the shape.

◆ RemoveInternals()

static void BRepTools::RemoveInternals ( TopoDS_Shape theS,
const Standard_Boolean  theForce = Standard_False 
)
static

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 <theForce> if set to true disables the connectivity check and clears the given shape from all sub-shapes with internal orientation.

◆ RemoveUnusedPCurves()

static void BRepTools::RemoveUnusedPCurves ( const TopoDS_Shape S)
static

Removes all the pcurves of the edges of <S> that refer to surfaces not belonging to any face of <S>

◆ Triangulation()

static Standard_Boolean BRepTools::Triangulation ( const TopoDS_Shape theShape,
const Standard_Real  theLinDefl,
const Standard_Boolean  theToCheckFreeEdges = Standard_False 
)
static

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.

Parameters
theShape[in] shape to verify
theLinDefl[in] maximum allowed linear deflection
theToCheckFreeEdges[in] if TRUE, then free Edges are required to have 3D polygon
Returns
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

◆ Update() [1/9]

static void BRepTools::Update ( const TopoDS_Vertex V)
static

Update a vertex (nothing is done)

◆ Update() [2/9]

static void BRepTools::Update ( const TopoDS_Edge E)
static

Update an edge, compute 2d bounding boxes.

◆ Update() [3/9]

static void BRepTools::Update ( const TopoDS_Wire W)
static

Update a wire (nothing is done)

◆ Update() [4/9]

static void BRepTools::Update ( const TopoDS_Face F)
static

Update a Face, update UV points.

◆ Update() [5/9]

static void BRepTools::Update ( const TopoDS_Shell S)
static

Update a shell (nothing is done)

◆ Update() [6/9]

static void BRepTools::Update ( const TopoDS_Solid S)
static

Update a solid (nothing is done)

◆ Update() [7/9]

static void BRepTools::Update ( const TopoDS_CompSolid C)
static

Update a composite solid (nothing is done)

◆ Update() [8/9]

static void BRepTools::Update ( const TopoDS_Compound C)
static

Update a compound (nothing is done)

◆ Update() [9/9]

static void BRepTools::Update ( const TopoDS_Shape S)
static

Update a shape, call the corect update.

◆ UpdateFaceUVPoints()

static void BRepTools::UpdateFaceUVPoints ( const TopoDS_Face theF)
static

For each edge of the face <F> reset the UV points to the bounding points of the parametric curve of the edge on the face.

◆ UVBounds() [1/3]

static void BRepTools::UVBounds ( const TopoDS_Face F,
Standard_Real UMin,
Standard_Real UMax,
Standard_Real VMin,
Standard_Real VMax 
)
static

Returns in UMin, UMax, VMin, VMax the bounding values in the parametric space of F.

◆ UVBounds() [2/3]

static void BRepTools::UVBounds ( const TopoDS_Face F,
const TopoDS_Wire W,
Standard_Real UMin,
Standard_Real UMax,
Standard_Real VMin,
Standard_Real VMax 
)
static

Returns in UMin, UMax, VMin, VMax the bounding values of the wire in the parametric space of F.

◆ UVBounds() [3/3]

static void BRepTools::UVBounds ( const TopoDS_Face F,
const TopoDS_Edge E,
Standard_Real UMin,
Standard_Real UMax,
Standard_Real VMin,
Standard_Real VMax 
)
static

Returns in UMin, UMax, VMin, VMax the bounding values of the edge in the parametric space of F.

◆ Write() [1/2]

static void BRepTools::Write ( const TopoDS_Shape Sh,
Standard_OStream S,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
static

Writes <Sh> on <S> in an ASCII format.

◆ Write() [2/2]

static Standard_Boolean BRepTools::Write ( const TopoDS_Shape Sh,
const Standard_CString  File,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
static

Writes <Sh> in <File>.


The documentation for this class was generated from the following file: