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 /***
24 * Interface implemented by actions whose execution can be optimized, by the elimination
25 * of repetitive/redundant action pushed into the actionqueue. That is the case when multiple
26 * transformation actions that affect the same object are sequentially generated.
27 *
28 * @author Fábio Roberto de Miranda e Carlos da Silva dos Santos
29 * @version 1.0
30 */
31 interface OptimizableAction {
32 /*** Returns a flag indicating whether a given action can be eliminated from the action
33 * queue.
34 * @param action
35 * @return true if the VcAction given as input can be eliminated, false otherwise.
36 */
37 abstract boolean canOptimize(VcAction action);
38
39 /*** Performs optimization.
40 * @param action VcAction to be eliminated
41 * @return true if the VcAction given as input was eliminated, false otherwise.
42 */
43 abstract boolean optimize(VcAction action);
44 }
This page was automatically generated by Maven