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 ternary venn diagram layout operation. 32 * 33 * @author Michael Heuer 34 */ 35 public interface TernaryVennLayout 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 lune center of the first only area. 61 * 62 * @return the lune center of the first only area 63 */ 64 Point2D firstOnlyLuneCenter(); 65 66 /** 67 * Return the lune center of the second only area. 68 * 69 * @return the lune center of the second only area 70 */ 71 Point2D secondOnlyLuneCenter(); 72 73 /** 74 * Return the lune center of the third only area. 75 * 76 * @return the lune center of the third only area 77 */ 78 Point2D thirdOnlyLuneCenter(); 79 80 /** 81 * Return the lune center of the first second area. 82 * 83 * @return the lune center of the first second area 84 */ 85 Point2D firstSecondLuneCenter(); 86 87 /** 88 * Return the lune center of the first third area. 89 * 90 * @return the lune center of the first third area 91 */ 92 Point2D firstThirdLuneCenter(); 93 94 /** 95 * Return the lune center of the second third area. 96 * 97 * @return the lune center of the second third area 98 */ 99 Point2D secondThirdLuneCenter(); 100 101 /** 102 * Return the lune center of the intersection area. 103 * 104 * @return the lune center of the intersection area 105 */ 106 Point2D intersectionLuneCenter(); 107 }