M3dimMatrixTransformList
| Board | Supported |
|---|---|
| Host System | Yes |
| V4L2 | Yes |
| Clarity UHD | Yes |
| Concord PoE | No |
| GenTL | Yes |
| GevIQ | Yes |
| GigE Vision | Yes |
| Indio | No |
| Iris GTX | Yes |
| Radient eV-CL | Yes |
| Rapixo CL | Yes |
| Rapixo CoF | Yes |
| Rapixo CXP | Yes |
| USB3 Vision | Yes |
Transform a list of 3D coordinates using the specified transformation matrix, and store the resulting coordinates in the specified destination arrays.
Syntax
void M3dimMatrixTransformList(
AIL_ID Matrix3dgeoId, //in
AIL_INT NumPoints, //in
const AIL_DOUBLE * SrcCoordXArrayPtr, //in
const AIL_DOUBLE * SrcCoordYArrayPtr, //in
const AIL_DOUBLE * SrcCoordZArrayPtr, //in
AIL_DOUBLE * DstCoordXArrayPtr, //out
AIL_DOUBLE * DstCoordYArrayPtr, //out
AIL_DOUBLE * DstCoordZArrayPtr, //out
AIL_INT64 ControlFlag //in
)
Description
This function transforms a list of 3D coordinates using the specified transformation matrix, and stores the resulting coordinates in the specified destination arrays.
Parameters
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.
NumPoints (in, AIL_INT)
Specifies the number of points in the arrays.
SrcCoordXArrayPtr *(in, AIL_DOUBLE)
Specifies the address of the array that contains the source X-coordinates, or when ControlFlag is set to M_PACKED, the address of the array that contains a packed set of source X-, Y-, and Z-coordinates.
SrcCoordYArrayPtr *(in, AIL_DOUBLE)
Specifies the address of the array that contains the source Y-coordinates.
SrcCoordZArrayPtr *(in, AIL_DOUBLE)
Specifies the address of the array that contains the source Z-coordinates.
DstCoordXArrayPtr *(out, AIL_DOUBLE)
Specifies the address of the array in which to store the destination X-coordinates, or when ControlFlag is set to M_PACKED, the address of the array in which to store a packed set of destination X-, Y-, and Z-coordinates.
DstCoordYArrayPtr *(out, AIL_DOUBLE)
Specifies the address of the array in which to store the destination Y-coordinates.
DstCoordZArrayPtr *(out, AIL_DOUBLE)
Specifies the address of the array in which to store the destination Z-coordinates.
ControlFlag (in, AIL_INT64)
Specifies whether source or destination points are passed and/or returned in a packed format, or specifies to apply only rotation and scale transformations.
For specifying the control flag
| Value | Description |
|---|---|
M_DEFAULT | |
M_PACKED | Specifies that the source points are passed in a packed format and/or that the destination points should be returned in a packed format, depending on what you pass to the SrcCoordYArrayPtr, SrcCoordZArrayPtr, DstCoordYArrayPtr, and DstCoordZArrayPtr parameters. |
If both SrcCoordYArrayPtr and SrcCoordZArrayPtr are passed M_NULL, SrcCoordXArrayPtr is assumed to be a packed set of X-, Y-, and Z-coordinates.
If both DstCoordYArrayPtr and DstCoordZArrayPtr are passed M_NULL, DstCoordXArrayPtr is filled with a packed set of X-, Y-, and Z-coordinates.
If SrcCoordYArrayPtr, SrcCoordZArrayPtr, DstCoordYArrayPtr, and DstCoordZArrayPtr are passed M_NULL, SrcCoordXArrayPtr is assumed to be a packed set of X-, Y-, and Z-coordinates, and DstCoordXArrayPtr is filled with a packed set of X-, Y-, and Z-coordinates. |
| M_PLANAR (default) | Specifies that the source and destination coordinates are stored in a planar format; that is, the X-, Y-, and Z-coordinate values are stored in 3 separate arrays.
Note: When
M_PLANARis specified, no source or destination array pointer parameters can be set toM_NULL. | |M_ROTATION_AND_SCALE| Specifies to apply only the rotation and scale parts of the transformation to the source points. |