75 attributes.set(
"rankdir", rankdir_to_string(rankdir));
101 return "cluster_" + std::to_string(
uintptr_t(
this));
146 attributes.set(
"shape", shape_to_string(shape));
152 attributes.set(
"fillcolor", name);
153 attributes.set(
"style",
"filled");
184 std::optional<std::string> port_name_;
185 std::optional<std::string> port_position_;
189 std::optional<std::string> port_name = {},
190 std::optional<std::string> port_position = {})
191 : node_(&node), port_name_(std::move(port_name)), port_position_(std::move(port_position))
211 attributes.set(
"arrowhead", arrowType_to_string(type));
216 attributes.set(
"arrowtail", arrowType_to_string(type));
221 attributes.set(
"dir", dirType_to_string(type));
226 attributes.set(
"label",
label);
262 input.name = std::move(name);
270 output.name = std::move(name);
289 std::string port =
"\"in" + std::to_string(index) +
"\"";
295 std::string port =
"\"out" + std::to_string(index) +
"\"";
ATTR_WARN_UNUSED_RESULT const BMVert * v
bool add_overwrite(const Key &key, const Value &value)
void append(const T &value)
const T & last(const int64_t n=0) const
void export__as_bracket_list(std::stringstream &ss) const
void set(StringRef key, StringRef value)
void set(StringRef key, float value)
void set_parent_cluster(Cluster *new_parent)
bool contains(Node &node) const
void export__declare_nodes_and_clusters(std::stringstream &ss) const
Cluster * parent_cluster()
void set_parent_cluster(Cluster &cluster)
void set_random_cluster_bgcolors()
DirectedEdge(NodePort from, NodePort to)
void export__as_edge_statement(std::stringstream &ss) const
DirectedEdge & new_edge(NodePort from, NodePort to)
std::string to_dot_string() const
void set_arrowtail(Attr_arrowType type)
Edge(NodePort a, NodePort b)
void set_arrowhead(Attr_arrowType type)
void set_dir(Attr_dirType type)
void set_label(StringRef label)
Cluster & new_cluster(StringRef label="")
void set_random_cluster_bgcolors()
Node & new_node(StringRef label)
void export__declare_nodes_and_clusters(std::stringstream &ss) const
void set_rankdir(Attr_rankdir rankdir)
NodePort(Node &node, std::optional< std::string > port_name={}, std::optional< std::string > port_position={})
void to_dot_string(std::stringstream &ss) const
NodePort output(int index) const
NodeWithSocketsRef(Node &node, const NodeWithSockets &data)
NodePort input(int index) const
void set_shape(Attr_shape shape)
void export__as_declaration(std::stringstream &ss) const
void set_background_color(StringRef name)
Cluster * parent_cluster()
void export__as_id(std::stringstream &ss) const
void set_parent_cluster(Cluster *cluster)
void set_parent_cluster(Cluster &cluster)
UndirectedEdge(NodePort a, NodePort b)
void export__as_edge_statement(std::stringstream &ss) const
UndirectedEdge & new_edge(NodePort a, NodePort b)
std::string to_dot_string() const
local_group_size(16, 16) .push_constant(Type b
std::string color_attr_from_hsv(float h, float s, float v)
_W64 unsigned int uintptr_t
std::optional< std::string > fontcolor
Input & add_input(std::string name)
Output & add_output(std::string name)