// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _ChFi3d_Builder_HeaderFile #define _ChFi3d_Builder_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _GeomAbs_Shape_HeaderFile #include #endif #ifndef _ChFiDS_Map_HeaderFile #include #endif #ifndef _Handle_TopOpeBRepDS_HDataStructure_HeaderFile #include #endif #ifndef _Handle_TopOpeBRepBuild_HBuilder_HeaderFile #include #endif #ifndef _ChFiDS_ListOfStripe_HeaderFile #include #endif #ifndef _ChFiDS_StripeMap_HeaderFile #include #endif #ifndef _ChFiDS_Regularities_HeaderFile #include #endif #ifndef _TopTools_ListOfShape_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeListOfInteger_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_ChFiDS_Spine_HeaderFile #include #endif #ifndef _Handle_Geom_Surface_HeaderFile #include #endif #ifndef _ChFiDS_ErrorStatus_HeaderFile #include #endif #ifndef _Handle_ChFiDS_SurfData_HeaderFile #include #endif #ifndef _Handle_ChFiDS_HElSpine_HeaderFile #include #endif #ifndef _Handle_BRepAdaptor_HSurface_HeaderFile #include #endif #ifndef _Handle_Adaptor3d_TopolTool_HeaderFile #include #endif #ifndef _Handle_BRepAdaptor_HCurve2d_HeaderFile #include #endif #ifndef _TopAbs_Orientation_HeaderFile #include #endif #ifndef _Handle_BRepBlend_Line_HeaderFile #include #endif #ifndef _Handle_Adaptor3d_HSurface_HeaderFile #include #endif #ifndef _Handle_Adaptor2d_HCurve2d_HeaderFile #include #endif #ifndef _Handle_ChFiDS_Stripe_HeaderFile #include #endif #ifndef _Handle_BRepTopAdaptor_TopolTool_HeaderFile #include #endif #ifndef _TopAbs_State_HeaderFile #include #endif #ifndef _Handle_Geom2d_Curve_HeaderFile #include #endif class TopOpeBRepDS_HDataStructure; class TopOpeBRepBuild_HBuilder; class Standard_OutOfRange; class Standard_NoSuchObject; class Standard_ConstructionError; class TopoDS_Shape; class TopoDS_Edge; class ChFiDS_Spine; class TopoDS_Vertex; class TopTools_ListOfShape; class Geom_Surface; class ChFiDS_SurfData; class ChFiDS_HElSpine; class BRepAdaptor_HSurface; class Adaptor3d_TopolTool; class math_Vector; class BRepAdaptor_HCurve2d; class BRepBlend_Line; class Adaptor3d_HSurface; class Blend_Function; class Blend_FuncInv; class Adaptor2d_HCurve2d; class Blend_SurfRstFunction; class Blend_SurfPointFuncInv; class Blend_SurfCurvFuncInv; class Blend_RstRstFunction; class Blend_CurvPointFuncInv; class ChFiDS_Stripe; class BRepTopAdaptor_TopolTool; class ChFiDS_SequenceOfSurfData; class gp_Pnt2d; class ChFiDS_ListOfStripe; class ChFiDS_CommonPoint; class TopoDS_Face; class AppBlend_Approx; class Geom2d_Curve; //! Root class for calculation of surfaces (fillets,
//! chamfers) destined to smooth edges of
//! a gap on a Shape and the reconstruction of the Shape.
class ChFi3d_Builder { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } Standard_EXPORT virtual void Delete() ; Standard_EXPORT virtual ~ChFi3d_Builder(){Delete() ; } Standard_EXPORT 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) ; Standard_EXPORT void SetContinuity(const GeomAbs_Shape InternalContinuity,const Standard_Real AngularTolerance) ; //! extracts from the list the contour containing edge E.
//!
Standard_EXPORT void Remove(const TopoDS_Edge& E) ; //! gives the number of the contour containing E or 0
//! if E does not belong to any contour.
Standard_EXPORT 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.
//! Sets in IndexInSpine the index of E in the contour if it's found
Standard_EXPORT Standard_Integer Contains(const TopoDS_Edge& E,Standard_Integer& IndexInSpine) const; //! gives the number of disjoint contours on which
//! the fillets are calculated
Standard_EXPORT Standard_Integer NbElements() const; //! gives the n'th set of edges (contour)
//! if I >NbElements()
Standard_EXPORT Handle_ChFiDS_Spine Value(const Standard_Integer I) const; //! returns the length of the contour of index IC.
Standard_EXPORT Standard_Real Length(const Standard_Integer IC) const; //! returns the First vertex V of
//! the contour of index IC.
Standard_EXPORT TopoDS_Vertex FirstVertex(const Standard_Integer IC) const; //! returns the Last vertex V of
//! the contour of index IC.
Standard_EXPORT TopoDS_Vertex LastVertex(const Standard_Integer IC) const; //! returns the abscissa of the vertex V on
//! the contour of index IC.
Standard_EXPORT Standard_Real Abscissa(const Standard_Integer IC,const TopoDS_Vertex& V) const; //! returns the relative abscissa([0.,1.]) of the
//! vertex V on the contour of index IC.
Standard_EXPORT Standard_Real RelativeAbscissa(const Standard_Integer IC,const TopoDS_Vertex& V) const; //! returns true if the contour of index IC is closed
//! an tangent.
Standard_EXPORT Standard_Boolean ClosedAndTangent(const Standard_Integer IC) const; //! returns true if the contour of index IC is closed
Standard_EXPORT Standard_Boolean Closed(const Standard_Integer IC) const; //! general calculation of geometry on all edges,
//! topologic reconstruction.
Standard_EXPORT void Compute() ; //! returns True if the computation is success
Standard_EXPORT Standard_Boolean IsDone() const; //! if (Isdone()) makes the result.
//! if (!Isdone())
Standard_EXPORT TopoDS_Shape Shape() const; //! Advanced function for the history
Standard_EXPORT const TopTools_ListOfShape& Generated(const TopoDS_Shape& EouV) ; //! Returns the number of contours on which the calculation
//! has failed.
Standard_EXPORT Standard_Integer NbFaultyContours() const; //! Returns the number of I'th contour on which the calculation
//! has failed.
Standard_EXPORT Standard_Integer FaultyContour(const Standard_Integer I) const; //! Returns the number of surfaces calculated on the contour IC.
Standard_EXPORT Standard_Integer NbComputedSurfaces(const Standard_Integer IC) const; //! Returns the IS'th surface calculated on the contour IC.
Standard_EXPORT Handle_Geom_Surface ComputedSurface(const Standard_Integer IC,const Standard_Integer IS) const; //! Returns the number of vertices on which the calculation
//! has failed.
Standard_EXPORT Standard_Integer NbFaultyVertices() const; //! Returns the IV'th vertex on which the calculation has failed.
Standard_EXPORT TopoDS_Vertex FaultyVertex(const Standard_Integer IV) const; //! returns True if a partial result has been calculated
Standard_EXPORT Standard_Boolean HasResult() const; //! if (HasResult()) returns partial result
//! if (!HasResult())
Standard_EXPORT TopoDS_Shape BadShape() const; //! for the stripe IC ,indication on the cause
//! of failure WalkingFailure,TwistedSurface,Error, Ok
Standard_EXPORT ChFiDS_ErrorStatus StripeStatus(const Standard_Integer IC) const; //! Reset all results of compute and returns the algorythm
//! in the state of the last acquisition to
//! enable modification of contours or areas.
Standard_EXPORT void Reset() ; //! Returns the Builder of topologic operations.
Standard_EXPORT Handle_TopOpeBRepBuild_HBuilder Builder() const; //! Method, implemented in the inheritants, calculates
//! the elements of construction of the surface (fillet or
//! chamfer).
Standard_EXPORT Standard_Boolean SplitKPart(const Handle(ChFiDS_SurfData)& Data,ChFiDS_SequenceOfSurfData& SetData,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Iedge,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,Standard_Boolean& Intf,Standard_Boolean& Intl) ; Standard_EXPORT Standard_Integer PerformTwoCornerbyInter(const Standard_Integer Index) ; protected: Standard_EXPORT ChFi3d_Builder(const TopoDS_Shape& S,const Standard_Real Ta); Standard_EXPORT virtual void SimulKPart(const Handle(ChFiDS_SurfData)& SD) const = 0; Standard_EXPORT virtual Standard_Boolean SimulSurf(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecOnS1,const Standard_Boolean RecOnS2,const math_Vector& Soldep,Standard_Boolean& Intf,Standard_Boolean& Intl) = 0; Standard_EXPORT virtual void SimulSurf(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HCurve2d)& PC1,const Handle(BRepAdaptor_HSurface)& Sref1,const Handle(BRepAdaptor_HCurve2d)& PCref1,Standard_Boolean& Decroch1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const TopAbs_Orientation Or2,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst,const math_Vector& Soldep) ; Standard_EXPORT virtual void SimulSurf(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const TopAbs_Orientation Or1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Handle(BRepAdaptor_HCurve2d)& PC2,const Handle(BRepAdaptor_HSurface)& Sref2,const Handle(BRepAdaptor_HCurve2d)& PCref2,Standard_Boolean& Decroch2,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst,const math_Vector& Soldep) ; Standard_EXPORT virtual void SimulSurf(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HCurve2d)& PC1,const Handle(BRepAdaptor_HSurface)& Sref1,const Handle(BRepAdaptor_HCurve2d)& PCref1,Standard_Boolean& Decroch1,const TopAbs_Orientation Or1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Handle(BRepAdaptor_HCurve2d)& PC2,const Handle(BRepAdaptor_HSurface)& Sref2,const Handle(BRepAdaptor_HCurve2d)& PCref2,Standard_Boolean& Decroch2,const TopAbs_Orientation Or2,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP1,const Standard_Boolean RecRst1,const Standard_Boolean RecP2,const Standard_Boolean RecRst2,const math_Vector& Soldep) ; Standard_EXPORT Standard_Boolean SimulData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,Blend_Function& Func,Blend_FuncInv& FInv,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const math_Vector& Soldep,const Standard_Integer NbSecMin,const Standard_Boolean RecOnS1 = Standard_False,const Standard_Boolean RecOnS2 = Standard_False) ; Standard_EXPORT Standard_Boolean SimulData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& HGuide,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor2d_HCurve2d)& PC2,const Handle(Adaptor3d_TopolTool)& I2,Standard_Boolean& Decroch,Blend_SurfRstFunction& Func,Blend_FuncInv& FInv,Blend_SurfPointFuncInv& FInvP,Blend_SurfCurvFuncInv& FInvC,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const math_Vector& Soldep,const Standard_Integer NbSecMin,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst) ; Standard_EXPORT Standard_Boolean SimulData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& HGuide,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor2d_HCurve2d)& PC1,const Handle(Adaptor3d_TopolTool)& I1,Standard_Boolean& Decroch1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor2d_HCurve2d)& PC2,const Handle(Adaptor3d_TopolTool)& I2,Standard_Boolean& Decroch2,Blend_RstRstFunction& Func,Blend_SurfCurvFuncInv& FInv1,Blend_CurvPointFuncInv& FInvP1,Blend_SurfCurvFuncInv& FInv2,Blend_CurvPointFuncInv& FInvP2,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const math_Vector& Soldep,const Standard_Integer NbSecMin,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP1,const Standard_Boolean RecRst1,const Standard_Boolean RecP2,const Standard_Boolean RecRst2) ; Standard_EXPORT virtual void SetRegul() = 0; Standard_EXPORT Standard_Boolean PerformElement(const Handle(ChFiDS_Spine)& CElement) ; Standard_EXPORT void PerformExtremity(const Handle(ChFiDS_Spine)& CElement) ; Standard_EXPORT void PerformSetOfSurf(Handle(ChFiDS_Stripe)& S,const Standard_Boolean Simul = Standard_False) ; Standard_EXPORT void PerformSetOfKPart(Handle(ChFiDS_Stripe)& S,const Standard_Boolean Simul = Standard_False) ; Standard_EXPORT void PerformSetOfKGen(Handle(ChFiDS_Stripe)& S,const Standard_Boolean Simul = Standard_False) ; Standard_EXPORT void Trunc(const Handle(ChFiDS_SurfData)& SD,const Handle(ChFiDS_Spine)& Spine,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_HSurface)& S2,const Standard_Integer iedge,const Standard_Boolean isfirst,const Standard_Integer cntlFiOnS) ; Standard_EXPORT void CallPerformSurf(Handle(ChFiDS_Stripe)& Stripe,const Standard_Boolean Simul,ChFiDS_SequenceOfSurfData& SeqSD,Handle(ChFiDS_SurfData)& SD,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Handle(BRepAdaptor_HSurface)& HS1,const Handle(BRepAdaptor_HSurface)& HS3,const gp_Pnt2d& P1,const gp_Pnt2d& P3,Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HSurface)& HS2,const Handle(BRepAdaptor_HSurface)& HS4,const gp_Pnt2d& P2,const gp_Pnt2d& P4,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_Boolean& Intf,Standard_Boolean& Intl,Handle(BRepAdaptor_HSurface)& Surf1,Handle(BRepAdaptor_HSurface)& Surf2) ; //! Method, implemented in the inheritants, calculating
//! elements of construction of the surface (fillet or
//! chamfer).
Standard_EXPORT virtual Standard_Boolean PerformSurf(ChFiDS_SequenceOfSurfData& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecOnS1,const Standard_Boolean RecOnS2,const math_Vector& Soldep,Standard_Boolean& Intf,Standard_Boolean& Intl) = 0; //! Method, implemented in inheritants, calculates
//! the elements of construction of the surface (fillet
//! or chamfer) contact edge/face.
Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HCurve2d)& PC1,const Handle(BRepAdaptor_HSurface)& Sref1,const Handle(BRepAdaptor_HCurve2d)& PCref1,Standard_Boolean& Decroch1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const TopAbs_Orientation Or2,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst,const math_Vector& Soldep) ; //! Method, implemented in inheritants, calculates
//! the elements of construction of the surface (fillet
//! or chamfer) contact edge/face.
Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const TopAbs_Orientation Or1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Handle(BRepAdaptor_HCurve2d)& PC2,const Handle(BRepAdaptor_HSurface)& Sref2,const Handle(BRepAdaptor_HCurve2d)& PCref2,Standard_Boolean& Decroch2,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst,const math_Vector& Soldep) ; //! Method, implemented in inheritants, calculates
//! the elements of construction of the surface (fillet
//! or chamfer) contact edge/edge.
Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,const Standard_Integer Choix,const Handle(BRepAdaptor_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(BRepAdaptor_HCurve2d)& PC1,const Handle(BRepAdaptor_HSurface)& Sref1,const Handle(BRepAdaptor_HCurve2d)& PCref1,Standard_Boolean& Decroch1,const TopAbs_Orientation Or1,const Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,const Handle(BRepAdaptor_HCurve2d)& PC2,const Handle(BRepAdaptor_HSurface)& Sref2,const Handle(BRepAdaptor_HCurve2d)& PCref2,Standard_Boolean& Decroch2,const TopAbs_Orientation Or2,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP1,const Standard_Boolean RecRst1,const Standard_Boolean RecP2,const Standard_Boolean RecRst2,const math_Vector& Soldep) ; Standard_EXPORT virtual void PerformTwoCorner(const Standard_Integer Index) = 0; Standard_EXPORT virtual void PerformThreeCorner(const Standard_Integer Index) = 0; Standard_EXPORT void PerformMoreThreeCorner(const Standard_Integer Index,const Standard_Integer nbcourb) ; Standard_EXPORT virtual void ExtentOneCorner(const TopoDS_Vertex& V,const Handle(ChFiDS_Stripe)& S) = 0; Standard_EXPORT virtual void ExtentTwoCorner(const TopoDS_Vertex& V,const ChFiDS_ListOfStripe& LS) = 0; Standard_EXPORT virtual void ExtentThreeCorner(const TopoDS_Vertex& V,const ChFiDS_ListOfStripe& LS) = 0; Standard_EXPORT virtual Standard_Boolean PerformFirstSection(const Handle(ChFiDS_Spine)& S,const Handle(ChFiDS_HElSpine)& HGuide,const Standard_Integer Choix,Handle(BRepAdaptor_HSurface)& S1,Handle(BRepAdaptor_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_TopolTool)& I2,const Standard_Real Par,math_Vector& SolDep,TopAbs_State& Pos1,TopAbs_State& Pos2) const = 0; Standard_EXPORT Standard_Boolean SearchFace(const Handle(ChFiDS_Spine)& Sp,const ChFiDS_CommonPoint& Pc,const TopoDS_Face& FRef,TopoDS_Face& FVoi) const; Standard_EXPORT Standard_Boolean StripeOrientations(const Handle(ChFiDS_Spine)& Sp,TopAbs_Orientation& Or1,TopAbs_Orientation& Or2,Standard_Integer& ChoixConge) const; //! Calculates a Line of contact face/face.
Standard_EXPORT Standard_Boolean ComputeData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& Guide,const Handle(ChFiDS_Spine)& Spine,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor3d_TopolTool)& I2,Blend_Function& Func,Blend_FuncInv& FInv,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const math_Vector& Soldep,Standard_Boolean& Intf,Standard_Boolean& 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 edge/face.
Standard_EXPORT Standard_Boolean ComputeData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& HGuide,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_TopolTool)& I1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor2d_HCurve2d)& PC2,const Handle(Adaptor3d_TopolTool)& I2,Standard_Boolean& Decroch,Blend_SurfRstFunction& Func,Blend_FuncInv& FInv,Blend_SurfPointFuncInv& FInvP,Blend_SurfCurvFuncInv& FInvC,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const math_Vector& Soldep,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP,const Standard_Boolean RecS,const Standard_Boolean RecRst) ; //! Calculates a Line of contact edge/edge.
Standard_EXPORT Standard_Boolean ComputeData(Handle(ChFiDS_SurfData)& Data,const Handle(ChFiDS_HElSpine)& HGuide,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor2d_HCurve2d)& PC1,const Handle(Adaptor3d_TopolTool)& I1,Standard_Boolean& Decroch1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Adaptor2d_HCurve2d)& PC2,const Handle(Adaptor3d_TopolTool)& I2,Standard_Boolean& Decroch2,Blend_RstRstFunction& Func,Blend_SurfCurvFuncInv& FInv1,Blend_CurvPointFuncInv& FInvP1,Blend_SurfCurvFuncInv& FInv2,Blend_CurvPointFuncInv& FInvP2,const Standard_Real PFirst,const Standard_Real MaxStep,const Standard_Real Fleche,const Standard_Real TolGuide,Standard_Real& First,Standard_Real& Last,const math_Vector& Soldep,const Standard_Boolean Inside,const Standard_Boolean Appro,const Standard_Boolean Forward,const Standard_Boolean RecP1,const Standard_Boolean RecRst1,const Standard_Boolean RecP2,const Standard_Boolean RecRst2) ; Standard_EXPORT Standard_Boolean CompleteData(Handle(ChFiDS_SurfData)& Data,Blend_Function& Func,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_HSurface)& S2,const TopAbs_Orientation Or1,const Standard_Boolean Gd1,const Standard_Boolean Gd2,const Standard_Boolean Gf1,const Standard_Boolean Gf2,const Standard_Boolean Reversed = Standard_False) ; Standard_EXPORT Standard_Boolean CompleteData(Handle(ChFiDS_SurfData)& Data,Blend_SurfRstFunction& Func,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_HSurface)& S2,const TopAbs_Orientation Or,const Standard_Boolean Reversed) ; Standard_EXPORT Standard_Boolean CompleteData(Handle(ChFiDS_SurfData)& Data,Blend_RstRstFunction& Func,Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_HSurface)& S2,const TopAbs_Orientation Or) ; Standard_EXPORT Standard_Boolean StoreData(Handle(ChFiDS_SurfData)& Data,const AppBlend_Approx& Approx,const Handle(BRepBlend_Line)& Lin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Adaptor3d_HSurface)& S2,const TopAbs_Orientation Or1,const Standard_Boolean Gd1,const Standard_Boolean Gd2,const Standard_Boolean Gf1,const Standard_Boolean Gf2,const Standard_Boolean Reversed = Standard_False) ; Standard_EXPORT Standard_Boolean CompleteData(Handle(ChFiDS_SurfData)& Data,const Handle(Geom_Surface)& Surfcoin,const Handle(Adaptor3d_HSurface)& S1,const Handle(Geom2d_Curve)& PC1,const Handle(Adaptor3d_HSurface)& S2,const Handle(Geom2d_Curve)& PC2,const TopAbs_Orientation Or,const Standard_Boolean On1,const Standard_Boolean Gd1,const Standard_Boolean Gd2,const Standard_Boolean Gf1,const Standard_Boolean Gf2) ; 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_HDataStructure myDS; Handle_TopOpeBRepBuild_HBuilder myCoup; ChFiDS_ListOfStripe myListStripe; ChFiDS_StripeMap myVDataMap; ChFiDS_Regularities myRegul; ChFiDS_ListOfStripe badstripes; TopTools_ListOfShape badvertices; TopTools_DataMapOfShapeListOfInteger myEVIMap; Standard_Boolean done; Standard_Boolean hasresult; private: Standard_EXPORT Standard_Boolean FaceTangency(const TopoDS_Edge& E0,const TopoDS_Edge& E1,const TopoDS_Vertex& V) const; Standard_EXPORT void PerformSetOfSurfOnElSpine(const Handle(ChFiDS_HElSpine)& ES,Handle(ChFiDS_Stripe)& St,Handle(BRepTopAdaptor_TopolTool)& It1,Handle(BRepTopAdaptor_TopolTool)& It2,const Standard_Boolean Simul = Standard_False) ; Standard_EXPORT void PerformFilletOnVertex(const Standard_Integer Index) ; Standard_EXPORT void PerformSingularCorner(const Standard_Integer Index) ; Standard_EXPORT void PerformOneCorner(const Standard_Integer Index,const Standard_Boolean PrepareOnSame = Standard_False) ; Standard_EXPORT void IntersectMoreCorner(const Standard_Integer Index) ; Standard_EXPORT void PerformMoreSurfdata(const Standard_Integer Index) ; Standard_EXPORT void PerformIntersectionAtEnd(const Standard_Integer Index) ; Standard_EXPORT void ExtentAnalyse() ; Standard_EXPORT Standard_Boolean FindFace(const TopoDS_Vertex& V,const ChFiDS_CommonPoint& P1,const ChFiDS_CommonPoint& P2,TopoDS_Face& Fv) const; Standard_EXPORT Standard_Boolean FindFace(const TopoDS_Vertex& V,const ChFiDS_CommonPoint& P1,const ChFiDS_CommonPoint& P2,TopoDS_Face& Fv,const TopoDS_Face& Favoid) const; Standard_EXPORT Standard_Boolean MoreSurfdata(const Standard_Integer Index) const; Standard_EXPORT Standard_Boolean StartSol(const Handle(ChFiDS_Spine)& Spine,Handle(BRepAdaptor_HSurface)& HS,gp_Pnt2d& P,Handle(BRepAdaptor_HCurve2d)& HC,Standard_Real& W,const Handle(ChFiDS_SurfData)& SD,const Standard_Boolean isFirst,const Standard_Integer OnS,Handle(BRepAdaptor_HSurface)& HSref,Handle(BRepAdaptor_HCurve2d)& HCref,Standard_Boolean& RecP,Standard_Boolean& RecS,Standard_Boolean& RecRst,Standard_Boolean& C1Obst,Handle(BRepAdaptor_HSurface)& HSbis,gp_Pnt2d& Pbis,const Standard_Boolean Decroch,const TopoDS_Vertex& Vref) const; Standard_EXPORT void StartSol(const Handle(ChFiDS_Stripe)& S,const Handle(ChFiDS_HElSpine)& HGuide,Handle(BRepAdaptor_HSurface)& HS1,Handle(BRepAdaptor_HSurface)& HS2,Handle(BRepTopAdaptor_TopolTool)& I1,Handle(BRepTopAdaptor_TopolTool)& I2,gp_Pnt2d& P1,gp_Pnt2d& P2,Standard_Real& First) const; Standard_EXPORT void ConexFaces(const Handle(ChFiDS_Spine)& Sp,const Standard_Integer IEdge,const Standard_Integer RefChoix,Handle(BRepAdaptor_HSurface)& HS1,Handle(BRepAdaptor_HSurface)& HS2) const; TopoDS_Shape myShape; Standard_Real angular; TopTools_ListOfShape myGenerated; TopoDS_Shape myShapeResult; TopoDS_Shape badShape; }; // other Inline functions and methods (like "C++: function call" methods) #endif