Free Electron
lab
arnold
ArnoldNode.h
Go to the documentation of this file.
1
/* Copyright (C) 2003-2021 Free Electron Organization
2
Any use of this software requires a license. If a valid license
3
was not distributed with this file, visit freeelectron.org. */
4
5
/** @file */
6
7
#ifndef __arnold_ArnoldNode_h__
8
#define __arnold_ArnoldNode_h__
9
namespace
fe
10
{
11
namespace
ext
12
{
13
14
/**************************************************************************/
/**
15
@brief Arnold node
16
17
@ingroup arnold
18
*/
/***************************************************************************/
19
class
ArnoldNode
:
20
public
TerminalNode
21
{
22
public
:
23
24
ArnoldNode
(
void
);
25
virtual
~
ArnoldNode
(
void
);
26
27
void
setAtNodeProcedural(AtNode* a_pAtNodeProcedural)
28
{ m_pAtNodeProcedural=a_pAtNodeProcedural; }
29
AtNode* atNodeProcedural(
void
)
30
{
return
m_pAtNodeProcedural; }
31
32
void
setAtNode(AtNode* a_pAtNode)
33
{ m_pAtNode=a_pAtNode; }
34
AtNode* atNode(
void
)
35
{
return
m_pAtNode; }
36
37
void
initOperator(
void
);
38
void
runOperator(
void
);
39
40
private
:
41
void
declareParameters(
void
);
42
43
void
readParameters(
void
);
44
void
convertOutput(
void
);
45
46
ArnoldContext
m_arnoldContext;
47
sp<SurfaceAccessibleI>
m_spOutputAccessible;
48
49
AtNode* m_pAtNodeProcedural;
50
AtNode* m_pAtNode;
51
};
52
53
}
/* namespace ext */
54
}
/* namespace fe */
55
56
#endif
/* __arnold_ArnoldNode_h__ */
fe::ext::ArnoldNode
Arnold node.
Definition:
ArnoldNode.h:19
fe
kernel
Definition:
namespace.dox:3
fe::ext::TerminalNode
Terminal control of an OperatorSurfaceI.
Definition:
TerminalNode.h:20
fe::sp
Intrusive Smart Pointer.
Definition:
src/core/ptr.h:53
fe::ext::ArnoldContext
shared FE context for Arnold plugins
Definition:
ArnoldContext.h:19
Generated by
1.8.13