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

# Filtering/vtkImplicitVolume.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkImplicitVolume.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 =========================================================================*/
    00059 #ifndef __vtkImplicitVolume_h
    00060 #define __vtkImplicitVolume_h
    00061
    00062 #include "vtkImplicitFunction.h"
    00063
    00064 class vtkIdList;
    00065 class vtkImageData;
    00066
    00067 class VTK_FILTERING_EXPORT vtkImplicitVolume : public vtkImplicitFunction
    00068 {
    00069 public:
    00070   vtkTypeRevisionMacro(vtkImplicitVolume,vtkImplicitFunction);
    00071   void PrintSelf(ostream& os, vtkIndent indent);
    00072
    00075   static vtkImplicitVolume *New();
    00076
    00080   unsigned long GetMTime();
    00081
    00083
    00085   float EvaluateFunction(float x[3]);
    00086   float EvaluateFunction(float x, float y, float z)
    00087     {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
    00089
    00091   void EvaluateGradient(float x[3], float n[3]);
    00092
    00094
    00095   virtual void SetVolume(vtkImageData*);
    00096   vtkGetObjectMacro(Volume,vtkImageData);
    00098
    00100
    00101   vtkSetMacro(OutValue,float);
    00102   vtkGetMacro(OutValue,float);
    00104
    00106
    00107   vtkSetVector3Macro(OutGradient,float);
    00108   vtkGetVector3Macro(OutGradient,float);
    00110
    00111 protected:
    00112   vtkImplicitVolume();
    00113   ~vtkImplicitVolume();
    00114
    00115   vtkImageData *Volume; // the structured points
    00116   float OutValue;
    00117   float OutGradient[3];
    00118   // to replace a static
    00119   vtkIdList *PointIds;
    00120
    00121 private:
    00122   vtkImplicitVolume(const vtkImplicitVolume&);  // Not implemented.
    00123   void operator=(const vtkImplicitVolume&);  // Not implemented.
    00124 };
    00125
    00126 #endif
    00127
    00128