OpenFlipper includes a datatype for representing polygonal Lines. This type can handle projection to meshes, smoothing and various other interactions. It is implemented in the ACG::PolyLineT class.