![]() |
Topologic
0.8.9
|
A Graph consists of a set of Vertices and a set of Edges that connect the Vertices. It is always a Cluster and it can be manifold or non-manifold. More...
#include <Graph.h>
Public Member Functions | |
List< Vertex^> ^ | VerticesAtCoordinates (double x, double y, double z, double tolerance) |
Returns a list of Vertices in the Graph located at the input coordinates within the input tolerance distance. More... | |
Graph ^ | AddVertices (List< Vertex^>^ vertices, double tolerance) |
Adds the list of Vertices to the Graph. If a tolerance is specified, the Vertices will be merged with existing Vertices within the input tolerance distance. A zero or null tolerance means that the Vertices will be added to the Graph regardless of their overlap with existing Vertices. More... | |
Graph ^ | AddEdges (List< Edge^>^ edges, double tolerance) |
Adds the list of Edges to the Graph. The Vertices of the Edges are merged with existing Vertices if they fall within the input tolerance. No new Edges will be added if they already exist. A zero or null tolerance means that the Vertices of the input Edges will be added to the Graph regardless of their overlap with existing Vertices. More... | |
Graph ^ | Connect (Vertex^ vertex1, Vertex^ vertex2, double tolerance) |
Connects the two input Vertices with an Edge. More... | |
int | VertexDegree (Vertex^ vertex) |
Returns the number of Edges connected to the input Vertex. More... | |
List< Vertex^> ^ | AdjacentVertices (Vertex^ vertex) |
Returns a list of Vertices that are connected to the input Vertex by an Edge. More... | |
bool | ContainsVertex (Vertex^ vertex, double tolerance) |
Returns True if the input Graph contains the input Vertex. Returns False otherwise. More... | |
bool | ContainsEdge (Edge^ edge, double tolerance) |
Returns True if the input Graph contains the input Edge. Returns False otherwise. More... | |
List< Wire^> ^ | AllPaths (Vertex^ startVertex, Vertex^ endVertex, Nullable< int > timeLimitInSeconds) |
Returns all paths it could find, within the input number of seconds, that connect the two input Vertices. More... | |
Wire ^ | Path (Vertex^ startVertex, Vertex^ endVertex) |
Returns the first Path found between the input Vertices. More... | |
Wire ^ | ShortestPath (Vertex^ startVertex, Vertex^ endVertex, String^ vertexKey, String^ edgeKey) |
Returns the path with the fewest number of Edges between the two input Vertices. More... | |
List< Wire^> ^ | ShortestPaths (Vertex^ startVertex, Vertex^ endVertex, String^ vertexKey, String^ edgeKey, Nullable< int > timeLimitInSeconds) |
Returns all paths with the fewest number of Edges between the two input Vertices. More... | |
int | TopologicalDistance (Vertex^ startVertex, Vertex^ endVertex) |
Returns the number of Edges of the shortest path connecting the two input Vertices. More... | |
bool | IsErdoesGallai (List< int >^ sequence) |
Returns True if the input sequence satisfies the Erdoes Gallai theorem. It returns False otherwise. More... | |
Graph ^ | RemoveVertices (List< Vertex^>^ vertices) |
Removes the input Vertices from the Graph. More... | |
Graph ^ | RemoveEdges (List< Edge^>^ edges) |
Removes the input Edges from the Graph. More... | |
Edge ^ | Edge (Vertex^ vertex1, Vertex^ vertex2, double tolerance) |
Returns the Edge, if one exists, that connects the two input Vertices. More... | |
List< Topologic::Edge^> ^ | IncidentEdges (Vertex^ vertex, double tolerance) |
Returns a list of all Edges connected to the input Vertex. More... | |
Static Public Member Functions | |
static Graph ^ | ByTopology (Topology^ topology, bool direct, bool viaSharedTopologies, bool viaSharedApertures, bool toExteriorTopologies, bool toExteriorApertures, bool useFaceInternalVertex, double tolerance) |
Creates a Graph from any Topology. More... | |
Protected Member Functions | |
Graph (const std::shared_ptr< TopologicCore::Graph > &kpCoreGraph) | |
Protected Attributes | |
std::shared_ptr< TopologicCore::Graph > * | m_pCoreGraph |
Properties | |
List< Vertex^>^ | Vertices [get] |
Returns a list of all the Vertices in a Graph. More... | |
List< Vertex^>^ | IsolatedVertices [get] |
Returns a list of Vertices that are not connected by Edges. More... | |
List< Edge^>^ | Edges [get] |
Returns a list of all the Edges in a Graph. More... | |
Topology^ | Topology [get] |
Returns the Topology of the Graph. More... | |
List< int >^ | DegreeSequence [get] |
Returns a list of Vertex degrees in a non-increasing order. More... | |
double | Density [get] |
Returns the ratio of the number of Edges to the total number of Edges the Graph could have. More... | |
bool | IsComplete [get] |
Returns True if the Graph has a density of 1. Returns False otherwise. More... | |
int | MinimumDelta [get] |
Returns the minimum Vertex degree in a Graph. More... | |
int | MaximumDelta [get] |
Returns the maximum Vertex degree in a Graph. More... | |
int | Diameter [get] |
Returns the number of Edges of the shortest path between the most distanced Vertices. More... | |
A Graph consists of a set of Vertices and a set of Edges that connect the Vertices. It is always a Cluster and it can be manifold or non-manifold.
Adds the list of Edges to the Graph. The Vertices of the Edges are merged with existing Vertices if they fall within the input tolerance. No new Edges will be added if they already exist. A zero or null tolerance means that the Vertices of the input Edges will be added to the Graph regardless of their overlap with existing Vertices.
edges | The Edges to be added |
tolerance | A positive tolerance value |
Adds the list of Vertices to the Graph. If a tolerance is specified, the Vertices will be merged with existing Vertices within the input tolerance distance. A zero or null tolerance means that the Vertices will be added to the Graph regardless of their overlap with existing Vertices.
vertices | The Vertices to be added |
tolerance | A positive tolerance value |
|
static |
Creates a Graph from any Topology.
direct | Use the centroids of the Topologies |
viaSharedTopologies | Use shared Topologies |
viaSharedApertures | Use shared Apertures |
toExteriorTopologies | Use exterior Topologies |
toExteriorApertures | Use exterior Apertures |
useFaceInternalVertex | Use the Faces' internal Vertices. WARNING: This process can take considerable time. |
tolerance | A positive tolerance value |
bool Topologic::Graph::ContainsEdge | ( | Edge^ | edge, |
double | tolerance | ||
) |
bool Topologic::Graph::ContainsVertex | ( | Vertex^ | vertex, |
double | tolerance | ||
) |
bool Topologic::Graph::IsErdoesGallai | ( | List< int >^ | sequence | ) |
Returns True if the input sequence satisfies the Erdoes Gallai theorem. It returns False otherwise.
sequence | The input sequence |
int Topologic::Graph::VertexDegree | ( | Vertex^ | vertex | ) |
List< Vertex^> Topologic::Graph::VerticesAtCoordinates | ( | double | x, |
double | y, | ||
double | z, | ||
double | tolerance | ||
) |
Returns a list of Vertices in the Graph located at the input coordinates within the input tolerance distance.
x | The X coordinate |
y | The Y coordinate |
z | The Z coordinate |
tolerance | A positive tolerance value |
|
get |
|
get |
|
get |
Returns the number of Edges of the shortest path between the most distanced Vertices.
|
get |
|
get |
|
get |
Returns a list of Vertices that are not connected by Edges.
|
get |
|
get |
|
get |
|
get |