File indexing completed on 2026-09-17 09:20:34
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomLib_CheckBSplineCurve_HeaderFile
0018 #define _GeomLib_CheckBSplineCurve_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 class Geom_BSplineCurve;
0025
0026
0027
0028 class GeomLib_CheckBSplineCurve
0029 {
0030 public:
0031 DEFINE_STANDARD_ALLOC
0032
0033 Standard_EXPORT GeomLib_CheckBSplineCurve(const occ::handle<Geom_BSplineCurve>& Curve,
0034 const double Tolerance,
0035 const double AngularTolerance);
0036
0037 bool IsDone() const;
0038
0039 Standard_EXPORT void NeedTangentFix(bool& FirstFlag, bool& SecondFlag) const;
0040
0041 Standard_EXPORT void FixTangent(const bool FirstFlag, const bool LastFlag);
0042
0043
0044
0045
0046
0047
0048 Standard_EXPORT occ::handle<Geom_BSplineCurve> FixedTangent(const bool FirstFlag,
0049 const bool LastFlag);
0050
0051 private:
0052 void FixTangentOnCurve(occ::handle<Geom_BSplineCurve>& theCurve,
0053 const bool FirstFlag,
0054 const bool LastFlag);
0055
0056 occ::handle<Geom_BSplineCurve> myCurve;
0057 bool myDone;
0058 bool myFixFirstTangent;
0059 bool myFixLastTangent;
0060 double myAngularTolerance;
0061 double myTolerance;
0062
0063 int myIndSecondPole;
0064 int myIndPrelastPole;
0065 };
0066
0067 #include <GeomLib_CheckBSplineCurve.lxx>
0068
0069 #endif