KWWidgets
vtkKWStateMachineWriter.h
Go to the documentation of this file.
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