Parallel Plane Sweep
0.1
Shared memory multithreaded version of the plane sweep algorithm

holds a single halfsegment, along with labeling information and information indicating if the opposing region's interior lies above and/or below the halfsegment. More...
#include <parPlaneSweep.h>
Public Member Functions  
halfsegment ()  
halfsegment (const halfsegment &rhs)  
bool  isLeft () const 
halfsegment  getBrother () const 
bool  operator== (const halfsegment &rhs) const 
bool  operator< (const halfsegment &rhs) const 
bool  colinear (const halfsegment &rhs) const 
double  getYvalAtX (const double x) const 
halfsegment ()  
halfsegment (const halfsegment &rhs)  
bool  isLeft () const 
halfsegment  getBrother () const 
bool  operator== (const halfsegment &rhs) const 
bool  operator< (const halfsegment &rhs) const 
bool  colinear (const halfsegment &rhs) const 
double  getYvalAtX (const double x) const 
Public Attributes  
double  dx 
dominating and submissive points More...  
double  dy 
double  sx 
double  sy 
int  la 
label above, label below More...  
int  lb 
int  stripID 
strip ID More...  
int  regionID 
The region the seg belongs to. More...  
int  ola 
overlap labels. More...  
int  olb 
Friends  
ostream &  operator<< (ostream &out, const halfsegment &rhs) 
ostream &  operator<< (ostream &out, const halfsegment &rhs) 
holds a single halfsegment, along with labeling information and information indicating if the opposing region's interior lies above and/or below the halfsegment.
holds a halfsegment.
Contains the x and y values for the dominating and submissive points.
Contains integer labels: la = label above and lb = label below
Contains the ID of the strip that this halfsegment is assigned to.
Contains the region to which the halfsegment belongs (there are two input regions)
Contains the overlap lables. Overlap labels indicate if the interior of the opposing region lies above and/or below this halfsegment.
Definition at line 76 of file parPlaneSweep.h.

inline 
Default constructor
Definition at line 92 of file parPlaneSweep.h.

inline 
Copy constructor
Definition at line 99 of file parPlaneSweep.h.

inline 
Default constructor
Definition at line 71 of file halfsegment.h.

inline 
Copy constructor
Definition at line 78 of file halfsegment.h.

inline 
Test if two halfsegments are colinear.
Tests for exact colnearity. SENSITIVE TO ROUNDING ERRORS.
Definition at line 141 of file halfsegment.h.

inline 
Test if two halfsegments are colinear.
Tests for exact colnearity. SENSITIVE TO ROUNDING ERRORS.
Definition at line 160 of file parPlaneSweep.h.

inline 
Compute the brother of this halfsegment. (switch the dominating and submissive points).
Definition at line 96 of file halfsegment.h.

inline 
Compute the brother of this halfsegment. (switch the dominating and submissive points).
Definition at line 115 of file parPlaneSweep.h.

inline 
Compute the y value on a linesegment (halfsegment in this case) at a given x value.
Note that if the x value is beyond the end of the line segment, this still returns a y value. In otherwords, it is based only upon the equation of a line. The caller needs to ensure x is either within the line segment, or check after the function returns
Note that this is sensitive to divide by 0! and to floating point rounding errors
Definition at line 155 of file halfsegment.h.

inline 
Compute the y value on a linesegment (halfsegment in this case) at a given x value.
Note that if the x value is beyond the end of the line segment, this still returns a y value. In otherwords, it is based only upon the equation of a line. The caller needs to ensure x is either within the line segment, or check after the function returns
Note that this is sensitive to divide by 0! and to floating point rounding errors
Definition at line 174 of file parPlaneSweep.h.

inline 
Returns true if this is a left halfsegment, right otherwise.
Definition at line 89 of file halfsegment.h.

inline 
Returns true if this is a left halfsegment, right otherwise.
Definition at line 108 of file parPlaneSweep.h.

inline 
Overloaded less than operator.
Computes based ONLY on the end points of the halfsegment. That is, not nased on labels
Uses halfsegment ordering to determine less than
Definition at line 124 of file halfsegment.h.

inline 
Overloaded less than operator.
Computes based ONLY on the end points of the halfsegment. That is, not nased on labels
Uses halfsegment ordering to determine less than
Definition at line 143 of file parPlaneSweep.h.

inline 
Overloaded equivalence test.
Computes equivalence based ONLY on the end points of the halfsegments.
Segments are equal if their dominating and submissive points match.
Definition at line 112 of file halfsegment.h.

inline 
Overloaded equivalence test.
Computes equivalence based ONLY on the end points of the halfsegments.
Segments are equal if their dominating and submissive points match.
Definition at line 131 of file parPlaneSweep.h.

friend 
Overloaded ostream operator.
Definition at line 165 of file halfsegment.h.

friend 
Overloaded ostream operator.
Definition at line 184 of file parPlaneSweep.h.
double halfsegment::dx 
dominating and submissive points
Definition at line 79 of file parPlaneSweep.h.
double halfsegment::dy 
Definition at line 79 of file parPlaneSweep.h.
int halfsegment::la 
label above, label below
Definition at line 81 of file parPlaneSweep.h.
int halfsegment::lb 
Definition at line 81 of file parPlaneSweep.h.
int halfsegment::ola 
int halfsegment::olb 
Definition at line 87 of file parPlaneSweep.h.
int halfsegment::regionID 
The region the seg belongs to.
Definition at line 85 of file parPlaneSweep.h.
int halfsegment::stripID 
strip ID
Definition at line 83 of file parPlaneSweep.h.
double halfsegment::sx 
Definition at line 79 of file parPlaneSweep.h.
double halfsegment::sy 
Definition at line 79 of file parPlaneSweep.h.