1
2
3
4
5
6
7
8
9 package math.geom2d.curve;
10
11 import java.util.ArrayList;
12 import java.util.Collection;
13
14 import math.geom2d.Point2D;
15 import math.geom2d.Vector2D;
16
17
18
19
20
21
22 public abstract class AbstractSmoothCurve2D extends AbstractContinuousCurve2D
23 implements SmoothCurve2D, Cloneable {
24
25
26
27
28
29 public Vector2D getLeftTangent(double t){
30 return this.getTangent(t);
31 }
32
33
34
35
36 public Vector2D getRightTangent(double t){
37 return this.getTangent(t);
38 }
39
40
41
42
43 public Collection<? extends SmoothCurve2D> getSmoothPieces() {
44 return wrapCurve(this);
45 }
46
47
48
49
50
51
52 public Collection<Point2D> getSingularPoints() {
53 return new ArrayList<Point2D>(0);
54 }
55
56
57
58
59
60
61 public boolean isSingular(double pos) {
62 return false;
63 }
64
65 @Override
66 public abstract SmoothCurve2D clone();
67 }