11#ifndef vtkRandomHyperTreeGridSource_h
12#define vtkRandomHyperTreeGridSource_h
14#include "vtkFiltersSourcesModule.h"
21VTK_ABI_NAMESPACE_BEGIN
40 vtkGetVector3Macro(Dimensions,
unsigned int);
41 vtkSetVector3Macro(Dimensions,
unsigned int);
48 vtkGetVector6Macro(OutputBounds,
double);
49 vtkSetVector6Macro(OutputBounds,
double);
57 vtkGetMacro(Seed, vtkTypeUInt32);
58 vtkSetMacro(Seed, vtkTypeUInt32);
75 vtkGetMacro(SplitFraction,
double);
76 vtkSetClampMacro(SplitFraction,
double, 0., 1.);
90 vtkGetMacro(MaskedFraction,
double);
91 vtkSetClampMacro(MaskedFraction,
double, 0., 1.);
99 vtkGetMacro(ActualMaskedCellFraction,
double);
128 unsigned int Dimensions[3];
129 double OutputBounds[6];
144 double MaskedFraction = 0;
145 double ActualMaskedCellFraction = 0;
146 std::vector<double> MaskingCostPerLevel{ 1.0 };
159 bool ShouldMask(
double siblingsMasked = 0.0,
int level = 0,
double errorMargin = 0.0);
165 double unmaskedFraction = 1.0,
bool isParentMasked =
false,
double siblingsMasked = 0.0,
166 double errorMargin = 0.0);
171 void InitializeMaskingNodeCostPerLevel();
181 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)