MIL_ID Result3dmapId, | //in |
MIL_INT LabelOrIndex, | //in |
MIL_INT64 Operation, | //in |
MIL_INT64 ControlFlag | //in |
This function allows you to clear or delete the laser line data from a 3D reconstruction result buffer without having to free and reallocate the buffer.
For M_POINT_CLOUD_CONTAINER result buffers, you can clear a point cloud of its points while keeping a record of the ongoing conveyor movement with M_CLEAR. You can also delete a point cloud, which deletes its points, deletes its record of ongoing conveyor movement, and frees its label, with M_DELETE. Note that when you clear or delete a point cloud, the relative coordinate system and some other control value information remain in the M_POINT_CLOUD_CONTAINER result buffer.
For M_DEPTH_CORRECTED_DATA result buffers, you can clear the entire result buffer of all laser data using M_CLEAR. The result buffer still retains some control value information.
During calibration of the 3D reconstruction setup, you can remove the last scan added to the M_LASER_CALIBRATION_DATA result buffer, for instance because you know the last scan was in error, using M_REMOVE_LAST_SCAN.
When in cumulative extraction mode (M3dmapControl() with M_EXTRACTION_CUMULATIVE), you use M3dmapClear() with M_CLEAR to clear content from a M_POINT_CLOUD_CONTAINER result buffer. You must clear the result buffer after writing in the depth map using M3dmapExtract() and before adding new data to the result buffer using M3dmapAddScan().
Unlike most other functions that modify a MIL object, you can call this function concurrently from multiple threads on the same M_POINT_CLOUD_CONTAINER result buffer (Result3dmapId) without using a M_MUTEX object. This is valid as long as the LabelOrIndex parameter of the concurrent calls is set to a different index, and is not set to M_ALL.
Specifies the identifier of the 3D reconstruction result buffer to clear. The 3D reconstruction result buffer must have been previously allocated using M3dmapAllocResult() with M_POINT_CLOUD_CONTAINER, M_LASER_CALIBRATION_DATA, or M_DEPTH_CORRECTED_DATA. Any other type of 3D reconstruction result buffer will cause an error.
Specifies the point cloud(s) in the specified 3D reconstruction result buffer. Only 3D reconstruction result buffers of type M_POINT_CLOUD_CONTAINER have point clouds that can be specified using this parameter. For all other types of 3D reconstruction result buffers, set this parameter to M_DEFAULT.
For specifying a point cloud
|
|||||||||||||||||||||||||||||||||||||||
Value |
Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_ALL. |
||||||||||||||||||||||||||||||||||||||
Specifies the index of a point cloud in the specified 3D reconstruction result buffer. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the index of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
Specifies the label for a point cloud in the specified 3D reconstruction result buffer. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the label of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
M_ALL |
Specifies all point clouds in the specified 3D reconstruction result buffer. |
Specifies the operation to perform. This parameter must be set to one of the following:
For specifying the operation to
perform
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_CLEAR |
Clears laser line data from a 3D reconstruction result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DELETE |
Deletes one (or all) point cloud(s) from the collection of point clouds in a M_POINT_CLOUD_CONTAINER result buffer. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_REMOVE_LAST_SCAN |
Discards the most recent scan added to the result buffer. (more details...) |
Header | Include mil.h. |
Library | Use mil.lib; mil3dmap.lib. |
DLL | Requires mil.dll; mil3dmap.dll. |