Oyranos Colour Management System API
Public Member Functions | Data Fields
oyFilterNode_s Struct Reference

a FilterNode object More...

#include <oyranos_alpha.h>

Collaboration diagram for oyFilterNode_s:
Collaboration graph
[legend]

Public Member Functions

oyFilterNode_soyFilterNode_New (oyObject_s object)
 allocate and initialise a new filter node object
oyFilterNode_soyFilterNode_Create (oyFilterCore_s *filter, oyObject_s object)
 initialise a new filter node object properly
oyFilterNode_soyFilterNode_NewWith (const char *registration, oyOptions_s *options, oyObject_s object)
 initialise a new filter node object properly
oyFilterNode_soyFilterNode_Copy (oyFilterNode_s *node, oyObject_s object)
 copy or reference a filter node object
int oyFilterNode_Release (oyFilterNode_s **obj)
 release and zero a filter node object
int oyFilterNode_EdgeCount (oyFilterNode_s *node, int is_input, int flags)
 count real and potential connections to a filter node object
int oyFilterNode_Connect (oyFilterNode_s *input, const char *socket_nick, oyFilterNode_s *output, const char *plug_nick, int flags)
 connect two nodes by a edge
int oyFilterNode_Disconnect (oyFilterPlug_s *edge)
 disconnect two nodes by a edge
OYAPI oyConnector_s *OYEXPORT oyFilterNode_ShowConnector (oyFilterNode_s *node, int as_pos, int is_plug)
 get a connector description from a filter module
OYAPI int OYEXPORT oyFilterNode_ConnectorMatch (oyFilterNode_s *node_first, int pos_first, oyFilterPlug_s *plug)
 check if a connector match to a FilterNode
OYAPI int OYEXPORT oyFilterNode_GetConnectorPos (oyFilterNode_s *node, int is_input, const char *pattern, int nth_of_type, int flags)
 get a oyFilterSocket_s or oyFilterPlug_s position from a FilterNode
OYAPI oyFilterSocket_s *OYEXPORT oyFilterNode_GetSocket (oyFilterNode_s *node, int pos)
 get a oyFilterSocket_s of type from a FilterNode
OYAPI oyFilterPlug_s *OYEXPORT oyFilterNode_GetPlug (oyFilterNode_s *node, int pos)
 get a oyFilterPlug_s of type from a FilterNode
oyOptions_s * oyFilterNode_OptionsGet (oyFilterNode_s *node, int flags)
 get filter options
int oyFilterNode_UiGet (oyFilterNode_s *node, char **ui_text, char ***namespaces, oyAlloc_f allocateFunc)
 get filter options XFORMS
const char * oyFilterNode_GetText (oyFilterNode_s *node, oyNAME_e name_type)
 serialise filter node to text
OYAPI int OYEXPORT oyFilterNode_GetId (oyFilterNode_s *node)
 get the object Id
oyPointer oyFilterNode_TextToInfo_ (oyFilterNode_s *node, size_t *size, oyAlloc_f allocateFunc)
 serialise filter node to binary
oyStruct_s * oyFilterNode_DataGet (oyFilterNode_s *node, int socket_pos)
 get process data from a filter socket
int oyFilterNode_DataSet (oyFilterNode_s *node, oyStruct_s *data, int socket_pos, oyObject_s *object)
 Set process data to a filter socket.
OYAPI oyFilterGraph_s *OYEXPORT oyFilterGraph_FromNode (oyFilterNode_s *node, int flags)
 get a graphs adjazency list
OYAPI int OYEXPORT oyFilterGraph_SetFromNode (oyFilterGraph_s *graph, oyFilterNode_s *node, const char *mark, int flags)
 get a graphs adjazency list

Data Fields

oyStruct_Copy_f copy
oyStruct_Release_f release
oyFilterPlug_s ** plugs
int plugs_n_
oyFilterSocket_s ** sockets
int sockets_n_
oyFilterCore_score
oyOptions_s * tags
oyPointer_s * backend_data
oyCMMapi7_sapi7_

Detailed Description

a FilterNode object

Filter nodes chain filters into a oyConversion_s graph. The filter nodes use plugs and sockets for creating connections. Each plug can only connect to one socket.

dot_inline_dotgraph_14.png

This object provides support for separation of options from chaining. So it will be possible to implement options changing, which can affect the same filter instance in different graphs.

A oyFilterNode_s can have various oyFilterPlug_s ' to obtain data from different sources. The required number is described in the oyCMMapi4_s structure, which is part of oyFilterCore_s.

dot_inline_dotgraph_15.png

oyFilterSocket_s is designed to accept arbitrary numbers of connections to allow for viewing on a filters data output or observe its state changes.

dot_inline_dotgraph_16.png
Version:
Oyranos: 0.1.9
Since:
2008/07/08 (Oyranos: 0.1.8)
Date:
2008/12/16

Field Documentation

oyStruct_Copy_f oyFilterNode_s::copy

copy function

readonly number of inputs

Referenced by oyFilterNode_Create(), and oyFilterNode_EdgeCount().

oyStruct_Release_f oyFilterNode_s::release

release function

Referenced by oyFilterNode_New().

readonly number of outputs

Referenced by oyFilterNode_Create(), and oyFilterNode_EdgeCount().

oyOptions_s* oyFilterNode_s::tags

infos, e.g. group markers

Referenced by oyFilterGraph_s::oyFilterGraph_GetNode(), and oyFilterNode_Release().