File indexing completed on 2026-09-21 09:17:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocalAnalysis_CurveContinuity_HeaderFile
0018 #define _LocalAnalysis_CurveContinuity_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <GeomAbs_Shape.hxx>
0025 #include <LocalAnalysis_StatusErrorType.hxx>
0026 class Geom_Curve;
0027 #include <GeomLProp_CLProps.hxx>
0028
0029
0030
0031 class LocalAnalysis_CurveContinuity
0032 {
0033 public:
0034 DEFINE_STANDARD_ALLOC
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125 Standard_EXPORT LocalAnalysis_CurveContinuity(const occ::handle<Geom_Curve>& Curv1,
0126 const double u1,
0127 const occ::handle<Geom_Curve>& Curv2,
0128 const double u2,
0129 const GeomAbs_Shape Order,
0130 const double EpsNul = 0.001,
0131 const double EpsC0 = 0.001,
0132 const double EpsC1 = 0.001,
0133 const double EpsC2 = 0.001,
0134 const double EpsG1 = 0.001,
0135 const double EpsG2 = 0.001,
0136 const double Percent = 0.01,
0137 const double Maxlen = 10000);
0138
0139 Standard_EXPORT bool IsDone() const;
0140
0141 Standard_EXPORT LocalAnalysis_StatusErrorType StatusError() const;
0142
0143 Standard_EXPORT GeomAbs_Shape ContinuityStatus() const;
0144
0145 Standard_EXPORT double C0Value() const;
0146
0147 Standard_EXPORT double C1Angle() const;
0148
0149 Standard_EXPORT double C1Ratio() const;
0150
0151 Standard_EXPORT double C2Angle() const;
0152
0153 Standard_EXPORT double C2Ratio() const;
0154
0155 Standard_EXPORT double G1Angle() const;
0156
0157 Standard_EXPORT double G2Angle() const;
0158
0159 Standard_EXPORT double G2CurvatureVariation() const;
0160
0161 Standard_EXPORT bool IsC0() const;
0162
0163 Standard_EXPORT bool IsC1() const;
0164
0165 Standard_EXPORT bool IsC2() const;
0166
0167 Standard_EXPORT bool IsG1() const;
0168
0169 Standard_EXPORT bool IsG2() const;
0170
0171 private:
0172 Standard_EXPORT void CurvC0(GeomLProp_CLProps& Curv1, GeomLProp_CLProps& Curv2);
0173
0174 Standard_EXPORT void CurvC1(GeomLProp_CLProps& Curv1, GeomLProp_CLProps& Curv2);
0175
0176 Standard_EXPORT void CurvC2(GeomLProp_CLProps& Curv1, GeomLProp_CLProps& Curv2);
0177
0178 Standard_EXPORT void CurvG1(GeomLProp_CLProps& Curv1, GeomLProp_CLProps& Curv2);
0179
0180 Standard_EXPORT void CurvG2(GeomLProp_CLProps& Curv1, GeomLProp_CLProps& Curv2);
0181
0182 double myContC0;
0183 double myContC1;
0184 double myContC2;
0185 double myContG1;
0186 double myContG2;
0187 double myCourbC1;
0188 double myCourbC2;
0189 double myG2Variation;
0190 double myLambda1;
0191 double myLambda2;
0192 GeomAbs_Shape myTypeCont;
0193 double myepsnul;
0194 double myepsC0;
0195 double myepsC1;
0196 double myepsC2;
0197 double myepsG1;
0198 double myepsG2;
0199 double myMaxLon;
0200 double myperce;
0201 bool myIsDone;
0202 LocalAnalysis_StatusErrorType myErrorStatus;
0203 };
0204
0205 #endif