Open CASCADE Technology 7.8.2.dev
BRepFill_Sweep Class Reference

Topological Sweep Algorithm Computes an Sweep shell using a generating wire, an SectionLaw and an LocationLaw. More...

#include <BRepFill_Sweep.hxx>

Public Member Functions

 BRepFill_Sweep (const Handle< BRepFill_SectionLaw > &Section, const Handle< BRepFill_LocationLaw > &Location, const Standard_Boolean WithKPart)
 
void SetBounds (const TopoDS_Wire &FirstShape, const TopoDS_Wire &LastShape)
 
void SetTolerance (const Standard_Real Tol3d, const Standard_Real BoundTol=1.0, const Standard_Real Tol2d=1.0e-5, const Standard_Real TolAngular=1.0e-2)
 Set Approximation Tolerance Tol3d : Tolerance to surface approximation Tol2d : Tolerance used to perform curve approximation Normally the 2d curve are approximated with a tolerance given by the resolution on support surfaces, but if this tolerance is too large Tol2d is used. TolAngular : Tolerance (in radian) to control the angle between tangents on the section law and tangent of iso-v on approximated surface.
 
void SetAngularControl (const Standard_Real AngleMin=0.01, const Standard_Real AngleMax=6.0)
 Tolerance To controle Corner management.
 
void SetForceApproxC1 (const Standard_Boolean ForceApproxC1)
 Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0.
 
void Build (TopTools_MapOfShape &ReversedEdges, BRepFill_DataMapOfShapeHArray2OfShape &Tapes, BRepFill_DataMapOfShapeHArray2OfShape &Rails, const BRepFill_TransitionStyle Transition=BRepFill_Modified, const GeomAbs_Shape Continuity=GeomAbs_C2, const GeomFill_ApproxStyle Approx=GeomFill_Location, const Standard_Integer Degmax=11, const Standard_Integer Segmax=30)
 Build the Sweep Surface Transition define Transition strategy Approx define Approximation Strategy.
 
Standard_Boolean IsDone () const
 Say if the Shape is Build.
 
TopoDS_Shape Shape () const
 returns the Sweeping Shape
 
Standard_Real ErrorOnSurface () const
 Get the Approximation error.
 
Handle< TopTools_HArray2OfShape > SubShape () const
 
Handle< TopTools_HArray2OfShape > InterFaces () const
 
Handle< TopTools_HArray2OfShape > Sections () const
 
TopoDS_Shape Tape (const Standard_Integer Index) const
 returns the Tape corresponding to Index-th edge of section
 

Protected Member Functions

Standard_Boolean CorrectApproxParameters ()
 
Standard_Boolean BuildWire (const BRepFill_TransitionStyle Transition)
 
Standard_Boolean BuildShell (const BRepFill_TransitionStyle Transition, const Standard_Integer Vf, const Standard_Integer Vl, TopTools_MapOfShape &ReversedEdges, BRepFill_DataMapOfShapeHArray2OfShape &Tapes, BRepFill_DataMapOfShapeHArray2OfShape &Rails, const Standard_Real ExtendFirst=0.0, const Standard_Real ExtendLast=0.0)
 
Standard_Boolean PerformCorner (const Standard_Integer Index, const BRepFill_TransitionStyle Transition, const Handle< TopTools_HArray2OfShape > &Bounds)
 
Standard_Real EvalExtrapol (const Standard_Integer Index, const BRepFill_TransitionStyle Transition) const
 
Standard_Boolean MergeVertex (const TopoDS_Shape &V1, TopoDS_Shape &V2) const
 
void UpdateVertex (const Standard_Integer Ipath, const Standard_Integer Isec, const Standard_Real Error, const Standard_Real Param, TopoDS_Shape &V) const
 
void RebuildTopOrBottomEdge (const TopoDS_Edge &aNewEdge, TopoDS_Edge &anEdge, TopTools_MapOfShape &ReversedEdges) const
 

Detailed Description

Topological Sweep Algorithm Computes an Sweep shell using a generating wire, an SectionLaw and an LocationLaw.

Constructor & Destructor Documentation

◆ BRepFill_Sweep()

BRepFill_Sweep::BRepFill_Sweep ( const Handle< BRepFill_SectionLaw > & Section,
const Handle< BRepFill_LocationLaw > & Location,
const Standard_Boolean WithKPart )

Member Function Documentation

◆ Build()

void BRepFill_Sweep::Build ( TopTools_MapOfShape & ReversedEdges,
BRepFill_DataMapOfShapeHArray2OfShape & Tapes,
BRepFill_DataMapOfShapeHArray2OfShape & Rails,
const BRepFill_TransitionStyle Transition = BRepFill_Modified,
const GeomAbs_Shape Continuity = GeomAbs_C2,
const GeomFill_ApproxStyle Approx = GeomFill_Location,
const Standard_Integer Degmax = 11,
const Standard_Integer Segmax = 30 )

Build the Sweep Surface Transition define Transition strategy Approx define Approximation Strategy.

  • GeomFill_Section : The composed Function Location X Section is directly approximated.
  • GeomFill_Location : The location law is approximated, and the SweepSurface builds an algebraic composition of approximated location law and section law This option is Ok, if Section.Surface() methode is effective. Continuity : The continuity in v waiting on the surface Degmax : The maximum degree in v required on the surface Segmax : The maximum number of span in v required on the surface.

◆ BuildShell()

Standard_Boolean BRepFill_Sweep::BuildShell ( const BRepFill_TransitionStyle Transition,
const Standard_Integer Vf,
const Standard_Integer Vl,
TopTools_MapOfShape & ReversedEdges,
BRepFill_DataMapOfShapeHArray2OfShape & Tapes,
BRepFill_DataMapOfShapeHArray2OfShape & Rails,
const Standard_Real ExtendFirst = 0.0,
const Standard_Real ExtendLast = 0.0 )
protected

◆ BuildWire()

Standard_Boolean BRepFill_Sweep::BuildWire ( const BRepFill_TransitionStyle Transition)
protected

◆ CorrectApproxParameters()

Standard_Boolean BRepFill_Sweep::CorrectApproxParameters ( )
protected

◆ ErrorOnSurface()

Standard_Real BRepFill_Sweep::ErrorOnSurface ( ) const

Get the Approximation error.

◆ EvalExtrapol()

Standard_Real BRepFill_Sweep::EvalExtrapol ( const Standard_Integer Index,
const BRepFill_TransitionStyle Transition ) const
protected

◆ InterFaces()

Handle< TopTools_HArray2OfShape > BRepFill_Sweep::InterFaces ( ) const

◆ IsDone()

Standard_Boolean BRepFill_Sweep::IsDone ( ) const

Say if the Shape is Build.

◆ MergeVertex()

Standard_Boolean BRepFill_Sweep::MergeVertex ( const TopoDS_Shape & V1,
TopoDS_Shape & V2 ) const
protected

◆ PerformCorner()

Standard_Boolean BRepFill_Sweep::PerformCorner ( const Standard_Integer Index,
const BRepFill_TransitionStyle Transition,
const Handle< TopTools_HArray2OfShape > & Bounds )
protected

◆ RebuildTopOrBottomEdge()

void BRepFill_Sweep::RebuildTopOrBottomEdge ( const TopoDS_Edge & aNewEdge,
TopoDS_Edge & anEdge,
TopTools_MapOfShape & ReversedEdges ) const
protected

◆ Sections()

Handle< TopTools_HArray2OfShape > BRepFill_Sweep::Sections ( ) const

◆ SetAngularControl()

void BRepFill_Sweep::SetAngularControl ( const Standard_Real AngleMin = 0.01,
const Standard_Real AngleMax = 6.0 )

Tolerance To controle Corner management.

If the discontinuity is lesser than <AngleMin> in radian The Transition Performed will be always "Modified"

◆ SetBounds()

void BRepFill_Sweep::SetBounds ( const TopoDS_Wire & FirstShape,
const TopoDS_Wire & LastShape )

◆ SetForceApproxC1()

void BRepFill_Sweep::SetForceApproxC1 ( const Standard_Boolean ForceApproxC1)

Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0.

◆ SetTolerance()

void BRepFill_Sweep::SetTolerance ( const Standard_Real Tol3d,
const Standard_Real BoundTol = 1.0,
const Standard_Real Tol2d = 1.0e-5,
const Standard_Real TolAngular = 1.0e-2 )

Set Approximation Tolerance Tol3d : Tolerance to surface approximation Tol2d : Tolerance used to perform curve approximation Normally the 2d curve are approximated with a tolerance given by the resolution on support surfaces, but if this tolerance is too large Tol2d is used. TolAngular : Tolerance (in radian) to control the angle between tangents on the section law and tangent of iso-v on approximated surface.

◆ Shape()

TopoDS_Shape BRepFill_Sweep::Shape ( ) const

returns the Sweeping Shape

◆ SubShape()

Handle< TopTools_HArray2OfShape > BRepFill_Sweep::SubShape ( ) const

◆ Tape()

TopoDS_Shape BRepFill_Sweep::Tape ( const Standard_Integer Index) const

returns the Tape corresponding to Index-th edge of section

◆ UpdateVertex()

void BRepFill_Sweep::UpdateVertex ( const Standard_Integer Ipath,
const Standard_Integer Isec,
const Standard_Real Error,
const Standard_Real Param,
TopoDS_Shape & V ) const
protected

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