Open CASCADE Technology 7.8.2.dev
ChFi3d_Builder Class Referenceabstract

Root class for calculation of surfaces (fillets, chamfers) destined to smooth edges of a gap on a Shape and the reconstruction of the Shape. More...

#include <ChFi3d_Builder.hxx>

Inheritance diagram for ChFi3d_Builder:

Public Member Functions

virtual ~ChFi3d_Builder ()
 
void SetParams (const Standard_Real Tang, const Standard_Real Tesp, const Standard_Real T2d, const Standard_Real TApp3d, const Standard_Real TolApp2d, const Standard_Real Fleche)
 
void SetContinuity (const GeomAbs_Shape InternalContinuity, const Standard_Real AngularTolerance)
 
void Remove (const TopoDS_Edge &E)
 extracts from the list the contour containing edge E.
 
Standard_Integer Contains (const TopoDS_Edge &E) const
 gives the number of the contour containing E or 0 if E does not belong to any contour.
 
Standard_Integer Contains (const TopoDS_Edge &E, Standard_Integer &IndexInSpine) const
 gives the number of the contour containing E or 0 if E does not belong to any contour. Sets in IndexInSpine the index of E in the contour if it's found
 
Standard_Integer NbElements () const
 gives the number of disjoint contours on which the fillets are calculated
 
Handle< ChFiDS_SpineValue (const Standard_Integer I) const
 gives the n'th set of edges (contour) if I >NbElements()
 
Standard_Real Length (const Standard_Integer IC) const
 returns the length of the contour of index IC.
 
TopoDS_Vertex FirstVertex (const Standard_Integer IC) const
 returns the First vertex V of the contour of index IC.
 
TopoDS_Vertex LastVertex (const Standard_Integer IC) const
 returns the Last vertex V of the contour of index IC.
 
Standard_Real Abscissa (const Standard_Integer IC, const TopoDS_Vertex &V) const
 returns the abscissa of the vertex V on the contour of index IC.
 
Standard_Real RelativeAbscissa (const Standard_Integer IC, const TopoDS_Vertex &V) const
 returns the relative abscissa([0.,1.]) of the vertex V on the contour of index IC.
 
Standard_Boolean ClosedAndTangent (const Standard_Integer IC) const
 returns true if the contour of index IC is closed an tangent.
 
Standard_Boolean Closed (const Standard_Integer IC) const
 returns true if the contour of index IC is closed
 
void Compute ()
 general calculation of geometry on all edges, topologic reconstruction.
 
Standard_Boolean IsDone () const
 returns True if the computation is success
 
TopoDS_Shape Shape () const
 if (Isdone()) makes the result. if (!Isdone())
 
const TopTools_ListOfShapeGenerated (const TopoDS_Shape &EouV)
 Advanced function for the history.
 
Standard_Integer NbFaultyContours () const
 Returns the number of contours on which the calculation has failed.
 
Standard_Integer FaultyContour (const Standard_Integer I) const
 Returns the number of I'th contour on which the calculation has failed.
 
Standard_Integer NbComputedSurfaces (const Standard_Integer IC) const
 Returns the number of surfaces calculated on the contour IC.
 
Handle< Geom_SurfaceComputedSurface (const Standard_Integer IC, const Standard_Integer IS) const
 Returns the IS'th surface calculated on the contour IC.
 
Standard_Integer NbFaultyVertices () const
 Returns the number of vertices on which the calculation has failed.
 
TopoDS_Vertex FaultyVertex (const Standard_Integer IV) const
 Returns the IV'th vertex on which the calculation has failed.
 
Standard_Boolean HasResult () const
 returns True if a partial result has been calculated
 
TopoDS_Shape BadShape () const
 if (HasResult()) returns partial result if (!HasResult())
 
ChFiDS_ErrorStatus StripeStatus (const Standard_Integer IC) const
 for the stripe IC ,indication on the cause of failure WalkingFailure,TwistedSurface,Error, Ok
 
void Reset ()
 Reset all results of compute and returns the algorithm in the state of the last acquisition to enable modification of contours or areas.
 
Handle< TopOpeBRepBuild_HBuilderBuilder () const
 Returns the Builder of topologic operations.
 
Standard_Boolean SplitKPart (const Handle< ChFiDS_SurfData > &Data, ChFiDS_SequenceOfSurfData &SetData, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Iedge, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, Standard_Boolean &Intf, Standard_Boolean &Intl)
 Method, implemented in the inheritants, calculates the elements of construction of the surface (fillet or chamfer).
 
Standard_Boolean PerformTwoCornerbyInter (const Standard_Integer Index)
 

Protected Member Functions

 ChFi3d_Builder (const TopoDS_Shape &S, const Standard_Real Ta)
 
virtual void SimulKPart (const Handle< ChFiDS_SurfData > &SD) const =0
 
virtual Standard_Boolean SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector &Soldep, Standard_Integer &Intf, Standard_Integer &Intl)=0
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Curve2d > &PC1, const Handle< BRepAdaptor_Surface > &Sref1, const Handle< BRepAdaptor_Curve2d > &PCref1, Standard_Boolean &Decroch1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector &Soldep)
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_Curve2d > &PC2, const Handle< BRepAdaptor_Surface > &Sref2, const Handle< BRepAdaptor_Curve2d > &PCref2, Standard_Boolean &Decroch2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector &Soldep)
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Curve2d > &PC1, const Handle< BRepAdaptor_Surface > &Sref1, const Handle< BRepAdaptor_Curve2d > &PCref1, Standard_Boolean &Decroch1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_Curve2d > &PC2, const Handle< BRepAdaptor_Surface > &Sref2, const Handle< BRepAdaptor_Curve2d > &PCref2, Standard_Boolean &Decroch2, const TopAbs_Orientation Or2, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector &Soldep)
 
Standard_Boolean SimulData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_ElSpine > &AdditionalGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, Blend_Function &Func, Blend_FuncInv &FInv, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const math_Vector &Soldep, const Standard_Integer NbSecMin, const Standard_Boolean RecOnS1=Standard_False, const Standard_Boolean RecOnS2=Standard_False)
 
Standard_Boolean SimulData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor2d_Curve2d > &PC2, const Handle< Adaptor3d_TopolTool > &I2, Standard_Boolean &Decroch, Blend_SurfRstFunction &Func, Blend_FuncInv &FInv, Blend_SurfPointFuncInv &FInvP, Blend_SurfCurvFuncInv &FInvC, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const math_Vector &Soldep, const Standard_Integer NbSecMin, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst)
 
Standard_Boolean SimulData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor2d_Curve2d > &PC1, const Handle< Adaptor3d_TopolTool > &I1, Standard_Boolean &Decroch1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor2d_Curve2d > &PC2, const Handle< Adaptor3d_TopolTool > &I2, Standard_Boolean &Decroch2, Blend_RstRstFunction &Func, Blend_SurfCurvFuncInv &FInv1, Blend_CurvPointFuncInv &FInvP1, Blend_SurfCurvFuncInv &FInv2, Blend_CurvPointFuncInv &FInvP2, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const math_Vector &Soldep, const Standard_Integer NbSecMin, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2)
 
virtual void SetRegul ()=0
 
Standard_Boolean PerformElement (const Handle< ChFiDS_Spine > &CElement, const Standard_Real Offset, const TopoDS_Face &theFirstFace)
 
void PerformExtremity (const Handle< ChFiDS_Spine > &CElement)
 
void PerformSetOfSurf (Handle< ChFiDS_Stripe > &S, const Standard_Boolean Simul=Standard_False)
 
void PerformSetOfKPart (Handle< ChFiDS_Stripe > &S, const Standard_Boolean Simul=Standard_False)
 
void PerformSetOfKGen (Handle< ChFiDS_Stripe > &S, const Standard_Boolean Simul=Standard_False)
 
void Trunc (const Handle< ChFiDS_SurfData > &SD, const Handle< ChFiDS_Spine > &Spine, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const Standard_Integer iedge, const Standard_Boolean isfirst, const Standard_Integer cntlFiOnS)
 
void CallPerformSurf (Handle< ChFiDS_Stripe > &Stripe, const Standard_Boolean Simul, ChFiDS_SequenceOfSurfData &SeqSD, Handle< ChFiDS_SurfData > &SD, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Handle< BRepAdaptor_Surface > &HS1, const Handle< BRepAdaptor_Surface > &HS3, const gp_Pnt2d &P1, const gp_Pnt2d &P3, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Surface > &HS2, const Handle< BRepAdaptor_Surface > &HS4, const gp_Pnt2d &P2, const gp_Pnt2d &P4, const Handle< Adaptor3d_TopolTool > &I2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, math_Vector &Soldep, Standard_Integer &Intf, Standard_Integer &Intl, Handle< BRepAdaptor_Surface > &Surf1, Handle< BRepAdaptor_Surface > &Surf2)
 
virtual Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecOnS1, const Standard_Boolean RecOnS2, const math_Vector &Soldep, Standard_Integer &Intf, Standard_Integer &Intl)=0
 Method, implemented in the inheritants, calculating elements of construction of the surface (fillet or chamfer).
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Curve2d > &PC1, const Handle< BRepAdaptor_Surface > &Sref1, const Handle< BRepAdaptor_Curve2d > &PCref1, Standard_Boolean &Decroch1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector &Soldep)
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face.
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_Curve2d > &PC2, const Handle< BRepAdaptor_Surface > &Sref2, const Handle< BRepAdaptor_Curve2d > &PCref2, Standard_Boolean &Decroch2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst, const math_Vector &Soldep)
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face.
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_Curve2d > &PC1, const Handle< BRepAdaptor_Surface > &Sref1, const Handle< BRepAdaptor_Curve2d > &PCref1, Standard_Boolean &Decroch1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_Curve2d > &PC2, const Handle< BRepAdaptor_Surface > &Sref2, const Handle< BRepAdaptor_Curve2d > &PCref2, Standard_Boolean &Decroch2, const TopAbs_Orientation Or2, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2, const math_Vector &Soldep)
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/edge.
 
virtual void PerformTwoCorner (const Standard_Integer Index)=0
 
virtual void PerformThreeCorner (const Standard_Integer Index)=0
 
void PerformMoreThreeCorner (const Standard_Integer Index, const Standard_Integer nbcourb)
 
virtual void ExtentOneCorner (const TopoDS_Vertex &V, const Handle< ChFiDS_Stripe > &S)=0
 
virtual void ExtentTwoCorner (const TopoDS_Vertex &V, const ChFiDS_ListOfStripe &LS)=0
 
virtual void ExtentThreeCorner (const TopoDS_Vertex &V, const ChFiDS_ListOfStripe &LS)=0
 
virtual Standard_Boolean PerformFirstSection (const Handle< ChFiDS_Spine > &S, const Handle< ChFiDS_ElSpine > &HGuide, const Standard_Integer Choix, Handle< BRepAdaptor_Surface > &S1, Handle< BRepAdaptor_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_TopolTool > &I2, const Standard_Real Par, math_Vector &SolDep, TopAbs_State &Pos1, TopAbs_State &Pos2) const =0
 
Standard_Boolean SearchFace (const Handle< ChFiDS_Spine > &Sp, const ChFiDS_CommonPoint &Pc, const TopoDS_Face &FRef, TopoDS_Face &FVoi) const
 
Standard_Boolean StripeOrientations (const Handle< ChFiDS_Spine > &Sp, TopAbs_Orientation &Or1, TopAbs_Orientation &Or2, Standard_Integer &ChoixConge) const
 
Standard_Boolean ComputeData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_TopolTool > &I2, Blend_Function &Func, Blend_FuncInv &FInv, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const math_Vector &Soldep, Standard_Integer &Intf, Standard_Integer &Intl, Standard_Boolean &Gd1, Standard_Boolean &Gd2, Standard_Boolean &Gf1, Standard_Boolean &Gf2, const Standard_Boolean RecOnS1=Standard_False, const Standard_Boolean RecOnS2=Standard_False)
 Calculates a Line of contact face/face.
 
Standard_Boolean ComputeData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor2d_Curve2d > &PC2, const Handle< Adaptor3d_TopolTool > &I2, Standard_Boolean &Decroch, Blend_SurfRstFunction &Func, Blend_FuncInv &FInv, Blend_SurfPointFuncInv &FInvP, Blend_SurfCurvFuncInv &FInvC, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const math_Vector &Soldep, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP, const Standard_Boolean RecS, const Standard_Boolean RecRst)
 Calculates a Line of contact edge/face.
 
Standard_Boolean ComputeData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_ElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor2d_Curve2d > &PC1, const Handle< Adaptor3d_TopolTool > &I1, Standard_Boolean &Decroch1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor2d_Curve2d > &PC2, const Handle< Adaptor3d_TopolTool > &I2, Standard_Boolean &Decroch2, Blend_RstRstFunction &Func, Blend_SurfCurvFuncInv &FInv1, Blend_CurvPointFuncInv &FInvP1, Blend_SurfCurvFuncInv &FInv2, Blend_CurvPointFuncInv &FInvP2, const Standard_Real PFirst, const Standard_Real MaxStep, const Standard_Real Fleche, const Standard_Real TolGuide, Standard_Real &First, Standard_Real &Last, const math_Vector &Soldep, const Standard_Boolean Inside, const Standard_Boolean Appro, const Standard_Boolean Forward, const Standard_Boolean RecP1, const Standard_Boolean RecRst1, const Standard_Boolean RecP2, const Standard_Boolean RecRst2)
 Calculates a Line of contact edge/edge.
 
Standard_Boolean CompleteData (Handle< ChFiDS_SurfData > &Data, Blend_Function &Func, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const TopAbs_Orientation Or1, const Standard_Boolean Gd1, const Standard_Boolean Gd2, const Standard_Boolean Gf1, const Standard_Boolean Gf2, const Standard_Boolean Reversed=Standard_False)
 
Standard_Boolean CompleteData (Handle< ChFiDS_SurfData > &Data, Blend_SurfRstFunction &Func, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const TopAbs_Orientation Or, const Standard_Boolean Reversed)
 
Standard_Boolean CompleteData (Handle< ChFiDS_SurfData > &Data, Blend_RstRstFunction &Func, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const TopAbs_Orientation Or)
 
Standard_Boolean StoreData (Handle< ChFiDS_SurfData > &Data, const AppBlend_Approx &Approx, const Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_Surface > &S2, const TopAbs_Orientation Or1, const Standard_Boolean Gd1, const Standard_Boolean Gd2, const Standard_Boolean Gf1, const Standard_Boolean Gf2, const Standard_Boolean Reversed=Standard_False)
 
Standard_Boolean CompleteData (Handle< ChFiDS_SurfData > &Data, const Handle< Geom_Surface > &Surfcoin, const Handle< Adaptor3d_Surface > &S1, const Handle< Geom2d_Curve > &PC1, const Handle< Adaptor3d_Surface > &S2, const Handle< Geom2d_Curve > &PC2, const TopAbs_Orientation Or, const Standard_Boolean On1, const Standard_Boolean Gd1, const Standard_Boolean Gd2, const Standard_Boolean Gf1, const Standard_Boolean Gf2)
 

Protected Attributes

Standard_Real tolappangle
 
Standard_Real tolesp
 
Standard_Real tol2d
 
Standard_Real tolapp3d
 
Standard_Real tolapp2d
 
Standard_Real fleche
 
GeomAbs_Shape myConti
 
ChFiDS_Map myEFMap
 
ChFiDS_Map myESoMap
 
ChFiDS_Map myEShMap
 
ChFiDS_Map myVFMap
 
ChFiDS_Map myVEMap
 
Handle< TopOpeBRepDS_HDataStructuremyDS
 
Handle< TopOpeBRepBuild_HBuildermyCoup
 
ChFiDS_ListOfStripe myListStripe
 
ChFiDS_StripeMap myVDataMap
 
ChFiDS_Regularities myRegul
 
ChFiDS_ListOfStripe badstripes
 
TopTools_ListOfShape badvertices
 
TopTools_DataMapOfShapeListOfInteger myEVIMap
 
TopTools_DataMapOfShapeShape myEdgeFirstFace
 
Standard_Boolean done
 
Standard_Boolean hasresult
 

Detailed Description

Root class for calculation of surfaces (fillets, chamfers) destined to smooth edges of a gap on a Shape and the reconstruction of the Shape.

Constructor & Destructor Documentation

◆ ~ChFi3d_Builder()

virtual ChFi3d_Builder::~ChFi3d_Builder ( )
virtual

◆ ChFi3d_Builder()

ChFi3d_Builder::ChFi3d_Builder ( const TopoDS_Shape & S,
const Standard_Real Ta )
protected

Member Function Documentation

◆ Abscissa()

Standard_Real ChFi3d_Builder::Abscissa ( const Standard_Integer IC,
const TopoDS_Vertex & V ) const

returns the abscissa of the vertex V on the contour of index IC.

◆ BadShape()

TopoDS_Shape ChFi3d_Builder::BadShape ( ) const

if (HasResult()) returns partial result if (!HasResult())

◆ Builder()

Handle< TopOpeBRepBuild_HBuilder > ChFi3d_Builder::Builder ( ) const

Returns the Builder of topologic operations.

◆ CallPerformSurf()

void ChFi3d_Builder::CallPerformSurf ( Handle< ChFiDS_Stripe > & Stripe,
const Standard_Boolean Simul,
ChFiDS_SequenceOfSurfData & SeqSD,
Handle< ChFiDS_SurfData > & SD,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Handle< BRepAdaptor_Surface > & HS1,
const Handle< BRepAdaptor_Surface > & HS3,
const gp_Pnt2d & P1,
const gp_Pnt2d & P3,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Surface > & HS2,
const Handle< BRepAdaptor_Surface > & HS4,
const gp_Pnt2d & P2,
const gp_Pnt2d & P4,
const Handle< Adaptor3d_TopolTool > & I2,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecOnS1,
const Standard_Boolean RecOnS2,
math_Vector & Soldep,
Standard_Integer & Intf,
Standard_Integer & Intl,
Handle< BRepAdaptor_Surface > & Surf1,
Handle< BRepAdaptor_Surface > & Surf2 )
protected

◆ Closed()

Standard_Boolean ChFi3d_Builder::Closed ( const Standard_Integer IC) const

returns true if the contour of index IC is closed

◆ ClosedAndTangent()

Standard_Boolean ChFi3d_Builder::ClosedAndTangent ( const Standard_Integer IC) const

returns true if the contour of index IC is closed an tangent.

◆ CompleteData() [1/4]

Standard_Boolean ChFi3d_Builder::CompleteData ( Handle< ChFiDS_SurfData > & Data,
Blend_Function & Func,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const TopAbs_Orientation Or1,
const Standard_Boolean Gd1,
const Standard_Boolean Gd2,
const Standard_Boolean Gf1,
const Standard_Boolean Gf2,
const Standard_Boolean Reversed = Standard_False )
protected

◆ CompleteData() [2/4]

Standard_Boolean ChFi3d_Builder::CompleteData ( Handle< ChFiDS_SurfData > & Data,
Blend_RstRstFunction & Func,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const TopAbs_Orientation Or )
protected

◆ CompleteData() [3/4]

Standard_Boolean ChFi3d_Builder::CompleteData ( Handle< ChFiDS_SurfData > & Data,
Blend_SurfRstFunction & Func,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const TopAbs_Orientation Or,
const Standard_Boolean Reversed )
protected

◆ CompleteData() [4/4]

Standard_Boolean ChFi3d_Builder::CompleteData ( Handle< ChFiDS_SurfData > & Data,
const Handle< Geom_Surface > & Surfcoin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Geom2d_Curve > & PC1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Geom2d_Curve > & PC2,
const TopAbs_Orientation Or,
const Standard_Boolean On1,
const Standard_Boolean Gd1,
const Standard_Boolean Gd2,
const Standard_Boolean Gf1,
const Standard_Boolean Gf2 )
protected

◆ Compute()

void ChFi3d_Builder::Compute ( )

general calculation of geometry on all edges, topologic reconstruction.

◆ ComputeData() [1/3]

Standard_Boolean ChFi3d_Builder::ComputeData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
Blend_Function & Func,
Blend_FuncInv & FInv,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const math_Vector & Soldep,
Standard_Integer & Intf,
Standard_Integer & Intl,
Standard_Boolean & Gd1,
Standard_Boolean & Gd2,
Standard_Boolean & Gf1,
Standard_Boolean & Gf2,
const Standard_Boolean RecOnS1 = Standard_False,
const Standard_Boolean RecOnS2 = Standard_False )
protected

Calculates a Line of contact face/face.

◆ ComputeData() [2/3]

Standard_Boolean ChFi3d_Builder::ComputeData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & HGuide,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor2d_Curve2d > & PC1,
const Handle< Adaptor3d_TopolTool > & I1,
Standard_Boolean & Decroch1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor2d_Curve2d > & PC2,
const Handle< Adaptor3d_TopolTool > & I2,
Standard_Boolean & Decroch2,
Blend_RstRstFunction & Func,
Blend_SurfCurvFuncInv & FInv1,
Blend_CurvPointFuncInv & FInvP1,
Blend_SurfCurvFuncInv & FInv2,
Blend_CurvPointFuncInv & FInvP2,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const math_Vector & Soldep,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP1,
const Standard_Boolean RecRst1,
const Standard_Boolean RecP2,
const Standard_Boolean RecRst2 )
protected

Calculates a Line of contact edge/edge.

◆ ComputeData() [3/3]

Standard_Boolean ChFi3d_Builder::ComputeData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & HGuide,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor2d_Curve2d > & PC2,
const Handle< Adaptor3d_TopolTool > & I2,
Standard_Boolean & Decroch,
Blend_SurfRstFunction & Func,
Blend_FuncInv & FInv,
Blend_SurfPointFuncInv & FInvP,
Blend_SurfCurvFuncInv & FInvC,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const math_Vector & Soldep,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst )
protected

Calculates a Line of contact edge/face.

◆ ComputedSurface()

Handle< Geom_Surface > ChFi3d_Builder::ComputedSurface ( const Standard_Integer IC,
const Standard_Integer IS ) const

Returns the IS'th surface calculated on the contour IC.

◆ Contains() [1/2]

Standard_Integer ChFi3d_Builder::Contains ( const TopoDS_Edge & E) const

gives the number of the contour containing E or 0 if E does not belong to any contour.

◆ Contains() [2/2]

Standard_Integer ChFi3d_Builder::Contains ( const TopoDS_Edge & E,
Standard_Integer & IndexInSpine ) const

gives the number of the contour containing E or 0 if E does not belong to any contour. Sets in IndexInSpine the index of E in the contour if it's found

◆ ExtentOneCorner()

virtual void ChFi3d_Builder::ExtentOneCorner ( const TopoDS_Vertex & V,
const Handle< ChFiDS_Stripe > & S )
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ ExtentThreeCorner()

virtual void ChFi3d_Builder::ExtentThreeCorner ( const TopoDS_Vertex & V,
const ChFiDS_ListOfStripe & LS )
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ ExtentTwoCorner()

virtual void ChFi3d_Builder::ExtentTwoCorner ( const TopoDS_Vertex & V,
const ChFiDS_ListOfStripe & LS )
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ FaultyContour()

Standard_Integer ChFi3d_Builder::FaultyContour ( const Standard_Integer I) const

Returns the number of I'th contour on which the calculation has failed.

◆ FaultyVertex()

TopoDS_Vertex ChFi3d_Builder::FaultyVertex ( const Standard_Integer IV) const

Returns the IV'th vertex on which the calculation has failed.

◆ FirstVertex()

TopoDS_Vertex ChFi3d_Builder::FirstVertex ( const Standard_Integer IC) const

returns the First vertex V of the contour of index IC.

◆ Generated()

const TopTools_ListOfShape & ChFi3d_Builder::Generated ( const TopoDS_Shape & EouV)

Advanced function for the history.

◆ HasResult()

Standard_Boolean ChFi3d_Builder::HasResult ( ) const

returns True if a partial result has been calculated

◆ IsDone()

Standard_Boolean ChFi3d_Builder::IsDone ( ) const

returns True if the computation is success

◆ LastVertex()

TopoDS_Vertex ChFi3d_Builder::LastVertex ( const Standard_Integer IC) const

returns the Last vertex V of the contour of index IC.

◆ Length()

Standard_Real ChFi3d_Builder::Length ( const Standard_Integer IC) const

returns the length of the contour of index IC.

◆ NbComputedSurfaces()

Standard_Integer ChFi3d_Builder::NbComputedSurfaces ( const Standard_Integer IC) const

Returns the number of surfaces calculated on the contour IC.

◆ NbElements()

Standard_Integer ChFi3d_Builder::NbElements ( ) const

gives the number of disjoint contours on which the fillets are calculated

◆ NbFaultyContours()

Standard_Integer ChFi3d_Builder::NbFaultyContours ( ) const

Returns the number of contours on which the calculation has failed.

◆ NbFaultyVertices()

Standard_Integer ChFi3d_Builder::NbFaultyVertices ( ) const

Returns the number of vertices on which the calculation has failed.

◆ PerformElement()

Standard_Boolean ChFi3d_Builder::PerformElement ( const Handle< ChFiDS_Spine > & CElement,
const Standard_Real Offset,
const TopoDS_Face & theFirstFace )
protected

◆ PerformExtremity()

void ChFi3d_Builder::PerformExtremity ( const Handle< ChFiDS_Spine > & CElement)
protected

◆ PerformFirstSection()

virtual Standard_Boolean ChFi3d_Builder::PerformFirstSection ( const Handle< ChFiDS_Spine > & S,
const Handle< ChFiDS_ElSpine > & HGuide,
const Standard_Integer Choix,
Handle< BRepAdaptor_Surface > & S1,
Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_TopolTool > & I2,
const Standard_Real Par,
math_Vector & SolDep,
TopAbs_State & Pos1,
TopAbs_State & Pos2 ) const
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ PerformMoreThreeCorner()

void ChFi3d_Builder::PerformMoreThreeCorner ( const Standard_Integer Index,
const Standard_Integer nbcourb )
protected

◆ PerformSetOfKGen()

void ChFi3d_Builder::PerformSetOfKGen ( Handle< ChFiDS_Stripe > & S,
const Standard_Boolean Simul = Standard_False )
protected

◆ PerformSetOfKPart()

void ChFi3d_Builder::PerformSetOfKPart ( Handle< ChFiDS_Stripe > & S,
const Standard_Boolean Simul = Standard_False )
protected

◆ PerformSetOfSurf()

void ChFi3d_Builder::PerformSetOfSurf ( Handle< ChFiDS_Stripe > & S,
const Standard_Boolean Simul = Standard_False )
protected

◆ PerformSurf() [1/4]

virtual void ChFi3d_Builder::PerformSurf ( ChFiDS_SequenceOfSurfData & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Curve2d > & PC1,
const Handle< BRepAdaptor_Surface > & Sref1,
const Handle< BRepAdaptor_Curve2d > & PCref1,
Standard_Boolean & Decroch1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const TopAbs_Orientation Or2,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst,
const math_Vector & Soldep )
protectedvirtual

Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face.

Reimplemented in ChFi3d_ChBuilder, ChFi3d_FilBuilder, and FilletSurf_InternalBuilder.

◆ PerformSurf() [2/4]

virtual void ChFi3d_Builder::PerformSurf ( ChFiDS_SequenceOfSurfData & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Curve2d > & PC1,
const Handle< BRepAdaptor_Surface > & Sref1,
const Handle< BRepAdaptor_Curve2d > & PCref1,
Standard_Boolean & Decroch1,
const TopAbs_Orientation Or1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Handle< BRepAdaptor_Curve2d > & PC2,
const Handle< BRepAdaptor_Surface > & Sref2,
const Handle< BRepAdaptor_Curve2d > & PCref2,
Standard_Boolean & Decroch2,
const TopAbs_Orientation Or2,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP1,
const Standard_Boolean RecRst1,
const Standard_Boolean RecP2,
const Standard_Boolean RecRst2,
const math_Vector & Soldep )
protectedvirtual

Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/edge.

Reimplemented in ChFi3d_ChBuilder, ChFi3d_FilBuilder, and FilletSurf_InternalBuilder.

◆ PerformSurf() [3/4]

virtual Standard_Boolean ChFi3d_Builder::PerformSurf ( ChFiDS_SequenceOfSurfData & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecOnS1,
const Standard_Boolean RecOnS2,
const math_Vector & Soldep,
Standard_Integer & Intf,
Standard_Integer & Intl )
protectedpure virtual

Method, implemented in the inheritants, calculating elements of construction of the surface (fillet or chamfer).

Implemented in ChFi3d_ChBuilder, ChFi3d_FilBuilder, and FilletSurf_InternalBuilder.

◆ PerformSurf() [4/4]

virtual void ChFi3d_Builder::PerformSurf ( ChFiDS_SequenceOfSurfData & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const TopAbs_Orientation Or1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Handle< BRepAdaptor_Curve2d > & PC2,
const Handle< BRepAdaptor_Surface > & Sref2,
const Handle< BRepAdaptor_Curve2d > & PCref2,
Standard_Boolean & Decroch2,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst,
const math_Vector & Soldep )
protectedvirtual

Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face.

Reimplemented in ChFi3d_ChBuilder, ChFi3d_FilBuilder, and FilletSurf_InternalBuilder.

◆ PerformThreeCorner()

virtual void ChFi3d_Builder::PerformThreeCorner ( const Standard_Integer Index)
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ PerformTwoCorner()

virtual void ChFi3d_Builder::PerformTwoCorner ( const Standard_Integer Index)
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ PerformTwoCornerbyInter()

Standard_Boolean ChFi3d_Builder::PerformTwoCornerbyInter ( const Standard_Integer Index)

◆ RelativeAbscissa()

Standard_Real ChFi3d_Builder::RelativeAbscissa ( const Standard_Integer IC,
const TopoDS_Vertex & V ) const

returns the relative abscissa([0.,1.]) of the vertex V on the contour of index IC.

◆ Remove()

void ChFi3d_Builder::Remove ( const TopoDS_Edge & E)

extracts from the list the contour containing edge E.

◆ Reset()

void ChFi3d_Builder::Reset ( )

Reset all results of compute and returns the algorithm in the state of the last acquisition to enable modification of contours or areas.

◆ SearchFace()

Standard_Boolean ChFi3d_Builder::SearchFace ( const Handle< ChFiDS_Spine > & Sp,
const ChFiDS_CommonPoint & Pc,
const TopoDS_Face & FRef,
TopoDS_Face & FVoi ) const
protected

◆ SetContinuity()

void ChFi3d_Builder::SetContinuity ( const GeomAbs_Shape InternalContinuity,
const Standard_Real AngularTolerance )

◆ SetParams()

void ChFi3d_Builder::SetParams ( const Standard_Real Tang,
const Standard_Real Tesp,
const Standard_Real T2d,
const Standard_Real TApp3d,
const Standard_Real TolApp2d,
const Standard_Real Fleche )

◆ SetRegul()

virtual void ChFi3d_Builder::SetRegul ( )
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ Shape()

TopoDS_Shape ChFi3d_Builder::Shape ( ) const

if (Isdone()) makes the result. if (!Isdone())

◆ SimulData() [1/3]

Standard_Boolean ChFi3d_Builder::SimulData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_ElSpine > & AdditionalGuide,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
Blend_Function & Func,
Blend_FuncInv & FInv,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const math_Vector & Soldep,
const Standard_Integer NbSecMin,
const Standard_Boolean RecOnS1 = Standard_False,
const Standard_Boolean RecOnS2 = Standard_False )
protected

◆ SimulData() [2/3]

Standard_Boolean ChFi3d_Builder::SimulData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & HGuide,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor2d_Curve2d > & PC1,
const Handle< Adaptor3d_TopolTool > & I1,
Standard_Boolean & Decroch1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor2d_Curve2d > & PC2,
const Handle< Adaptor3d_TopolTool > & I2,
Standard_Boolean & Decroch2,
Blend_RstRstFunction & Func,
Blend_SurfCurvFuncInv & FInv1,
Blend_CurvPointFuncInv & FInvP1,
Blend_SurfCurvFuncInv & FInv2,
Blend_CurvPointFuncInv & FInvP2,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const math_Vector & Soldep,
const Standard_Integer NbSecMin,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP1,
const Standard_Boolean RecRst1,
const Standard_Boolean RecP2,
const Standard_Boolean RecRst2 )
protected

◆ SimulData() [3/3]

Standard_Boolean ChFi3d_Builder::SimulData ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & HGuide,
Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor2d_Curve2d > & PC2,
const Handle< Adaptor3d_TopolTool > & I2,
Standard_Boolean & Decroch,
Blend_SurfRstFunction & Func,
Blend_FuncInv & FInv,
Blend_SurfPointFuncInv & FInvP,
Blend_SurfCurvFuncInv & FInvC,
const Standard_Real PFirst,
const Standard_Real MaxStep,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const math_Vector & Soldep,
const Standard_Integer NbSecMin,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst )
protected

◆ SimulKPart()

virtual void ChFi3d_Builder::SimulKPart ( const Handle< ChFiDS_SurfData > & SD) const
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ SimulSurf() [1/4]

virtual void ChFi3d_Builder::SimulSurf ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Curve2d > & PC1,
const Handle< BRepAdaptor_Surface > & Sref1,
const Handle< BRepAdaptor_Curve2d > & PCref1,
Standard_Boolean & Decroch1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const TopAbs_Orientation Or2,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst,
const math_Vector & Soldep )
protectedvirtual

Reimplemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ SimulSurf() [2/4]

virtual void ChFi3d_Builder::SimulSurf ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Curve2d > & PC1,
const Handle< BRepAdaptor_Surface > & Sref1,
const Handle< BRepAdaptor_Curve2d > & PCref1,
Standard_Boolean & Decroch1,
const TopAbs_Orientation Or1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Handle< BRepAdaptor_Curve2d > & PC2,
const Handle< BRepAdaptor_Surface > & Sref2,
const Handle< BRepAdaptor_Curve2d > & PCref2,
Standard_Boolean & Decroch2,
const TopAbs_Orientation Or2,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP1,
const Standard_Boolean RecRst1,
const Standard_Boolean RecP2,
const Standard_Boolean RecRst2,
const math_Vector & Soldep )
protectedvirtual

Reimplemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ SimulSurf() [3/4]

virtual Standard_Boolean ChFi3d_Builder::SimulSurf ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecOnS1,
const Standard_Boolean RecOnS2,
const math_Vector & Soldep,
Standard_Integer & Intf,
Standard_Integer & Intl )
protectedpure virtual

Implemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ SimulSurf() [4/4]

virtual void ChFi3d_Builder::SimulSurf ( Handle< ChFiDS_SurfData > & Data,
const Handle< ChFiDS_ElSpine > & Guide,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Choix,
const Handle< BRepAdaptor_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const TopAbs_Orientation Or1,
const Handle< BRepAdaptor_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
const Handle< BRepAdaptor_Curve2d > & PC2,
const Handle< BRepAdaptor_Surface > & Sref2,
const Handle< BRepAdaptor_Curve2d > & PCref2,
Standard_Boolean & Decroch2,
const Standard_Real Fleche,
const Standard_Real TolGuide,
Standard_Real & First,
Standard_Real & Last,
const Standard_Boolean Inside,
const Standard_Boolean Appro,
const Standard_Boolean Forward,
const Standard_Boolean RecP,
const Standard_Boolean RecS,
const Standard_Boolean RecRst,
const math_Vector & Soldep )
protectedvirtual

Reimplemented in ChFi3d_ChBuilder, and ChFi3d_FilBuilder.

◆ SplitKPart()

Standard_Boolean ChFi3d_Builder::SplitKPart ( const Handle< ChFiDS_SurfData > & Data,
ChFiDS_SequenceOfSurfData & SetData,
const Handle< ChFiDS_Spine > & Spine,
const Standard_Integer Iedge,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_TopolTool > & I1,
const Handle< Adaptor3d_Surface > & S2,
const Handle< Adaptor3d_TopolTool > & I2,
Standard_Boolean & Intf,
Standard_Boolean & Intl )

Method, implemented in the inheritants, calculates the elements of construction of the surface (fillet or chamfer).

◆ StoreData()

Standard_Boolean ChFi3d_Builder::StoreData ( Handle< ChFiDS_SurfData > & Data,
const AppBlend_Approx & Approx,
const Handle< BRepBlend_Line > & Lin,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const TopAbs_Orientation Or1,
const Standard_Boolean Gd1,
const Standard_Boolean Gd2,
const Standard_Boolean Gf1,
const Standard_Boolean Gf2,
const Standard_Boolean Reversed = Standard_False )
protected

◆ StripeOrientations()

Standard_Boolean ChFi3d_Builder::StripeOrientations ( const Handle< ChFiDS_Spine > & Sp,
TopAbs_Orientation & Or1,
TopAbs_Orientation & Or2,
Standard_Integer & ChoixConge ) const
protected

◆ StripeStatus()

ChFiDS_ErrorStatus ChFi3d_Builder::StripeStatus ( const Standard_Integer IC) const

for the stripe IC ,indication on the cause of failure WalkingFailure,TwistedSurface,Error, Ok

◆ Trunc()

void ChFi3d_Builder::Trunc ( const Handle< ChFiDS_SurfData > & SD,
const Handle< ChFiDS_Spine > & Spine,
const Handle< Adaptor3d_Surface > & S1,
const Handle< Adaptor3d_Surface > & S2,
const Standard_Integer iedge,
const Standard_Boolean isfirst,
const Standard_Integer cntlFiOnS )
protected

◆ Value()

Handle< ChFiDS_Spine > ChFi3d_Builder::Value ( const Standard_Integer I) const

gives the n'th set of edges (contour) if I >NbElements()

Field Documentation

◆ badstripes

ChFiDS_ListOfStripe ChFi3d_Builder::badstripes
protected

◆ badvertices

TopTools_ListOfShape ChFi3d_Builder::badvertices
protected

◆ done

Standard_Boolean ChFi3d_Builder::done
protected

◆ fleche

Standard_Real ChFi3d_Builder::fleche
protected

◆ hasresult

Standard_Boolean ChFi3d_Builder::hasresult
protected

◆ myConti

GeomAbs_Shape ChFi3d_Builder::myConti
protected

◆ myCoup

Handle< TopOpeBRepBuild_HBuilder > ChFi3d_Builder::myCoup
protected

◆ myDS

Handle< TopOpeBRepDS_HDataStructure > ChFi3d_Builder::myDS
protected

◆ myEdgeFirstFace

TopTools_DataMapOfShapeShape ChFi3d_Builder::myEdgeFirstFace
protected

◆ myEFMap

ChFiDS_Map ChFi3d_Builder::myEFMap
protected

◆ myEShMap

ChFiDS_Map ChFi3d_Builder::myEShMap
protected

◆ myESoMap

ChFiDS_Map ChFi3d_Builder::myESoMap
protected

◆ myEVIMap

TopTools_DataMapOfShapeListOfInteger ChFi3d_Builder::myEVIMap
protected

◆ myListStripe

ChFiDS_ListOfStripe ChFi3d_Builder::myListStripe
protected

◆ myRegul

ChFiDS_Regularities ChFi3d_Builder::myRegul
protected

◆ myVDataMap

ChFiDS_StripeMap ChFi3d_Builder::myVDataMap
protected

◆ myVEMap

ChFiDS_Map ChFi3d_Builder::myVEMap
protected

◆ myVFMap

ChFiDS_Map ChFi3d_Builder::myVFMap
protected

◆ tol2d

Standard_Real ChFi3d_Builder::tol2d
protected

◆ tolapp2d

Standard_Real ChFi3d_Builder::tolapp2d
protected

◆ tolapp3d

Standard_Real ChFi3d_Builder::tolapp3d
protected

◆ tolappangle

Standard_Real ChFi3d_Builder::tolappangle
protected

◆ tolesp

Standard_Real ChFi3d_Builder::tolesp
protected

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