All Frameworks Class Hierarchy This Framework Previous Indexes
FreeFormOperators Class CATSurFittingToNurbsSur
Mathematics.CATCGMVirtual
|
+---CATSurFittingToNurbsSur
Usage: you must use this class as is. You should never derive it.
public class CATSurFittingToNurbsSur
Class defining a geometric operator that computes a (possibly approximated) NURBS representation of a CATSurface.
If a surface has no corresponding NURBS representation, the operator uses a fitting operation to
compute the best approximating NURBS representation. Hence, a maximum deviation must be given as input of
the operator.
- An input CATNurbsSurface is directly output:
the GetResult method outputs the same pointer.
- Some canonic surfaces will be transformed into rational
CATNurbsSurface. However, setting iRationalAllowed = 0 at the operator creation
or using the CATCrvFittingToNurbsCrv.SetRationalAllowed method, will force the fitting into a non rational surface (default is iRationalAllowed = 1).
The CATSurFittingToNurbsSur operator follows the global frame of the geometric operators:
- A CATSurFittingToNurbsSur operator is created with the CATCreateSurFittingToNurbsSur global function
and must be directly deleted with the usual C++ delete operator after use.
It is is not streamable.
- In case of BASIC
mode, the operation is automatically performed at the operator creation.
In case of ADVANCED
mode, options can be precised with the SetXxx methods, before
asking for the computation with the Run method.
- In both cases, the result is accessed with the Getxxx methods.
If a surface does not need to be converted because it already is of the required type, the same pointer
is returned. In this case, using the
CATICGMContainer.Remove method on the result surface will remove the input surface, because they are the same.
Constructor and Destructor Index
- o
~CATSurFittingToNurbsSur()
-
Method Index
- o
ComputeNewParameter(CATSurParam&)
- Maps a parameter on the initial surface to the corresponding parameter on the computed NURBS representation.
- o
ForbidPeriodicity()
- Declares that the result NURBS must not be periodic.
- o
ForceFitting()
- Forces the computation of an approximation even if the input surface already match the fitting criteria.
- o
GetDiagnosis()
- Returns a diagnosis about the fitting process.
- o
GetMaxDeviation()
- Returns the maximum deviation computed for the result surface.
- o
GetNurbsSurface()
- Returns the result CATNurbsSurface.
- o
ImposeSameParametrization()
- Declares that the result surface must have the same parameterization than the input surface to fit.
- o
IsExactTransformation()
- Returns whether the transformation between the input and output surfaces is exact.
- o
Run()
- Runs this operator.
- o
SetInternalMinLength(double)
- Defines the minimal length of an internal arc of the result surface.
- o
SetMaxDegreeU(CATLONG32)
- Defines the maximum degree of the result NURBS representation in the first direction of the surface.
- o
SetMaxDegreeV(CATLONG32)
- Defines the maximum degree of the result NURBS representation in the second direction of the surface.
- o
SetMaxSegmentsU(CATLONG32)
- Defines the maximum number of arcs of the result NURBS representation in the first direction of the surface.
- o
SetMaxSegmentsV(CATLONG32)
- Defines the maximum number of arcs of the result NURBS representation in the second direction of the surface.
- o
SetRationalAllowed(CATLONG32)
- Defines whether the result NURBS representation can be rational.
- o
SetSideContinuity(int,int)
- Specifies a continuity constraint along the borders of the surface.
Constructor and Destructor
o ~CATSurFittingToNurbsSur
public virtual ~CATSurFittingToNurbsSur( | ) |
-
Methods
o ComputeNewParameter
-
Maps a parameter on the initial surface to the corresponding parameter on the computed NURBS representation.
To call after the operator ran.
- Parameters:
-
- iParamOnSurface
- The parameter on the initial surface.
- Returns:
- The parameter on the computed NURBS representation.
o ForbidPeriodicity
public virtual void ForbidPeriodicity( | )=0 |
-
Declares that the result NURBS must not be periodic.
To call in ADVANCED mode before the Run method.
o ForceFitting
public virtual void ForceFitting( | )=0 |
-
Forces the computation of an approximation even if the input surface already match the fitting criteria.
To call in ADVANCED mode before the Run method.
o GetDiagnosis
-
Returns a diagnosis about the fitting process.
To call after the Run method.
- Returns:
- 1 if a correct result could not be computed because it would have produced small patches
0 otherwise
o GetMaxDeviation
public virtual double GetMaxDeviation( | )=0 |
-
Returns the maximum deviation computed for the result surface.
To call after the operator ran.
- Returns:
- The maximum deviation value.
o GetNurbsSurface
-
Returns the result CATNurbsSurface.
- Returns:
- The pointer to the created CATNurbsSurface. Use the
CATICGMContainer.Remove if you do not want to keep it in the geometric factory.
o ImposeSameParametrization
public virtual void ImposeSameParametrization( | )=0 |
-
Declares that the result surface must have the same parameterization than the input surface to fit.
To call in ADVANCED mode before the Run method.
o IsExactTransformation
public virtual CATLONG32 IsExactTransformation( | )=0 |
-
Returns whether the transformation between the input and output surfaces is exact.
To call after the operator ran.
- Returns:
- 1 if the transformation is exact, 0 otherwise.
o Run
public virtual void Run( | )=0 |
-
Runs this operator.
To call in ADVANCED mode.
o SetInternalMinLength
public virtual void SetInternalMinLength( | double | iInternalMinLength)=0 |
-
Defines the minimal length of an internal arc of the result surface.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iInternalMinLength
- The minimum length value.
o SetMaxDegreeU
public virtual void SetMaxDegreeU( | CATLONG32 | iMaxDegree)=0 |
-
Defines the maximum degree of the result NURBS representation in the first direction of the surface.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iMaxDegree
- The degree maximum value.
o SetMaxDegreeV
public virtual void SetMaxDegreeV( | CATLONG32 | iMaxDegree)=0 |
-
Defines the maximum degree of the result NURBS representation in the second direction of the surface.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iMaxDegree
- The degree maximum value.
o SetMaxSegmentsU
public virtual void SetMaxSegmentsU( | CATLONG32 | iMaxArcs)=0 |
-
Defines the maximum number of arcs of the result NURBS representation in the first direction of the surface.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iMaxArcs
- The maximum number of arcs. If SetMaxDegreeU and SetMaxArcsV are both used,
the operator tries to get as few arcs as possible, even with a larger number of arcs with
iMaxDegree.
o SetMaxSegmentsV
public virtual void SetMaxSegmentsV( | CATLONG32 | iMaxArcs)=0 |
-
Defines the maximum number of arcs of the result NURBS representation in the second direction of the surface.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iMaxArcs
- The maximum number of arcs. If SetMaxDegreeV and SetMaxArcsV are both used,
the operator tries to get as few arcs as possible, even with a larger number of arcs with
iMaxDegree.
o SetRationalAllowed
public virtual void SetRationalAllowed( | CATLONG32 | iAllowRational)=0 |
-
Defines whether the result NURBS representation can be rational.
To call in ADVANCED mode before the Run method.
- Parameters:
-
- iAllowRational
- 1 if the result surface can be rational (default value when the method is not called),
0 if the result surface must not be rational.
o SetSideContinuity
public virtual void SetSideContinuity( | int | iSideContinuityU, |
| int | iSideContinuityV) = 0 |
-
Specifies a continuity constraint along the borders of the surface.
- 0 for C0 (default)
- 1 for C1
- 2 for C2
- Parameters:
-
- iSideContinuityU
- The continuity along U.
- iSideContinuityV
- The continuity along V.
This object is included in the file: CATSurFittingToNurbsSur.h
If needed, your Imakefile.mk should include the module: CATFreeFormOperators