Inkscape Wiki

draw freely
Download Now!
Open Source Scalable Vector Graphics Editor
 


Contents

[edit] Functionality

This section outlines 2geom's domain - what it will do, and current state.

This is actually more of a class outline than features. Alot is implemented for the classes below, in current state, and certainly much more is possible (arguably infinite, but moset would be out of the scope of the project).

[edit] Current State

  • Basic geometric primitives - Point, Matrix (scale, rotate, translate), Rect
  • Advanced Geometry - PathSet / Path (line, quadratic, cubic, s-basis)
  • 2D Database - Currently Quadtree

[edit] Possible Future Features

  • Clothoid support (would be raphoids [made up name, after the person who would likely implement them, raph] clothoids where the curvature is a not-necessarily linear function)
  • Special geometric shapes (stuff like circles, oriented rectangles, spirals, triangles, regular polygons, inkscape-like polygons, etc)
  • Constraint system for advanced handle stuff

[edit] Design Decisions

  • Small, algebraic objects (Point/Matrix) will be mutable, whereas large objects like a pathset will be immutable. <justification here>
  • We are using an original development method we've dubbed "Toy Driven Development". Under this process graphical toys are implemented which allow playing with the features of the library.

[edit] Current Tasks

[edit] Stable Path

Give the people something to build with!

[edit] Intersection

Could slower and nower be superceded by faster later?

[edit] Nearest Points

Current issues:

  • reduce the number of iterations needed for each local minimum search-try
  • investigating for some curve property that provides a rule to skip to search for local minimum in a given sub-interval