00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkPipelineSwitch.h,v 1.2 2004/08/10 07:37:22 xpxqx Exp $ 00004 * 00005 * Copyright (c) 2004 Sean McInerney 00006 * All rights reserved. 00007 * 00008 * See Copyright.txt or http://vtkextensions.sourceforge.net/Copyright.html 00009 * 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 */ 00016 #ifndef VTK_PIPELINE_SWITCH_H_ 00017 # define VTK_PIPELINE_SWITCH_H_ 00018 # include "vtkExtensionsHybridConfigure.h" // vtkExtensions configuration 00019 # include "vtkExtensionsTypes.h" // vtkExtensions types 00020 00021 class vtkObject; 00022 class vtkProp; 00023 class vtkProcessObject; 00024 class vtkDataObject; 00025 class vtkImageData; 00026 class vtkPolyData; 00027 class vtkRectilinearGrid; 00028 class vtkStructuredGrid; 00029 class vtkStructuredPoints; 00030 class vtkUnstructuredGrid; 00031 00032 VTK_EXTENSIONS_HYBRID_NAMESPACE_BEGIN 00033 00042 class VTK_EXTENSIONS_HYBRID_EXPORT vtkPipelineSwitch 00043 { 00044 //BTX 00045 typedef vtkPipelineSwitch Self; 00046 //ETX 00047 00048 public: 00049 static vtkBoolType SetInput (vtkProcessObject* o, vtkDataObject* input); 00050 static vtkBoolType SetInput (vtkProp* o, vtkObject* input, int index = 0); 00051 00052 static vtkDataObject* GetOutput (vtkProcessObject* o, int index = 0); 00053 00054 static vtkImageData* GetImageDataOutput (vtkProcessObject* o); 00055 static vtkPolyData* GetPolyDataOutput (vtkProcessObject* o); 00056 static vtkRectilinearGrid* GetRectilinearGridOutput (vtkProcessObject* o); 00057 static vtkStructuredGrid* GetStructuredGridOutput (vtkProcessObject* o); 00058 static vtkStructuredPoints* GetStructuredPointsOutput (vtkProcessObject* o); 00059 static vtkUnstructuredGrid* GetUnstructuredGridOutput (vtkProcessObject* o); 00060 00061 static vtkBoolType Update (vtkDataObject* o); 00062 static vtkBoolType Update (vtkProcessObject* o); 00063 static vtkBoolType Update (vtkObject* o); 00064 00065 private: 00072 vtkPipelineSwitch (void); 00073 vtkPipelineSwitch (const vtkPipelineSwitch&); 00074 void operator= (const vtkPipelineSwitch&); 00076 }; 00077 00078 VTK_EXTENSIONS_HYBRID_NAMESPACE_END 00079 00080 #endif /* VTK_PIPELINE_SWITCH_H_ */ 00081 /* 00082 * End of: $Id: vtkPipelineSwitch.h,v 1.2 2004/08/10 07:37:22 xpxqx Exp $. 00083 * 00084 */