File indexing completed on 2025-01-18 10:04:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntPatch_ALineToWLine_HeaderFile
0018 #define _IntPatch_ALineToWLine_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <IntPatch_SequenceOfLine.hxx>
0022 #include <IntSurf_Quadric.hxx>
0023 #include <IntSurf_LineOn2S.hxx>
0024
0025 class IntPatch_ALine;
0026 class IntSurf_PntOn2S;
0027
0028 class IntPatch_ALineToWLine
0029 {
0030 public:
0031
0032 DEFINE_STANDARD_ALLOC
0033
0034
0035 Standard_EXPORT IntPatch_ALineToWLine(const Handle(Adaptor3d_Surface)& theS1,
0036 const Handle(Adaptor3d_Surface)& theS2,
0037 const Standard_Integer theNbPoints = 200);
0038
0039 Standard_EXPORT void SetTolOpenDomain (const Standard_Real aT);
0040
0041 Standard_EXPORT Standard_Real TolOpenDomain() const;
0042
0043 Standard_EXPORT void SetTolTransition (const Standard_Real aT);
0044
0045 Standard_EXPORT Standard_Real TolTransition() const;
0046
0047 Standard_EXPORT void SetTol3D (const Standard_Real aT);
0048
0049 Standard_EXPORT Standard_Real Tol3D() const;
0050
0051
0052
0053 Standard_EXPORT void MakeWLine (const Handle(IntPatch_ALine)& aline,
0054 IntPatch_SequenceOfLine& theLines) const;
0055
0056
0057
0058 Standard_EXPORT void MakeWLine (const Handle(IntPatch_ALine)& aline,
0059 const Standard_Real paraminf,
0060 const Standard_Real paramsup,
0061 IntPatch_SequenceOfLine& theLines) const;
0062
0063 protected:
0064
0065
0066
0067
0068
0069
0070
0071 Standard_EXPORT Standard_Boolean StepComputing(const Handle(IntPatch_ALine)& theALine,
0072 const IntSurf_PntOn2S& thePOn2S,
0073 const Standard_Real theLastParOfAline,
0074 const Standard_Real theCurParam,
0075 const Standard_Real theTgMagnitude,
0076 const Standard_Real theStepMin,
0077 const Standard_Real theStepMax,
0078 const Standard_Real theMaxDeflection,
0079 Standard_Real& theStep) const;
0080
0081
0082
0083
0084
0085 Standard_EXPORT Standard_Integer CheckDeflection(const gp_XYZ& theMidPt,
0086 const Standard_Real theMaxDeflection) const;
0087
0088
0089
0090
0091
0092 Standard_EXPORT Standard_Real GetSectionRadius(const gp_Pnt& thePnt3d) const;
0093
0094
0095
0096
0097
0098 Standard_EXPORT void CorrectEndPoint(Handle(IntSurf_LineOn2S)& theLine,
0099 const Standard_Integer theIndex) const;
0100
0101 private:
0102
0103
0104 Handle(Adaptor3d_Surface) myS1;
0105 Handle(Adaptor3d_Surface) myS2;
0106 IntSurf_Quadric myQuad1;
0107 IntSurf_Quadric myQuad2;
0108
0109
0110
0111
0112 Standard_Integer myNbPointsInWline;
0113 Standard_Real myTolOpenDomain;
0114 Standard_Real myTolTransition;
0115 Standard_Real myTol3D;
0116 };
0117
0118 #endif