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.