IOSS 2.0
Loading...
Searching...
No Matches
Iotr_Scale3D.h
Go to the documentation of this file.
1// Copyright(C) 1999-2022, 2024 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "Ioss_Transform.h" // for Transform, Factory
11#include "Ioss_VariableType.h" // for VariableType
12#include <stddef.h>
13#include <string>
14#include <vector>
15
16#include "iotr_export.h"
17
18namespace Ioss {
19 class Field;
20} // namespace Ioss
21
22namespace Ioss {
23} // namespace Ioss
24
25namespace Iotr {
26
27 class IOTR_EXPORT Scale3D_Factory : public Ioss::TransformFactory
28 {
29 public:
30 static const Scale3D_Factory *factory();
31
32 private:
34 IOSS_NODISCARD Ioss::Transform *make(const std::string & /*unused*/) const override;
35 };
36
37 class IOTR_EXPORT Scale3D : public Ioss::Transform
38 {
39 friend class Scale3D_Factory;
40
41 public:
43 output_storage(const Ioss::VariableType *in) const override;
44 IOSS_NODISCARD size_t output_count(size_t in) const override;
45
46 void set_properties(const std::string &name, const std::vector<int> &values) override;
47 void set_properties(const std::string &name, const std::vector<double> &values) override;
48
49 protected:
50 Scale3D();
51
52 bool internal_execute(const Ioss::Field &field, void *data) override;
53
54 private:
55 int intScale[3]{};
56 double realScale[3]{};
57 };
58} // namespace Iotr
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:55
Holds metadata for bulk data associated with a GroupingEntity.
Definition Ioss_Field.h:25
Definition Ioss_TransformFactory.h:24
Definition Ioss_Transform.h:21
A generic variable type.
Definition Ioss_VariableType.h:70
Definition Iotr_Scale3D.h:28
Definition Iotr_Scale3D.h:38
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
A namespace for Ioss transformations.
Definition Iotr_Initializer.C:16