11#ifndef vtkRandomHyperTreeGridSource_h
12#define vtkRandomHyperTreeGridSource_h
14#include "vtkFiltersSourcesModule.h"
20VTK_ABI_NAMESPACE_BEGIN
38 vtkGetVector3Macro(Dimensions,
unsigned int);
39 vtkSetVector3Macro(Dimensions,
unsigned int);
46 vtkGetVector6Macro(OutputBounds,
double);
47 vtkSetVector6Macro(OutputBounds,
double);
55 vtkGetMacro(Seed, vtkTypeUInt32);
56 vtkSetMacro(Seed, vtkTypeUInt32);
73 vtkGetMacro(SplitFraction,
double);
74 vtkSetClampMacro(SplitFraction,
double, 0., 1.);
88 vtkGetMacro(MaskedFraction,
double);
89 vtkSetClampMacro(MaskedFraction,
double, 0., 1.);
97 vtkGetMacro(ActualMaskedCellFraction,
double);
126 unsigned int Dimensions[3];
127 double OutputBounds[6];
142 double MaskedFraction = 0;
143 double ActualMaskedCellFraction = 0;
144 std::vector<double> MaskingCostPerLevel{ 1.0 };
157 bool ShouldMask(
double siblingsMasked = 0.0,
int level = 0,
double errorMargin = 0.0);
163 double unmaskedFraction = 1.0,
bool isParentMasked =
false,
double siblingsMasked = 0.0,
164 double errorMargin = 0.0);
169 void InitializeMaskingNodeCostPerLevel();
179 double GetMaskingNodeCost(
int level);
general representation of visualization data
dynamic, self-adjusting array of double
Generates a structured extent from unstructured.
Superclass for algorithms that produce a hyper tree grid as output.
Objects for traversal a HyperTreeGrid.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Park and Miller Sequence of pseudo random numbers.
Allocate and hold a VTK object.
Builds a randomized but reproducible vtkHyperTreeGrid.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkRandomHyperTreeGridSource()
static vtkRandomHyperTreeGridSource * New()
void SubdivideLeaves(vtkHyperTreeGridNonOrientedCursor *cursor, vtkIdType treeId)
Recursively subdivides the leafs of the tree using a pseudo random number generator and the SplitFrac...
int FillOutputPortInformation(int port, vtkInformation *info) override
Define default input and output port types.
int RequestData(vtkInformation *req, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
This is called by the superclass.
~vtkRandomHyperTreeGridSource() override
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) final
Main routine to process individual trees in the grid This is pure virtual method to be implemented by...
int RequestInformation(vtkInformation *req, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
bool ShouldRefine(vtkIdType level)