Android Open Source - zmap Polyline






From Project

Back to project page zmap.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project zmap listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.zmap.geom;
//from  w w w. j ava2s . com
import java.util.ArrayList;

public class Polyline extends PointCollection implements IPolyline
{
    public Polyline()
    {
        super();
  bound = new Envelope();
  lineLength = Double.NaN;
    }

    @Override
    public boolean isEmpty()
    {
  return points.size() <= 1;
    }

    @Override
    public IEnvelope envelope()
    {
  return bound;
    }

    @Override
    public double length()
    {
  return lineLength;
    }

    @Override
    protected void update()
    {
        super.update();
        calculateLength();
        calculateEnvelope();
    }
    
    private void calculateLength()
    {
  double length = 0;
  if(!isEmpty()){
      int size = pointCount();
      IPoint prevPoint = points.get(0);
      for(int i = 1 ; i < size ; i++){
    IPoint point = points.get(i);
    length += GeometryUtil.distance(prevPoint, point);
    prevPoint = point;
      }
  }
  lineLength = length;
    }

    private void calculateEnvelope()
    {
  if(!isEmpty()){
      int size = pointCount();
      IPoint prevPoint = points.get(0);
      IEnvelope env = prevPoint.envelope();
      bound = new Envelope(env);
      for(int i = 1 ; i < size ; i++){
    IPoint point = points.get(i);
    bound.unionWith(point);
      }
  }
    }
    
    private double lineLength;

    private IEnvelope bound;
}




Java Source Code List

com.zmap.MainActivity.java
com.zmap.geom.EmptyGeometryException.java
com.zmap.geom.Envelope.java
com.zmap.geom.GeometryUtil.java
com.zmap.geom.IEnvelope.java
com.zmap.geom.IGeomCollection.java
com.zmap.geom.IGeomObject.java
com.zmap.geom.ILineOperator.java
com.zmap.geom.IPointCollectionEdit.java
com.zmap.geom.IPointCollection.java
com.zmap.geom.IPoint.java
com.zmap.geom.IPolygon.java
com.zmap.geom.IPolyline.java
com.zmap.geom.IRingCollection.java
com.zmap.geom.IRing.java
com.zmap.geom.IVector.java
com.zmap.geom.InvalidGeometryException.java
com.zmap.geom.PointCollection.java
com.zmap.geom.Point.java
com.zmap.geom.Polyline.java
com.zmap.geom.Ring.java
com.zmap.geom.Vector.java