lefer  0.1.0
A C++ library to draw evenly-spaced and non-overlapping curves in a flow field using the Jobard and Lefer (1997) algorithm.
Classes | Namespaces | Functions
lefer.hpp File Reference
#include <vector>
Include dependency graph for lefer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lefer::FlowField
 
struct  lefer::Point
 
class  lefer::Curve
 
struct  lefer::DensityCell
 
class  lefer::DensityGrid
 
class  lefer::SeedPointsQueue
 

Namespaces

 lefer
 

Functions

double lefer::distance (double x1, double y1, double x2, double y2)
 
SeedPointsQueue lefer::collect_seedpoints (Curve *curve, double d_sep)
 
Curve lefer::draw_curve (int curve_id, double x_start, double y_start, int n_steps, double step_length, double d_sep, FlowField *flow_field, DensityGrid *density_grid)
 
std::vector< Curve > lefer::even_spaced_curves (double x_start, double y_start, int n_curves, int n_steps, int min_steps_allowed, double step_length, double d_sep, FlowField *flow_field, DensityGrid *density_grid)
 
std::vector< Curve > lefer::non_overlapping_curves (std::vector< Point > starting_points, int n_steps, int min_steps_allowed, double step_length, double d_sep, FlowField *flow_field, DensityGrid *density_grid)