KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Functions
pathresize.cpp File Reference

Implementation for PixPath specializations that resize paths. More...

#include <l/l_def.h>
#include <qd_cpp/pathresize.h>
#include <vector>
#include <deque>
#include <algorithm>
#include <boost/shared_ptr.hpp>

Namespaces

 kjb
 Classes and functions for dealing with trajectory files.
 
 kjb::qd
 support for the path algorithm I call the quasi-Dijkstra method.
 

Macros

#define ASSIDUOUS_DEBUG_CHECKING_SPRUCE   0
 
#define ASSERTO(x)
 

Functions

PixPath kjb::qd::rightsize (const PixPath &base_path, size_t goal_size, float distance_too_close)
 compute polyline approximation of base_path of the "right size." More...
 
float kjb::qd::sosq_error (const PixPath &path, size_t iii, size_t jjj)
 this is an error metric for a path bridging from index iii to jjj More...
 
PixPath kjb::qd::polyline_approx (const PixPath &base_path, size_t goal_size, float *error=00)
 compute polyline approximation to base_path with dynamic programming More...
 
PixPath kjb::qd::reduce_pixels_pv (const PixPath &pixelpath)
 Remove "unnecessary" pixels, using the Perez-Vidal algorithm. More...
 
PixPath kjb::qd::reduce_pixels_bfs (const PixPath &pixelpath)
 another heuristic to reduce pixels, using previous two methods + BFS More...
 

Detailed Description

Implementation for PixPath specializations that resize paths.

Author
Andrew Predoehl

Sadly there is a fair amount of drek in here, stuff left over from when I tried to reduce a path in a rather ad-hoc way. Function polyline_approx() is much better.

Macro Definition Documentation

#define ASSERTO (   x)

stub non-assertion when less paranoid

#define ASSIDUOUS_DEBUG_CHECKING_SPRUCE   0

macro: 1=expensive paranoia