|
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().