00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSliceCubes.h 00005 Language: C++ 00006 00007 00008 Copyright (c) 1993-2001 Ken Martin, Will Schroeder, Bill Lorensen 00009 All rights reserved. 00010 00011 THIS CLASS IS PATENTED UNDER UNITED STATES PATENT NUMBER 4,710,876 00012 "System and Method for the Display of Surface Structures Contained 00013 Within The Interior Region of a Solid body". 00014 Application of this software for commercial purposes requires 00015 a license grant from GE. Contact: 00016 Jerald Roehling 00017 GE Licensing 00018 One Independence Way 00019 PO Box 2023 00020 Princeton, N.J. 08540 00021 phone 609-734-9823 00022 e-mail:Roehlinj@gerlmo.ge.com 00023 for more information. 00024 00025 Redistribution and use in source and binary forms, with or without 00026 modification, are permitted provided that the following conditions are met: 00027 00028 * Redistributions of source code must retain the above copyright notice, 00029 this list of conditions and the following disclaimer. 00030 00031 * Redistributions in binary form must reproduce the above copyright notice, 00032 this list of conditions and the following disclaimer in the documentation 00033 and/or other materials provided with the distribution. 00034 00035 * Neither name of Ken Martin, Will Schroeder, or Bill Lorensen nor the names 00036 of any contributors may be used to endorse or promote products derived 00037 from this software without specific prior written permission. 00038 00039 * Modified source versions must be plainly marked as such, and must not be 00040 misrepresented as being the original software. 00041 00042 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 00043 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00044 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00045 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR 00046 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00047 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00048 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00049 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00050 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00051 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00052 00053 =========================================================================*/ 00092 #ifndef __vtkSliceCubes_h 00093 #define __vtkSliceCubes_h 00094 00095 #include "vtkObject.h" 00096 #include "vtkVolumeReader.h" 00097 #include "vtkMCubesReader.h" 00098 00099 class VTK_EXPORT vtkSliceCubes : public vtkObject 00100 { 00101 public: 00102 static vtkSliceCubes *New(); 00103 vtkTypeMacro(vtkSliceCubes,vtkObject); 00104 void PrintSelf(ostream& os, vtkIndent indent); 00105 00106 // methods to make it look like a filter 00107 void Write() {this->Update();}; 00108 void Update(); 00109 00111 vtkSetObjectMacro(Reader,vtkVolumeReader); 00112 vtkGetObjectMacro(Reader,vtkVolumeReader); 00113 00115 vtkSetStringMacro(FileName); 00116 vtkGetStringMacro(FileName); 00117 00119 vtkSetMacro(Value,float); 00120 vtkGetMacro(Value,float); 00121 00124 vtkSetStringMacro(LimitsFileName); 00125 vtkGetStringMacro(LimitsFileName); 00126 00127 protected: 00128 vtkSliceCubes(); 00129 ~vtkSliceCubes(); 00130 vtkSliceCubes(const vtkSliceCubes&) {}; 00131 void operator=(const vtkSliceCubes&) {}; 00132 00133 void Execute(); 00134 00135 vtkVolumeReader *Reader; 00136 char *FileName; 00137 float Value; 00138 char *LimitsFileName; 00139 }; 00140 00141 #endif 00142