TopologyDiagram
- class compas_cem.diagrams.TopologyDiagram(*args, **kwargs)[source]
Bases:
compas_cem.diagrams.diagram.Diagram
The very heart of life.
- Parameters
*args (
list
) – Arguments.**kwargs (
dict
) – Keyword arguments.
- Returns
topology (
TopologyDiagram
) – A topology diagram.
Methods
add_edge
(edge)Adds a deviation or a trail edge.
add_load
(load)Applies a load.
add_node
(node)Adds double
add_support
(support)Adds a support.
Automatically builds the trails in the topology diagram.
clear
()Clear all the network data.
complement
([cls])Generate the complement network of a network.
Finds the deviation edges connected to a node.
connected_edges
(key)Return the edges connected to a node.
connected_trail_edges
(node)Finds the trail 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.
deviation_edges
([data])Iterates over the keys of all deviation edges.
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_sequence
(edge)Gets the sequence of the nodes of a given 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.
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_deviation_edge
(edge)Tests whether or not an edge is a deviation edge.
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_origin
(node)Checks if a node is an origin node.
is_node_support
(node)Checks if a node is a support.
is_trail_edge
(edge)Tests whether or not an edge is a trail edge.
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_sequence
(node)Gets the sequence a node is assigned to.
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.
Number of trails in the topology diagram.
Starting nodes of all trails.
reaction_force
(node)Gets the reaction force vector at a node support.
The largest sequence number.
Iterate over the sequences in the diagram.
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.
trail_edges
([data])Iterates over the keys of all trail edges.
trails
()The trails in the topology diagram.
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).