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

A FilterNode object. More...

#include <oyFilterNode_s.h>

Inheritance diagram for oyFilterNode_s:
Inheritance graph
Collaboration diagram for oyFilterNode_s:
Collaboration graph

Public Member Functions

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_New (oyObject_s object)
 allocate a new FilterNode object More...
 
OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_Copy (oyFilterNode_s *filternode, oyObject_s object)
 copy or reference a FilterNode object More...
 
OYAPI int OYEXPORT oyFilterNode_Release (oyFilterNode_s **filternode)
 release and possibly deallocate a oyFilterNode_s object More...
 
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. More...
 
OYAPI int OYEXPORT oyFilterNode_ConnectorMatch (oyFilterNode_s *node_first, int pos_first, oyFilterPlug_s *plug)
 Check if a connector match to a FilterNode. More...
 
oyFilterNode_soyFilterNode_Create (oyFilterCore_s *filter, oyObject_s object)
 Initialise a new filter node object properly. More...
 
oyStruct_soyFilterNode_GetData (oyFilterNode_s *node, int socket_pos)
 Get process data from a filter socket. More...
 
int oyFilterNode_SetData (oyFilterNode_s *node, oyStruct_s *data, int socket_pos, oyObject_s *object)
 Set process data to a filter socket. More...
 
int oyFilterNode_Disconnect (oyFilterNode_s *node, int pos)
 Disconnect two nodes by a edge. More...
 
int oyFilterNode_EdgeCount (oyFilterNode_s *node, int is_input, int flags)
 Count real and potential connections to a filter node object. More...
 
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. More...
 
OYAPI int OYEXPORT oyFilterNode_GetId (oyFilterNode_s *node)
 Get the object Id. More...
 
OYAPI oyFilterPlug_s *OYEXPORT oyFilterNode_GetPlug (oyFilterNode_s *node, int pos)
 Get a oyFilterPlug_s of type from a FilterNode. More...
 
OYAPI int OYEXPORT oyFilterNode_Run (oyFilterNode_s *node, oyFilterPlug_s *plug, oyPixelAccess_s *ticket)
 Run a connected oyFilterPlug_s through the FilterNode. More...
 
OYAPI oyFilterSocket_s *OYEXPORT oyFilterNode_GetSocket (oyFilterNode_s *node, int pos)
 Get a oyFilterSocket_s of type from a FilterNode. More...
 
OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetSocketNode (oyFilterNode_s *node, int pos, int plugs_pos)
 Get a neighbouring oyFilterNode_s. More...
 
OYAPI int OYEXPORT oyFilterNode_CountSocketNodes (oyFilterNode_s *node, int pos, int flags)
 Get a neighbouring oyFilterNode_s. More...
 
OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetPlugNode (oyFilterNode_s *node, int pos)
 Get a neighbouring oyFilterNode_s. More...
 
const char * oyFilterNode_GetText (oyFilterNode_s *node, oyNAME_e name_type)
 Serialise filter node to text. More...
 
oyFilterNode_soyFilterNode_NewWith (const char *registration, oyOptions_s *options, oyObject_s object)
 Initialise a new filter node object properly. More...
 
OYAPI oyConnector_s *OYEXPORT oyFilterNode_ShowConnector (oyFilterNode_s *node, int as_pos, int is_plug)
 Get a connector description from a filter module. More...
 
OYAPI oyFilterCore_s *OYEXPORT oyFilterNode_GetCore (oyFilterNode_s *node)
 Get filter core. More...
 
OYAPI const char *OYEXPORT oyFilterNode_GetRegistration (oyFilterNode_s *node)
 Get filter core registration. More...
 
OYAPI const char *OYEXPORT oyFilterNode_GetRelatives (oyFilterNode_s *node)
 Get filter relatives string. More...
 
OYAPI const char *OYEXPORT oyFilterNode_GetModuleName (oyFilterNode_s *node)
 Get filter core module string. More...
 
OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetContext (oyFilterNode_s *node)
 Get module data. More...
 
OYAPI int OYEXPORT oyFilterNode_SetContext (oyFilterNode_s *node, oyPointer_s *data)
 Set module data. More...
 
oyBlob_soyFilterNode_ToBlob (oyFilterNode_s *node, oyObject_s object)
 Node context to binary blob. More...
 
OYAPI oyOptions_s *OYEXPORT oyFilterNode_GetTags (oyFilterNode_s *node)
 Get filter tags. More...
 
OYAPI int OYEXPORT oyFilterNode_SetBackendContext (oyFilterNode_s *obj, oyPointer_s *ptr)
 set backend specific runtime data More...
 
OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetBackendContext (oyFilterNode_s *obj)
 get backend specific runtime data More...
 
oyOptions_soyFilterNode_GetOptions (oyFilterNode_s *node, int flags)
 Get filter options. More...
 
int oyFilterNode_GetUi (oyFilterNode_s *node, char **ui_text, char ***namespaces, oyAlloc_f allocateFunc)
 Get filter options XFORMS. More...
 
- Public Member Functions inherited from oyStruct_s
const char * oyStruct_GetTextFromModule (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
 get object infos from a module More...
 
const char * oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
 get a text dump More...
 

Data Fields

const oyOBJECT_e type_
 Type of object. More...
 
oyStruct_Copy_f copy
 Copy function. More...
 
oyStruct_Release_f release
 Release function. More...
 
oyObject_s oy_
 Oyranos internal object. More...
 
- Data Fields inherited from oyStruct_s
const oyOBJECT_e type_
 Type of object. More...
 
oyStruct_Copy_f copy
 Copy function. More...
 
oyStruct_Release_f release
 Release function. More...
 
oyObject_s oy_
 Oyranos internal object. More...
 

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_5.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. Options and UI data is defined in the oyCMMapi4_s structure, which is part of the oyFilterCore_s part of a oyFilterNode_s.

A oyFilterNode_s can have various oyFilterPlug_s ' to obtain data from different sources. The required number is described in the oyCMMapi7_s structure. This structure defines as well the data processing method for running the DAC.

dot_inline_dotgraph_6.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_7.png
Version
Oyranos: 0.1.9
Since
2008/07/08 (Oyranos: 0.1.8)
Date
2008/12/16

Member Function Documentation

◆ oyFilterNode_Connect()

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.

Function oyFilterNode_Connect

Parameters
inputthe node to provide a socket
socket_nickname of socket
outputthe node providing a plug
plug_nickname of plug
flagsunused
Returns
error
Version
Oyranos: 0.1.10
Since
2009/02/26 (Oyranos: 0.1.10)
Date
2009/02/26

References OY_FILTEREDGE_FREE, oyFilterCore_s::oyFilterCore_GetName(), oyFilterNode_ConnectorMatch(), oyFilterNode_EdgeCount(), oyFilterNode_GetConnectorPos(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), oyFilterPlug_s::oyFilterPlug_ConnectIntoSocket(), oyNAME_NAME, and oyOBJECT_FILTER_NODE_S.

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), and oyConversion_CreateFromImage().

◆ oyFilterNode_ConnectorMatch()

OYAPI int OYEXPORT oyFilterNode_ConnectorMatch ( oyFilterNode_s node_first,
int  pos_first,
oyFilterPlug_s plug 
)

Check if a connector match to a FilterNode.

Function oyFilterNode_ConnectorMatch

Parameters
node_firstfirst node
pos_firstposition of connector from first node
plugsecond connector
Version
Oyranos: 0.1.8
Since
2008/07/29 (Oyranos: 0.1.8)
Date
2008/07/29

Check if basic types match.
More detailed checking is done in oyCMMapi5_s.

References oyConnector_s::oyConnector_GetMatch(), oyConnector_s::oyConnector_GetReg(), oyConnector_s::oyConnector_Release(), oyFILTER_REG_TYPE, oyFilterNode_GetSocket(), oyFilterNode_ShowConnector(), oyFilterRegistrationMatch(), oyFilterRegistrationToText(), oyFilterSocket_s::oyFilterSocket_Release(), oyOBJECT_FILTER_NODE_S, and type_.

Referenced by oyFilterNode_Connect().

◆ oyFilterNode_Copy()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_Copy ( oyFilterNode_s filternode,
oyObject_s  object 
)

copy or reference a FilterNode object

Function oyFilterNode_Copy

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

Parameters
[in]filternodeFilterNode struct object
objectNULL - means reference, the optional object triggers a real copy

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_GetPlug(), oyFilterNode_GetPlugNode(), oyFilterNode_GetSocket(), oyFilterNode_GetSocketNode(), oyFilterPlug_s::oyFilterPlug_GetNode(), and oyFilterSocket_s::oyFilterSocket_GetNode().

◆ oyFilterNode_CountSocketNodes()

OYAPI int OYEXPORT oyFilterNode_CountSocketNodes ( oyFilterNode_s node,
int  pos,
int  flags 
)

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_CountSocketNodes

Parameters
nodefilter node
posconnector position
flagsspecify which number to return
Returns
the number of possible edges
Version
Oyranos: 0.5.0
Since
2012/10/03 (Oyranos: 0.5.0)
Date
2012/10/03

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_Create()

oyFilterNode_s * oyFilterNode_Create ( oyFilterCore_s filter,
oyObject_s  object 
)

Initialise a new filter node object properly.

Function oyFilterNode_Create

Parameters
filterthe mandatory filter
objectthe optional object
Version
Oyranos: 0.1.8
Since
2008/07/30 (Oyranos: 0.1.8)
Date
2008/07/30 TODO select oyCMMapi7_s over registration string

References oy_, oyFilterCore_s::oyFilterCore_Copy(), and oyFilterNode_New().

Referenced by oyFilterNode_NewWith().

◆ oyFilterNode_Disconnect()

int oyFilterNode_Disconnect ( oyFilterNode_s node,
int  pos 
)

Disconnect two nodes by a edge.

Function oyFilterNode_Disconnect

Parameters
nodea node
posthe plug number to release
Returns
error
Version
Oyranos: 0.5.0
Date
2012/09/25
Since
2009/03/04 (Oyranos: 0.1.10)

References oyCONNECTOR_EVENT_RELEASED, oyFilterSocket_s::oyFilterSocket_Callback(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_EdgeCount()

int oyFilterNode_EdgeCount ( oyFilterNode_s node,
int  is_input,
int  flags 
)

Count real and potential connections to a filter node object.

Function oyFilterNode_EdgeCount

Parameters
nodethe node
is_input1 - plugs; 0 - sockets
flagsspecify which number to return
Returns
the number of possible edges
Version
Oyranos: 0.1.10
Since
2009/02/24 (Oyranos: 0.1.10)
Date
2009/02/27

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_GetPlug(), and oyFilterNode_GetSocket().

◆ oyFilterNode_GetBackendContext()

OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetBackendContext ( oyFilterNode_s obj)

get backend specific runtime data

Backend context is used by a filter type during execution. That is apart from a filter, which can have it's object data associated through a oyFilterNode_GetContext().

Parameters
[in]objthe node object
Returns
the context needed to run the filter type
Version
Oyranos: 0.9.5
Date
2013/12/19
Since
2013/12/19 (Oyranos: 0.9.5)

References oyCMMapi7_s::oyCMMapi7_GetBackendContext(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetConnectorPos()

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.

Function oyFilterNode_GetConnectorPos

Parameters
nodefilter node
is_input1 - plugs; 0 - sockets
patternthe pattern to be found in the oyConnector_s::connector_type of the searched plug or socket. Its a registration string. E.g. a typical data connection: "//" OY_TYPE_STD "/data"
nth_of_typethe position in the group of the connector type for this filter; Note this parameter makes only sense for the last filter defined connector, as only this one can occure multiple times.
flagsspecify which status to return
Returns
the absolute position
Version
Oyranos: 0.1.10
Since
2009/02/26 (Oyranos: 0.1.10)
Date
2009/11/02

References oyConnector_s::oyConnector_GetReg(), oyFilterRegistrationMatch(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterNode_Connect().

◆ oyFilterNode_GetContext()

OYAPI oyPointer_s *OYEXPORT oyFilterNode_GetContext ( oyFilterNode_s node)

Get module data.

the filters private data, requested over oyCMMapi4_s::oyCMMFilterNode_ContextToMem() and converted to oyCMMapi4_s::context_type

Parameters
[in,out]nodefilter object
Returns
the data
Version
Oyranos: 0.9.5
Date
2013/12/22
Since
2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S, and oyPointer_s::oyPointer_Copy().

◆ oyFilterNode_GetCore()

OYAPI oyFilterCore_s *OYEXPORT oyFilterNode_GetCore ( oyFilterNode_s node)

Get filter core.

Function oyFilterNode_GetCore

Parameters
[in,out]nodefilter object
Returns
the core
Version
Oyranos: 0.5.0
Date
2012/09/15
Since
2012/09/15 (Oyranos: 0.1.10)

References oyFilterCore_s::oyFilterCore_Copy(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText().

◆ oyFilterNode_GetData()

oyStruct_s * oyFilterNode_GetData ( oyFilterNode_s node,
int  socket_pos 
)

Get process data from a filter socket.

Function oyFilterNode_GetData

Parameters
[in]nodefilter node
[in]socket_posposition of socket
Returns
the data
Version
Oyranos: 0.1.10
Since
2009/03/05 (Oyranos: 0.1.10)
Date
2009/03/05

References oyStruct_s::copy, oyFilterNode_GetSocket(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetId()

OYAPI int OYEXPORT oyFilterNode_GetId ( oyFilterNode_s node)

Get the object Id.

Function oyFilterNode_GetId

Parameters
[in]nodefilter node
Returns
the object Id
Version
Oyranos: 0.1.10
Since
2009/02/25 (Oyranos: 0.1.10)
Date
2009/02/25

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetModuleName()

OYAPI const char *OYEXPORT oyFilterNode_GetModuleName ( oyFilterNode_s node)

Get filter core module string.

Function oyFilterNode_GetModuleName

Parameters
[in,out]nodefilter object
Returns
the debug string
Version
Oyranos: 0.5.0
Date
2012/10/04
Since
2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetOptions()

oyOptions_s * oyFilterNode_GetOptions ( oyFilterNode_s node,
int  flags 
)

Get filter options.

Function oyFilterNode_GetOptions

Options are typical user visible settings, which can be presistently stored as user preferences and can be displayed in filter dialogs.

Parameters
[in,out]nodefilter object
flagssee oyOptions_s::oyOptions_ForFilter()
Returns
the options
Version
Oyranos: 0.5.0
Since
2008/06/26 (Oyranos: 0.1.8)
Date
2012/06/12

Observe exported options for changes and propagate to a existing graph.

References oyBOOLEAN_UNION, oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Copy(), oyOptions_s::oyOptions_Filter(), oyOptions_s::oyOptions_ForFilter_(), oyOptions_s::oyOptions_New(), and oyOptions_s::oyOptions_ObserverAdd().

Referenced by oyFilterNode_GetUi(), oyFilterPlug_s::oyFilterPlug_ResolveImage(), oyImage_FromFile(), and oyImage_ToFile().

◆ oyFilterNode_GetPlug()

OYAPI oyFilterPlug_s *OYEXPORT oyFilterNode_GetPlug ( oyFilterNode_s node,
int  pos 
)

Get a oyFilterPlug_s of type from a FilterNode.

Function oyFilterNode_GetPlug

Parameters
nodefilter node
posposition of connector from filter
Returns
the plug
Version
Oyranos: 0.1.8
Since
2008/07/30 (Oyranos: 0.1.8)
Date
2008/07/30

References oy_, oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterPlug_s::oyFilterPlug_Copy(), oyFilterPlug_s::oyFilterPlug_New(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyConversion_s::oyConversion_GetOnePixel(), and oyFilterNode_Connect().

◆ oyFilterNode_GetPlugNode()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetPlugNode ( oyFilterNode_s node,
int  pos 
)

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_GetPlugNode

Parameters
nodefilter node
posconnector position
Returns
the node
Version
Oyranos: 0.5.0
Since
2012/10/03 (Oyranos: 0.5.0)
Date
2012/10/03

References oyFilterNode_Copy(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetRegistration()

OYAPI const char *OYEXPORT oyFilterNode_GetRegistration ( oyFilterNode_s node)

Get filter core registration.

Function oyFilterNode_GetRegistration

Parameters
[in,out]nodefilter object
Returns
the registration string
Version
Oyranos: 0.5.0
Date
2012/09/15
Since
2012/09/15 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetRelatives()

OYAPI const char *OYEXPORT oyFilterNode_GetRelatives ( oyFilterNode_s node)

Get filter relatives string.

Function oyFilterNode_GetRelatives

Parameters
[in,out]nodefilter object
Returns
the debug string
Version
Oyranos: 0.5.0
Date
2012/10/04
Since
2012/10/04 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetSocket()

OYAPI oyFilterSocket_s *OYEXPORT oyFilterNode_GetSocket ( oyFilterNode_s node,
int  pos 
)

Get a oyFilterSocket_s of type from a FilterNode.

Function oyFilterNode_GetSocket

Parameters
nodefilter node
posabsolute position of connector
Returns
the socket
Version
Oyranos: 0.1.8
Since
2008/07/30 (Oyranos: 0.1.8)
Date
2008/07/30

References oy_, oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterSocket_s::oyFilterSocket_Copy(), oyFilterSocket_s::oyFilterSocket_New(), and oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_ConnectorMatch(), oyFilterNode_GetData(), and oyFilterNode_SetData().

◆ oyFilterNode_GetSocketNode()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetSocketNode ( oyFilterNode_s node,
int  pos,
int  plugs_pos 
)

Get a neighbouring oyFilterNode_s.

Function oyFilterNode_GetSocketNode

Parameters
nodefilter node
posconnector position
plugs_posposition in plug list
Returns
the node
Version
Oyranos: 0.5.0
Since
2012/10/03 (Oyranos: 0.5.0)
Date
2012/10/03

References oyFilterNode_Copy(), oyFilterPlug_s::oyFilterPlug_Release(), oyFilterPlugs_s::oyFilterPlugs_Get(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_GetTags()

OYAPI oyOptions_s *OYEXPORT oyFilterNode_GetTags ( oyFilterNode_s node)

Get filter tags.

Function oyFilterNode_GetTags

Tags are non persistent informations. Typical they are not directly user visible other than filter core options, which can appear inside dialogs.

Parameters
[in,out]nodefilter object
Returns
the tags
Version
Oyranos: 0.5.0
Date
2012/09/15
Since
2012/09/15 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Copy(), and oyOptions_s::oyOptions_New().

◆ oyFilterNode_GetText()

const char * oyFilterNode_GetText ( oyFilterNode_s node,
oyNAME_e  name_type 
)

Serialise filter node to text.

Function oyFilterNode_GetText

Serialise into:

  • oyNAME_NICK: XML ID
  • oyNAME_NAME: XML from module
  • oyNAME_DESCRIPTION: ??

This function provides a complete description of the context. It might be more adequate to use only a subset for hashing as not all data and options might have an effect to the context data result. The oyCMMapi4_s::oyCMMFilterNode_GetText() function provides a way to let a module decide about what to place into a hash text.

Parameters
[in,out]nodefilter node
[out]name_typethe type
Returns
the text
Version
Oyranos: 0.3.3
Date
2011/11/22
Since
2008/07/17 (Oyranos: 0.1.8)

References oyNAME_NAME, and oyNAME_NICK.

◆ oyFilterNode_GetUi()

int oyFilterNode_GetUi ( oyFilterNode_s node,
char **  ui_text,
char ***  namespaces,
oyAlloc_f  allocateFunc 
)

Get filter options XFORMS.

Function oyFilterNode_GetUi

Parameters
[in,out]nodefilter object
[out]ui_textXFORMS fitting to the node Options
[out]namespacesadditional XML namespaces
allocateFuncoptional user allocator
Returns
the options
Version
Oyranos: 0.5.0
Since
2009/07/29 (Oyranos: 0.1.10)
Date
2012/06/12

References oyFILTER_REG_TYPE, oyFilterNode_GetOptions(), oyFilterRegistrationToText(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_New()

OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_New ( oyObject_s  object)

allocate a new FilterNode object

Function oyFilterNode_New

References oyOBJECT_OBJECT_S.

Referenced by oyFilterNode_Create().

◆ oyFilterNode_NewWith()

oyFilterNode_s * oyFilterNode_NewWith ( const char *  registration,
oyOptions_s options,
oyObject_s  object 
)

Initialise a new filter node object properly.

Function oyFilterNode_NewWith

Parameters
registrationa registration string,
See also
module_api
Parameters
optionsoptions for the filter
objectthe optional object
Version
Oyranos: 0.1.10
Since
2009/03/05 (Oyranos: 0.1.10)
Date
2009/06/24

References oyFilterCore_s::oyFilterCore_NewWith(), oyFilterCore_s::oyFilterCore_Release(), and oyFilterNode_Create().

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), oyConversion_CreateFromImage(), oyImage_FromFile(), and oyImage_ToFile().

◆ oyFilterNode_Release()

OYAPI int OYEXPORT oyFilterNode_Release ( oyFilterNode_s **  filternode)

release and possibly deallocate a oyFilterNode_s object

Function oyFilterNode_Release

Parameters
[in,out]filternodeFilterNode struct object

References oyOBJECT_FILTER_NODE_S.

Referenced by oyFilterGraph_s::oyFilterGraph_CountNodes(), oyFilterGraph_s::oyFilterGraph_GetNode(), and oyFilterGraph_s::oyFilterGraph_PrepareContexts().

◆ oyFilterNode_Run()

OYAPI int OYEXPORT oyFilterNode_Run ( oyFilterNode_s node,
oyFilterPlug_s plug,
oyPixelAccess_s ticket 
)

Run a connected oyFilterPlug_s through the FilterNode.

Function oyFilterNode_Run

Parameters
nodefilter node
plugthe plug
ticketthe job ticket
Returns
error
Version
Oyranos: 0.5.0
Date
2012/09/24
Since
2012/09/24 (Oyranos: 0.5.0)

References oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_SetBackendContext()

OYAPI int OYEXPORT oyFilterNode_SetBackendContext ( oyFilterNode_s obj,
oyPointer_s ptr 
)

set backend specific runtime data

Runtime data can be used as context by a backend during execution. The data is typical set during oyCMMapi7_s creation. This function provides access for a backend inside a DAC in order to change that data during backend lifetime.

That data is apart from a filter object, which can have lifetime data associated through a oyFilterNode_GetContext(). A filter connector can have its processing data associated through oyFilterNode_SetData().

Parameters
[in,out]objthe node object
[in]ptrthe data needed to run the filter type
Returns
error
Version
Oyranos: 0.9.5
Date
2013/12/23
Since
2013/12/19 (Oyranos: 0.9.5)

References oyCMMapi7_s::oyCMMapi7_SetBackendContext(), and oyOBJECT_FILTER_NODE_S.

◆ oyFilterNode_SetContext()

OYAPI int OYEXPORT oyFilterNode_SetContext ( oyFilterNode_s node,
oyPointer_s data 
)

◆ oyFilterNode_SetData()

int oyFilterNode_SetData ( oyFilterNode_s node,
oyStruct_s data,
int  socket_pos,
oyObject_s *  object 
)

Set process data to a filter socket.

Function oyFilterNode_SetData

Parameters
[in,out]nodefilter node
[in]datadata
[in]socket_posposition of socket
[in]objecta object to not only set a reference
Returns
error
Version
Oyranos: 0.1.10
Since
2009/03/05 (Oyranos: 0.1.10)
Date
2009/03/05

References oyStruct_s::copy, oyFilterNode_GetSocket(), oyFilterSocket_s::oyFilterSocket_Release(), oyOBJECT_FILTER_NODE_S, and oyFilterSocket_s::release.

Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), oyConversion_CreateFromImage(), oyFilterPlug_s::oyFilterPlug_ResolveImage(), and oyImage_ToFile().

◆ oyFilterNode_ShowConnector()

OYAPI oyConnector_s *OYEXPORT oyFilterNode_ShowConnector ( oyFilterNode_s node,
int  as_pos,
int  is_plug 
)

Get a connector description from a filter module.

Function oyFilterNode_ShowConnector

The path to obtain a new connector. The filter can say it has more connectors to provide for a certain kind of static connector eigther described in oyCMMapi4_s::inputs or oyCMMapi4_s::outputs.

Parameters
[in]nodethe module filter node
[in]as_posthe according oyConnector_s
[in]is_plugselect from 0 - plugs or 1 - sockets
Returns
the new oyConnector_s
Version
Oyranos: 0.1.10
Since
2008/07/28 (Oyranos: 0.1.8)
Date
2008/12/27

References oyOBJECT_FILTER_NODE_S, and type_.

Referenced by oyFilterNode_ConnectorMatch(), oyFilterNode_GetPlug(), and oyFilterNode_GetSocket().

◆ oyFilterNode_ToBlob()

oyBlob_s * oyFilterNode_ToBlob ( oyFilterNode_s node,
oyObject_s  object 
)

Node context to binary blob.

Typical a context from a CMM will be returned. It is a intermediate context from oyCMMapi4_s backend. A converted context, which is ready for precessing by oyCMMapi7_s backends, is stored inside the node and can be obtained by oyFilterNode_GetContext().

Parameters
nodenode object
objectthe optional object
Returns
the data blob
Version
Oyranos: 0.9.5
Since
2014/01/25 (Oyranos: 0.9.5)
Date
2014/01/25

References oyBlob_s::oyBlob_GetPointer(), oyBlob_s::oyBlob_GetSize(), oyBlob_s::oyBlob_New(), oyBlob_s::oyBlob_Release(), and oyOBJECT_FILTER_NODE_S.

Field Documentation

◆ copy

oyStruct_Copy_f oyFilterNode_s::copy

Copy function.

◆ oy_

oyObject_s oyFilterNode_s::oy_

Oyranos internal object.

Features name and hash. Do not change during object life time.

Referenced by oyFilterNode_Create(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), and oyFilterPlug_s::oyFilterPlug_ResolveImage().

◆ release

oyStruct_Release_f oyFilterNode_s::release

Release function.

◆ type_

const oyOBJECT_e oyFilterNode_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.

Referenced by oyFilterNode_ConnectorMatch(), oyFilterNode_ShowConnector(), and oyFilterNodes_s::oyFilterNodes_MoveIn().