File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/PiePlot3D.java | File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/PiePlot3D.java | |||
Method name: void drawSide(Graphics2D, Rectangle2D, Arc2D, Area, Area, Paint, Paint, Stroke, boolean, boolean)
|
Method name: void drawSide(Graphics2D, Rectangle2D, Arc2D, Area, Area, Paint, Paint, Stroke, boolean, boolean)
|
|||
Number of AST nodes: 39 | Number of AST nodes: 39 | |||
1 | if (!isAngleAtFront(end)) {↵ | 1 | if (!isAngleAtFront(end)) {↵ | |
2 | if (extent > -180.0) { // whole segment stays at the back↵ | 2 | if (extent < 180.0) { // and finishes at back↵ | |
3 | if (drawBack) {↵ | 3 | if (drawBack) {↵ | |
4 | Area side = new Area(new Rectangle2D.Double(↵ | 4 | Area side = new Area(new Rectangle2D.Double(↵ | |
5 | arc.getStartPoint().getX(), plotArea.getY(),↵ | 5 | arc.getEndPoint().getX(), plotArea.getY(),↵ | |
6 | arc.getEndPoint().getX() ↵ | 6 | arc.getStartPoint().getX() ↵ | |
7 | - arc.getStartPoint().getX(),↵ | 7 | - arc.getEndPoint().getX(),↵ | |
8 | plotArea.getHeight()));↵ | 8 | plotArea.getHeight()));↵ | |
9 | side.intersect(back);↵ | 9 | side.intersect(back);↵ | |
10 | g2.setPaint(paint);↵ | 10 | g2.setPaint(paint);↵ | |
11 | g2.fill(side);↵ | 11 | g2.fill(side);↵ | |
12 | g2.setPaint(outlinePaint);↵ | 12 | g2.setPaint(outlinePaint);↵ | |
13 | g2.draw(side);↵ | 13 | g2.draw(side);↵ | |
14 | }↵ | 14 | }↵ | |
15 | }↵ | 15 | }↵ | |
16 | else { // starts at the back, wraps around front, and ↵ | 16 | else { // starts at back and wraps right around to the ↵ | |
17 | // finishes at back again↵ | 17 | // back again↵ | |
18 | Area side1 = new Area(new Rectangle2D.Double(↵ | 18 | Area side1 = new Area(new Rectangle2D.Double(↵ | |
19 | arc.getStartPoint().getX(), plotArea.getY(),↵ | 19 | arc.getStartPoint().getX(), plotArea.getY(),↵ | |
20 | plotArea.getMaxX() - arc.getStartPoint().getX(),↵ | 20 | plotArea.getX() - arc.getStartPoint().getX(),↵ | |
21 | plotArea.getHeight()));↵ | 21 | plotArea.getHeight()));↵ | |
22 | side1.intersect(back);↵ | 22 | side1.intersect(back);↵ | |
23 | Area side2 = new Area(new Rectangle2D.Double(↵ | 23 | Area side2 = new Area(new Rectangle2D.Double(↵ | |
24 | plotArea.getX(), plotArea.getY(),↵ | 24 | arc.getEndPoint().getX(), plotArea.getY(),↵ | |
25 | arc.getEndPoint().getX() - plotArea.getX(),↵ | 25 | plotArea.getMaxX() - arc.getEndPoint().getX(),↵ | |
26 | plotArea.getHeight()));↵ | 26 | plotArea.getHeight()));↵ | |
27 | side2.intersect(back);↵ | 27 | side2.intersect(back);↵ | |
28 | g2.setPaint(paint);↵ | 28 | g2.setPaint(paint);↵ | |
29 | if (drawBack) {↵ | 29 | if (drawBack) {↵ | |
30 | g2.fill(side1);↵ | 30 | g2.fill(side1);↵ | |
31 | g2.fill(side2);↵ | 31 | g2.fill(side2);↵ | |
32 | }↵ | 32 | }↵ | |
33 | if (drawFront) {↵ | 33 | if (drawFront) {↵ | |
34 | g2.fill(front);↵ | 34 | g2.fill(front);↵ | |
35 | }↵ | 35 | }↵ | |
36 | g2.setPaint(outlinePaint);↵ | 36 | g2.setPaint(outlinePaint);↵ | |
37 | if (drawBack) {↵ | 37 | if (drawBack) {↵ | |
38 | g2.draw(side1);↵ | 38 | g2.draw(side1);↵ | |
39 | g2.draw(side2);↵ | 39 | g2.draw(side2);↵ | |
40 | }↵ | 40 | }↵ | |
41 | if (drawFront) {↵ | 41 | if (drawFront) {↵ | |
42 | g2.draw(front);↵ | 42 | g2.draw(front);↵ | |
43 | }↵ | 43 | }↵ | |
44 | }↵ | 44 | }↵ | |
45 | }↵ | 45 | }↵ | |
46 | else { // starts at back, finishes at front (CLOCKWISE)↵ | 46 | else { // starts at the back and finishes at the front ↵ | |
47 | // (wrapping the left side)↵ | |||
47 | if (drawBack) {↵ | 48 | if (drawBack) {↵ | |
48 | Area side1 = new Area(new Rectangle2D.Double(↵ | 49 | Area side1 = new Area(new Rectangle2D.Double(↵ | |
49 | arc.getStartPoint().getX(), plotArea.getY(),↵ | 50 | plotArea.getX(), plotArea.getY(),↵ | |
50 | plotArea.getMaxX() - arc.getStartPoint().getX(),↵ | 51 | arc.getStartPoint().getX() - plotArea.getX(),↵ | |
51 | plotArea.getHeight()));↵ | 52 | plotArea.getHeight()));↵ | |
52 | side1.intersect(back);↵ | 53 | side1.intersect(back);↵ | |
53 | g2.setPaint(paint);↵ | 54 | g2.setPaint(paint);↵ | |
54 | g2.fill(side1);↵ | 55 | g2.fill(side1);↵ | |
55 | g2.setPaint(outlinePaint);↵ | 56 | g2.setPaint(outlinePaint);↵ | |
56 | g2.draw(side1);↵ | 57 | g2.draw(side1);↵ | |
57 | }↵ | 58 | }↵ | |
58 | if (drawFront) {↵ | 59 | if (drawFront) {↵ | |
59 | Area side2 = new Area(new Rectangle2D.Double(↵ | 60 | Area side2 = new Area(new Rectangle2D.Double(↵ | |
60 | arc.getEndPoint().getX(), plotArea.getY(),↵ | 61 | plotArea.getX(), plotArea.getY(),↵ | |
61 | plotArea.getMaxX() - arc.getEndPoint().getX(),↵ | 62 | arc.getEndPoint().getX() - plotArea.getX(),↵ | |
62 | plotArea.getHeight()));↵ | 63 | plotArea.getHeight()));↵ | |
63 | side2.intersect(front);↵ | 64 | side2.intersect(front);↵ | |
64 | g2.setPaint(paint);↵ | 65 | g2.setPaint(paint);↵ | |
65 | g2.fill(side2);↵ | 66 | g2.fill(side2);↵ | |
66 | g2.setPaint(outlinePaint);↵ | 67 | g2.setPaint(outlinePaint);↵ | |
67 | g2.draw(side2);↵ | 68 | g2.draw(side2);↵ | |
68 | }↵ | 69 | }↵ | |
69 | } | 70 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 2.2 |
Clones location | Clones are in the same method |
Number of node comparisons | 421 |
Number of mapped statements | 36 |
Number of unmapped statements in the first code fragment | 3 |
Number of unmapped statements in the second code fragment | 3 |
Time elapsed for statement mapping (ms) | 66.1 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
51 | if (!isAngleAtFront(end)) | 131 | if (!isAngleAtFront(end)) | |||||||||||||||||
52 | if (extent > -180.0) |
| 132 | if (extent < 180.0) | ||||||||||||||||
53 | if (drawBack) | 133 | if (drawBack) | |||||||||||||||||
54 | Area side = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), arc.getEndPoint().getX() - arc.getStartPoint().getX(), plotArea.getHeight())); |
| 134 | Area side = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), arc.getStartPoint().getX() - arc.getEndPoint().getX(), plotArea.getHeight())); | ||||||||||||||||
55 | side.intersect(back); | 135 | side.intersect(back); | |||||||||||||||||
56 | g2.setPaint(paint); | 136 | g2.setPaint(paint); | |||||||||||||||||
57 | g2.fill(side); | 137 | g2.fill(side); | |||||||||||||||||
58 | g2.setPaint(outlinePaint); | 138 | g2.setPaint(outlinePaint); | |||||||||||||||||
59 | g2.draw(side); | 139 | g2.draw(side); | |||||||||||||||||
else | else | |||||||||||||||||||
|
| 140 | Area side1 = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), plotArea.getX() - arc.getStartPoint().getX(), plotArea.getHeight())); | |||||||||||||||||
60 | Area side1 = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(), plotArea.getHeight())); |
| 142 | Area side2 = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), plotArea.getHeight())); | ||||||||||||||||
61 | side1.intersect(back); |
| 143 | side2.intersect(back); | ||||||||||||||||
62 | Area side2 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getEndPoint().getX() - plotArea.getX(), plotArea.getHeight())); |
| | |||||||||||||||||
63 | side2.intersect(back); |
| 141 | side1.intersect(back); | ||||||||||||||||
64 | g2.setPaint(paint); | 144 | g2.setPaint(paint); | |||||||||||||||||
65 | if (drawBack) | 145 | if (drawBack) | |||||||||||||||||
66 | g2.fill(side1); | 146 | g2.fill(side1); | |||||||||||||||||
67 | g2.fill(side2); | 147 | g2.fill(side2); | |||||||||||||||||
68 | if (drawFront) | 148 | if (drawFront) | |||||||||||||||||
69 | g2.fill(front); | 149 | g2.fill(front); | |||||||||||||||||
70 | g2.setPaint(outlinePaint); | 150 | g2.setPaint(outlinePaint); | |||||||||||||||||
71 | if (drawBack) | 151 | if (drawBack) | |||||||||||||||||
72 | g2.draw(side1); | 152 | g2.draw(side1); | |||||||||||||||||
73 | g2.draw(side2); | 153 | g2.draw(side2); | |||||||||||||||||
74 | if (drawFront) | 154 | if (drawFront) | |||||||||||||||||
75 | g2.draw(front); | 155 | g2.draw(front); | |||||||||||||||||
else | else | |||||||||||||||||||
76 | if (drawBack) | 156 | if (drawBack) | |||||||||||||||||
77 | Area side1 = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(), plotArea.getHeight())); |
| | |||||||||||||||||
|
| 157 | Area side1 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getStartPoint().getX() - plotArea.getX(), plotArea.getHeight())); | |||||||||||||||||
78 | side1.intersect(back); | 158 | side1.intersect(back); | |||||||||||||||||
79 | g2.setPaint(paint); | 159 | g2.setPaint(paint); | |||||||||||||||||
80 | g2.fill(side1); | 160 | g2.fill(side1); | |||||||||||||||||
81 | g2.setPaint(outlinePaint); | 161 | g2.setPaint(outlinePaint); | |||||||||||||||||
82 | g2.draw(side1); | 162 | g2.draw(side1); | |||||||||||||||||
83 | if (drawFront) | 163 | if (drawFront) | |||||||||||||||||
84 | Area side2 = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), plotArea.getHeight())); |
| | |||||||||||||||||
|
| 164 | Area side2 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getEndPoint().getX() - plotArea.getX(), plotArea.getHeight())); | |||||||||||||||||
85 | side2.intersect(front); | 165 | side2.intersect(front); | |||||||||||||||||
86 | g2.setPaint(paint); | 166 | g2.setPaint(paint); | |||||||||||||||||
87 | g2.fill(side2); | 167 | g2.fill(side2); | |||||||||||||||||
88 | g2.setPaint(outlinePaint); | 168 | g2.setPaint(outlinePaint); | |||||||||||||||||
89 | g2.draw(side2); | 169 | g2.draw(side2); |
Row | Violation |
---|---|
1 | Unmatched statement Area side1=new Area(new Rectangle2D.Double(arc.getStartPoint().getX(),plotArea.getY(),plotArea.getX() - arc.getStartPoint().getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Expression side1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression side2 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement Area side2=new Area(new Rectangle2D.Double(plotArea.getX(),plotArea.getY(),arc.getEndPoint().getX() - plotArea.getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
5 | Expression side2 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression side1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement Area side1=new Area(new Rectangle2D.Double(arc.getStartPoint().getX(),plotArea.getY(),plotArea.getMaxX() - arc.getStartPoint().getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
8 | Unmatched statement Area side1=new Area(new Rectangle2D.Double(plotArea.getX(),plotArea.getY(),arc.getStartPoint().getX() - plotArea.getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
9 | Unmatched statement Area side2=new Area(new Rectangle2D.Double(arc.getEndPoint().getX(),plotArea.getY(),plotArea.getMaxX() - arc.getEndPoint().getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
10 | Unmatched statement Area side2=new Area(new Rectangle2D.Double(plotArea.getX(),plotArea.getY(),arc.getEndPoint().getX() - plotArea.getX(),plotArea.getHeight())); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |