GeometricObjects Interface CATNurbsCurve
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATNurbsCurve
Interface representing a Nurbs curve.
This interface is used to describe:
- Bezier curves which are single-arc Nurbs
- NUPBS (Non Uniform Polynomial Base Spline) which are
special cases of Nurbs curves where all the weight of the control points equal to 1.
NOTE: Periodic Nurbs are not supported.
A CATNurbsCurve is created by the CATCreateNurbsCurve
method of the CATGeoFactory interface and deleted with the Remove method.
It is defined with:
CATKnotVector | KnotVector |
The knot vector for the polynomial basis definition |
CATMatSetOfPoints | Vertices |
The set of control points |
CATBoolean | IsRational |
TRUE if the nurbs is rational, FALSE otherwise (NUPBS) |
double[] | Weights |
The array of weights if IsRational |
- See also:
- CATKnotVector
Method Index
- o
GetOneControlPoint(CATLONG32,CATMathPoint&)
- Returns a control point of this CATNurbsCurve.
- o
GetOneWeight(CATLONG32)
- Returns the weight associated with a control point of this CATNurbsCurve.
- o
GetOriginalParametrisationDATA(double&,double&)
- Retrieves the original parameterization.
- o
IsRational()
- Tests whether this CATNurbsCurve is rational.
- o
Set(CATKnotVector&,CATLONG32&,CATMathSetOfPoints&,double*,CATParameterizationOption)
-
- o
SetData(CATKnotVector&,CATLONG32&,CATMathSetOfPoints&,double*,CATParameterizationOption)
- Modifies the characteristics of this CATNurbsCurve.
- o
SetOneControlPoint(CATLONG32,CATMathPoint&)
- Modifies the definition of a control point of this CATNurbsCurve.
- o
SetOneWeight(CATLONG32,double)
- Modifies the weight associated with a control point of this CATNurbsCurve.
Methods
o GetOneControlPoint
-
Returns a control point of this CATNurbsCurve.
- Parameters:
-
- iNum
- The control point number starting at 1.
- ioControlPoint
- The corresponding control point.
o GetOneWeight
public virtual double GetOneWeight( | CATLONG32 | iNum) const =0 |
-
Returns the weight associated with a control point of this CATNurbsCurve.
- Parameters:
-
- iNum
- The control point number starting at 1.
- Returns:
- The weight.
o GetOriginalParametrisationDATA
public virtual void GetOriginalParametrisationDATA( | double& | ioCoefficient, |
| double& | ioShift) =0 |
-
Retrieves the original parameterization.
If created with the CatAutomaticParameterization default mode by the factory, the Nurbs
is internally re-parameterized. This allows you to recover the coefficient and the shift that
correspond to your own parameterization
ParameterAfterCreation = ioCoefficient*ParameterBeforeCreation + ioShift in each direction.
- Parameters:
-
- ioCoefficient
- The multiplicative coefficent.
- ioShift
- The shift.
o IsRational
-
Tests whether this CATNurbsCurve is rational.
- Returns:
- Legal values:
- FALSE
- if it is not rational.
- TRUE
- if it is rational.
o Set
-
- Deprecated:
- V5R14 SetData
o SetData
-
Modifies the characteristics of this CATNurbsCurve.
- Parameters:
-
- iNewKnotVector
- The new definition of the polynomial basis.
- NewIsRational
- Legal values:
- FALSE
- if it is not rational.
- TRUE
- if it is rational.
- iNewVertices
- The set of control points.
- iNewWeights
- The array of corresponding weights (one weight per control point).
- iParameterizationOption
- The option of parameterization. By default, the parameterization of the NURBS is modified to better
fit internal criteria. In this case, you can recover the initial parameterization
with the
CATNurbsCurve.GetOriginalParametrisationDATA method.
o SetOneControlPoint
-
Modifies the definition of a control point of this CATNurbsCurve.
- Parameters:
-
- iNum
- The control point number starting at 1.
- iNewCoord
- The new definition of the control point.
o SetOneWeight
public virtual void SetOneWeight( | CATLONG32 | iNum, |
| double | iNewWeight) =0 |
-
Modifies the weight associated with a control point of this CATNurbsCurve.
- Parameters:
-
- iNum
- The control point number starting at 1.
- iNewWeight
- The new value of the weight.
This object is included in the file: CATNurbsCurve.h
If needed, your Imakefile.mk should include the module: CATGMGeometricInterfaces
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.