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 SplineWaypoint extends BaseSpatialItem implements android.os.Parcelable { /** * Hold time in decimal seconds. (ignored by fixed wing, time to stay at * MISSION for rotary wing) */ private double delay; public SplineWaypoint(){ super(MissionItemType.SPLINE_WAYPOINT); } public SplineWaypoint(SplineWaypoint copy){ super(copy); this.delay = copy.delay; } public double getDelay() { return delay; } public void setDelay(double delay) { this.delay = delay; } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeDouble(this.delay); } private SplineWaypoint(Parcel in) { super(in); this.delay = in.readDouble(); } @Override public String toString() { return "SplineWaypoint{" + "delay=" + delay + ", " + super.toString() + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof SplineWaypoint)) return false; if (!super.equals(o)) return false; SplineWaypoint that = (SplineWaypoint) o; return Double.compare(that.delay, delay) == 0; } @Override public int hashCode() { int result = super.hashCode(); long temp; temp = Double.doubleToLongBits(delay); result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; } @Override public MissionItem clone() { return new SplineWaypoint(this); } public static final Creator<SplineWaypoint> CREATOR = new Creator<SplineWaypoint>() { public SplineWaypoint createFromParcel(Parcel source) { return new SplineWaypoint(source); } public SplineWaypoint[] newArray(int size) { return new SplineWaypoint[size]; } }; }