GMModelInterfaces Interface CATICGMNurbsCurveTools

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATICGMNurbsCurveTools

Class used to manipulate a Nurbs curve.


Method Index


o ActiveSplit(double,double)
Splits the curve.
o ChangeKnotVector(CATKnotVector*,int,int)
Modifies the knot vector of a curve.
o Check()
Checks the current curve.
o GetDeformation(double&,double&)
Computes an estimation of the deformation value.
o GetDegree(int&)
Retrieves the curve degree.
o GetInfo()
Retrieves the CATNurbsToolsInfo.
o GetNumberOfControlPoints(int&)
Retrieves the number of control points of the Nurbs curve.
o GetNumberOfKnots(int&)
Retrieves the number of knot values of the Nurbs curve.
o GetResult()
Returns the new curve computed by this operator.
o ImposeParametrization(CATCurve*,int,int)
Imposes the parameterization of another curve.
o Invert()
Inverts the curve.
o KnotInsertion(double,int)
Inserts a knot.
o KnotRankToKnotValue(int,double&)
Retrieves a knot value from its rank.
o KnotRemoval(int)
Removes a knot.
o KnotReplace(int,double,int,int)
Replaces a knot.
o KnotValueToKnotRank(double,int&)
Retrieves the rank of a knot from its value.
o MultipleKnotInsertion(int,double*,int*)
Inserts several knots.
o Run()
Runs this operator.
o SetDegree(int,int,int)
Modifies the curve degree.
o SetMultiplicity(int,int)
Modifies the multiplicity of a knot.

Methods


o ActiveSplit
public virtual ActiveSplit( const iStartKnotValues,
const iEndKnotValues)
Splits the curve.
Parameters:
iStartKnotValues
The new start value of the curve.
iEndKnotValues
The new end value of the curve.
Returns:
The information value.
Info_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
The value is lower than the first knot value or greater than the last knot value.
Use include to see all the information values.
o ChangeKnotVector
public virtual ChangeKnotVector( const iNewKnotVector,
const iLeftContinuity= 0,
const iRightContinuity= 0)
Modifies the knot vector of a curve. This method deforms the curve. Use to compute this deformation
Parameters:
iNewKnotVector
The new knot vector.
iLeftContinuity
The left continuity.
iRightContinuity
The right continuity.
Legal values:
0
C0 continuity (Default value).
1
C1 continuity.
2
C2 continuity.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_InputPtrNull
Input pointer of new knot vector is null
Error_InvalidContinuity
The input continuity is lower than 0 or greatest than 2
Error_UncompContinuities
2 + startcontinuity + endcontinuity must be lower or equal nb of control points.
Use include to see all values of informations
o Check
public virtual Check()
Checks the current curve.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Info_InternalContinuity
The internal continuity must be greater or equal to C2.
Info_ConfusedKnots
Two knots are coincident.
Use include to see all information values.
o GetDeformation
public virtual GetDeformation( oDeformation,
oParamValue)
Computes an estimation of the deformation value.
Parameters:
oDeformation
The deformation is the max distance between the input curve and the current curve. It can be called several times and before
.
oParamValue
The parameter value where the maximum deformation is computed.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include to see all the information values.
o GetDegree
public virtual GetDegree( oDegree)
Retrieves the curve degree.
Parameters:
oDegree
The degree.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include for the list of information values.
o GetInfo
public virtual GetInfo()
Retrieves the CATNurbsToolsInfo.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include to see all the information values.
o GetNumberOfControlPoints
public virtual GetNumberOfControlPoints( oNumberOfControlPoints)
Retrieves the number of control points of the Nurbs curve.
Parameters:
oNumberOfControlPoints
The number of control points.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include to see all the information values.
o GetNumberOfKnots
public virtual GetNumberOfKnots( oNumberOfKnots)
Retrieves the number of knot values of the Nurbs curve.
Parameters:
oNumberOfKnots
The number of distinct knot values.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include to see all the information values.
o GetResult
public virtual GetResult()
Returns the new curve computed by this operator.
Returns:
The pointer of the new curve (0 if an error has occurred, use for more information).
o ImposeParametrization
public virtual ImposeParametrization( iCurve,
const iLeftContinuity= 0,
const iRightContinuity= 0)
Imposes the parameterization of another curve. This method deforms the curve. Use to compute this deformation.
Parameters:
iCurve
The curve whose parameterization is to be kept.
iLeftContinuity
The left continuity.
iRightContinuity
The right continuity.
Legal values:
0
C0 continuity (Default value).
1
C1 continuity.
2
C2 continuity.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_InputPtrNull
Input pointer of curve is null.
Error_InputCurveNotNurbs
Input curve is not a Nurbs.
Error_InvalidContinuity
Input continuity is lower than 0 or greater than 2.
Error_UncompContinuities
2 + startcontinuity + endcontinuity must be lower or equal to the number of control points.
Use include to see all information values.
o Invert
public virtual Invert()
Inverts the curve.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use include to see all the information values.
o KnotInsertion
public virtual KnotInsertion( const iKnotValue,
const iMultiplicity= 0)
Inserts a knot.
Parameters:
iKnotValue
The parameter value of the new knot.
iMultiplicity
The multiplicity value of the new knot (by default, the multiplicity is the one corresponding to a C2 continuity).
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
Input value is lower than first knot value or greater than last knot value.
Error_InvalidMultiplicity
The input multiplicity is lower than 1 or greater than Degree-2.
Use include to see all the information values.
o KnotRankToKnotValue
public virtual KnotRankToKnotValue( const iKnotRank,
oKnotValue)
Retrieves a knot value from its rank.
Parameters:
iKnotRank
The rank of the knots. The rank starts from 1.
oKnotValue
The parameter value of the knot.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_KnotRankOutLimits
The input rank is lower than 1 or greater than number of knots.
Use include to see all the information values.
o KnotRemoval
public virtual KnotRemoval( const iKnotRank)
Removes a knot. This method deforms the curve. Use to compute this deformation
Parameters:
iKnotRank
The rank of the knot to be removed. The rank starts from 1.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_KnotRankOutLimits
The input rank is lower than 1 or greater than the number of knots.
Error_ExtremityKnot
An extremity knot cannot be removed.
Use include to see all the information values.
o KnotReplace
public virtual KnotReplace( const iKnotRank,
const iKnotNewValue,
const iLeftContinuity= 0,
const iRightContinuity= 0)
Replaces a knot. This method deforms the curve. Use to compute this deformation
Parameters:
iKnotRank
The rank of the knot to be replaced. The rank starts from 1.
iKnotNewValue
The new parameter value of the knot.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_KnotRankOutLimits
The input rank is lower than 1 or greater than the number of knots.
Error_ExtremityKnot
An extremity knot cannot be modified.
Error_KnotValueOnAKnot
The new knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
The new value is lower than the first knot value or greater than the last knot value.
Error_InvalidContinuity
The input continuity is lower than 0 or greater than 2.
Error_UncompContinuities
2 + startcontinuity + endcontinuity must be lower or equal to the number of control points.
Use include to see all information values.
o KnotValueToKnotRank
public virtual KnotValueToKnotRank( const iKnotValue,
oKnotRank)
Retrieves the rank of a knot from its value. The parameter corresponds to a knot if the length between the input parameter and the knot value is lower than TolKnotConfusion.
Parameters:
iKnotValue
The parameter value of the knot.
oKnotRank
The rank of the knot. The rank starts from 1. if the parameter value not corresponding to a knot, iKnotRank = 0;
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Info_NotAKnot
The value is not corresponding to a knot
Info_KnotValueOnTwoKnots
The value is corresponding to two knots
Error_KnotValueOutLimits
Input value is lower than first knot value or greater than the last knot value.
Use include to see all the information values.
o MultipleKnotInsertion
public virtual MultipleKnotInsertion( const iNumberOfKnotsToInsert,
const iKnotValues,
const iMultiplicities= 0)
Inserts several knots.
Parameters:
iNumberOfKnotsToInsert
The number of knots to be inserted.
iKnotValues
The array of parameters value of the new knots.
iMultiplicities
The array of multiplicities value of the new knots.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
Input value is lower than first knot value or greater than the last knot value.
Error_InvalidMultiplicity
The input multiplicity is lower than 1 or greater than Degree-2
Use include to see all information values.
o Run
public virtual Run()
Runs this operator.
Returns:
The information value.
Legal values:
0
It is OK.
1
Error
100
Fatal Error
If an error has occurred, use for more information.
o SetDegree
public virtual SetDegree( const iDegree,
const iLeftContinuity= 0,
const iRightContinuity= 0)
Modifies the curve degree.
Parameters:
iDegree
The new curve degree.
iLeftContinuity
The left continuity.
iRightContinuity
The right continuity.
Legal values:
0
C0 continuity (default value).
1
C1 continuity.
2
C2 continuity.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_InvalidDegree
The input degree is lower than 3 (1 in single-arc case) or greater than the MaxDegree (11).
Error_InvalidContinuity
The input continuity is lower than 0 or greater than 2.
Error_UncompContinuities
2 + startcontinuity + endcontinuity must be lower or equal to the number of control points.
Use include to see all the information values.
o SetMultiplicity
public virtual SetMultiplicity( const iKnotRank,
const iMultiplicity)
Modifies the multiplicity of a knot. This method deforms the curve if the new multiplicity is lower than the old multiplicity. Use to compute this deformation.
Parameters:
iKnotRank
The rank of the knot to be removed. The rank starts from 1.
iMultiplicity
The new multiplicity of the knot.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Info_NoModification
No modification: new multiplicity is equal to former ultiplicity.
Error_InvalidMultiplicity
The input multiplicity is lower than 1 or greater than Degree-2.
Error_KnotRankOutLimits
The input rank is lower than 1 or greater than the number of knots.
Error_ExtremityKnot
An extremity knot cannot be modified.
Use include to see all the information values.

This object is included in the file: CATICGMNurbsCurveTools.h
If needed, your Imakefile.mk should include the module: CATGMModelInterfaces

Copyright © 1999-2015, Dassault Systèmes. All rights reserved.