CAACloudQsrItf Interface CATIQsrCAAPowerFit
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIQsrCAAPowerFit
Interface defining a PowerFit.
Role: The PowerFit's algorithm is used to create :
- An untrimmed surface supported by one cloud of points and/or curves.
- A surface supported or not by one cloud of points and trimmed by an external boundary.
A CATIQsrCAAPowerFit is created through the CreatePowerFit method
of the CATIQsrCAAFactory interface and deleted with the Remove method.
Method Index
- o
GetDistanceFace(int,float*,float*,boolean&,float&,int&)
- Gets the description of a point and its orthogonal projection on the result face.
- o
GetErrorAboveValue(double,int*&,int&,double&,int&)
- Gets the points the error of which is greater than a given value.
- o
GetStatisticError(double&,double&,double&,int&)
- Gets the maximum error, the mean error and the standard deviation.
- o
MakeFace(CATBody*&,CATFace*&,int&)
- Runs the algorithm.
- o
SetCloudOfPoints(float*,int,int&)
- Sets the cloud of points.
- o
SetCurveUse(int,int&)
- Sets the curves'use for the computation.
- o
SetCurves(CATLISTP(CATCell)&,CATLISTP(CATCell)&,CATListOfInt&,double&,int&)
- Sets the constrained curves.
- o
SetDgSpans(int,int&)
- Sets the span degree.
- o
SetG0GlobalCurves(double,int&)
- Sets the tolerance G0 on each Edge.
- o
SetG0Points(double,int&)
- Sets the tolerance on the points.
- o
SetG1GlobalCurves(double,int&)
- Sets the tolerance G1 on each Edge if the tangency constraint is required.
- o
SetNbSpans(int,int&)
- Sets the maximum spans number of the NUBS result surface.
- o
SetPipeRadius(double,int&)
- Sets the radius of the pipe.
- o
SetSurfaceInit(CATSurface*,int&)
- Sets the initial surface.
Methods
o GetDistanceFace
public virtual GetDistanceFace( | const | iNumero, |
| | oPtInput, |
| | oPtOutput, |
| | oDirection, |
| | oDistance, |
| | oStatus) |
-
Gets the description of a point and its orthogonal projection on the result face.
- Parameters:
-
- iNumero
- The point number.
Legal values :
- 0 <= iNumero <= Number of points - 1.
- oPtInput
- The coordinates of the original point.
- oPtOutput
- The coordinates of the orthogonal projection of oPtInput on the result face.
- oDirection
- The error's direction.
Legal values :
- TRUE means that the direction (oPtOutput -> oPtInput) is the same as the normal direction of the result face.
- oDistance
- The distance between the two points.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that there was an error in the MakeFace method (no face is computed).
o GetErrorAboveValue
public virtual GetErrorAboveValue( | const | iValue, |
| | oIdPoints, |
| | oNbPoints, |
| | oPercent, |
| | oStatus) |
-
Gets the points the error of which is greater than a given value.
Use the GetDistanceFace method in a loop from 0 to (oNbPoints - 1) to get the coordinates of each point before and after.
- Parameters:
-
- iValue
- The threshold value of the error.
- oIdPoints
- The pointer for the result array.
- oNbPoints
- The number of points of oIdPoints.
- oPercent
- The ratio between oNbPoints and the original number of points.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that there was an error in the MakeFace method (no face is computed).
o GetStatisticError
public virtual GetStatisticError( | | oMaxErr, |
| | oMeanErr, |
| | oStdDev, |
| | oStatus) |
-
Gets the maximum error, the mean error and the standard deviation.
The error on one point is the distance between the point and its orthogonal projection on the surface.
- Parameters:
-
- oMaxErr
- The maximum error.
- oMeanErr
- The mean error.
- oStdDev
- The standard deviation.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that there was an error in the MakeFace method (no face is computed).
o MakeFace
public virtual MakeFace( | | oBody, |
| | oFace, |
| | oStatus) |
-
Runs the algorithm.
It computes the filling face.
- Parameters:
-
- oBody
- The body that contains the result face.
- oFace
- The result face.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that the discontinuity G0 in the boundary is greater than the curves tolerance.
- 2
- Means that there are not enough constraints, points or curves.
- 3
- Means that some points are in counter draft.
- 4
- Means that a PlateFe error occurred.
- 5
- Means that the quality of the surface is too poor (high frequency). There are probably some bad points in the set of points or some points may be in a not detected counter draft.
- 10
- Means that a precedent error occurred while using other methods of this interface.
- Other
- Means that an internal error occurred, no significance for the user.
o SetCloudOfPoints
public virtual SetCloudOfPoints( | | iPoints, |
| const | iNbPoints, |
| | oStatus) |
-
Sets the cloud of points.
- Parameters:
-
- iPoints
- The coordinates (in float) of the points, 3 coordinates by point.
- iNbPoints
- Number of points. The minimum size of iPoints is (3 * iNbPoints).
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iPoints is not valid or that iNbPoints is smaller than zero.
- 2
- Means that the allocation of iPoints is not possible.
o SetCurveUse
public virtual SetCurveUse( | const | iCurveUse, |
| | oStatus) |
-
Sets the curves'use for the computation.
If this method is not used, the default value for the computation is 0.
- Parameters:
-
- iCurveUse
- The use of the boundary loaded by SetCurves.
Legal values :
- 0
- The surface is computed on the points and the curves. The curves become the edges of the surface.
- 1
- The surface is computed on the points. The curves are then projected on the surface to trim it.
- 1
- The surface is computed on the points located inside the curves. The surface is not trimmed.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iCurveUse is not equal to 0, 1 or 2.
o SetCurves
public virtual SetCurves( | const | iListOfEdge, |
| const | iListOfFace, |
| const | iListOfContact, |
| | oGapG0, |
| | oStatus) |
-
Sets the constrained curves.
These curves determine the boundary of the result face.
Only the points inside the boundary are used to compute the surface result.
Important : See CurveUse for more information on the boundary's use.
- Parameters:
-
- iListOfEdge
- The list of the constrained edges.
Note : The edge's order in the iListOfEdge is not important.
- iListOfFace
- In regard with iListOfEdge, the list of associated faces, NULL if you have no face.
- iListOfContact
- In regard with iListOfEdge, the nature of contact.
Legal values :
- 0
- If you want a simple passage with the Edge.
- 1
- If you want a tangency with the mandatory corresponding Face.
- oGapG0
- The biggest hole G0 continuity computed on the iListOfEdge
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that there are no edges or that one edge is equal to NULL.
- 2
- Means that there is only one edge. A boundary of a face with one edge is not possible.
- 3
- Means that one of the contact values is neither equal to 0 nor equal to 1.
- 4
- Means that a contact is equal to 1 and there is no Face corresponding.
o SetDgSpans
public virtual SetDgSpans( | const | iDgSpans, |
| | oStatus) |
-
Sets the span degree.
The degree is the same for each span.
If this method is not used, the default value for the computation is 5 (minimum value for NUBS C2).
- Parameters:
-
- iDgSpans
- The span degree.
Legal values :
- 3 <= iDgSpans <= 12.
Note : If the maximum number of spans is equal to 1, the span degree could be equal to 3 or 4.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iDgSpans is smaller than 2 or higher than 13.
o SetG0GlobalCurves
public virtual SetG0GlobalCurves( | const | iTolG0, |
| | oStatus) |
-
Sets the tolerance G0 on each Edge.
If this method is not used, the default value for the computation is 0.1.
- Parameters:
-
- iTolG0
- The acceptable mean error between the Edge and its image on the result surface.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iTolG0 is smaller than 0.
o SetG0Points
public virtual SetG0Points( | const | iTolG0, |
| | oStatus) |
-
Sets the tolerance on the points.
If this method is not used, the default value for the computation is 0.5.
- Parameters:
-
- iTolG0
- The tolerance. It is the acceptable mean error between the points and the result surface.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iTolG0 is smaller than zero.
o SetG1GlobalCurves
public virtual SetG1GlobalCurves( | const | iTolG1, |
| | oStatus) |
-
Sets the tolerance G1 on each Edge if the tangency constraint is required.
If this method is not used, the default value for the computation is 2.5 Degree.
- Parameters:
-
- iTolG1
- The acceptable mean error between the Edge and its image on the result surface.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iTolG1 is smaller than 0.
o SetNbSpans
public virtual SetNbSpans( | const | iNbSpans, |
| | oStatus) |
-
Sets the maximum spans number of the NUBS result surface.
If this method is not used, the default value for the computation is 64.
- Parameters:
-
- iNbSpans
- The maximum number of spans.
Note : The result is a Bezier patch if the maximum number of spans is equal to 1.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iNbSpans is smaller than zero.
o SetPipeRadius
public virtual SetPipeRadius( | const | iRadius, |
| | oStatus) |
-
Sets the radius of the pipe.
The points inside a circular pipe centered on each curve and defined by its radius are deleted
in order to minimize the risk of undulations.
If this method is not used, the default value for the computation is -1.
- Parameters:
-
- iRadius
- The radius of the pipe.
If its value is -1, the algorithm, using a heuristic, computes the radius automatically.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
o SetSurfaceInit
public virtual SetSurfaceInit( | | iInitSurface, |
| | oStatus) |
-
Sets the initial surface.
If this method is not used, the default for the computation is the median plane.
- Parameters:
-
- iInitSurface
- The initial surface. The parameterization of the result surface is the same as iInitSurface.
- oStatus
- Information.
Legal values :
- 0
- Means that everything is OK.
- 1
- Means that iInitSurface is not valid.
This object is included in the file: CATIQsrCAAPowerFit.h
If needed, your Imakefile.mk should include the module: CATCloudQsrCAAItf
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.