Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Imaging/vtkImageConnector.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageConnector.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00045 #ifndef __vtkImageConnector_h
00046 #define __vtkImageConnector_h
00047 
00048 #include "vtkObject.h"
00049 
00050 class vtkImageData;
00051 
00052 //
00053 // Special classes for manipulating data
00054 //
00055 //BTX - begin tcl exclude
00056 //
00057 // For the breadth first search
00058 class vtkImageConnectorSeed { //;prevent man page generation
00059 public:
00060   static vtkImageConnectorSeed *New() { return new vtkImageConnectorSeed;}
00061   void *Pointer;
00062   int  Index[3];
00063   vtkImageConnectorSeed *Next;
00064 };
00065 //ETX - end tcl exclude
00066 //
00067 
00068 
00069 class VTK_IMAGING_EXPORT vtkImageConnector : public vtkObject
00070 {
00071 public:
00072   static vtkImageConnector *New();
00073 
00074   vtkTypeRevisionMacro(vtkImageConnector,vtkObject);
00075   void PrintSelf(ostream& os, vtkIndent indent);
00076 
00077   //BTX
00078   vtkImageConnectorSeed *NewSeed(int index[3], void *ptr);
00079   void AddSeed(vtkImageConnectorSeed *seed);
00080   void AddSeedToEnd(vtkImageConnectorSeed *seed);
00081   //ETX
00082   void RemoveAllSeeds();
00083 
00085 
00086   vtkSetMacro(ConnectedValue, unsigned char); 
00087   vtkGetMacro(ConnectedValue, unsigned char);
00088   vtkSetMacro(UnconnectedValue, unsigned char);
00089   vtkGetMacro(UnconnectedValue, unsigned char);
00091 
00092 
00096   void MarkData(vtkImageData *data, int dimensionality, int ext[6]);
00097 
00098 
00099 protected:
00100   vtkImageConnector();
00101   ~vtkImageConnector();
00102 
00103   unsigned char ConnectedValue;
00104   unsigned char UnconnectedValue;
00105 
00106   vtkImageConnectorSeed *PopSeed();
00107 
00108   vtkImageConnectorSeed *Seeds;
00109   vtkImageConnectorSeed *LastSeed;
00110 private:
00111   vtkImageConnector(const vtkImageConnector&);  // Not implemented.
00112   void operator=(const vtkImageConnector&);  // Not implemented.
00113 };
00114 
00115 
00116 
00117 #endif
00118 
00119