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:

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:


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
public virtual GetOneControlPoint( iNum,
ioControlPoint)
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 GetOneWeight( iNum)
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 GetOriginalParametrisationDATA( ioCoefficient,
ioShift)
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
public virtual IsRational()
Tests whether this CATNurbsCurve is rational.
Returns:
Legal values:
FALSE
if it is not rational.
TRUE
if it is rational.
o Set
public virtual Set( const iNewKnotVector,
const iNewIsRational,
const iNewVertices,
const iNewWeights,
const iParameterizationOption= CatAutomaticParameterization)
Deprecated:
V5R14 SetData
o SetData
public virtual SetData( const iNewKnotVector,
const iNewIsRational,
const iNewVertices,
const iNewWeights,
const iParameterizationOption= CatAutomaticParameterization)
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
method.
o SetOneControlPoint
public virtual SetOneControlPoint( iNum,
const iNewCoord)
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 SetOneWeight( iNum,
iNewWeight)
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.