Click here to show toolbars of the Web Online Help System: show toolbars |
MIL_ID Result3dmapId, | //in |
MIL_INT LabelOrIndex, | //in |
MIL_INT64 Feature, | //in |
MIL_INT64 PointsToInclude, | //in |
MIL_INT64 Type, | //in |
MIL_INT ArraySize, | //in |
void *Coord1OrPackedArrayPtr, | //out |
void *Coord2ArrayPtr, | //out |
void *Coord3ArrayPtr, | //out |
MIL_INT *NeededSizePtr | //out |
This function allows you to retrieve the world coordinates and intensity of each of the points in one or more point clouds. You can return this information aggregated in a single array or in three arrays, one for each dimension.
If the specified arrays are bigger than or equal to the actual number of elements needed, the arrays are filled with the data and any remaining array indices are left empty. If the specified arrays are smaller than the actual number of elements needed, the arrays will not be modified at all, unless using M_PARTIAL_WRITE. When using M_PARTIAL_WRITE, the arrays are filled with point information until they are full; the remaining point information is ignored.
To determine the exact size of the array needed for a given set of parameter values, call this function twice, the first time to determine the required array size and the second time to fill the array. When calling for the first time, specify the same values for Result3dmapId, LabelOrIndex, Feature, PointsToInclude, and Type as you would for the second call to this function. In addition, set NeededSizePtr to an appropriate address, and set ArraySize and the array parameters to M_NULL. On the second call, specify the required array size to ArraySize, and specify arrays that are at least as large as the needed array size.
By default, this function also returns information about all points, including those set to M_INVALID_POINT. To filter out the invalid points, specify M_EXCLUDE_INVALID_POINTS.
If coordinates or intensities are not available for the specified point cloud(s), the function will return an error. You can use M3dmapGetResult() with M_HAS_FEATURE to determine whether a feature is available.
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 label or index, and is not set to M_ALL.
Specifies the identifier of the 3D reconstruction result buffer from which to retrieve the information about the points. The 3D reconstruction result buffer must have been previously allocated using M3dmapAllocResult() with M_POINT_CLOUD_CONTAINER.
Specifies the point cloud(s) in the specified 3D reconstruction result buffer.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Same as M_ALL. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the index of a point cloud in the specified 3D reconstruction result buffer. |
||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the index of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies the label of a point cloud in the specified 3D reconstruction result buffer. |
||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the label of an existing point cloud. |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to retrieve the coordinates and/or intensities of all the points in all point clouds in the specified 3D reconstruction result buffer. |
Specifies the feature to retrieve from the point cloud(s).
See the Parameter associations section for possible values that can be specified.
Specifies which points to include in the array(s).
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Same as M_INCLUDE_ALL_POINTS. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to exclude all points in the specified point cloud(s) that are set to M_INVALID_POINT. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to include all points in the point cloud(s). |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to include all valid points inside the extraction box. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to include all points in the point cloud(s), and to set points outside the extraction box to M_INVALID_POINT. |
You can add one or more of the following values to the above-mentioned values to specify additional point inclusion options.
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to include only those points generated during the last call to M3dmapAddScan(). |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to write to the output array(s), even if the array(s) are not big enough to hold all the elements. |
Specifies to cast the point cloud data into one or more arrays of the specified data type and depth.
Specify one of the following:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to cast the data into one or more arrays of 32-bit floating-point numbers. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to cast the data into one or more arrays of 64-bit floating-point numbers. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to cast the data into an array of 8-bit integers. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Specifies to cast the data into an array of 16-bit integers. |
Specifies the address of the array in which to store the retrieved data. This array can hold the X-coordinates or intensities of the specified point cloud, or a packed array of all the coordinates or all the coordinates plus the intensities of the specified point cloud.
When determining the required size of this array for subsequent calls to M3dmapGet(), set this value to M_NULL.
See the Parameter associations section for possible values that can be returned.
Specifies the address of the array in which to store the Y-coordinates.
When not using this parameter or when determining the required size of this array for subsequent calls to M3dmapGet(), set this value to M_NULL.
See the Parameter associations section for possible values that can be returned.
Specifies the address of the array in which to store the Z-coordinates.
When not using this parameter or when determining the required size of this array for subsequent calls to M3dmapGet(), set this value to M_NULL.
See the Parameter associations section for possible values that can be returned.
Specifies the address of the variable in which to write the number of array elements needed for this function, given the specified point cloud(s) and values for the PointsToInclude parameter. This is typically for determining the required size of the array(s) for subsequent calls to M3dmapGet().
Since this function also returns the number of elements, you can set this parameter to M_NULL.
The table below lists possible values for the Feature parameter and possible values returned to the Coord1OrPackedArrayPtr, Coord2ArrayPtr, and Coord3ArrayPtr parameters.
Set unused parameters to M_NULL.
For retrieving the features of the point cloud(s), the Feature parameter can be set to the following:
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Description | ||||||||||||||||||||||||||||||||||||||
Coord1OrPackedArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
Coord2ArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
Coord3ArrayPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Retrieves the intensity associated with each point in the specified point cloud(s). |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info: Data
type: array of type MIL_UINT16 |
array of type MIL_UINT8 (more
details...)
Returns the intensities of the points. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Retrieves the world coordinates of the points in the specified point cloud(s), saving the X-, Y-, and Z-coordinates in separate arrays. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info: Data
type: array of type MIL_DOUBLE |
array of type MIL_FLOAT (more
details...)
Returns the X-coordinates of the points. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info: Data
type: array of type MIL_DOUBLE |
array of type MIL_FLOAT (more
details...)
Returns the Y-coordinates of the points. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info: Data
type: array of type MIL_DOUBLE |
array of type MIL_FLOAT (more
details...)
Returns the Z-coordinates of the points. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Retrieves the world coordinates of the points in the specified point cloud(s), saving the X-, Y-, and Z-coordinates in a single array. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info:
Data type: array of type
MIL_DOUBLE | array of type
MIL_FLOAT (more
details...)
Returns all the coordinates, in a packed format. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Retrieves the world coordinates and intensity of the points in the specified point cloud(s), saving the X-, Y-, and Z-coordinates and intensity in a single array. |
||||||||||||||||||||||||||||||||||||||
![]() ![]() |
Data type info:
Data type: array of type
MIL_DOUBLE | array of type
MIL_FLOAT (more
details...)
Returns all the coordinates, plus the intensities, in a packed format. |
Header | Include mil.h. |
Library | Use mil.lib; mil3dmap.lib. |
DLL | Requires mil.dll; mil3dmap.dll. |