WaDelma / poisson

n-dimensional poisson-disk distribution generation for rust.
MIT License
10 stars 8 forks source link

apply builder pattern #7

Open ConnyOnny opened 7 years ago

ConnyOnny commented 7 years ago

The Builder is currently a collection of constructors for Generator. To facilitate adding more configuration options (like defining a perimeter #4), the Builder Pattern should be applied.

That means the Builder should first be constructed with a new() function with no arguments and further configuration should be applied to the Builder object before the build function is used.

Example:

Builder::<_, Vec2>::new().with_poisson_type(Type::Normal).with_radius(0.1)

The required refactoring is also a good opportunity to replace assert! in the Builder by returning an error, to avoid crashing the whole program.