Public Member Functions | Protected Attributes | Private Member Functions
vdgl_interpolator_cubic Class Reference

Represents a 2D interpolator_cubic for a vdgl_edgel_chain. More...

#include <vdgl_interpolator_cubic.h>

Inheritance diagram for vdgl_interpolator_cubic:
Inheritance graph
[legend]

List of all members.

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 ()

Detailed Description

Represents a 2D interpolator_cubic for a vdgl_edgel_chain.

Definition at line 22 of file vdgl_interpolator_cubic.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]

integral.

Implements vdgl_interpolator.

Definition at line 236 of file vdgl_interpolator_cubic.cxx.

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.


Member Data Documentation

Definition at line 80 of file vdgl_interpolator.h.

Definition at line 62 of file vdgl_interpolator_cubic.h.

Definition at line 64 of file vdgl_interpolator_cubic.h.

Definition at line 66 of file vdgl_interpolator_cubic.h.

Definition at line 63 of file vdgl_interpolator_cubic.h.

Definition at line 65 of file vdgl_interpolator_cubic.h.


The documentation for this class was generated from the following files: