Skip to main content

M3dimMatrixTransform

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

Apply the specified transformation matrix to the 3D points of a specified point cloud or to a 3D geometry.

Syntax

void M3dimMatrixTransform(
AIL_ID SrcContainerBufOrGeometry3dgeoId, //in
AIL_ID DstContainerBufOrGeometry3dgeoId, //out
AIL_ID Matrix3dgeoId, //in
AIL_INT64 ControlFlag //in
)

Description

This function applies the specified transformation matrix to the 3D points of a specified point cloud or to a 3D geometry.

Note: Note that, when transforming a point cloud, this function affects the coordinates of the points and not their location in the container.

If an M_COMPONENT_NORMALS_AIL component exists in the source container, the component is recalculated then added to the destination container. All other source components are copied to the destination container. Any previously existing components in the destination container are removed.

Parameters

SrcContainerBufOrGeometry3dgeoId (in, AIL_ID)

Specifies the source point cloud container or 3D geometry object.

For specifying the source point cloud container or 3D geometry object

ValueDescription
M_XY_PLANESpecifies the XY (Z=0) plane.
Source 3D geometry object identifierSpecifies the identifier of the source 3D geometry object.

The 3D geometry object must have been previously allocated using M3dgeoAlloc with M_GEOMETRY, and must have been successfully defined.

Note: Note that sphere, box, and cylinder 3D geometry objects do not accept non-uniform scaling. | | Source point cloud container identifier | Specifies the identifier of the source point cloud container.

The container must be 3D-processable (that is, if you call MbufInquireContainer with M_3D_PROCESSABLE, the function returns M_PROCESSABLE). The container must have been previously allocated using MbufAllocContainer with M_PROC. |

DstContainerBufOrGeometry3dgeoId (out, AIL_ID)

Specifies the destination container or 3D geometry object.

For specifying the destination container or 3D geometry object

ValueDescription
Destination 3D geometry object identifierSpecifies the identifier of the destination 3D geometry object.

The 3D geometry object must have been previously allocated using M3dgeoAlloc with M_GEOMETRY. | | Destination container identifier | Specifies the identifier of the destination container.

The container must have been previously allocated using MbufAllocContainer with M_PROC, and must not be a child container. |

Matrix3dgeoId (in, AIL_ID)

Specifies the identifier of the transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc with M_TRANSFORMATION_MATRIX. The transformation matrix must be any valid affine transformation matrix, where the last row is (0,0,0,1). That is, if you call M3dgeoInquire with M_AFFINE, the function returns M_TRUE.

ControlFlag (in, AIL_INT64)

Reserved for future expansion and must be set to M_DEFAULT.

Copyright © 2026 Zebra Technologies.