File indexing completed on 2026-07-25 09:24:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _StepGeom_BSplineSurface_HeaderFile
0018 #define _StepGeom_BSplineSurface_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <StepGeom_HArray2OfCartesianPoint.hxx>
0025 #include <StepGeom_BSplineSurfaceForm.hxx>
0026 #include <StepData_Logical.hxx>
0027 #include <StepGeom_BoundedSurface.hxx>
0028 class TCollection_HAsciiString;
0029 class StepGeom_CartesianPoint;
0030
0031 class StepGeom_BSplineSurface;
0032 DEFINE_STANDARD_HANDLE(StepGeom_BSplineSurface, StepGeom_BoundedSurface)
0033
0034 class StepGeom_BSplineSurface : public StepGeom_BoundedSurface
0035 {
0036
0037 public:
0038
0039 Standard_EXPORT StepGeom_BSplineSurface();
0040
0041 Standard_EXPORT void Init(const Handle(TCollection_HAsciiString)& aName,
0042 const Standard_Integer aUDegree,
0043 const Standard_Integer aVDegree,
0044 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
0045 const StepGeom_BSplineSurfaceForm aSurfaceForm,
0046 const StepData_Logical aUClosed,
0047 const StepData_Logical aVClosed,
0048 const StepData_Logical aSelfIntersect);
0049
0050 Standard_EXPORT void SetUDegree(const Standard_Integer aUDegree);
0051
0052 Standard_EXPORT Standard_Integer UDegree() const;
0053
0054 Standard_EXPORT void SetVDegree(const Standard_Integer aVDegree);
0055
0056 Standard_EXPORT Standard_Integer VDegree() const;
0057
0058 Standard_EXPORT void SetControlPointsList(
0059 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList);
0060
0061 Standard_EXPORT Handle(StepGeom_HArray2OfCartesianPoint) ControlPointsList() const;
0062
0063 Standard_EXPORT Handle(StepGeom_CartesianPoint) ControlPointsListValue(
0064 const Standard_Integer num1,
0065 const Standard_Integer num2) const;
0066
0067 Standard_EXPORT Standard_Integer NbControlPointsListI() const;
0068
0069 Standard_EXPORT Standard_Integer NbControlPointsListJ() const;
0070
0071 Standard_EXPORT void SetSurfaceForm(const StepGeom_BSplineSurfaceForm aSurfaceForm);
0072
0073 Standard_EXPORT StepGeom_BSplineSurfaceForm SurfaceForm() const;
0074
0075 Standard_EXPORT void SetUClosed(const StepData_Logical aUClosed);
0076
0077 Standard_EXPORT StepData_Logical UClosed() const;
0078
0079 Standard_EXPORT void SetVClosed(const StepData_Logical aVClosed);
0080
0081 Standard_EXPORT StepData_Logical VClosed() const;
0082
0083 Standard_EXPORT void SetSelfIntersect(const StepData_Logical aSelfIntersect);
0084
0085 Standard_EXPORT StepData_Logical SelfIntersect() const;
0086
0087 DEFINE_STANDARD_RTTIEXT(StepGeom_BSplineSurface, StepGeom_BoundedSurface)
0088
0089 protected:
0090 private:
0091 Standard_Integer uDegree;
0092 Standard_Integer vDegree;
0093 Handle(StepGeom_HArray2OfCartesianPoint) controlPointsList;
0094 StepGeom_BSplineSurfaceForm surfaceForm;
0095 StepData_Logical uClosed;
0096 StepData_Logical vClosed;
0097 StepData_Logical selfIntersect;
0098 };
0099
0100 #endif