public int numPoints() { if (multiPath.isEmpty()) return 0; return multiPath.getPointCount() + 1; }
public int numPoints() { if (multiPath.isEmpty()) return 0; return multiPath.getPointCount() + 1; }
/** * The number of Points in this LineString. */ public int numPoints() { if (multiPath.isEmpty()) return 0; int d = multiPath.isClosedPath(0) ? 1 : 0; return multiPath.getPointCount() + d; }
public OGCLineString(MultiPath mp, int pathIndex, SpatialReference sr, boolean reversed) { multiPath = new Polyline(); if (!mp.isEmpty()) multiPath.addPath(mp, pathIndex, !reversed); esriSR = sr; }
public OGCLineString(MultiPath mp, int pathIndex, SpatialReference sr) { multiPath = new Polyline(); if (!mp.isEmpty()) multiPath.addPath(mp, pathIndex, true); esriSR = sr; }
public OGCLineString(MultiPath mp, int pathIndex, SpatialReference sr) { multiPath = new Polyline(); if (!mp.isEmpty()) multiPath.addPath(mp, pathIndex, true); esriSR = sr; }
/** * The number of Points in this LineString. */ public int numPoints() { if (multiPath.isEmpty()) return 0; int d = multiPath.isClosedPath(0) ? 1 : 0; return multiPath.getPointCount() + d; }
public OGCLineString(MultiPath mp, int pathIndex, SpatialReference sr, boolean reversed) { multiPath = new Polyline(); if (!mp.isEmpty()) multiPath.addPath(mp, pathIndex, !reversed); esriSR = sr; }
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 }
if (!pp.isEmpty()) { int n = pp.getPathCount(); // rings or paths
if (!pp.isEmpty()) { int n = pp.getPathCount(); // rings or paths