VTK
vtkHyperOctreeLimiter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperOctreeLimiter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
28 #ifndef vtkHyperOctreeLimiter_h
29 #define vtkHyperOctreeLimiter_h
30 
31 #include "vtkFiltersHyperTreeModule.h" // For export macro
32 #include "vtkDataSetAlgorithm.h"
33 
34 class vtkHyperOctree;
36 
37 class VTKFILTERSHYPERTREE_EXPORT vtkHyperOctreeLimiter : public vtkDataSetAlgorithm
38 {
39 public:
40  static vtkHyperOctreeLimiter *New();
42 
46  int GetMaximumLevel();
47 
51  void SetMaximumLevel(int levels);
52 
53 protected:
56 
60 
63 
64  void BuildNextCell(vtkHyperOctreeCursor *, vtkHyperOctreeCursor *, int);
65 
66  void AddInteriorAttributes(vtkHyperOctreeCursor *, int);
67  double MeasureCell(int);
68 
70  double TopSize;
71  int Dimension;
74 
75  double *AccumScratch;
76  int AccumSize;
77 
78 private:
79  vtkHyperOctreeLimiter(const vtkHyperOctreeLimiter&) VTK_DELETE_FUNCTION;
80  void operator=(const vtkHyperOctreeLimiter&) VTK_DELETE_FUNCTION;
81 };
82 
83 #endif
vtkHyperOctreeLimiter::AccumSize
int AccumSize
Definition: vtkHyperOctreeLimiter.h:76
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkHyperOctreeCursor
Objects that can traverse hyperoctree nodes.
Definition: vtkHyperOctreeCursor.h:51
vtkDataSetAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
Definition: vtkDataSetAlgorithm.h:183
vtkHyperOctreeLimiter::Dimension
int Dimension
Definition: vtkHyperOctreeLimiter.h:71
vtkDataSetAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkDataSetAlgorithm.h:51
vtkX3D::port
Definition: vtkX3D.h:447
vtkHyperOctreeLimiter::SizeAtPrunePoint
double SizeAtPrunePoint
Definition: vtkHyperOctreeLimiter.h:73
vtkHyperOctreeLimiter::Output
vtkHyperOctree * Output
Definition: vtkHyperOctreeLimiter.h:62
vtkDataSetAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkHyperOctreeLimiter::TopSize
double TopSize
Definition: vtkHyperOctreeLimiter.h:70
vtkDataSetAlgorithm::New
static vtkDataSetAlgorithm * New()
vtkDataSetAlgorithm::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkX3D::info
Definition: vtkX3D.h:376
vtkDataSetAlgorithm.h
vtkHyperOctreeLimiter::MaximumLevel
int MaximumLevel
Definition: vtkHyperOctreeLimiter.h:69
vtkHyperOctreeLimiter
Limit the tree's depth, averaging data from lower level branches into the new leaves at the cut point...
Definition: vtkHyperOctreeLimiter.h:37
vtkHyperOctree
A dataset structured as a tree where each node has exactly 2^n children.
Definition: vtkHyperOctree.h:143
vtkHyperOctreeLimiter::Input
vtkHyperOctree * Input
Definition: vtkHyperOctreeLimiter.h:61
vtkHyperOctreeLimiter::NumChildren
int NumChildren
Definition: vtkHyperOctreeLimiter.h:72
vtkHyperOctreeLimiter::AccumScratch
double * AccumScratch
Definition: vtkHyperOctreeLimiter.h:75