Represents a 2D interpolator_cubic for a vdgl_edgel_chain. More...
#include <vdgl_interpolator_cubic.h>
Public Member Functions | |
vdgl_interpolator_cubic (vdgl_edgel_chain_sptr chain) | |
~vdgl_interpolator_cubic () | |
virtual short | order () const |
order of interpolation 1=linear, 2 = quadratic, 3 = cubic, ..etc. | |
double | get_x (double index) |
interpolation 0th degree. | |
double | get_y (double index) |
double | get_grad (double index) |
interpolation 1st degree. | |
double | get_theta (double index) |
double | get_tangent_angle (double index) |
Compute the angle using four adjacent edgels. | |
double | get_curvature (double index) |
interpolation 2nd degree. | |
double | get_length () |
integral. | |
double | get_min_x () |
bounding box. | |
double | get_max_x () |
double | get_min_y () |
double | get_max_y () |
virtual vsol_point_2d_sptr | closest_point_on_curve (vsol_point_2d_sptr p) |
find closest point on the curve to the input point. | |
virtual double | distance_curve_to_point (vsol_point_2d_sptr p) |
vdgl_edgel_chain_sptr | get_edgel_chain () const |
void | touch () |
unsigned long | get_time_stamp () const |
bool | older (vul_timestamp const &t) const |
bool | older (vul_timestamp const *t) const |
void | ref () |
void | unref () |
int | get_references () const |
bool | is_referenced () const |
Protected Attributes | |
double | lengthcache_ |
double | minxcache_ |
double | maxxcache_ |
double | minycache_ |
double | maxycache_ |
vdgl_edgel_chain_sptr | chain_ |
unsigned long | timestamp_ |
Private Member Functions | |
void | recompute_all () |
void | recompute_length () |
void | recompute_bbox () |
Represents a 2D interpolator_cubic for a vdgl_edgel_chain.
Definition at line 22 of file vdgl_interpolator_cubic.h.
vdgl_interpolator_cubic::vdgl_interpolator_cubic | ( | vdgl_edgel_chain_sptr | chain | ) |
Definition at line 22 of file vdgl_interpolator_cubic.cxx.
vdgl_interpolator_cubic::~vdgl_interpolator_cubic | ( | ) |
Definition at line 28 of file vdgl_interpolator_cubic.cxx.
vsol_point_2d_sptr vdgl_interpolator_cubic::closest_point_on_curve | ( | vsol_point_2d_sptr | p | ) | [virtual] |
find closest point on the curve to the input point.
Implements vdgl_interpolator.
Definition at line 325 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator::distance_curve_to_point | ( | vsol_point_2d_sptr | p | ) | [virtual, inherited] |
Definition at line 10 of file vdgl_interpolator.cxx.
double vdgl_interpolator_cubic::get_curvature | ( | double | index | ) | [virtual] |
interpolation 2nd degree.
Implements vdgl_interpolator.
Definition at line 199 of file vdgl_interpolator_cubic.cxx.
vdgl_edgel_chain_sptr vdgl_interpolator::get_edgel_chain | ( | ) | const [inline, inherited] |
Definition at line 74 of file vdgl_interpolator.h.
double vdgl_interpolator_cubic::get_grad | ( | double | index | ) | [virtual] |
interpolation 1st degree.
Implements vdgl_interpolator.
Definition at line 98 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_length | ( | ) | [virtual] |
double vdgl_interpolator_cubic::get_max_x | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 255 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_max_y | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 273 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_min_x | ( | ) | [virtual] |
bounding box.
Implements vdgl_interpolator.
Definition at line 246 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_min_y | ( | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 264 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_tangent_angle | ( | double | index | ) | [virtual] |
Compute the angle using four adjacent edgels.
This is done by fitting a 3rd degree spline through these 4 points, and calculating the derived point at index.
Implements vdgl_interpolator.
Definition at line 165 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_theta | ( | double | index | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 130 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_x | ( | double | index | ) | [virtual] |
interpolation 0th degree.
Implements vdgl_interpolator.
Definition at line 33 of file vdgl_interpolator_cubic.cxx.
double vdgl_interpolator_cubic::get_y | ( | double | index | ) | [virtual] |
Implements vdgl_interpolator.
Definition at line 66 of file vdgl_interpolator_cubic.cxx.
virtual short vdgl_interpolator_cubic::order | ( | ) | const [inline, virtual] |
order of interpolation 1=linear, 2 = quadratic, 3 = cubic, ..etc.
Implements vdgl_interpolator.
Definition at line 34 of file vdgl_interpolator_cubic.h.
void vdgl_interpolator_cubic::recompute_all | ( | ) | [private] |
Definition at line 283 of file vdgl_interpolator_cubic.cxx.
void vdgl_interpolator_cubic::recompute_bbox | ( | ) | [private] |
Definition at line 306 of file vdgl_interpolator_cubic.cxx.
void vdgl_interpolator_cubic::recompute_length | ( | ) | [private] |
Definition at line 291 of file vdgl_interpolator_cubic.cxx.
vdgl_edgel_chain_sptr vdgl_interpolator::chain_ [protected, inherited] |
Definition at line 80 of file vdgl_interpolator.h.
double vdgl_interpolator_cubic::lengthcache_ [protected] |
Definition at line 62 of file vdgl_interpolator_cubic.h.
double vdgl_interpolator_cubic::maxxcache_ [protected] |
Definition at line 64 of file vdgl_interpolator_cubic.h.
double vdgl_interpolator_cubic::maxycache_ [protected] |
Definition at line 66 of file vdgl_interpolator_cubic.h.
double vdgl_interpolator_cubic::minxcache_ [protected] |
Definition at line 63 of file vdgl_interpolator_cubic.h.
double vdgl_interpolator_cubic::minycache_ [protected] |
Definition at line 65 of file vdgl_interpolator_cubic.h.