VTK  9.1.0
vtkDataAssemblyUtilities.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkDataAssemblyUtilities.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=========================================================================*/
23#ifndef vtkDataAssemblyUtilities_h
24#define vtkDataAssemblyUtilities_h
25
26#include "vtkCommonDataModelModule.h" // for export macros
27#include "vtkObject.h"
28#include "vtkSmartPointer.h" // for vtkSmartPointer
29
30#include <string> // for std::string
31#include <vector> // for std::vector
32
34class vtkDataAssembly;
35class vtkDataObject;
39
40class VTKCOMMONDATAMODEL_EXPORT vtkDataAssemblyUtilities : public vtkObject
41{
42public:
45 void PrintSelf(ostream& os, vtkIndent indent) override;
46
51 static const char* HierarchyName() { return "Hierarchy"; }
52
59 const char* name, vtkCompositeDataSet* cd);
60
76 vtkPartitionedDataSetCollection* output = nullptr);
77
91
104 static std::vector<unsigned int> GetSelectedCompositeIds(
105 const std::vector<std::string>& selectors, vtkDataAssembly* hierarchyOrAssembly,
106 vtkPartitionedDataSetCollection* data = nullptr, bool leaf_nodes_only = false);
107
109
117 static std::string GetSelectorForCompositeId(unsigned int id, vtkDataAssembly* hierarchy);
118 static std::vector<std::string> GetSelectorsForCompositeIds(
119 const std::vector<unsigned int>& ids, vtkDataAssembly* hierarchy);
121
122protected:
125
132
133private:
135 void operator=(const vtkDataAssemblyUtilities&) = delete;
136};
137
138#endif
abstract superclass for composite (multi-block or AMR) datasets
collections of utilities for vtkDataAssembly
static bool GenerateHierarchyInternal(vtkPartitionedDataSetCollection *input, vtkDataAssembly *hierarchy, vtkPartitionedDataSetCollection *output)
static bool GenerateHierarchyInternal(vtkUniformGridAMR *input, vtkDataAssembly *hierarchy, vtkPartitionedDataSetCollection *output)
static vtkSmartPointer< vtkCompositeDataSet > GenerateCompositeDataSetFromHierarchy(vtkPartitionedDataSetCollection *input, vtkDataAssembly *hierarchy)
Inverse of GenerateHierarchy.
static bool GenerateHierarchy(vtkCompositeDataSet *input, vtkDataAssembly *hierarchy, vtkPartitionedDataSetCollection *output=nullptr)
Populates hierarchy with a representation of the hierarchy for the given composite dataset input.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkSmartPointer< vtkDataAssembly > GetDataAssembly(const char *name, vtkCompositeDataSet *cd)
Convenience method to get a named vtkDataAssembly from a vtkCompositeDataSet, if available.
static std::string GetSelectorForCompositeId(unsigned int id, vtkDataAssembly *hierarchy)
For a vtkDataAssembly representing an hierarchy, returns the selector for the given composite id.
static std::vector< unsigned int > GetSelectedCompositeIds(const std::vector< std::string > &selectors, vtkDataAssembly *hierarchyOrAssembly, vtkPartitionedDataSetCollection *data=nullptr, bool leaf_nodes_only=false)
Given a vtkDataAssembly and collection of selectors, returns a list of selected composite indices for...
static bool GenerateHierarchyInternal(vtkMultiBlockDataSet *input, vtkDataAssembly *hierarchy, vtkPartitionedDataSetCollection *output)
static const char * HierarchyName()
Returns the named used by VTK to correspond to a vtkDataAssembly associated with the structure of a c...
~vtkDataAssemblyUtilities() override
static vtkDataAssemblyUtilities * New()
static std::vector< std::string > GetSelectorsForCompositeIds(const std::vector< unsigned int > &ids, vtkDataAssembly *hierarchy)
For a vtkDataAssembly representing an hierarchy, returns the selector for the given composite id.
hierarchical representation to use with vtkPartitionedDataSetCollection
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:113
Composite dataset that organizes datasets into blocks.
abstract base class for most VTK objects
Definition: vtkObject.h:82
Composite dataset that groups datasets as a collection.
Hold a reference to a vtkObjectBase instance.