![]() |
Oyranos Color Management System API |
A FilterNode object. More...
#include <oyFilterNode_s.h>
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_s * | oyFilterNode_Create (oyFilterCore_s *filter, oyObject_s object) |
Initialise a new filter node object properly. More... | |
oyStruct_s * | oyFilterNode_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_s * | oyFilterNode_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_s * | oyFilterNode_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... | |
void | oyFilterNode_Release__Members (oyFilterNode_s_ *filternode) |
Custom FilterNode destructor. More... | |
int | oyFilterNode_Init__Members (oyFilterNode_s_ *filternode) |
Custom FilterNode constructor. More... | |
int | oyFilterNode_Copy__Members (oyFilterNode_s_ *dst, oyFilterNode_s_ *src) |
Custom FilterNode copy constructor. More... | |
int | oyFilterNode_AddToAdjacencyLst_ (oyFilterNode_s_ *s, oyFilterNodes_s_ *nodes, oyFilterPlugs_s_ *edges, const char *mark, int flags) |
Get a graphs adjazency list. More... | |
int | oyFilterNode_SetContext_ (oyFilterNode_s_ *node, oyBlob_s_ *blob) |
Set module context in a filter. More... | |
oyStructList_s * | oyFilterNode_GetData_ (oyFilterNode_s_ *node, int get_plug) |
Get the processing data from a filter node. More... | |
oyFilterNode_s * | oyFilterNode_GetLastFromLinear_ (oyFilterNode_s_ *first) |
Get last node from a linear graph. More... | |
oyFilterNode_s * | oyFilterNode_GetNextFromLinear_ (oyFilterNode_s_ *first) |
Get next node from a linear graph. More... | |
oyPointer | oyFilterNode_TextToInfo_ (oyFilterNode_s_ *node, size_t *size, oyAlloc_f allocateFunc) |
Serialise filter node to binary. More... | |
oyOptions_s * | oyFilterNode_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... | |
![]() | |
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... | |
![]() | |
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... | |
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.
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.
oyFilterSocket_s is designed to accept arbitrary numbers of connections to allow for viewing on a filters data output or observe its state changes.
int oyFilterNode_AddToAdjacencyLst_ | ( | oyFilterNode_s_ * | s, |
oyFilterNodes_s_ * | nodes, | ||
oyFilterPlugs_s_ * | edges, | ||
const char * | mark, | ||
int | flags | ||
) |
Get a graphs adjazency list.
Function oyFilterNode_AddToAdjacencyLst_
References oyFilterNode_EdgeCount(), oyFilterNode_GetText(), oyFilterPlugs_s::oyFilterPlugs_Count(), oyFilterPlugs_s::oyFilterPlugs_Get(), and oyNAME_NICK.
Referenced by oyFilterGraph_s::oyFilterGraph_SetFromNode().
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
input | the node to provide a socket |
socket_nick | name of socket |
output | the node providing a plug |
plug_nick | name of plug |
flags | unused |
References oy_, OY_FILTEREDGE_FREE, oyFilterCore_s::oyFilterCore_GetName(), oyFilterNode_ConnectorMatch(), oyFilterNode_EdgeCount(), oyFilterNode_GetConnectorPos(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), oyFilterPlug_s::oyFilterPlug_ConnectIntoSocket(), oyNAME_NAME, oyOBJECT_FILTER_NODE_S, and oyObject_s::oyObject_GetId().
Referenced by oyConversion_s::oyConversion_CreateBasicPixels(), oyConversion_CreateFromImage(), oyImage_FromFile(), and oyImage_ToFile().
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
node_first | first node |
pos_first | position of connector from first node |
plug | second connector |
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().
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.
[in] | filternode | FilterNode struct object |
object | NULL - means reference, the optional object triggers a real copy |
References oyOBJECT_FILTER_NODE_S.
Referenced by oyConversion_s::oyConversion_Copy__Members(), oyConversion_s::oyConversion_GetNode(), oyFilterNode_Copy__Members(), oyFilterNode_GetPlug(), oyFilterNode_GetPlugNode(), oyFilterNode_GetSocket(), oyFilterNode_GetSocketNode(), oyFilterPlug_s::oyFilterPlug_Copy__Members(), oyFilterPlug_s::oyFilterPlug_GetNode(), oyFilterSocket_s::oyFilterSocket_Copy__Members(), oyFilterSocket_s::oyFilterSocket_GetNode(), and oyOptions_Handle().
int oyFilterNode_Copy__Members | ( | oyFilterNode_s_ * | dst, |
oyFilterNode_s_ * | src | ||
) |
Custom FilterNode copy constructor.
Function oyFilterNode_Copy__Members
References oyFilterNode_Copy(), oyFilterNode_Create(), oyFilterNode_EdgeCount(), oyFilterNode_Init__Members(), oyFilterNode_Release(), oyFilterNode_Release__Members(), oyObject_s::oyObject_Copy(), oyOBJECT_FILTER_NODE_S, oyObject_s::oyObject_GetRefCount(), oyObject_s::oyObject_NewFrom(), oyObject_s::oyObject_Release(), oyObject_s::oyObject_SetParent(), oyObject_s::oyObject_UnRef(), and release.
OYAPI int OYEXPORT oyFilterNode_CountSocketNodes | ( | oyFilterNode_s * | node, |
int | pos, | ||
int | flags | ||
) |
Get a neighbouring oyFilterNode_s.
Function oyFilterNode_CountSocketNodes
node | filter node |
pos | connector position |
flags | specify which number to return
|
References oyFilterPlugs_s::oyFilterPlugs_Count(), and oyOBJECT_FILTER_NODE_S.
oyFilterNode_s * oyFilterNode_Create | ( | oyFilterCore_s * | filter, |
oyObject_s | object | ||
) |
Initialise a new filter node object properly.
Function oyFilterNode_Create
filter | the mandatory filter |
object | the optional object |
References oy_, oyFilterCore_s::oyFilterCore_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_New(), oyFilterNode_Release(), oyOBJECT_CMM_API7_S, and oyObject_s::oyObject_GetId().
Referenced by oyFilterNode_Copy__Members(), and oyFilterNode_NewWith().
int oyFilterNode_Disconnect | ( | oyFilterNode_s * | node, |
int | pos | ||
) |
Disconnect two nodes by a edge.
Function oyFilterNode_Disconnect
node | a node |
pos | the plug number to release |
References oyCONNECTOR_EVENT_RELEASED, oyFilterSocket_s::oyFilterSocket_Callback(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.
int oyFilterNode_EdgeCount | ( | oyFilterNode_s * | node, |
int | is_input, | ||
int | flags | ||
) |
Count real and potential connections to a filter node object.
Function oyFilterNode_EdgeCount
node | the node |
is_input | 1 - plugs; 0 - sockets |
flags | specify which number to return
|
References oyFilterPlugs_s::oyFilterPlugs_Count(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_AddToAdjacencyLst_(), oyFilterNode_Connect(), oyFilterNode_Copy__Members(), oyFilterNode_Create(), oyFilterNode_GetData_(), oyFilterNode_GetPlug(), oyFilterNode_GetSocket(), oyFilterNode_Release__Members(), oyFilterNode_ShowConnector(), oyFilterNode_TextToInfo_(), and oyFilterSocket_s::oyFilterSocket_SignalToGraph().
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().
[in] | obj | the node object |
References oyCMMapi7_s::oyCMMapi7_GetBackendContext(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterNode_SetBackendContext().
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
node | filter node |
is_input | 1 - plugs; 0 - sockets |
pattern | the 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_type | the 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. |
flags | specify which status to return
|
References oyConnector_s::oyConnector_GetReg(), oyFilterPlugs_s::oyFilterPlugs_Count(), oyFilterRegistrationMatch(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterNode_Connect(), and oyFilterSocket_s::oyFilterSocket_SignalToGraph().
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
[in,out] | node | filter object |
References oyFilterNode_SetContext(), oyOBJECT_FILTER_NODE_S, and oyPointer_s::oyPointer_Copy().
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), and oyFilterNode_GetModuleName().
OYAPI oyFilterCore_s *OYEXPORT oyFilterNode_GetCore | ( | oyFilterNode_s * | node | ) |
Get filter core.
Function oyFilterNode_GetCore
[in,out] | node | filter object |
References oyFilterCore_s::oyFilterCore_Copy(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterGraph_s::oyFilterGraph_ToText().
oyStruct_s * oyFilterNode_GetData | ( | oyFilterNode_s * | node, |
int | socket_pos | ||
) |
Get process data from a filter socket.
Function oyFilterNode_GetData
[in] | node | filter node |
[in] | socket_pos | position of socket |
References oyStruct_s::copy, oyFilterNode_GetSocket(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOBJECT_FILTER_NODE_S.
oyStructList_s * oyFilterNode_GetData_ | ( | oyFilterNode_s_ * | node, |
int | get_plug | ||
) |
Get the processing data from a filter node.
Function oyFilterNode_GetData_
References oyStruct_s::copy, oyFilterNode_EdgeCount(), oyOption_s::oyOption_New(), oyStructList_s::oyStructList_MoveIn(), and oyStructList_s::oyStructList_New().
Referenced by oyFilterNode_GetText().
OYAPI int OYEXPORT oyFilterNode_GetId | ( | oyFilterNode_s * | node | ) |
Get the object Id.
Function oyFilterNode_GetId
[in] | node | filter node |
References oy_, oyOBJECT_FILTER_NODE_S, and oyObject_s::oyObject_GetId().
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), and oyFilterNode_SetContext_().
oyFilterNode_s * oyFilterNode_GetLastFromLinear_ | ( | oyFilterNode_s_ * | first | ) |
Get last node from a linear graph.
Function oyFilterNode_GetLastFromLinear_
References oyFilterNode_GetNextFromLinear_().
OYAPI const char *OYEXPORT oyFilterNode_GetModuleName | ( | oyFilterNode_s * | node | ) |
Get filter core module string.
Function oyFilterNode_GetModuleName
[in,out] | node | filter object |
References oyFilterNode_GetContext(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterNode_GetRelatives().
oyFilterNode_s * oyFilterNode_GetNextFromLinear_ | ( | oyFilterNode_s_ * | first | ) |
Get next node from a linear graph.
Function oyFilterNode_GetNextFromLinear_
References oyFilterPlug_s::oyFilterPlug_Release(), and oyFilterPlugs_s::oyFilterPlugs_Get().
Referenced by oyFilterNode_GetLastFromLinear_().
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.
[in,out] | node | filter object |
flags | see oyOptions_s::oyOptions_ForFilter() |
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 oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_GetUi(), oyFilterPlug_s::oyFilterPlug_ResolveImage(), oyImage_FromFile(), and oyImage_ToFile().
OYAPI oyFilterPlug_s *OYEXPORT oyFilterNode_GetPlug | ( | oyFilterNode_s * | node, |
int | pos | ||
) |
Get a oyFilterPlug_s of type from a FilterNode.
Function oyFilterNode_GetPlug
node | filter node |
pos | position of connector from filter |
References oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterPlug_s::oyFilterPlug_Copy(), oyFilterPlug_s::oyFilterPlug_New(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyConversion_s::oyConversion_GetImage(), oyConversion_s::oyConversion_GetOnePixel(), oyConversion_s::oyConversion_RunPixels(), oyFilterNode_Connect(), and oyFilterSocket_s::oyFilterSocket_SignalToGraph().
OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetPlugNode | ( | oyFilterNode_s * | node, |
int | pos | ||
) |
Get a neighbouring oyFilterNode_s.
Function oyFilterNode_GetPlugNode
node | filter node |
pos | connector position |
References oyFilterNode_Copy(), and oyOBJECT_FILTER_NODE_S.
OYAPI const char *OYEXPORT oyFilterNode_GetRegistration | ( | oyFilterNode_s * | node | ) |
Get filter core registration.
Function oyFilterNode_GetRegistration
[in,out] | node | filter object |
References oyFilterNode_GetRelatives(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), and oyOptions_Handle().
OYAPI const char *OYEXPORT oyFilterNode_GetRelatives | ( | oyFilterNode_s * | node | ) |
Get filter relatives string.
Function oyFilterNode_GetRelatives
[in,out] | node | filter object |
References oyFilterNode_GetModuleName(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyFilterNode_GetRegistration().
OYAPI oyFilterSocket_s *OYEXPORT oyFilterNode_GetSocket | ( | oyFilterNode_s * | node, |
int | pos | ||
) |
Get a oyFilterSocket_s of type from a FilterNode.
Function oyFilterNode_GetSocket
node | filter node |
pos | absolute position of connector |
References oyFilterNode_Copy(), oyFilterNode_EdgeCount(), oyFilterNode_ShowConnector(), oyFilterSocket_s::oyFilterSocket_Copy(), oyFilterSocket_s::oyFilterSocket_New(), and oyOBJECT_FILTER_NODE_S.
Referenced by oyConversion_s::oyConversion_GetImage(), oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_ConnectorMatch(), oyFilterNode_GetData(), oyFilterNode_SetData(), and oyFilterNode_TextToInfo_().
OYAPI oyFilterNode_s *OYEXPORT oyFilterNode_GetSocketNode | ( | oyFilterNode_s * | node, |
int | pos, | ||
int | plugs_pos | ||
) |
Get a neighbouring oyFilterNode_s.
Function oyFilterNode_GetSocketNode
node | filter node |
pos | connector position |
plugs_pos | position in plug list |
References oyFilterNode_Copy(), oyFilterPlug_s::oyFilterPlug_Release(), oyFilterPlugs_s::oyFilterPlugs_Get(), and oyOBJECT_FILTER_NODE_S.
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.
[in,out] | node | filter object |
References oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Copy(), and oyOptions_s::oyOptions_New().
Referenced by oyOptions_Handle().
const char * oyFilterNode_GetText | ( | oyFilterNode_s * | node, |
oyNAME_e | name_type | ||
) |
Serialise filter node to text.
Function oyFilterNode_GetText
Serialise into:
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.
[in,out] | node | filter node |
[out] | name_type | the type |
References oyContextCollectData_(), oyFilterCore_s::oyFilterCore_GetText(), oyFilterNode_GetData_(), oyNAME_NAME, oyNAME_NICK, oyObject_s::oyObject_GetName(), and oyObject_s::oyObject_SetName().
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_AddToAdjacencyLst_(), oyFilterNode_SetContext_(), and oyFilterNode_TextToInfo_().
int oyFilterNode_GetUi | ( | oyFilterNode_s * | node, |
char ** | ui_text, | ||
char *** | namespaces, | ||
oyAlloc_f | allocateFunc | ||
) |
Get filter options XFORMS.
Function oyFilterNode_GetUi
[in,out] | node | filter object |
[out] | ui_text | XFORMS fitting to the node Options |
[out] | namespaces | additional XML namespaces |
allocateFunc | optional user allocator |
References oyCMMapiFilters_s::oyCMMapiFilters_Count(), oyCMMapiFilters_s::oyCMMapiFilters_Get(), oyCMMapiFilters_s::oyCMMapiFilters_Release(), oyFILTER_REG_MODE_STRIP_IMPLEMENTATION_ATTR, oyFILTER_REG_TYPE, oyFilterNode_GetOptions(), oyFilterRegistrationMatch(), oyFilterRegistrationToText(), oyOBJECT_CMM_API9_S, oyOBJECT_FILTER_NODE_S, oyOptions_s::oyOptions_Release(), and oyCMMapi9_s::release.
int oyFilterNode_Init__Members | ( | oyFilterNode_s_ * | filternode | ) |
Custom FilterNode constructor.
Function oyFilterNode_Init__Members
Is this necessary?? filternode->relatives_ = 0;
if( filternode->backend_data && filternode->backend_data->release ) filternode->backend_data->release( (oyStruct_s**) & filternode->backend_data ); filternode->backend_data = 0;
Referenced by oyFilterNode_Copy__Members().
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_s * oyFilterNode_NewWith | ( | const char * | registration, |
oyOptions_s * | options, | ||
oyObject_s | object | ||
) |
Initialise a new filter node object properly.
Function oyFilterNode_NewWith
registration | a registration string, |
options | options for the filter |
object | the optional object |
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().
OYAPI int OYEXPORT oyFilterNode_Release | ( | oyFilterNode_s ** | filternode | ) |
release and possibly deallocate a oyFilterNode_s object
Function oyFilterNode_Release
[in,out] | filternode | FilterNode struct object |
References oyOBJECT_FILTER_NODE_S.
Referenced by oyConversion_s::oyConversion_Release__Members(), oyFilterGraph_s::oyFilterGraph_CountNodes(), oyFilterGraph_s::oyFilterGraph_GetNode(), oyFilterGraph_s::oyFilterGraph_PrepareContexts(), oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Copy__Members(), oyFilterNode_Create(), oyFilterPlug_s::oyFilterPlug_Release__Members(), oyFilterSocket_s::oyFilterSocket_Release__Members(), oyFilterSocket_s::oyFilterSocket_SignalToGraph(), oyImage_ToFile(), and oyOptions_Handle().
void oyFilterNode_Release__Members | ( | oyFilterNode_s_ * | filternode | ) |
Custom FilterNode destructor.
Function oyFilterNode_Release__Members
References oyFilterNode_EdgeCount(), oyFilterPlug_s::oyFilterPlug_Release(), oyFilterSocket_s::oyFilterSocket_Release(), and oyOptions_s::oyOptions_Release().
Referenced by oyFilterNode_Copy__Members().
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
node | filter node |
plug | the plug |
ticket | the job ticket |
References oyOBJECT_FILTER_NODE_S.
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().
[in,out] | obj | the node object |
[in] | ptr | the data needed to run the filter type |
References oyCMMapi7_s::oyCMMapi7_SetBackendContext(), oyFilterNode_GetBackendContext(), and oyOBJECT_FILTER_NODE_S.
OYAPI int OYEXPORT oyFilterNode_SetContext | ( | oyFilterNode_s * | node, |
oyPointer_s * | data | ||
) |
Set module data.
References oyOBJECT_FILTER_NODE_S, oyPointer_s::oyPointer_Copy(), and oyPointer_s::oyPointer_Release().
Referenced by oyFilterNode_GetContext().
int oyFilterNode_SetContext_ | ( | oyFilterNode_s_ * | node, |
oyBlob_s_ * | blob | ||
) |
Set module context in a filter.
Function oyFilterNode_SetContext_
References oy_debug, oyBlob_s::oyBlob_SetFromData(), oyFilterNode_GetId(), oyFilterNode_GetText(), oyFilterNode_TextToInfo_(), oyNAME_NICK, oyOBJECT_POINTER_S, oyOptions_s::oyOptions_SetFromText(), oyPointer_s::oyPointer_Copy(), oyPointer_s::oyPointer_New(), oyPointer_s::oyPointer_Release(), and oyPointer_s::oyPointer_Set().
Referenced by oyFilterGraph_s::oyFilterGraph_PrepareContexts(), and oyFilterNode_ToBlob().
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
[in,out] | node | filter node |
[in] | data | data |
[in] | socket_pos | position of socket |
[in] | object | a object to not only set a reference |
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().
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.
[in] | node | the module filter node |
[in] | as_pos | the according oyConnector_s |
[in] | is_plug | select from 0 - plugs or 1 - sockets |
References oyConnector_s::copy, oyConnector_s::oyConnector_Copy(), oyFilterNode_EdgeCount(), oyOBJECT_FILTER_NODE_S, oyObject_s::oyObject_New(), oyObject_s::oyObject_Release(), and type_.
Referenced by oyFilterNode_ConnectorMatch(), oyFilterNode_GetPlug(), and oyFilterNode_GetSocket().
oyPointer oyFilterNode_TextToInfo_ | ( | oyFilterNode_s_ * | node, |
size_t * | size, | ||
oyAlloc_f | allocateFunc | ||
) |
Serialise filter node to binary.
Function oyFilterNode_TextToInfo_
References oyObserver_s::model, oyObserver_s::observer, oyStruct_s::oy_, oyFilterNode_EdgeCount(), oyFilterNode_GetSocket(), oyFilterNode_GetText(), oyFilterSocket_s::oyFilterSocket_Release(), oyFilterSocket_s::oyFilterSocket_SignalToGraph(), oyNAME_NAME, oyOBJECT_FILTER_NODE_S, oyObject_s::oyObject_GetId(), oyOBJECT_OPTIONS_S, oySignalToString(), oyStruct_s::oyStruct_GetText(), oyValueUInt32(), oyStruct_s::release, and oyStruct_s::type_.
Referenced by oyFilterNode_SetContext_().
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().
node | node object |
object | the optional object |
References oyBlob_s::oyBlob_GetPointer(), oyBlob_s::oyBlob_GetSize(), oyBlob_s::oyBlob_New(), oyBlob_s::oyBlob_Release(), oyFilterNode_SetContext_(), and oyOBJECT_FILTER_NODE_S.
oyStruct_Copy_f oyFilterNode_s::copy |
Copy function.
Referenced by oyFilterSocket_s::oyFilterSocket_Copy__Members().
oyObject_s oyFilterNode_s::oy_ |
Oyranos internal object.
Features name and hash. Do not change during object life time.
Referenced by oyFilterGraph_s::oyFilterGraph_ToText(), oyFilterNode_Connect(), oyFilterNode_Create(), oyFilterNode_GetId(), and oyOptions_Handle().
oyStruct_Release_f oyFilterNode_s::release |
Release function.
Referenced by oyFilterNode_Copy__Members().
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().