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 |
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.
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.
For specifying the source container or 3D geometry
object identifier
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
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)Specifies the identifier of the source 3D geometry object. (more details...) |
||||||||||||||||||||||||||||||||||||||
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)Specifies the identifier of the source point cloud container. (more details...) |
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.
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. (summarize)Specifies the identifier of the destination container, previously allocated using MbufAllocContainer() with M_PROC. (more details...) |
Specifies the factor by which to scale in Y.
Note that sphere and box 3D geometries do not accept non-uniform scaling.
Specifies the factor by which to scale in Z.
Note that sphere and box 3D geometries do not accept non-uniform scaling.
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.
For specifying the X-coordinate value
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 0.0. |
||||||||||||||||||||||||||||||||||||||
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)Specifies the 3D geometry object's center point for a finite 3D geometry (for example, a box, sphere, or finite cylinder). (more details...) |
||||||||||||||||||||||||||||||||||||||
Value |
Specifies the X-coordinate value. |
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.
For specifying the Y-coordinate value
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 0.0. |
||||||||||||||||||||||||||||||||||||||
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)Specifies the Y-coordinate value. (more details...) |
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.
For specifying the Z-coordinate value
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 0.0. |
||||||||||||||||||||||||||||||||||||||
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)Specifies the Z-coordinate value. (more details...) |
Header | Include mil.h. |
Library | Use mil.lib; mil3dim.lib. |
DLL | Requires mil.dll; mil3dim.dll. |