VTK  9.4.20241222
vtkmLevelOfDetail.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3// SPDX-FileCopyrightText: Copyright 2012 Sandia Corporation.
4// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
36#ifndef vtkmLevelOfDetail_h
37#define vtkmLevelOfDetail_h
38
39#include "vtkAcceleratorsVTKmFiltersModule.h" //required for correct implementation
41#include "vtkmlib/vtkmInitializer.h" // Need for initializing vtk-m
42
43VTK_ABI_NAMESPACE_BEGIN
44class VTKACCELERATORSVTKMFILTERS_EXPORT vtkmLevelOfDetail : public vtkPolyDataAlgorithm
45{
46public:
48 void PrintSelf(ostream& os, vtkIndent indent) override;
50
51 // Description:
52 // Set/Get the number of divisions along an individual axis for the spatial
53 // bins.
54 // The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions*
55 // NumberOfZDivisions.
56 void SetNumberOfXDivisions(int num);
57 void SetNumberOfYDivisions(int num);
58 void SetNumberOfZDivisions(int num);
62
63 // Description:
64 // Set/Get the number of divisions for each axis for the spatial bins.
65 // The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions*
66 // NumberOfZDivisions.
67 void SetNumberOfDivisions(int div[3]) { this->SetNumberOfDivisions(div[0], div[1], div[2]); }
68 void SetNumberOfDivisions(int div0, int div1, int div2);
69
71 void GetNumberOfDivisions(int div[3]);
72
73protected:
76
78
79private:
80 int NumberOfDivisions[3];
81
82 vtkmLevelOfDetail(const vtkmLevelOfDetail&) = delete;
83 void operator=(const vtkmLevelOfDetail&) = delete;
84 vtkmInitializer Initializer;
85};
86
87VTK_ABI_NAMESPACE_END
88#endif // vtkmLevelOfDetail_h
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
reduce the number of triangles in a mesh
void SetNumberOfYDivisions(int num)
~vtkmLevelOfDetail() override
void SetNumberOfDivisions(int div[3])
void SetNumberOfDivisions(int div0, int div1, int div2)
void GetNumberOfDivisions(int div[3])
int GetNumberOfZDivisions()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetNumberOfZDivisions(int num)
int GetNumberOfYDivisions()
int GetNumberOfXDivisions()
static vtkmLevelOfDetail * New()
void SetNumberOfXDivisions(int num)
const int * GetNumberOfDivisions()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.