VTK  9.4.20241103
vtkDGRangeResponder.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
28#ifndef vtkDGRangeResponder_h
29#define vtkDGRangeResponder_h
30
31#include "vtkFiltersCellGridModule.h" // for export macro
32
33#include "vtkCellGridRangeQuery.h" // for inheritance
35
36VTK_ABI_NAMESPACE_BEGIN
38class vtkCellMetadata;
39class vtkDGCell;
40class vtkDataArray;
41class vtkTypeInt64Array;
42
43class VTKFILTERSCELLGRID_EXPORT vtkDGRangeResponder
44 : public vtkCellGridResponder<vtkCellGridRangeQuery>
45{
46public:
49
51 vtkCellGridResponders* caches) override;
52
53protected:
55 ~vtkDGRangeResponder() override = default;
56
57private:
58 template <bool DOFSharing, bool FiniteRange>
59 bool ConstantRange(vtkDGCell* dgCell, vtkCellAttribute* attribute,
60 const vtkCellAttribute::CellTypeInfo& cellTypeInfo, vtkDataArray* values,
61 vtkCellGridRangeQuery* request);
62
63 template <bool DOFSharing, bool FiniteRange>
64 bool HGradRange(vtkDGCell* dgCell, vtkCellAttribute* attribute,
65 const vtkCellAttribute::CellTypeInfo& cellTypeInfo, vtkDataArray* values,
66 vtkCellGridRangeQuery* request);
67
68 template <bool DOFSharing, bool FiniteRange>
69 bool HCurlRange(vtkDGCell* dgCell, vtkCellAttribute* attribute,
70 const vtkCellAttribute::CellTypeInfo& cellTypeInfo, vtkDataArray* values,
71 vtkCellGridRangeQuery* request);
72
73 template <bool DOFSharing, bool FiniteRange>
74 bool HDivRange(vtkDGCell* dgCell, vtkCellAttribute* attribute,
75 const vtkCellAttribute::CellTypeInfo& cellTypeInfo, vtkDataArray* values,
76 vtkCellGridRangeQuery* request);
77
78#if 0
80 template<bool FiniteRange, bool DOFSharing>
81 bool HCurl(
82 vtkCellAttribute* attribute,
83 vtkDataArray* conn,
84 vtkDataArray* values,
85 vtkCellGridRangeQuery* request);
86
87 // Update the range of a discontinuous Lagrange-polynomial attribute.
88 template <bool FiniteRange>
89 bool DiscontinuousLagrange(
90 vtkCellAttribute* attribute, vtkDataArray* values, vtkCellGridRangeQuery* request);
91
92 // Update the range of a continuous Lagrange-polynomial attribute.
93 template <bool FiniteRange>
94 bool ContinuousLagrange(vtkCellAttribute* attribute, vtkDataArray* conn,
95 vtkDataArray* values, vtkCellGridRangeQuery* request);
96#endif
97
99 void operator=(const vtkDGRangeResponder&) = delete;
100};
101
102VTK_ABI_NAMESPACE_END
103#endif // vtkDGRangeResponder_h
104// VTK-HeaderTest-Exclude: vtkDGRangeResponder.h
A function defined over the physical domain of a vtkCellGrid.
Compute the range of a component of some vtkCellAttribute.
Respond to a query on one particular type of cell.
A container that holds objects able to respond to queries specialized for particular vtkCellMetadata ...
Metadata for a particular type of cell (finite element).
Base class for a discontinuous Galerkin cells of all shapes.
Definition vtkDGCell.h:44
Compute the range of a cell-attribute over any vtkDGCell.
bool Query(vtkCellGridRangeQuery *query, vtkCellMetadata *cellType, vtkCellGridResponders *caches) override
static vtkDGRangeResponder * New()
~vtkDGRangeResponder() override=default
vtkDGRangeResponder()=default
abstract superclass for arrays of numeric data