KWWidgets
Main Page
Classes
Files
File List
File Members
debian
tmp
usr
include
KWWidgets
debian/tmp/usr/include/KWWidgets/vtkKWStateMachineCluster.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Module: $RCSfile: vtkKWStateMachineCluster.h,v $
4
5
Copyright (c) Kitware, Inc.
6
All rights reserved.
7
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notice for more information.
12
13
=========================================================================*/
14
// .NAME vtkKWStateMachineCluster - a state machine cluster.
15
// .SECTION Description
16
// This class is the basis for a state machine cluster, i.e. a means
17
// to logically group states together. Clusters are not used by the
18
// state machine per se, they are just a convenient way to group states
19
// logically together, and can be used by state machine writers
20
// (see vtkKWStateMachineDOTWriter) to display clusters as groups.
21
// .SECTION Thanks
22
// This work is part of the National Alliance for Medical Image
23
// Computing (NAMIC), funded by the National Institutes of Health
24
// through the NIH Roadmap for Medical Research, Grant U54 EB005149.
25
// Information on the National Centers for Biomedical Computing
26
// can be obtained from http://nihroadmap.nih.gov/bioinformatics.
27
// .SECTION See Also
28
// vtkKWStateMachine vtkKWStateMachineState
29
30
#ifndef __vtkKWStateMachineCluster_h
31
#define __vtkKWStateMachineCluster_h
32
33
#include "
vtkKWObject.h
"
34
35
class
vtkKWStateMachineState
;
36
class
vtkKWStateMachineClusterInternals;
37
38
class
KWWidgets_EXPORT
vtkKWStateMachineCluster
:
public
vtkKWObject
39
{
40
public
:
41
static
vtkKWStateMachineCluster
*
New
();
42
vtkTypeRevisionMacro(
vtkKWStateMachineCluster
,
vtkKWObject
);
43
void
PrintSelf
(ostream& os, vtkIndent indent);
44
45
// Description:
46
// Get id.
47
vtkGetMacro(Id, vtkIdType);
48
49
// Description:
50
// Set/Get simple name.
51
vtkGetStringMacro(Name);
52
vtkSetStringMacro(Name);
53
54
// Description:
55
// Add a state.
56
// Return 1 on success, 0 otherwise.
57
virtual
int
AddState(
vtkKWStateMachineState
*state);
58
virtual
int
HasState(
vtkKWStateMachineState
*state);
59
virtual
int
GetNumberOfStates();
60
virtual
vtkKWStateMachineState
* GetNthState(
int
rank);
61
62
protected
:
63
vtkKWStateMachineCluster
();
64
~
vtkKWStateMachineCluster
();
65
66
vtkIdType
Id
;
67
char
*
Name
;
68
69
// Description:
70
// Remove state(s).
71
virtual
void
RemoveState(
vtkKWStateMachineState
*state);
72
virtual
void
RemoveAllStates();
73
74
// PIMPL Encapsulation for STL containers
75
//BTX
76
vtkKWStateMachineClusterInternals *
Internals
;
77
//ETX
78
79
private
:
80
81
static
vtkIdType IdCounter;
82
83
vtkKWStateMachineCluster
(
const
vtkKWStateMachineCluster
&);
// Not implemented
84
void
operator=(
const
vtkKWStateMachineCluster
&);
// Not implemented
85
};
86
87
#endif
Generated on Sun Apr 28 2013 21:04:58 for KWWidgets by
1.8.3.1