GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
buffer.c File Reference

Vector library - nearest, adjust, parallel lines. More...

#include <stdlib.h>
#include <math.h>
#include <grass/Vect.h>
#include <grass/gis.h>
Include dependency graph for buffer.c:

Go to the source code of this file.

Macros

#define LENGTH(DX, DY)   ( sqrt( (DX*DX)+(DY*DY) ) )
 
#define PI   M_PI
 
#define D_MULT   0.99999999 /* distance multiplier for point_in_buf() */
 

Functions

void Vect_line_parallel (struct line_pnts *InPoints, double distance, double tolerance, int rm_end, struct line_pnts *OutPoints)
 Create parrallel line. More...
 
void Vect_line_buffer (struct line_pnts *InPoints, double distance, double tolerance, struct line_pnts *OutPoints)
 Create buffer around the line line. More...
 

Detailed Description

Vector library - nearest, adjust, parallel lines.

Higher level functions for reading/writing/manipulating vectors.

(C) 2001-2011 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
Radim Blazek
Markus Metz
Date
2001-2011

Definition in file buffer.c.

Macro Definition Documentation

#define D_MULT   0.99999999 /* distance multiplier for point_in_buf() */

Definition at line 63 of file buffer.c.

Referenced by Vect_line_buffer().

#define LENGTH (   DX,
  DY 
)    ( sqrt( (DX*DX)+(DY*DY) ) )

Definition at line 61 of file buffer.c.

#define PI   M_PI

Definition at line 62 of file buffer.c.

Referenced by Vect_line_buffer().

Function Documentation

void Vect_line_buffer ( struct line_pnts *  InPoints,
double  distance,
double  tolerance,
struct line_pnts *  OutPoints 
)

Create buffer around the line line.

Buffer is closed counter clockwise polygon. Warning: output line may contain loops!

Parameters
InPointsinput line
distancecreate buffer in distance
tolerancemaximum distance between theoretical arc and polygon segments
[out]OutPointsoutput line

Definition at line 851 of file buffer.c.

References D_MULT, G_debug(), NULL, PI, Vect_append_point(), Vect_append_points(), Vect_line_prune(), Vect_new_line_struct(), Vect_reset_line(), and y.

void Vect_line_parallel ( struct line_pnts *  InPoints,
double  distance,
double  tolerance,
int  rm_end,
struct line_pnts *  OutPoints 
)

Create parrallel line.

Parameters
InPointsinput line
distancecreate parrallel line in distance
tolerancemaximum distance between theoretical arc and polygon segments
rm_endremove end points falling into distance
[out]OutPointsoutput line
Returns

Definition at line 823 of file buffer.c.

References G_debug().