File indexing completed on 2026-09-19 09:28:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntAna_Quadric_HeaderFile
0018 #define _IntAna_Quadric_HeaderFile
0019
0020 #include <NCollection_List.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 class gp_Cone;
0024 class gp_Cylinder;
0025 class gp_Pln;
0026 class gp_Sphere;
0027
0028
0029
0030 class IntAna_Quadric
0031 {
0032 public:
0033 DEFINE_STANDARD_ALLOC
0034
0035
0036 Standard_EXPORT IntAna_Quadric();
0037
0038
0039 Standard_EXPORT IntAna_Quadric(const gp_Pln& P);
0040
0041
0042 Standard_EXPORT IntAna_Quadric(const gp_Sphere& Sph);
0043
0044
0045 Standard_EXPORT IntAna_Quadric(const gp_Cylinder& Cyl);
0046
0047
0048 Standard_EXPORT IntAna_Quadric(const gp_Cone& Cone);
0049
0050
0051 Standard_EXPORT void SetQuadric(const gp_Pln& P);
0052
0053
0054 Standard_EXPORT void SetQuadric(const gp_Sphere& Sph);
0055
0056
0057 Standard_EXPORT void SetQuadric(const gp_Cone& Con);
0058
0059
0060 Standard_EXPORT void SetQuadric(const gp_Cylinder& Cyl);
0061
0062
0063
0064
0065
0066
0067
0068 Standard_EXPORT void Coefficients(double& xCXX,
0069 double& xCYY,
0070 double& xCZZ,
0071 double& xCXY,
0072 double& xCXZ,
0073 double& xCYZ,
0074 double& xCX,
0075 double& xCY,
0076 double& xCZ,
0077 double& xCCte) const;
0078
0079
0080
0081
0082 Standard_EXPORT void NewCoefficients(double& xCXX,
0083 double& xCYY,
0084 double& xCZZ,
0085 double& xCXY,
0086 double& xCXZ,
0087 double& xCYZ,
0088 double& xCX,
0089 double& xCY,
0090 double& xCZ,
0091 double& xCCte,
0092 const gp_Ax3& Axis) const;
0093
0094
0095 const NCollection_List<gp_Pnt>& SpecialPoints() const { return mySpecialPoints; }
0096
0097 private:
0098 double CXX;
0099 double CYY;
0100 double CZZ;
0101 double CXY;
0102 double CXZ;
0103 double CYZ;
0104 double CX;
0105 double CY;
0106 double CZ;
0107 double CCte;
0108 NCollection_List<gp_Pnt> mySpecialPoints;
0109 };
0110
0111 #endif