Network3gs

class compas_3gs.datastructures.Network3gs[source]

Bases: compas.datastructures.network.network.Network

Inherits and extends the compas Network class, such that it is more suitable for 3D graphic statics applications.

Primarily used for polyhedral (and possibly non-polyhedral) form diagrams.

Attributes

Inherited Attributes

DATASCHEMA

The schema of the data of this object.

JSONSCHEMA

The schema of the JSON representation of the data of this object.

JSONSCHEMANAME

The schema of the data of this object in JSON format.

data

dtype

guid

jsondefinitions

Reusable schema definitions.

jsonstring

jsonvalidator

JSON schema validator for draft 7.

name

Methods

__init__()

bounding_box()

datastructure_centroid()

Compute the centroid of the datastructure.

edge_avg_length()

edge_vector(u, v[, unitized])

Return the vector of an edge.

vertex_coordinates(key[, axes])

Return the coordinates of a node.

vertex_neighbors(key)

Return the neighbors of a node.

vertex_update_xyz(node, new_xyz[, constrained])

vertices([data])

Iterate over the nodes of the network.

Inherited Methods

add_edge(u, v[, attr_dict])

Add an edge and specify its attributes.

add_node([key, attr_dict])

Add a node and specify its attributes (optional).

adjacency_matrix([rtype])

Creates a node adjacency matrix from a Network datastructure.

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.

connectivity_matrix([rtype])

Creates a connectivity matrix from a Network datastructure.

copy([cls])

Make an independent copy of the data object.

count_crossings()

Count the number of crossings (pairs of crossing edges) in the network.

degree(key)

Return the number of neighbors of a node.

degree_in(key)

Return the numer of incoming neighbors of a node.

degree_matrix([rtype])

Creates a node degree matrix from a Network datastructure.

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_length(u, v)

Return 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_sample([size])

Get the identifiers of a set of random edges.

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.

embed_in_plane([fixed, straightline])

Embed the network in the plane.

find_crossings()

Identify all pairs of crossing edges in a network.

find_cycles([breakpoints])

Find the faces of a network.

from_data(data)

Construct an object of this type from the provided data.

from_edges(edges)

Create a new graph instance from information about the 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_any_edge()

Get the identifier of a random edge.

get_any_edges(n)

Get the identifiers of a set of random edges.

get_any_node()

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_key([precision])

Returns a dictionary that maps geometric keys of a certain precision to the keys of the corresponding nodes.

gkey_node([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.

index_key()

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.

is_connected()

Verify that the network is connected.

is_crossed()

Verify if a network has crossing edges.

is_leaf(key)

Verify if a node is a leaf.

is_node_connected(key)

Verify if a specific node is connected.

is_planar()

Check if the network is planar.

is_planar_embedding()

Verify that a network is embedded in the plane without crossing edges.

is_xy()

Verify that a network lies in the XY plane.

key_gkey([precision])

Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.

key_index()

Returns a dictionary that maps node identifiers to their corresponding index in a node list or array.

laplacian_matrix([normalize, rtype])

Construct a Laplacian matrix from a Network datastructure.

leaves()

Return all leaves of the network.

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.

network_adjacency_matrix([rtype])

Creates a node adjacency matrix from a Network datastructure.

network_connectivity_matrix([rtype])

Creates a connectivity matrix from a Network datastructure.

network_degree_matrix([rtype])

Creates a node degree matrix from a Network datastructure.

network_embed_in_plane([fixed, straightline])

Embed the network in the plane.

network_is_planar()

Check if the network is planar.

network_is_planar_embedding()

Verify that a network is embedded in the plane without crossing edges.

network_laplacian_matrix([normalize, rtype])

Construct a Laplacian matrix from a Network datastructure.

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_gkey([precision])

Returns a dictionary that maps node dictionary keys to the corresponding geometric key up to a certain precision.

node_laplacian(key)

Return the vector from the node to the centroid of its 1-ring neighborhood.

node_neighborhood_centroid(key)

Compute the centroid of the neighboring nodes.

node_sample([size])

Get a list of identifiers of a random set of n nodes.

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.

number_of_edges()

Compute the number of edges of the graph.

number_of_nodes()

Compute the number of nodes of the graph.

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()

Return a summary of the graph.

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.

to_networkx()

Create a new NetworkX graph instance from a graph.

to_nodes_and_edges()

Return the nodes and edges of a network.

to_obj()

Write the network to an OBJ file.

to_points()

Return the coordinates of the network.

transform(transformation)

Transform a network.

transformed(transformation)

Return a transformed copy of the 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.

uv_index()

Returns a dictionary that maps edge keys (i.e.

validate_data()

Validate the object's data against its data schema.

validate_json()

Validate the object's data against its json schema.