Vuo  2.3.2
VuoNode.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "VuoBase.hh"
13 
14 class VuoCompilerNode;
15 class VuoRendererNode;
16 class VuoNodeClass;
17 class VuoPort;
18 
25 class VuoNode : public VuoBase<VuoCompilerNode,VuoRendererNode>
26 {
27 public:
32  enum TintColor
33  {
34  TintNone,
35  TintYellow,
36  TintTangerine,
37  TintOrange,
38  TintMagenta,
39  TintViolet,
40  TintBlue,
41  TintCyan,
42  TintGreen,
43  TintLime,
44  };
45 
46  static string getGraphvizNameForTint(enum TintColor tintColor);
47  static TintColor getTintWithGraphvizName(string name);
48 
49  VuoNode(VuoNodeClass * nodeClass, string title, VuoPort * refreshPort, vector<VuoPort *>inputPorts, vector<VuoPort *> outputPorts, double x=0, double y=0, bool collapsed=false, VuoNode::TintColor tintColor=TintNone);
50 
51  VuoNodeClass * getNodeClass(void);
52 
53  VuoPort * getInputPortWithName(string portName);
54  VuoPort * getOutputPortWithName(string portName);
55 
56  vector<VuoPort *> getInputPorts(void);
57  vector<VuoPort *> getInputPortsBeforePort(VuoPort *port);
58  vector<VuoPort *> getInputPortsAfterPort(VuoPort *port);
59 
60  vector<VuoPort *> getOutputPorts(void);
61  vector<VuoPort *> getOutputPortsBeforePort(VuoPort *port);
62  vector<VuoPort *> getOutputPortsAfterPort(VuoPort *port);
63 
64  VuoPort * getRefreshPort(void);
65 
66  string getTitle(void);
67  void setTitle(string title);
68 
69  bool isTypecastNode(void);
70 
71  int getX(void);
72  void setX(int x);
73  int getY(void);
74  void setY(int y);
75 
76  bool isCollapsed(void);
77  void setCollapsed(bool collapsed);
78 
79  enum TintColor getTintColor(void);
80  string getTintColorGraphvizName(void);
81  void setTintColor(enum TintColor tintColor);
82 
83  bool isForbidden(void);
84  void setForbidden(bool forbidden);
85 
86  void setRawGraphvizDeclaration(string declaration);
87  string getRawGraphvizDeclaration(void);
88  string getRawGraphvizIdentifier(void);
89 
90  void print(void);
91 
92 private:
93  VuoNodeClass *nodeClass;
94  vector<VuoPort *> inputPorts;
95  vector<VuoPort *> outputPorts;
96  VuoPort *refreshPort;
97  string title;
98  int x,y;
99  bool collapsed;
100  enum TintColor tintColor;
101  bool forbidden;
102  string rawGraphvizDeclaration;
103 };