File indexing completed on 2025-01-18 10:04:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntAna_Curve_HeaderFile
0018 #define _IntAna_Curve_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <GeomAbs_SurfaceType.hxx>
0024 #include <gp_Ax3.hxx>
0025 #include <TColStd_ListOfReal.hxx>
0026
0027 class gp_Cone;
0028 class gp_Cylinder;
0029
0030
0031
0032 class IntAna_Curve
0033 {
0034 public:
0035
0036 DEFINE_STANDARD_ALLOC
0037
0038
0039
0040 Standard_EXPORT IntAna_Curve();
0041
0042
0043
0044 Standard_EXPORT void SetCylinderQuadValues (const gp_Cylinder& Cylinder, const Standard_Real Qxx, const Standard_Real Qyy, const Standard_Real Qzz, const Standard_Real Qxy, const Standard_Real Qxz, const Standard_Real Qyz, const Standard_Real Qx, const Standard_Real Qy, const Standard_Real Qz, const Standard_Real Q1, const Standard_Real Tol, const Standard_Real DomInf, const Standard_Real DomSup, const Standard_Boolean TwoZForATheta, const Standard_Boolean ZIsPositive);
0045
0046
0047
0048 Standard_EXPORT void SetConeQuadValues (const gp_Cone& Cone, const Standard_Real Qxx, const Standard_Real Qyy, const Standard_Real Qzz, const Standard_Real Qxy, const Standard_Real Qxz, const Standard_Real Qyz, const Standard_Real Qx, const Standard_Real Qy, const Standard_Real Qz, const Standard_Real Q1, const Standard_Real Tol, const Standard_Real DomInf, const Standard_Real DomSup, const Standard_Boolean TwoZForATheta, const Standard_Boolean ZIsPositive);
0049
0050
0051
0052 Standard_EXPORT Standard_Boolean IsOpen() const;
0053
0054
0055 Standard_EXPORT void Domain(Standard_Real& theFirst, Standard_Real& theLast) const;
0056
0057
0058 Standard_EXPORT Standard_Boolean IsConstant() const;
0059
0060
0061 Standard_EXPORT Standard_Boolean IsFirstOpen() const;
0062
0063
0064 Standard_EXPORT Standard_Boolean IsLastOpen() const;
0065
0066
0067 Standard_EXPORT gp_Pnt Value (const Standard_Real Theta);
0068
0069
0070
0071 Standard_EXPORT Standard_Boolean D1u (const Standard_Real Theta, gp_Pnt& P, gp_Vec& V);
0072
0073
0074
0075
0076
0077
0078 Standard_EXPORT void FindParameter(const gp_Pnt& P,
0079 TColStd_ListOfReal& theParams) const;
0080
0081
0082
0083 Standard_EXPORT void SetIsFirstOpen (const Standard_Boolean Flag);
0084
0085
0086
0087 Standard_EXPORT void SetIsLastOpen (const Standard_Boolean Flag);
0088
0089
0090 Standard_EXPORT void SetDomain(const Standard_Real theFirst, const Standard_Real theLast);
0091
0092
0093
0094
0095 protected:
0096
0097
0098
0099 Standard_EXPORT gp_Pnt InternalValue (const Standard_Real Theta1, const Standard_Real Theta2) const;
0100
0101
0102 Standard_EXPORT void InternalUVValue (const Standard_Real Param, Standard_Real& U, Standard_Real& V, Standard_Real& A, Standard_Real& B, Standard_Real& C, Standard_Real& Co, Standard_Real& Si, Standard_Real& Di) const;
0103
0104
0105
0106 private:
0107
0108
0109
0110 Standard_Real Z0Cte;
0111 Standard_Real Z0Sin;
0112 Standard_Real Z0Cos;
0113 Standard_Real Z0SinSin;
0114 Standard_Real Z0CosCos;
0115 Standard_Real Z0CosSin;
0116 Standard_Real Z1Cte;
0117 Standard_Real Z1Sin;
0118 Standard_Real Z1Cos;
0119 Standard_Real Z1SinSin;
0120 Standard_Real Z1CosCos;
0121 Standard_Real Z1CosSin;
0122 Standard_Real Z2Cte;
0123 Standard_Real Z2Sin;
0124 Standard_Real Z2Cos;
0125 Standard_Real Z2SinSin;
0126 Standard_Real Z2CosCos;
0127 Standard_Real Z2CosSin;
0128 Standard_Boolean TwoCurves;
0129 Standard_Boolean TakeZPositive;
0130 Standard_Real Tolerance;
0131
0132
0133 Standard_Real DomainInf, DomainSup;
0134 Standard_Boolean RestrictedInf;
0135 Standard_Boolean RestrictedSup;
0136 Standard_Boolean firstbounded;
0137 Standard_Boolean lastbounded;
0138 GeomAbs_SurfaceType typequadric;
0139 Standard_Real RCyl;
0140 Standard_Real Angle;
0141 gp_Ax3 Ax3;
0142
0143
0144 Standard_Real myFirstParameter, myLastParameter;
0145
0146
0147 };
0148
0149
0150
0151
0152
0153
0154
0155 #endif