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.action;
21
22
23 import camera3d.DistanceMeasurer;
24 import camera3d.TransformScope;
25
26 /***
27 * Action for setting the direction used by a given DistanceMeasurer to perform a
28 * measurement. Valid directions are: +X, -X, +Y, -Y, +Z, -Z.
29 *
30 * @author Fábio Roberto de Miranda
31 * @version 1.0
32 */
33
34 public class SetDistanceMeasurerDirectionAction extends MeasurerAction {
35
36 private DistanceMeasurer measurer;
37 private int direction;
38 private TransformScope axis;
39
40 /***
41 * Creates the action, given the measurer to act upon and the direction of measurement.
42 * @param measurer DistanceMeasurer to set the direction for.
43 * @param direction if positive, sets the direction to the positive direction
44 * of selected axis.
45 * @param axis can be TransformScope.X, TransformScope.Y ou TransformScope.Z.
46 * @throws IllegalArgumentException if axis is not really an axis.
47 */
48 public SetDistanceMeasurerDirectionAction(DistanceMeasurer measurer, int direction, TransformScope axis) {
49 if(!axis.isAxis()){
50 throw new IllegalArgumentException("Transformation scope is not an axis.");
51 }
52 this.direction = direction;
53 this.axis = axis;
54 this.measurer = measurer;
55 }
56
57 public void doAction(ActionExecutor executor) {
58 /***@todo: implement this camera3d.VcAction abstract method*/
59 measurer.setMode(direction, axis);
60 }
61 }
This page was automatically generated by Maven