File indexing completed on 2025-01-18 10:04:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IGESGeom_BSplineSurface_HeaderFile
0018 #define _IGESGeom_BSplineSurface_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <TColStd_HArray1OfReal.hxx>
0025 #include <TColStd_HArray2OfReal.hxx>
0026 #include <TColgp_HArray2OfXYZ.hxx>
0027 #include <IGESData_IGESEntity.hxx>
0028 class gp_Pnt;
0029
0030
0031 class IGESGeom_BSplineSurface;
0032 DEFINE_STANDARD_HANDLE(IGESGeom_BSplineSurface, IGESData_IGESEntity)
0033
0034
0035
0036
0037
0038
0039 class IGESGeom_BSplineSurface : public IGESData_IGESEntity
0040 {
0041
0042 public:
0043
0044
0045 Standard_EXPORT IGESGeom_BSplineSurface();
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066 Standard_EXPORT void Init (const Standard_Integer anIndexU, const Standard_Integer anIndexV, const Standard_Integer aDegU, const Standard_Integer aDegV, const Standard_Boolean aCloseU, const Standard_Boolean aCloseV, const Standard_Boolean aPolynom, const Standard_Boolean aPeriodU, const Standard_Boolean aPeriodV, const Handle(TColStd_HArray1OfReal)& allKnotsU, const Handle(TColStd_HArray1OfReal)& allKnotsV, const Handle(TColStd_HArray2OfReal)& allWeights, const Handle(TColgp_HArray2OfXYZ)& allPoles, const Standard_Real aUmin, const Standard_Real aUmax, const Standard_Real aVmin, const Standard_Real aVmax);
0067
0068
0069
0070 Standard_EXPORT void SetFormNumber (const Standard_Integer form);
0071
0072
0073 Standard_EXPORT Standard_Integer UpperIndexU() const;
0074
0075
0076 Standard_EXPORT Standard_Integer UpperIndexV() const;
0077
0078
0079 Standard_EXPORT Standard_Integer DegreeU() const;
0080
0081
0082 Standard_EXPORT Standard_Integer DegreeV() const;
0083
0084
0085 Standard_EXPORT Standard_Boolean IsClosedU() const;
0086
0087
0088 Standard_EXPORT Standard_Boolean IsClosedV() const;
0089
0090
0091
0092
0093 Standard_EXPORT Standard_Boolean IsPolynomial (const Standard_Boolean flag = Standard_False) const;
0094
0095
0096 Standard_EXPORT Standard_Boolean IsPeriodicU() const;
0097
0098
0099 Standard_EXPORT Standard_Boolean IsPeriodicV() const;
0100
0101
0102
0103 Standard_EXPORT Standard_Integer NbKnotsU() const;
0104
0105
0106
0107 Standard_EXPORT Standard_Integer NbKnotsV() const;
0108
0109
0110
0111
0112 Standard_EXPORT Standard_Real KnotU (const Standard_Integer anIndex) const;
0113
0114
0115
0116
0117 Standard_EXPORT Standard_Real KnotV (const Standard_Integer anIndex) const;
0118
0119
0120 Standard_EXPORT Standard_Integer NbPolesU() const;
0121
0122
0123 Standard_EXPORT Standard_Integer NbPolesV() const;
0124
0125
0126
0127
0128 Standard_EXPORT Standard_Real Weight (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const;
0129
0130
0131
0132
0133 Standard_EXPORT gp_Pnt Pole (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const;
0134
0135
0136
0137
0138
0139 Standard_EXPORT gp_Pnt TransformedPole (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const;
0140
0141
0142 Standard_EXPORT Standard_Real UMin() const;
0143
0144
0145 Standard_EXPORT Standard_Real UMax() const;
0146
0147
0148 Standard_EXPORT Standard_Real VMin() const;
0149
0150
0151 Standard_EXPORT Standard_Real VMax() const;
0152
0153
0154
0155
0156 DEFINE_STANDARD_RTTIEXT(IGESGeom_BSplineSurface,IGESData_IGESEntity)
0157
0158 protected:
0159
0160
0161
0162
0163 private:
0164
0165
0166 Standard_Integer theIndexU;
0167 Standard_Integer theIndexV;
0168 Standard_Integer theDegreeU;
0169 Standard_Integer theDegreeV;
0170 Standard_Boolean isClosedU;
0171 Standard_Boolean isClosedV;
0172 Standard_Boolean isPolynomial;
0173 Standard_Boolean isPeriodicU;
0174 Standard_Boolean isPeriodicV;
0175 Handle(TColStd_HArray1OfReal) theKnotsU;
0176 Handle(TColStd_HArray1OfReal) theKnotsV;
0177 Handle(TColStd_HArray2OfReal) theWeights;
0178 Handle(TColgp_HArray2OfXYZ) thePoles;
0179 Standard_Real theUmin;
0180 Standard_Real theUmax;
0181 Standard_Real theVmin;
0182 Standard_Real theVmax;
0183
0184
0185 };
0186
0187
0188
0189
0190
0191
0192
0193 #endif