Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
ChFi3d_ChBuilder Class Reference

construction tool for 3D chamfers on edges (on a solid). More...

#include <ChFi3d_ChBuilder.hxx>

Inheritance diagram for ChFi3d_ChBuilder:
Inheritance graph
[legend]

Public Member Functions

 ChFi3d_ChBuilder (const TopoDS_Shape &S, const double Ta=1.0e-2)
 initializes the Builder with the Shape for the computation of chamfers
 
void Add (const TopoDS_Edge &E)
 initializes a contour with the edge <E> as first (the next are found by propagation ). The two distances (parameters of the chamfer) must be set after. if the edge <E> has more than 2 adjacent faces
 
void Add (const double Dis, const TopoDS_Edge &E)
 initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis> if the edge <E> has more than 2 adjacent faces
 
void SetDist (const double Dis, const int IC, const TopoDS_Face &F)
 set the distance <Dis> of the fillet contour of index <IC> in the DS with <Dis> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>
 
void GetDist (const int IC, double &Dis) const
 gives the distances <Dis> of the fillet contour of index <IC> in the DS
 
void Add (const double Dis1, const double Dis2, const TopoDS_Edge &E, const TopoDS_Face &F)
 initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis1> and <Dis2> if the edge <E> has more than 2 adjacent faces
 
void SetDists (const double Dis1, const double Dis2, const int IC, const TopoDS_Face &F)
 set the distances <Dis1> and <Dis2> of the fillet contour of index <IC> in the DS with <Dis1> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>
 
void Dists (const int IC, double &Dis1, double &Dis2) const
 gives the distances <Dis1> and <Dis2> of the fillet contour of index <IC> in the DS
 
void AddDA (const double Dis, const double Angle, const TopoDS_Edge &E, const TopoDS_Face &F)
 initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis1> and <Angle> if the edge <E> has more than 2 adjacent faces
 
void SetDistAngle (const double Dis, const double Angle, const int IC, const TopoDS_Face &F)
 set the distance <Dis> and <Angle> of the fillet contour of index <IC> in the DS with <Dis> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>
 
void GetDistAngle (const int IC, double &Dis, double &Angle) const
 gives the distances <Dis> and <Angle> of the fillet contour of index <IC> in the DS
 
void SetMode (const ChFiDS_ChamfMode theMode)
 set the mode of shamfer
 
ChFiDS_ChamfMethod IsChamfer (const int IC) const
 renvoi la methode des chanfreins utilisee
 
ChFiDS_ChamfMode Mode () const
 returns the mode of chamfer used
 
void ResetContour (const int IC)
 Reset tous rayons du contour IC.
 
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
 
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 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_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
 Methode, implemented in inheritants, calculates the elements of construction of the surface (fillet or chamfer).
 
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 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 the 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 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.
 
- 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
 
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
 
void PerformTwoCorner (const int Index) override
 computes the intersection of two chamfers on the vertex of index <Index> in myVDataMap.
 
void PerformThreeCorner (const int Index) override
 computes the intersection of three chamfers on the vertex of index <Index> in myVDataMap.
 
void ExtentOneCorner (const TopoDS_Vertex &V, const occ::handle< ChFiDS_Stripe > &S) override
 extends the spine of the Stripe at the extremity of the vertex <V>.
 
void ExtentTwoCorner (const TopoDS_Vertex &V, const NCollection_List< occ::handle< ChFiDS_Stripe > > &LS) override
 extends the spine of the 2 stripes of <LS> at the extremity of the vertex <V>
 
void ExtentThreeCorner (const TopoDS_Vertex &V, const NCollection_List< occ::handle< ChFiDS_Stripe > > &LS) override
 extends the spine of the 2 stripes of <LS> at the extremity of the vertex <V>
 
void SetRegul () override
 set the regularities
 
- 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

construction tool for 3D chamfers on edges (on a solid).

Constructor & Destructor Documentation

◆ ChFi3d_ChBuilder()

ChFi3d_ChBuilder::ChFi3d_ChBuilder ( const TopoDS_Shape & S,
const double Ta = 1.0e-2 )

initializes the Builder with the Shape for the computation of chamfers

Member Function Documentation

◆ Add() [1/3]

void ChFi3d_ChBuilder::Add ( const double Dis,
const TopoDS_Edge & E )

initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis> if the edge <E> has more than 2 adjacent faces

◆ Add() [2/3]

void ChFi3d_ChBuilder::Add ( const double Dis1,
const double Dis2,
const TopoDS_Edge & E,
const TopoDS_Face & F )

initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis1> and <Dis2> if the edge <E> has more than 2 adjacent faces

◆ Add() [3/3]

void ChFi3d_ChBuilder::Add ( const TopoDS_Edge & E)

initializes a contour with the edge <E> as first (the next are found by propagation ). The two distances (parameters of the chamfer) must be set after. if the edge <E> has more than 2 adjacent faces

◆ AddDA()

void ChFi3d_ChBuilder::AddDA ( const double Dis,
const double Angle,
const TopoDS_Edge & E,
const TopoDS_Face & F )

initializes a new contour with the edge <E> as first (the next are found by propagation ), and the distance <Dis1> and <Angle> if the edge <E> has more than 2 adjacent faces

◆ Dists()

void ChFi3d_ChBuilder::Dists ( const int IC,
double & Dis1,
double & Dis2 ) const

gives the distances <Dis1> and <Dis2> of the fillet contour of index <IC> in the DS

◆ ExtentOneCorner()

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

extends the spine of the Stripe at the extremity of the vertex <V>.

Implements ChFi3d_Builder.

◆ ExtentThreeCorner()

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

extends the spine of the 2 stripes of <LS> at the extremity of the vertex <V>

Implements ChFi3d_Builder.

◆ ExtentTwoCorner()

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

extends the spine of the 2 stripes of <LS> at the extremity of the vertex <V>

Implements ChFi3d_Builder.

◆ GetDist()

void ChFi3d_ChBuilder::GetDist ( const int IC,
double & Dis ) const

gives the distances <Dis> of the fillet contour of index <IC> in the DS

◆ GetDistAngle()

void ChFi3d_ChBuilder::GetDistAngle ( const int IC,
double & Dis,
double & Angle ) const

gives the distances <Dis> and <Angle> of the fillet contour of index <IC> in the DS

◆ IsChamfer()

ChFiDS_ChamfMethod ChFi3d_ChBuilder::IsChamfer ( const int IC) const

renvoi la methode des chanfreins utilisee

◆ Mode()

ChFiDS_ChamfMode ChFi3d_ChBuilder::Mode ( ) const

returns the mode of chamfer used

◆ NbSurf()

int ChFi3d_ChBuilder::NbSurf ( const int IC) const

◆ PerformFirstSection()

bool ChFi3d_ChBuilder::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_ChBuilder::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 )
overridevirtual

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

Reimplemented from ChFi3d_Builder.

◆ PerformSurf() [2/4]

void ChFi3d_ChBuilder::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 )
overridevirtual

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

Reimplemented from ChFi3d_Builder.

◆ PerformSurf() [3/4]

bool ChFi3d_ChBuilder::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_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 )
overridevirtual

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

Implements ChFi3d_Builder.

◆ PerformSurf() [4/4]

void ChFi3d_ChBuilder::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 )
overridevirtual

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

Reimplemented from ChFi3d_Builder.

◆ PerformThreeCorner()

void ChFi3d_ChBuilder::PerformThreeCorner ( const int Index)
overrideprotectedvirtual

computes the intersection of three chamfers on the vertex of index <Index> in myVDataMap.

Implements ChFi3d_Builder.

◆ PerformTwoCorner()

void ChFi3d_ChBuilder::PerformTwoCorner ( const int Index)
overrideprotectedvirtual

computes the intersection of two chamfers on the vertex of index <Index> in myVDataMap.

Implements ChFi3d_Builder.

◆ ResetContour()

void ChFi3d_ChBuilder::ResetContour ( const int IC)

Reset tous rayons du contour IC.

◆ Sect()

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

◆ SetDist()

void ChFi3d_ChBuilder::SetDist ( const double Dis,
const int IC,
const TopoDS_Face & F )

set the distance <Dis> of the fillet contour of index <IC> in the DS with <Dis> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>

◆ SetDistAngle()

void ChFi3d_ChBuilder::SetDistAngle ( const double Dis,
const double Angle,
const int IC,
const TopoDS_Face & F )

set the distance <Dis> and <Angle> of the fillet contour of index <IC> in the DS with <Dis> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>

◆ SetDists()

void ChFi3d_ChBuilder::SetDists ( const double Dis1,
const double Dis2,
const int IC,
const TopoDS_Face & F )

set the distances <Dis1> and <Dis2> of the fillet contour of index <IC> in the DS with <Dis1> on <F>. if the face <F> is not one of common faces of an edge of the contour <IC>

◆ SetMode()

void ChFi3d_ChBuilder::SetMode ( const ChFiDS_ChamfMode theMode)

set the mode of shamfer

◆ SetRegul()

void ChFi3d_ChBuilder::SetRegul ( )
overrideprotectedvirtual

set the regularities

Implements ChFi3d_Builder.

◆ Simulate()

void ChFi3d_ChBuilder::Simulate ( const int IC)

◆ SimulKPart()

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

Implements ChFi3d_Builder.

◆ SimulSurf() [1/4]

void ChFi3d_ChBuilder::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 )
overridevirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [2/4]

void ChFi3d_ChBuilder::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 )
overridevirtual

Reimplemented from ChFi3d_Builder.

◆ SimulSurf() [3/4]

bool ChFi3d_ChBuilder::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_ChBuilder::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 )
overridevirtual

Reimplemented from ChFi3d_Builder.


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