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