Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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 double Ta=1.0e-2)
 
void SetFilletShape (const ChFi3d_FilletShape FShape)
 Sets the type of fillet surface.
 
ChFi3d_FilletShape GetFilletShape () const
 Returns the type of fillet surface.
 
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.
 
void Add (const double Radius, const TopoDS_Edge &E)
 initialisation of the constant vector the corresponding 1st edge.
 
void SetRadius (const occ::handle< Law_Function > &C, const int IC, const int IinC)
 Set the radius of the contour of index IC.
 
bool IsConstant (const int IC)
 Returns true the contour is flagged as edge constant.
 
double Radius (const int IC)
 Returns the vector if the contour is flagged as edge constant.
 
void ResetContour (const int IC)
 Reset all vectors of contour IC.
 
void SetRadius (const double Radius, const int IC, const TopoDS_Edge &E)
 Set a constant on edge E of the contour of index IC. Since then E is flagged as constant.
 
void UnSet (const int IC, const TopoDS_Edge &E)
 Extracts the flag constant and the vector of edge E.
 
void SetRadius (const double Radius, const int IC, const TopoDS_Vertex &V)
 Set a vector on vertex V of the contour of index IC.
 
void UnSet (const int IC, const TopoDS_Vertex &V)
 Extracts the vector of the vertex V.
 
void SetRadius (const gp_XY &UandR, const int IC, const int IinC)
 Set a vertex on the point of parameter U in the edge IinC of the contour of index IC.
 
bool IsConstant (const int IC, const TopoDS_Edge &E)
 Returns true E is flagged as edge constant.
 
double Radius (const int IC, const TopoDS_Edge &E)
 Returns the vector if E is flagged as edge constant.
 
bool GetBounds (const int IC, const TopoDS_Edge &E, double &First, double &Last)
 Returns in First and Last extremities of the part of variable vector framing E, returns False if E is flagged as edge constant.
 
occ::handle< Law_FunctionGetLaw (const int 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.
 
void SetLaw (const int IC, const TopoDS_Edge &E, const occ::handle< Law_Function > &L)
 Sets the rule of elementary evolution of the part to variable vector framing E.
 
void Simulate (const int IC)
 
int NbSurf (const int IC) const
 
occ::handle< NCollection_HArray1< ChFiDS_CircSection > > Sect (const int IC, const int IS) const
 
- Public Member Functions inherited from ChFi3d_Builder
virtual ~ChFi3d_Builder ()
 
void SetParams (const double Tang, const double Tesp, const double T2d, const double TApp3d, const double TolApp2d, const double Fleche)
 
void SetContinuity (const GeomAbs_Shape InternalContinuity, const double AngularTolerance)
 
void Remove (const TopoDS_Edge &E)
 extracts from the list the contour containing edge E.
 
int Contains (const TopoDS_Edge &E) const
 gives the number of the contour containing E or 0 if E does not belong to any contour.
 
int Contains (const TopoDS_Edge &E, int &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
 
int NbElements () const
 gives the number of disjoint contours on which the fillets are calculated
 
occ::handle< ChFiDS_SpineValue (const int I) const
 gives the n'th set of edges (contour) if I >NbElements()
 
double Length (const int IC) const
 returns the length of the contour of index IC.
 
TopoDS_Vertex FirstVertex (const int IC) const
 returns the First vertex V of the contour of index IC.
 
TopoDS_Vertex LastVertex (const int IC) const
 returns the Last vertex V of the contour of index IC.
 
double Abscissa (const int IC, const TopoDS_Vertex &V) const
 returns the abscissa of the vertex V on the contour of index IC.
 
double RelativeAbscissa (const int IC, const TopoDS_Vertex &V) const
 returns the relative abscissa([0.,1.]) of the vertex V on the contour of index IC.
 
bool ClosedAndTangent (const int IC) const
 returns true if the contour of index IC is closed an tangent.
 
bool Closed (const int IC) const
 returns true if the contour of index IC is closed
 
void Compute ()
 general calculation of geometry on all edges, topologic reconstruction.
 
bool IsDone () const
 returns True if the computation is success
 
TopoDS_Shape Shape () const
 if (Isdone()) makes the result. if (!Isdone())
 
const NCollection_List< TopoDS_Shape > & Generated (const TopoDS_Shape &EouV)
 Advanced function for the history.
 
int NbFaultyContours () const
 Returns the number of contours on which the calculation has failed.
 
int FaultyContour (const int I) const
 Returns the number of I'th contour on which the calculation has failed.
 
int NbComputedSurfaces (const int IC) const
 Returns the number of surfaces calculated on the contour IC.
 
occ::handle< Geom_SurfaceComputedSurface (const int IC, const int IS) const
 Returns the IS'th surface calculated on the contour IC.
 
int NbFaultyVertices () const
 Returns the number of vertices on which the calculation has failed.
 
TopoDS_Vertex FaultyVertex (const int IV) const
 Returns the IV'th vertex on which the calculation has failed.
 
bool 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 int 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.
 
occ::handle< TopOpeBRepBuild_HBuilderBuilder () const
 Returns the Builder of topologic operations.
 
bool SplitKPart (const occ::handle< ChFiDS_SurfData > &Data, NCollection_Sequence< occ::handle< ChFiDS_SurfData > > &SetData, const occ::handle< ChFiDS_Spine > &Spine, const int Iedge, const occ::handle< Adaptor3d_Surface > &S1, const occ::handle< Adaptor3d_TopolTool > &I1, const occ::handle< Adaptor3d_Surface > &S2, const occ::handle< Adaptor3d_TopolTool > &I2, bool &Intf, bool &Intl)
 Method, implemented in the inheritants, calculates the elements of construction of the surface (fillet or chamfer).
 
bool PerformTwoCornerbyInter (const int Index)
 

Protected Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from ChFi3d_Builder
double tolappangle
 
double tolesp
 
double tol2d
 
double tolapp3d
 
double tolapp2d
 
double fleche
 
GeomAbs_Shape myConti
 
ChFiDS_Map myEFMap
 
ChFiDS_Map myESoMap
 
ChFiDS_Map myEShMap
 
ChFiDS_Map myVFMap
 
ChFiDS_Map myVEMap
 
occ::handle< TopOpeBRepDS_HDataStructuremyDS
 
occ::handle< TopOpeBRepBuild_HBuildermyCoup
 
NCollection_List< occ::handle< ChFiDS_Stripe > > myListStripe
 
ChFiDS_StripeMap myVDataMap
 
NCollection_List< ChFiDS_RegulmyRegul
 
NCollection_List< occ::handle< ChFiDS_Stripe > > badstripes
 
NCollection_List< TopoDS_Shapebadvertices
 
NCollection_DataMap< TopoDS_Shape, NCollection_List< int >, TopTools_ShapeMapHashermyEVIMap
 
NCollection_DataMap< TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHashermyEdgeFirstFace
 
bool done
 
bool 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 double Ta = 1.0e-2 )

Member Function Documentation

◆ Add() [1/2]

void ChFi3d_FilBuilder::Add ( const double Radius,
const TopoDS_Edge & E )

initialisation of the constant vector the corresponding 1st edge.

◆ Add() [2/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.

◆ ExtentOneCorner()

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

Implements ChFi3d_Builder.

◆ ExtentThreeCorner()

void ChFi3d_FilBuilder::ExtentThreeCorner ( const TopoDS_Vertex & V,
const NCollection_List< occ::handle< ChFiDS_Stripe > > & LS )
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ ExtentTwoCorner()

void ChFi3d_FilBuilder::ExtentTwoCorner ( const TopoDS_Vertex & V,
const NCollection_List< occ::handle< ChFiDS_Stripe > > & LS )
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ GetBounds()

bool ChFi3d_FilBuilder::GetBounds ( const int IC,
const TopoDS_Edge & E,
double & First,
double & Last )

Returns in First and Last 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()

occ::handle< Law_Function > ChFi3d_FilBuilder::GetLaw ( const int 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]

bool ChFi3d_FilBuilder::IsConstant ( const int IC)

Returns true the contour is flagged as edge constant.

◆ IsConstant() [2/2]

bool ChFi3d_FilBuilder::IsConstant ( const int IC,
const TopoDS_Edge & E )

Returns true E is flagged as edge constant.

◆ NbSurf()

int ChFi3d_FilBuilder::NbSurf ( const int IC) const

◆ PerformFirstSection()

bool ChFi3d_FilBuilder::PerformFirstSection ( const occ::handle< ChFiDS_Spine > & S,
const occ::handle< ChFiDS_ElSpine > & HGuide,
const int Choix,
occ::handle< BRepAdaptor_Surface > & S1,
occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< Adaptor3d_TopolTool > & I2,
const double Par,
math_Vector & SolDep,
TopAbs_State & Pos1,
TopAbs_State & Pos2 ) const
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ PerformSurf() [1/4]

void ChFi3d_FilBuilder::PerformSurf ( NCollection_Sequence< occ::handle< ChFiDS_SurfData > > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Curve2d > & PC1,
const occ::handle< BRepAdaptor_Surface > & Sref1,
const occ::handle< BRepAdaptor_Curve2d > & PCref1,
bool & Decroch1,
const TopAbs_Orientation Or1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const occ::handle< BRepAdaptor_Curve2d > & PC2,
const occ::handle< BRepAdaptor_Surface > & Sref2,
const occ::handle< BRepAdaptor_Curve2d > & PCref2,
bool & Decroch2,
const TopAbs_Orientation Or2,
const double MaxStep,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP1,
const bool RecRst1,
const bool RecP2,
const bool 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.

◆ PerformSurf() [2/4]

void ChFi3d_FilBuilder::PerformSurf ( NCollection_Sequence< occ::handle< ChFiDS_SurfData > > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Curve2d > & PC1,
const occ::handle< BRepAdaptor_Surface > & Sref1,
const occ::handle< BRepAdaptor_Curve2d > & PCref1,
bool & Decroch1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const TopAbs_Orientation Or2,
const double MaxStep,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP,
const bool RecS,
const bool 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]

bool ChFi3d_FilBuilder::PerformSurf ( NCollection_Sequence< occ::handle< ChFiDS_SurfData > > & SeqData,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const double MaxStep,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecOnS1,
const bool RecOnS2,
const math_Vector & Soldep,
int & Intf,
int & Intl )
overrideprotectedvirtual

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

Implements ChFi3d_Builder.

Reimplemented in FilletSurf_InternalBuilder.

◆ PerformSurf() [4/4]

void ChFi3d_FilBuilder::PerformSurf ( NCollection_Sequence< occ::handle< ChFiDS_SurfData > > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const TopAbs_Orientation Or1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const occ::handle< BRepAdaptor_Curve2d > & PC2,
const occ::handle< BRepAdaptor_Surface > & Sref2,
const occ::handle< BRepAdaptor_Curve2d > & PCref2,
bool & Decroch2,
const double MaxStep,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP,
const bool RecS,
const bool 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.

◆ PerformThreeCorner()

void ChFi3d_FilBuilder::PerformThreeCorner ( const int Index)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ PerformTwoCorner()

void ChFi3d_FilBuilder::PerformTwoCorner ( const int Index)
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ Radius() [1/2]

double ChFi3d_FilBuilder::Radius ( const int IC)

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

◆ Radius() [2/2]

double ChFi3d_FilBuilder::Radius ( const int IC,
const TopoDS_Edge & E )

Returns the vector if E is flagged as edge constant.

◆ ResetContour()

void ChFi3d_FilBuilder::ResetContour ( const int IC)

Reset all vectors of contour IC.

◆ Sect()

occ::handle< NCollection_HArray1< ChFiDS_CircSection > > ChFi3d_FilBuilder::Sect ( const int IC,
const int IS ) const

◆ SetFilletShape()

void ChFi3d_FilBuilder::SetFilletShape ( const ChFi3d_FilletShape FShape)

Sets the type of fillet surface.

◆ SetLaw()

void ChFi3d_FilBuilder::SetLaw ( const int IC,
const TopoDS_Edge & E,
const occ::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 double Radius,
const int 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() [2/4]

void ChFi3d_FilBuilder::SetRadius ( const double Radius,
const int IC,
const TopoDS_Vertex & V )

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

◆ SetRadius() [3/4]

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

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

◆ SetRadius() [4/4]

void ChFi3d_FilBuilder::SetRadius ( const occ::handle< Law_Function > & C,
const int IC,
const int IinC )

Set the radius of the contour of index IC.

◆ SetRegul()

void ChFi3d_FilBuilder::SetRegul ( )
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ Simulate()

void ChFi3d_FilBuilder::Simulate ( const int IC)

◆ SimulKPart()

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

Implements ChFi3d_Builder.

◆ SimulSurf() [1/4]

void ChFi3d_FilBuilder::SimulSurf ( occ::handle< ChFiDS_SurfData > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Curve2d > & PC1,
const occ::handle< BRepAdaptor_Surface > & Sref1,
const occ::handle< BRepAdaptor_Curve2d > & PCref1,
bool & Decroch1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const TopAbs_Orientation Or2,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP,
const bool RecS,
const bool RecRst,
const math_Vector & Soldep )
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [2/4]

void ChFi3d_FilBuilder::SimulSurf ( occ::handle< ChFiDS_SurfData > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Curve2d > & PC1,
const occ::handle< BRepAdaptor_Surface > & Sref1,
const occ::handle< BRepAdaptor_Curve2d > & PCref1,
bool & Decroch1,
const TopAbs_Orientation Or1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const occ::handle< BRepAdaptor_Curve2d > & PC2,
const occ::handle< BRepAdaptor_Surface > & Sref2,
const occ::handle< BRepAdaptor_Curve2d > & PCref2,
bool & Decroch2,
const TopAbs_Orientation Or2,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP1,
const bool RecRst1,
const bool RecP2,
const bool RecRst2,
const math_Vector & Soldep )
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [3/4]

bool ChFi3d_FilBuilder::SimulSurf ( occ::handle< ChFiDS_SurfData > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecOnS1,
const bool RecOnS2,
const math_Vector & Soldep,
int & Intf,
int & Intl )
overrideprotectedvirtual

Implements ChFi3d_Builder.

◆ SimulSurf() [4/4]

void ChFi3d_FilBuilder::SimulSurf ( occ::handle< ChFiDS_SurfData > & Data,
const occ::handle< ChFiDS_ElSpine > & Guide,
const occ::handle< ChFiDS_Spine > & Spine,
const int Choix,
const occ::handle< BRepAdaptor_Surface > & S1,
const occ::handle< Adaptor3d_TopolTool > & I1,
const TopAbs_Orientation Or1,
const occ::handle< BRepAdaptor_Surface > & S2,
const occ::handle< Adaptor3d_TopolTool > & I2,
const occ::handle< BRepAdaptor_Curve2d > & PC2,
const occ::handle< BRepAdaptor_Surface > & Sref2,
const occ::handle< BRepAdaptor_Curve2d > & PCref2,
bool & Decroch2,
const double Fleche,
const double TolGuide,
double & First,
double & Last,
const bool Inside,
const bool Appro,
const bool Forward,
const bool RecP,
const bool RecS,
const bool RecRst,
const math_Vector & Soldep )
overrideprotectedvirtual

Reimplemented from ChFi3d_Builder.

◆ SplitSurf()

void ChFi3d_FilBuilder::SplitSurf ( NCollection_Sequence< occ::handle< ChFiDS_SurfData > > & SeqData,
const occ::handle< BRepBlend_Line > & line )
protected

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

◆ UnSet() [1/2]

void ChFi3d_FilBuilder::UnSet ( const int IC,
const TopoDS_Edge & E )

Extracts the flag constant and the vector of edge E.

◆ UnSet() [2/2]

void ChFi3d_FilBuilder::UnSet ( const int IC,
const TopoDS_Vertex & V )

Extracts the vector of the vertex V.


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