KWWidgets
|
00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWStateMachineWriter.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 vtkKWStateMachineWriter - a state machine writer base-class. 00015 // .SECTION Description 00016 // This class is the basis for a state machine writer. 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 // vtkKWStateMachineDOTWriter vtkKWStateMachine 00028 00029 #ifndef __vtkKWStateMachineWriter_h 00030 #define __vtkKWStateMachineWriter_h 00031 00032 #include "vtkObject.h" 00033 #include "vtkKWWidgets.h" // Needed for export symbols directives 00034 00035 class vtkKWStateMachine; 00036 00037 class KWWidgets_EXPORT vtkKWStateMachineWriter : public vtkObject 00038 { 00039 public: 00040 vtkTypeRevisionMacro(vtkKWStateMachineWriter, vtkObject); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00043 // Description: 00044 // Set/Get state machine to write. 00045 vtkGetObjectMacro(Input, vtkKWStateMachine); 00046 virtual void SetInput(vtkKWStateMachine*); 00047 00048 // Description: 00049 // Set/Get if the writer should output transitions originating and leading 00050 // to the same node (self loops). 00051 vtkSetMacro(WriteSelfLoop, int); 00052 vtkGetMacro(WriteSelfLoop, int); 00053 vtkBooleanMacro(WriteSelfLoop, int); 00054 00055 protected: 00056 vtkKWStateMachineWriter(); 00057 ~vtkKWStateMachineWriter(); 00058 00059 vtkKWStateMachine *Input; 00060 int WriteSelfLoop; 00061 00062 private: 00063 00064 vtkKWStateMachineWriter(const vtkKWStateMachineWriter&); // Not implemented 00065 void operator=(const vtkKWStateMachineWriter&); // Not implemented 00066 }; 00067 00068 #endif