| Oyranos Colour Management System API

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
oyFilterGraph_s Struct Reference
DAG and Image processing API

A FilterGraph object. More...

`#include <oyFilterGraph_s.h>`

Inheritance diagram for oyFilterGraph_s:
Collaboration diagram for oyFilterGraph_s:

## Public Member Functions
OYAPI oyFilterGraph_s *OYEXPORT | oyFilterGraph_New (oyObject_s object)
| allocate a new FilterGraph object More...
OYAPI oyFilterGraph_s *OYEXPORT | oyFilterGraph_Copy (oyFilterGraph_s *filtergraph, oyObject_s object)
| copy or reference a FilterGraph object More...
OYAPI int OYEXPORT | oyFilterGraph_Release (oyFilterGraph_s **filtergraph)
| release and possibly deallocate a oyFilterGraph_s object More...
OYAPI oyFilterNode_s *OYEXPORT | oyFilterGraph_GetNode (oyFilterGraph_s *graph, int pos, const char *registration, const char *mark)
| Select a node. More...
OYAPI int OYEXPORT | oyFilterGraph_CountNodes (oyFilterGraph_s *graph, const char *registration, const char *mark)
| Count nodes. More...
OYAPI oyFilterPlug_s *OYEXPORT | oyFilterGraph_GetEdge (oyFilterGraph_s *graph, int pos)
| Get edges. More...
OYAPI int OYEXPORT | oyFilterGraph_CountEdges (oyFilterGraph_s *graph)
| Count edges. More...
OYAPI int OYEXPORT | oyFilterGraph_PrepareContexts (oyFilterGraph_s *graph, int flags)
| Iterate over a filter graph and possibly prepare contexts. More...
OYAPI char *OYEXPORT | oyFilterGraph_ToText (oyFilterGraph_s *graph, oyFilterNode_s *input, oyFilterNode_s *output, const char *head_line, int reserved, oyAlloc_f allocateFunc)
| Text description of a graph. More...
OYAPI oyOptions_s *OYEXPORT | oyFilterGraph_GetOptions (oyFilterGraph_s *graph)
| Get options. More...
Public Member Functions inherited from oyStruct_s
const char * | oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
| get a text dump More...

## Data Fields
oyStruct_Copy_f | copy
oyStruct_Release_f | release
Data Fields inherited from oyStruct_s
oyStruct_Copy_f | copy
oyStruct_Release_f | release

## Detailed Description

A FilterGraph object.

Version
  Oyranos: 0.1.10

Since
  2009/02/28 (Oyranos: 0.1.10)

Date
  2009/02/28

## Member Function Documentation

OYAPI oyFilterGraph_s *OYEXPORT oyFilterGraph_Copy | ( | oyFilterGraph_s * | filtergraph,
|  | oyObject_s | object
| ) |  |

copy or reference a FilterGraph object

Function oyFilterGraph_Copy

The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.

Parameters

  [in] | filtergraph | FilterGraph struct object
  | object | NULL - means reference, the optional object triggers a real copy

References oyOBJECT_FILTER_GRAPH_S.

Referenced by oyPixelAccess_s::oyPixelAccess_GetGraph().

OYAPI int OYEXPORT oyFilterGraph_CountEdges | ( | oyFilterGraph_s * | graph | ) |

Count edges.

Function oyFilterGraph_CountEdges

Parameters

  [in] | graph | a filter graph

Returns
  the edges count

Version
  Oyranos: 0.5.0

Date
  2012/09/24

Since
  2012/09/24 (Oyranos: 0.5.0)

References oyFilterPlugs_s::oyFilterPlugs_Count(), and oyOBJECT_FILTER_GRAPH_S.

OYAPI int OYEXPORT oyFilterGraph_CountNodes | ( | oyFilterGraph_s * | graph,
|  | const char * | registration,
|  | const char * | mark
| ) |  |

Count nodes.

Function oyFilterGraph_CountNodes

Parameters

  [in] | graph | a filter graph
  [in] | registration | criterium to generate the matching list, or zero for no criterium
  [in] | mark | marking string to use as a selector

Returns
  the nodes count

Version
  Oyranos: 0.5.0

Date
  2012/09/24

Since
  2012/09/24 (Oyranos: 0.5.0)

References oyFilterNode_s::oyFilterNode_Release(), oyFilterNodes_s::oyFilterNodes_Count(), oyFilterNodes_s::oyFilterNodes_Get(), oyFilterRegistrationMatch(), oyOBJECT_FILTER_GRAPH_S, and oyOptions_s::oyOptions_FindString().

OYAPI oyFilterPlug_s *OYEXPORT oyFilterGraph_GetEdge | ( | oyFilterGraph_s * | graph,
|  | int | pos
| ) |  |

Get edges.

Function oyFilterGraph_GetEdge

Parameters

  [in] | graph | a filter graph

Returns
  the edges count

Version
  Oyranos: 0.5.0

Date
  2012/09/24

Since
  2012/09/24 (Oyranos: 0.5.0)

References oyFilterPlugs_s::oyFilterPlugs_Get(), and oyOBJECT_FILTER_GRAPH_S.

OYAPI oyFilterNode_s *OYEXPORT oyFilterGraph_GetNode | ( | oyFilterGraph_s * | graph,
|  | int | pos,
|  | const char * | registration,
|  | const char * | mark
| ) |  |

Select a node.

Function oyFilterGraph_GetNode

Parameters

  [in] | graph | a filter graph
  [in] | pos | the position in a matching list, or -1 to select the first match
  [in] | registration | criterium to generate the matching list, or zero for no criterium
  [in] | mark | marking string to use as a selector

Returns
  the filter node

Version
  Oyranos: 0.1.10

Since
  2009/03/04 (Oyranos: 0.1.10)

Date
  2009/03/01

References oyFilterNode_s::oyFilterNode_Release(), oyFilterNodes_s::oyFilterNodes_Count(), oyFilterNodes_s::oyFilterNodes_Get(), oyFilterRegistrationMatch(), oyOBJECT_FILTER_GRAPH_S, and oyOptions_s::oyOptions_FindString().

OYAPI oyOptions_s *OYEXPORT oyFilterGraph_GetOptions | ( | oyFilterGraph_s * | graph | ) |

Get options.

Function oyFilterGraph_GetOptions

Parameters

  [in] | graph | a filter graph

Returns
  the options

Version
  Oyranos: 0.5.0

Date
  2012/09/25

Since
  2012/09/25 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_GRAPH_S, and oyOptions_s::oyOptions_Copy().

OYAPI oyFilterGraph_s *OYEXPORT oyFilterGraph_New | ( | oyObject_s | object | ) |

allocate a new FilterGraph object

Function oyFilterGraph_New

References oyOBJECT_OBJECT_S.

Referenced by oyConversion_s::oyConversion_ToText(), and oyFilterNode_s::oyFilterGraph_FromNode().

OYAPI int OYEXPORT oyFilterGraph_PrepareContexts | ( | oyFilterGraph_s * | graph,
|  | int | flags
| ) |  |

Iterate over a filter graph and possibly prepare contexts.

Function oyFilterGraph_PrepareContexts

Parameters

  [in,out] | graph | a filter graph
  [in] | flags | 1 - enforce a context preparation

Returns
  0 on success, else error

Version
  Oyranos: 0.1.10

Since
  2009/02/28 (Oyranos: 0.1.10)

Date
  2009/03/01

References oyFilterNode_s::oyFilterNode_Release(), oyFilterNodes_s::oyFilterNodes_Count(), oyFilterNodes_s::oyFilterNodes_Get(), oyOBJECT_FILTER_GRAPH_S, oyOption_s::oyOption_SetFromText(), and oyOptions_s::oyOptions_Find().

Referenced by oyConversion_s::oyConversion_RunPixels().

OYAPI int OYEXPORT oyFilterGraph_Release | ( | oyFilterGraph_s ** | filtergraph | ) |

release and possibly deallocate a oyFilterGraph_s object

Function oyFilterGraph_Release

Parameters

  [in,out] | filtergraph | FilterGraph struct object

References oyOBJECT_FILTER_GRAPH_S.

Referenced by oyConversion_s::oyConversion_ToText(), and oyFilterSocket_s::oyFilterSocket_SignalToGraph().

OYAPI char *OYEXPORT oyFilterGraph_ToText | ( | oyFilterGraph_s * | graph,
|  | oyFilterNode_s * | input,
|  | oyFilterNode_s * | output,
|  | const char * | head_line,
|  | int | reserved,
|  | oyAlloc_f | allocateFunc
| ) |  |

Text description of a graph.

Function oyFilterGraph_ToText

Todo:
  Should this function generate XFORMS compatible output? How?

Parameters

  [in] | graph | graphy object
  [in] | input | start node of a oyConversion_s
  [in] | output | end node and if present a switch to interprete input and output as start and end node of a oyConversion_s
  [in] | head_line | text for inclusion
  [in] | reserved | future format selector (dot, xml ...)
  [in] | allocateFunc | allocation function

Returns
  the graph description

Version
  Oyranos: 0.1.10

Since
  2008/10/04 (Oyranos: 0.1.8)

Date
  2009/03/05

The function is more verbose with the oy_debug variable set.

References oyFilterCore_s::oyFilterCore_GetCategory(), oyFilterCore_s::oyFilterCore_Release(), oyFilterNode_s::oyFilterNode_EdgeCount(), oyFilterNode_s::oyFilterNode_GetCore(), oyFilterNode_s::oyFilterNode_GetId(), oyFilterNode_s::oyFilterNode_GetRegistration(), oyFilterNode_s::oyFilterNode_GetSocket(), oyFilterNode_s::oyFilterNode_Release(), oyFilterNodes_s::oyFilterNodes_Count(), oyFilterNodes_s::oyFilterNodes_Get(), oyFilterPlug_s::oyFilterPlug_Release(), oyFilterPlugs_s::oyFilterPlugs_Count(), oyFilterPlugs_s::oyFilterPlugs_Get(), oyFilterSocket_s::oyFilterSocket_GetData(), oyFilterSocket_s::oyFilterSocket_Release(), oyOBJECT_FILTER_GRAPH_S, oyStructTypeToText(), and oyStruct_s::release.

Referenced by oyConversion_s::oyConversion_ToText().

## Field Documentation

oyStruct_Copy_f oyFilterGraph_s::copy

copy function

oyStruct_Release_f oyFilterGraph_s::release

release function