PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
plfill.c File Reference
#include "plplotP.h"

Go to the source code of this file.

Classes

struct  point

Macros

#define INSIDE(ix, iy)   ( BETW( ix, xmin, xmax ) && BETW( iy, ymin, ymax ) )
#define DTOR   ( PI / 180. )
#define BINC   50
#define PL_NBCC   2
#define BETW_NBCC(ix, ia, ib)   ( ( ( ix ) <= ( ia + PL_NBCC ) && ( ix ) >= ( ib - PL_NBCC ) ) || ( ( ix ) >= ( ia - PL_NBCC ) && ( ix ) <= ( ib + PL_NBCC ) ) )
#define NEW_NOTPOINTINPOLYGON_CODE
#define MAX_RECURSION_DEPTH   10

Enumerations

enum  PL_CrossedStatus {
  PL_NOT_CROSSED = 0x1, PL_NEAR_A1 = 0x2, PL_NEAR_A2 = 0x4, PL_NEAR_B1 = 0x8,
  PL_NEAR_B2 = 0x10, PL_NEAR_PARALLEL = 0x20, PL_PARALLEL = 0x40
}

Functions

static int compar (const void *, const void *)
static void addcoord (PLINT, PLINT)
static void tran (PLINT *, PLINT *, PLFLT, PLFLT)
static void buildlist (PLINT, PLINT, PLINT, PLINT, PLINT, PLINT, PLINT)
static int notpointinpolygon (PLINT n, const PLINT *x, const PLINT *y, PLINT xp, PLINT yp)
static int circulation (PLINT *x, PLINT *y, PLINT npts)
static int notcrossed (PLINT *xintersect, PLINT *yintersect, PLINT xA1, PLINT yA1, PLINT xA2, PLINT yA2, PLINT xB1, PLINT yB1, PLINT xB2, PLINT yB2)
void c_plfill (PLINT n, const PLFLT *x, const PLFLT *y)
void c_plfill3 (PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z)
void plfill_soft (short *x, short *y, PLINT n)
void buildlist (PLINT xp1, PLINT yp1, PLINT xp2, PLINT yp2, PLINT PL_UNUSED(xp3), PLINT yp3, PLINT dinc)
void plP_plfclp (PLINT *x, PLINT *y, PLINT npts, PLINT xmin, PLINT xmax, PLINT ymin, PLINT ymax, void(*draw)(short *, short *, PLINT))
int plP_pointinpolygon (PLINT n, const PLFLT *x, const PLFLT *y, PLFLT xp, PLFLT yp)

Variables

static PLINT bufferleng
static PLINT buffersize
static PLINTbuffer

Macro Definition Documentation

#define BETW_NBCC (   ix,
  ia,
  ib 
)    ( ( ( ix ) <= ( ia + PL_NBCC ) && ( ix ) >= ( ib - PL_NBCC ) ) || ( ( ix ) >= ( ia - PL_NBCC ) && ( ix ) <= ( ib + PL_NBCC ) ) )

Definition at line 35 of file plfill.c.

#define BINC   50

Definition at line 31 of file plfill.c.

#define DTOR   ( PI / 180. )

Definition at line 30 of file plfill.c.

#define INSIDE (   ix,
  iy 
)    ( BETW( ix, xmin, xmax ) && BETW( iy, ymin, ymax ) )

Definition at line 28 of file plfill.c.

#define MAX_RECURSION_DEPTH   10

Definition at line 1405 of file plfill.c.

#define NEW_NOTPOINTINPOLYGON_CODE

Definition at line 1251 of file plfill.c.

#define PL_NBCC   2

Definition at line 33 of file plfill.c.

Enumeration Type Documentation

Enumerator:
PL_NOT_CROSSED 
PL_NEAR_A1 
PL_NEAR_A2 
PL_NEAR_B1 
PL_NEAR_B2 
PL_NEAR_PARALLEL 
PL_PARALLEL 

Definition at line 61 of file plfill.c.

Function Documentation

void addcoord ( PLINT  xp1,
PLINT  yp1 
)
static

Definition at line 482 of file plfill.c.

static void buildlist ( PLINT  ,
PLINT  ,
PLINT  ,
PLINT  ,
PLINT  ,
PLINT  ,
PLINT   
)
static
void buildlist ( PLINT  xp1,
PLINT  yp1,
PLINT  xp2,
PLINT  yp2,
PLINT   PL_UNUSEDxp3,
PLINT  yp3,
PLINT  dinc 
)

Definition at line 426 of file plfill.c.

void c_plfill ( PLINT  n,
const PLFLT x,
const PLFLT y 
)

Definition at line 134 of file plfill.c.

void c_plfill3 ( PLINT  n,
const PLFLT x,
const PLFLT y,
const PLFLT z 
)

Definition at line 204 of file plfill.c.

int circulation ( PLINT x,
PLINT y,
PLINT  npts 
)
static

Definition at line 1178 of file plfill.c.

int compar ( const void pnum1,
const void pnum2 
)
static

Definition at line 504 of file plfill.c.

int notcrossed ( PLINT xintersect,
PLINT yintersect,
PLINT  xA1,
PLINT  yA1,
PLINT  xA2,
PLINT  yA2,
PLINT  xB1,
PLINT  yB1,
PLINT  xB2,
PLINT  yB2 
)
static

Definition at line 1933 of file plfill.c.

static int notpointinpolygon ( PLINT  n,
const PLINT x,
const PLINT y,
PLINT  xp,
PLINT  yp 
)
static

Definition at line 1253 of file plfill.c.

void plfill_soft ( short *  x,
short *  y,
PLINT  n 
)

Definition at line 309 of file plfill.c.

void plP_plfclp ( PLINT x,
PLINT y,
PLINT  npts,
PLINT  xmin,
PLINT  xmax,
PLINT  ymin,
PLINT  ymax,
void(*)(short *, short *, PLINT draw 
)

Definition at line 533 of file plfill.c.

int plP_pointinpolygon ( PLINT  n,
const PLFLT x,
const PLFLT y,
PLFLT  xp,
PLFLT  yp 
)

Definition at line 1207 of file plfill.c.

void tran ( PLINT a,
PLINT b,
PLFLT  c,
PLFLT  d 
)
static

Definition at line 414 of file plfill.c.

Variable Documentation

PLINT * buffer
static

Definition at line 76 of file plfill.c.

PLINT bufferleng
static

Definition at line 76 of file plfill.c.

PLINT buffersize
static

Definition at line 76 of file plfill.c.