private void generate_polyline_cuts_() { MultiPath left = new Polyline(); MultiPath right = new Polyline(); MultiPath uncut = new Polyline(); m_cuts.add(left); m_cuts.add(right); ArrayList<OperatorCutLocal.CutPair> cutPairs = new ArrayList<OperatorCutLocal.CutPair>( 0); Cutter.CutPolyline(m_bConsiderTouch, (Polyline) m_cuttee, m_cutter, m_tolerance, cutPairs, null, m_progressTracker); for (int icut = 0; icut < cutPairs.size(); icut++) { OperatorCutLocal.CutPair cutPair = cutPairs.get(icut); if (cutPair.m_side == Side.Left) { left.add((MultiPath) cutPair.m_geometry, false); } else if (cutPair.m_side == Side.Right || cutPair.m_side == Side.Coincident) { right.add((MultiPath) cutPair.m_geometry, false); } else if (cutPair.m_side == Side.Undefined) { m_cuts.add((MultiPath) cutPair.m_geometry); } else { uncut.add((MultiPath) cutPair.m_geometry, false); } } if (!uncut.isEmpty() && (!left.isEmpty() || !right.isEmpty() || m_cuts.size() >= 3)) m_cuts.add(uncut); if (left.isEmpty() && right.isEmpty() && m_cuts.size() < 3) m_cuts.clear(); // no cuts }
private void generate_polyline_cuts_() { MultiPath left = new Polyline(); MultiPath right = new Polyline(); MultiPath uncut = new Polyline(); m_cuts.add(left); m_cuts.add(right); ArrayList<OperatorCutLocal.CutPair> cutPairs = new ArrayList<OperatorCutLocal.CutPair>( 0); Cutter.CutPolyline(m_bConsiderTouch, (Polyline) m_cuttee, m_cutter, m_tolerance, cutPairs, null, m_progressTracker); for (int icut = 0; icut < cutPairs.size(); icut++) { OperatorCutLocal.CutPair cutPair = cutPairs.get(icut); if (cutPair.m_side == Side.Left) { left.add((MultiPath) cutPair.m_geometry, false); } else if (cutPair.m_side == Side.Right || cutPair.m_side == Side.Coincident) { right.add((MultiPath) cutPair.m_geometry, false); } else if (cutPair.m_side == Side.Undefined) { m_cuts.add((MultiPath) cutPair.m_geometry); } else { uncut.add((MultiPath) cutPair.m_geometry, false); } } if (!uncut.isEmpty() && (!left.isEmpty() || !right.isEmpty() || m_cuts.size() >= 3)) m_cuts.add(uncut); if (left.isEmpty() && right.isEmpty() && m_cuts.size() < 3) m_cuts.clear(); // no cuts }
polyline = new OGCMultiLineString(esriSR); ((MultiPath)polyline.getEsriGeometry()).add((Polyline)g, false); continue;
polyline = new OGCMultiLineString(esriSR); ((MultiPath)polyline.getEsriGeometry()).add((Polyline)g, false); continue;