Skip to main content

M3dimRotate

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

Rotate a specified point cloud or 3D geometry.

Syntax

void M3dimRotate(
AIL_ID SrcContainerBufOrGeometry3dgeoId, //in
AIL_ID DstContainerBufOrGeometry3dgeoId, //out
AIL_INT64 RotationType, //in
AIL_DOUBLE Param1, //in
AIL_DOUBLE Param2, //in
AIL_DOUBLE Param3, //in
AIL_DOUBLE Param4, //in
AIL_DOUBLE CenterX, //in
AIL_DOUBLE CenterY, //in
AIL_DOUBLE CenterZ, //in
AIL_INT64 ControlFlag //in
)

Description

This function applies the specified rotation to the 3D points in a point cloud container or to the geometry in a 3D geometry object.

If the source is a point cloud container, M3dimRotate applies the specified rotation to the coordinates in the M_COMPONENT_RANGE component. If an M_COMPONENT_NORMALS_AIL component exists in the source container, it is recalculated and added to the destination container, along with the modified M_COMPONENT_RANGE component. The source container's M_COMPONENT_CONFIDENCE component is copied to the destination container. If M_COMPONENT_REFLECTANCE and M_COMPONENT_MESH_AIL components exist in the source, they are also copied to the destination. Any previously existing M_COMPONENT_NORMALS_AIL, M_COMPONENT_REFLECTANCE, or M_COMPONENT_MESH_AIL components are removed from the destination container.

Note that all angles should be specified in degrees. However, unlike most other Aurora Imaging Library functions, angles are interpreted using the right-hand grip rule around the axis of rotation; if you wrap your right hand around the axis of rotation, pointing your thumb in the positive direction of the axis, your fingers wrap in the direction of rotation. For example, a positive rotation around the Z-axis corresponds to a rotation that turns the positive X-axis toward the positive Y-axis.

All coordinates are expressed in world units in the working coordinate system.

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

Parameters

SrcContainerBufOrGeometry3dgeoId (in, AIL_ID)

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

For specifying the source container or 3D geometry object identifier

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 withM_GEOMETRY, and must have been successfully defined. | | Source 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 identifier

ValueDescription
Destination 3D geometry object identifierSpecifies the identifier of the destination 3D geometry object, previously allocated using M3dgeoAlloc with M_GEOMETRY.
Destination container identifierSpecifies the identifier of the destination container, previously allocated using MbufAllocContainer with M_PROC. The destination container must not be a child container.

RotationType (in, AIL_INT64)

Specifies the type of rotation to apply to the point cloud or 3D geometry.

Param1 (in, AIL_DOUBLE)

Specifies an attribute of the rotation. Its definition is dependent on the type of rotation selected. Set this parameter to M_DEFAULT if not used.

Param2 (in, AIL_DOUBLE)

Specifies an attribute of the rotation. Its definition is dependent on the type of rotation selected. Set this parameter to M_DEFAULT if not used.

Param3 (in, AIL_DOUBLE)

Specifies an attribute of the rotation. Its definition is dependent on the type of rotation selected. Set this parameter to M_DEFAULT if not used.

Param4 (in, AIL_DOUBLE)

Specifies an attribute of the rotation. Its definition is dependent on the type of rotation selected. Set this parameter to M_DEFAULT if not used.

CenterX (in, AIL_DOUBLE)

Specifies the X-coordinate of the point around which the rotation is performed.

For specifying the X-coordinate value

ValueDescription
M_DEFAULT
M_GEOMETRY_CENTERSpecifies the 3D geometry's center point. This setting is only applicable if the geometry is finite (for example, a box, sphere, or finite cylinder).

Note: Note that, if M_GEOMETRY_CENTER is specified, you must set CenterY and CenterZ to M_DEFAULT. | | Value (default) | Specifies the X-coordinate value. |

CenterY (in, AIL_DOUBLE)

Specifies the Y-coordinate of the point around which the rotation is performed. If the CenterX parameter is set to M_GEOMETRY_CENTER, set this parameter to M_DEFAULT.

For specifying the Y-coordinate value

ValueDescription
M_DEFAULT
Value (default)Specifies the Y-coordinate value.

CenterZ (in, AIL_DOUBLE)

Specifies the Z-coordinate of the point around which the rotation is performed. If the CenterX parameter is set to M_GEOMETRY_CENTER, set this parameter to M_DEFAULT.

For specifying the Z-coordinate value

ValueDescription
M_DEFAULT
Value (default)Specifies the Z-coordinate value.

ControlFlag (in, AIL_INT64)

Reserved for future expansion and must be set to M_DEFAULT.

Parameter Associations

For specifying the rotation type

Copyright © 2026 Zebra Technologies.