KWWidgets
vtkKWStateMachineInput.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWStateMachineInput.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 // .NAME vtkKWStateMachineInput - a state machine input.
00015 // .SECTION Description
00016 // This class is the basis for a state machine input. 
00017 // A state machine is defined by a set of states, a set of inputs and a
00018 // transition matrix that defines for each pair of (state,input) what is
00019 // the next state to assume.
00020 // .SECTION Thanks
00021 // This work is part of the National Alliance for Medical Image
00022 // Computing (NAMIC), funded by the National Institutes of Health
00023 // through the NIH Roadmap for Medical Research, Grant U54 EB005149.
00024 // Information on the National Centers for Biomedical Computing
00025 // can be obtained from http://nihroadmap.nih.gov/bioinformatics.
00026 // .SECTION See Also
00027 // vtkKWStateMachine vtkKWStateMachineState vtkKWStateMachineTransition
00028 
00029 #ifndef __vtkKWStateMachineInput_h
00030 #define __vtkKWStateMachineInput_h
00031 
00032 #include "vtkKWObject.h"
00033 
00034 class KWWidgets_EXPORT vtkKWStateMachineInput : public vtkKWObject
00035 {
00036 public:
00037   static vtkKWStateMachineInput* New();
00038   vtkTypeRevisionMacro(vtkKWStateMachineInput, vtkKWObject);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00041   // Description:
00042   // Get id.
00043   vtkGetMacro(Id, vtkIdType);
00044 
00045   // Description:
00046   // Set/Get simple name.
00047   vtkGetStringMacro(Name);
00048   vtkSetStringMacro(Name);
00049 
00050 protected:
00051   vtkKWStateMachineInput();
00052   ~vtkKWStateMachineInput();
00053 
00054   vtkIdType Id;
00055   char *Name;
00056 
00057 private:
00058 
00059   static vtkIdType IdCounter;
00060 
00061   vtkKWStateMachineInput(const vtkKWStateMachineInput&); // Not implemented
00062   void operator=(const vtkKWStateMachineInput&); // Not implemented
00063 };
00064 
00065 #endif