creaContours_lib
Main Page
Namespaces
Classes
Files
File List
File Members
ComposedCommand.cxx
Go to the documentation of this file.
1
/*# ---------------------------------------------------------------------
2
#
3
# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4
# pour la Sant�)
5
# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6
# Previous Authors : Laurent Guigues, Jean-Pierre Roux
7
# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8
#
9
# This software is governed by the CeCILL-B license under French law and
10
# abiding by the rules of distribution of free software. You can use,
11
# modify and/ or redistribute the software under the terms of the CeCILL-B
12
# license as circulated by CEA, CNRS and INRIA at the following URL
13
# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14
# or in the file LICENSE.txt.
15
#
16
# As a counterpart to the access to the source code and rights to copy,
17
# modify and redistribute granted by the license, users are provided only
18
# with a limited warranty and the software's author, the holder of the
19
# economic rights, and the successive licensors have only limited
20
# liability.
21
#
22
# The fact that you are presently reading this means that you have had
23
# knowledge of the CeCILL-B license and that you accept its terms.
24
# ------------------------------------------------------------------------ */
25
26
27
//----------------------------------------------------------------------------------------------------------------
28
// Class definition include
29
//----------------------------------------------------------------------------------------------------------------
30
#include "
ComposedCommand.h
"
31
32
//----------------------------------------------------------------------------------------------------------------
33
// Class implementation
34
//----------------------------------------------------------------------------------------------------------------
37
//------------------------------------------------------------------------------------------------------------
38
// Constructors & Destructors
39
//------------------------------------------------------------------------------------------------------------
40
41
42
ComposedCommand :: ComposedCommand
( )
43
{
44
45
}
46
47
ComposedCommand :: ~ComposedCommand
( )
48
{
49
clear
();
50
}
51
52
//------------------------------------------------------------------------------------------------------------
53
// Methods
54
//------------------------------------------------------------------------------------------------------------
55
56
/*
57
* Adds a command to the list of command
58
* @param nwCommand Is the new command to include
59
*/
60
void
ComposedCommand :: addCommand
(
CommandObject
* nwCommand)
61
{
62
internalCommands
.push_back(nwCommand);
63
}
64
65
/*
66
* Virtual method implentation that includes the commands list into the given queue for execution
67
* @param executionQueue Is the queue in which is included the command
68
*/
69
void
ComposedCommand :: includeToExecute
(std::deque<CommandObject* > &executionQueue)
70
{
71
std::deque<CommandObject *>::iterator actualCommandIter =
internalCommands
.end();
72
while
( actualCommandIter !=
internalCommands
.begin())
73
{
74
(*actualCommandIter)->includeToExecute(executionQueue);
75
actualCommandIter--;
76
}
77
}
78
79
/*
80
* Virtual method implementation that returns 1 as the ExecutableCommand is just one command effective
81
* @return The value of commands that represents this
82
*/
83
int
ComposedCommand :: count
()
84
{
85
int
count
= 0;
86
int
i =0;
87
while
( i<
internalCommands
.size() )
88
{
89
count +=
internalCommands
[i]->count();
90
i++;
91
}
92
return
count
;
93
}
94
95
/*
96
* Virtual method implentation that that clears the commands inside the composed command calling each one to clean it self
97
*/
98
void
ComposedCommand :: clear
()
99
{
100
while
(
internalCommands
.size()>0 )
101
{
102
internalCommands
.back()->clear();
103
internalCommands
.pop_back();
104
}
105
internalCommands
.clear();
106
}
107
108
creatools_source
creaContours
lib
kernel_ManagerContour_NDimensions
ComposedCommand.cxx
Generated by
1.8.3.1