VisionWorks Toolkit Reference

September 29, 2015 | 1.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
3. Output Validation

This section demonstrates output validation implementation.

You must provide the validation function for output parameters.

The output validation function fills an vx_meta_format structure for each output and has the following prototype:

vx_status keypointArraySort_output_validate(vx_node node, vx_uint32 index, vx_meta_format meta)

The validation for output array:

if (index == 1)
{
vx_array src = NULL;
vxQueryParameter(param0, VX_PARAMETER_ATTRIBUTE_REF, &src, sizeof(src));
vx_size src_capacity = 0;
vxQueryArray(src, VX_ARRAY_ATTRIBUTE_CAPACITY, &src_capacity, sizeof(src_capacity));
vx_enum src_item_type = 0;
vxQueryArray(src, VX_ARRAY_ATTRIBUTE_ITEMTYPE, &src_item_type, sizeof(src_item_type));
vxSetMetaFormatAttribute(meta, VX_ARRAY_ATTRIBUTE_ITEMTYPE, &src_item_type, sizeof(src_item_type));
vxSetMetaFormatAttribute(meta, VX_ARRAY_ATTRIBUTE_CAPACITY, &src_capacity, sizeof(src_capacity));
status = VX_SUCCESS;
}

The Full Code for the Node Output Validation

vx_status keypointArraySort_output_validate(vx_node node, vx_uint32 index, vx_meta_format meta)
{
if (index == 1)
{
vx_array src = NULL;
vxQueryParameter(param0, VX_PARAMETER_ATTRIBUTE_REF, &src, sizeof(src));
vx_size src_capacity = 0;
vxQueryArray(src, VX_ARRAY_ATTRIBUTE_CAPACITY, &src_capacity, sizeof(src_capacity));
vx_enum src_item_type = 0;
vxQueryArray(src, VX_ARRAY_ATTRIBUTE_ITEMTYPE, &src_item_type, sizeof(src_item_type));
vxSetMetaFormatAttribute(meta, VX_ARRAY_ATTRIBUTE_ITEMTYPE, &src_item_type, sizeof(src_item_type));
vxSetMetaFormatAttribute(meta, VX_ARRAY_ATTRIBUTE_CAPACITY, &src_capacity, sizeof(src_capacity));
status = VX_SUCCESS;
}
return status;
}