PLplot: plfill.c File Reference

PLplot 5.10.0

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Enumerations | Functions | Variables
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 PLINT * | buffer

## 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

enum PL_CrossedStatus

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.