• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Hybrid/vtkDepthSortPolyData.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkDepthSortPolyData.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00033 #ifndef __vtkDepthSortPolyData_h
00034 #define __vtkDepthSortPolyData_h
00035 
00036 #include "vtkPolyDataAlgorithm.h"
00037 
00038 #define VTK_DIRECTION_BACK_TO_FRONT 0
00039 #define VTK_DIRECTION_FRONT_TO_BACK 1
00040 #define VTK_DIRECTION_SPECIFIED_VECTOR 2
00041 
00042 #define VTK_SORT_FIRST_POINT 0
00043 #define VTK_SORT_BOUNDS_CENTER 1
00044 #define VTK_SORT_PARAMETRIC_CENTER 2
00045 
00046 class vtkCamera;
00047 class vtkProp3D;
00048 class vtkTransform;
00049 
00050 class VTK_HYBRID_EXPORT vtkDepthSortPolyData : public vtkPolyDataAlgorithm 
00051 {
00052 public:
00054   static vtkDepthSortPolyData *New();
00055 
00056   vtkTypeRevisionMacro(vtkDepthSortPolyData,vtkPolyDataAlgorithm);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060 
00062   vtkSetMacro(Direction,int);
00063   vtkGetMacro(Direction,int);
00064   void SetDirectionToFrontToBack() 
00065     {this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK);}
00066   void SetDirectionToBackToFront() 
00067     {this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT);}
00068   void SetDirectionToSpecifiedVector() 
00069     {this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR);}
00071 
00073 
00077   vtkSetMacro(DepthSortMode,int);
00078   vtkGetMacro(DepthSortMode,int);
00079   void SetDepthSortModeToFirstPoint() 
00080     {this->SetDepthSortMode(VTK_SORT_FIRST_POINT);}
00081   void SetDepthSortModeToBoundsCenter() 
00082     {this->SetDepthSortMode(VTK_SORT_BOUNDS_CENTER);}
00083   void SetDepthSortModeToParametricCenter() 
00084     {this->SetDepthSortMode(VTK_SORT_PARAMETRIC_CENTER);}
00086 
00088 
00091   virtual void SetCamera(vtkCamera*);
00092   vtkGetObjectMacro(Camera,vtkCamera);
00094 
00096 
00101   void SetProp3D(vtkProp3D *);
00102   vtkProp3D *GetProp3D();
00104 
00106 
00109   vtkSetVector3Macro(Vector,double);
00110   vtkGetVectorMacro(Vector,double,3);
00112 
00114 
00118   vtkSetVector3Macro(Origin,double);
00119   vtkGetVectorMacro(Origin,double,3);
00121 
00123 
00127   vtkSetMacro(SortScalars, int);
00128   vtkGetMacro(SortScalars, int);
00129   vtkBooleanMacro(SortScalars, int);
00131 
00134   unsigned long GetMTime();
00135 
00136 protected:
00137   vtkDepthSortPolyData();
00138   ~vtkDepthSortPolyData();
00139 
00140   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00141   void ComputeProjectionVector(double vector[3], double origin[3]);
00142 
00143   int Direction;
00144   int DepthSortMode;
00145   vtkCamera *Camera;
00146   vtkProp3D *Prop3D;
00147   vtkTransform *Transform;
00148   double Vector[3];
00149   double Origin[3];
00150   int SortScalars;
00151   
00152 private:
00153   vtkDepthSortPolyData(const vtkDepthSortPolyData&);  // Not implemented.
00154   void operator=(const vtkDepthSortPolyData&);  // Not implemented.
00155 };
00156 
00157 #endif

Generated by  doxygen 1.7.1