Enumerations | |
enum | A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic. More... | |
Functions | |
A3DStatus | A3DCrvEvaluate (const A3DCrvBase *pCrv, A3DDouble dParameter, A3DUns32 uiNbDerivatives, A3DVector3dData *pPointAndDerivatives) |
Function to evaluate a point and the derivatives of a curve at a parameter . More... | |
A3DStatus | A3DCrvEvaluatePointAndNormal (A3DCrvBase const *psCrv, A3DDouble dParameter, A3DUns32 uiNbSurfaces, A3DSurfBase **ppsSurfaces, A3DUns32 uiNbDerivatives, A3DVector3dData *psPointAndDerivatives, A3DVector3dData *psNormal) |
Function to evaluate a point and the derivatives of a curve at a parameter, then the normal of this point to each of the given surfaces . More... | |
A3DStatus | A3DCrvGetInterval (const A3DCrvBase *pCrv, A3DIntervalData *pInterval) |
Function to get a curve parametric interval. More... | |
A3DStatus | A3DCrvIsPeriodic (const A3DCrvBase *pCrv, A3DBool *pbIsPeriodic) |
Function to determine if a curve is periodic. More... | |
A3DStatus | A3DGetCurveAsAnalytic (const A3DCrvBase *pCurve, double dTol, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it. More... | |
A3DStatus | A3DGetCurveAsAnalyticFromCoEdge (const A3DTopoCoEdge *pCoEdge, double dTol, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use UV curves from Edges if exist, otherwise use 3D Curves. Use A3DEntityDelete to delete the analytic curve after using it. More... | |
A3DStatus | A3DGetSurfaceAsAnalytic (A3DSurfBase const *pSrf, double dTol, A3DSurfBase **pAnalyticSurface, A3DEAnalyticType *peAnalyticType) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are: Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface. More... | |
A3DStatus | A3DSimplifyCurveWithAnalytics (const A3DCrvBase *pCurve, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it. Recognized curve type are: Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSimplifyCurveWithAnalyticsFromCoEdge (const A3DTopoCoEdge *pCoEdge, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DCrvBase **pAnalyticCurve, A3DEAnalyticType *peAnalyticType) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use 3D curves from Edges if exist, otherwise use UV Curves on CoEdge. Use A3DEntityDelete to delete the analytic curve after using it. Recognize curve type are: Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSimplifySurfaceWithAnalytics (A3DSurfBase const *pSrf, A3DDouble dTol, A3DUns32 uNbRecognizedType, A3DEEntityType const *pOptRecognizedType, A3DSurfBase **pAnalyticSurface, A3DEAnalyticType *peAnalyticType) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are: Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifySurfaceWithAnalytics recognizes only given types. More... | |
A3DStatus | A3DSrfGetDomain (const A3DSurfBase *pSrf, A3DDomainData *pDomain) |
Function to get a surface parametric domain. More... | |
A3DStatus | A3DSurfEvaluate (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DUns32 uiNbDerivatives, A3DVector3dData *pPointAndDerivatives) |
Function to evaluate a point and the derivatives on a surface. More... | |
A3DStatus | A3DSurfEvaluateNormal (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DVector3dData *pNormal) |
Function to evaluate a normal on a surface. More... | |
A3DStatus | A3DSurfIsDegenerated (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DDouble dTolerance, A3DBool *pbIsDegenerated, A3DBool *pbUDirection) |
Function to determine if a surface is degenerated at a point. More... | |
A3DStatus | A3DSurfIsG1Continuous (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DDouble dAngleTolerance, A3DBool *pbUG1Continuous, A3DBool *pbVG1Continuous) |
Function to determine if a surface is G1 discontinuous at a point. More... | |
A3DStatus | A3DSurfIsPeriodic (const A3DSurfBase *pSrf, A3DBool *pbUIsPeriodic, A3DBool *pbVIsPeriodic) |
Function to determine if a surface is periodic. More... | |
Detailed Description
Enumeration Type Documentation
enum A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic.
- Version
- 5.0
Function Documentation
A3DStatus A3DCrvGetInterval | ( | const A3DCrvBase * | pCrv, |
A3DIntervalData * | pInterval | ||
) |
Function to get a curve parametric interval.
- Returns
- A3D_SUCCESS
A3DStatus A3DCrvEvaluate | ( | const A3DCrvBase * | pCrv, |
A3DDouble | dParameter, | ||
A3DUns32 | uiNbDerivatives, | ||
A3DVector3dData * | pPointAndDerivatives | ||
) |
Function to evaluate a point and the derivatives of a curve at a parameter
.
- Derivatives are stored in the following order:
- With uiNbDerivatives = 0: Point
- With uiNbDerivatives = 1: Point, First Derivative
- With uiNbDerivatives = 2: Point, First Derivative, Second Derivative
- size = 1 if uiNbDerivatives=0
- size = 2 if uiNbDerivatives=1;
- size = 3 if uiNbDerivatives=2;
- Version
- 4.0
- Warning
- The number of derivatives must be less than or equal to 2.
- Returns
- A3D_SUCCESS
-
A3D_ERROR
A3DStatus A3DCrvEvaluatePointAndNormal | ( | A3DCrvBase const * | psCrv, |
A3DDouble | dParameter, | ||
A3DUns32 | uiNbSurfaces, | ||
A3DSurfBase ** | ppsSurfaces, | ||
A3DUns32 | uiNbDerivatives, | ||
A3DVector3dData * | psPointAndDerivatives, | ||
A3DVector3dData * | psNormal | ||
) |
Function to evaluate a point and the derivatives of a curve at a parameter, then the normal of this point to each of the given surfaces
.
- Derivatives are stored in the following order:
- With uiNbDerivatives = 0: Point
- With uiNbDerivatives = 1: Point, First Derivative
- With uiNbDerivatives = 2: Point, First Derivative, Second Derivative
- size = 1 if uiNbDerivatives=0
- size = 2 if uiNbDerivatives=1;
- size = 3 if uiNbDerivatives=2; psNormal size must be equal to the uiNbSurfaces, the number of given surfaces. Life time of psPointAndDerivatives and psNormal must be handled by the user.
- Version
- 8.2
- Warning
- The number of derivatives must be less than or equal to 2.
- Returns
- A3D_SUCCESS
-
A3D_ERROR
A3DStatus A3DCrvIsPeriodic | ( | const A3DCrvBase * | pCrv, |
A3DBool * | pbIsPeriodic | ||
) |
Function to determine if a curve is periodic.
- Version
- 10.1
- Parameters
-
[in] pCrv The input curve. [out] bIsPeriodic The returned value.
A3DStatus A3DSrfGetDomain | ( | const A3DSurfBase * | pSrf, |
A3DDomainData * | pDomain | ||
) |
Function to get a surface parametric domain.
- Returns
- A3D_SUCCESS
A3DStatus A3DSurfEvaluate | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DUns32 | uiNbDerivatives, | ||
A3DVector3dData * | pPointAndDerivatives | ||
) |
Function to evaluate a point and the derivatives on a surface.
- pPointAndDerivatives size must be equal to (uiNbDerivatives+1)*(uiNbDerivatives+1)
- Derivatives are stored in the following order:
- if uiNbDerivatives=0, pPointAndDerivatives size must be equal to 1
- if uiNbDerivatives=1, pPointAndDerivatives size must be equal to 4
_ 2D array representation: v derivs | 0 | 1 | ----------------------- 0 | Point | V | u derivs ----------------------- 1 | U | |
_ 1D array representation: 0 | 1 | 2 | 3 | -------------------------------- Point | V | U | |
- if uiNbDerivatives=2, pPointAndDerivatives size must be equal to 9
_ 2D array representation: v derivs | 0 | 1 | 2 | ------------------------------- 0 | Point | V | V2 | ------------------------------- u derivs 1 | U | UV | | ------------------------------- 2 | U2 | | |
_ 1D array representation: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ------------------------------------------------------------------------- Point | V | V2 | U | UV | | U2 | | |
- Version
- 4.0
- Warning
- The number of derivatives must be less or equal to 2.
- Returns
- A3D_SUCCESS
-
A3D_ERROR
A3DStatus A3DSurfIsDegenerated | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DDouble | dTolerance, | ||
A3DBool * | pbIsDegenerated, | ||
A3DBool * | pbUDirection | ||
) |
Function to determine if a surface is degenerated at a point.
- Version
- 9.0
- Parameters
-
[in] pSurf The input surface. [in] pUVParameter The coordinates of the point. [in] dTolerance The tolerance of the test. [out] pbIsDegenerated The returned value. [out] pbUDirection The direction of the degeneracy if a degeneracy is detected (true = U direction, and false = V direction).
- Returns
- A3D_SUCCESS
-
A3D_ERROR
A3DStatus A3DSurfIsPeriodic | ( | const A3DSurfBase * | pSrf, |
A3DBool * | pbUIsPeriodic, | ||
A3DBool * | pbVIsPeriodic | ||
) |
Function to determine if a surface is periodic.
- Version
- 10.1
- Parameters
-
[in] pSurf The input surface. [out] bUIsPeriodic The returned value for u direction. [out] bVIsPeriodic The returned value for u direction.
A3DStatus A3DSurfIsG1Continuous | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DDouble | dAngleTolerance, | ||
A3DBool * | pbUG1Continuous, | ||
A3DBool * | pbVG1Continuous | ||
) |
Function to determine if a surface is G1 discontinuous at a point.
- Version
- 9.0
- Parameters
-
[in] pSurf The input surface. [in] pUVParameter The coordinates of the point. [in] dAngleTolerance The derivative angle tolerance. [out] pbUG1Continuous The returned value for u direction. [out] pbVG1Continuous The returned value for v direction.
- Returns
- A3D_SUCCESS
-
A3D_ERROR
A3DStatus A3DGetCurveAsAnalytic | ( | const A3DCrvBase * | pCurve, |
double | dTol, | ||
A3DCrvBase ** | pAnalyticCurve, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it.
- Version
- 5.0
- Returns
- A3D_SUCCESS if an analytic has been created
-
A3D_ERROR
A3DStatus A3DSimplifyCurveWithAnalytics | ( | const A3DCrvBase * | pCurve, |
A3DDouble | dTol, | ||
A3DUns32 | uNbRecognizedType, | ||
A3DEEntityType const * | pOptRecognizedType, | ||
A3DCrvBase ** | pAnalyticCurve, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get curves as analytic (line or circle) according to a certain tolerance. Use A3DEntityDelete to delete the analytic curve after using it. Recognized curve type are:
Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types.
- Version
- 7.0
- Parameters
-
[in,out] pCurve The input curve. [in] dTol The tolerance. [in] uNbRecognizedType Size of array pOptRecognizedType. [in] pOptRecognizedType Optional type of curve we want to recognize. [out] pAnalyticCurve The new analytic curve.
- Warning
- must be deleted by the user.
- Parameters
-
[out] peAnalyticType The type of analytic curve.
- Returns
- A3D_SUCCESS if an analytic has been created
-
A3D_ERROR
A3DStatus A3DGetCurveAsAnalyticFromCoEdge | ( | const A3DTopoCoEdge * | pCoEdge, |
double | dTol, | ||
A3DCrvBase ** | pAnalyticCurve, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use UV curves from Edges if exist, otherwise use 3D Curves. Use A3DEntityDelete to delete the analytic curve after using it.
- Version
- 5.0
- Returns
- A3D_SUCCESS if an analytic has been created
-
A3D_ERROR
A3DStatus A3DSimplifyCurveWithAnalyticsFromCoEdge | ( | const A3DTopoCoEdge * | pCoEdge, |
A3DDouble | dTol, | ||
A3DUns32 | uNbRecognizedType, | ||
A3DEEntityType const * | pOptRecognizedType, | ||
A3DCrvBase ** | pAnalyticCurve, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get curves as analytic (line or circle) according to a certain tolerance Try to use 3D curves from Edges if exist, otherwise use UV Curves on CoEdge. Use A3DEntityDelete to delete the analytic curve after using it. Recognize curve type are:
Linear Curve Circular Curve If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifyCurveWithAnalytics recognizes only given types.
- Version
- 7.0
- Parameters
-
[in] pCoEdge The input coEdge. [in] dTol The tolerance. [in] uNbRecognizedType Size of array pOptRecognizedType. [in] pOptRecognizedType Optional type of curve we want to recognize. [out] pAnalyticCurve The new analytic curve.
- Warning
- must be deleted by the user.
- Parameters
-
[out] peAnalyticType The type of analytic curve.
- Returns
- A3D_SUCCESS if an analytic has been created
-
A3D_ERROR
A3DStatus A3DGetSurfaceAsAnalytic | ( | A3DSurfBase const * | pSrf, |
double | dTol, | ||
A3DSurfBase ** | pAnalyticSurface, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are:
Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface.
- Version
- 5.0
- Parameters
-
[in] pSrf The input surface [in] dTol Tolerance [out] pAnalyticSurface The new analytic surface.
- Warning
- must be deleted by the user
- Parameters
-
[out] peAnalyticType The type of analytic surface
A3DStatus A3DSimplifySurfaceWithAnalytics | ( | A3DSurfBase const * | pSrf, |
A3DDouble | dTol, | ||
A3DUns32 | uNbRecognizedType, | ||
A3DEEntityType const * | pOptRecognizedType, | ||
A3DSurfBase ** | pAnalyticSurface, | ||
A3DEAnalyticType * | peAnalyticType | ||
) |
Function to get surface as analytic according to a certain tolerance. Use A3DEntityDelete to delete the analytic surface after using it. Recognized surface type are:
Conic Surface Cylindrical Surface Plane Surface Spherical Surface Toric Surface If uNbRecognizedType and pOptRecognizedType are defined, A3DSimplifySurfaceWithAnalytics recognizes only given types.
- Version
- 7.0
- Parameters
-
[in] pSrf The input surface. [in] dTol Tolerance. [in] uNbRecognizedType Size of array pOptRecognizedType. [in] pOptRecognizedType Optional type of surface we want to recognize. [out] pAnalyticSurface The new analytic surface.
- Warning
- must be deleted by the user.
- Parameters
-
[out] peAnalyticType The type of analytic surface.
A3DStatus A3DSurfEvaluateNormal | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DVector3dData * | pNormal | ||
) |
Function to evaluate a normal on a surface.
- Parameters
-
[in] pSurf The input surface. [in] pUVParameter The input UV point to evaluate the normal of the surface. [out] pNormal The normal of the surface at the UV parameter.