| Customize Help
| Save Settings

McalDraw3d



Function Map
Synopsis
Draw 3D annotations based on a calibrated or corrected image.
Syntax
MIL_INT64 McalDraw3d(
MIL_ID OperationDraw3dContextCalId, //in
MIL_ID ContextCalOrImageBufId, //in
MIL_INT64 SrcIndex, //in
MIL_ID DstList3dgraId, //in
MIL_INT64 DstParentLabel, //in
MIL_ID RelXYPlaneTextureImageBufId, //in
MIL_INT64 ControlFlag //in
)
Description

This function draws 3D annotations (for example, the camera's coordinate system) based on a 3D draw calibration context, in a 3D graphics list. Set the draw operations and options for the draw using McalControl(). Example operations include drawing the relative XY plane and the frustum of the camera's view.

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
OperationDraw3dContextCalId

Specifies the identifier of the 3D draw calibration context that specifies the annotations to draw and how to draw them. This parameter must be set to one of the following values:

function map For specifying the 3D draw calibration context
Click to summarizeValue Description
Click to summarize M_DEFAULT

Specifies that the default 3D draw calibration context of the current MIL application is used.

Click to summarize MIL 3D draw calibration context identifier

Specifies a valid 3D draw calibration context identifier, which you have allocated using McalAlloc() with M_DRAW_3D_CONTEXT.

ContextCalOrImageBufId

Specifies the identifier of the camera calibration context or calibrated image.

If passing a camera calibration context, it must have been previously allocated on the required system using McalAlloc().

When specifying a calibrated image, the image cannot be associated with a region of interest (ROI), otherwise an error will occur.

SrcIndex

Reserved for future expansion and must be set to M_DEFAULT.

DstList3dgraId

Specifies the identifier of the 3D graphics list in which to draw. You can specify a 3D graphics list that you have previously allocated using M3dgraAlloc(), or you can specify the identifier of the 3D display's internal graphics list (inquired using M3ddispInquire() with M_3D_GRAPHIC_LIST_ID).

DstParentLabel

Specifies the label of the 3D graphic in the 3D graphics list to be used as the annotation's parent.

function map For specifying the parent label
Click to summarizeValue Description
Click to summarize M_DEFAULT

Same as M_ROOT_NODE.

Click to summarize M_ROOT_NODE

Specifies the top-most node of the 3D graphics list.

Click to summarize Value >= 0

Specifies the label of the 3D graphic in the 3D graphics list. Label 0 is the 3D graphics list's root node.

(summarize)
RelXYPlaneTextureImageBufId

Specifies the identifier of the image buffer containing the texture image, which you can apply to the relative XY plane to enhance its visibility. The texture image is typically a 2D image of the 3D scene. For example, you can specify the image used for calibration.

The image buffer must be an 8-bit, unsigned, 1- or 3-band buffer, and must not have a region of interest (ROI) associated with it. Using an image buffer with an ROI will cause an error.

Set this parameter to M_NULL if not used.

ControlFlag

Reserved for future expansion and must be set to M_DEFAULT.

Return value
Returns the parent label of the graphics added to the graphics list.
Compilation information
Header Include mil.h.
Library Use mil.lib; milcal.lib.
DLL Requires mil.dll; milcal.dll.
DEFAULT NULL PROC NONE DEFAULT ROOT NODE UNSIGNED PROC NONE