Graphviz 14.0.2~dev.20251008.0253
Loading...
Searching...
No Matches
hedges.h File Reference
#include <util/api.h>
#include <util/arena.h>
#include <neatogen/site.h>
#include <neatogen/edges.h>
Include dependency graph for hedges.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Halfedge
 
struct  el_state_t
 

Typedefs

typedef struct Halfedge Halfedge
 

Functions

PRIVATE void ELinitialize (el_state_t *)
 
PRIVATE void ELcleanup (el_state_t *)
 
PRIVATE Sitehintersect (Halfedge *, Halfedge *, arena_t *)
 
PRIVATE HalfedgeHEcreate (el_state_t *, Edge *, char)
 
PRIVATE void ELinsert (Halfedge *, Halfedge *)
 
PRIVATE HalfedgeELleftbnd (el_state_t *, Point *)
 
PRIVATE void ELdelete (Halfedge *)
 
PRIVATE HalfedgeELleft (Halfedge *)
 
PRIVATE HalfedgeELright (Halfedge *)
 
PRIVATE Siteleftreg (Halfedge *)
 
PRIVATE Siterightreg (Halfedge *)
 

Typedef Documentation

◆ Halfedge

typedef struct Halfedge Halfedge

Function Documentation

◆ ELcleanup()

PRIVATE void ELcleanup ( el_state_t st)

Definition at line 21 of file hedges.c.

References el_state_t::allocated, free(), gv_arena_reset(), and el_state_t::hash.

Referenced by voronoi().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ELdelete()

PRIVATE void ELdelete ( Halfedge he)

Definition at line 218 of file hedges.c.

References DELETED, Halfedge::ELedge, Halfedge::ELleft, and Halfedge::ELright.

Referenced by voronoi().

Here is the caller graph for this function:

◆ ELinitialize()

PRIVATE void ELinitialize ( el_state_t st)

Definition at line 26 of file hedges.c.

References Halfedge::ELleft, Halfedge::ELright, gv_calloc(), el_state_t::hash, el_state_t::hashsize, HEcreate(), el_state_t::leftend, NULL, el_state_t::rightend, and sqrt_nsites.

Referenced by voronoi().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ELinsert()

PRIVATE void ELinsert ( Halfedge lb,
Halfedge new 
)

Definition at line 139 of file hedges.c.

References Halfedge::ELleft, and Halfedge::ELright.

Referenced by voronoi().

Here is the caller graph for this function:

◆ ELleft()

PRIVATE Halfedge * ELleft ( Halfedge )

◆ ELleftbnd()

PRIVATE Halfedge * ELleftbnd ( el_state_t st,
Point p 
)

Definition at line 180 of file hedges.c.

References clamp(), deltax, ELgethash(), Halfedge::ELleft, Halfedge::ELright, el_state_t::hash, el_state_t::hashsize, el_state_t::leftend, NULL, right_of(), el_state_t::rightend, Point::x, and xmin.

Referenced by voronoi().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ELright()

PRIVATE Halfedge * ELright ( Halfedge he)

Definition at line 226 of file hedges.c.

References Halfedge::ELright.

Referenced by voronoi().

Here is the caller graph for this function:

◆ HEcreate()

PRIVATE Halfedge * HEcreate ( el_state_t st,
Edge e,
char  pm 
)

Definition at line 129 of file hedges.c.

References el_state_t::allocated, ARENA_NEW, Halfedge::ELedge, Halfedge::ELpm, NULL, Halfedge::PQnext, and Halfedge::vertex.

Referenced by ELinitialize(), and voronoi().

Here is the caller graph for this function:

◆ hintersect()

PRIVATE Site * hintersect ( Halfedge el1,
Halfedge el2,
arena_t allocator 
)

Definition at line 43 of file hedges.c.

References Edge::a, ARENA_NEW, Edge::b, Edge::c, Site::coord, Halfedge::ELedge, Halfedge::ELpm, le, NULL, re, Edge::reg, Point::x, and Point::y.

Referenced by voronoi().

Here is the caller graph for this function:

◆ leftreg()

PRIVATE Site * leftreg ( Halfedge )

◆ rightreg()

PRIVATE Site * rightreg ( Halfedge he)

Definition at line 244 of file hedges.c.

References bottomsite, Halfedge::ELedge, Halfedge::ELpm, le, NULL, re, and Edge::reg.

Referenced by voronoi().

Here is the caller graph for this function: