Data Structures

struct  A3DProjectedPointCloudData
 A3DProjectedPointCloudData structure. More...
 
struct  A3DProjectPointCloudManagerDataFromRI
 A3DProjectPointCloudManagerDataFromRI sructure. More...
 
struct  A3DProjectPointCloudOptionsData
 A3DProjectPointCloudOptionsData structure. More...
 

Functions

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 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 A3DProjectPointCloud3 (A3DProjectPointCloudManager *pManager, A3DUns32 uPointCloudSize, A3DVector3dData const *pPointCloudToProject, A3DProjectPointCloudOptionsData const *pOptions, A3DProjectedPointCloudData **ppProjectedPointCloud)
 Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager. More...
 
A3DStatus A3DProjectPointCloudManagerCreateFromModelFile (A3DAsmModelFile *pModelFile, A3DProjectPointCloudManager **pManager)
 Create a Point Cloud Manager from a A3DAsmModelFile. More...
 
A3DStatus A3DProjectPointCloudManagerCreateFromRI (A3DProjectPointCloudManagerDataFromRI *pData, A3DProjectPointCloudManager **pManager)
 Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement. More...
 
A3DStatus A3DProjectPointCloudManagerDelete (A3DProjectPointCloudManager *pManager)
 Deletes an A3DProjectPointCloudManager. More...
 

Detailed Description

Version
6.1

ProjectPointCloud functions for model file.

See also
A3DProjectPointCloud

Function Documentation

◆ A3DProjectPointCloud()

A3DStatus A3DProjectPointCloud ( unsigned int  uRiBrepModelSize,
A3DRiBrepModel **  pRiBrepModel,
A3DUns32  uPointCloudSize,
A3DVector3dData pPointCloudToProject,
A3DBool  bUseExactComputation,
A3DUns32  uNbThreads,
A3DProjectedPointCloudData **  ppProjectedPointCloud 
)

Function to project Point Cloud on BrepModel.

Version
6.1
Parameters
[in]uRiBrepModelSizeNumber of BrepModels in pRiBrepModel.
[in]pRiBrepModelArray of Brep Models.
[in]uPointCloudSizeNumber of points in pPointCloudToProject.
[in]pPointCloudToProjectPoint cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel.
[in]bUseExactComputationFlag 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]uNbThreadsNumber of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores.
[out]ppProjectedPointCloudPoint cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback.
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_SUCCESS
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_TYPE
A3D_ERROR
A3D_BREPDATA_INCONSISTENT_DATAif bUseExactComputation is set and if is missing A3DTopoBrepData
A3D_TOPO_GEOMETRY_MISSINGif bUseExactComputation is set and if is missing UV curves
A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE

◆ A3DProjectPointCloudManagerCreateFromRI()

A3DStatus A3DProjectPointCloudManagerCreateFromRI ( A3DProjectPointCloudManagerDataFromRI pData,
A3DProjectPointCloudManager **  pManager 
)

Create a Point Cloud Manager from a set of A3DRiRepresentationItem with matrix placement.

Version
8.1
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_SUCCESS
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_TYPE
A3D_ERROR
A3D_BREPDATA_INCONSISTENT_DATAif bUseExactComputation is set and if is missing A3DTopoBrepData
A3D_TOPO_GEOMETRY_MISSINGif bUseExactComputation is set and if is missing UV curves

◆ A3DProjectPointCloudManagerCreateFromModelFile()

A3DStatus A3DProjectPointCloudManagerCreateFromModelFile ( A3DAsmModelFile pModelFile,
A3DProjectPointCloudManager **  pManager 
)

Create a Point Cloud Manager from a A3DAsmModelFile.

Version
8.1
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_SUCCESS
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_TYPE
A3D_ERROR
A3D_BREPDATA_INCONSISTENT_DATAif bUseExactComputation is set and if is missing A3DTopoBrepData
A3D_TOPO_GEOMETRY_MISSINGif bUseExactComputation is set and if is missing UV curves

◆ A3DProjectPointCloudManagerDelete()

A3DStatus A3DProjectPointCloudManagerDelete ( A3DProjectPointCloudManager pManager)

Deletes an A3DProjectPointCloudManager.

Version
8.1
Returns
A3D_SUCCESS in case of success or an error code
Return values
A3D_INVALID_ENTITY_TYPE
A3D_INVALID_DATA_STRUCT_NULL
A3D_SUCCESS

◆ A3DProjectPointCloud2()

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.

Version
8.1
Deprecated:
use A3DProjectPointCloud3
Parameters
[in]pManagerA3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function.
[in]uPointCloudSizeNumber of points in pPointCloudToProject.
[in]pPointCloudToProjectPoint cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel.
[in]bUseExactComputationFlag 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]uNbThreadsNumber of threads wanted. 0 means non multi-thread. Please avoid setting a number of threads larger than the number of CPU cores.
[in]dInsidePointEdgeToleranceTolerance used to check if projection point which is inside a face is on edge.
[out]ppProjectedPointCloudPoint cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback.
Returns
A3D_SUCCESS in case of success or an error code
Warning
If A3DProjectPointCloudManagerCreateFromRI is used to create pManager, and A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation is set to false, you can't set bUseExactComputation to true. In this case, an A3D_INVALID_DATA error is returned.
Return values
A3D_SUCCESS
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_TYPE
A3D_INVALID_DATA
A3D_ERROR

◆ A3DProjectPointCloud3()

A3DStatus A3DProjectPointCloud3 ( A3DProjectPointCloudManager pManager,
A3DUns32  uPointCloudSize,
A3DVector3dData const *  pPointCloudToProject,
A3DProjectPointCloudOptionsData const *  pOptions,
A3DProjectedPointCloudData **  ppProjectedPointCloud 
)

Function to project Point Cloud on BrepModel with a A3DProjectPointCloudManager.

Version
22.2
Parameters
[in]pManagerA3DProjectPointCloudManager created by A3DProjectPointCloudManagerCreateFromModelFile function.
[in]uPointCloudSizeNumber of points in pPointCloudToProject.
[in]pPointCloudToProjectPoint cloud to project. This point cloud must be in the same coordinate system as the BrepData structures stored in BrepModel.
[in]pOptionStructure containing option (must be set). see A3DProjectPointCloudOption
[out]ppProjectedPointCloudPoint cloud projected. ppProjectedPointCloud is automatically allocated by A3DProjectPointCloud. It must be freed with the custom free memory callback.
Returns
A3D_SUCCESS in case of success or an error code
Warning
If A3DProjectPointCloudManagerCreateFromRI is used to create pManager, and A3DProjectPointCloudManagerDataFromRI::m_bUseExactComputation is set to false, you can't set bUseExactComputation to true. In this case, an A3D_INVALID_DATA error is returned.
Return values
A3D_SUCCESS
A3D_INVALID_DATA_STRUCT_NULL
A3D_INVALID_DATA_STRUCT_SIZE
A3D_INVALID_ENTITY_TYPE
A3D_INVALID_DATA
A3D_ERROR