| Customize Help
| Save Settings

MbufChildColor2dClip



Function Map
Synopsis
Allocate a child data buffer within a color parent buffer and, if necessary, performs a clipping operation.
Syntax
MIL_ID MbufChildColor2dClip(
MIL_ID ParentBufId, //in
MIL_INT Band, //in
MIL_INT OffX, //in
MIL_INT OffY, //in
MIL_INT SizeX, //in
MIL_INT SizeY, //in
MIL_INT *StatusPtr, //out
MIL_ID *BufIdPtr //out
)
Description

This function allocates a child data buffer within the specified, previously allocated, color parent data buffer. It selects a rectangular area in one or all of the color bands of the parent data buffer and allocates this area as a child of that buffer. If necessary, the specified rectangular area will be adjusted (clipped) to ensure it fits within the limits of the parent buffer. If the specified rectangular area is completely outside the limits of the parent buffer, the allocation fails and an error is reported.

The child buffer is not allocated in its own memory space; it remains part of the parent buffer. Therefore, any modification to the child buffer affects the parent and vice versa. Note, a parent buffer can have several child buffers.

A color child buffer is considered a data buffer in its own right. It can be used in the same circumstances as its parent buffer. A child buffer inherits its type and attributes from the parent buffer.

If the child buffer is larger or positioned outside the parent buffer, the child buffer is clipped and the clipping status is returned using the StatusPtr parameter. In the following example, both the X-offset and the X/Y-size are clipped, so M_CLIPPED_OFFSET_X + M_CLIPPED_SIZE_X + M_CLIPPED_SIZE_Y is returned as the clipping status. If no clipping was necessary, M_NULL is returned as the clipping status.

If a child buffer is allocated using a parent buffer with an ROI, set using MbufSetRegion(), the child buffer inherits the parent buffer's ROI. You can also set an ROI in a child buffer directly. Note that the ROI of the child buffer is only accessible using the child buffer's MIL identifier.

When this buffer is no longer required, release it, using MbufFree().

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
ParentBufId

Specifies the identifier of the parent buffer.

The parent buffer cannot have an M_COMPRESS attribute unless the Band parameter is set to M_ALL_BANDS.

Band

Specifies the color band of the parent data buffer from which to allocate the child data buffer. The specified color band should be valid in the parent buffer.

The Band parameter can be set to one of the following values:

function map For specifying the color band
Click to summarizeValue Description
Click to summarize M_ALL_BANDS

Specifies all color bands (for RGB, HSL, HSV, and YUV buffers).

Click to summarize M_BLUE

Specifies the blue color band (for RGB buffers).

Click to summarize M_GREEN

Specifies the green color band (for RGB buffers).

Click to summarize M_HUE

Specifies the hue band (for HSL and HSV buffers).

Click to summarize M_LUMINANCE

Specifies the luminance band (for HSL buffers).

Click to summarize M_RED

Specifies the red color band (for RGB buffers).

Click to summarize M_SATURATION

Specifies the saturation band (for HSL and HSV buffers).

Click to summarize M_U

Specifies the U band (for YUV buffers).

Click to summarize M_V

Specifies the V band (for YUV and HSV buffers).

Click to summarize M_Y

Specifies the Y band (for YUV buffers).

Click to summarize 0 <= Value <= 2

Specifies the index of the band to copy.

The relationship between index value and band for RGB, HSL, HSV, and YUV buffers is the following:

0

Corresponds to the red band for RGB buffers, the hue band for HSL and HSV buffers, or the Y band for YUV buffers.

1

Corresponds to the green band for RGB buffers, or the saturation band for HSL and HSV buffers, or the U band for YUV buffers.

2

Corresponds to the blue band for RGB buffers, or the luminance band for HSL buffers, or the V band for YUV and HSV buffers.

(summarize)
OffX

Specifies the horizontal offset of the child buffer, relative to the parent buffer's top-left pixel. If necessary, the given offset will be adjusted (clipped) to make sure that the top-left pixel of the child buffer is within the limits of the parent buffer.

OffY

Specifies the vertical offset of the child buffer, relative to the parent buffer's top-left pixel. If necessary, the given offset will be adjusted (clipped) to make sure that the top-left pixel of the child buffer is within the limits of the parent buffer.

SizeX

Specifies the width of the child buffer. If necessary, the given dimension will be adjusted (clipped) to make sure that the bottom-right pixel of the child buffer is within the limits of the parent buffer.

SizeY

Specifies the height of the child buffer. If necessary, the given dimension will be adjusted (clipped) to make sure that the bottom-right pixel of the child buffer is within the limits of the parent buffer.

StatusPtr

Specifies the address of the variable in which the clipping status is written. If no status is required, set this parameter to M_NULL.

One or more of the following values can be returned together to denote that the child buffer was clipped. For example, when both the X-offset and the X-size are clipped, then M_CLIPPED_OFFSET_X + M_CLIPPED_SIZE_X is returned as the clipping status.

function map For retrieving clipping results
Click to summarizeValue Description
Click to summarize M_NULL

Specifies that no clipping was necessary.

Click to summarize M_CLIPPED_OFFSET_X

Specifies that the horizontal offset of the child buffer was clipped to fit within the width of the parent buffer.

Click to summarize M_CLIPPED_OFFSET_Y

Specifies that the vertical offset of the child buffer was clipped to fit within the height of the parent buffer.

Click to summarize M_CLIPPED_SIZE_X

Specifies that the width of the child buffer was clipped to fit within the width of the parent buffer.

Click to summarize M_CLIPPED_SIZE_Y

Specifies that the height of the child buffer was clipped to fit within the height of the parent buffer.

BufIdPtr

Specifies the address of the variable in which the child buffer identifier is to be written. Since the MbufChildColor2dClip() function also returns the child buffer identifier, you can set this parameter to M_NULL.

Return value
The returned value is the child buffer identifier, if successful. If allocation fails, M_NULL is returned.
Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
ALL BANDS BLUE GREEN HUE LUMINANCE RED SATURATION U V Y NULL CLIPPED OFFSET X CLIPPED OFFSET Y CLIPPED SIZE X CLIPPED SIZE Y