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

# Graphics/vtkHedgeHog.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkHedgeHog.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 =========================================================================*/
    00047 #ifndef __vtkHedgeHog_h
    00048 #define __vtkHedgeHog_h
    00049
    00050 #include "vtkDataSetToPolyDataFilter.h"
    00051
    00052 #define VTK_USE_VECTOR 0
    00053 #define VTK_USE_NORMAL 1
    00054
    00055 class VTK_GRAPHICS_EXPORT vtkHedgeHog : public vtkDataSetToPolyDataFilter
    00056 {
    00057 public:
    00058   static vtkHedgeHog *New();
    00059   vtkTypeRevisionMacro(vtkHedgeHog,vtkDataSetToPolyDataFilter);
    00060   void PrintSelf(ostream& os, vtkIndent indent);
    00061
    00063
    00064   vtkSetMacro(ScaleFactor,float);
    00065   vtkGetMacro(ScaleFactor,float);
    00067
    00069
    00070   vtkSetMacro(VectorMode,int);
    00071   vtkGetMacro(VectorMode,int);
    00072   void SetVectorModeToUseVector() {this->SetVectorMode(VTK_USE_VECTOR);};
    00073   void SetVectorModeToUseNormal() {this->SetVectorMode(VTK_USE_NORMAL);};
    00074   const char *GetVectorModeAsString();
    00076
    00077 protected:
    00078   vtkHedgeHog();
    00079   ~vtkHedgeHog() {};
    00080
    00081   void Execute();
    00082   float ScaleFactor;
    00083   int VectorMode; // Orient/scale via normal or via vector data
    00084
    00085 private:
    00086   vtkHedgeHog(const vtkHedgeHog&);  // Not implemented.
    00087   void operator=(const vtkHedgeHog&);  // Not implemented.
    00088 };
    00089
    00091 inline const char *vtkHedgeHog::GetVectorModeAsString(void)
    00092 {
    00093   if ( this->VectorMode == VTK_USE_VECTOR)
    00094     {
    00095     return "UseVector";
    00096     }
    00097   else if ( this->VectorMode == VTK_USE_NORMAL)
    00098     {
    00099     return "UseNormal";
    00100     }
    00101   else
    00102     {
    00103     return "Unknown";
    00104     }
    00105 }
    00106 #endif
    00107
    00108