Defines the Graph Object interface.
A set of nodes connected in a directed (only goes oneway) acyclic (does not loop back) fashion. A Graph may have sets of Nodes that are unconnected to other sets of Nodes within the same Graph. See Graph Formalisms.

typedef struct _vx_graph *  vx_graph 
 An opaque reference to a graph. More...


The graph attributes list.
Enumerator 

VX_GRAPH_ATTRIBUTE_NUMNODES 
Returns the number of nodes in a graph. Use a vx_uint32 parameter.

VX_GRAPH_ATTRIBUTE_STATUS 
Returns the overall status of the graph. Use a vx_status parameter.

VX_GRAPH_ATTRIBUTE_PERFORMANCE 
Returns the overall performance of the graph. Use a vx_perf_t parameter.

VX_GRAPH_ATTRIBUTE_NUMPARAMETERS 
Returns the number of explicitly declared parameters on the graph. Use a vx_uint32 parameter.

Definition at line 794 of file vx_types.h.
Creates an empty graph.
 Parameters

[in]  context  The reference to the implementation context. 
 Returns
 A graph reference.
 Return values

Releases a reference to a graph. The object may not be garbage collected until its total reference count is zero. Once the reference count is zero, all node references in the graph are automatically released as well. Data referenced by those nodes may not be released as the user may have external references to the data.
 Parameters

[in]  graph  The pointer to the graph to release. 
 Postcondition
 After returning from this function the reference is zeroed.
 Returns
 A
vx_status_e
enumeration.
 Return values

VX_SUCCESS  No errors. 
VX_ERROR_INVALID_REFERENCE  If graph is not a vx_graph . 
Verifies the state of the graph before it is executed. This is useful to catch programmer errors and contract errors. If not verified, the graph verifies before being processed.
 Precondition
 Memory for data objects is not guarenteed to exist before this call.
 Postcondition
 After this call data objects exist unless the implementation optimized them out.
 Parameters

[in]  graph  The reference to the graph to verify. 
 Returns
 A status code for graphs with more than one error; it is undefined which error will be returned. Register a log callback using
vxRegisterLogCallback
to receive each specific error in the graph.

A
vx_status_e
enumeration.
 Return values

VX_SUCCESS  No errors. 
VX_ERROR_INVALID_REFERENCE  If graph is not a vx_graph . 
VX_ERROR_MULTIPLE_WRITERS  If the graph contains more than one writer to any data object. 
VX_ERROR_INVALID_NODE  If a node in the graph is invalid or failed be created. 
VX_ERROR_INVALID_GRAPH  If the graph contains cycles or some other invalid topology. 
VX_ERROR_INVALID_TYPE  If any parameter on a node is given the wrong type. 
VX_ERROR_INVALID_VALUE  If any value of any parameter is out of bounds of specification. 
VX_ERROR_INVALID_FORMAT  If the image format is not compatible. 
 See also
 vxConvertReference

vxProcessGraph
This function causes the synchronous processing of a graph. If the graph has not been verified, then the implementation verifies the graph immediately. If verification fails this function returns a status identical to what vxVerifyGraph
would return. After the graph verfies successfully then processing occurs. If the graph was previously verified via vxVerifyGraph
or vxProcessGraph
then the graph is processed. This function blocks until the graph is completed.
 Parameters

[in]  graph  The graph to execute. 
 Returns
 A
vx_status_e
enumeration.
 Return values

VX_SUCCESS  Graph has been processed. 
VX_FAILURE  A catastrophic error occurred during processing. 
*  See vxVerifyGraph . 
 Precondition
vxVerifyGraph
must return VX_SUCCESS
before this function will pass.
 See also
 vxVerifyGraph
Schedules a graph for future execution.
 Parameters

[in]  graph  The graph to schedule. 
 Returns
 A
vx_status_e
enumeration.
 Return values

VX_ERROR_NO_RESOURCES  The graph cannot be scheduled now. 
VX_ERROR_NOT_SUFFICIENT  The graph is not verified and has failed forced verification. 
VX_SUCCESS  The graph has been scheduled. 
 Precondition
vxVerifyGraph
must return VX_SUCCESS
before this function will pass.
Waits for a specific graph to complete.
 Parameters

[in]  graph  The graph to wait on. 
 Returns
 A
vx_status_e
enumeration.
 Return values

VX_SUCCESS  The graph has completed. 
VX_FAILURE  The graph has not completed yet. 
 Precondition
vxScheduleGraph
Allows the user to query attributes of the Graph.
 Parameters

[in]  graph  The reference to the created graph. 
[in]  attribute  The vx_graph_attribute_e type needed. 
[out]  ptr  The location at which to store the resulting value. 
[in]  size  The size of the container to which ptr points. 
 Returns
 A
vx_status_e
enumeration.
Allows the set to attributes on the Graph.
 Parameters

[in]  graph  The reference to the graph. 
[in]  attribute  The vx_graph_attribute_e type needed. 
[in]  ptr  The location from which to read the value. 
[in]  size  The size of the container to which ptr points. 
 Returns
 A
vx_status_e
enumeration.
Returns a Boolean to indicate the state of graph verification.
 Parameters

[in]  graph  The reference to the graph to check. 
 Returns
 A
vx_bool
value.
 Return values
