package com.o3dr.services.android.lib.drone.mission.item.spatial; import android.os.Parcel; import com.o3dr.services.android.lib.drone.mission.MissionItemType; import com.o3dr.services.android.lib.drone.mission.item.MissionItem; /** * Created by fhuya on 11/6/14. */ public class Circle extends BaseSpatialItem implements android.os.Parcelable { private double radius = 10; private int turns = 1; public Circle() { super(MissionItemType.CIRCLE); } public Circle(Circle copy){ super(copy); this.radius = copy.radius; this.turns = copy.turns; } public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } public int getTurns() { return turns; } public void setTurns(int turns) { this.turns = turns; } @Override public String toString() { return "Circle{" + "radius=" + radius + ", turns=" + turns + ", " + super.toString() + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Circle)) return false; if (!super.equals(o)) return false; Circle circle = (Circle) o; if (Double.compare(circle.radius, radius) != 0) return false; return turns == circle.turns; } @Override public int hashCode() { int result = super.hashCode(); long temp; temp = Double.doubleToLongBits(radius); result = 31 * result + (int) (temp ^ (temp >>> 32)); result = 31 * result + turns; return result; } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeDouble(this.radius); dest.writeInt(this.turns); } private Circle(Parcel in) { super(in); this.radius = in.readDouble(); this.turns = in.readInt(); } @Override public MissionItem clone() { return new Circle(this); } public static final Creator<Circle> CREATOR = new Creator<Circle>() { public Circle createFromParcel(Parcel source) { return new Circle(source); } public Circle[] newArray(int size) { return new Circle[size]; } }; }