| Customize Help
| Save Settings

M3dimMatrixTransform



Function Map
Synopsis
Apply the specified transformation matrix to the 3D points of a specified point cloud or to a 3D geometry.
Syntax
void M3dimMatrixTransform(
MIL_ID SrcContainerBufOrGeometry3dgeoId, //in
MIL_ID DstContainerBufOrGeometry3dgeoId, //in
MIL_ID Matrix3dgeoId, //in
MIL_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 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_MIL 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.

Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see if there is complementary information.
Parameters
This function is not supported on the selected boards.
Parameters
SrcContainerBufOrGeometry3dgeoId

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

Note that the source and destination must match so that both are containers or both are 3D geometries.

function map For specifying the source point cloud container or 3D geometry object
Click to summarizeValue Description
Click to summarize M_XY_PLANE

Specifies the XY (Z=0) plane.

Click to summarize Source 3D geometry object identifier

Specifies 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. Supported 3D geometries include box, cylinder, line, plane, and sphere.

Note that sphere and box 3D geometry objects do not accept non-uniform scaling.

(summarize)
Click to summarize 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. The container must have the 2 components M_COMPONENT_RANGE and M_COMPONENT_CONFIDENCE.

(summarize)
DstContainerBufOrGeometry3dgeoId

Specifies the destination container or 3D geometry object.

Note that the source and destination must match so that both are containers or both are 3D geometries.

function map For specifying the destination container or 3D geometry object
Click to summarizeValue Description
Click to summarize Destination 3D geometry object identifier

Specifies the identifier of the destination 3D geometry object.

The 3D geometry object must have been previously allocated using M3dgeoAlloc() with M_GEOMETRY.

(summarize)
Click to summarize 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.

(summarize)
Matrix3dgeoId

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.

Note that, for a 3D geometry of type M_SPHERE or M_BOX, the transformation can include rotation, translation, and uniform scaling only. That is, if you call M3dgeoInquire() with M_SIMILARITY, the function returns M_TRUE. Other transformation types are not supported.

ControlFlag

Reserved for future expansion and must be set to M_DEFAULT.

Compilation information
Header Include mil.h.
Library Use mil.lib; mil3dim.lib.
DLL Requires mil.dll; mil3dim.dll.
XY PLANE NOT PROCESSABLE PROC