Go to the source code of this file.
Defines | |
#define | vgl_clip_txx_ |
#define | VGL_CLIP_INSTANTIATE(T) |
Functions | |
template<class T > | |
bool | vgl_clip_lineseg_to_line (T &x1, T &y1, T &x2, T &y2, T a, T b, T c) |
clips away the portion where ax+by+c<0. return false if nothing left. | |
template<class T > | |
bool | vgl_clip_line_to_box (T a, T b, T c, T x1, T y1, T x2, T y2, T &bx, T &by, T &ex, T &ey) |
clip line ax+by+c=0 to given box. return false if no intersection. | |
template<class T > | |
vgl_polygon< T > | vgl_clip (vgl_polygon< T > const &poly1, vgl_polygon< T > const &poly2, vgl_clip_type op, int *p_retval) |
Clip a polygon against another polygon. | |
template<class T > | |
vgl_polygon< T > | vgl_clip (vgl_polygon< T > const &poly1, vgl_polygon< T > const &poly2, vgl_clip_type op) |
Clip a polygon against another polygon. |
Definition in file vgl_clip.txx.
#define VGL_CLIP_INSTANTIATE | ( | T | ) |
template vgl_polygon<T > vgl_clip(vgl_polygon<T >const&,vgl_polygon<T >const&,vgl_clip_type); \ template bool vgl_clip_lineseg_to_line(T&,T&,T&,T&,T,T,T); \ template bool vgl_clip_line_to_box(T,T,T,T,T,T,T,T&,T&,T&,T&); \ template vgl_line_segment_2d<T > vgl_clip_line_to_box(vgl_line_2d<T >const&,vgl_box_2d<T >const&)
Definition at line 231 of file vgl_clip.txx.
#define vgl_clip_txx_ |
Definition at line 3 of file vgl_clip.txx.
vgl_polygon<T> vgl_clip | ( | vgl_polygon< T > const & | poly1, |
vgl_polygon< T > const & | poly2, | ||
vgl_clip_type | op, | ||
int * | p_retval | ||
) |
Clip a polygon against another polygon.
Same as vgl_clip( const vgl_polygon<T>& poly1, const vgl_polygon<T>& poly2, vgl_clip_type op = vgl_clip_type_intersect ); but where the fourth parameter is a return flag which is 1 if success, or 0 if the operation faced a geometric degeneracy which could not be handled. In this case, it might be necessary to perturb the input with a tiny amount of random noise and try again.
Definition at line 143 of file vgl_clip.txx.
vgl_polygon<T> vgl_clip | ( | const vgl_polygon< T > & | poly1, |
const vgl_polygon< T > & | poly2, | ||
vgl_clip_type | op = vgl_clip_type_intersect |
||
) |
Clip a polygon against another polygon.
The two polygons poly1 and poly2 are combined with each other. The operation (intersection, union, etc) is given by parameter op.
In order to be able to use it, make sure to satisfy the copyright notice, then activate the "BUILD_NONCOMMERCIAL" compiler option.
Definition at line 224 of file vgl_clip.txx.
bool vgl_clip_line_to_box | ( | T | a, |
T | b, | ||
T | c, | ||
T | x1, | ||
T | y1, | ||
T | x2, | ||
T | y2, | ||
T & | bx, | ||
T & | by, | ||
T & | ex, | ||
T & | ey | ||
) |
clip line ax+by+c=0 to given box. return false if no intersection.
Definition at line 40 of file vgl_clip.txx.
bool vgl_clip_lineseg_to_line | ( | T & | x1, |
T & | y1, | ||
T & | x2, | ||
T & | y2, | ||
T | a, | ||
T | b, | ||
T | c | ||
) |
clips away the portion where ax+by+c<0. return false if nothing left.
Definition at line 14 of file vgl_clip.txx.