Open CASCADE Technology  7.3.0
Public Member Functions | Protected Member Functions

ChFi3d_FilBuilder Class Reference

Tool of construction of fillets 3d on edges (on a solid). More...

#include <ChFi3d_FilBuilder.hxx>

Inheritance diagram for ChFi3d_FilBuilder:
Inheritance graph
[legend]

Public Member Functions

 ChFi3d_FilBuilder (const TopoDS_Shape &S, const ChFi3d_FilletShape FShape=ChFi3d_Rational, const Standard_Real Ta=1.0e-2)
 
void SetFilletShape (const ChFi3d_FilletShape FShape)
 Sets the type of fillet surface. More...
 
ChFi3d_FilletShape GetFilletShape () const
 Returns the type of fillet surface. More...
 
void Add (const TopoDS_Edge &E)
 initialisation of a contour with the first edge (the following are found by propagation). Attention, you need to start with SetRadius. More...
 
void Add (const Standard_Real Radius, const TopoDS_Edge &E)
 initialisation of the constant vector the corresponding 1st edge. More...
 
void SetRadius (const Handle< Law_Function > &C, const Standard_Integer IC, const Standard_Integer IinC)
 Set the radius of the contour of index IC. More...
 
Standard_Boolean IsConstant (const Standard_Integer IC)
 Returns true the contour is flaged as edge constant. More...
 
Standard_Real Radius (const Standard_Integer IC)
 Returns the vector if the contour is flagged as edge constant. More...
 
void ResetContour (const Standard_Integer IC)
 Reset all vectors of contour IC. More...
 
void SetRadius (const Standard_Real Radius, const Standard_Integer IC, const TopoDS_Edge &E)
 Set a constant on edge E of the contour of index IC. Since then E is flagged as constant. More...
 
void UnSet (const Standard_Integer IC, const TopoDS_Edge &E)
 Extracts the flag constant and the vector of edge E. More...
 
void SetRadius (const Standard_Real Radius, const Standard_Integer IC, const TopoDS_Vertex &V)
 Set a vector on vertex V of the contour of index IC. More...
 
void UnSet (const Standard_Integer IC, const TopoDS_Vertex &V)
 Extracts the vector of the vertex V. More...
 
void SetRadius (const gp_XY &UandR, const Standard_Integer IC, const Standard_Integer IinC)
 Set a vertex on the point of parametre U in the edge IinC of the contour of index IC. More...
 
Standard_Boolean IsConstant (const Standard_Integer IC, const TopoDS_Edge &E)
 Returns true E is flagged as edge constant. More...
 
Standard_Real Radius (const Standard_Integer IC, const TopoDS_Edge &E)
 Returns the vector if E is flagged as edge constant. More...
 
Standard_Boolean GetBounds (const Standard_Integer IC, const TopoDS_Edge &E, Standard_Real &First, Standard_Real &Last)
 Returns in First and Last les extremities of the part of variable vector framing E, returns False if E is flagged as edge constant. More...
 
Handle< Law_FunctionGetLaw (const Standard_Integer IC, const TopoDS_Edge &E)
 Returns the rule of elementary evolution of the part to variable vector framing E, returns a rule zero if E is flagged as edge constant. More...
 
void SetLaw (const Standard_Integer IC, const TopoDS_Edge &E, const Handle< Law_Function > &L)
 Sets the rule of elementary evolution of the part to variable vector framing E. More...
 
void Simulate (const Standard_Integer IC)
 
Standard_Integer NbSurf (const Standard_Integer IC) const
 
Handle< ChFiDS_SecHArray1 > Sect (const Standard_Integer IC, const Standard_Integer IS) const
 
- Public Member Functions inherited from ChFi3d_Builder
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. More...
 
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. More...
 
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 More...
 
Standard_Integer NbElements () const
 gives the number of disjoint contours on which the fillets are calculated More...
 
Handle< ChFiDS_SpineValue (const Standard_Integer I) const
 gives the n'th set of edges (contour) if I >NbElements() More...
 
Standard_Real Length (const Standard_Integer IC) const
 returns the length of the contour of index IC. More...
 
TopoDS_Vertex FirstVertex (const Standard_Integer IC) const
 returns the First vertex V of the contour of index IC. More...
 
TopoDS_Vertex LastVertex (const Standard_Integer IC) const
 returns the Last vertex V of the contour of index IC. More...
 
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. More...
 
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. More...
 
Standard_Boolean ClosedAndTangent (const Standard_Integer IC) const
 returns true if the contour of index IC is closed an tangent. More...
 
Standard_Boolean Closed (const Standard_Integer IC) const
 returns true if the contour of index IC is closed More...
 
void Compute ()
 general calculation of geometry on all edges, topologic reconstruction. More...
 
Standard_Boolean IsDone () const
 returns True if the computation is success More...
 
TopoDS_Shape Shape () const
 if (Isdone()) makes the result. if (!Isdone()) More...
 
const TopTools_ListOfShapeGenerated (const TopoDS_Shape &EouV)
 Advanced function for the history. More...
 
Standard_Integer NbFaultyContours () const
 Returns the number of contours on which the calculation has failed. More...
 
Standard_Integer FaultyContour (const Standard_Integer I) const
 Returns the number of I'th contour on which the calculation has failed. More...
 
Standard_Integer NbComputedSurfaces (const Standard_Integer IC) const
 Returns the number of surfaces calculated on the contour IC. More...
 
Handle< Geom_SurfaceComputedSurface (const Standard_Integer IC, const Standard_Integer IS) const
 Returns the IS'th surface calculated on the contour IC. More...
 
Standard_Integer NbFaultyVertices () const
 Returns the number of vertices on which the calculation has failed. More...
 
TopoDS_Vertex FaultyVertex (const Standard_Integer IV) const
 Returns the IV'th vertex on which the calculation has failed. More...
 
Standard_Boolean HasResult () const
 returns True if a partial result has been calculated More...
 
TopoDS_Shape BadShape () const
 if (HasResult()) returns partial result if (!HasResult()) More...
 
ChFiDS_ErrorStatus StripeStatus (const Standard_Integer IC) const
 for the stripe IC ,indication on the cause of failure WalkingFailure,TwistedSurface,Error, Ok More...
 
void Reset ()
 Reset all results of compute and returns the algorythm in the state of the last acquisition to enable modification of contours or areas. More...
 
Handle< TopOpeBRepBuild_HBuilderBuilder () const
 Returns the Builder of topologic operations. More...
 
Standard_Boolean SplitKPart (const Handle< ChFiDS_SurfData > &Data, ChFiDS_SequenceOfSurfData &SetData, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Iedge, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_HSurface > &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). More...
 
Standard_Boolean PerformTwoCornerbyInter (const Standard_Integer Index)
 

Protected Member Functions

void SimulKPart (const Handle< ChFiDS_SurfData > &SD) const override
 
Standard_Boolean SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HSurface > &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) override
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HCurve2d > &PC1, const Handle< BRepAdaptor_HSurface > &Sref1, const Handle< BRepAdaptor_HCurve2d > &PCref1, Standard_Boolean &Decroch1, const Handle< BRepAdaptor_HSurface > &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) override
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_HCurve2d > &PC2, const Handle< BRepAdaptor_HSurface > &Sref2, const Handle< BRepAdaptor_HCurve2d > &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) override
 
virtual void SimulSurf (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HCurve2d > &PC1, const Handle< BRepAdaptor_HSurface > &Sref1, const Handle< BRepAdaptor_HCurve2d > &PCref1, Standard_Boolean &Decroch1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_HCurve2d > &PC2, const Handle< BRepAdaptor_HSurface > &Sref2, const Handle< BRepAdaptor_HCurve2d > &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) override
 
Standard_Boolean PerformFirstSection (const Handle< ChFiDS_Spine > &S, const Handle< ChFiDS_HElSpine > &HGuide, const Standard_Integer Choix, Handle< BRepAdaptor_HSurface > &S1, Handle< BRepAdaptor_HSurface > &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 override
 
Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData &SeqData, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HSurface > &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) override
 Method calculates the elements of construction of the fillet (constant or evolutive). More...
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &SeqData, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HCurve2d > &PC1, const Handle< BRepAdaptor_HSurface > &Sref1, const Handle< BRepAdaptor_HCurve2d > &PCref1, Standard_Boolean &Decroch1, const Handle< BRepAdaptor_HSurface > &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) override
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face. More...
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &SeqData, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_HCurve2d > &PC2, const Handle< BRepAdaptor_HSurface > &Sref2, const Handle< BRepAdaptor_HCurve2d > &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) override
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/face. More...
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &Data, const Handle< ChFiDS_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Standard_Integer Choix, const Handle< BRepAdaptor_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HCurve2d > &PC1, const Handle< BRepAdaptor_HSurface > &Sref1, const Handle< BRepAdaptor_HCurve2d > &PCref1, Standard_Boolean &Decroch1, const TopAbs_Orientation Or1, const Handle< BRepAdaptor_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &I2, const Handle< BRepAdaptor_HCurve2d > &PC2, const Handle< BRepAdaptor_HSurface > &Sref2, const Handle< BRepAdaptor_HCurve2d > &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) override
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/edge. More...
 
void SplitSurf (ChFiDS_SequenceOfSurfData &SeqData, const Handle< BRepBlend_Line > &line)
 Method to split an singular SurfData in several non singular SurfData.. More...
 
void PerformTwoCorner (const Standard_Integer Index) override
 
void PerformThreeCorner (const Standard_Integer Index) override
 
void ExtentOneCorner (const TopoDS_Vertex &V, const Handle< ChFiDS_Stripe > &S) override
 
void ExtentTwoCorner (const TopoDS_Vertex &V, const ChFiDS_ListOfStripe &LS) override
 
void ExtentThreeCorner (const TopoDS_Vertex &V, const ChFiDS_ListOfStripe &LS) override
 
void SetRegul () override
 
- Protected Member Functions inherited from ChFi3d_Builder
 ChFi3d_Builder (const TopoDS_Shape &S, const Standard_Real Ta)
 
Standard_Boolean SimulData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &Guide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_HSurface > &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_HElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor2d_HCurve2d > &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_HElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor2d_HCurve2d > &PC1, const Handle< Adaptor3d_TopolTool > &I1, Standard_Boolean &Decroch1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor2d_HCurve2d > &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)
 
Standard_Boolean PerformElement (const Handle< ChFiDS_Spine > &CElement)
 
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_HSurface > &S1, const Handle< Adaptor3d_HSurface > &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_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, const Handle< BRepAdaptor_HSurface > &HS1, const Handle< BRepAdaptor_HSurface > &HS3, const gp_Pnt2d &P1, const gp_Pnt2d &P3, const Handle< Adaptor3d_TopolTool > &I1, const Handle< BRepAdaptor_HSurface > &HS2, const Handle< BRepAdaptor_HSurface > &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_HSurface > &Surf1, Handle< BRepAdaptor_HSurface > &Surf2)
 
void PerformMoreThreeCorner (const Standard_Integer Index, const Standard_Integer nbcourb)
 
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_HElSpine > &Guide, const Handle< ChFiDS_Spine > &Spine, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_HSurface > &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. More...
 
Standard_Boolean ComputeData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &I1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor2d_HCurve2d > &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. More...
 
Standard_Boolean ComputeData (Handle< ChFiDS_SurfData > &Data, const Handle< ChFiDS_HElSpine > &HGuide, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor2d_HCurve2d > &PC1, const Handle< Adaptor3d_TopolTool > &I1, Standard_Boolean &Decroch1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor2d_HCurve2d > &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. More...
 
Standard_Boolean CompleteData (Handle< ChFiDS_SurfData > &Data, Blend_Function &Func, Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_HSurface > &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_HSurface > &S1, const Handle< Adaptor3d_HSurface > &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_HSurface > &S1, const Handle< Adaptor3d_HSurface > &S2, const TopAbs_Orientation Or)
 
Standard_Boolean StoreData (Handle< ChFiDS_SurfData > &Data, const AppBlend_Approx &Approx, const Handle< BRepBlend_Line > &Lin, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_HSurface > &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_HSurface > &S1, const Handle< Geom2d_Curve > &PC1, const Handle< Adaptor3d_HSurface > &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)
 

Additional Inherited Members

- Protected Attributes inherited from ChFi3d_Builder
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
 
Standard_Boolean done
 
Standard_Boolean hasresult
 

Detailed Description

Tool of construction of fillets 3d on edges (on a solid).

Constructor & Destructor Documentation

◆ ChFi3d_FilBuilder()

ChFi3d_FilBuilder::ChFi3d_FilBuilder ( const TopoDS_Shape S,
const ChFi3d_FilletShape  FShape = ChFi3d_Rational,
const Standard_Real  Ta = 1.0e-2 
)

Member Function Documentation

◆ Add() [1/2]

void ChFi3d_FilBuilder::Add ( const TopoDS_Edge E)

initialisation of a contour with the first edge (the following are found by propagation). Attention, you need to start with SetRadius.

◆ Add() [2/2]

void ChFi3d_FilBuilder::Add ( const Standard_Real  Radius,
const TopoDS_Edge E 
)

initialisation of the constant vector the corresponding 1st edge.

◆ ExtentOneCorner()

void ChFi3d_FilBuilder::ExtentOneCorner ( const TopoDS_Vertex V,
const Handle< ChFiDS_Stripe > &  S 
)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ ExtentThreeCorner()

void ChFi3d_FilBuilder::ExtentThreeCorner ( const TopoDS_Vertex V,
const ChFiDS_ListOfStripe LS 
)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ ExtentTwoCorner()

void ChFi3d_FilBuilder::ExtentTwoCorner ( const TopoDS_Vertex V,
const ChFiDS_ListOfStripe LS 
)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ GetBounds()

Standard_Boolean ChFi3d_FilBuilder::GetBounds ( const Standard_Integer  IC,
const TopoDS_Edge E,
Standard_Real First,
Standard_Real Last 
)

Returns in First and Last les extremities of the part of variable vector framing E, returns False if E is flagged as edge constant.

◆ GetFilletShape()

ChFi3d_FilletShape ChFi3d_FilBuilder::GetFilletShape ( ) const

Returns the type of fillet surface.

◆ GetLaw()

Handle< Law_Function > ChFi3d_FilBuilder::GetLaw ( const Standard_Integer  IC,
const TopoDS_Edge E 
)

Returns the rule of elementary evolution of the part to variable vector framing E, returns a rule zero if E is flagged as edge constant.

◆ IsConstant() [1/2]

Standard_Boolean ChFi3d_FilBuilder::IsConstant ( const Standard_Integer  IC)

Returns true the contour is flaged as edge constant.

◆ IsConstant() [2/2]

Standard_Boolean ChFi3d_FilBuilder::IsConstant ( const Standard_Integer  IC,
const TopoDS_Edge E 
)

Returns true E is flagged as edge constant.

◆ NbSurf()

Standard_Integer ChFi3d_FilBuilder::NbSurf ( const Standard_Integer  IC) const

◆ PerformFirstSection()

Standard_Boolean ChFi3d_FilBuilder::PerformFirstSection ( const Handle< ChFiDS_Spine > &  S,
const Handle< ChFiDS_HElSpine > &  HGuide,
const Standard_Integer  Choix,
Handle< BRepAdaptor_HSurface > &  S1,
Handle< BRepAdaptor_HSurface > &  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
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ PerformSurf() [1/4]

Standard_Boolean ChFi3d_FilBuilder::PerformSurf ( ChFiDS_SequenceOfSurfData SeqData,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HSurface > &  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 
)
overrideprotectedvirtual

Method calculates the elements of construction of the fillet (constant or evolutive).

Implements ChFi3d_Builder.

Reimplemented in FilletSurf_InternalBuilder.

◆ PerformSurf() [2/4]

virtual void ChFi3d_FilBuilder::PerformSurf ( ChFiDS_SequenceOfSurfData Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HCurve2d > &  PC1,
const Handle< BRepAdaptor_HSurface > &  Sref1,
const Handle< BRepAdaptor_HCurve2d > &  PCref1,
Standard_Boolean Decroch1,
const Handle< BRepAdaptor_HSurface > &  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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_Builder.

Reimplemented in FilletSurf_InternalBuilder.

◆ PerformSurf() [3/4]

virtual void ChFi3d_FilBuilder::PerformSurf ( ChFiDS_SequenceOfSurfData Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const TopAbs_Orientation  Or1,
const Handle< BRepAdaptor_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  I2,
const Handle< BRepAdaptor_HCurve2d > &  PC2,
const Handle< BRepAdaptor_HSurface > &  Sref2,
const Handle< BRepAdaptor_HCurve2d > &  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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_Builder.

Reimplemented in FilletSurf_InternalBuilder.

◆ PerformSurf() [4/4]

virtual void ChFi3d_FilBuilder::PerformSurf ( ChFiDS_SequenceOfSurfData Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HCurve2d > &  PC1,
const Handle< BRepAdaptor_HSurface > &  Sref1,
const Handle< BRepAdaptor_HCurve2d > &  PCref1,
Standard_Boolean Decroch1,
const TopAbs_Orientation  Or1,
const Handle< BRepAdaptor_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  I2,
const Handle< BRepAdaptor_HCurve2d > &  PC2,
const Handle< BRepAdaptor_HSurface > &  Sref2,
const Handle< BRepAdaptor_HCurve2d > &  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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_Builder.

Reimplemented in FilletSurf_InternalBuilder.

◆ PerformThreeCorner()

void ChFi3d_FilBuilder::PerformThreeCorner ( const Standard_Integer  Index)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ PerformTwoCorner()

void ChFi3d_FilBuilder::PerformTwoCorner ( const Standard_Integer  Index)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ Radius() [1/2]

Standard_Real ChFi3d_FilBuilder::Radius ( const Standard_Integer  IC)

Returns the vector if the contour is flagged as edge constant.

◆ Radius() [2/2]

Standard_Real ChFi3d_FilBuilder::Radius ( const Standard_Integer  IC,
const TopoDS_Edge E 
)

Returns the vector if E is flagged as edge constant.

◆ ResetContour()

void ChFi3d_FilBuilder::ResetContour ( const Standard_Integer  IC)

Reset all vectors of contour IC.

◆ Sect()

Handle< ChFiDS_SecHArray1 > ChFi3d_FilBuilder::Sect ( const Standard_Integer  IC,
const Standard_Integer  IS 
) const

◆ SetFilletShape()

void ChFi3d_FilBuilder::SetFilletShape ( const ChFi3d_FilletShape  FShape)

Sets the type of fillet surface.

◆ SetLaw()

void ChFi3d_FilBuilder::SetLaw ( const Standard_Integer  IC,
const TopoDS_Edge E,
const Handle< Law_Function > &  L 
)

Sets the rule of elementary evolution of the part to variable vector framing E.

◆ SetRadius() [1/4]

void ChFi3d_FilBuilder::SetRadius ( const Handle< Law_Function > &  C,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)

Set the radius of the contour of index IC.

◆ SetRadius() [2/4]

void ChFi3d_FilBuilder::SetRadius ( const Standard_Real  Radius,
const Standard_Integer  IC,
const TopoDS_Edge E 
)

Set a constant on edge E of the contour of index IC. Since then E is flagged as constant.

◆ SetRadius() [3/4]

void ChFi3d_FilBuilder::SetRadius ( const Standard_Real  Radius,
const Standard_Integer  IC,
const TopoDS_Vertex V 
)

Set a vector on vertex V of the contour of index IC.

◆ SetRadius() [4/4]

void ChFi3d_FilBuilder::SetRadius ( const gp_XY UandR,
const Standard_Integer  IC,
const Standard_Integer  IinC 
)

Set a vertex on the point of parametre U in the edge IinC of the contour of index IC.

◆ SetRegul()

void ChFi3d_FilBuilder::SetRegul ( )
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ Simulate()

void ChFi3d_FilBuilder::Simulate ( const Standard_Integer  IC)

◆ SimulKPart()

void ChFi3d_FilBuilder::SimulKPart ( const Handle< ChFiDS_SurfData > &  SD) const
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ SimulSurf() [1/4]

Standard_Boolean ChFi3d_FilBuilder::SimulSurf ( Handle< ChFiDS_SurfData > &  Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HSurface > &  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 
)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ SimulSurf() [2/4]

virtual void ChFi3d_FilBuilder::SimulSurf ( Handle< ChFiDS_SurfData > &  Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HCurve2d > &  PC1,
const Handle< BRepAdaptor_HSurface > &  Sref1,
const Handle< BRepAdaptor_HCurve2d > &  PCref1,
Standard_Boolean Decroch1,
const Handle< BRepAdaptor_HSurface > &  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 
)
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [3/4]

virtual void ChFi3d_FilBuilder::SimulSurf ( Handle< ChFiDS_SurfData > &  Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const TopAbs_Orientation  Or1,
const Handle< BRepAdaptor_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  I2,
const Handle< BRepAdaptor_HCurve2d > &  PC2,
const Handle< BRepAdaptor_HSurface > &  Sref2,
const Handle< BRepAdaptor_HCurve2d > &  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 
)
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [4/4]

virtual void ChFi3d_FilBuilder::SimulSurf ( Handle< ChFiDS_SurfData > &  Data,
const Handle< ChFiDS_HElSpine > &  Guide,
const Handle< ChFiDS_Spine > &  Spine,
const Standard_Integer  Choix,
const Handle< BRepAdaptor_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  I1,
const Handle< BRepAdaptor_HCurve2d > &  PC1,
const Handle< BRepAdaptor_HSurface > &  Sref1,
const Handle< BRepAdaptor_HCurve2d > &  PCref1,
Standard_Boolean Decroch1,
const TopAbs_Orientation  Or1,
const Handle< BRepAdaptor_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  I2,
const Handle< BRepAdaptor_HCurve2d > &  PC2,
const Handle< BRepAdaptor_HSurface > &  Sref2,
const Handle< BRepAdaptor_HCurve2d > &  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 
)
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SplitSurf()

void ChFi3d_FilBuilder::SplitSurf ( ChFiDS_SequenceOfSurfData SeqData,
const Handle< BRepBlend_Line > &  line 
)
protected

Method to split an singular SurfData in several non singular SurfData..

◆ UnSet() [1/2]

void ChFi3d_FilBuilder::UnSet ( const Standard_Integer  IC,
const TopoDS_Edge E 
)

Extracts the flag constant and the vector of edge E.

◆ UnSet() [2/2]

void ChFi3d_FilBuilder::UnSet ( const Standard_Integer  IC,
const TopoDS_Vertex V 
)

Extracts the vector of the vertex V.


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