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 (!isAngleAtBack(end)) {↵ | 1 | if (!isAngleAtFront(end)) {↵ | |
2 | if (extent > -180.0) { // the segment is entirely at the ↵ | 2 | if (extent > -180.0) { // whole segment ↵ | |
3 | // front of the chart↵ | 3 | stays at the back↵ | |
4 | if (drawFront) {↵ | 4 | if (drawBack) {↵ | |
5 | Area side = new Area(new Rectangle2D.Double(↵ | 5 | Area side = new Area(new Rectangle2D.Double(↵ | |
6 | arc.getEndPoint().getX(), plotArea.getY(), ↵ | 6 | arc.getStartPoint().getX(), plotArea.getY(),↵ | |
7 | arc.getStartPoint().getX() ↵ | 7 | arc.getEndPoint().getX() ↵ | |
8 | - arc.getEndPoint().getX(),↵ | 8 | - arc.getStartPoint().getX(),↵ | |
9 | plotArea.getHeight()));↵ | 9 | plotArea.getHeight()));↵ | |
10 | side.intersect(front);↵ | 10 | side.intersect(back);↵ | |
11 | g2.setPaint(paint);↵ | 11 | g2.setPaint(paint);↵ | |
12 | g2.fill(side);↵ | 12 | g2.fill(side);↵ | |
13 | g2.setPaint(outlinePaint);↵ | 13 | g2.setPaint(outlinePaint);↵ | |
14 | g2.draw(side);↵ | 14 | g2.draw(side);↵ | |
15 | }↵ | 15 | }↵ | |
16 | }↵ | 16 | }↵ | |
17 | else { // the segment starts at the front, and wraps all ↵ | 17 | else { // starts at the ↵ | |
18 | // the way around↵ | 18 | back, wraps around front, and ↵ | |
19 | // the back and finishes at the front again↵ | 19 | // finishes at back again↵ | |
20 | Area side1 = new Area(new Rectangle2D.Double(↵ | 20 | Area side1 = new Area(new Rectangle2D.Double(↵ | |
21 | plotArea.getX(), plotArea.getY(),↵ | 21 | arc.getStartPoint().getX(), plotArea.getY(),↵ | |
22 | arc.getStartPoint().getX() - plotArea.getX(), ↵ | 22 | plotArea.getMaxX() - arc.getStartPoint().getX(),↵ | |
23 | plotArea.getHeight()));↵ | 23 | plotArea.getHeight()));↵ | |
24 | side1.intersect(front);↵ | 24 | side1.intersect(back);↵ | |
25 | Area side2 = new Area(new Rectangle2D.Double(↵ | 25 | Area side2 = new Area(new Rectangle2D.Double(↵ | |
26 | arc.getEndPoint().getX(), plotArea.getY(),↵ | 26 | plotArea.getX(), plotArea.getY(),↵ | |
27 | plotArea.getMaxX() - arc.getEndPoint().getX(),↵ | 27 | arc.getEndPoint().getX() - plotArea.getX(),↵ | |
28 | plotArea.getHeight()));↵ | 28 | plotArea.getHeight()));↵ | |
29 | side2.intersect(front);↵ | 29 | side2.intersect(back);↵ | |
30 | g2.setPaint(paint);↵ | 30 | g2.setPaint(paint);↵ | |
31 | if (drawFront) {↵ | 31 | if (drawBack) {↵ | |
32 | g2.fill(side1);↵ | 32 | g2.fill(side1);↵ | |
33 | g2.fill(side2);↵ | 33 | g2.fill(side2);↵ | |
34 | }↵ | 34 | }↵ | |
35 | if (drawBack) {↵ | 35 | if (drawFront) {↵ | |
36 | g2.fill(back);↵ | 36 | g2.fill(front);↵ | |
37 | }↵ | 37 | }↵ | |
38 | g2.setPaint(outlinePaint);↵ | 38 | g2.setPaint(outlinePaint);↵ | |
39 | if (drawFront) {↵ | 39 | if (drawBack) {↵ | |
40 | g2.draw(side1);↵ | 40 | g2.draw(side1);↵ | |
41 | g2.draw(side2);↵ | 41 | g2.draw(side2);↵ | |
42 | }↵ | 42 | }↵ | |
43 | if (drawBack) {↵ | 43 | if (drawFront) {↵ | |
44 | g2.draw(back);↵ | 44 | g2.draw(front);↵ | |
45 | }↵ | 45 | }↵ | |
46 | }↵ | 46 | }↵ | |
47 | }↵ | 47 | }↵ | |
48 | else { // starts at the front, finishes at the back (going ↵ | 48 | else { // starts at back, finishes at ↵ | |
49 | // around the left side)↵ | 49 | front (CLOCKWISE)↵ | |
50 | if (drawBack) {↵ | 50 | if (drawBack) {↵ | |
51 | Area side2 = new Area(new Rectangle2D.Double(↵ | 51 | Area side1 = new Area(new Rectangle2D.Double(↵ | |
52 | plotArea.getX(), plotArea.getY(),↵ | 52 | arc.getStartPoint().getX(), plotArea.getY(),↵ | |
53 | arc.getEndPoint().getX() - plotArea.getX(), ↵ | 53 | plotArea.getMaxX() - arc.getStartPoint().getX(),↵ | |
54 | plotArea.getHeight()));↵ | 54 | plotArea.getHeight()));↵ | |
55 | side2.intersect(back);↵ | 55 | side1.intersect(back);↵ | |
56 | g2.setPaint(paint);↵ | 56 | g2.setPaint(paint);↵ | |
57 | g2.fill(side2);↵ | 57 | g2.fill(side1);↵ | |
58 | g2.setPaint(outlinePaint);↵ | 58 | g2.setPaint(outlinePaint);↵ | |
59 | g2.draw(side2);↵ | 59 | g2.draw(side1);↵ | |
60 | }↵ | 60 | }↵ | |
61 | if (drawFront) {↵ | 61 | if (drawFront) {↵ | |
62 | Area side1 = new Area(new Rectangle2D.Double(↵ | 62 | Area side2 = new Area(new Rectangle2D.Double(↵ | |
63 | plotArea.getX(), plotArea.getY(),↵ | 63 | arc.getEndPoint().getX(), plotArea.getY(),↵ | |
64 | arc.getStartPoint().getX() - plotArea.getX(),↵ | 64 | plotArea.getMaxX() - arc.getEndPoint().getX(),↵ | |
65 | plotArea.getHeight()));↵ | 65 | plotArea.getHeight()));↵ | |
66 | side1.intersect(front);↵ | 66 | side2.intersect(front);↵ | |
67 | g2.setPaint(paint);↵ | 67 | g2.setPaint(paint);↵ | |
68 | g2.fill(side1);↵ | 68 | g2.fill(side2);↵ | |
69 | g2.setPaint(outlinePaint);↵ | 69 | g2.setPaint(outlinePaint);↵ | |
70 | g2.draw(side1);↵ | 70 | g2.draw(side2);↵ | |
71 | }↵ | 71 | }↵ | |
72 | } | 72 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 1.2 |
Clones location | Clones are in the same method |
Number of node comparisons | 411 |
Number of mapped statements | 37 |
Number of unmapped statements in the first code fragment | 2 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 70.9 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
12 | if (!isAngleAtBack(end)) |
| 51 | if (!isAngleAtFront(end)) | ||||||||||||||||
13 | if (extent > -180.0) | 52 | if (extent > -180.0) | |||||||||||||||||
14 | if (drawFront) |
| 53 | if (drawBack) | ||||||||||||||||
15 | Area side = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), arc.getStartPoint().getX() - arc.getEndPoint().getX(), plotArea.getHeight())); |
| 54 | Area side = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), arc.getEndPoint().getX() - arc.getStartPoint().getX(), plotArea.getHeight())); | ||||||||||||||||
16 | side.intersect(front); |
| 55 | side.intersect(back); | ||||||||||||||||
17 | g2.setPaint(paint); | 56 | g2.setPaint(paint); | |||||||||||||||||
18 | g2.fill(side); | 57 | g2.fill(side); | |||||||||||||||||
19 | g2.setPaint(outlinePaint); | 58 | g2.setPaint(outlinePaint); | |||||||||||||||||
20 | g2.draw(side); | 59 | g2.draw(side); | |||||||||||||||||
else | else | |||||||||||||||||||
21 | Area side1 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getStartPoint().getX() - plotArea.getX(), plotArea.getHeight())); |
| 62 | Area side2 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getEndPoint().getX() - plotArea.getX(), plotArea.getHeight())); | ||||||||||||||||
22 | side1.intersect(front); |
| 63 | side2.intersect(back); | ||||||||||||||||
23 | Area side2 = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), plotArea.getHeight())); |
| 60 | Area side1 = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(), plotArea.getHeight())); | ||||||||||||||||
24 | side2.intersect(front); |
| 61 | side1.intersect(back); | ||||||||||||||||
25 | g2.setPaint(paint); | 64 | g2.setPaint(paint); | |||||||||||||||||
26 | if (drawFront) |
| 65 | if (drawBack) | ||||||||||||||||
27 | g2.fill(side1); | 66 | g2.fill(side1); | |||||||||||||||||
28 | g2.fill(side2); | 67 | g2.fill(side2); | |||||||||||||||||
29 | if (drawBack) |
| 68 | if (drawFront) | ||||||||||||||||
30 | g2.fill(back); |
| 69 | g2.fill(front); | ||||||||||||||||
31 | g2.setPaint(outlinePaint); | 70 | g2.setPaint(outlinePaint); | |||||||||||||||||
32 | if (drawFront) |
| 71 | if (drawBack) | ||||||||||||||||
33 | g2.draw(side1); | 72 | g2.draw(side1); | |||||||||||||||||
34 | g2.draw(side2); | 73 | g2.draw(side2); | |||||||||||||||||
35 | if (drawBack) |
| 74 | if (drawFront) | ||||||||||||||||
36 | g2.draw(back); |
| 75 | g2.draw(front); | ||||||||||||||||
else | else | |||||||||||||||||||
37 | if (drawBack) |
| 83 | if (drawFront) | ||||||||||||||||
38 | Area side2 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getEndPoint().getX() - plotArea.getX(), plotArea.getHeight())); |
| | |||||||||||||||||
|
| 84 | Area side2 = new Area(new Rectangle2D.Double(arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), plotArea.getHeight())); | |||||||||||||||||
39 | side2.intersect(back); |
| 85 | side2.intersect(front); | ||||||||||||||||
40 | g2.setPaint(paint); | 86 | g2.setPaint(paint); | |||||||||||||||||
41 | g2.fill(side2); | 87 | g2.fill(side2); | |||||||||||||||||
42 | g2.setPaint(outlinePaint); | 88 | g2.setPaint(outlinePaint); | |||||||||||||||||
43 | g2.draw(side2); | 89 | g2.draw(side2); | |||||||||||||||||
44 | if (drawFront) |
| 76 | if (drawBack) | ||||||||||||||||
45 | Area side1 = new Area(new Rectangle2D.Double(plotArea.getX(), plotArea.getY(), arc.getStartPoint().getX() - plotArea.getX(), plotArea.getHeight())); |
| | |||||||||||||||||
|
| 77 | Area side1 = new Area(new Rectangle2D.Double(arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(), plotArea.getHeight())); | |||||||||||||||||
46 | side1.intersect(front); |
| 78 | side1.intersect(back); | ||||||||||||||||
47 | g2.setPaint(paint); | 79 | g2.setPaint(paint); | |||||||||||||||||
48 | g2.fill(side1); | 80 | g2.fill(side1); | |||||||||||||||||
49 | g2.setPaint(outlinePaint); | 81 | g2.setPaint(outlinePaint); | |||||||||||||||||
50 | g2.draw(side1); | 82 | g2.draw(side1); |
Row | Violation |
---|---|
1 | Expression side1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression side2 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 | Expression side1 cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | 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 |
6 | 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 |
7 | 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 |
8 | 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 |