Skip to main content

M3dgeoInquire

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 geometry object setting or transformation matrix object setting.

Syntax

AIL_DOUBLE M3dgeoInquire(
AIL_ID GeometryOrMatrix3dgeoId, //in
AIL_INT64 InquireType, //in
void * UserVarPtr //out
)

Description

This function inquires about a specified setting of a 3D geometry object or transformation matrix object.

Note: Note that if the specified 3D geometry object was transformed (for example, using the 3D image processing module), this function returns the modified coordinates and dimensions. In this case, the coordinates and dimensions returned by M3dgeoInquire might not be the same initial coordinates and dimensions used to define the 3D geometry object.

Parameters

GeometryOrMatrix3dgeoId (in, AIL_ID)

Specifies the identifier of the 3D geometry object or transformation matrix object about which to inquire information. The object must have been previously allocated using M3dgeoAlloc with M_GEOMETRY or M_TRANSFORMATION_MATRIX.

InquireType (in, AIL_INT64)

Specifies the setting to inquire.

UserVarPtr *(out, void)

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

Parameter Associations

For inquiring about any 3D geometry object

For any 3D geometry object, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following:


3D geometry object ID

Specifies a 3D geometry object, allocated using M3dgeoAllocwith M_GEOMETRY.

M_DIMENSION

Inquires the dimensionality of the 3D geometry. The dimensionality specifies, for a point on the geometry, the number of coordinates you must have to determine all three coordinates. For example, for a 3D line (dimensionality of 1), if you have the X-coordinate of a point on the line, you can find the corresponding Y- and Z-coordinates. Similarly, for a plane (dimensionality of 2), if you have the X- and Y-coordinates for a point on the plane, you can find the corresponding Z-coordinate. Use M3dgeoEvalCurve to find missing coordinates for a 3D line; use M3dgeoEvalSurface to find missing coordinates for a 3D plane or sphere.

ValueDescription
0 <= Value <= 2Specifies the dimensionality of the 3D geometry.

M_GEOMETRY_TYPE

Inquires the 3D geometry type.

ValueDescription
M_BOXSpecifies a box.
M_CYLINDERSpecifies a cylinder.
M_LINESpecifies a line.
M_NOT_INITIALIZEDSpecifies that a geometry has not been defined for the 3D geometry object.
M_PLANESpecifies a plane.
M_POINTSpecifies a point.
M_SPHERESpecifies a sphere.

For inquiring about a specific type of 3D geometry object

For a 3D geometry object of a specific type, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following. > Note: Note that for any 3D geometry object, you can use any inquire type available for its respective geometry type, regardless of the creation mode used to define the geometry.


3D box geometry object ID

Specifies a 3D box geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a box. > Note: Note that a box's corners are assigned the following indices upon initially defining the box, based on the corner's position with respect to the axes of the working coordinate system. The index of a box corner does not change based on the orientation of the box.[Image: 3dgeo_box.png]

?

ValueDescription
ValueSpecifies the X-coordinate of the specified box corner, expressed in the working coordinate system.

?

ValueDescription
ValueSpecifies the Y-coordinate of the specified box corner, expressed in the working coordinate system.

?

ValueDescription
ValueSpecifies the Z-coordinate of the specified box corner, expressed in the working coordinate system.

?

ValueDescription
ValueSpecifies the X-coordinates of the corners of the specified box face, expressed in the working coordinate system.

?

ValueDescription
ValueSpecifies the Y-coordinates of the corners of the specified box face, expressed in the working coordinate system.

?

ValueDescription
ValueSpecifies the Z-coordinates of the corners of the specified box face, expressed in the working coordinate system.

M_AXIS_ALIGNED

Inquires whether the box is axis-aligned with the working coordinate system. Note that this inquire type returns the opposite of the M_ROTATED inquire type, except when an axis-aligned box is rotated by 180 degrees; in this case, M_AXIS_ALIGNED and M_ROTATED both return M_TRUE.

ValueDescription
M_FALSESpecifies that the box is not axis-aligned; a rotation (other than a 180 degree rotation) has been applied.
M_TRUESpecifies that the box is axis-aligned; no rotation (or a 180 degree rotation) has been applied.

M_CENTER_X

Inquires the X-coordinate of the box's center point.

ValueDescription
ValueSpecifies the X-coordinate of the box's center point, expressed in the working coordinate system.

M_CENTER_Y

Inquires the Y-coordinate of the box's center point.

ValueDescription
ValueSpecifies the Y-coordinate of the box's center point, expressed in the working coordinate system.

M_CENTER_Z

Inquires the Z-coordinate of the box's center point.

ValueDescription
ValueSpecifies the Z-coordinate of the box's center point, expressed in the working coordinate system.

M_CORNER_X_ALL

Inquires the X-coordinate of each of the box's 8 corners, in their index order.

ValueDescription
ValueSpecifies the X-component the box's corner, expressed in the working coordinate system.

M_CORNER_Y_ALL

Inquires the Y-coordinate of each of the box's 8 corners, in their index order.

ValueDescription
ValueSpecifies the Y-component the box's corner, expressed in the working coordinate system.

M_CORNER_Z_ALL

Inquires the Z-coordinate of each of the box's 8 corners, in their index order.

ValueDescription
ValueSpecifies the Z-component the box's corner, expressed in the working coordinate system.

M_FACE_n_CORNERS_X

Inquires the X-coordinates of each corner of box face n, in their index order, where n is the box face index.

ValueDescription
ValueSpecifies the X-coordinates of the corners of the box face assigned with index n, expressed in the working coordinate system.

M_FACE_n_CORNERS_Y

Inquires the Y-coordinates of each corner of box face n, in their index order, where n is the box face index.

ValueDescription
ValueSpecifies the Y-coordinates of the corners of the box face assigned with index n, expressed in the working coordinate system.

M_FACE_n_CORNERS_Z

Inquires the Z-coordinates of each corner of box face n, in their index order, where n is the box face index.

ValueDescription
ValueSpecifies the Z-coordinates of the corners of the box face assigned with index n, expressed in the working coordinate system.

M_ROTATED

Inquires whether the box has been rotated. This inquire type returns true when the box's rotation matrix is not the identity matrix. This can occur even if you did not use, for example, M3dimRotate or M3dimMatrixTransform to explicitly rotate the box. If you copied the box from a statistics 3D image processing result buffer (after calculating a semi-oriented box) or a 3D model finder result buffer, it can have a rotation matrix other than the identity matrix. Note that this inquire type returns the opposite of the M_AXIS_ALIGNED inquire type, except when an axis-aligned box is rotated by 180 degrees; in this case, M_AXIS_ALIGNED and M_ROTATED both return M_TRUE.

ValueDescription
M_FALSESpecifies that the box is not rotated; its rotation matrix is the identity matrix.
M_TRUESpecifies that the box is rotated; its rotation matrix is not the identity matrix.

M_SIZE_X

Inquires the box's length along the X-axis, ignoring the box's rotation. The length is returned as if the box is axis-aligned.

ValueDescription
Value >= 0.0Specifies the length of the unrotated box, in world units, along the X-axis of the working coordinate system.

M_SIZE_Y

Inquires the box's length along the Y-axis, ignoring the box's rotation. The length is returned as if the box is axis-aligned.

ValueDescription
Value >= 0.0Specifies the length of the unrotated box, in world units, along the Y-axis of the working coordinate system.

M_SIZE_Z

Inquires the box's length along the Z-axis, ignoring the box's rotation. The length is returned as if the box is axis-aligned.

ValueDescription
Value >= 0.0Specifies the length of the unrotated box, in world units, along the Z-axis of the working coordinate system.

M_UNROTATED_MAX_X

Inquires the box's maximum X-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's maximum X-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

M_UNROTATED_MAX_Y

Inquires the box's maximum Y-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's maximum Y-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

M_UNROTATED_MAX_Z

Inquires the box's maximum Z-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's maximum Z-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

M_UNROTATED_MIN_X

Inquires the box's minimum X-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's minimum X-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

M_UNROTATED_MIN_Y

Inquires the box's minimum Y-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's minimum Y-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

M_UNROTATED_MIN_Z

Inquires the box's minimum Z-coordinate, ignoring the box's rotation. The coordinate is returned as if the box is axis-aligned.

ValueDescription
ValueSpecifies the box's minimum Z-coordinate, ignoring the box's rotation, expressed in the working coordinate system.

3D cylinder geometry object ID

Specifies a 3D cylinder geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a cylinder.[Image: 3dgeo_cylinder.png]

M_AXIS_X

Inquires the X-component of the cylinder's central axis unit vector. This vector does not reflect the cylinder's length, regardless of whether a vector was used to define the cylinder's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the X-component of the cylinder's central axis unit vector, expressed in the working coordinate system.

M_AXIS_Y

Inquires the Y-component of the cylinder's central axis unit vector. This vector does not reflect the cylinder's length, regardless of whether a vector was used to define the cylinder's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Y-component of the cylinder's central axis unit vector, expressed in the working coordinate system.

M_AXIS_Z

Inquires the Z-component of the cylinder's central axis unit vector. This vector does not reflect the cylinder's length, regardless of whether a vector was used to define the cylinder's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Z-component of the cylinder's central axis unit vector, expressed in the working coordinate system.

M_BASES

Inquires whether the cylinder has bases.

ValueDescription
M_WITH_BASESSpecifies that the cylinder has bases.
M_WITHOUT_BASESSpecifies that the cylinder does not have bases.

M_CENTER_X

Inquires the X-coordinate of the center point on the cylinder's central axis. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the X-coordinate of the center point on the cylinder's central axis, expressed in the working coordinate system.

M_CENTER_Y

Inquires the Y-coordinate of the center point on the cylinder's central axis. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Y-coordinate of the center point on the cylinder's central axis, expressed in the working coordinate system.

M_CENTER_Z

Inquires the Z-coordinate of the center point on the cylinder's central axis. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Z-coordinate of the center point on the cylinder's central axis, expressed in the working coordinate system.

M_END_POINT_X

Inquires the X-coordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the X-coordinate of the cylinder's end point, expressed in the working coordinate system.

M_END_POINT_Y

Inquires the Y-coordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Y-coordinate of the cylinder's end point, expressed in the working coordinate system.

M_END_POINT_Z

Inquires the Z-coordinate of the cylinder's end point, positioned at the center of the cylinder's second circular base. This inquire type is only available if the cylinder's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Z-coordinate of the cylinder's end point, expressed in the working coordinate system.

M_LENGTH

Inquires the cylinder's length.

ValueDescription
M_INFINITESpecifies that the cylinder is infinite.
Value >= 0.0Specifies the cylinder's length in world units.

M_RADIUS

Inquires the cylinder's radius.

ValueDescription
Value >= 0.0Specifies the cylinder's radius in world units.

M_START_POINT_X

Inquires the X-coordinate of the cylinder's start point on the cylinder's central axis. When the cylinder's length is infinite, this returns the X-coordinate of the first point used to define the cylinder.

ValueDescription
ValueSpecifies the X-coordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system.

M_START_POINT_Y

Inquires the Y-coordinate of the cylinder's start point on the cylinder's central axis. When the cylinder's length is infinite, this returns the Y-coordinate of the first point used to define the cylinder.

ValueDescription
ValueSpecifies the Y-coordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system.

M_START_POINT_Z

Inquires the Z-coordinate of the cylinder's start point on the cylinder's central axis. When the cylinder's length is infinite, this returns the Z-coordinate of the first point used to define the cylinder.

ValueDescription
ValueSpecifies the Z-coordinate of the first point on the central axis used to define the cylinder, expressed in the working coordinate system.

3D line geometry object ID

Specifies a 3D line geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a line.

M_AXIS_X

Inquires the X-component of the line's direction unit vector. This vector does not reflect the line's length, regardless of whether a vector was used to define the line's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the X-component of the line's direction unit vector, expressed in the working coordinate system.

M_AXIS_Y

Inquires the Y-component of the line's direction unit vector. This vector does not reflect the line's length, regardless of whether a vector was used to define the line's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Y-component of the line's direction unit vector, expressed in the working coordinate system.

M_AXIS_Z

Inquires the Z-component of the line's direction unit vector. This vector does not reflect the line's length, regardless of whether a vector was used to define the line's length.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Z-component of the line's direction unit vector, expressed in the working coordinate system.

M_CENTER_X

Inquires the X-coordinate of the line's center point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the X-coordinate of the center point on the line, expressed in the working coordinate system.

M_CENTER_Y

Inquires the Y-coordinate of the line's center point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Y-coordinate of the center point on the line, expressed in the working coordinate system.

M_CENTER_Z

Inquires the Z-coordinate of the line's center point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Z-coordinate of the center point on the line, expressed in the working coordinate system.

M_END_POINT_X

Inquires the X-coordinate of the line's end point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the X-coordinate of the line's end point, expressed in the working coordinate system.

M_END_POINT_Y

Inquires the Y-coordinate of the line's end point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Y-coordinate of the line's end point, expressed in the working coordinate system.

M_END_POINT_Z

Inquires the Z-coordinate of the line's end point. This inquire type is only available if the line's length is not M_INFINITE.

ValueDescription
ValueSpecifies the Z-coordinate of the line's end point, expressed in the working coordinate system.

M_LENGTH

Inquires the line's length.

ValueDescription
M_INFINITESpecifies that the line is infinite.
Value >= 0.0Specifies the line's length in world units.

M_START_POINT_X

Inquires the X-coordinate of the line's start point. When the line's length is infinite, this returns the X-coordinate of the first point used to define the line.

ValueDescription
ValueSpecifies the X-coordinate of the first point used to define the line, expressed in the working coordinate system.

M_START_POINT_Y

Inquires the Y-coordinate of the line's start point. When the line's length is infinite, this returns the Y-coordinate of the first point used to define the line.

ValueDescription
ValueSpecifies the Y-coordinate of the first point used to define the line, expressed in the working coordinate system.

M_START_POINT_Z

Inquires the Z-coordinate of the line's start point. When the line's length is infinite, this returns the Z-coordinate of the first point used to define the line.

ValueDescription
ValueSpecifies the Z-coordinate of the first point used to define the line, expressed in the working coordinate system.

3D plane geometry object ID

Specifies a 3D plane geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a plane.

M_CLOSEST_TO_ORIGIN_X

Inquires the X-coordinate of the point on the plane closest to the origin of the working coordinate system.

ValueDescription
ValueSpecifies the X-coordinate of the point on the plane closest to the origin of the working coordinate system.

M_CLOSEST_TO_ORIGIN_Y

Inquires the Y-coordinate of the point on the plane closest to the origin of the working coordinate system.

ValueDescription
ValueSpecifies the Y-coordinate of the point on the plane closest to the origin of the working coordinate system.

M_CLOSEST_TO_ORIGIN_Z

Inquires the Z-coordinate of the point on the plane closest to the origin of the working coordinate system.

ValueDescription
ValueSpecifies the Z-coordinate of the point on the plane closest to the origin of the working coordinate system.

M_COEFFICIENT_A

Inquires the coefficient A of the plane equation, Ax + By + Cz + D = 0.

ValueDescription
-1.0 >= Value >= 1.0Specifies the coefficient A of the plane equation.

M_COEFFICIENT_B

Inquires the coefficient B of the plane equation, Ax + By + Cz + D = 0.

ValueDescription
-1.0 >= Value >= 1.0Specifies the coefficient B of the plane equation.

M_COEFFICIENT_C

Inquires the coefficient C of the plane equation, Ax + By + Cz + D = 0.

ValueDescription
-1.0 >= Value >= 1.0Specifies the coefficient C of the plane equation.

M_COEFFICIENT_D

Inquires the coefficient D of the plane equation, Ax + By + Cz + D = 0.

ValueDescription
ValueSpecifies the coefficient D of the plane equation.

M_NORMAL_X

Inquires the X-component of the plane's normal unit vector.

ValueDescription
-1.0 >= Value >= 1.0Specifies the X-component of the plane's normal unit vector, expressed in the working coordinate system.

M_NORMAL_Y

Inquires the Y-component of the plane's normal unit vector.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Y-component of the plane's normal unit vector, expressed in the working coordinate system.

M_NORMAL_Z

Inquires the Z-component of the plane's normal unit vector.

ValueDescription
-1.0 >= Value >= 1.0Specifies the Z-component of the plane's normal unit vector, expressed in the working coordinate system.

3D point geometry object ID

Specifies a 3D point geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a point.

M_POSITION_X

Inquires the X-coordinate of the point.

ValueDescription
ValueSpecifies the X-coordinate of the point, expressed in the working coordinate system.

M_POSITION_Y

Inquires the Y-coordinate of the point.

ValueDescription
ValueSpecifies the Y-coordinate of the point, expressed in the working coordinate system.

M_POSITION_Z

Inquires the Z-coordinate of the point.

ValueDescription
ValueSpecifies the Z-coordinate of the point, expressed in the working coordinate system.

3D sphere geometry object ID

Specifies a 3D sphere geometry object, allocated using M3dgeoAllocwith M_GEOMETRY and successfully defined as a sphere.

M_CENTER_X

Inquires the X-coordinate of the sphere's center point.

ValueDescription
ValueSpecifies the X-coordinate of the sphere's center point, expressed in the working coordinate system.

M_CENTER_Y

Inquires the Y-coordinate of the sphere's center point.

ValueDescription
ValueSpecifies the Y-coordinate of the sphere's center point, expressed in the working coordinate system.

M_CENTER_Z

Inquires the Z-coordinate of the sphere's center point.

ValueDescription
ValueSpecifies the Z-coordinate of the sphere's center point, expressed in the working coordinate system.

M_RADIUS

Inquires the sphere's radius.

ValueDescription
Value >= 0.0Specifies the sphere's radius in world units.

For inquiring about any transformation matrix object

For any transformation matrix object, the GeometryOrMatrix3dgeoId and InquireType parameters can be set to one of the following:


Transformation matrix object ID

Specifies a transformation matrix object, allocated using M3dgeoAllocwith M_TRANSFORMATION_MATRIX.

M_AFFINE

Inquires whether the transformation matrix object is an affine transformation matrix. An affine transformation matrix has translation and/or rotation and/or scale transformations. The scale can be uniform or non-uniform.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not an affine transformation matrix.
M_TRUESpecifies that the transformation matrix object is an affine transformation matrix.

M_AXIS_ALIGNED

Inquires whether the transformation matrix object is an axis-aligned transformation matrix. An axis-aligned transformation matrix has translation and/or scale transformations.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not an axis-aligned transformation matrix.
M_TRUESpecifies that the transformation matrix object is an axis-aligned transformation matrix.

M_IDENTITY

Inquires whether the transformation matrix object is an identity transformation matrix.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not an identity matrix.
M_TRUESpecifies that the transformation matrix object is an identity matrix.

M_MIRROR

Inquires whether the transformation matrix object preserves the handedness of the coordinate system. If true, applying the matrix will flip the handedness of the coordinate system.

ValueDescription
M_FALSESpecifies that applying the transformation matrix object will flip the handedness of the coordinate system.
M_TRUESpecifies that applying the transformation matrix object preserves the handedness of the coordinate system.

M_RIGID

Inquires whether the transformation matrix object is a rigid transformation matrix. A rigid transformation matrix has translation and/or rotation transformations.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a rigid transformation matrix.
M_TRUESpecifies that the transformation matrix object is a rigid transformation matrix.

M_ROTATION

Inquires whether the transformation matrix object is a rotation transformation matrix.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a rotation transformation matrix.
M_TRUESpecifies that the transformation matrix object is a rotation transformation matrix.

M_SCALE

Inquires whether the transformation matrix object is a scale transformation matrix. The scale can be uniform or non-uniform.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a scale transformation matrix.
M_TRUESpecifies that the transformation matrix object is a scale transformation matrix.

M_SCALE_UNIFORM

Inquires whether the transformation matrix object is a uniform scale transformation matrix.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a uniform scale transformation matrix.
M_TRUESpecifies that the transformation matrix object is a uniform scale transformation matrix.

M_SIMILARITY

Inquires whether the transformation matrix object is a similarity transformation matrix. A similarity transformation matrix has translation and/or rotation and/or uniform scale transformations.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a similarity transformation matrix.
M_TRUESpecifies that the transformation matrix object is a similarity transformation matrix.

M_TRANSFORMATION_TYPE

Inquires the transformation matrix object's transformation type. > Note: Note that this inquire type will return the strictest type that matches the transformation matrix object. For example, if the transformation matrix object is a rotation transformation matrix, it will return true for M_ROTATION, M_RIGID, M_SIMILARITY, and M_AFFINE, but M_TRANSFORMATION_TYPE will return M_ROTATION.[Image: 3dgeo_matrix_types.png]

ValueDescription
M_AFFINESpecifies an affine transformation matrix. This is returned if the transformation matrix object has a non-uniform scale transformation, and at least one other type of transformation, including translation or rotation.
M_AXIS_ALIGNEDSpecifies an axis-aligned transformation matrix. This is returned if the transformation matrix object has translation and scale transformations.
M_IDENTITYSpecifies an identity transformation matrix.
M_PROJECTIONSpecifies a projection transformation matrix.
M_RIGIDSpecifies a rigid transformation matrix. This is returned if the transformation matrix object has rotation and translation transformations.
M_ROTATIONSpecifies a rotation transformation matrix.
M_SCALESpecifies a scale transformation matrix. This is returned if the transformation matrix object has a non-uniform transformation.
M_SCALE_UNIFORMSpecifies a uniform scale transformation matrix.
M_SIMILARITYSpecifies a similarity transformation matrix. This is returned if the transformation matrix object has a uniform scale transformation, and at least one other type of transformation, including translation or rotation.
M_TRANSLATIONSpecifies a translation transformation matrix.

M_TRANSLATION

Inquires whether the transformation matrix object is a translation transformation matrix.

ValueDescription
M_FALSESpecifies that the transformation matrix object is not a translation transformation matrix.
M_TRUESpecifies that the transformation matrix object is a translation transformation matrix.

Combination Constants — For inquiring whether an inquire type is supported

Optional.

Usage: You can add one of the following values to the above-mentioned values to determine whether an inquire type is supported.

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_DOUBLE

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

Copyright © 2026 Zebra Technologies.