VTK  9.3.0
vtkDepthSortPolyData.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
22#ifndef vtkDepthSortPolyData_h
23#define vtkDepthSortPolyData_h
24
25#include "vtkFiltersHybridModule.h" // For export macro
27
28VTK_ABI_NAMESPACE_BEGIN
29class vtkCamera;
30class vtkProp3D;
31class vtkTransform;
32
33class VTKFILTERSHYBRID_EXPORT vtkDepthSortPolyData : public vtkPolyDataAlgorithm
34{
35public:
40
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
45 {
46 VTK_DIRECTION_BACK_TO_FRONT = 0,
47 VTK_DIRECTION_FRONT_TO_BACK = 1,
48 VTK_DIRECTION_SPECIFIED_VECTOR = 2
49 };
50
52
56 vtkSetMacro(Direction, int);
57 vtkGetMacro(Direction, int);
58 void SetDirectionToFrontToBack() { this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK); }
59 void SetDirectionToBackToFront() { this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT); }
60 void SetDirectionToSpecifiedVector() { this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR); }
62
64 {
65 VTK_SORT_FIRST_POINT = 0,
66 VTK_SORT_BOUNDS_CENTER = 1,
67 VTK_SORT_PARAMETRIC_CENTER = 2
68 };
69
71
77 vtkSetMacro(DepthSortMode, int);
78 vtkGetMacro(DepthSortMode, int);
79 void SetDepthSortModeToFirstPoint() { this->SetDepthSortMode(VTK_SORT_FIRST_POINT); }
80 void SetDepthSortModeToBoundsCenter() { this->SetDepthSortMode(VTK_SORT_BOUNDS_CENTER); }
81 void SetDepthSortModeToParametricCenter() { this->SetDepthSortMode(VTK_SORT_PARAMETRIC_CENTER); }
83
85
90 virtual void SetCamera(vtkCamera*);
91 vtkGetObjectMacro(Camera, vtkCamera);
93
101 vtkProp3D* GetProp3D() { return this->Prop3D; }
102
104
109 vtkSetVector3Macro(Vector, double);
110 vtkGetVectorMacro(Vector, double, 3);
112
114
120 vtkSetVector3Macro(Origin, double);
121 vtkGetVectorMacro(Origin, double, 3);
123
125
131 vtkSetMacro(SortScalars, vtkTypeBool);
132 vtkGetMacro(SortScalars, vtkTypeBool);
133 vtkBooleanMacro(SortScalars, vtkTypeBool);
135
141
142protected:
145
147 void ComputeProjectionVector(double direction[3], double origin[3]);
148
154 double Vector[3];
155 double Origin[3];
157
158private:
160 void operator=(const vtkDepthSortPolyData&) = delete;
161};
162
163VTK_ABI_NAMESPACE_END
164#endif
a virtual camera for 3D rendering
Definition vtkCamera.h:41
sort poly data along camera view direction
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetDirectionToBackToFront()
Specify the sort method for the polygonal primitives.
virtual void SetCamera(vtkCamera *)
Specify a camera that is used to define a view direction along which the cells are sorted.
void SetDirectionToFrontToBack()
Specify the sort method for the polygonal primitives.
void SetDepthSortModeToParametricCenter()
Specify the point to use when sorting.
vtkMTimeType GetMTime() override
Return MTime also considering the dependent objects: the camera and/or the prop3D.
void SetDepthSortModeToBoundsCenter()
Specify the point to use when sorting.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetDepthSortModeToFirstPoint()
Specify the point to use when sorting.
~vtkDepthSortPolyData() override
void ComputeProjectionVector(double direction[3], double origin[3])
void SetDirectionToSpecifiedVector()
Specify the sort method for the polygonal primitives.
void SetProp3D(vtkProp3D *)
Specify a transformation matrix (via the vtkProp3D::GetMatrix() method) that is used to include the e...
static vtkDepthSortPolyData * New()
Instantiate object.
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
represents an 3D object for placement in a rendered scene
Definition vtkProp3D.h:39
describes linear transformations via a 4x4 matrix
int vtkTypeBool
Definition vtkABI.h:64
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270