DGtal
0.6.devel
|
#include <FrechetShortcut.h>
Static Public Member Functions | |
static bool | isBetween (double i, double a, double b, double n) |
static int | circle_circle_intersection (double x0, double y0, double r0, double x1, double y1, double r1, double *xi, double *yi, double *xi_prime, double *yi_prime) |
static int | circleTangentPoints (double x, double y, double x1, double y1, double r1, double *xi, double *yi, double *xi_prime, double *yi_prime) |
static double | computeAngle (double x0, double y0, double x1, double y1) |
static double | angleVectVect (Vector u, Vector v) |
static int | computeChainCode (Point p, Point q) |
static int | computeQuadrant (Point p, Point q) |
static int | rot (int d, int quad) |
static Vector | chainCode2Vect (int d) |
Definition at line 331 of file FrechetShortcut.h.
|
inlinestatic |
Angle between two vectors
two | vectors |
Definition at line 517 of file FrechetShortcut.h.
References DGtal::IntegerComputer< TInteger >::dotProduct().
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Backpath::updateIntervals(), and DGtal::FrechetShortcut< TIterator, TInteger >::Backpath::updateOcculters().
|
inlinestatic |
Converts a chain code into a vector
an | int |
Definition at line 628 of file FrechetShortcut.h.
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Backpath::updateIntervals(), and DGtal::FrechetShortcut< TIterator, TInteger >::Backpath::updateOcculters().
|
inlinestatic |
Determine the points where two circles in a common plane intersect
three | doubles per circle (center, radius), pointers to the two intersection points |
Definition at line 385 of file FrechetShortcut.h.
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Tools::circleTangentPoints().
|
inlinestatic |
Given a point X and a circle of center X1, compute the two points Xi and Xi' of the circle the tangent of which go through X. Since the triangle XXiX1 is a right triangle on Xi, the middle point M between X and X1 is equidistant to X, X1 and Xi. Thus, Xi belongs to the intersection of the circle (X1,r1) and the circle of center M and radius ||XX1||/2.
a | point (x,y), a circle of center (x1,y1) and a radius r1, pointers to the intersection points |
Definition at line 461 of file FrechetShortcut.h.
References DGtal::FrechetShortcut< TIterator, TInteger >::Tools::circle_circle_intersection().
|
inlinestatic |
Compute the angle of the line passing through two points. Angle in [0,2pi]
two | points (x0,y0) and (x1,y1) |
Definition at line 482 of file FrechetShortcut.h.
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Cone::Cone().
|
inlinestatic |
Computes the chain code between two 8-connected pixels
two | points |
Definition at line 528 of file FrechetShortcut.h.
|
inlinestatic |
Computes the octant of the direction pq
two | points |
Definition at line 566 of file FrechetShortcut.h.
References DGtal::abs().
|
inlinestatic |
Determines if i is between a and b in the oriented toric space modulo n
four | integers |
Definition at line 339 of file FrechetShortcut.h.
Referenced by DGtal::FrechetShortcut< TIterator, TInteger >::Cone::intersectConesSimple().
|
inlinestatic |
Rotate the chain code d to put it in the frame where the octant 'quad' is treated as the first octant.
d | a chain code |
quad | the octant |
Definition at line 618 of file FrechetShortcut.h.