-
Notifications
You must be signed in to change notification settings - Fork 0
/
StrokeFactory.java
56 lines (50 loc) · 1.3 KB
/
StrokeFactory.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
*
* JH 2020
*
*/
import java.util.ArrayList;
import java.util.List;
public class StrokeFactory {
private static boolean VERBOSE = true;
public StrokeFactory() {}
public static Stroke generate(String pairs){
//System.out.println(pairs);
Stroke s = new Stroke();
if(pairs.length()>0) {
String coma = ",";
String space =" ";
String[] tokens = pairs.split(coma);
for(String token: tokens) {
//System.out.println("..."+token+"...");
String ne = token.trim();
String[] split = ne.split(" ");
try {
//System.out.println(split[0]+"-"+split[1]);
int x = Integer.parseInt(split[0]);
int y = Integer.parseInt(split[1]);
Point p = new Point(x,y);
s.addPoint(p);
//System.out.print("StrokeFactory: "+ p.toString());
}catch(NumberFormatException e) {
try {
float fx = Float.parseFloat(split[0]);
float fy = Float.parseFloat(split[1]);
Point p = new Point((double)(fx*1000),((double)fy*1000));
s.addPoint(p);
if(VERBOSE) {
System.out.println("StrokeFactory:"+e.getMessage()+ p.toString());
}
}catch(Exception a) {
if(VERBOSE) {
a.printStackTrace();
}
}
//e.printStackTrace();}
}
}
}
//System.out.println(s.toString());
return s;
}
}