M3dimRotate
| 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 |
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
| Value | Description |
|---|---|
M_XY_PLANE | Specifies the XY (Z=0) plane. |
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 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
| Value | Description |
|---|---|
Destination 3D geometry object identifier | Specifies the identifier of the destination 3D geometry object, previously allocated using M3dgeoAlloc with M_GEOMETRY. |
Destination container identifier | Specifies 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
| Value | Description |
|---|---|
M_DEFAULT | |
M_GEOMETRY_CENTER | Specifies 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_CENTERis specified, you must setCenterYandCenterZtoM_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
| Value | Description |
|---|---|
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
| Value | Description |
|---|---|
M_DEFAULT | |
Value (default) | Specifies the Z-coordinate value. |
ControlFlag (in, AIL_INT64)
Reserved for future expansion and must be set to M_DEFAULT.