Open CASCADE Technology  7.6.0
Public Member Functions | Protected Member Functions

FilletSurf_InternalBuilder Class Reference

This class is private. It is used by the class Builder from FilletSurf. It computes geometric information about fillets. More...

#include <FilletSurf_InternalBuilder.hxx>

Inheritance diagram for FilletSurf_InternalBuilder:
Inheritance graph
[legend]

Public Member Functions

 FilletSurf_InternalBuilder (const TopoDS_Shape &S, const ChFi3d_FilletShape FShape=ChFi3d_Polynomial, const Standard_Real Ta=1.0e-2, const Standard_Real Tapp3d=1.0e-4, const Standard_Real Tapp2d=1.0e-5)
 
Standard_Integer Add (const TopTools_ListOfShape &E, const Standard_Real R)
 Initializes the contour with a list of Edges 0 : no problem 1 : empty list 2 : the edges are not G1 3 : two connected faces on a same support are not G1 4 : the edge is not on shape 5 : NotSharpEdge: the edge is not sharp. More...
 
void Perform ()
 
Standard_Boolean Done () const
 
Standard_Integer NbSurface () const
 gives the number of NUBS surfaces of the Fillet. More...
 
const Handle< Geom_Surface > & SurfaceFillet (const Standard_Integer Index) const
 gives the NUBS surface of index Index. More...
 
Standard_Real TolApp3d (const Standard_Integer Index) const
 gives the 3d tolerance reached during approximation of the surface of index Index More...
 
const TopoDS_FaceSupportFace1 (const Standard_Integer Index) const
 gives the first support face relative to SurfaceFillet(Index); More...
 
const TopoDS_FaceSupportFace2 (const Standard_Integer Index) const
 gives the second support face relative to SurfaceFillet(Index); More...
 
const Handle< Geom_Curve > & CurveOnFace1 (const Standard_Integer Index) const
 gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index) More...
 
const Handle< Geom_Curve > & CurveOnFace2 (const Standard_Integer Index) const
 gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index) More...
 
const Handle< Geom2d_Curve > & PCurveOnFace1 (const Standard_Integer Index) const
 gives the PCurve associated to CurvOnSup1(Index) on the support face More...
 
const Handle< Geom2d_Curve > & PCurve1OnFillet (const Standard_Integer Index) const
 gives the PCurve associated to CurveOnFace1(Index) on the Fillet More...
 
const Handle< Geom2d_Curve > & PCurveOnFace2 (const Standard_Integer Index) const
 gives the PCurve associated to CurveOnSup2(Index) on the support face More...
 
const Handle< Geom2d_Curve > & PCurve2OnFillet (const Standard_Integer Index) const
 gives the PCurve associated to CurveOnSup2(Index) on the fillet More...
 
Standard_Real FirstParameter () const
 gives the parameter of the fillet on the first edge. More...
 
Standard_Real LastParameter () const
 gives the parameter of the fillet on the last edge More...
 
FilletSurf_StatusType StartSectionStatus () const
 
FilletSurf_StatusType EndSectionStatus () const
 
void Simulate ()
 
Standard_Integer NbSection (const Standard_Integer IndexSurf) const
 
void Section (const Standard_Integer IndexSurf, const Standard_Integer IndexSec, Handle< Geom_TrimmedCurve > &Circ) const
 
- Public Member Functions inherited from ChFi3d_FilBuilder
 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 flagged 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 algorithm 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_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). More...
 
Standard_Boolean PerformTwoCornerbyInter (const Standard_Integer Index)
 

Protected Member Functions

virtual Standard_Boolean PerformSurf (ChFiDS_SequenceOfSurfData &SeqData, 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) override
 This method calculates the elements of construction of the fillet (constant or evolutive). More...
 
virtual void PerformSurf (ChFiDS_SequenceOfSurfData &SeqData, 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) 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_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) 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_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) override
 Method, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer) contact edge/edge. More...
 
- Protected Member Functions inherited from ChFi3d_FilBuilder
void SimulKPart (const Handle< ChFiDS_SurfData > &SD) const override
 
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) override
 
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) override
 
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) override
 
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) override
 
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 override
 
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_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)
 
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)
 
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_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. More...
 
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. More...
 
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. More...
 
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)
 

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
 
TopTools_DataMapOfShapeShape myEdgeFirstFace
 
Standard_Boolean done
 
Standard_Boolean hasresult
 

Detailed Description

This class is private. It is used by the class Builder from FilletSurf. It computes geometric information about fillets.

Constructor & Destructor Documentation

◆ FilletSurf_InternalBuilder()

FilletSurf_InternalBuilder::FilletSurf_InternalBuilder ( const TopoDS_Shape S,
const ChFi3d_FilletShape  FShape = ChFi3d_Polynomial,
const Standard_Real  Ta = 1.0e-2,
const Standard_Real  Tapp3d = 1.0e-4,
const Standard_Real  Tapp2d = 1.0e-5 
)

Member Function Documentation

◆ Add()

Standard_Integer FilletSurf_InternalBuilder::Add ( const TopTools_ListOfShape E,
const Standard_Real  R 
)

Initializes the contour with a list of Edges 0 : no problem 1 : empty list 2 : the edges are not G1 3 : two connected faces on a same support are not G1 4 : the edge is not on shape 5 : NotSharpEdge: the edge is not sharp.

◆ CurveOnFace1()

const Handle< Geom_Curve >& FilletSurf_InternalBuilder::CurveOnFace1 ( const Standard_Integer  Index) const

gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index)

◆ CurveOnFace2()

const Handle< Geom_Curve >& FilletSurf_InternalBuilder::CurveOnFace2 ( const Standard_Integer  Index) const

gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index)

◆ Done()

Standard_Boolean FilletSurf_InternalBuilder::Done ( ) const

◆ EndSectionStatus()

FilletSurf_StatusType FilletSurf_InternalBuilder::EndSectionStatus ( ) const

◆ FirstParameter()

Standard_Real FilletSurf_InternalBuilder::FirstParameter ( ) const

gives the parameter of the fillet on the first edge.

◆ LastParameter()

Standard_Real FilletSurf_InternalBuilder::LastParameter ( ) const

gives the parameter of the fillet on the last edge

◆ NbSection()

Standard_Integer FilletSurf_InternalBuilder::NbSection ( const Standard_Integer  IndexSurf) const

◆ NbSurface()

Standard_Integer FilletSurf_InternalBuilder::NbSurface ( ) const

gives the number of NUBS surfaces of the Fillet.

◆ PCurve1OnFillet()

const Handle< Geom2d_Curve >& FilletSurf_InternalBuilder::PCurve1OnFillet ( const Standard_Integer  Index) const

gives the PCurve associated to CurveOnFace1(Index) on the Fillet

◆ PCurve2OnFillet()

const Handle< Geom2d_Curve >& FilletSurf_InternalBuilder::PCurve2OnFillet ( const Standard_Integer  Index) const

gives the PCurve associated to CurveOnSup2(Index) on the fillet

◆ PCurveOnFace1()

const Handle< Geom2d_Curve >& FilletSurf_InternalBuilder::PCurveOnFace1 ( const Standard_Integer  Index) const

gives the PCurve associated to CurvOnSup1(Index) on the support face

◆ PCurveOnFace2()

const Handle< Geom2d_Curve >& FilletSurf_InternalBuilder::PCurveOnFace2 ( const Standard_Integer  Index) const

gives the PCurve associated to CurveOnSup2(Index) on the support face

◆ Perform()

void FilletSurf_InternalBuilder::Perform ( )

◆ PerformSurf() [1/4]

virtual void FilletSurf_InternalBuilder::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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_FilBuilder.

◆ PerformSurf() [2/4]

virtual void FilletSurf_InternalBuilder::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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_FilBuilder.

◆ PerformSurf() [3/4]

virtual Standard_Boolean FilletSurf_InternalBuilder::PerformSurf ( ChFiDS_SequenceOfSurfData SeqData,
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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_FilBuilder.

◆ PerformSurf() [4/4]

virtual void FilletSurf_InternalBuilder::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 
)
overrideprotectedvirtual

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

Reimplemented from ChFi3d_FilBuilder.

◆ Section()

void FilletSurf_InternalBuilder::Section ( const Standard_Integer  IndexSurf,
const Standard_Integer  IndexSec,
Handle< Geom_TrimmedCurve > &  Circ 
) const

◆ Simulate()

void FilletSurf_InternalBuilder::Simulate ( )

◆ StartSectionStatus()

FilletSurf_StatusType FilletSurf_InternalBuilder::StartSectionStatus ( ) const

◆ SupportFace1()

const TopoDS_Face& FilletSurf_InternalBuilder::SupportFace1 ( const Standard_Integer  Index) const

gives the first support face relative to SurfaceFillet(Index);

◆ SupportFace2()

const TopoDS_Face& FilletSurf_InternalBuilder::SupportFace2 ( const Standard_Integer  Index) const

gives the second support face relative to SurfaceFillet(Index);

◆ SurfaceFillet()

const Handle< Geom_Surface >& FilletSurf_InternalBuilder::SurfaceFillet ( const Standard_Integer  Index) const

gives the NUBS surface of index Index.

◆ TolApp3d()

Standard_Real FilletSurf_InternalBuilder::TolApp3d ( const Standard_Integer  Index) const

gives the 3d tolerance reached during approximation of the surface of index Index


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