public Segment reverse() { return new Linear(new Point2D.Double(p2.x, p2.y), new Point2D.Double(p1.x, p1.y)); }
public Object clone() { return new Linear(new Point2D.Double(p1.x, p1.y), new Point2D.Double(p2.x, p2.y)); }
public Segment reverse() { return new Linear(new Point2D.Double(p2.x, p2.y), new Point2D.Double(p1.x, p1.y)); }
public Object clone() { return new Linear(new Point2D.Double(p1.x, p1.y), new Point2D.Double(p2.x, p2.y)); }
public Object clone() { return new Linear(new Point2D.Double(p1.x, p1.y), new Point2D.Double(p2.x, p2.y)); }
public Segment reverse() { return new Linear(new Point2D.Double(p2.x, p2.y), new Point2D.Double(p1.x, p1.y)); }
public Segment splitBefore(double t) { return new Linear(p1, eval(t)); } public Segment splitAfter(double t) {
public Segment splitBefore(double t) { return new Linear(p1, eval(t)); } public Segment splitAfter(double t) {
public Segment splitBefore(double t) { return new Linear(p1, eval(t)); } public Segment splitAfter(double t) {
public Segment splitAfter(double t) { return new Linear(eval(t), p2); }
public Segment splitAfter(double t) { return new Linear(eval(t), p2); }
public Segment splitAfter(double t) { return new Linear(eval(t), p2); }
public Segment getSegment(double t0, double t1) { Point2D.Double np1 = eval(t0); Point2D.Double np2 = eval(t1); return new Linear(np1, np2); } public Segment splitBefore(double t) {
public Segment getSegment(double t0, double t1) { Point2D.Double np1 = eval(t0); Point2D.Double np2 = eval(t1); return new Linear(np1, np2); } public Segment splitBefore(double t) {
public Segment getSegment(double t0, double t1) { Point2D.Double np1 = eval(t0); Point2D.Double np2 = eval(t1); return new Linear(np1, np2); } public Segment splitBefore(double t) {