All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

GeometricOperators Class CATNurbsSurfaceTools

Mathematics.CATCGMVirtual
  |
  +---GeometricObjects.CATCGMOperator
    |
    +---GeometricOperators.CATGeoOperator
      |
      +---CATNurbsSurfaceTools
 

Usage: you must use this class as is. You should never derive it.


public class CATNurbsSurfaceTools

Class used to manipulate a Nurbs surface.


Constructor and Destructor Index


o ~CATNurbsSurfaceTools()
Destructor.

Method Index


o ActiveSplits(double,double,double,double)
Splits the surface.
o Check()
Checks the current surface.
o ExchangeUV()
Reverses U and V along the surface.
o GetDeformation(double&,double&,double&)
Computes an estimation of the deformation value.
o GetDegrees(int&,int&)
Retrieves the surface degree.
o GetInfo()
Retrieves the CATNurbsToolsInfo.
o GetNumberOfControlPoints(int&,int&)
Retrieves the number of control points of the Nurbs surface.
o GetNumberOfKnots(int&,int&)
Retrieves the number of knot values of the Nurbs surface.
o GetResult()
Returns the new surface computed by this operator.
o ImposeParametrizations(CATSurface*,int,int,int,int)
Imposes the parameterization of another surface This method deforms the surface.
o Run()
Runs this operator.
o SetDegrees(int,int,int,int,int,int)
Mofifies the degree of the surface.
o UActiveSplit(double,double)
Splits the surface along U.
o UChangeKnotVector(CATKnotVector*,int,int)
Modifies the knot vector along U.
o UImposeParametrization(CATCurve*,int,int)
Imposes the parameterization of a surface along U.
o UInvert()
Inverts the surface along U.
o UKnotInsertion(double,int)
Inserts a knot along U.
o UKnotRankToKnotValue(int,double&)
Retrieves a knot value along U from its rank.
o UKnotRemoval(int)
Removes a knot along U.
o UKnotReplace(int,double,int,int)
Replaces a knot along U.
o UKnotValueToKnotRank(double,int&)
Retrieves the rank of a knot along U from its value.
o UMultipleKnotInsertion(int,double*,int*)
Inserts several knots along U.
o USetDegree(int,int,int)
Modifies the degree of the surface along U.
o USetMultiplicity(int,int)
Modifies the multiplicity of a knot along U.
o VActiveSplit(double,double)
Splits the surface along V.
o VChangeKnotVector(CATKnotVector*,int,int)
Modifies the knot vector along U.
o VImposeParametrization(CATCurve*,int,int)
Imposes the parameterization of a surface along V.
o VInvert()
Inverts the surface along V.
o VKnotInsertion(double,int)
Inserts a knot along V.
o VKnotRankToKnotValue(int,double&)
Retrieves a knot value along V from its rank.
o VKnotRemoval(int)
Removes a knot along V.
o VKnotReplace(int,double,int,int)
Replaces a knot along V.
o VKnotValueToKnotRank(double,int&)
Retrieves the rank of a knot along V from its value.
o VMultipleKnotInsertion(int,double*,int*)
Inserts several knots along V.
o VSetDegree(int,int,int)
Modifies the degree of the surface along V.
o VSetMultiplicity(int,int)
Modifies the multiplicity of a knot along V.

Constructor and Destructor


o ~CATNurbsSurfaceTools
public virtual ~CATNurbsSurfaceTools()
Destructor.

Methods


o ActiveSplits
public virtual CATNurbsToolsInfo ActiveSplits( const double iStartKnotValuesU,
const double iEndKnotValuesU,
const double iStartKnotValuesV,
const double iEndKnotValuesV) = 0
Splits the surface.
Parameters:
iStartKnotValuesU
The start parameter of the surface along U.
iEndKnotValuesU
The end parameter of the surface along U.
iStartKnotValuesV
The start parameter of the surface along V.
iEndKnotValuesV
The end parameter of the surface along V.
Returns:
The information value.
Info_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
value is lower than first knot value or greater than the last knot value.
Use CATNurbsToolsInfo include to see all the information values.
o Check
public virtual CATNurbsToolsInfo Check()= 0
Checks the current surface.
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 CATNurbsToolsInfo include to see all the information values.
o ExchangeUV
public virtual CATNurbsToolsInfo ExchangeUV()= 0
Reverses U and V along the surface.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o GetDeformation
public virtual CATNurbsToolsInfo GetDeformation(double& oDeformation,
double& oParamValueU,
double& oParamValueV) = 0
Computes an estimation of the deformation value.
Parameters:
oDeformation
The deformation is the max distance between the input surface and current surface. It can be called several times and before
CATNurbsSurfaceTools.Run.
oParamValueU
The parameter value along U where the maximum deformation is computed.
oParamValueV
The parameter value along V where the maximum deformation is computed.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o GetDegrees
public virtual CATNurbsToolsInfo GetDegrees(int& oDegreeU,
int& oDegreeV) = 0
Retrieves the surface degree.
Parameters:
oDegreeU
The degree along U.
oDegreeV
The degree along V.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include for the list of information values.
o GetInfo
public virtual CATNurbsToolsInfo GetInfo()= 0
Retrieves the CATNurbsToolsInfo.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all information values.
o GetNumberOfControlPoints
public virtual CATNurbsToolsInfo GetNumberOfControlPoints(int& oNumberOfControlPointsU,
int& oNumberOfControlPointsV) = 0
Retrieves the number of control points of the Nurbs surface.
Parameters:
oNumberOfControlPointsU
The number of control points along U.
oNumberOfControlPointsV
The number of control points along V.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o GetNumberOfKnots
public virtual CATNurbsToolsInfo GetNumberOfKnots(int& oNumberOfKnotsU,
int& oNumberOfKnotsV) = 0
Retrieves the number of knot values of the Nurbs surface.
Parameters:
oNumberOfKnotsU
The number of distinct knot values along U.
oNumberOfKnotsV
The number of distinct knot values along V.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o GetResult
public virtual CATSurface * GetResult()= 0
Returns the new surface computed by this operator.
Returns:
The pointer to the new surface. Pointer is 0 if an error has occurred (use CATNurbsSurfaceTools.GetInfo for more information).
o ImposeParametrizations
public virtual CATNurbsToolsInfo ImposeParametrizations(CATSurface* iSurface,
const int iLeftContinuityU= 0,
const int iRightContinuityU= 0,
const int iLeftContinuityV= 0,
const int iRightContinuityV= 0) = 0
Imposes the parameterization of another surface This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation to compute this deformation.
Parameters:
iSurface
The surface whose parametrization is to be kept.
iLeftContinuityU
The left continuity along U.
iRightContinuityU
The right continuity along U.
iLeftContinuityV
The left continuity along V.
iRightContinuityV
The right continuity along V.
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 Surface is null
Error_InputNotNurbs
Input Surface is not a Nurbs
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 CATNurbsToolsInfo include to see all the information values.
o Run
public virtual int Run()= 0
Runs this operator.
Returns:
The information value.
Legal values:
0
It is OK.
1
Error.
100
Fatal Error.
If an error has occurred, use CATNurbsSurfaceTools.GetInfo for more information.
o SetDegrees
public virtual CATNurbsToolsInfo SetDegrees( const int iDegreeU,
const int iDegreeV,
const int iLeftContinuityU= 0,
const int iRightContinuityU= 0,
const int iLeftContinuityV= 0,
const int iRightContinuityV= 0) = 0
Mofifies the degree of the surface.
Parameters:
iDegreeU
The new degree along U.
iDegreeV
The new degree along V.
iLeftContinuityU
The left continuity along U.
iRightContinuityU
The right continuity along U.
iLeftContinuityV
The left continuity along V.
iRightContinuityV
The right continuity along V.
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 a 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 CATNurbsToolsInfo include to see all the information values.
o UActiveSplit
public virtual CATNurbsToolsInfo UActiveSplit( const double iStartKnotValues,
const double iEndKnotValues) = 0
Splits the surface along U.
Parameters:
iStartKnotValues
The start parameter of the surface.
iEndKnotValues
The end parameter of the surface
Returns:
The information value.
Info_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
value is lower than first knot value or greater than the last knot value
Use CATNurbsToolsInfo include to see all the information values.
o UChangeKnotVector
public virtual CATNurbsToolsInfo UChangeKnotVector( const CATKnotVector* iNewKnotVector,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Modifies the knot vector along U. This method deform the Surface. Use CATNurbsSurfaceTools.GetDeformation to compute this deformation
Parameters:
iNewKnotVector
The Surface to keep the parametrization.
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 CATNurbsToolsInfo include to see all the information values.
o UImposeParametrization
public virtual CATNurbsToolsInfo UImposeParametrization(CATCurve* iCurve,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Imposes the parameterization of a surface along U. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation to compute this deformation.
Parameters:
iSurface
The surface 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
Surface input pointer is null.
Error_InputNotNurbs
Input surface is not a Nurbs.
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 CATNurbsToolsInfo include to see all the information values.
o UInvert
public virtual CATNurbsToolsInfo UInvert()= 0
Inverts the surface along U.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o UKnotInsertion
public virtual CATNurbsToolsInfo UKnotInsertion( const double iKnotValue,
const int iMultiplicity= 0) = 0
Inserts a knot along U.
Parameters:
iKnotValue
The parameter value of the new knot.
iMultiplicity
The multiplicity value of the new knot.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_InvalidDegree
The input degree is lower than 3 (1 in a single-arc case) or greater than the maxDegree (11).
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 CATNurbsToolsInfo include to see all the information values.
o UKnotRankToKnotValue
public virtual CATNurbsToolsInfo UKnotRankToKnotValue( const int iKnotRank,
double& oKnotValue) = 0
Retrieves a knot value along U from its rank.
Parameters:
iKnotRank
The rank of the knot. 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 the number of knots.
Use CATNurbsToolsInfo include to see all the information values.
o UKnotRemoval
public virtual CATNurbsToolsInfo UKnotRemoval( const int iKnotRank) = 0
Removes a knot along U. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation 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 can not be removed.
Use CATNurbsToolsInfo include to see all the information values.
o UKnotReplace
public virtual CATNurbsToolsInfo UKnotReplace( const int iKnotRank,
const double iKnotNewValue,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Replaces a knot along U. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation 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 can not 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 CATNurbsToolsInfo include to see all the information values.
o UKnotValueToKnotRank
public virtual CATNurbsToolsInfo UKnotValueToKnotRank( const double iKnotValue,
int& oKnotRank) = 0
Retrieves the rank of a knot along U 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 does not correspond 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 CATNurbsToolsInfo include to see all the information values.
o UMultipleKnotInsertion
public virtual CATNurbsToolsInfo UMultipleKnotInsertion( const int iNumberOfKnotsToInsert,
const double* iKnotValues,
const int* iMultiplicities= 0) = 0
Inserts several knots along U.
Parameters:
iNumberOfKnotsToInsert
The number of knots to be inserted.
iKnotValues
The array of parameter values of the new knots.
iMultiplicities
The array of multiplicity values 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 knots.
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 CATNurbsToolsInfo include to see all the information values.
o USetDegree
public virtual CATNurbsToolsInfo USetDegree( const int iDegreeU,
const int iLeftContinuityU= 0,
const int iRightContinuityU= 0) = 0
Modifies the degree of the surface along U.
Parameters:
iDegree
The new degree of the surface.
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 CATNurbsToolsInfo include to see all information values.
o USetMultiplicity
public virtual CATNurbsToolsInfo USetMultiplicity( const int iKnotRank,
const int iMultiplicity) = 0
Modifies the multiplicity of a knot along U. This method deforms the surface if the new multiplicity is lower than the previous multiplicity. Use CATNurbsSurfaceTools.GetDeformation 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 previous multiplicity
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 number of knots
Error_ExtremityKnot
An extremity knot can not be modified.
Use CATNurbsToolsInfo include to see all the information values.
o VActiveSplit
public virtual CATNurbsToolsInfo VActiveSplit( const double iStartKnotValues,
const double iEndKnotValues) = 0
Splits the surface along V.
Parameters:
iStartKnotValues
The start parameter of the surface.
iEndKnotValues
The end parameter of the surface
Returns:
The information value.
Info_KnotValueOnAKnot
The input knot value is corresponding to an existing knot.
Error_KnotValueOutLimits
value is lower than first knot value or greater than the last knot value
Use CATNurbsToolsInfo include to see all the information values.
o VChangeKnotVector
public virtual CATNurbsToolsInfo VChangeKnotVector( const CATKnotVector* iNewKnotVector,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Modifies the knot vector along U. This method deform the Surface. Use CATNurbsSurfaceTools.GetDeformation to compute this deformation
Parameters:
iNewKnotVector
The surface to keep the parametrization.
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 CATNurbsToolsInfo include to see all the information values.
o VImposeParametrization
public virtual CATNurbsToolsInfo VImposeParametrization(CATCurve* iCurve,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Imposes the parameterization of a surface along V. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation to compute this deformation.
Parameters:
iSurface
The surface 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
Surface input pointer is null.
Error_InputNotNurbs
Input surface is not a Nurbs.
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 CATNurbsToolsInfo include to see all the information values.
o VInvert
public virtual CATNurbsToolsInfo VInvert()= 0
Inverts the surface along V.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Use CATNurbsToolsInfo include to see all the information values.
o VKnotInsertion
public virtual CATNurbsToolsInfo VKnotInsertion( const double iKnotValue,
const int iMultiplicity= 0) = 0
Inserts a knot along V.
Parameters:
iKnotValue
The parameter value of the new knot.
iMultiplicity
The multiplicity value of the new knot.
Returns:
The information value.
Legal values:
Info_OK
No info. It is OK.
Error_InvalidDegree
The input degree is lower than 3 (1 in a single-arc case) or greater than the maxDegree (11).
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 CATNurbsToolsInfo include to see all the information values.
o VKnotRankToKnotValue
public virtual CATNurbsToolsInfo VKnotRankToKnotValue( const int iKnotRank,
double& oKnotValue) = 0
Retrieves a knot value along V from its rank.
Parameters:
iKnotRank
The rank of the knot. 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 the number of knots.
Use CATNurbsToolsInfo include to see all the information values.
o VKnotRemoval
public virtual CATNurbsToolsInfo VKnotRemoval( const int iKnotRank) = 0
Removes a knot along V. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation 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 can not be removed.
Use CATNurbsToolsInfo include to see all the information values.
o VKnotReplace
public virtual CATNurbsToolsInfo VKnotReplace( const int iKnotRank,
const double iKnotNewValue,
const int iLeftContinuity= 0,
const int iRightContinuity= 0) = 0
Replaces a knot along V. This method deforms the surface. Use CATNurbsSurfaceTools.GetDeformation 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 can not be modified.
Error_KnotValueOnAKnot
The new knot value is corresponding to an existent 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 CATNurbsToolsInfo include to see all the information values.
o VKnotValueToKnotRank
public virtual CATNurbsToolsInfo VKnotValueToKnotRank( const double iKnotValue,
int& oKnotRank) = 0
Retrieves the rank of a knot along V 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 does not correspond 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 CATNurbsToolsInfo include to see all the information values.
o VMultipleKnotInsertion
public virtual CATNurbsToolsInfo VMultipleKnotInsertion( const int iNumberOfKnotsToInsert,
const double* iKnotValues,
const int* iMultiplicities= 0) = 0
Inserts several knots along V.
Parameters:
iNumberOfKnotsToInsert
The number of knots to be inserted.
iKnotValues
The array of parameter values of the new knots.
iMultiplicities
The array of multiplicity values 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 knots.
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 CATNurbsToolsInfo include to see all the information values.
o VSetDegree
public virtual CATNurbsToolsInfo VSetDegree( const int iDegreeV,
const int iLeftContinuityV= 0,
const int iRightContinuityV= 0) = 0
Modifies the degree of the surface along V.
Parameters:
iDegree
The new degree of the surface.
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 CATNurbsToolsInfo include to see all the information values.
o VSetMultiplicity
public virtual CATNurbsToolsInfo VSetMultiplicity( const int iKnotRank,
const int iMultiplicity) = 0
Modifies the multiplicity of a knot along V. This method deforms the surface if the new multiplicity is lower than the previous multiplicity. Use CATNurbsSurfaceTools.GetDeformation 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 previous multiplicity
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 number of knots
Error_ExtremityKnot
An extremity knot cannot be modified.
Use CATNurbsToolsInfo include to see all the information values.

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

Copyright © 2003, Dassault Systèmes. All rights reserved.