File indexing completed on 2025-01-18 10:03:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomPlate_CurveConstraint_HeaderFile
0018 #define _GeomPlate_CurveConstraint_HeaderFile
0019
0020 #include <Adaptor3d_CurveOnSurface.hxx>
0021 #include <GeomLProp_SLProps.hxx>
0022
0023 class Geom2d_Curve;
0024 class Law_Function;
0025 class gp_Pnt;
0026 class gp_Vec;
0027
0028 class GeomPlate_CurveConstraint;
0029 DEFINE_STANDARD_HANDLE(GeomPlate_CurveConstraint, Standard_Transient)
0030
0031
0032
0033 class GeomPlate_CurveConstraint : public Standard_Transient
0034 {
0035
0036 public:
0037
0038
0039
0040
0041 Standard_EXPORT GeomPlate_CurveConstraint();
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 Standard_EXPORT GeomPlate_CurveConstraint(const Handle(Adaptor3d_Curve)& Boundary, const Standard_Integer Order, const Standard_Integer NPt = 10, const Standard_Real TolDist = 0.0001, const Standard_Real TolAng = 0.01, const Standard_Real TolCurv = 0.1);
0053
0054
0055
0056
0057 Standard_EXPORT void SetOrder (const Standard_Integer Order);
0058
0059
0060 Standard_EXPORT Standard_Integer Order() const;
0061
0062
0063
0064
0065
0066 Standard_EXPORT Standard_Integer NbPoints() const;
0067
0068
0069
0070
0071
0072
0073 Standard_EXPORT void SetNbPoints (const Standard_Integer NewNb);
0074
0075
0076
0077
0078
0079
0080
0081 Standard_EXPORT void SetG0Criterion (const Handle(Law_Function)& G0Crit);
0082
0083
0084
0085
0086
0087
0088
0089 Standard_EXPORT void SetG1Criterion (const Handle(Law_Function)& G1Crit);
0090
0091 Standard_EXPORT void SetG2Criterion (const Handle(Law_Function)& G2Crit);
0092
0093
0094
0095
0096 Standard_EXPORT Standard_Real G0Criterion (const Standard_Real U) const;
0097
0098
0099
0100
0101
0102 Standard_EXPORT Standard_Real G1Criterion (const Standard_Real U) const;
0103
0104
0105
0106
0107
0108 Standard_EXPORT Standard_Real G2Criterion (const Standard_Real U) const;
0109
0110 Standard_EXPORT Standard_Real FirstParameter() const;
0111
0112 Standard_EXPORT Standard_Real LastParameter() const;
0113
0114 Standard_EXPORT Standard_Real Length() const;
0115
0116 Standard_EXPORT GeomLProp_SLProps& LPropSurf (const Standard_Real U);
0117
0118 Standard_EXPORT void D0 (const Standard_Real U, gp_Pnt& P) const;
0119
0120 Standard_EXPORT void D1 (const Standard_Real U, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2) const;
0121
0122 Standard_EXPORT void D2 (const Standard_Real U, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3, gp_Vec& V4, gp_Vec& V5) const;
0123
0124 Standard_EXPORT Handle(Adaptor3d_Curve) Curve3d() const;
0125
0126
0127 Standard_EXPORT void SetCurve2dOnSurf (const Handle(Geom2d_Curve)& Curve2d);
0128
0129
0130 Standard_EXPORT Handle(Geom2d_Curve) Curve2dOnSurf() const;
0131
0132
0133
0134 Standard_EXPORT void SetProjectedCurve (const Handle(Adaptor2d_Curve2d)& Curve2d, const Standard_Real TolU, const Standard_Real TolV);
0135
0136
0137
0138 Standard_EXPORT Handle(Adaptor2d_Curve2d) ProjectedCurve() const;
0139
0140
0141
0142
0143 DEFINE_STANDARD_RTTIEXT(GeomPlate_CurveConstraint,Standard_Transient)
0144
0145 protected:
0146
0147
0148 Handle(Adaptor3d_CurveOnSurface) myFrontiere;
0149 Standard_Integer myNbPoints;
0150 Standard_Integer myOrder;
0151 Handle(Adaptor3d_Curve) my3dCurve;
0152 Standard_Integer myTang;
0153 Handle(Geom2d_Curve) my2dCurve;
0154 Handle(Adaptor2d_Curve2d) myHCurve2d;
0155 Handle(Law_Function) myG0Crit;
0156 Handle(Law_Function) myG1Crit;
0157 Handle(Law_Function) myG2Crit;
0158 Standard_Boolean myConstG0;
0159 Standard_Boolean myConstG1;
0160 Standard_Boolean myConstG2;
0161 GeomLProp_SLProps myLProp;
0162 Standard_Real myTolDist;
0163 Standard_Real myTolAng;
0164 Standard_Real myTolCurv;
0165 Standard_Real myTolU;
0166 Standard_Real myTolV;
0167
0168 };
0169
0170 #endif