OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKGeomBase
GeomConvert


GeomConvert Class Reference

The GeomConvert package provides some global functions as follows
- converting classical Geom curves into BSpline curves,
- segmenting BSpline curves, particularly at knots
values: this function may be used in conjunction with the
GeomConvert_BSplineCurveKnotSplitting
class to segment a BSpline curve into arcs which
comply with required continuity levels,
- converting classical Geom surfaces into BSpline surfaces, and
- segmenting BSpline surfaces, particularly at
knots values: this function may be used in conjunction with the
GeomConvert_BSplineSurfaceKnotSplitting
class to segment a BSpline surface into patches
which comply with required continuity levels.
All geometric entities used in this package are bounded.

References :
. Generating the Bezier Points of B-spline curves and surfaces
(Wolfgang Bohm) CAGD volume 13 number 6 november 1981
. On NURBS: A Survey (Leslie Piegl) IEEE Computer Graphics and
Application January 1991
. Curve and surface construction using rational B-splines
(Leslie Piegl and Wayne Tiller) CAD Volume 19 number 9 november
1987
. A survey of curve and surface methods in CAGD (Wolfgang BOHM)
CAGD 1 1984
.

#include <GeomConvert.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)

Static Public Member Functions

static Standard_EXPORT Handle_Geom_BSplineCurve SplitBSplineCurve (const Handle(Geom_BSplineCurve)&C, const Standard_Integer FromK1, const Standard_Integer ToK2, const Standard_Boolean SameOrientation=Standard_True)
 Raised if FromK1 = ToK2
Raised if FromK1 or ToK2 are out of the bounds
[FirstUKnotIndex, LastUKnotIndex]
.
static Standard_EXPORT Handle_Geom_BSplineCurve SplitBSplineCurve (const Handle(Geom_BSplineCurve)&C, const Standard_Real FromU1, const Standard_Real ToU2, const Standard_Real ParametricTolerance, const Standard_Boolean SameOrientation=Standard_True)
 Raised if FromU1 or ToU2 are out of the parametric bounds of the
curve (The tolerance criterion is ParametricTolerance).
Raised if Abs (FromU1 - ToU2) <= ParametricTolerance
Raised if ParametricTolerance < Resolution from gp.
.
static Standard_EXPORT Handle_Geom_BSplineSurface SplitBSplineSurface (const Handle(Geom_BSplineSurface)&S, const Standard_Integer FromUK1, const Standard_Integer ToUK2, const Standard_Integer FromVK1, const Standard_Integer ToVK2, const Standard_Boolean SameUOrientation=Standard_True, const Standard_Boolean SameVOrientation=Standard_True)
 Raised if
FromUK1 = ToUK2 or FromVK1 = ToVK2
FromUK1 or ToUK2 are out of the bounds
[FirstUKnotIndex, LastUKnotIndex]
FromVK1 or ToVK2 are out of the bounds
[FirstVKnotIndex, LastVKnotIndex]
.
static Standard_EXPORT Handle_Geom_BSplineSurface SplitBSplineSurface (const Handle(Geom_BSplineSurface)&S, const Standard_Integer FromK1, const Standard_Integer ToK2, const Standard_Boolean USplit, const Standard_Boolean SameOrientation=Standard_True)
 Raised if FromK1 = ToK2 or if
FromK1 or ToK2 are out of the bounds
[FirstUKnotIndex, LastUKnotIndex] in the
considered parametric direction.
.
static Standard_EXPORT Handle_Geom_BSplineSurface SplitBSplineSurface (const Handle(Geom_BSplineSurface)&S, const Standard_Real FromU1, const Standard_Real ToU2, const Standard_Real FromV1, const Standard_Real ToV2, const Standard_Real ParametricTolerance, const Standard_Boolean SameUOrientation=Standard_True, const Standard_Boolean SameVOrientation=Standard_True)
 Raised if FromU1 or ToU2 or FromV1 or ToU2 are out of the
parametric bounds of the surface (the tolerance criterion is
ParametricTolerance).
Raised if Abs (FromU1 - ToU2) <= ParametricTolerance or
Abs (FromV1 - ToV2) <= ParametricTolerance.
Raised if ParametricTolerance < Resolution.
.
static Standard_EXPORT Handle_Geom_BSplineSurface SplitBSplineSurface (const Handle(Geom_BSplineSurface)&S, const Standard_Real FromParam1, const Standard_Real ToParam2, const Standard_Boolean USplit, const Standard_Real ParametricTolerance, const Standard_Boolean SameOrientation=Standard_True)
 Raises if FromParam1 or ToParam2 are out of the parametric bounds
of the surface in the considered direction.
Raises if Abs (FromParam1 - ToParam2) <= ParametricTolerance.
.
static Standard_EXPORT Handle_Geom_BSplineCurve CurveToBSplineCurve (const Handle(Geom_Curve)&C, const Convert_ParameterisationType Parameterisation=Convert_TgtThetaOver2)
static Standard_EXPORT Handle_Geom_BSplineSurface SurfaceToBSplineSurface (const Handle(Geom_Surface)&S)
static Standard_EXPORT void ConcatG1 (TColGeom_Array1OfBSplineCurve &ArrayOfCurves, const TColStd_Array1OfReal &ArrayOfToler, Handle(TColGeom_HArray1OfBSplineCurve)&ArrayOfConcatenated, const Standard_Boolean ClosedG1Flag, const Standard_Real ClosedTolerance)
 This Method concatenates G1 the ArrayOfCurves as far
as it is possible.
ArrayOfCurves[0..N-1]
ArrayOfToler contains the biggest tolerance of the two
points shared by two consecutives curves.
Its dimension: [0..N-2]
ClosedG1 indicates if the ArrayOfCurves is closed.
In this case ClosedG1 contains the biggest tolerance
of the two points which are at the closure.
Otherwise its value is 0.0
.
static Standard_EXPORT void ConcatC1 (TColGeom_Array1OfBSplineCurve &ArrayOfCurves, const TColStd_Array1OfReal &ArrayOfToler, Handle(TColStd_HArray1OfInteger)&ArrayOfIndices, Handle(TColGeom_HArray1OfBSplineCurve)&ArrayOfConcatenated, const Standard_Boolean ClosedG1Flag, const Standard_Real ClosedTolerance)
 This Method concatenates C1 the ArrayOfCurves as far
as it is possible.
ArrayOfCurves[0..N-1]
ArrayOfToler contains the biggest tolerance of the two
points shared by two consecutives curves.
Its dimension: [0..N-2]
ClosedG1 indicates if the ArrayOfCurves is closed.
In this case ClosedG1 contains the biggest tolerance
of the two points which are at the closure.
Otherwise its value is 0.0
.
static Standard_EXPORT void ConcatC1 (TColGeom_Array1OfBSplineCurve &ArrayOfCurves, const TColStd_Array1OfReal &ArrayOfToler, Handle(TColStd_HArray1OfInteger)&ArrayOfIndices, Handle(TColGeom_HArray1OfBSplineCurve)&ArrayOfConcatenated, const Standard_Boolean ClosedG1Flag, const Standard_Real ClosedTolerance, const Standard_Real AngularTolerance)
 This Method concatenates C1 the ArrayOfCurves as far
as it is possible.
ArrayOfCurves[0..N-1]
ArrayOfToler contains the biggest tolerance of the two
points shared by two consecutives curves.
Its dimension: [0..N-2]
ClosedG1 indicates if the ArrayOfCurves is closed.
In this case ClosedG1 contains the biggest tolerance
of the two points which are at the closure.
Otherwise its value is 0.0

.
static Standard_EXPORT void C0BSplineToC1BSplineCurve (Handle(Geom_BSplineCurve)&BS, const Standard_Real tolerance, const Standard_Real AngularTolerance=1.0e-7)
 This Method reduces as far as it is possible the
multiplicities of the knots of the BSpline BS.(keeping the
geometry). It returns a new BSpline which could still be C0.
tolerance is a geometrical tolerance.
The Angular toleranceis in radians and mesures the angle of
the tangents on the left and on the right to decide if the
curve is G1 or not at a given point
.
static Standard_EXPORT void C0BSplineToArrayOfC1BSplineCurve (const Handle(Geom_BSplineCurve)&BS, Handle(TColGeom_HArray1OfBSplineCurve)&tabBS, const Standard_Real tolerance)
 This Method reduces as far as it is possible the
multiplicities of the knots of the BSpline BS.(keeping the geometry).
It returns an array of BSpline C1. tolerance is a geometrical tolerance.
.
static Standard_EXPORT void C0BSplineToArrayOfC1BSplineCurve (const Handle(Geom_BSplineCurve)&BS, Handle(TColGeom_HArray1OfBSplineCurve)&tabBS, const Standard_Real AngularTolerance, const Standard_Real tolerance)
 This Method reduces as far as it is possible the
multiplicities of the knots of the BSpline BS.(keeping the
geometry). It returns an array of BSpline C1. tolerance is a
geometrical tolerance : it allows for the maximum deformation
The Angular tolerance is in radians and mesures the angle of
the tangents on the left and on the right to decide if the curve
is C1 or not at a given point
.


Member Function Documentation

static Standard_EXPORT void GeomConvert::C0BSplineToArrayOfC1BSplineCurve const Handle(Geom_BSplineCurve)&  BS,
Handle(TColGeom_HArray1OfBSplineCurve)&  tabBS,
const Standard_Real  AngularTolerance,
const Standard_Real  tolerance
[static]
 

static Standard_EXPORT void GeomConvert::C0BSplineToArrayOfC1BSplineCurve const Handle(Geom_BSplineCurve)&  BS,
Handle(TColGeom_HArray1OfBSplineCurve)&  tabBS,
const Standard_Real  tolerance
[static]
 

static Standard_EXPORT void GeomConvert::C0BSplineToC1BSplineCurve Handle(Geom_BSplineCurve)&  BS,
const Standard_Real  tolerance,
const Standard_Real  AngularTolerance = 1.0e-7
[static]
 

static Standard_EXPORT void GeomConvert::ConcatC1 TColGeom_Array1OfBSplineCurve ArrayOfCurves,
const TColStd_Array1OfReal &  ArrayOfToler,
Handle(TColStd_HArray1OfInteger)&  ArrayOfIndices,
Handle(TColGeom_HArray1OfBSplineCurve)&  ArrayOfConcatenated,
const Standard_Boolean  ClosedG1Flag,
const Standard_Real  ClosedTolerance,
const Standard_Real  AngularTolerance
[static]
 

static Standard_EXPORT void GeomConvert::ConcatC1 TColGeom_Array1OfBSplineCurve ArrayOfCurves,
const TColStd_Array1OfReal &  ArrayOfToler,
Handle(TColStd_HArray1OfInteger)&  ArrayOfIndices,
Handle(TColGeom_HArray1OfBSplineCurve)&  ArrayOfConcatenated,
const Standard_Boolean  ClosedG1Flag,
const Standard_Real  ClosedTolerance
[static]
 

static Standard_EXPORT void GeomConvert::ConcatG1 TColGeom_Array1OfBSplineCurve ArrayOfCurves,
const TColStd_Array1OfReal &  ArrayOfToler,
Handle(TColGeom_HArray1OfBSplineCurve)&  ArrayOfConcatenated,
const Standard_Boolean  ClosedG1Flag,
const Standard_Real  ClosedTolerance
[static]
 

static Standard_EXPORT Handle_Geom_BSplineCurve GeomConvert::CurveToBSplineCurve const Handle(Geom_Curve)&  C,
const Convert_ParameterisationType  Parameterisation = Convert_TgtThetaOver2
[static]
 

void GeomConvert::operator delete void *  anAddress  )  [inline]
 

void* GeomConvert::operator new size_t  size  )  [inline]
 

void* GeomConvert::operator new size_t  ,
void *  anAddress
[inline]
 

static Standard_EXPORT Handle_Geom_BSplineCurve GeomConvert::SplitBSplineCurve const Handle(Geom_BSplineCurve)&  C,
const Standard_Real  FromU1,
const Standard_Real  ToU2,
const Standard_Real  ParametricTolerance,
const Standard_Boolean  SameOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineCurve GeomConvert::SplitBSplineCurve const Handle(Geom_BSplineCurve)&  C,
const Standard_Integer  FromK1,
const Standard_Integer  ToK2,
const Standard_Boolean  SameOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineSurface GeomConvert::SplitBSplineSurface const Handle(Geom_BSplineSurface)&  S,
const Standard_Real  FromParam1,
const Standard_Real  ToParam2,
const Standard_Boolean  USplit,
const Standard_Real  ParametricTolerance,
const Standard_Boolean  SameOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineSurface GeomConvert::SplitBSplineSurface const Handle(Geom_BSplineSurface)&  S,
const Standard_Real  FromU1,
const Standard_Real  ToU2,
const Standard_Real  FromV1,
const Standard_Real  ToV2,
const Standard_Real  ParametricTolerance,
const Standard_Boolean  SameUOrientation = Standard_True,
const Standard_Boolean  SameVOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineSurface GeomConvert::SplitBSplineSurface const Handle(Geom_BSplineSurface)&  S,
const Standard_Integer  FromK1,
const Standard_Integer  ToK2,
const Standard_Boolean  USplit,
const Standard_Boolean  SameOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineSurface GeomConvert::SplitBSplineSurface const Handle(Geom_BSplineSurface)&  S,
const Standard_Integer  FromUK1,
const Standard_Integer  ToUK2,
const Standard_Integer  FromVK1,
const Standard_Integer  ToVK2,
const Standard_Boolean  SameUOrientation = Standard_True,
const Standard_Boolean  SameVOrientation = Standard_True
[static]
 

static Standard_EXPORT Handle_Geom_BSplineSurface GeomConvert::SurfaceToBSplineSurface const Handle(Geom_Surface)&  S  )  [static]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:23:00 2008 for OpenCASCADE by  doxygen 1.4.1