Functions | |
A3DStatus | A3DCrvGetInterval (const A3DCrvBase *pCrv, A3DIntervalData *pInterval) |
Function to get a curve parametric interval. More... | |
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 | 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 | 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 | 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 | 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 | 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 UV curves from Edges if exist, otherwise use 3D Curves. 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 | 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 | 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 | A3DSurfEvaluateNormal (const A3DSurfBase *pSurf, const A3DVector2dData *pUVParameter, A3DVector3dData *pNormal) |
Function to evaluate a normal on a surface. More... | |
A3DStatus | A3DCrvProjectPoint (const A3DCrvBase *pCrv, const A3DVector3dData *pPointToProject, A3DUns32 *puiNbSolutions, A3DDouble **ppdSolutionParameter, A3DDouble **ppdSolutionDistance) |
This function projects a point on a curve The number of returned solutions is given by puiNbSolutions and for each one, ppdSolutionParameter and ppdSolutionDistance arrays give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve). More... | |
A3DStatus | A3DSurfProjectPoint (const A3DSurfBase *pSurf, const A3DVector3dData *pPointToProject, A3DUns32 *puiNbSolutions, A3DVector2dData **ppdSolutionParameters, A3DDouble **ppdSolutionDistance) |
This function projects a point on a surface The number of returned solutions is given by puiNbSolutions and for each one, ppdSolutionParameters and ppdSolutionDistance arrays give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface). More... | |
A3DStatus | A3DCrvLocalProjectPoint (const A3DCrvBase *pCrv, const A3DVector3dData *pPointToProject, A3DDouble dGuessParameter, A3DBool *pbFindSolution, A3DDouble *pdSolutionParameter, A3DDouble *pdSolutionDistance) |
This function projects a point on a curve with a guess parameter pdSolutionParameter and pdSolutionDistance give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve). More... | |
A3DStatus | A3DSurfLocalProjectPoint (const A3DSurfBase *pSurf, const A3DVector3dData *pPointToProject, const A3DVector2dData *pGuessPoint, A3DBool *pbFindSolution, A3DVector2dData *pSolutionParameter, A3DDouble *pdSolutionDistance) |
This function projects a point on a surface with a guess parameter pSolutionParameter and pdSolutionDistance give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface). More... | |
A3DStatus | A3DSewBrep (A3DRiBrepModel ***p, A3DUns32 uNbBrepModels, double dTolerance, A3DRiBrepModel ***pBrepModelsOut, A3DUns32 *const uNbBrepOut) |
Function to sew multiple B-rep data structures. More... | |
A3DStatus | A3DAsmModelFileSew (A3DAsmModelFile **ppModelFile, A3DDouble dToleranceInMM) |
Function to sew one model file. More... | |
A3DStatus | A3DFaceUVPointInsideManagerCreate (A3DFaceUVPointInsideManagerData const *pData, A3DFaceUVPointInsideManager **pManager) |
Creates an A3DFaceUVPointInsideManager from an A3DFaceUVPointInsideManagerData structure. More... | |
A3DStatus | A3DFaceUVPointInsideManagerDelete (A3DFaceUVPointInsideManager *pManager) |
Deletes an A3DFaceUVPointInsideManager. More... | |
A3DStatus | A3DFaceUVPointInside (A3DFaceUVPointInsideManager *pManager, A3DTopoFace const *psFace, A3DVector2dData const *pUVParameter, A3DDouble dTol3D, A3DUns8 *puiUVInFace) |
This function projects a UV point on a face, and return if it's inside or not. puiUVInFace gives the result: 0 if the point is outside the face, and 1 if it's inside. dTol3D is used to check if a UV point is on edges. If it's set to zero and the point is not inside the face but potentially on its edges, the tolerance check will not happen. More... | |
A3DStatus | A3DProjectPointCloud (unsigned int uRiBrepModelSize, A3DRiBrepModel **pRiBrepModel, A3DUns32 uPointCloudSize, A3DVector3dData *pPointCloudToProject, A3DBool bUseExactComputation, A3DUns32 uNbThreads, A3DProjectedPointCloudData **ppProjectedPointCloud) |
Function to project Point Cloud on BrepModel. More... | |
A3DStatus | A3DProjectPointCloudManagerCreateFromRI (A3DProjectPointCloudManagerDataFromRI *pData, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement. More... | |
A3DStatus | A3DProjectPointCloudManagerCreateFromModelFile (A3DAsmModelFile *pModelFile, A3DProjectPointCloudManager **pManager) |
Create a Point Cloud Manager from a A3DAsmModelFile. More... | |
A3DStatus | A3DProjectPointCloudManagerDelete (A3DProjectPointCloudManager *pManager) |
Deletes an A3DProjectPointCloudManager. More... | |
A3DStatus | A3DProjectPointCloud2 (A3DProjectPointCloudManager *pManager, A3DUns32 uPointCloudSize, A3DVector3dData *pPointCloudToProject, A3DBool bUseExactComputation, A3DUns32 uNbThreads, A3DDouble dInsidePointEdgeTolerance, A3DProjectedPointCloudData **ppProjectedPointCloud) |
Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager. More... | |
A3DStatus | A3DComputePlanarSectionOnRepresentationItem (A3DRiBrepModel const *pRiBrepModel, A3DPlanarSectionData const *psSectionParametersData, A3DRiSet **ppRISectionResults) |
Function to compute plane section on BrepModel. More... | |
A3DStatus | A3DComputePlanarSectionOnModelFile (A3DAsmModelFile const *pModelFile, A3DPlanarSectionData const *psSectionParametersData, A3DUns32 *pNumberOfSections, A3DRiSet ***pppRISectionElements) |
Function to compute plane section on ModelFile. More... | |
A3DStatus | A3DCurveLength (const A3DCrvBase *pCrv, A3DIntervalData *pOptInterval, A3DDouble *pdLength) |
Function to compute the length of a curve (optionally restricted to an interval) More... | |
A3DStatus | A3DCompareFaces (A3DCompareInputData *pInput, A3DCompareOutputData *pOutput) |
Function to compare the faces of two groups of A3DRiBrepModel. This function will detect if every points in a face of the first group (referenced as group of the old faces) can be projected to one of the faces of the other group (referenced as group of the new faces) within the given tolerance. This is useful for exemple to understand what has changed in a part between two versions: a hole has been added, an edge has been blended. More... | |
A3DStatus | A3DCompareFacesInBrepModels (A3DAsmModelFile *pOldModelFile, A3DAsmModelFile *pNewModelFile, A3DDouble dToleranceInMM, A3DCompareOutputData *pOutput) |
Function to compare the faces of two A3DAsmModelFile. This is the same as A3DCompareFaces except that A3DRiBrepModel will be found by traversing the two A3DAsmModelFile. More... | |
enum | A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic. More... | |
enum A3DEAnalyticType |
Tells what kind of curve has been created by A3DGetCurveAsAnalytic.
A3DStatus A3DCrvGetInterval | ( | const A3DCrvBase * | pCrv, |
A3DIntervalData * | pInterval | ||
) |
Function to get a curve parametric interval.
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
.
A3DStatus A3DSrfGetDomain | ( | const A3DSurfBase * | pSrf, |
A3DDomainData * | pDomain | ||
) |
Function to get a surface parametric domain.
A3DStatus A3DSurfEvaluate | ( | const A3DSurfBase * | pSurf, |
const A3DVector2dData * | pUVParameter, | ||
A3DUns32 | uiNbDerivatives, | ||
A3DVector3dData * | pPointAndDerivatives | ||
) |
Function to evaluate a point and the derivatives on a surface.
_ 2D array representation: v derivs | 0 | 1 | ----------------------- 0 | Point | V | u derivs ----------------------- 1 | U | |
_ 1D array representation: 0 | 1 | 2 | 3 | -------------------------------- Point | V | U | |
_ 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 | | |
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.
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.
[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. |
[out] | peAnalyticType | The type of analytic curve. |
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.
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 UV curves from Edges if exist, otherwise use 3D Curves. 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.
[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. |
[out] | peAnalyticType | The type of analytic curve. |
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.
[in] | pSrf | The input surface |
[in] | dTol | Tolerance |
[out] | pAnalyticSurface | The new analytic surface. |
[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.
[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. |
[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.
[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. |
A3DStatus A3DCrvProjectPoint | ( | const A3DCrvBase * | pCrv, |
const A3DVector3dData * | pPointToProject, | ||
A3DUns32 * | puiNbSolutions, | ||
A3DDouble ** | ppdSolutionParameter, | ||
A3DDouble ** | ppdSolutionDistance | ||
) |
This function projects a point on a curve The number of returned solutions is given by puiNbSolutions and for each one, ppdSolutionParameter and ppdSolutionDistance arrays give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve).
[in] | pCrv | The input curve. |
[in] | pPointToProject | The input point to project on curve. |
[out] | puiNbSolutions | The number of returned solutions. |
[out] | ppdSolutionParameter | Array of parameters on the curve. |
[out] | ppdSolutionDistance | Array of spatial distances between pPointToProject and the solution (on the curve). |
A3DStatus A3DSurfProjectPoint | ( | const A3DSurfBase * | pSurf, |
const A3DVector3dData * | pPointToProject, | ||
A3DUns32 * | puiNbSolutions, | ||
A3DVector2dData ** | ppdSolutionParameters, | ||
A3DDouble ** | ppdSolutionDistance | ||
) |
This function projects a point on a surface The number of returned solutions is given by puiNbSolutions and for each one, ppdSolutionParameters and ppdSolutionDistance arrays give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface).
[in] | pSurf | The input surface. |
[in] | pPointToProject | The input point to project on surface. |
[out] | puiNbSolutions | The number of returned solutions. |
[out] | ppdSolutionParameters | Array of 2D points in the surface parametric domain. |
[out] | ppdSolutionDistance | Array of spatial distances between pPointToProject and the solution (on the surface). |
A3DStatus A3DCrvLocalProjectPoint | ( | const A3DCrvBase * | pCrv, |
const A3DVector3dData * | pPointToProject, | ||
A3DDouble | dGuessParameter, | ||
A3DBool * | pbFindSolution, | ||
A3DDouble * | pdSolutionParameter, | ||
A3DDouble * | pdSolutionDistance | ||
) |
This function projects a point on a curve with a guess parameter pdSolutionParameter and pdSolutionDistance give the parameter on the curve and the spatial distance between pPointToProject and the solution (on the curve).
[in] | pCrv | The input curve. |
[in] | pPointToProject | The input point to project on curve. |
[in] | dGuessParameter | The input guess parameters. |
[out] | pbFindSolution | Result status. |
[out] | pdSolutionParameter | parameter solution. |
[out] | pdSolutionDistance | spatial distance (optional). |
A3DStatus A3DSurfLocalProjectPoint | ( | const A3DSurfBase * | pSurf, |
const A3DVector3dData * | pPointToProject, | ||
const A3DVector2dData * | pGuessPoint, | ||
A3DBool * | pbFindSolution, | ||
A3DVector2dData * | pSolutionParameter, | ||
A3DDouble * | pdSolutionDistance | ||
) |
This function projects a point on a surface with a guess parameter pSolutionParameter and pdSolutionDistance give the 2D point in surface parametric domain and the spatial distance between pPointToProject and the solution (on the surface).
pGuessPoint must be contained by the domain of the surface.
[in] | pSurf | The input surface. |
[in] | pPointToProject | The input point to project on surface. |
[in] | pGuessPoint | The input guess parameters. |
[out] | pbFindSolution | Result status. |
[out] | pSolutionParameter | parameter solution. |
[out] | pdSolutionDistance | spatial distance (optional). |
A3DStatus A3DSewBrep | ( | A3DRiBrepModel *** | p, |
A3DUns32 | uNbBrepModels, | ||
double | dTolerance, | ||
A3DRiBrepModel *** | pBrepModelsOut, | ||
A3DUns32 *const | uNbBrepOut | ||
) |
Function to sew multiple B-rep data structures.
[in] | p | An array of A3DRiBrepModel* to sew. |
[in] | uNbBrepModels | The number of A3DRiBrepModel* in p. |
[in] | dTolerance | The maximum tolerance for the sewing (in file unit). |
[out] | pBrepModelsOut | The output array of sewed A3DRiBrepModel*. |
[out] | uNbBrepOut | The number of A3DRiBrepModel* in pBrepModelsOut. |
A3DStatus A3DAsmModelFileSew | ( | A3DAsmModelFile ** | ppModelFile, |
A3DDouble | dToleranceInMM | ||
) |
Function to sew one model file.
[in] | ppModelFile | The model file to sew. |
[in] | dToleranceInMM | The maximum tolerance for the sewing (in mm). |
A3DStatus A3DFaceUVPointInsideManagerCreate | ( | A3DFaceUVPointInsideManagerData const * | pData, |
A3DFaceUVPointInsideManager ** | pManager | ||
) |
Creates an A3DFaceUVPointInsideManager from an A3DFaceUVPointInsideManagerData structure.
A3DStatus A3DFaceUVPointInsideManagerDelete | ( | A3DFaceUVPointInsideManager * | pManager | ) |
Deletes an A3DFaceUVPointInsideManager.
A3DStatus A3DFaceUVPointInside | ( | A3DFaceUVPointInsideManager * | pManager, |
A3DTopoFace const * | psFace, | ||
A3DVector2dData const * | pUVParameter, | ||
A3DDouble | dTol3D, | ||
A3DUns8 * | puiUVInFace | ||
) |
This function projects a UV point on a face, and return if it's inside or not. puiUVInFace gives the result: 0 if the point is outside the face, and 1 if it's inside. dTol3D is used to check if a UV point is on edges. If it's set to zero and the point is not inside the face but potentially on its edges, the tolerance check will not happen.
[in] | pManager | The face manager. |
[in] | psFace | The input face. |
[in] | pUVParameter | The input UV Point. |
[in] | dTol3D | Tolerance to check if the UV point is on the edge. |
[out] | puiUVInFace | Status of the UV point on the face. 0 is outside, 1 is inside. |
A3DStatus A3DProjectPointCloud | ( | unsigned int | uRiBrepModelSize, |
A3DRiBrepModel ** | pRiBrepModel, | ||
A3DUns32 | uPointCloudSize, | ||
A3DVector3dData * | pPointCloudToProject, | ||
A3DBool | bUseExactComputation, | ||
A3DUns32 | uNbThreads, | ||
A3DProjectedPointCloudData ** | ppProjectedPointCloud | ||
) |
Function to project Point Cloud on BrepModel.
[in] | uRiBrepModelSize | Number of BrepModels in pRiBrepModel. |
[in] | pRiBrepModel | Array of Brep Models. |
[in] | uPointCloudSize | Number of points in pPointCloudToProject. |
[in] | pPointCloudToProject | Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel. |
[in] | bUseExactComputation | Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used. |
[in] | uNbThreads | Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores. |
[out] | ppProjectedPointCloud | Point cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback. |
A3DStatus A3DProjectPointCloudManagerCreateFromRI | ( | A3DProjectPointCloudManagerDataFromRI * | pData, |
A3DProjectPointCloudManager ** | pManager | ||
) |
Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement.
A3DStatus A3DProjectPointCloudManagerCreateFromModelFile | ( | A3DAsmModelFile * | pModelFile, |
A3DProjectPointCloudManager ** | pManager | ||
) |
Create a Point Cloud Manager from a A3DAsmModelFile.
A3DStatus A3DProjectPointCloudManagerDelete | ( | A3DProjectPointCloudManager * | pManager | ) |
Deletes an A3DProjectPointCloudManager.
A3DStatus A3DProjectPointCloud2 | ( | A3DProjectPointCloudManager * | pManager, |
A3DUns32 | uPointCloudSize, | ||
A3DVector3dData * | pPointCloudToProject, | ||
A3DBool | bUseExactComputation, | ||
A3DUns32 | uNbThreads, | ||
A3DDouble | dInsidePointEdgeTolerance, | ||
A3DProjectedPointCloudData ** | ppProjectedPointCloud | ||
) |
Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager.
[in] | pManager | A3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function. |
[in] | uPointCloudSize | Number of points in pPointCloudToProject. |
[in] | pPointCloudToProject | Point cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel. |
[in] | bUseExactComputation | Flag to use exact topology. When this flag is false, the algorithm drops the point cloud on the faceted geometry, otherwise, the exact topology is used. |
[in] | uNbThreads | Number of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores. |
[in] | dInsidePointEdgeTolerance | Tolerance used to check if projection point which is inside a face is on edge. |
[out] | ppProjectedPointCloud | Point cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback. |
A3DStatus A3DComputePlanarSectionOnRepresentationItem | ( | A3DRiBrepModel const * | pRiBrepModel, |
A3DPlanarSectionData const * | psSectionParametersData, | ||
A3DRiSet ** | ppRISectionResults | ||
) |
Function to compute plane section on BrepModel.
[in] | pRiBrepModel | B-rep models. |
[in] | psSectionParametersData | Parameters of the planar section. |
[out] | ppRISectionResults | Array of section curves. ppRISectionResults is automatically allocated by A3DComputePlanarSectionOnRepresentationItem. It has to be freed with a call to A3DComputePlanarSectionOnRepresentationItem(NULL, psSectionParametersData, ppRISectionCurvesis). |
A3DStatus A3DComputePlanarSectionOnModelFile | ( | A3DAsmModelFile const * | pModelFile, |
A3DPlanarSectionData const * | psSectionParametersData, | ||
A3DUns32 * | pNumberOfSections, | ||
A3DRiSet *** | pppRISectionElements | ||
) |
Function to compute plane section on ModelFile.
[in] | pModelFile | Model file. |
[in] | psSectionParametersData | Parameters of the planar section. |
[out] | pNumberOfSections | Number of A3DRiSets. |
[out] | pppRISectionElements | Array of A3DRiSets. ppRISectionElements is automatically allocated by A3DComputePlanarSectionOnModelFile. It has to be freed with a call to A3DComputePlanarSectionOnModelFile(NULL, psSectionParametersData, pNumberOfSections, ppRISectionElements). |
A3DStatus A3DCurveLength | ( | const A3DCrvBase * | pCrv, |
A3DIntervalData * | pOptInterval, | ||
A3DDouble * | pdLength | ||
) |
Function to compute the length of a curve (optionally restricted to an interval)
[in] | pCrv | The curve: A3DCrvBase. |
[in] | pOptInterval | The interval of restriction of the curve (if NULL, the natural interval of the curve will be used). |
[out] | pdLength | The length of the curve. |
A3DStatus A3DCompareFaces | ( | A3DCompareInputData * | pInput, |
A3DCompareOutputData * | pOutput | ||
) |
Function to compare the faces of two groups of A3DRiBrepModel. This function will detect if every points in a face of the first group (referenced as group of the old faces) can be projected to one of the faces of the other group (referenced as group of the new faces) within the given tolerance. This is useful for exemple to understand what has changed in a part between two versions: a hole has been added, an edge has been blended.
[in] | pInput | pointer to a A3DCompareInputData that contains input data. |
[out] | pOutput | pointer to a A3DCompareOutputData that contains returned data. It has to be freed by calling again A3DCompareFaces with NULL as input structure pointer. |
A3DStatus A3DCompareFacesInBrepModels | ( | A3DAsmModelFile * | pOldModelFile, |
A3DAsmModelFile * | pNewModelFile, | ||
A3DDouble | dToleranceInMM, | ||
A3DCompareOutputData * | pOutput | ||
) |
Function to compare the faces of two A3DAsmModelFile. This is the same as A3DCompareFaces except that A3DRiBrepModel will be found by traversing the two A3DAsmModelFile.
[in] | pOldModelFile | a A3DAsmModelFile containing the first group of A3DRiBrepModel. |
[in] | pNewModelFile | a A3DAsmModelFile containing the second group of A3DRiBrepModel. |
[in] | dToleranceInMM | maximum distance between two matching faces |
[out] | pOutput | pointer to a A3DCompareOutputData that contains returned data. It has to be freed by calling again A3DCompareFacesInBrepModels with NULL as input A3DAsmModelFile pointers. |