Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

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 =========================================================================*/
00036 #ifndef __vtkDepthSortPolyData_h
00037 #define __vtkDepthSortPolyData_h
00038 
00039 #include "vtkPolyDataAlgorithm.h"
00040 
00041 #define VTK_DIRECTION_BACK_TO_FRONT 0
00042 #define VTK_DIRECTION_FRONT_TO_BACK 1
00043 #define VTK_DIRECTION_SPECIFIED_VECTOR 2
00044 
00045 #define VTK_SORT_FIRST_POINT 0
00046 #define VTK_SORT_BOUNDS_CENTER 1
00047 #define VTK_SORT_PARAMETRIC_CENTER 2
00048 
00049 class vtkCamera;
00050 class vtkProp3D;
00051 class vtkTransform;
00052 
00053 class VTK_HYBRID_EXPORT vtkDepthSortPolyData : public vtkPolyDataAlgorithm 
00054 {
00055 public:
00057   static vtkDepthSortPolyData *New();
00058 
00059   vtkTypeRevisionMacro(vtkDepthSortPolyData,vtkPolyDataAlgorithm);
00060   void PrintSelf(ostream& os, vtkIndent indent);
00061 
00063 
00065   vtkSetMacro(Direction,int);
00066   vtkGetMacro(Direction,int);
00067   void SetDirectionToFrontToBack() 
00068     {this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK);}
00069   void SetDirectionToBackToFront() 
00070     {this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT);}
00071   void SetDirectionToSpecifiedVector() 
00072     {this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR);}
00074 
00076 
00080   vtkSetMacro(DepthSortMode,int);
00081   vtkGetMacro(DepthSortMode,int);
00082   void SetDepthSortModeToFirstPoint() 
00083     {this->SetDepthSortMode(VTK_SORT_FIRST_POINT);}
00084   void SetDepthSortModeToBoundsCenter() 
00085     {this->SetDepthSortMode(VTK_SORT_BOUNDS_CENTER);}
00086   void SetDepthSortModeToParametricCenter() 
00087     {this->SetDepthSortMode(VTK_SORT_PARAMETRIC_CENTER);}
00089 
00091 
00094   virtual void SetCamera(vtkCamera*);
00095   vtkGetObjectMacro(Camera,vtkCamera);
00097 
00099 
00104   void SetProp3D(vtkProp3D *);
00105   vtkProp3D *GetProp3D();
00107 
00109 
00112   vtkSetVector3Macro(Vector,double);
00113   vtkGetVectorMacro(Vector,double,3);
00115 
00117 
00121   vtkSetVector3Macro(Origin,double);
00122   vtkGetVectorMacro(Origin,double,3);
00124 
00126 
00130   vtkSetMacro(SortScalars, int);
00131   vtkGetMacro(SortScalars, int);
00132   vtkBooleanMacro(SortScalars, int);
00134 
00137   unsigned long GetMTime();
00138 
00139 protected:
00140   vtkDepthSortPolyData();
00141   ~vtkDepthSortPolyData();
00142 
00143   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00144   void ComputeProjectionVector(double vector[3], double origin[3]);
00145 
00146   int Direction;
00147   int DepthSortMode;
00148   vtkCamera *Camera;
00149   vtkProp3D *Prop3D;
00150   vtkTransform *Transform;
00151   double Vector[3];
00152   double Origin[3];
00153   int SortScalars;
00154   
00155 private:
00156   vtkDepthSortPolyData(const vtkDepthSortPolyData&);  // Not implemented.
00157   void operator=(const vtkDepthSortPolyData&);  // Not implemented.
00158 };
00159 
00160 #endif

Generated on Mon Jan 21 23:07:27 2008 for VTK by  doxygen 1.4.3-20050530