| Customize Help
| Save Settings

M3dmapAlloc



Function Map
Synopsis
Allocate a 3D reconstruction context or a 3D draw context.
Syntax
MIL_ID M3dmapAlloc(
MIL_ID SysId, //in
MIL_INT64 ContextType, //in
MIL_INT64 ControlFlag, //in
MIL_ID *ContextOrGeometry3dmapIdPtr //out
)
Description

This function allocates a 3D reconstruction context or 3D draw context on the specified system. When the context is no longer required, you should release its memory, using M3dmapFree().

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 which MIL system’s documentation you should use in its place and any possible differences.
Parameters
This function is not supported on the selected boards.
This function reference has not been updated for the selected MIL system. To show the content of this page, choose a second MIL system; refer to the MIL system's release note to see which MIL system’s documentation to choose and any possible differences.
Parameters
SysId INQ

Specifies the identifier of the system on which to allocate the 3D reconstruction context or 3D draw context.

function map For specifying the system
Click to summarizeValue Description
Click to summarize M_DEFAULT_HOST

Specifies the default Host system of the current MIL application.

Click to summarize MIL system identifier

Specifies a valid system identifier, previously allocated using MsysAlloc().

ContextType

Specifies to allocate a 3D reconstruction context or 3D draw context. This parameter must be set to one of the following:

function map For specifying the type
Click to summarizeValue Description
Click to summarize M_DRAW_3D_CONTEXT

Specifies a 3D draw context.

Click to summarize M_LASER

Specifies a 3D reconstruction context that will be used to perform laser line (sheet of light) profiling.

ControlFlag INQ

Specifies the 3D reconstruction mode of the context, which determines how data is represented. The data representation determines whether depth maps can be fully corrected and whether 3D point clouds can be returned.

If allocating a 3D draw context, this parameter must be set to M_DEFAULT.

If allocating a 3D reconstruction context, this parameter must be set to one of the following values:

function map For specifying the 3D reconstruction mode
Click to summarizeValue Description
Click to summarize M_CALIBRATED_CAMERA_LINEAR_MOTION +

Specifies that the 3D reconstruction context will include camera calibration information and depth correction information. This allows for the storage of 3D point clouds and the generation of fully corrected depth maps (shape and depth corrected).

Note that the camera calibration context must have been allocated using McalAlloc() with M_TSAI_BASED or M_3D_ROBOTICS.

(summarize)
Click to summarize M_DEPTH_CORRECTION

Specifies that the 3D reconstruction context will include depth correction information, but will not include camera calibration information. This allows for only partially corrected depth maps (depth, but not shape corrected).

(summarize)
Combination values for M_CALIBRATED_CAMERA_LINEAR_MOTION.

You can add one or more of the following values to the above-mentioned value to set the label of the camera or laser.

This is necessary when creating a multiple camera-laser pair setup.

function map For specifying the camera label or laser label for a given context
Click to summarizeCombination value Description
Click to summarize

Specifies the label for the camera used by this 3D reconstruction context.

Note that multiple 3D reconstruction contexts can share the same camera, and in those cases, they must also share the same camera label.

(summarize)
Parameters

Specifies the value of a camera label.

Click to summarize

Specifies the label for the laser used by this 3D reconstruction context.

Note that multiple 3D reconstruction contexts can share the same laser, and in those cases, they must also share the same laser label.

(summarize)
Parameters

Specifies the value of a laser label.

ContextOrGeometry3dmapIdPtr

Specifies the address of the variable in which to write the 3D reconstruction context or 3D draw context. Since the M3dmapAlloc() function also returns the identifier, you can set this parameter to M_NULL.

Return value
The returned value is the 3D reconstruction context or 3D draw context identifier if allocation is successful. If allocation fails, M_NULL is returned.
Compilation information
Header Include mil.h.
Library Use mil.lib; mil3dmap.lib.
DLL Requires mil.dll; mil3dmap.dll.
DEFAULT HOST DRAW 3D CONTEXT LASER CALIBRATED CAMERA LINEAR MOTION DEPTH CORRECTION LASER