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
-
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
-
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
-
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
-
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.