GMOperatorsInterfaces Interface CATICGMFrFSmoothingOper

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


interface CATICGMFrFSmoothingOper

Class defining a geometric operator that smoothes a set of iNbrePts points to create a set of curves "SetOfCurves".

The CATICGMFrFSmoothingOper operator follows the global frame of the geometric operators:


Method Index


o CuttingUntilReachTolerance(CATBoolean)
Defines automatically the maximum number of arcs of the created curve.
o GetAverageDeviation()
Returns the Average deviation between set of points and the SetOfCurves Result.
o GetCurvatureVect(int,double&,CATMathVector&)
Returns the curvature constraint corresponding to each point of the initial set of points.
o GetDeviation(int)
Returns the deviation at each point of the initial set of points.
o GetGeometricCuttingpoints(CATListOfInt&)
Returns List of indexes corresponding to Vertex of the SetOfCurves result
o GetIndexMaxDeviation(double&)
Returns the maximum deviation between set of points and the SetOfCurves Result.
o GetParametricCuttingpoints(CATListOfInt&)
Returns List of indexes corresponding to internal Arc limit of the SetOfCurves result
o GetParametrization(int&,double*&)
Returns The parametrization.
o GetResult(CATCurve**&)
Returns the SetOfCurves Result.
o GetResult(CATLISTP(CATCurve)&)
Returns the set of result curves.
o GetTangentVect(int,CATMathVector&)
Returns the tangency constraint corresponding to each point of the initial set of points.
o ImposedCuttingPoints(CATListOfInt&,CATBoolean)
Defines List of Parametric Cutting points corresponding to list of points of the initial set of points.
o ResetConstraint(int)
Reset the constraint corresponding to each point of the initial set of points.
o ResetTopConstraint(int)
Resets the Topological constraint corresponding to each point of the initial set of points.
o SetConstraint(int,CATFrFContinuity,CATMathVector*,double)
Defines the PassPoint constraint corresponding to each point of the initial set of points.
o SetCuttingByCurvatureAnalysis(double,double,CATFrFInflexionTreatment,CATBoolean)
Compute automatically the number of Arcs by CurvatureAnalysis.
o SetCuttingDefault(CATFrFCuttingOption)
Defines CuttingDefault Option.
o SetDegree(int)
Defines the degree of the resulting curve.
o SetMaxDegree(int)
Defines the Maxdegree of the resulting curve.
o SetMaxNumberOfArcs(int,int)
Defines the maximum number of arcs of the created curve.
o SetParamType(CATFrFSmoothingParamType)
Defaults Options for parametrisation of set of points.
o SetParametrization(int,double*)
Defines the parameters corresponding to each point of the initial set of points.
o SetSlideIterations(int)
Defines the number of iterations necessary to obtain the best resulting curve.
o SetTolerance(double,CATFrFTestOfConvergence)
Defines the Tolerance of the result.
o SetTopConstraint(int,CATFrFContinuity,CATMathVector*,double,CATMathVector*,double)
Defines the Topological PassPoint constraint corresponding to each internal point of the initial set of points.

Methods


o CuttingUntilReachTolerance
public virtual CuttingUntilReachTolerance( iRespectTolerance= TRUE)
Defines automatically the maximum number of arcs of the created curve.
Parameters:
iRespectTolerance
if (TRUE), we imposed automatically cutting points until that tolerance is reached.
o GetAverageDeviation
public virtual GetAverageDeviation()
Returns the Average deviation between set of points and the SetOfCurves Result.
Returns:
The Mean deviation value.
o GetCurvatureVect
public virtual GetCurvatureVect( const iRankPoint,
oCvt,
oNormale)
Returns the curvature constraint corresponding to each point of the initial set of points.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 <= iRankPoint <= iNbrePts
Returns:
the curvature value and Normal vector at the current point, 1 <= iRankPoint <= iNbrePts.
o GetDeviation
public virtual GetDeviation( const iRankPoint)
Returns the deviation at each point of the initial set of points.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 <= iRankPoint <= iNbrePts
Returns:
The deviation at each point.
o GetGeometricCuttingpoints
public virtual GetGeometricCuttingpoints( oGeomList)
Returns List of indexes corresponding to Vertex of the SetOfCurves result
o GetIndexMaxDeviation
public virtual GetIndexMaxDeviation( oMaxdeviation)
Returns the maximum deviation between set of points and the SetOfCurves Result.
Returns:
The maximum deviation value.
Returns:
Index of point with max deviation.
o GetParametricCuttingpoints
public virtual GetParametricCuttingpoints( oParamList)
Returns List of indexes corresponding to internal Arc limit of the SetOfCurves result
o GetParametrization
public virtual GetParametrization( oNbreOfPts,
oParameters)
Returns The parametrization.
Returns:
The array of the parameter values that correspond on the SetOfCurves to each point of the input set.
o GetResult
public virtual GetResult( oResultCurves)
Returns the SetOfCurves Result.
Returns:
oNbreOfCurve : The Number of curves of the Result
Returns:
Array of oNbreOfCurve curves result according to SetTopConstraint option
o GetResult
public virtual GetResult( oResultCurves)
Returns the set of result curves.
Returns:
The list of result curves.
o GetTangentVect
public virtual GetTangentVect( const iRankPoint,
oTangentVect)
Returns the tangency constraint corresponding to each point of the initial set of points.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 <= iRankPoint <= iNbrePts
Returns:
the tangent vector at the current point, 1 <= iRankPoint <= iNbrePts.
o ImposedCuttingPoints
public virtual ImposedCuttingPoints( iListOfPoints,
iWithImposedPoint= FALSE)
Defines List of Parametric Cutting points corresponding to list of points of the initial set of points. The point iListOfPoints[index] is an Arc limit in the result SetOfCurves .
Parameters:
iListOfPoints
List of Parametric Cutting points, 1 < iListOfPoints[index] < iNbrePts
iWithImposedPoint
if (TRUE) each cutting point is imposed by passpoint constraint; else No Constraint.
o ResetConstraint
public virtual ResetConstraint( const iRankPoint)
Reset the constraint corresponding to each point of the initial set of points.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 <= iRankPoint <= iNbrePts
o ResetTopConstraint
public virtual ResetTopConstraint( const iRankPoint)
Resets the Topological constraint corresponding to each point of the initial set of points. The point iPoints[iRankPoint-1] is not a limitCurve in the result SetOfCurves. Size of SetOfCurves decrease by one.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 < iRankPoint < iNbrePts
o SetConstraint
public virtual SetConstraint( const iRankPoint,
iContinuity= CATFrFPointCont,
iTangVect= 0,
iratio= 1.0)
Defines the PassPoint constraint corresponding to each point of the initial set of points.
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 <= iRankPoint <= iNbrePts
iContinuity
  • iContinuity = CATFrFNoCont -> Reset constraint,
  • iContinuity = CATFrFPointCont -> PassPoint constraint,
  • iContinuity = CATFrFTangentCont -> tangency constraint
  • iContinuity = CATFrFCurvatureCont -> curvature constraint
iTangVect
The Tangency vector (normalized) corresponding to each point of the initial set of points. (if 0, a default value is computed)
iratio
parameter to increase or decrease the norm of tangency vector (which is computed automatically)
o SetCuttingByCurvatureAnalysis
public virtual SetCuttingByCurvatureAnalysis( const iCurvatureVariationThreshold= 5,
const iCurvatureRatio= 0.5,
iCase= CATFrFSurroundingInflexion,
iWithImposedPoint= FALSE)
Compute automatically the number of Arcs by CurvatureAnalysis.
Parameters:
iCurvatureVariationThreshold
Criteria used to decide to insert arc limit is based on a factor of curvature variation between the beginning and the end of the curve, for example 5.
iCurvatureRatio
The position of the arc limit is computed at best using area repartition criteria. A parameter defining the ratio between the surfaces is then used to compute this position.
iCase
: CATFrFInflexionTreatment The type of Inflexion Treatment :
  • CATFrFNone = 0
  • CATFrFInsertAtInflexion = 1
  • CATFrFSurroundingInflexion = 2
iWithImposedPoint
if ( TRUE ) each cutting point computed is imposed by passpoint constraint; else No Constraint
o SetCuttingDefault
public virtual SetCuttingDefault( iCuttingType)
Defines CuttingDefault Option.
Parameters:
iCuttingType
The type of Cutting Option :
  • CATFrFCuttingAutoLength = 1
  • CATFrFCuttingAutoAreaCurvatr = 2
  • CATFrFCuttingAutoLengthCurvatr = 3
o SetDegree
public virtual SetDegree( const iDegree= 5)
Defines the degree of the resulting curve.
Parameters:
iDegree
The degree value for each curve .
o SetMaxDegree
public virtual SetMaxDegree( const iDegree= 5)
Defines the Maxdegree of the resulting curve.
Parameters:
iDegree
The Max degree value for each curve .
o SetMaxNumberOfArcs
public virtual SetMaxNumberOfArcs( iMaxNumberOfArcs= 64,
iInternalContinuity= 3)
Defines the maximum number of arcs of the created curve.
Parameters:
iMaxNumberOfArcs
The maximum number of arcs of each created curve
iInternalContinuity
The Internal continuity of each created curve, iInternalContinuity = 2, 3, 4.
o SetParamType
public virtual SetParamType( iParamType= CATFrFSmoothingParamChordal)
Defaults Options for parametrisation of set of points.
Parameters:
iParamType
The type of parametrization. Examples :
  • CATFrFSmoothingParamUniform = 0
  • CATFrFSmoothingParamChordal = 1
o SetParametrization
public virtual SetParametrization( iNbreOfPts,
iParameters)
Defines the parameters corresponding to each point of the initial set of points.
Parameters:
iNbreOfPts
Number of initial set of points.
iParameters
The array of the parameter values that correspond on the smoothed curve to each point of the input set.
o SetSlideIterations
public virtual SetSlideIterations( const iIterations= 5)
Defines the number of iterations necessary to obtain the best resulting curve. Each iteration gives a different result.
Parameters:
iIterations
The Iteration value for each curve.
o SetTolerance
public virtual SetTolerance( const iTol3d= 0.001,
iTest= CATFrFTestByAverageDeviation)
Defines the Tolerance of the result.
Parameters:
iTol3d
The maximum distance between the input points and the SetOfCurves.
iTest
  • iTest = CATFrFTestByAverageDeviation : Average Deviation is satisfied
  • iTest = CATFrFTestByMaxDeviation : Max Deviation is satisfied
o SetTopConstraint
public virtual SetTopConstraint( const iRankPoint,
iContinuity= CATFrFPointCont,
iTangentVect= 0,
iRatio= 1.,
iCurvatureVect= 0,
const iCurvatureValue= 0.0)
Defines the Topological PassPoint constraint corresponding to each internal point of the initial set of points. The point iPoints[iRankPoint-1] is an Extremity of curve in the SetOfCurves result. Size of SetOfCurves increase by one. The final size of SetOfCurves is equal to Number of Internal Topological PassPoint Constraint + 1 .
Parameters:
iRankPoint
The Rank of the point in iPoints, 1 < iRankPoint < iNbrePts.
iContinuity
  • iContinuity = CATFrFNoCont -> Reset Geometrical constraint,
  • iContinuity = CATFrFPointCont -> SetOfCurves is G0 at this point,
  • iContinuity = CATFrFTangentCont -> SetOfCurves is G1 at this point,
  • iContinuity = CATFrFCurvatureCont -> SetOfCurves is G2 at this point.
iTangentVect
The Tangency vector (normalized) corresponding to each point of the initial set of points. (if 0, a default value is computed)
iratio
Parameter to increase or decrease the norm of tangency vector (which is computed automatically).
iCurvatureVect
The Normal vector (normalized) corresponding to each point of the initial set of points. (if 0, a default value is computed)
iCurvatureValue
Imposed curvature value at the iRankPoint point.

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

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