VTK
vtkmLevelOfDetail.h
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // Copyright (c) Kitware, Inc.
4 // All rights reserved.
5 // See LICENSE.txt for details.
6 //
7 // This software is distributed WITHOUT ANY WARRANTY; without even
8 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9 // PURPOSE. See the above copyright notice for more information.
10 //
11 // Copyright 2012 Sandia Corporation.
12 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
13 // the U.S. Government retains certain rights in this software.
14 //
15 //=============================================================================
16 
17 #ifndef vtkmLevelOfDetail_h
18 #define vtkmLevelOfDetail_h
19 
20 #include "vtkPolyDataAlgorithm.h"
21 #include "vtkAcceleratorsVTKmModule.h" //required for correct implementation
22 #include "vtkmConfig.h" //required for general vtkm setup
23 
24 class VTKACCELERATORSVTKM_EXPORT vtkmLevelOfDetail : public vtkPolyDataAlgorithm
25 {
26 public:
28  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
29  static vtkmLevelOfDetail* New();
30 
31  // Description:
32  // Set/Get the number of divisions along an individual axis for the spatial
33  // bins.
34  // The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions*
35  // NumberOfZDivisions.
36  void SetNumberOfXDivisions(int num);
37  void SetNumberOfYDivisions(int num);
38  void SetNumberOfZDivisions(int num);
39  int GetNumberOfXDivisions();
40  int GetNumberOfYDivisions();
41  int GetNumberOfZDivisions();
42 
43  // Description:
44  // Set/Get the number of divisions for each axis for the spatial bins.
45  // The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions*
46  // NumberOfZDivisions.
47  void SetNumberOfDivisions(int div[3])
48  {
49  this->SetNumberOfDivisions(div[0], div[1], div[2]);
50  }
51  void SetNumberOfDivisions(int div0, int div1, int div2);
52 
53  const int* GetNumberOfDivisions();
54  void GetNumberOfDivisions(int div[3]);
55 
56 protected:
59 
61  vtkInformationVector*) VTK_OVERRIDE;
62 
63 private:
64  int NumberOfDivisions[3];
65 
66  vtkmLevelOfDetail(const vtkmLevelOfDetail&) VTK_DELETE_FUNCTION;
67  void operator=(const vtkmLevelOfDetail&) VTK_DELETE_FUNCTION;
68 };
69 
70 #endif // vtkmLevelOfDetail_h
71 // VTK-HeaderTest-Exclude: vtkmLevelOfDetail.h
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
Store zero or more vtkInformation instances.