Skip to main content

M3dgeoCopy

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 attributes or settings to or from a 3D geometry object or transformation matrix object.

Syntax

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

Description

This function copies attributes or settings to or from a 3D geometry object or transformation matrix object. You can copy the entire object or some attributes or settings of the object (for example, box orientation), depending on the source and destination objects and the specified copy type.

Parameters

SrcAilObjectId (in, AIL_ID)

Specifies the identifier of the source object. Note that if the source object is not a predefined or user-defined 3D geometry object or transformation matrix object, 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 predefined or user-defined 3D geometry object or transformation matrix object, the source object must be.

CopyType (in, AIL_INT64)

Specifies the type of copy operation.

ControlFlag (in, AIL_INT64)

Reserved for future expansion and must be set to M_DEFAULT.

Parameter Associations

For specifying the copy type


M_BOX_ORIENTATION

Specifies to set the orientation of a 3D box geometry object, or copy the orientation of a 3D box geometry object. > Note: Note that changing the box orientation will not affect its center or its dimensions (that is, the box rotates around its center).

M_IDENTITY_MATRIX

Specifies to set the 3D box geometry object's box orientation to the identity matrix. This can be used to reset the box's orientation.

ValueDescription
3D geometry object IDSpecifies the identifier of the 3D box geometry object whose orientation to set. The 3D box geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and defined as a box.

3D box geometry object ID from which to copy

Specifies the identifier of a 3D box geometry object from which to copy the box orientation. The 3D box geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and defined as a box.

ValueDescription
3D box geometry object ID in which to copySpecifies the identifier of the 3D box geometry object whose orientation to set. The 3D box geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and defined as a box.
Transformation matrix object ID in which to copySpecifies the identifier of the transformation matrix object in which to copy the box orientation. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Transformation matrix object ID to use to define

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

ValueDescription
3D geometry object IDSpecifies the identifier of the 3D box geometry object whose orientation to set. The 3D geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY.

M_GEOMETRY

Specifies to copy a 3D geometry object into another 3D geometry object.

M_XY_PLANE

Specifies to copy the XY (Z=0) plane into a 3D geometry object.

ValueDescription
3D geometry object IDSpecifies the identifier of the 3D geometry object whose geometry to set to the XY (Z=0) plane. The 3D geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY.

3D geometry object ID from which to copy

Specifies the identifier of a 3D geometry object from which to copy the geometry. The 3D geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY, and must have been successfully defined.

ValueDescription
3D geometry object IDSpecifies the identifier of the 3D geometry object whose geometry to set. The 3D geometry object must have been previously allocated using M3dgeoAlloc withM_GEOMETRY.

M_ROTATION_AND_SCALE

Specifies to set only the rotation and scale values of a transformation matrix object using an Aurora Imaging Library array buffer, or to copy only the rotation and scale values of a transformation matrix object.

M_IDENTITY_MATRIX

Specifies to copy the rotation and scale values of the identity matrix (equivalent to no rotation and uniform scale of 1).

ValueDescription
Array buffer identifier in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the rotation and scale values of the identity matrix. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the rotation and scale values of the identity matrix. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Array buffer identifier to use to define

Specifies the identifier of a 4x4 Aurora Imaging Library array buffer used to set the rotation and scale values of the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT, and must have been initialized.

ValueDescription
Transformation matrix object IDSpecifies the identifier of the transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Transformation matrix object ID from which to copy

Specifies the identifier of a transformation matrix object from which to copy the rotation and scale values. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

ValueDescription
Array buffer identifier in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the rotation and scale values of the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the rotation and scale values of the source transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

M_TRANSFORMATION_MATRIX

Specifies to set the values of a transformation matrix object using an Aurora Imaging Library array buffer, or to copy a transformation matrix object.

M_IDENTITY_MATRIX

Specifies to copy the identity matrix.

ValueDescription
Array buffer identifier in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the identity matrix. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the identity matrix. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Array buffer ID to use to define

Specifies the identifier of a 4x4 Aurora Imaging Library array buffer used to set the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT, and must have been initialized.

ValueDescription
Transformation matrix object IDSpecifies the identifier of the transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Transformation matrix object ID from which to copy

Specifies the identifier of a transformation matrix object to copy. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

ValueDescription
Array buffer ID in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the values of the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the values of the source transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

M_TRANSLATION

Specifies to set only the translation values of a transformation matrix object using an Aurora Imaging Library array buffer, or to copy only the translation values of a transformation matrix object.

M_IDENTITY_MATRIX

Specifies to copy the translation values of the identity matrix (equivalent to no translation).

ValueDescription
Array buffer ID in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the translation values of the identity matrix. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the translation values of the identity matrix. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Array buffer ID to use to define

Specifies the identifier of a 4x4 Aurora Imaging Library array buffer used to set the translation values of the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT, and must have been initialized.

ValueDescription
Transformation matrix object IDSpecifies the identifier of the transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

Transformation matrix object ID from which to copy

Specifies the identifier of a transformation matrix object from which to copy the translation values. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.

ValueDescription
Array buffer ID in which to copySpecifies the identifier of the 4x4 Aurora Imaging Library array buffer in which to copy the translation values of the transformation matrix object. The Aurora Imaging Library array buffer must have been previously allocated using MbufAlloc2d with M_ARRAY and 32+M_FLOAT.
Transformation matrix object ID in which to copySpecifies the identifier of the destination transformation matrix object in which to copy the translation values of the source transformation matrix object. The transformation matrix object must have been previously allocated using M3dgeoAlloc withM_TRANSFORMATION_MATRIX.
Copyright © 2026 Zebra Technologies.