ParaView
vtkPartitionOrdering.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPartitionOrdering.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
32 #ifndef vtkPartitionOrdering_h
33 #define vtkPartitionOrdering_h
34 
35 #include "vtkObject.h"
36 #include "vtkPVVTKExtensionsRenderingModule.h" // needed for export macro
37 #include <vector> // For dynamic data storage
38 
39 class vtkDataSet;
40 class vtkIntArray;
41 class vtkMultiProcessController;
42 
43 class VTKPVVTKEXTENSIONSRENDERING_EXPORT vtkPartitionOrdering : public vtkObject
44 {
45 public:
46  vtkTypeMacro(vtkPartitionOrdering, vtkObject);
47 
48  void PrintSelf(ostream& os, vtkIndent indent);
49  static vtkPartitionOrdering* New();
50 
52 
55  void SetController(vtkMultiProcessController* c);
56  vtkGetObjectMacro(Controller, vtkMultiProcessController);
58 
62  int GetNumberOfRegions();
63 
71  virtual int ViewOrderAllProcessesInDirection(
72  const double directionOfProjection[3], vtkIntArray* orderedList);
73 
81  virtual int ViewOrderAllProcessesFromPosition(
82  const double cameraPosition[3], vtkIntArray* orderedList);
83 
85 
88  bool Construct(vtkDataSet* grid);
89  bool Construct(const double localBounds[6]);
91 
92 protected:
95 
96 private:
97  vtkMultiProcessController* Controller;
98 
99  std::vector<double> ProcessBounds;
100  double GlobalBounds[6];
101 
102  vtkPartitionOrdering(const vtkPartitionOrdering&) VTK_DELETE_FUNCTION;
103  void operator=(const vtkPartitionOrdering&) VTK_DELETE_FUNCTION;
104 };
105 
106 #endif
Build an ordering partitions for compositing.