Project Point Cloud
Data Structures | |
struct | A3DProjectedPointCloudData |
A3DProjectedPointCloudData structure. More... | |
struct | A3DProjectPointCloudManagerDataFromRI |
A3DProjectPointCloudManagerDataFromRI sructure. 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] 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.
- 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_DATA if bUseExactComputation is set and if is missing A3DTopoBrepData A3D_TOPO_GEOMETRY_MISSING if 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_DATA if bUseExactComputation is set and if is missing A3DTopoBrepData A3D_TOPO_GEOMETRY_MISSING if 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_DATA if bUseExactComputation is set and if is missing A3DTopoBrepData A3D_TOPO_GEOMETRY_MISSING if 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
- Parameters
-
[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.
- 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