xmsmesh
1.0
|
Intersects and cleans polygons generated from MePolyOffsetter. More...
Public Member Functions | |
virtual void | CleanPolyOffset (const VecPt3d &a_input, int a_pType, double a_tol, MePolyOffsetterOutput &a_out) override |
Takes an input polyline (forming a closed loop) and intersects it with itself and fills the output with multiple closed loop polylines. More... | |
virtual void | SetOriginalOutsidePolygon (const VecPt3d &a_origOutsidePoly) override |
Sets the original outside polygon for this pave operation. More... | |
virtual void | IntersectCleanInPolys (const std::vector< MePolyOffsetterOutput > &a_offsets, MePolyOffsetterOutput &a_out, double a_xyTol) override |
Takes a vector of PolyOffsetOutput and intersects and cleans all INSIDE_POLY polygons . More... | |
virtual void | IntersectCleanInOutPolys (const MePolyOffsetterOutput &a_offsets, MePolyOffsetterOutput &a_out, double a_xyTol) override |
Takes a PolyOffsetOutput and intersects and cleans all INSIDE_POLY polygons with OUTSIDE_POLY polygons. NEWOUT_POLY polygons are not changed. More... | |
void | FillOutputForCleanPolyOffset (MePolyOffsetterOutput &a_out, int a_pType, std::list< std::vector< size_t >> &a_loops, std::vector< int > &a_loopType, const VecPt3d &a_pts) |
Fills the output variable for CleanPolyOffset method. More... | |
Public Attributes | |
VecPt3d | m_origOutsidePoly |
the original outside polygon for this step of the paving process | |
Additional Inherited Members | |
Static Public Member Functions inherited from xms::MePolyCleaner | |
static BSHP< MePolyCleaner > | New () |
Creates a new instance of this class. More... | |
Intersects and cleans polygons generated from MePolyOffsetter.
Definition at line 39 of file MePolyCleaner.cpp.
|
overridevirtual |
Takes an input polyline (forming a closed loop) and intersects it with itself and fills the output with multiple closed loop polylines.
a_input | The input polyline forming a closed loop. |
a_pType | The type of polygon: OUTSIDE_POLY or INSIDE_POLY |
a_tol | Tolerance used for floating point geometry comparisons. |
a_out | Output class to hold new polygons |
Definition at line 115 of file MePolyCleaner.cpp.
References xms::MePolyPts::CalcLoopsForCleanPolyOffset(), xms::MePolyPts::ClassifyLoopsFromInPolyAndRemoveInvalid(), FillOutputForCleanPolyOffset(), xms::MePolyPts::IntersectSegs(), xms::MePolyPts::Pts(), xms::MePolyPts::RemoveBackwardLoopsForCleanPolyOffset(), xms::MePolyPts::SegmentsForCleanPolyOffset(), xms::MePolyPts::SequenceWithIntersects(), and xms::MePolyPts::XyTol().
Referenced by MePolyCleanerUnitTests::testCase0(), MePolyCleanerUnitTests::testCase1(), MePolyCleanerUnitTests::testCase2(), MePolyCleanerUnitTests::testCase2a(), MePolyCleanerUnitTests::testCase3(), MePolyCleanerUnitTests::testCase3a(), MePolyCleanerUnitTests::testCase4(), MePolyCleanerUnitTests::testCase5(), MePolyCleanerUnitTests::testCase5a(), MePolyCleanerUnitTests::testCase6(), MePolyCleanerUnitTests::testCase6a(), MePolyCleanerUnitTests::testCase6b(), MePolyCleanerUnitTests::testCase6c(), MePolyCleanerUnitTests::testCase7(), MePolyCleanerUnitTests::testCase7a(), MePolyCleanerUnitTests::testCase7b(), MePolyCleanerUnitTests::testCase7c(), MePolyCleanerUnitTests::testCase8(), MePolyCleanerUnitTests::testCase8a(), MePolyCleanerUnitTests::testCase8b(), MePolyCleanerUnitTests::testCase8c(), and MePolyCleanerUnitTests::testCase9().
void xms::MePolyCleanerImpl::FillOutputForCleanPolyOffset | ( | MePolyOffsetterOutput & | a_out, |
int | a_pType, | ||
std::list< std::vector< size_t >> & | a_loops, | ||
std::vector< int > & | a_loopType, | ||
const VecPt3d & | a_pts | ||
) |
Fills the output variable for CleanPolyOffset method.
a_out | |
a_pType | |
a_loops | |
a_loopType | |
a_pts |
Definition at line 221 of file MePolyCleaner.cpp.
References xms::MePolyOffsetterOutput::m_loops, xms::MePolyOffsetterOutput::m_loopTypes, and xms::MePolyOffsetterOutput::m_pts.
Referenced by CleanPolyOffset().
|
overridevirtual |
Takes a PolyOffsetOutput and intersects and cleans all INSIDE_POLY polygons with OUTSIDE_POLY polygons. NEWOUT_POLY polygons are not changed.
a_offsets | Results from the IntersectCleanInPolys method |
a_out | Results from this operation. |
a_xyTol | Tolerance used for floating point geometry comparisons. |
Definition at line 203 of file MePolyCleaner.cpp.
References xms::MeIntersectPolys::CalcEnvelopes(), xms::MeIntersectPolys::FillOutput(), xms::MeIntersectPolys::InOutDoIntersection(), and xms::MeIntersectPolys::SetupInOut().
Referenced by MePolyCleanerUnitTests::testCleanInOut0(), MePolyCleanerUnitTests::testCleanInOut0a(), MePolyCleanerUnitTests::testCleanInOut0b(), MePolyCleanerUnitTests::testCleanInOut1(), MePolyCleanerUnitTests::testCleanInOut1a(), and MePolyCleanerUnitTests::testCleanInOut1b().
|
overridevirtual |
Takes a vector of PolyOffsetOutput and intersects and cleans all INSIDE_POLY polygons .
a_offsets | Results from the PolyOffsetter class |
a_out | Results from this operation. These will be the INSIDE_POLY polygons considered in future operations done by the meshing class. There can also be new OUTSIDE_POLY polygons created by this method. Any old OUTSIDE_POLY polygons that are passed in will be passed back out. |
a_xyTol | Tolerance used for floating point geometry comparisons. |
Definition at line 179 of file MePolyCleaner.cpp.
References xms::MeIntersectPolys::CalcEnvelopes(), xms::MeIntersectPolys::DeleteBad_NEWOUT_POLY(), xms::MeIntersectPolys::FillOutput(), xms::MeIntersectPolys::InInDoIntersection(), xms::MeIntersectPolys::InInTrivialPolyCases(), m_origOutsidePoly, and xms::MeIntersectPolys::SetupInIn().
Referenced by MePolyCleanerUnitTests::testCleanIn0(), MePolyCleanerUnitTests::testCleanIn1(), MePolyCleanerUnitTests::testCleanIn10(), MePolyCleanerUnitTests::testCleanIn11(), MePolyCleanerUnitTests::testCleanIn1a(), MePolyCleanerUnitTests::testCleanIn1b(), MePolyCleanerUnitTests::testCleanIn2(), MePolyCleanerUnitTests::testCleanIn2a(), MePolyCleanerUnitTests::testCleanIn2b(), MePolyCleanerUnitTests::testCleanIn3(), MePolyCleanerUnitTests::testCleanIn3a(), MePolyCleanerUnitTests::testCleanIn4(), MePolyCleanerUnitTests::testCleanIn4a(), MePolyCleanerUnitTests::testCleanIn4b(), MePolyCleanerUnitTests::testCleanIn4c(), MePolyCleanerUnitTests::testCleanIn4d(), MePolyCleanerUnitTests::testCleanIn5(), MePolyCleanerUnitTests::testCleanIn6(), MePolyCleanerUnitTests::testCleanIn7(), MePolyCleanerUnitTests::testCleanIn8(), and MePolyCleanerUnitTests::testCleanIn9().
|
overridevirtual |
Sets the original outside polygon for this pave operation.
a_origOutsidePoly | The outside polygon for this step of the pave operation |
Definition at line 165 of file MePolyCleaner.cpp.
References m_origOutsidePoly.