Struct egui_graphs::Graph

source ·
pub struct Graph<N: Clone, E: Clone, Ty: EdgeType> {
    pub g: StableGraph<Node<N>, Edge<E>, Ty>,
}
Expand description

Graph type compatible with super::GraphView.

Fields§

§g: StableGraph<Node<N>, Edge<E>, Ty>

Implementations§

source§

impl<'a, N: Clone, E: Clone, Ty: EdgeType> Graph<N, E, Ty>

source

pub fn new(g: StableGraph<Node<N>, Edge<E>, Ty>) -> Self

source

pub fn walk( &self, walker: impl FnMut(&Self, Option<&NodeIndex>, Option<&Node<N>>, Option<&EdgeIndex>, Option<&Edge<E>>) )

Iterates over all nodes and edges and calls the walker function.

source

pub fn node_by_pos( &self, comp: &'a StateComputed, meta: &'a Metadata, pos: Pos2 ) -> Option<(NodeIndex, &Node<N>)>

Finds node by position. Can be optimized by using a spatial index like quad-tree if needed.

source

pub fn g(&mut self) -> &mut StableGraph<Node<N>, Edge<E>, Ty>

source

pub fn nodes_iter(&'a self) -> impl Iterator<Item = (NodeIndex, &Node<N>)>

Provides iterator over all nodes and their indices.

source

pub fn edges_iter(&'a self) -> impl Iterator<Item = (EdgeIndex, &Edge<E>)>

Provides iterator over all edges and their indices.

source

pub fn node(&self, i: NodeIndex) -> Option<&Node<N>>

source

pub fn edge(&self, i: EdgeIndex) -> Option<&Edge<E>>

source

pub fn edge_endpoints(&self, i: EdgeIndex) -> Option<(NodeIndex, NodeIndex)>

source

pub fn node_mut(&mut self, i: NodeIndex) -> Option<&mut Node<N>>

source

pub fn is_directed(&self) -> bool

source

pub fn edges_num(&self, idx: NodeIndex) -> usize

source

pub fn edges_directed( &self, idx: NodeIndex, dir: Direction ) -> impl Iterator<Item = EdgeReference<'_, Edge<E>>>

Trait Implementations§

source§

impl<N: Clone, E: Clone, Ty: EdgeType> From<&StableGraph<N, E, Ty, u32>> for Graph<N, E, Ty>

source§

fn from(value: &StableGraph<N, E, Ty>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<N, E, Ty> RefUnwindSafe for Graph<N, E, Ty>where E: RefUnwindSafe, N: RefUnwindSafe, Ty: RefUnwindSafe,

§

impl<N, E, Ty> Send for Graph<N, E, Ty>where E: Send, N: Send, Ty: Send,

§

impl<N, E, Ty> Sync for Graph<N, E, Ty>where E: Sync, N: Sync, Ty: Sync,

§

impl<N, E, Ty> Unpin for Graph<N, E, Ty>where E: Unpin, N: Unpin, Ty: Unpin,

§

impl<N, E, Ty> UnwindSafe for Graph<N, E, Ty>where E: UnwindSafe, N: UnwindSafe, Ty: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V