HE_Mesh2014  2.0.11
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
wblut.geom.WB_Voronoi2D Class Reference

Classes

class  VoronoiEdge2D
 
class  VoronoiHalfedge2D
 

Public Member Functions

 WB_Voronoi2D ()
 
List< WB_IndexedBisectorgenerateVoronoi (final double minX, final double maxX, final double minY, final double maxY, final WB_Point[] points)
 
List< WB_IndexedBisectorgenerateVoronoi (double minX, double maxX, double minY, double maxY, final List< WB_Point > points)
 

Private Member Functions

void collectSites (final List< WB_Point > pointsIn)
 
void sortSites (final FastTable< WB_Point > points)
 
boolean createVoronoi2D ()
 
boolean pointQueueInitialize ()
 
int pointQueueMarker (final VoronoiHalfedge2D he)
 
void insertHalfedgeInPointqueue (final VoronoiHalfedge2D he, final WB_Point v, final double offset)
 
void removeHalfedgeFromPointqueue (final VoronoiHalfedge2D he)
 
boolean isPointQueueEmpty ()
 
WB_Point pointQueueMin ()
 
VoronoiHalfedge2D popMinFromPointQueue ()
 
boolean edgeListInitialize ()
 
void insertHalfedgeInEdgeList (final VoronoiHalfedge2D lb, final VoronoiHalfedge2D newHe)
 
void deleteHalfedgeFromEdgeList (final VoronoiHalfedge2D he)
 
VoronoiHalfedge2D edgeListMarker (final int b)
 
VoronoiHalfedge2D ELleftbnd (final WB_Point p)
 
WB_Point getNextSite ()
 
VoronoiEdge2D bisect (final WB_Point s1, final WB_Point s2)
 
VoronoiHalfedge2D HEcreate (final VoronoiEdge2D e, final int pm)
 
WB_Point leftreg (final VoronoiHalfedge2D he)
 
void clipToBoundary (final VoronoiEdge2D e)
 
void endpoint (final VoronoiEdge2D e, final int lr, final WB_Point s)
 
boolean isPointToRightOfEdge (final VoronoiHalfedge2D el, final WB_Point p)
 
WB_Point rightreg (final VoronoiHalfedge2D he)
 
WB_Point intersect (final VoronoiHalfedge2D el1, final VoronoiHalfedge2D el2)
 

Private Attributes

double borderMinX
 
int currentSite
 
double xmin
 
int nsites
 
WB_Point[] sites
 
WB_Point bottomsite
 
int pointQueueSize
 
VoronoiHalfedge2D pointQueueMarkers []
 
int numberOfEdgeListMarkers
 
VoronoiHalfedge2D edgeListMarkers []
 
VoronoiHalfedge2D edgeListLeftEnd
 
FastTable< WB_IndexedBisectorallEdges
 
FastMap< WB_Point, Integer > indices
 

Static Private Attributes

static int leftEnd = 0
 
static int rightEnd = 1
 

Detailed Description

Stripped version of Zhenyu Pan's JAVA transcription of Shane O'Sullivan's C implementation of Fortune's sweep algorithm. I added degenerate point detection.

http://shaneosullivan.wordpress.com/2007/04/05/fortunes-sweep-line-voronoi- algorithm-implemented-in-java/

Author
Frederik Vanhoutte, W:Blut, extremely derivative

Constructor & Destructor Documentation

wblut.geom.WB_Voronoi2D.WB_Voronoi2D ( )

Member Function Documentation

VoronoiEdge2D wblut.geom.WB_Voronoi2D.bisect ( final WB_Point  s1,
final WB_Point  s2 
)
private
Parameters
s1
s2
Returns
void wblut.geom.WB_Voronoi2D.clipToBoundary ( final VoronoiEdge2D  e)
private
Parameters
e
void wblut.geom.WB_Voronoi2D.collectSites ( final List< WB_Point pointsIn)
private
Parameters
pointsIn
boolean wblut.geom.WB_Voronoi2D.createVoronoi2D ( )
private
Returns
void wblut.geom.WB_Voronoi2D.deleteHalfedgeFromEdgeList ( final VoronoiHalfedge2D  he)
private
Parameters
he
boolean wblut.geom.WB_Voronoi2D.edgeListInitialize ( )
private
Returns
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.edgeListMarker ( final int  b)
private
Parameters
b
Returns
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.ELleftbnd ( final WB_Point  p)
private
Parameters
p
Returns
void wblut.geom.WB_Voronoi2D.endpoint ( final VoronoiEdge2D  e,
final int  lr,
final WB_Point  s 
)
private
Parameters
e
lr
s
List<WB_IndexedBisector> wblut.geom.WB_Voronoi2D.generateVoronoi ( final double  minX,
final double  maxX,
final double  minY,
final double  maxY,
final WB_Point[]  points 
)
Parameters
minX
maxX
minY
maxY
points
Returns
List<WB_IndexedBisector> wblut.geom.WB_Voronoi2D.generateVoronoi ( double  minX,
double  maxX,
double  minY,
double  maxY,
final List< WB_Point points 
)
Parameters
minX
maxX
minY
maxY
points
Returns
WB_Point wblut.geom.WB_Voronoi2D.getNextSite ( )
private
Returns
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.HEcreate ( final VoronoiEdge2D  e,
final int  pm 
)
private
Parameters
e
pm
Returns
void wblut.geom.WB_Voronoi2D.insertHalfedgeInEdgeList ( final VoronoiHalfedge2D  lb,
final VoronoiHalfedge2D  newHe 
)
private
Parameters
lb
newHe
void wblut.geom.WB_Voronoi2D.insertHalfedgeInPointqueue ( final VoronoiHalfedge2D  he,
final WB_Point  v,
final double  offset 
)
private
Parameters
he
v
offset
WB_Point wblut.geom.WB_Voronoi2D.intersect ( final VoronoiHalfedge2D  el1,
final VoronoiHalfedge2D  el2 
)
private
Parameters
el1
el2
Returns
boolean wblut.geom.WB_Voronoi2D.isPointQueueEmpty ( )
private
Returns
boolean wblut.geom.WB_Voronoi2D.isPointToRightOfEdge ( final VoronoiHalfedge2D  el,
final WB_Point  p 
)
private
Parameters
el
p
Returns
WB_Point wblut.geom.WB_Voronoi2D.leftreg ( final VoronoiHalfedge2D  he)
private
Parameters
he
Returns
boolean wblut.geom.WB_Voronoi2D.pointQueueInitialize ( )
private
Returns
int wblut.geom.WB_Voronoi2D.pointQueueMarker ( final VoronoiHalfedge2D  he)
private
Parameters
he
Returns
WB_Point wblut.geom.WB_Voronoi2D.pointQueueMin ( )
private
Returns
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.popMinFromPointQueue ( )
private
Returns
void wblut.geom.WB_Voronoi2D.removeHalfedgeFromPointqueue ( final VoronoiHalfedge2D  he)
private
Parameters
he
WB_Point wblut.geom.WB_Voronoi2D.rightreg ( final VoronoiHalfedge2D  he)
private
Parameters
he
Returns
void wblut.geom.WB_Voronoi2D.sortSites ( final FastTable< WB_Point points)
private
Parameters
points

Member Data Documentation

FastTable<WB_IndexedBisector> wblut.geom.WB_Voronoi2D.allEdges
private
double wblut.geom.WB_Voronoi2D.borderMinX
private
WB_Point wblut.geom.WB_Voronoi2D.bottomsite
private
int wblut.geom.WB_Voronoi2D.currentSite
private
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.edgeListLeftEnd
private
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.edgeListMarkers[]
private
FastMap<WB_Point, Integer> wblut.geom.WB_Voronoi2D.indices
private
int wblut.geom.WB_Voronoi2D.leftEnd = 0
staticprivate
int wblut.geom.WB_Voronoi2D.nsites
private
int wblut.geom.WB_Voronoi2D.numberOfEdgeListMarkers
private
VoronoiHalfedge2D wblut.geom.WB_Voronoi2D.pointQueueMarkers[]
private
int wblut.geom.WB_Voronoi2D.pointQueueSize
private
int wblut.geom.WB_Voronoi2D.rightEnd = 1
staticprivate
WB_Point [] wblut.geom.WB_Voronoi2D.sites
private
double wblut.geom.WB_Voronoi2D.xmin
private

The documentation for this class was generated from the following file: