VTK  9.4.20241016
vtkDGSidesResponder.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
9#ifndef vtkDGSidesResponder_h
10#define vtkDGSidesResponder_h
11
12#include "vtkFiltersCellGridModule.h" // For export macro.
13
15#include "vtkCellGridSidesQuery.h" // For inheritance.
16#include "vtkDGCell.h" // For Shape enum.
17
18VTK_ABI_NAMESPACE_BEGIN
19class vtkCellMetadata;
20class vtkDGSidesResponders;
21
22class VTKFILTERSCELLGRID_EXPORT vtkDGSidesResponder
23 : public vtkCellGridResponder<vtkCellGridSidesQuery>
24{
25public:
28
30 vtkCellGridResponders* caches) override;
31
32protected:
34 ~vtkDGSidesResponder() override = default;
35
36 bool HashSides(vtkCellGridSidesQuery* query, vtkDGCell* cellType);
40 vtkCellGridSidesQuery* query, vtkDGCell::Shape sideShape, vtkDGCell::Shape cellShape);
41
47 vtkDGCell::Shape sourceShape, std::vector<vtkIdType>& side,
48 const std::vector<vtkIdType>& sidesOfSide, vtkIdType cellId,
49 const std::vector<vtkTypeInt64>& entry, std::set<int>& sidesVisited, vtkDataArray* ngm);
50
51private:
53 void operator=(const vtkDGSidesResponder&) = delete;
54};
55
56VTK_ABI_NAMESPACE_END
57#endif // vtkDGSidesResponder_h
58// VTK-HeaderTest-Exclude: vtkDGSidesResponder.h
Respond to a query on one particular type of cell.
A container that holds objects able to respond to queries specialized for particular vtkCellMetadata ...
A cell-grid query for enumerating sides of cells.
Metadata for a particular type of cell (finite element).
Base class for a discontinuous Galerkin cells of all shapes.
Definition vtkDGCell.h:44
Shape
All possible shapes for DG cells.
Definition vtkDGCell.h:71
Compute the sides on the outside surface of a collection of DG cells.
static bool ProcessSidesOfInput(vtkCellGridSidesQuery *query, vtkDGCell::Shape sideShape, vtkDGCell::Shape cellShape)
bool Query(vtkCellGridSidesQuery *query, vtkCellMetadata *cellType, vtkCellGridResponders *caches) override
bool GenerateSideSets(vtkCellGridSidesQuery *query, vtkDGCell *cellType)
bool HashSides(vtkCellGridSidesQuery *query, vtkDGCell *cellType)
vtkDGSidesResponder()=default
static vtkDGSidesResponder * New()
bool SummarizeSides(vtkCellGridSidesQuery *query, vtkDGCell *cellType)
void HashSidesOfSide(vtkCellGridSidesQuery *query, vtkDGCell *cellType, vtkDGCell::Shape sourceShape, std::vector< vtkIdType > &side, const std::vector< vtkIdType > &sidesOfSide, vtkIdType cellId, const std::vector< vtkTypeInt64 > &entry, std::set< int > &sidesVisited, vtkDataArray *ngm)
Called by HashSides to recursively hash sides of sides of a cell.
~vtkDGSidesResponder() override=default
abstract superclass for arrays of numeric data
int vtkIdType
Definition vtkType.h:315