xmsmesh
1.0
|
Intersect polygons that are a result of the paving process. More...
#include <MeIntersectPolys.h>
Classes | |
class | impl |
Does polygon intersection for MePolyCleaner. More... | |
Public Member Functions | |
MeIntersectPolys () | |
Constructor. | |
~MeIntersectPolys () | |
Destructor. | |
void | SetupInIn (const std::vector< MePolyOffsetterOutput > &a_offsets, double a_xyTol) |
calls implementation More... | |
void | SetupInOut (const MePolyOffsetterOutput &a_offsets, double a_xyTol) |
calls implementation More... | |
void | CalcEnvelopes () |
Calculates the envelope of all of the polygons. | |
void | InInTrivialPolyCases () |
calls implementation | |
void | InInDoIntersection () |
calls implementation | |
void | InOutDoIntersection () |
calls implementation | |
void | FillOutput (MePolyOffsetterOutput &a_out) |
calls implementation More... | |
void | ClassifyPolys (const MePolyOffsetterOutput &a_input, std::vector< std::vector< size_t >> &a_output) |
calls implementation More... | |
void | DeleteBad_NEWOUT_POLY (MePolyOffsetterOutput &a_out, const VecPt3d &a_origOutsidePoly) |
calls implementation More... | |
Private Member Functions | |
XM_DISALLOW_COPY_AND_ASSIGN (MeIntersectPolys) | |
prevent compiler generated copy/assign | |
Private Attributes | |
friend | MeIntersectPolysUnitTests |
tests MeIntersectPolys | |
impl * | m_p |
implementation class | |
Intersect polygons that are a result of the paving process.
Definition at line 26 of file MeIntersectPolys.h.
void xms::MeIntersectPolys::ClassifyPolys | ( | const MePolyOffsetterOutput & | a_input, |
std::vector< std::vector< size_t >> & | a_output | ||
) |
calls implementation
a_input | Input polygons |
a_output | 2D Vector where the first dimension is the number of "outside" polygons. |
Definition at line 252 of file MeIntersectPolys.cpp.
References xms::MeIntersectPolys::impl::ClassifyPolys(), and m_p.
void xms::MeIntersectPolys::DeleteBad_NEWOUT_POLY | ( | MePolyOffsetterOutput & | a_out, |
const VecPt3d & | a_origOutsidePoly | ||
) |
calls implementation
a_out | Holds the output polygons from the operation performed (either InInDoIntersection or InOutDoIntersection |
a_origOutsidePoly | The outside polygon for this step of the pave operation |
Definition at line 263 of file MeIntersectPolys.cpp.
References xms::MeIntersectPolys::impl::DeleteBad_NEWOUT_POLY(), and m_p.
Referenced by xms::MePolyCleanerImpl::IntersectCleanInPolys().
void xms::MeIntersectPolys::FillOutput | ( | MePolyOffsetterOutput & | a_out | ) |
calls implementation
a_out | Holds the output polygons from the operation performed (either InInDoIntersection or InOutDoIntersection |
Definition at line 242 of file MeIntersectPolys.cpp.
References xms::MeIntersectPolys::impl::FillOutput(), and m_p.
Referenced by xms::MePolyCleanerImpl::IntersectCleanInOutPolys(), and xms::MePolyCleanerImpl::IntersectCleanInPolys().
void xms::MeIntersectPolys::SetupInIn | ( | const std::vector< MePolyOffsetterOutput > & | a_offsets, |
double | a_xyTol | ||
) |
calls implementation
a_offsets | Vector of outputs from MePolyOffsetter::Offset. These would be the offsets from paving from OUTSIDE_POLY and INSIDE_POLY polygons. |
a_xyTol | tolerance for floating point comparisons |
Definition at line 191 of file MeIntersectPolys.cpp.
References m_p, and xms::MeIntersectPolys::impl::SetupInIn().
Referenced by xms::MePolyCleanerImpl::IntersectCleanInPolys().
void xms::MeIntersectPolys::SetupInOut | ( | const MePolyOffsetterOutput & | a_offsets, |
double | a_xyTol | ||
) |
calls implementation
a_offsets | The output from MePolyCleaner::IntersectCleanInPolys |
a_xyTol | tolerance for floating point comparisons |
Definition at line 201 of file MeIntersectPolys.cpp.
References m_p, and xms::MeIntersectPolys::impl::SetupInOut().
Referenced by xms::MePolyCleanerImpl::IntersectCleanInOutPolys().