pub struct ComponentGraph {
pub nodes: Vec<ComponentNode>,
pub edges: Vec<CouplingEdge>,
}Expand description
Component graph representing model structure
Fields§
§nodes: Vec<ComponentNode>Nodes in the graph (models, reaction systems)
edges: Vec<CouplingEdge>Edges representing coupling relationships
Implementations§
Source§impl ComponentGraph
impl ComponentGraph
Sourcepub fn adjacency(&self, id: &str) -> Vec<String>
pub fn adjacency(&self, id: &str) -> Vec<String>
The UNDIRECTED neighbourhood of id — its predecessors together with
its successors (esm-libraries-spec §4.8.3), sorted. An unknown id
resolves to [].
Sourcepub fn predecessors(&self, id: &str) -> Vec<String>
pub fn predecessors(&self, id: &str) -> Vec<String>
The nodes with an edge pointing AT id, sorted.
Sourcepub fn successors(&self, id: &str) -> Vec<String>
pub fn successors(&self, id: &str) -> Vec<String>
The nodes id points at, sorted.
Sourcepub fn to_mermaid(&self) -> String
pub fn to_mermaid(&self) -> String
Sourcepub fn to_json_graph(&self) -> String
pub fn to_json_graph(&self) -> String
Export graph as the JSON adjacency list of esm-libraries-spec §4.8.3.
§Returns
String-{"nodes": […], "edges": […], "adjacency": {…}}
Trait Implementations§
Source§impl Clone for ComponentGraph
impl Clone for ComponentGraph
Source§impl Debug for ComponentGraph
impl Debug for ComponentGraph
Source§impl<'de> Deserialize<'de> for ComponentGraph
impl<'de> Deserialize<'de> for ComponentGraph
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Graph for ComponentGraph
impl Graph for ComponentGraph
Source§fn render_dot(&self) -> String
fn render_dot(&self) -> String
This graph rendered as Graphviz DOT.
Source§fn render_mermaid(&self) -> String
fn render_mermaid(&self) -> String
This graph rendered as Mermaid.
Source§fn render_json_graph(&self) -> String
fn render_json_graph(&self) -> String
This graph rendered as a JSON adjacency-list document.
Auto Trait Implementations§
impl Freeze for ComponentGraph
impl RefUnwindSafe for ComponentGraph
impl Send for ComponentGraph
impl Sync for ComponentGraph
impl Unpin for ComponentGraph
impl UnsafeUnpin for ComponentGraph
impl UnwindSafe for ComponentGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.