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