| Customize Help
| Save Settings

M3dimScale



Function Map
Synopsis
Scale a specified point cloud or 3D geometry.
Syntax
void M3dimScale(
MIL_ID SrcContainerBufOrGeometry3dgeoId, //in
MIL_ID DstContainerBufOrGeometry3dgeoId, //in
MIL_DOUBLE ScaleX, //in
MIL_DOUBLE ScaleY, //in
MIL_DOUBLE ScaleZ, //in
MIL_DOUBLE CenterX, //in
MIL_DOUBLE CenterY, //in
MIL_DOUBLE CenterZ, //in
MIL_INT64 ControlFlag //in
)
Description

This function applies the specified scale factors to the points in the source point cloud container or to the geometry in the source 3D geometry object. The scaling is applied to each point's distance from the origin or specified center point, along X, Y, or Z. Note that you can specify negative scale factors.

If the source is a point cloud container, M3dimScale() applies the specified scale factors to the coordinates in the M_COMPONENT_RANGE component. If a M_COMPONENT_NORMALS_MIL 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_MIL components exist in the source container, they are also copied to the destination container. Any previously existing normals, reflectance, or mesh components are removed from the destination container.

Note that sphere and box 3D geometries do not accept non-uniform scaling. That is, you must apply the same scale factor in X, Y, and Z for a source sphere or box.

Note that, when scaling a point cloud, this function affects the coordinates of the points and not their storage location in the container.

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 a 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 geometry objects.

function map For specifying the source container or 3D geometry object identifier
Click to summarizeValue Description
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.

(summarize)
Click to summarize 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. The container must have at least 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 geometry objects.

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

Specifies the identifier of the destination 3D geometry object, previously allocated using M3dgeoAlloc() with M_GEOMETRY.

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

(summarize)
ScaleX

Specifies the factor by which to scale in X.

ScaleY

Specifies the factor by which to scale in Y.

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

ScaleZ

Specifies the factor by which to scale in Z.

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

CenterX

Specifies the X-coordinate of the point that defines the center of the scaling operation.

To specify the volumetric center point when scaling a 3D geometry, set this parameter to M_GEOMETRY_CENTER. To specify the volumetric center point or center of mass when scaling a point cloud, calculate (using M3dimStat()) and then retrieve (using M3dimGetResult()) the required bounding box (M_BOX_CENTER_...) or centroid (M_CENTROID_...) statistics (respectively), and then pass these coordinates to the CenterX, CenterY and CenterZ parameters.

function map For specifying the X-coordinate value
Click to summarizeValue Description
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize M_GEOMETRY_CENTER

Specifies the 3D geometry object's center point for a finite 3D geometry (for example, a box, sphere, or finite cylinder).

Note that, if you specify M_GEOMETRY_CENTER, you must set CenterY and CenterZ to M_DEFAULT.

(summarize)
Click to summarize Value

Specifies the X-coordinate value.

CenterY

Specifies the Y-coordinate of the point that defines the center of the scaling operation. If the CenterX parameter is set to M_GEOMETRY_CENTER, set this parameter to M_DEFAULT.

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

function map For specifying the Y-coordinate value
Click to summarizeValue Description
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Y-coordinate value. If scaling a sphere or box 3D geometry object, this parameter must be set to the same value as CenterX and CenterZ.

(summarize)
CenterZ

Specifies the Z-coordinate of the point that defines the center of the scaling operation. If the CenterX parameter is set to M_GEOMETRY_CENTER, set this parameter to M_DEFAULT.

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

function map For specifying the Z-coordinate value
Click to summarizeValue Description
Click to summarize M_DEFAULT

Specifies the default value; the default value is 0.0.

Click to summarize Value

Specifies the Z-coordinate value. If scaling a sphere or box 3D geometry object, this parameter must be set to the same value as CenterX and CenterY.

(summarize)
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.
NOT INITIALIZED NOT PROCESSABLE PROC DEFAULT GEOMETRY CENTER DEFAULT DEFAULT