vtkOrderedCompositingHelper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkOrderedCompositingHelper_h
12 #define vtkOrderedCompositingHelper_h
13 
14 #include "vtkBoundingBox.h" // needed for ivar
15 #include "vtkObject.h"
16 #include "vtkRemotingViewsModule.h" //needed for exports
17 
18 #include <vector> // for std::vector
19 
20 class vtkBoundingBox;
21 class vtkCamera;
22 
24 {
25 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
30  void SetBoundingBoxes(const std::vector<vtkBoundingBox>& boxes);
31  const std::vector<vtkBoundingBox>& GetBoundingBoxes() const { return this->Boxes; }
32  const vtkBoundingBox& GetBoundingBox(int index) const;
33 
34  std::vector<int> ComputeSortOrder(vtkCamera* camera);
35  std::vector<int> ComputeSortOrderInViewDirection(const double directionOfProjection[3]);
36  std::vector<int> ComputeSortOrderFromPosition(const double position[3]);
37 
38 protected:
40  ~vtkOrderedCompositingHelper() override;
41 
42  std::vector<vtkBoundingBox> Boxes;
43 
44 private:
46  void operator=(const vtkOrderedCompositingHelper&) = delete;
47 
48  const vtkBoundingBox InvalidBox;
49 };
50 
51 #endif
const std::vector< vtkBoundingBox > & GetBoundingBoxes() const
#define VTKREMOTINGVIEWS_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
std::vector< vtkBoundingBox > Boxes
static vtkObject * New()
index
void operator=(const vtkObjectBase &)
helper to assist in determine process order when rendering
position