Open CASCADE Technology 7.8.0
|
An algorithm to convert a grid of adjacent non-rational Bezier surfaces (with continuity CM) into a BSpline surface (with continuity CM). A CompBezierSurfacesToBSplineSurface object provides a framework for: More...
#include <GeomConvert_CompBezierSurfacesToBSplineSurface.hxx>
Public Member Functions | |
GeomConvert_CompBezierSurfacesToBSplineSurface (const TColGeom_Array2OfBezierSurface &Beziers) | |
Computes all the data needed to build a "C0" continuous BSpline surface equivalent to the grid of adjacent non-rational Bezier surfaces Beziers. Each surface in the Beziers grid becomes a natural patch, limited by knots values, on the BSpline surface whose data is computed. Surfaces in the grid must satisfy the following conditions: | |
GeomConvert_CompBezierSurfacesToBSplineSurface (const TColGeom_Array2OfBezierSurface &Beziers, const Standard_Real Tolerance, const Standard_Boolean RemoveKnots=Standard_True) | |
Build an Ci uniform (Rational) BSpline surface The highest Continuity Ci is imposed, like the maximal deformation is lower than <Tolerance>. Warning: The Continuity C0 is imposed without any check. | |
GeomConvert_CompBezierSurfacesToBSplineSurface (const TColGeom_Array2OfBezierSurface &Beziers, const TColStd_Array1OfReal &UKnots, const TColStd_Array1OfReal &VKnots, const GeomAbs_Shape UContinuity=GeomAbs_C0, const GeomAbs_Shape VContinuity=GeomAbs_C0, const Standard_Real Tolerance=1.0e-4) | |
Computes all the data needed to construct a BSpline surface equivalent to the adjacent non-rational Bezier surfaces Beziers grid. Each surface in the Beziers grid becomes a natural patch, limited by knots values, on the BSpline surface whose data is computed. Surfaces in the grid must satisfy the following conditions: | |
Standard_Integer | NbUKnots () const |
Returns the number of knots in the U direction of the BSpline surface whose data is computed in this framework. | |
Standard_Integer | NbUPoles () const |
Returns number of poles in the U direction of the BSpline surface whose data is computed in this framework. | |
Standard_Integer | NbVKnots () const |
Returns the number of knots in the V direction of the BSpline surface whose data is computed in this framework. | |
Standard_Integer | NbVPoles () const |
Returns the number of poles in the V direction of the BSpline surface whose data is computed in this framework. | |
const Handle< TColgp_HArray2OfPnt > & | Poles () const |
Returns the table of poles of the BSpline surface whose data is computed in this framework. | |
const Handle< TColStd_HArray1OfReal > & | UKnots () const |
Returns the knots table for the u parametric direction of the BSpline surface whose data is computed in this framework. | |
Standard_Integer | UDegree () const |
Returns the degree for the u parametric direction of the BSpline surface whose data is computed in this framework. | |
const Handle< TColStd_HArray1OfReal > & | VKnots () const |
Returns the knots table for the v parametric direction of the BSpline surface whose data is computed in this framework. | |
Standard_Integer | VDegree () const |
Returns the degree for the v parametric direction of the BSpline surface whose data is computed in this framework. | |
const Handle< TColStd_HArray1OfInteger > & | UMultiplicities () const |
Returns the multiplicities table for the u parametric direction of the knots of the BSpline surface whose data is computed in this framework. | |
const Handle< TColStd_HArray1OfInteger > & | VMultiplicities () const |
– Returns the multiplicities table for the v parametric direction of the knots of the BSpline surface whose data is computed in this framework. | |
Standard_Boolean | IsDone () const |
Returns true if the conversion was successful. Unless an exception was raised at the time of construction, the conversion of the Bezier surface grid assigned to this algorithm is always carried out. IsDone returns false if the constraints defined at the time of construction cannot be respected. This occurs when there is an incompatibility between a required degree of continuity on the BSpline surface, and the maximum tolerance accepted for local deformations of the surface. In such a case the computed data does not satisfy all the initial constraints. | |
An algorithm to convert a grid of adjacent non-rational Bezier surfaces (with continuity CM) into a BSpline surface (with continuity CM). A CompBezierSurfacesToBSplineSurface object provides a framework for:
UIndex [1, NbUPatches] Udirection
Warning! Patches must have compatible parametrization
GeomConvert_CompBezierSurfacesToBSplineSurface::GeomConvert_CompBezierSurfacesToBSplineSurface | ( | const TColGeom_Array2OfBezierSurface & | Beziers | ) |
Computes all the data needed to build a "C0" continuous BSpline surface equivalent to the grid of adjacent non-rational Bezier surfaces Beziers. Each surface in the Beziers grid becomes a natural patch, limited by knots values, on the BSpline surface whose data is computed. Surfaces in the grid must satisfy the following conditions:
GeomConvert_CompBezierSurfacesToBSplineSurface::GeomConvert_CompBezierSurfacesToBSplineSurface | ( | const TColGeom_Array2OfBezierSurface & | Beziers, |
const Standard_Real | Tolerance, | ||
const Standard_Boolean | RemoveKnots = Standard_True |
||
) |
Build an Ci uniform (Rational) BSpline surface The highest Continuity Ci is imposed, like the maximal deformation is lower than <Tolerance>. Warning: The Continuity C0 is imposed without any check.
GeomConvert_CompBezierSurfacesToBSplineSurface::GeomConvert_CompBezierSurfacesToBSplineSurface | ( | const TColGeom_Array2OfBezierSurface & | Beziers, |
const TColStd_Array1OfReal & | UKnots, | ||
const TColStd_Array1OfReal & | VKnots, | ||
const GeomAbs_Shape | UContinuity = GeomAbs_C0 , |
||
const GeomAbs_Shape | VContinuity = GeomAbs_C0 , |
||
const Standard_Real | Tolerance = 1.0e-4 |
||
) |
Computes all the data needed to construct a BSpline surface equivalent to the adjacent non-rational Bezier surfaces Beziers grid. Each surface in the Beziers grid becomes a natural patch, limited by knots values, on the BSpline surface whose data is computed. Surfaces in the grid must satisfy the following conditions:
Standard_Boolean GeomConvert_CompBezierSurfacesToBSplineSurface::IsDone | ( | ) | const |
Returns true if the conversion was successful. Unless an exception was raised at the time of construction, the conversion of the Bezier surface grid assigned to this algorithm is always carried out. IsDone returns false if the constraints defined at the time of construction cannot be respected. This occurs when there is an incompatibility between a required degree of continuity on the BSpline surface, and the maximum tolerance accepted for local deformations of the surface. In such a case the computed data does not satisfy all the initial constraints.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::NbUKnots | ( | ) | const |
Returns the number of knots in the U direction of the BSpline surface whose data is computed in this framework.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::NbUPoles | ( | ) | const |
Returns number of poles in the U direction of the BSpline surface whose data is computed in this framework.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::NbVKnots | ( | ) | const |
Returns the number of knots in the V direction of the BSpline surface whose data is computed in this framework.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::NbVPoles | ( | ) | const |
Returns the number of poles in the V direction of the BSpline surface whose data is computed in this framework.
const Handle< TColgp_HArray2OfPnt > & GeomConvert_CompBezierSurfacesToBSplineSurface::Poles | ( | ) | const |
Returns the table of poles of the BSpline surface whose data is computed in this framework.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::UDegree | ( | ) | const |
Returns the degree for the u parametric direction of the BSpline surface whose data is computed in this framework.
const Handle< TColStd_HArray1OfReal > & GeomConvert_CompBezierSurfacesToBSplineSurface::UKnots | ( | ) | const |
Returns the knots table for the u parametric direction of the BSpline surface whose data is computed in this framework.
const Handle< TColStd_HArray1OfInteger > & GeomConvert_CompBezierSurfacesToBSplineSurface::UMultiplicities | ( | ) | const |
Returns the multiplicities table for the u parametric direction of the knots of the BSpline surface whose data is computed in this framework.
Standard_Integer GeomConvert_CompBezierSurfacesToBSplineSurface::VDegree | ( | ) | const |
Returns the degree for the v parametric direction of the BSpline surface whose data is computed in this framework.
const Handle< TColStd_HArray1OfReal > & GeomConvert_CompBezierSurfacesToBSplineSurface::VKnots | ( | ) | const |
Returns the knots table for the v parametric direction of the BSpline surface whose data is computed in this framework.
const Handle< TColStd_HArray1OfInteger > & GeomConvert_CompBezierSurfacesToBSplineSurface::VMultiplicities | ( | ) | const |
– Returns the multiplicities table for the v parametric direction of the knots of the BSpline surface whose data is computed in this framework.