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

# Graphics/vtkMassProperties.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkMassProperties.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 =========================================================================*/
    00057 #ifndef __vtkMassProperties_h
    00058 #define __vtkMassProperties_h
    00059
    00060 #include "vtkProcessObject.h"
    00061
    00062 class vtkPolyData;
    00063
    00064 class VTK_GRAPHICS_EXPORT vtkMassProperties : public vtkProcessObject
    00065 {
    00066 public:
    00068   static vtkMassProperties *New();
    00069
    00070   vtkTypeRevisionMacro(vtkMassProperties,vtkProcessObject);
    00071   void PrintSelf(ostream& os, vtkIndent indent);
    00072
    00074   double GetVolume() {this->Update(); return this->Volume;}
    00075
    00077
    00079   double GetVolumeX() {this->Update(); return this->VolumeX;}
    00080   double GetVolumeY() {this->Update(); return this->VolumeY;}
    00081   double GetVolumeZ() {this->Update(); return this->VolumeZ;}
    00083
    00085
    00087   double GetKx() {this->Update(); return this->Kx;}
    00088   double GetKy() {this->Update(); return this->Ky;}
    00089   double GetKz() {this->Update(); return this->Kz;}
    00091
    00093   double GetSurfaceArea() {this->Update(); return this->SurfaceArea;}
    00094
    00096
    00099   double GetNormalizedShapeIndex()
    00100     {this->Update(); return this->NormalizedShapeIndex;}
    00102
    00103   void Update();
    00104
    00105   void SetInput(vtkPolyData *input);
    00106   vtkPolyData *GetInput();
    00107
    00108 protected:
    00109   vtkMassProperties();
    00110   ~vtkMassProperties();
    00111
    00112   void Execute();
    00113
    00114   double  SurfaceArea;
    00115   double  Volume;
    00116   double  VolumeX;
    00117   double  VolumeY;
    00118   double  VolumeZ;
    00119   double  Kx;
    00120   double  Ky;
    00121   double  Kz;
    00122   double  NormalizedShapeIndex;
    00123   vtkTimeStamp ExecuteTime;
    00124
    00125 private:
    00126   vtkMassProperties(const vtkMassProperties&);  // Not implemented.
    00127   void operator=(const vtkMassProperties&);  // Not implemented.
    00128 };
    00129
    00130 #endif
    00131
    00132