Free Electron
TerminalNode.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 __terminal_TerminalNode_h__
8 #define __terminal_TerminalNode_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Terminal control of an OperatorSurfaceI
17 
18  @ingroup terminal
19 *//***************************************************************************/
20 class FE_DL_EXPORT TerminalNode:
21  public MetaPlugin
22 {
23  public:
24 
25  TerminalNode(void);
26 virtual ~TerminalNode(void);
27 
28  void setupOperator(sp<Scope> a_spScope,
29  String a_implementation,String a_name);
30 
31  void setDrawOutput(sp<DrawI> a_spDrawI)
32  {
33  m_spDrawOutput=a_spDrawI;
34  m_aDrawOutput(m_cookSignal)=m_spDrawOutput;
35  }
36 
37  void clear(void);
38 
39  BWORD cook(Real a_frame);
40 
41  sp<Catalog> catalog(void) { return m_spOperatorSurfaceI; }
42 
43  private:
44 
45  void updateCatalog();
46 
47  sp<Scope> m_spScope;
48 
49 };
50 
51 } /* namespace ext */
52 } /* namespace fe */
53 
54 #endif /* __terminal_TerminalNode_h__ */
kernel
Definition: namespace.dox:3
Terminal control of an OperatorSurfaceI.
Definition: TerminalNode.h:20
Automatically reference-counted string container.
Definition: String.h:128
Common functionality of meta plugins for Houdini, Maya, etc.
Definition: MetaPlugin.h:20