View Javadoc

1   /*
2   
3       dsh-venn  Lightweight components for venn diagrams.
4       Copyright (c) 2009-2013 held jointly by the individual authors.
5   
6       This library is free software; you can redistribute it and/or modify it
7       under the terms of the GNU Lesser General Public License as published
8       by the Free Software Foundation; either version 3 of the License, or (at
9       your option) any later version.
10  
11      This library is distributed in the hope that it will be useful, but WITHOUT
12      ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
13      FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14      License for more details.
15  
16      You should have received a copy of the GNU Lesser General Public License
17      along with this library;  if not, write to the Free Software Foundation,
18      Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
19  
20      > http://www.fsf.org/licensing/licenses/lgpl.html
21      > http://www.opensource.org/licenses/lgpl-license.php
22  
23  */
24  package org.dishevelled.venn;
25  
26  import java.awt.Shape;
27  
28  import java.awt.geom.Point2D;
29  
30  /**
31   * Result of a binary venn diagram layout operation.
32   *
33   * @author  Michael Heuer
34   */
35  public interface BinaryVennLayout extends VennLayout
36  {
37  
38      /**
39       * Return the shape for the first set.
40       *
41       * @return the shape for the first set
42       */
43      Shape firstShape();
44  
45      /**
46       * Return the shape for the second set.
47       *
48       * @return the shape for the second set
49       */
50      Shape secondShape();
51  
52      /**
53       * Return the lune center of the first only area.
54       *
55       * @return the lune center of the first only area
56       */
57      Point2D firstOnlyLuneCenter(); // todo:  or just firstOnlyCenter()?
58  
59      /**
60       * Return the lune center of the second only area.
61       *
62       * @return the lune center of the second only area
63       */
64      Point2D secondOnlyLuneCenter();
65  
66      /**
67       * Return the lune center of the intersection area.
68       *
69       * @return the lune center of the intersection area
70       */
71      Point2D intersectionLuneCenter();
72  }