GRASS Programmer's Manual  6.4.2(2012)
 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

Functions

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

Detailed Description

Vector library - nearest, adjust, parallel lines.

Higher level functions for reading/writing/manipulating vectors.

(C) 2001-2008 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
Date:
2001-2008

Definition in file buffer.c.


Macro Definition Documentation

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

Definition at line 25 of file buffer.c.

#define PI   M_PI

Definition at line 26 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 380 of file buffer.c.

References NULL, PI, Vect_append_point(), Vect_append_points(), Vect_line_parallel(), Vect_line_prune(), Vect_new_line_struct(), and Vect_reset_line().

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 354 of file buffer.c.

References G_debug().

Referenced by Vect_line_buffer().