View Javadoc
1 /***************************************************************************** 2 * Virtual Mockup for Machine Vision 3 * Copyright (C) 2001-2003 Fabio R. de Miranda, João E. Kogler Jr., 4 * Carlos S. Santos. 5 * Virtual Mockup for Machine Vision Project funded by SENAC-SP 6 * 7 * Permission is granted to redistribute and/or modify this 8 * software under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This software is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License (http://www.gnu.org/copyleft/lesser.html) 16 * for more details. 17 * 18 *****************************************************************************/ 19 20 package camera3d; 21 22 /*** 23 * Defines the scope (such as an axis or a plane) that transformations acts upon. 24 * 25 * @author Fábio Roberto de Miranda, Carlos da Silva dos Santos 26 * @version 1.0 27 */ 28 public class TransformScope { 29 30 private final boolean axis; 31 private final boolean plane; 32 private final String name; 33 34 /*** 35 * Class constructor. 36 * @param name Name of scope entity. 37 * @param axis sets if scope entity is an axis. 38 * @param plane sets if scope entity is a plane. 39 */ 40 private TransformScope(String name, boolean axis, boolean plane) { 41 this.name = name; 42 this.axis = axis; 43 this.plane = plane; 44 } 45 46 /*** 47 * Returns a flag indicating whether this scope is an single axis. 48 * @return true if scope is an axis, false otherwise. 49 */ 50 public boolean isAxis(){ 51 return this.axis; 52 } 53 54 /*** 55 * Returns a flag indicating whether this scope is a plane axis. 56 * @return true if scope is a plane, false otherwise. 57 */ 58 public boolean isPlane(){ 59 return this.plane; 60 } 61 62 /*** 63 * Returns the TransformScope correspondent to the input name. The valid name of 64 * one TransformScope instance is retrieved by calling the toString() method on 65 * that instance. 66 * @param name Name of desired scope. 67 * @throws IllegalArgumentException if name is not a valid name of any TransformScope. 68 */ 69 public static TransformScope scopeForString(String name){ 70 if (X.name.equalsIgnoreCase(name)) return X; 71 else if (Y.name.equalsIgnoreCase(name)) return Y; 72 else if (Z.name.equalsIgnoreCase(name)) return Z; 73 else if (XY.name.equalsIgnoreCase(name)) return XY; 74 else if (YZ.name.equalsIgnoreCase(name)) return YZ; 75 else if (ZX.name.equalsIgnoreCase(name)) return ZX; 76 else if (XYZ.name.equalsIgnoreCase(name)) return XYZ; 77 else throw new IllegalArgumentException("Invalid TransformMode name: "+ name); 78 } 79 80 81 /*** X axis. */ 82 public static final TransformScope X = new TransformScope("X",true,false); 83 84 /*** Y axis. */ 85 public static final TransformScope Y = new TransformScope("Y",true,false); 86 87 /*** Z axis. */ 88 public static final TransformScope Z = new TransformScope("Z",true,false); 89 90 /*** XY plane. */ 91 public static final TransformScope XY = new TransformScope("XY",false,true); 92 93 /*** YZ plane. */ 94 public static final TransformScope YZ = new TransformScope("YZ",false,true); 95 96 /*** ZX plane. */ 97 public static final TransformScope ZX = new TransformScope("ZX",false,true); 98 99 /*** Specifies a transform that affects X, Y and Z axii simultaneously. */ 100 public static final TransformScope XYZ = new TransformScope("XYZ",false,false); 101 102 /*** 103 * Returns a String describing this TransformScope. 104 */ 105 public String toString(){ 106 return this.name; 107 } 108 109 }

This page was automatically generated by Maven