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 quaternary venn diagram layout operation.
32   *
33   * @author  Michael Heuer
34   */
35  public interface QuaternaryVennLayout 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 shape for the third set.
54       *
55       * @return the shape for the third set
56       */
57      Shape thirdShape();
58  
59      /**
60       * Return the shape for the fourth set.
61       *
62       * @return the shape for the fourth set
63       */
64      Shape fourthShape();
65  
66      /**
67       * Return the lune center of the first only area.
68       *
69       * @return the lune center of the first only area
70       */
71      Point2D firstOnlyLuneCenter();
72  
73      /**
74       * Return the lune center of the second only area.
75       *
76       * @return the lune center of the second only area
77       */
78      Point2D secondOnlyLuneCenter();
79  
80      /**
81       * Return the lune center of the third only area.
82       *
83       * @return the lune center of the third only area
84       */
85      Point2D thirdOnlyLuneCenter();
86  
87      /**
88       * Return the lune center of the fourth only area.
89       *
90       * @return the lune center of the fourth only area
91       */
92      Point2D fourthOnlyLuneCenter();
93  
94      /**
95       * Return the lune center of the first second area.
96       *
97       * @return the lune center of the first second area
98       */
99      Point2D firstSecondLuneCenter();
100 
101     /**
102      * Return the lune center of the first third area.
103      *
104      * @return the lune center of the first third area
105      */
106     Point2D firstThirdLuneCenter();
107 
108     /**
109      * Return the lune center of the second third area.
110      *
111      * @return the lune center of the second third area
112      */
113     Point2D secondThirdLuneCenter();
114 
115     /**
116      * Return the lune center of the first fourth area.
117      *
118      * @return the lune center of the first fourth area
119      */
120     Point2D firstFourthLuneCenter();
121 
122     /**
123      * Return the lune center of the second fourth area.
124      *
125      * @return the lune center of the second fourth area
126      */
127     Point2D secondFourthLuneCenter();
128 
129     /**
130      * Return the lune center of the third fourth area.
131      *
132      * @return the lune center of the third fourth area
133      */
134     Point2D thirdFourthLuneCenter();
135 
136     /**
137      * Return the lune center of the first second third area.
138      *
139      * @return the lune center of the first second third area
140      */
141     Point2D firstSecondThirdLuneCenter();
142 
143     /**
144      * Return the lune center of the first second fourth area.
145      *
146      * @return the lune center of the first second fourth area
147      */
148     Point2D firstSecondFourthLuneCenter();
149 
150     /**
151      * Return the lune center of the first third fourth area.
152      *
153      * @return the lune center of the first third fourth area
154      */
155     Point2D firstThirdFourthLuneCenter();
156 
157     /**
158      * Return the lune center of the second third fourth area.
159      *
160      * @return the lune center of the second third fourth area
161      */
162     Point2D secondThirdFourthLuneCenter();
163 
164     /**
165      * Return the lune center of the intersection area.
166      *
167      * @return the lune center of the intersection area
168      */
169     Point2D intersectionLuneCenter();
170 }