if (extent < 180.0) { // segment only occupies the front if (drawFront) { Area side = new Area(new Rectangle2D.Double( arc.getStartPoint().getX(), plotArea.getY(), arc.getEndPoint().getX() - arc.getStartPoint().getX(), plotArea.getHeight())); side.intersect(front); g2.setPaint(paint); g2.fill(side); g2.setPaint(outlinePaint); g2.draw(side); } } else { // segments wraps right around the back... Area side1 = new Area(new Rectangle2D.Double( arc.getStartPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getStartPoint().getX(), plotArea.getHeight())); side1.intersect(front); Area side2 = new Area(new Rectangle2D.Double( plotArea.getX(), plotArea.getY(), arc.getEndPoint().getX() - plotArea.getX(), plotArea.getHeight())); side2.intersect(front); g2.setPaint(paint); if (drawFront) { g2.fill(side1); g2.fill(side2); } if (drawBack) { g2.fill(back); } g2.setPaint(outlinePaint); if (drawFront) { g2.draw(side1); g2.draw(side2); } if (drawBack) { g2.draw(back);
if (extent < 180.0) { // and finishes at back if (drawBack) { Area side = new Area(new Rectangle2D.Double( arc.getEndPoint().getX(), plotArea.getY(), arc.getStartPoint().getX() - arc.getEndPoint().getX(), plotArea.getHeight())); side.intersect(back); g2.setPaint(paint); g2.fill(side); g2.setPaint(outlinePaint); g2.draw(side); } } else { // starts at back and wraps right around to the // back again Area side1 = new Area(new Rectangle2D.Double( arc.getStartPoint().getX(), plotArea.getY(), plotArea.getX() - arc.getStartPoint().getX(), plotArea.getHeight())); side1.intersect(back); Area side2 = new Area(new Rectangle2D.Double( arc.getEndPoint().getX(), plotArea.getY(), plotArea.getMaxX() - arc.getEndPoint().getX(), plotArea.getHeight())); side2.intersect(back); g2.setPaint(paint); if (drawBack) { g2.fill(side1); g2.fill(side2); } if (drawFront) { g2.fill(front); } g2.setPaint(outlinePaint); if (drawBack) { g2.draw(side1); g2.draw(side2); } if (drawFront) { g2.draw(front);
Clone fragments detected by clone detection tool
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: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
if (extent < 180.0) {  // segment only occupies the front
1
if (extent < 180.0) {  // and finishes at back
2
                        if (drawFront) {
2
                        if (drawBack) {
3
                            Area side = new Area(new Rectangle2D.Double(
3
                            Area side = new Area(new Rectangle2D.Double(
4
                                    arc.getStartPoint().getX(), plotArea.getY(),
4
                                    arc.getEndPoint().getX(), plotArea.getY(),
5
                                    arc.getEndPoint().getX() 
5
                                    arc.getStartPoint().getX() 
6
                                    - arc.getStartPoint().getX(),
6
                                    - arc.getEndPoint().getX(),
7
                                    plotArea.getHeight()));
7
                                    plotArea.getHeight()));
8
                            side.intersect(front);
8
                            side.intersect(back);
9
                            g2.setPaint(paint);
9
                            g2.setPaint(paint);
10
                            g2.fill(side);
10
                            g2.fill(side);
11
                            g2.setPaint(outlinePaint);
11
                            g2.setPaint(outlinePaint);
12
                            g2.draw(side);
12
                            g2.draw(side);
13
                        }
13
                        }
14
                    }
14
                    }
15
                    else {  // segments wraps right around the back...
15
                    else {  // starts at back and wraps right around to the 
16
                            // back again
16
                        Area side1 = new Area(new Rectangle2D.Double(
17
                        Area side1 = new Area(new Rectangle2D.Double(
17
                                arc.getStartPoint().getX(), plotArea.getY(),
18
                                arc.getStartPoint().getX(), plotArea.getY(),
18
                                plotArea.getMaxX() - arc.getStartPoint().getX(),
19
                                plotArea.getX() - arc.getStartPoint().getX(),
19
                                plotArea.getHeight()));
20
                                plotArea.getHeight()));
20
                        side1.intersect(front);
21
                        side1.intersect(back);
21
                        Area side2 = new Area(new Rectangle2D.Double(
22
                        Area side2 = new Area(new Rectangle2D.Double(
22
                                plotArea.getX(), plotArea.getY(),
23
                                arc.getEndPoint().getX(), plotArea.getY(),
23
                                arc.getEndPoint().getX() - plotArea.getX(),
24
                                plotArea.getMaxX() - arc.getEndPoint().getX(),
24
                                plotArea.getHeight()));
25
                                plotArea.getHeight()));
25
                        side2.intersect(front);
26
                        side2.intersect(back);
26
                        g2.setPaint(paint);
27
                        g2.setPaint(paint);
27
                        if (drawFront) {
28
                        if (drawBack) {
28
                            g2.fill(side1);
29
                            g2.fill(side1);
29
                            g2.fill(side2);
30
                            g2.fill(side2);
30
                        }
31
                        }
31
                        if (drawBack) {
32
                        if (drawFront) {
32
                            g2.fill(back);
33
                            g2.fill(front);
33
                        }
34
                        }
34
                        g2.setPaint(outlinePaint);
35
                        g2.setPaint(outlinePaint);
35
                        if (drawFront) {
36
                        if (drawBack) {
36
                            g2.draw(side1);
37
                            g2.draw(side1);
37
                            g2.draw(side2);
38
                            g2.draw(side2);
38
                        }
39
                        }
39
                        if (drawBack) {
40
                        if (drawFront) {
40
                            g2.draw(back);
41
                            g2.draw(front);
41
                        
42
                        
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0