pub struct ForceGraph<UserNodeData = (), UserEdgeData = ()> {
pub parameters: SimulationParameters,
/* private fields */
}Expand description
The main force graph structure.
Fields§
§parameters: SimulationParametersImplementations§
Source§impl<UserNodeData, UserEdgeData> ForceGraph<UserNodeData, UserEdgeData>
impl<UserNodeData, UserEdgeData> ForceGraph<UserNodeData, UserEdgeData>
Sourcepub fn new(parameters: SimulationParameters) -> Self
pub fn new(parameters: SimulationParameters) -> Self
Constructs a new force graph.
Use the following syntax to create a graph with default parameters:
use force_graph::ForceGraph;
let graph = <ForceGraph>::new(Default::default());Sourcepub fn get_graph(
&self,
) -> &StableUnGraph<Node<UserNodeData>, EdgeData<UserEdgeData>>
pub fn get_graph( &self, ) -> &StableUnGraph<Node<UserNodeData>, EdgeData<UserEdgeData>>
Provides access to the raw graph structure if required.
Sourcepub fn add_node(&mut self, node_data: NodeData<UserNodeData>) -> DefaultNodeIdx
pub fn add_node(&mut self, node_data: NodeData<UserNodeData>) -> DefaultNodeIdx
Adds a new node and returns an index that can be used to reference the node.
Sourcepub fn remove_node(&mut self, idx: DefaultNodeIdx)
pub fn remove_node(&mut self, idx: DefaultNodeIdx)
Removes a node by index.
Sourcepub fn add_edge(
&mut self,
n1_idx: DefaultNodeIdx,
n2_idx: DefaultNodeIdx,
edge: EdgeData<UserEdgeData>,
)
pub fn add_edge( &mut self, n1_idx: DefaultNodeIdx, n2_idx: DefaultNodeIdx, edge: EdgeData<UserEdgeData>, )
Adds or updates an edge connecting two nodes by index.
Sourcepub fn update(&mut self, dt: f32)
pub fn update(&mut self, dt: f32)
Applies the next step of the force graph simulation.
The number of seconds that have elapsed since the previous update must be calculated and
provided by the user as dt.
Sourcepub fn visit_nodes<F: FnMut(&Node<UserNodeData>)>(&self, cb: F)
pub fn visit_nodes<F: FnMut(&Node<UserNodeData>)>(&self, cb: F)
Processes each node with a user-defined callback cb.
Sourcepub fn visit_nodes_mut<F: FnMut(&mut Node<UserNodeData>)>(&mut self, cb: F)
pub fn visit_nodes_mut<F: FnMut(&mut Node<UserNodeData>)>(&mut self, cb: F)
Mutates each node with a user-defined callback cb.
Auto Trait Implementations§
impl<UserNodeData, UserEdgeData> Freeze for ForceGraph<UserNodeData, UserEdgeData>
impl<UserNodeData, UserEdgeData> RefUnwindSafe for ForceGraph<UserNodeData, UserEdgeData>where
UserEdgeData: RefUnwindSafe,
UserNodeData: RefUnwindSafe,
impl<UserNodeData, UserEdgeData> Send for ForceGraph<UserNodeData, UserEdgeData>
impl<UserNodeData, UserEdgeData> Sync for ForceGraph<UserNodeData, UserEdgeData>
impl<UserNodeData, UserEdgeData> Unpin for ForceGraph<UserNodeData, UserEdgeData>
impl<UserNodeData, UserEdgeData> UnwindSafe for ForceGraph<UserNodeData, UserEdgeData>where
UserEdgeData: UnwindSafe,
UserNodeData: UnwindSafe,
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