FormDiagram
- class compas_cem.diagrams.FormDiagram(*args, **kwargs)[source]
Bases:
compas_cem.diagrams.diagram.DiagramThe heart of life.
- Parameters
*args (
list) – Arguments.**kwargs (
dict) – Keyword arguments.
- Returns
form (
FormDiagram) – A form diagram.
Methods
add_edge(edge)Adds a deviation or a trail edge.
add_node(node)Adds double
clear()Clear all the network data.
complement([cls])Generate the complement network of a network.
connected_edges(key)Return the edges connected to a node.
copy([cls])Make an independent copy of the data object.
degree(key)Return the number of neighbors of a node.
degree_in(key)Return the numer of incoming neighbors of a node.
degree_out(key)Return the number of outgoing neighbors of a node.
delete_edge(u, v)Delete an edge from the network.
delete_node(key)Delete a node from the graph.
edge_attribute(key, name[, value])Get or set an attribute of an edge.
edge_attributes(key[, names, values])Get or set multiple attributes of an edge.
edge_coordinates(u, v[, axes])Return the coordinates of the start and end point of an edge.
edge_direction(u, v)Return the direction vector of an edge.
edge_force(edge)Gets the force value at an edge.
edge_length(u, v)Return the length of an edge.
edge_length_2(edge)Gets the length of an edge.
edge_midpoint(u, v)Return the location of the midpoint of an edge.
edge_point(u, v[, t])Return the location of a point along an edge.
edge_vector(u, v)Return the vector of an edge.
edges([data])Iterate over the edges of the network.
edges_attribute(name[, value, keys])Get or set an attribute of multiple edges.
edges_attributes([names, values, keys])Get or set multiple attributes of multiple edges.
edges_where(conditions[, data])Get edges for which a certain condition or set of conditions is true.
edges_where_predicate(predicate[, data])Get edges for which a certain condition or set of conditions is true using a lambda function.
from_data(data)Construct an object of this type from the provided data.
from_edges(edges)from_json(filepath)Construct an object from serialized data contained in a JSON file.
from_jsonstring(string)Construct an object from serialized data contained in a JSON string.
from_lines(lines[, precision])Construct a network from a set of lines represented by their start and end point coordinates.
from_networkx(graph)Create a new graph instance from a NetworkX DiGraph instance.
from_nodes_and_edges(nodes, edges)Construct a network from nodes and edges.
from_obj(filepath[, precision])Construct a network from the data contained in an OBJ file.
from_topology_diagram(topology)Construct the base of a form diagram from a topology diagram.
Get the identifier of a random edge.
Get the identifiers of a set of random edges.
Get the identifier of a random node.
get_any_nodes(n[, exclude_leaves])Get a list of identifiers of a random set of n nodes.
gkey(xyz)Gets
gkey_key([precision])Returns a dictionary that maps geometric keys of a certain precision to the keys of the corresponding nodes.
has_edge(u, v[, directed])Verify if the network contains a specific edge.
has_node(key)Verify if a specific node is present in the network.
Returns a dictionary that maps the indices of a node list to keys in a node dictionary.
index_uv()Returns a dictionary that maps edges in a list to the corresponding vertex key pairs.
Verify that the network is connected.
is_leaf(key)Verify if a node is a leaf.
is_node_connected(key)Verify if a specific node is connected.
is_node_loaded(node[, min_force])Checks if there is a large-enough load applied to a node.
is_node_support(node)Checks if a node is a support.
key_gkey([precision])Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.
Returns a dictionary that maps node dictionary keys to the corresponding index in a node list or array.
leaves()Return all leaves of the network.
loaded_nodes([min_force])Iterates over all the nodes with a large-enough load applied.
neighborhood(key[, ring])Return the nodes in the neighborhood of a node.
neighbors(key)Return the neighbors of a node.
neighbors_in(key)Return the incoming neighbors of a node.
neighbors_out(key)Return the outgoing neighbors of a node.
node_attribute(key, name[, value])Get or set an attribute of a node.
node_attributes(key[, names, values])Get or set multiple attributes of a node.
node_coordinates(key[, axes])Return the coordinates of a node.
node_exists(value)Checks
node_gkey([precision])Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.
node_key(value)Gets
node_laplacian(key)Return the vector from the node to the centroid of its 1-ring neighborhood.
node_load(node)Gets the load applied at a node.
Compute the centroid of the neighboring nodes.
node_xyz(key[, xyz])Gets or sets node coordinates.
nodes([data])Iterate over the nodes of the network.
nodes_attribute(name[, value, keys])Get or set an attribute of multiple nodes.
nodes_attributes([names, values, keys])Get or set multiple attributes of multiple nodes.
nodes_where(conditions[, data])Get nodes for which a certain condition or set of conditions is true.
nodes_where_predicate(predicate[, data])Get nodes for which a certain condition or set of conditions is true using a lambda function.
Compute the number of edges of the network.
Compute the number of nodes of the network.
reaction_force(node)Gets the reaction force vector at a node support.
shortest_path(start, end)Find the shortest path between two nodes of the network.
smooth([fixed, kmax, damping, callback, …])Smooth a network by moving every free node to the centroid of its neighbors.
split_edge(u, v[, t])Split and edge by inserting a node along its length.
summary()Print a summary of the graph.
Nodes whose position is meant to be fixed in space.
to_data()Convert an object to its native data representation.
to_json(filepath[, pretty])Serialize the data representation of an object to a JSON file.
to_jsonstring([pretty])Serialize the data representation of an object to a JSON string.
to_lines()Return the lines of the network as pairs of start and end point coordinates.
Create a new NetworkX graph instance from a graph.
Return the nodes and edges of a network.
to_obj()Write the network to an OBJ file.
Return the coordinates of the network.
transform(transformation)Transform a network.
transformed(transformation)Transform a copy of
network.unset_edge_attribute(key, name)Unset the attribute of an edge.
unset_node_attribute(key, name)Unset the attribute of a node.
update_dea([attr_dict])Update the default edge attributes.
update_default_edge_attributes([attr_dict])Update the default edge attributes.
update_default_node_attributes([attr_dict])Update the default node attributes.
update_dna([attr_dict])Update the default node attributes.
update_node_xyz(key, xyz)Modifies
uv_index()Returns a dictionary that maps edge keys (i.e.
Validate the data of this object against its data schema (self.DATASCHEMA).
Validate the data loaded from a JSON representation of the data of this object against its data schema (self.DATASCHEMA).