Vuo  2.4.0
VuoNode.hh
Go to the documentation of this file.
1
10#pragma once
11
12#include "VuoBase.hh"
13
14class VuoCompilerNode;
15class VuoRendererNode;
16class VuoNodeClass;
17class VuoPort;
18
25class VuoNode : public VuoBase<VuoCompilerNode,VuoRendererNode>
26{
27public:
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
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
92private:
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};