Open CASCADE Technology 7.8.2.dev
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.
 
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>.
 
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.
 
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.
 
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 between <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>.
 
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.
 
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.
 
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>.
 
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.
 
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.
 
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.

 

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 between <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: