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

# Hybrid/vtkDepthSortPolyData.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program:   Visualization Toolkit
    00004   Module:    $RCSfile: vtkDepthSortPolyData.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 =========================================================================*/
    00052 #ifndef __vtkDepthSortPolyData_h
    00053 #define __vtkDepthSortPolyData_h
    00054
    00055 #include "vtkPolyDataToPolyDataFilter.h"
    00056
    00057 #define VTK_DIRECTION_BACK_TO_FRONT 0
    00058 #define VTK_DIRECTION_FRONT_TO_BACK 1
    00059 #define VTK_DIRECTION_SPECIFIED_VECTOR 2
    00060
    00061 #define VTK_SORT_FIRST_POINT 0
    00062 #define VTK_SORT_BOUNDS_CENTER 1
    00063 #define VTK_SORT_PARAMETRIC_CENTER 2
    00064
    00065 class vtkCamera;
    00066 class vtkProp3D;
    00067 class vtkTransform;
    00068
    00069 class VTK_HYBRID_EXPORT vtkDepthSortPolyData : public vtkPolyDataToPolyDataFilter
    00070 {
    00071 public:
    00073   static vtkDepthSortPolyData *New();
    00074
    00075   vtkTypeRevisionMacro(vtkDepthSortPolyData,vtkPolyDataToPolyDataFilter);
    00076   void PrintSelf(ostream& os, vtkIndent indent);
    00077
    00079
    00081   vtkSetMacro(Direction,int);
    00082   vtkGetMacro(Direction,int);
    00083   void SetDirectionToFrontToBack()
    00084     {this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK);}
    00085   void SetDirectionToBackToFront()
    00086     {this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT);}
    00087   void SetDirectionToSpecifiedVector()
    00088     {this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR);}
    00090
    00092
    00096   vtkSetMacro(DepthSortMode,int);
    00097   vtkGetMacro(DepthSortMode,int);
    00098   void SetDepthSortModeToFirstPoint()
    00099     {this->SetDepthSortMode(VTK_SORT_FIRST_POINT);}
    00100   void SetDepthSortModeToBoundsCenter()
    00101     {this->SetDepthSortMode(VTK_SORT_BOUNDS_CENTER);}
    00102   void SetDepthSortModeToParametricCenter()
    00103     {this->SetDepthSortMode(VTK_SORT_PARAMETRIC_CENTER);}
    00105
    00107
    00110   virtual void SetCamera(vtkCamera*);
    00111   vtkGetObjectMacro(Camera,vtkCamera);
    00113
    00115
    00120   void SetProp3D(vtkProp3D *);
    00121   vtkProp3D *GetProp3D();
    00123
    00125
    00128   vtkSetVector3Macro(Vector,double);
    00129   vtkGetVectorMacro(Vector,double,3);
    00131
    00133
    00137   vtkSetVector3Macro(Origin,double);
    00138   vtkGetVectorMacro(Origin,double,3);
    00140
    00142
    00146   vtkSetMacro(SortScalars, int);
    00147   vtkGetMacro(SortScalars, int);
    00148   vtkBooleanMacro(SortScalars, int);
    00150
    00153   unsigned long GetMTime();
    00154
    00155 protected:
    00156   vtkDepthSortPolyData();
    00157   ~vtkDepthSortPolyData();
    00158
    00159   void Execute();
    00160   void ComputeProjectionVector(double vector[3], double origin[3]);
    00161
    00162   int Direction;
    00163   int DepthSortMode;
    00164   vtkCamera *Camera;
    00165   vtkProp3D *Prop3D;
    00166   vtkTransform *Transform;
    00167   double Vector[3];
    00168   double Origin[3];
    00169   int SortScalars;
    00170
    00171 private:
    00172   vtkDepthSortPolyData(const vtkDepthSortPolyData&);  // Not implemented.
    00173   void operator=(const vtkDepthSortPolyData&);  // Not implemented.
    00174 };
    00175
    00176 #endif