1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 // This file is part of Open CASCADE Technology software library.
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
14 #include <StepGeom_RationalBSplineSurface.ixx>
17 StepGeom_RationalBSplineSurface::StepGeom_RationalBSplineSurface () {}
19 void StepGeom_RationalBSplineSurface::Init(
20 const Handle(TCollection_HAsciiString)& aName,
21 const Standard_Integer aUDegree,
22 const Standard_Integer aVDegree,
23 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
24 const StepGeom_BSplineSurfaceForm aSurfaceForm,
25 const StepData_Logical aUClosed,
26 const StepData_Logical aVClosed,
27 const StepData_Logical aSelfIntersect)
30 StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
33 void StepGeom_RationalBSplineSurface::Init(
34 const Handle(TCollection_HAsciiString)& aName,
35 const Standard_Integer aUDegree,
36 const Standard_Integer aVDegree,
37 const Handle(StepGeom_HArray2OfCartesianPoint)& aControlPointsList,
38 const StepGeom_BSplineSurfaceForm aSurfaceForm,
39 const StepData_Logical aUClosed,
40 const StepData_Logical aVClosed,
41 const StepData_Logical aSelfIntersect,
42 const Handle(TColStd_HArray2OfReal)& aWeightsData)
44 // --- classe own fields ---
45 weightsData = aWeightsData;
46 // --- classe inherited fields ---
47 StepGeom_BSplineSurface::Init(aName, aUDegree, aVDegree, aControlPointsList, aSurfaceForm, aUClosed, aVClosed, aSelfIntersect);
51 void StepGeom_RationalBSplineSurface::SetWeightsData(const Handle(TColStd_HArray2OfReal)& aWeightsData)
53 weightsData = aWeightsData;
56 Handle(TColStd_HArray2OfReal) StepGeom_RationalBSplineSurface::WeightsData() const
61 Standard_Real StepGeom_RationalBSplineSurface::WeightsDataValue(const Standard_Integer num1,const Standard_Integer num2) const
63 return weightsData->Value(num1,num2);
66 Standard_Integer StepGeom_RationalBSplineSurface::NbWeightsDataI () const
68 return weightsData->UpperRow() - weightsData->LowerRow() + 1;
71 Standard_Integer StepGeom_RationalBSplineSurface::NbWeightsDataJ () const
73 return weightsData->UpperCol() - weightsData->LowerCol() + 1;