Skip to main content

M3dblobInquire

BoardSupported
Host SystemYes
V4L2Yes
Clarity UHDYes
Concord PoENo
GenTLYes
GevIQYes
GigE VisionYes
IndioNo
Iris GTXYes
Radient eV-CLYes
Rapixo CLYes
Rapixo CoFYes
Rapixo CXPYes
USB3 VisionYes

Inquire about a 3D blob analysis context or result buffer setting.

Syntax

AIL_INT64 M3dblobInquire(
AIL_ID ContextOrResult3dblobId, //in
AIL_INT64 LabelOrIndex, //in
AIL_INT64 InquireType, //in
void * UserVarPtr //out
)

Description

This function inquires about a specified setting of a 3D blob analysis context or result buffer.

To inquire about draw 3D blob analysis settings for M3dblobDraw3d, use M3dblobInquireDraw instead.

Parameters

ContextOrResult3dblobId (in, AIL_ID)

Specifies the identifier of the 3D blob analysis context or result buffer to inquire.

LabelOrIndex (in, AIL_INT64)

Specifies that you are inquiring about a global setting of the 3D blob analysis context or result buffer.

For specifying what to inquire

ValueDescription
M_DEFAULTSpecifies the default value.

If a 3D blob analysis context is specified, same as M_CONTEXT.

If a 3D blob analysis result buffer is specified, same as M_GENERAL. | | M_CONTEXT | Specifies to inquire a general setting of a 3D blob analysis context. | | M_GENERAL | Specifies to inquire a general setting of a 3D blob analysis result buffer. |

InquireType (in, AIL_INT64)

Specifies the type of setting about which to inquire.

UserVarPtr *(out, void)

Specifies the address in which to write the requested information. Since the M3dblobInquire function also returns the requested information, you can set this parameter to M_NULL.

Parameter Associations

For inquiring a 3D blob analysis context

For the following inquire types, the ContextOrResult3dblobId parameter must specify a 3D blob analysis context.


Calculate 3D blob analysis context ID

Specifies a calculate 3D blob analysis context. allocated using M3dblobAlloc with M_CALCULATE_CONTEXT, and used in M3dblobCalculate operations.

M_BOUNDING_BOX

Inquires whether to calculate the axis-aligned bounding box and its related Ferets (M_FERET_...).

ValueDescription
(see M_BOUNDING_BOX)

M_CENTROID

Inquires whether to calculate the centroid.

ValueDescription
(see M_CENTROID)

M_FERET_CONTACT_POINTS

Inquires whether to save the contact points at each Feret; the contact points are the coordinates of the Feret diameter's start and end points.

ValueDescription
(see M_FERET_CONTACT_POINTS)

M_FERET_GENERAL

Inquires whether to calculate the Feret along a custom direction specified with M_FERET_GENERAL + M_FERET_DIRECTION_....

ValueDescription
(see M_FERET_GENERAL)

M_FERET_MAX_DIAMETER

Inquires whether to calculate the longest Feret.

ValueDescription
(see M_FERET_MAX_DIAMETER)

M_FERET_MIN_DIAMETER

Inquires whether to calculate the shortest Feret.

ValueDescription
(see M_FERET_MIN_DIAMETER)

M_FERET_PRECISION

Inquires the accuracy when calculating the minimum and maximum Feret directions.

ValueDescription
(see M_FERET_PRECISION)

M_LINEARITY

Inquires whether to calculate the degree to which the blobs are linear.

ValueDescription
(see M_LINEARITY)

M_MOMENT_ORDER

Inquires the order up to which moments are calculated.

ValueDescription
(see M_MOMENT_ORDER)

M_MOMENTS

Inquires whether to calculate all moments up to M_MOMENT_ORDER.

ValueDescription
(see M_MOMENTS)

M_NEAREST_BLOB

Inquires whether to calculate features related to the nearest blob.

ValueDescription
(see M_NEAREST_BLOB)

M_PCA

Inquires whether to calculate the principal components, which are used in a principal component analysis (PCA) or when calculating M_PCA_BOX.

ValueDescription
(see M_PCA)

M_PCA_BOX

Inquires whether to calculate the PCA-aligned bounding box and its related Ferets.

ValueDescription
(see M_PCA_BOX)

M_PLANARITY

Inquires whether to calculate the degree to which the blobs are planar.

ValueDescription
(see M_PLANARITY)

M_SEMI_ORIENTED_BOX

Inquires whether to calculate the semi-oriented bounding box and its related Ferets.

ValueDescription
(see M_SEMI_ORIENTED_BOX)

Segmentation 3D blob analysis context ID

Specifies a segmentation 3D blob analysis context. allocated using M3dblobAlloc with M_SEGMENTATION_CONTEXT, and used in M3dblobSegment operations.

M_COLOR_DISTANCE_MAX

Inquires the maximum difference between the color of two points for them to be considered neighbors.

ValueDescription
(see M_COLOR_DISTANCE_MAX)

M_COLOR_DISTANCE_MODE

Inquires how to calculate the difference in color between two points.

ValueDescription
(see M_COLOR_DISTANCE_MODE)

M_CUSTOM_DISTANCE_COMPONENT

Inquires whether to use an extra component during the segmentation.

ValueDescription
(see M_CUSTOM_DISTANCE_COMPONENT)
Bit-encoded value that represents the componentSpecifies an encoded value that represents the component type, or, if a macro was used, the macro used and the component's index or Aurora Imaging Library identifier. You can use the M_COMPONENT_EXTRACT_VALUE macro to retrieve the component type, or, if a macro was used, the component's index or Aurora Imaging Library identifier. To retrieve the type of macro that was used to pass the component, use the M_COMPONENT_EXTRACT_FLAG macro, which returns M_COMPONENT_BY_ID_FLAG or M_COMPONENT_BY_INDEX_FLAG; 0 is returned if no macro was used. Note that the encoded value can be passed wherever the component can be expressed using its type or using a macro (for example, Component parameter of MbufInquireContainer).

M_CUSTOM_DISTANCE_MAX

Inquires the maximum difference within which two points are considered neighbors in the custom component.

ValueDescription
(see M_CUSTOM_DISTANCE_MAX)

M_GLOBAL_NORMAL_DISTANCE_MAX

Inquires the maximum angle between the normal of a point and a blob's average normal, for the point to be added to the blob.

ValueDescription
(see M_GLOBAL_NORMAL_DISTANCE_MAX)

M_GLOBAL_PLANE_DISTANCE_MAX

Inquires the maximum distance between a point and a blob's average plane, for the point to be added to the blob.

ValueDescription
(see M_GLOBAL_PLANE_DISTANCE_MAX)

M_MAX_DISTANCE

Inquires the maximum distance within which two points are considered neighbors.

ValueDescription
(see M_MAX_DISTANCE)

M_MAX_DISTANCE_MODE

Inquires whether to use, for the maximum distance between points, the value set with M_MAX_DISTANCE or an automatic threshold.

ValueDescription
(see M_MAX_DISTANCE_MODE)

M_MAXIMUM_NUMBER_NEIGHBORS

Inquires the maximum number of neighbors to consider at each point.

ValueDescription
(see M_MAXIMUM_NUMBER_NEIGHBORS)

M_NEIGHBOR_SEARCH_MODE

Inquires the search mode for finding the neighbors of a point.

ValueDescription
(see M_NEIGHBOR_SEARCH_MODE)

M_NEIGHBORHOOD_ORGANIZED_SIZE

Inquires the neighborhood size, when finding the neighbors of a point in an organized point cloud. This inquire type is supported only when using an organized point cloud and only if M_NEIGHBOR_SEARCH_MODE is set to M_ORGANIZED.

ValueDescription
(see M_NEIGHBORHOOD_ORGANIZED_SIZE)

M_NORMAL_DISTANCE_MAX

Inquires the maximum angle between normal vectors within which two points are considered neighbors. This inquire type is available when an M_COMPONENT_NORMALS_AIL component exists in the source container.

ValueDescription
(see M_NORMAL_DISTANCE_MAX)

M_NORMAL_DISTANCE_MAX_MODE

Inquires whether to use, for the maximum angle between normal vectors, the value set with M_NORMAL_DISTANCE_MAX or an automatic threshold.

ValueDescription
(see M_NORMAL_DISTANCE_MAX_MODE)

M_NORMAL_DISTANCE_MODE

Inquires how to calculate the angle difference between the normal vectors of two points.

ValueDescription
(see M_NORMAL_DISTANCE_MODE)

M_NUMBER_OF_POINTS_MAX

Inquires the maximum number of points for a blob to be considered valid.

ValueDescription
(see M_NUMBER_OF_POINTS_MAX)

M_NUMBER_OF_POINTS_MIN

Inquires the minimum number of points for a blob to be considered valid.

ValueDescription
(see M_NUMBER_OF_POINTS_MIN)

M_RELABEL_CONSECUTIVE

Inquires whether to force the labels to be consecutive from 1 to M_MAX_LABEL_VALUE.

ValueDescription
(see M_RELABEL_CONSECUTIVE)

M_SEGMENTATION_MODE

Inquires the type of segmentation to perform.

ValueDescription
(see M_SEGMENTATION_MODE)

M_TIMEOUT

Inquires the maximum amount of time for M3dblobSegment to complete the blob segmentation operation before generating a time-out error.

ValueDescription
(see M_TIMEOUT)

For inquiring a 3D blob analysis result buffer

For the following inquire type, the ContextOrResult3dblobId parameter must specify a 3D blob analysis result buffer.


Segmentation 3D blob analysis result ID, for general results

Specifies a segmentation 3D blob analysis result buffer, allocated using M3dblobAllocResult with M_SEGMENTATION_RESULT, and used to store M3dblobSegment results.

M_INDEX_MODE

Inquires how to interpret the LabelOrIndex parameter in all functions (including this function and, for example, M3dblobGetResult) that use the 3D blob analysis result buffer.

ValueDescription
M_INDEXSpecifies that the index will be passed directly to the function's LabelOrIndex parameter, without any macros.
M_LABELSpecifies that the label will be passed directly to the function's LabelOrIndex parameter, without any macros.
M_USE_MACROSpecifies that the values passed to the LabelOrIndex parameter of the function can be the macros M_BLOB_INDEX() or M_BLOB_LABEL().

Combination Constants — For specifying the maximum distance to the nearest blob

Optional.

Usage: You can add one of the following values to the above-mentioned values to get the maximum distance to the nearest blob.

M_MAX_DISTANCE

Inquires the maximum distance within which Aurora Imaging Library considers a nearby blob to be the closest.

Combination Constants — For specifying the Feret direction

Optional.

Usage: You can add one of the following values to the above-mentioned values to get the direction along which to calculate M_FERET_GENERAL.

M_FERET_DIRECTION_X

Inquires the X-component of the direction vector.

M_FERET_DIRECTION_Y

Inquires the Y-component of the direction vector.

M_FERET_DIRECTION_Z

Inquires the Z-component of the direction vector.

Combination Constants — For inquiring about the default value

Optional.

Usage: You can add one of the following values to the above-mentioned values to get information about the default value of an inquire type, regardless of the current value of the inquire type.

M_DEFAULT

Inquires the default value of the specified inquire type.

M_IS_SET_TO_DEFAULT

Inquires whether the specified inquire type is set to its default value.

ValueDescription
M_FALSESpecifies that the inquire type is not set to its default value.
M_TRUESpecifies that the inquire type is set to its default value.

Combination Constants — For inquiring whether an inquire type has a default value or whether it is supported

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine whether an inquire type has a default value or whether it is supported.

M_HAS_DEFAULT

Inquires whether the specified inquire type has a default value.

ValueDescription
M_FALSESpecifies that the inquire type does not have a default value.
M_TRUESpecifies that the inquire type has a default value.

M_SUPPORTED

Inquires whether the specified inquire type is supported.

ValueDescription
M_FALSESpecifies that the inquire type is not supported.
M_TRUESpecifies that the inquire type is supported.

Combination Constants — For specifying the data type

Optional.

Usage: You can add one of the following values to the above-mentioned values to cast the requested information to the required data type.

M_TYPE_AIL_DOUBLE

Casts the requested information to an AIL_DOUBLE.

M_TYPE_AIL_FLOAT

Casts the requested information to an AIL_FLOAT.

M_TYPE_AIL_INT

Casts the requested information to an AIL_INT.

M_TYPE_AIL_INT32

Casts the requested information to an AIL_INT32.

M_TYPE_AIL_INT64

Casts the requested information to an AIL_INT64.

Return Value

Type: AIL_INT64

The returned value is the requested information, cast to an AIL_INT64. If the requested information does not fit into an AIL_INT64, this function will return M_NULLor truncate the information.

In this case, you must set LabelOrIndex to M_CONTEXT or M_DEFAULT.

Copyright © 2026 Zebra Technologies.