File: vtkIOSSCellGridReaderInternal.h

package info (click to toggle)
vtk9 9.5.2%2Bdfsg3-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 205,992 kB
  • sloc: cpp: 2,336,570; ansic: 327,116; python: 111,200; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; makefile: 185; javascript: 165; objc: 153; tcl: 59
file content (66 lines) | stat: -rw-r--r-- 2,849 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
// SPDX-License-Identifier: BSD-3-Clause

#include "vtkIOSSReaderInternal.h"

#include "vtkCellAttribute.h"                    // For CellTypeInfo.
#include "vtkUnstructuredGridFieldAnnotations.h" // For Annotations.

VTK_ABI_NAMESPACE_BEGIN

class vtkDGCell;
class vtkIOSSCellGridReader;

/**
 * @class vtkIOSSCellGridReaderInternal
 * @brief Internal methods for the cell-grid version of the IOSS reader.
 *
 * Note that this class is not part of the public API of VTK and thus
 * has no export macros.
 */
class vtkIOSSCellGridReaderInternal : public vtkIOSSReaderInternal
{
public:
  vtkIOSSCellGridReaderInternal(vtkIOSSCellGridReader* self);

  std::vector<vtkSmartPointer<vtkCellGrid>> GetCellGrids(const std::string& blockName,
    vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle& handle, int timestep,
    vtkIOSSCellGridReader* self);

  std::vector<vtkSmartPointer<vtkCellGrid>> GetElementBlock(const std::string& blockName,
    vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle& handle, int timestep,
    vtkIOSSCellGridReader* self);

  std::vector<vtkSmartPointer<vtkCellGrid>> GetElementBlock(const std::string& blockName,
    const Ioss::GroupingEntity* group_entity, const DatabaseHandle& handle, int timestep,
    vtkIOSSCellGridReader* self);

  std::vector<vtkSmartPointer<vtkCellGrid>> GetSideSet(const std::string& blockName,
    vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle& handle, int timestep,
    vtkIOSSCellGridReader* self);

  std::vector<vtkSmartPointer<vtkCellGrid>> GetNodeSet(const std::string& blockName,
    vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle& handle, int timestep,
    vtkIOSSCellGridReader* self);

  vtkCellAttribute::CellTypeInfo GetCellGridInfoForBlock(
    int shape_conn_size, int shape_order, vtkDGCell* dg);

  void GetNodalAttributes(vtkDataArraySelection* fieldSelection, vtkDataSetAttributes* arrayGroup,
    vtkCellGrid* grid, vtkDGCell* meta, const Ioss::GroupingEntity* group_entity,
    Ioss::Region* region, const DatabaseHandle& handle, int timestep, bool read_ioss_ids,
    const std::string& cache_key_suffix);

  void GetElementAttributes(vtkDataArraySelection* fieldSelection, vtkDataSetAttributes* arrayGroup,
    vtkCellGrid* grid, vtkDGCell* meta, const Ioss::GroupingEntity* group_entity,
    Ioss::Region* region, const DatabaseHandle& handle, int timestep, bool read_ioss_ids,
    const std::string& cache_key_suffix);

  bool ApplyDisplacements(vtkCellGrid* grid, Ioss::Region* region,
    const Ioss::GroupingEntity* group_entity, const DatabaseHandle& handle, int timestep);

  vtkNew<vtkUnstructuredGridFieldAnnotations> Annotations;
};

VTK_ABI_NAMESPACE_END