Open CASCADE Technology  7.7.0
Static Public Member Functions

BRepOffset_Tool Class Reference

#include <BRepOffset_Tool.hxx>

Static Public Member Functions

static void EdgeVertices (const TopoDS_Edge &E, TopoDS_Vertex &V1, TopoDS_Vertex &V2)
 <V1> is the FirstVertex ,<V2> is the Last Vertex of <Edge> taking account the orientation of Edge. More...
 
static void OrientSection (const TopoDS_Edge &E, const TopoDS_Face &F1, const TopoDS_Face &F2, TopAbs_Orientation &O1, TopAbs_Orientation &O2)
 <E> is a section between <F1> and <F2>. Computes <O1> the orientation of <E> in <F1> influenced by <F2>. idem for <O2>. More...
 
static Standard_Boolean FindCommonShapes (const TopoDS_Face &theF1, const TopoDS_Face &theF2, TopTools_ListOfShape &theLE, TopTools_ListOfShape &theLV)
 Looks for the common Vertices and Edges between faces <theF1> and <theF2>.
Returns TRUE if common shapes have been found.
<theLE> will contain the found common edges;
<theLV> will contain the found common vertices. More...
 
static Standard_Boolean FindCommonShapes (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const TopAbs_ShapeEnum theType, TopTools_ListOfShape &theLSC)
 Looks for the common shapes of type <theType> between shapes <theS1> and <theS2>.
Returns TRUE if common shapes have been found.
<theLSC> will contain the found common shapes. More...
 
static void Inter3D (const TopoDS_Face &F1, const TopoDS_Face &F2, TopTools_ListOfShape &LInt1, TopTools_ListOfShape &LInt2, const TopAbs_State Side, const TopoDS_Edge &RefEdge, const TopoDS_Face &RefFace1, const TopoDS_Face &RefFace2)
 Computes the Section betwwen <F1> and <F2> the edges solution are stored in <LInt1> with the orientation on <F1>, the sames edges are stored in <Lint2> with the orientation on <F2>. More...
 
static Standard_Boolean TryProject (const TopoDS_Face &F1, const TopoDS_Face &F2, const TopTools_ListOfShape &Edges, TopTools_ListOfShape &LInt1, TopTools_ListOfShape &LInt2, const TopAbs_State Side, const Standard_Real TolConf)
 Find if the edges <Edges> of the face <F2> are on the face <F1>. Set in <LInt1> <LInt2> the updated edges. If all the edges are computed, returns true. More...
 
static void PipeInter (const TopoDS_Face &F1, const TopoDS_Face &F2, TopTools_ListOfShape &LInt1, TopTools_ListOfShape &LInt2, const TopAbs_State Side)
 
static void Inter2d (const TopoDS_Face &F, const TopoDS_Edge &E1, const TopoDS_Edge &E2, TopTools_ListOfShape &LV, const Standard_Real Tol)
 
static void InterOrExtent (const TopoDS_Face &F1, const TopoDS_Face &F2, TopTools_ListOfShape &LInt1, TopTools_ListOfShape &LInt2, const TopAbs_State Side)
 
static void CheckBounds (const TopoDS_Face &F, const BRepOffset_Analyse &Analyse, Standard_Boolean &enlargeU, Standard_Boolean &enlargeVfirst, Standard_Boolean &enlargeVlast)
 
static Standard_Boolean EnLargeFace (const TopoDS_Face &F, TopoDS_Face &NF, const Standard_Boolean ChangeGeom, const Standard_Boolean UpDatePCurve=Standard_False, const Standard_Boolean enlargeU=Standard_True, const Standard_Boolean enlargeVfirst=Standard_True, const Standard_Boolean enlargeVlast=Standard_True, const Standard_Integer theExtensionMode=1, const Standard_Real theLenBeforeUfirst=-1., const Standard_Real theLenAfterUlast=-1., const Standard_Real theLenBeforeVfirst=-1., const Standard_Real theLenAfterVlast=-1.)
 Returns True if The Surface of <NF> has changed. if <ChangeGeom> is TRUE , the surface can be changed . if <UpdatePCurve> is TRUE, update the pcurves of the edges of <F> on the new surface if the surface has been changed. <enlargeU>, <enlargeVfirst>, <enlargeVlast> allow or forbid enlargement in U and V directions correspondingly. <theExtensionMode> is a mode of extension of the surface of the face: if <theExtensionMode> equals 1, potentially infinite surfaces are extended by maximum value, and limited surfaces are extended by 25%. if <theExtensionMode> equals 2, potentially infinite surfaces are extended by 10*(correspondent size of face), and limited surfaces are extended by 100%. <theLenBeforeUfirst>, <theLenAfterUlast>, <theLenBeforeVfirst>, <theLenAfterVlast> set the values of enlargement on correspondent directions. If some of them equals -1, the default value of enlargement is used. More...
 
static void ExtentFace (const TopoDS_Face &F, TopTools_DataMapOfShapeShape &ConstShapes, TopTools_DataMapOfShapeShape &ToBuild, const TopAbs_State Side, const Standard_Real TolConf, TopoDS_Face &NF)
 
static void BuildNeighbour (const TopoDS_Wire &W, const TopoDS_Face &F, TopTools_DataMapOfShapeShape &NOnV1, TopTools_DataMapOfShapeShape &NOnV2)
 Via the wire explorer store in <NOnV1> for an Edge <E> of <W> his Edge neighbour on the first vertex <V1> of <E>. Store in NOnV2 the Neighbour of <E>on the last vertex <V2> of <E>. More...
 
static void MapVertexEdges (const TopoDS_Shape &S, TopTools_DataMapOfShapeListOfShape &MVE)
 Store in MVE for a vertex <V> in the incident edges <E> in . An Edge is Store only one Time for a vertex. More...
 
static TopoDS_Shape Deboucle3D (const TopoDS_Shape &S, const TopTools_MapOfShape &Boundary)
 Remove the non valid part of an offsetshape 1 - Remove all the free boundary and the faces connex to such edges. 2 - Remove all the shapes not valid in the result (according to the side of offsetting) in this version only the first point is implemented. More...
 
static void CorrectOrientation (const TopoDS_Shape &SI, const TopTools_IndexedMapOfShape &NewEdges, Handle< BRepAlgo_AsDes > &AsDes, BRepAlgo_Image &InitOffset, const Standard_Real Offset)
 
static Standard_Real Gabarit (const Handle< Geom_Curve > &aCurve)
 
static Standard_Boolean CheckPlanesNormals (const TopoDS_Face &theFace1, const TopoDS_Face &theFace2, const Standard_Real theTolAng=1.e-8)
 Compares the normal directions of the planar faces and returns TRUE if the directions are the same with the given precision.
More...
 

Member Function Documentation

◆ BuildNeighbour()

static void BRepOffset_Tool::BuildNeighbour ( const TopoDS_Wire W,
const TopoDS_Face F,
TopTools_DataMapOfShapeShape NOnV1,
TopTools_DataMapOfShapeShape NOnV2 
)
static

Via the wire explorer store in <NOnV1> for an Edge <E> of <W> his Edge neighbour on the first vertex <V1> of <E>. Store in NOnV2 the Neighbour of <E>on the last vertex <V2> of <E>.

◆ CheckBounds()

static void BRepOffset_Tool::CheckBounds ( const TopoDS_Face F,
const BRepOffset_Analyse Analyse,
Standard_Boolean enlargeU,
Standard_Boolean enlargeVfirst,
Standard_Boolean enlargeVlast 
)
static

◆ CheckPlanesNormals()

static Standard_Boolean BRepOffset_Tool::CheckPlanesNormals ( const TopoDS_Face theFace1,
const TopoDS_Face theFace2,
const Standard_Real  theTolAng = 1.e-8 
)
static

Compares the normal directions of the planar faces and returns TRUE if the directions are the same with the given precision.

◆ CorrectOrientation()

static void BRepOffset_Tool::CorrectOrientation ( const TopoDS_Shape SI,
const TopTools_IndexedMapOfShape NewEdges,
Handle< BRepAlgo_AsDes > &  AsDes,
BRepAlgo_Image InitOffset,
const Standard_Real  Offset 
)
static

◆ Deboucle3D()

static TopoDS_Shape BRepOffset_Tool::Deboucle3D ( const TopoDS_Shape S,
const TopTools_MapOfShape Boundary 
)
static

Remove the non valid part of an offsetshape 1 - Remove all the free boundary and the faces connex to such edges. 2 - Remove all the shapes not valid in the result (according to the side of offsetting) in this version only the first point is implemented.

◆ EdgeVertices()

static void BRepOffset_Tool::EdgeVertices ( const TopoDS_Edge E,
TopoDS_Vertex V1,
TopoDS_Vertex V2 
)
static

<V1> is the FirstVertex ,<V2> is the Last Vertex of <Edge> taking account the orientation of Edge.

◆ EnLargeFace()

static Standard_Boolean BRepOffset_Tool::EnLargeFace ( const TopoDS_Face F,
TopoDS_Face NF,
const Standard_Boolean  ChangeGeom,
const Standard_Boolean  UpDatePCurve = Standard_False,
const Standard_Boolean  enlargeU = Standard_True,
const Standard_Boolean  enlargeVfirst = Standard_True,
const Standard_Boolean  enlargeVlast = Standard_True,
const Standard_Integer  theExtensionMode = 1,
const Standard_Real  theLenBeforeUfirst = -1.,
const Standard_Real  theLenAfterUlast = -1.,
const Standard_Real  theLenBeforeVfirst = -1.,
const Standard_Real  theLenAfterVlast = -1. 
)
static

Returns True if The Surface of <NF> has changed. if <ChangeGeom> is TRUE , the surface can be changed . if <UpdatePCurve> is TRUE, update the pcurves of the edges of <F> on the new surface if the surface has been changed. <enlargeU>, <enlargeVfirst>, <enlargeVlast> allow or forbid enlargement in U and V directions correspondingly. <theExtensionMode> is a mode of extension of the surface of the face: if <theExtensionMode> equals 1, potentially infinite surfaces are extended by maximum value, and limited surfaces are extended by 25%. if <theExtensionMode> equals 2, potentially infinite surfaces are extended by 10*(correspondent size of face), and limited surfaces are extended by 100%. <theLenBeforeUfirst>, <theLenAfterUlast>, <theLenBeforeVfirst>, <theLenAfterVlast> set the values of enlargement on correspondent directions. If some of them equals -1, the default value of enlargement is used.

◆ ExtentFace()

static void BRepOffset_Tool::ExtentFace ( const TopoDS_Face F,
TopTools_DataMapOfShapeShape ConstShapes,
TopTools_DataMapOfShapeShape ToBuild,
const TopAbs_State  Side,
const Standard_Real  TolConf,
TopoDS_Face NF 
)
static

◆ FindCommonShapes() [1/2]

static Standard_Boolean BRepOffset_Tool::FindCommonShapes ( const TopoDS_Face theF1,
const TopoDS_Face theF2,
TopTools_ListOfShape theLE,
TopTools_ListOfShape theLV 
)
static

Looks for the common Vertices and Edges between faces <theF1> and <theF2>.
Returns TRUE if common shapes have been found.
<theLE> will contain the found common edges;
<theLV> will contain the found common vertices.

◆ FindCommonShapes() [2/2]

static Standard_Boolean BRepOffset_Tool::FindCommonShapes ( const TopoDS_Shape theS1,
const TopoDS_Shape theS2,
const TopAbs_ShapeEnum  theType,
TopTools_ListOfShape theLSC 
)
static

Looks for the common shapes of type <theType> between shapes <theS1> and <theS2>.
Returns TRUE if common shapes have been found.
<theLSC> will contain the found common shapes.

◆ Gabarit()

static Standard_Real BRepOffset_Tool::Gabarit ( const Handle< Geom_Curve > &  aCurve)
static

◆ Inter2d()

static void BRepOffset_Tool::Inter2d ( const TopoDS_Face F,
const TopoDS_Edge E1,
const TopoDS_Edge E2,
TopTools_ListOfShape LV,
const Standard_Real  Tol 
)
static

◆ Inter3D()

static void BRepOffset_Tool::Inter3D ( const TopoDS_Face F1,
const TopoDS_Face F2,
TopTools_ListOfShape LInt1,
TopTools_ListOfShape LInt2,
const TopAbs_State  Side,
const TopoDS_Edge RefEdge,
const TopoDS_Face RefFace1,
const TopoDS_Face RefFace2 
)
static

Computes the Section betwwen <F1> and <F2> the edges solution are stored in <LInt1> with the orientation on <F1>, the sames edges are stored in <Lint2> with the orientation on <F2>.

◆ InterOrExtent()

static void BRepOffset_Tool::InterOrExtent ( const TopoDS_Face F1,
const TopoDS_Face F2,
TopTools_ListOfShape LInt1,
TopTools_ListOfShape LInt2,
const TopAbs_State  Side 
)
static

◆ MapVertexEdges()

static void BRepOffset_Tool::MapVertexEdges ( const TopoDS_Shape S,
TopTools_DataMapOfShapeListOfShape MVE 
)
static

Store in MVE for a vertex <V> in the incident edges <E> in . An Edge is Store only one Time for a vertex.

◆ OrientSection()

static void BRepOffset_Tool::OrientSection ( const TopoDS_Edge E,
const TopoDS_Face F1,
const TopoDS_Face F2,
TopAbs_Orientation O1,
TopAbs_Orientation O2 
)
static

<E> is a section between <F1> and <F2>. Computes <O1> the orientation of <E> in <F1> influenced by <F2>. idem for <O2>.

◆ PipeInter()

static void BRepOffset_Tool::PipeInter ( const TopoDS_Face F1,
const TopoDS_Face F2,
TopTools_ListOfShape LInt1,
TopTools_ListOfShape LInt2,
const TopAbs_State  Side 
)
static

◆ TryProject()

static Standard_Boolean BRepOffset_Tool::TryProject ( const TopoDS_Face F1,
const TopoDS_Face F2,
const TopTools_ListOfShape Edges,
TopTools_ListOfShape LInt1,
TopTools_ListOfShape LInt2,
const TopAbs_State  Side,
const Standard_Real  TolConf 
)
static

Find if the edges <Edges> of the face <F2> are on the face <F1>. Set in <LInt1> <LInt2> the updated edges. If all the edges are computed, returns true.


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