Skip to main content

M3ddispCopy

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

Copy data to or from a 3D display.

Syntax

void M3ddispCopy(
AIL_ID SrcAilObjectId, //in
AIL_ID DstAilObjectId, //out
AIL_INT64 CopyType, //in
AIL_INT64 ControlFlag //in
)

Description

This function copies data (such as a transformation matrix or background image) to or from a 3D display.

Parameters

SrcAilObjectId (in, AIL_ID)

Specifies the identifier of the source object. Note that if the source object is not a 3D display, the destination object must be.

DstAilObjectId (out, AIL_ID)

Specifies the identifier of the destination object. Note that if the destination object is not a 3D display, the source object must be.

CopyType (in, AIL_INT64)

Specifies the type of copy operation to perform.

ControlFlag (in, AIL_INT64)

Specifies if the 3D display should be refreshed.

For specifying if the display should be updated

ValueDescription
M_DEFAULTSpecifies the default behavior. If a view is modified a hook will be generated.
M_NO_HOOKPrevents calling the M_VIEW_CHANGE hook after the function is completed.

Note: This control flag is available for M_VIEW_MATRIX, with a 3D Display as the destination. |

Parameter Associations

For specifying the copy type


M_BACKGROUND_IMAGE

Specifies to set the background image of a 3D display, or to copy the background image of a 3D display to an image buffer.

3D display identifier from which to copy

Specifies the identifier of the 3D display whose background to copy. The 3D display must have been previously allocated using M3ddispAlloc. An error is generated if the 3D display does not have a background image.

ValueDescription
Image buffer identifierSpecifies the identifier of the 8-bit unsigned image buffer in which to copy the background image. The image buffer must have the same width, height, and number of bands as the background image of the 3D display. You can determine the size and number of bands of the current background image buffer using M3ddispInquirewith M_BACKGROUND_IMAGE_SIZE_....

Image buffer identifier from which to copy

Specifies the identifier of the 1- or 3-band, 8-bit unsigned image buffer to copy to the background of the 3D display.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display to which the image buffer is copied. The 3D display must have been previously allocated using M3ddispAlloc.

M_RENDER

Specifies to copy the resulting image of the current render to the destination buffer or container. The render is guaranteed to be up to date when M_UPDATE is set to M_ENABLE. Otherwise, the image that is currently on the screen will be copied.

3D display identifier from which to copy

Specifies the identifier of the 3D display whose current render to copy. The 3D display must have been previously allocated using M3ddispAlloc.

ValueDescription
Container identifierSpecifies the identifier of the Aurora Imaging Library container in which to copy. The result of this will be a container with one component (M_COMPONENT_INTENSITYwith the appropriate size, band, and data type). If a component like this already exists in the container, it will be reused; otherwise, the container will be emptied and a new component will be allocated.
Image buffer identifierSpecifies the identifier of the Aurora Imaging Library image buffer in which to copy. It is recommended to copy to an 8-bit, 3-band, unsigned image buffer. If the destination is smaller in size than the source, the image is cropped to the size of the destination buffer. If the destination is larger in size than the source, exceeding areas of the buffer are unaffected.

M_ROTATION_AXIS

Specifies to set the auto-rotation axis of a 3D display, or to copy the auto-rotation axis of a 3D display to a 3D line geometry object. This is the axis that the view of the 3D display rotates around when M_AUTO_ROTATE is set to M_ENABLE.

3D display identifier from which to copy

Specifies the identifier of the 3D display whose auto-rotation axis to copy. The 3D display must have been previously allocated using M3ddispAlloc.

ValueDescription
3D geometry object identifierSpecifies the identifier of the 3D geometry object to define. The 3D geometry object is defined as an infinite line.

3D line geometry object identifier

Specifies the identifier of the 3D line geometry object used to set the 3D display's view. The 3D line geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and defined as a line.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display whose view to set. The 3D display must have been previously allocated using M3ddispAlloc.

M_ROTATION_AXIS_CENTER

Specifies to set the center position of the auto-rotation axis of a 3D display, or to copy this position from a 3D display to a 3D point geometry object. This is the point that the view of the 3D display rotates around when M_AUTO_ROTATE is set to M_ENABLE.

M_VIEW_INTEREST_POINT

Specifies to set the 3D display's rotation axis center point to its interest point.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display whose view to set. The 3D display must have been previously allocated using M3ddispAlloc.

3D display identifier from which to copy

Specifies the identifier of the 3D display whose auto-rotation center point to copy. The 3D display must have been previously allocated using M3ddispAlloc.

ValueDescription
3D geometry object identifierSpecifies the identifier of the 3D geometry object in which to copy the position. The 3D geometry object must have been previously allocated using M3dgeoAlloc with M_GEOMETRYThe 3D geometry object is defined as a 3D point.

3D point geometry object identifier

Specifies the identifier of the 3D point geometry object used to set the 3D display's auto-rotation center point. The 3D point geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and defined as a point.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display whose view to set. The 3D display must have been previously allocated using M3ddispAlloc.

M_VIEW_MATRIX

Specifies to copy the view's transformation matrix. If copied before the view of the 3D display is moved, you can use this matrix with M3ddispCopyor M3ddispSetViewto restore the current position and orientation of the view. The transformation matrix of a view is relative to a view with the viewpoint at (0,0,1), the interest point at (0,0,0), and an up vector of (0,1,0). This can also be thought of as a direct top-down view, with the up vector aligned with the Y-axis.

M_IDENTITY_MATRIX

Specifies to set the 3D display's view to the identity matrix. This can be used to reset the view's orientation.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display whose view to set. The 3D display must have been previously allocated using M3ddispAlloc.

3D display identifier from which to copy

Specifies the identifier of a 3D display from which to copy the view's orientation. The 3D display must have been previously allocated using M3ddispAlloc.

ValueDescription
Transformation matrix object identifierSpecifies the identifier of the transformation matrix object in which to copy the view's orientation. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Transformation matrix object identifier

Specifies the identifier of the transformation matrix object used to set the orientation of the 3D display's view. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

ValueDescription
3D display identifierSpecifies the identifier of the 3D display of which to set the view's orientation. The 3D display must have been previously allocated using M3ddispAlloc.

Combination Constants — Specifies the starting position

Optional.

Usage: You can add one of the following values to the above-mentioned values to specify to use the current viewpoint as the starting point for the transformation.

ValueDescription
M_COMPOSE_WITH_CURRENTSpecifies to use the current viewpoint as the starting point for the transformation. This setting can only be used when copying a transformation matrix object to a 3D display.
Copyright © 2026 Zebra Technologies.