Crate fdg_img

Source
Expand description

§fdg-img

A simple SVG renderer for fdg-sim.

Latest version Documentation GPL-3.0

Visit the project page for more information.

§Basic Example

use std::fs;

use fdg_sim::{ForceGraph, ForceGraphHelper, force};

fn main() {
    // initialize a graph
    let mut graph: ForceGraph<(), ()> = ForceGraph::default();

    // create a circle
    let nodes = 10;

    graph.add_force_node("0", ());
    for x in 1..nodes {
        graph.add_force_node(x.to_string(), ());
        graph.add_edge(x.into(), (x - 1).into(), ());
    }
    graph.add_edge(0.into(), (nodes - 1).into(), ());

    // generate svg text for your graph
    let svg = fdg_img::gen_image(graph, None).unwrap();

    // save the svg on disk (or send it to an svg renderer)
    fs::write("ring.svg", svg.as_bytes()).unwrap();
}

screenshot screenshot

§Webassembly API

This library can be used in Javascript though a WASM interface. I’ll be setting up a demo for it soon. For now you can see how to use it in the web example.

Modules§

style
The style for shapes and text, font, color, etc.

Structs§

Settings
Parameters for drawing the SVG image.

Functions§

gen_image
Generate an image from a graph and a force.