NEMoSys
0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
VtkToPntConversionDriver.C
Go to the documentation of this file.
1
/*******************************************************************************
2
* Promesh *
3
* Copyright (C) 2022, IllinoisRocstar LLC. All rights reserved. *
4
* *
5
* Promesh is the property of IllinoisRocstar LLC. *
6
* *
7
* IllinoisRocstar LLC *
8
* Champaign, IL *
9
* www.illinoisrocstar.com *
10
* promesh@illinoisrocstar.com *
11
*******************************************************************************/
12
/*******************************************************************************
13
* This file is part of Promesh *
14
* *
15
* This version of Promesh is free software: you can redistribute it and/or *
16
* modify it under the terms of the GNU Lesser General Public License as *
17
* published by the Free Software Foundation, either version 3 of the License, *
18
* or (at your option) any later version. *
19
* *
20
* Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
21
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
22
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
23
* details. *
24
* *
25
* You should have received a copy of the GNU Lesser General Public License *
26
* along with this program. If not, see <https://www.gnu.org/licenses/>. *
27
* *
28
*******************************************************************************/
29
#include "
Drivers/Conversion/VtkToPntConversionDriver.H
"
30
31
namespace
NEM
{
32
namespace
DRV {
33
34
VtkToPntConversionDriver::Opts::Opts
(
int
dim,
PNTMesh::BlockMap
blockMap)
35
: dim(dim), elemBlockMap(
std
::move(blockMap)) {}
36
37
VtkToPntConversionDriver::VtkToPntConversionDriver
(
Files
files,
Opts
opts)
38
:
files_
(
std
::move(files)),
opts_
(
std
::move(opts)) {}
39
40
VtkToPntConversionDriver::VtkToPntConversionDriver
()
41
:
VtkToPntConversionDriver
({{}, {}}, {{}, {}}) {}
42
43
const
VtkToPntConversionDriver::Files
&
VtkToPntConversionDriver::getFiles
()
44
const
{
45
return
files_
;
46
}
47
48
void
VtkToPntConversionDriver::setFiles
(
Files
files) {
49
this->
files_
= std::move(files);
50
}
51
52
const
VtkToPntConversionDriver::Opts
&
VtkToPntConversionDriver::getOpts
()
53
const
{
54
return
opts_
;
55
}
56
57
void
VtkToPntConversionDriver::setOpts
(
Opts
opts) {
58
this->
opts_
= std::move(opts);
59
}
60
61
void
VtkToPntConversionDriver::execute
()
const
{
62
auto
source =
meshBase::Create
(
files_
.
inputMeshFile
);
63
std::cout <<
"Number of Blocks : "
<<
opts_
.
elemBlockMap
.size() << std::endl;
64
auto
*pm =
new
PNTMesh::pntMesh
(source,
opts_
.
dim
,
opts_
.
elemBlockMap
.size(),
65
opts_
.
elemBlockMap
);
66
pm->
write
(
files_
.
outputMeshFile
);
67
delete
pm;
68
}
69
70
}
// namespace DRV
71
}
// namespace NEM
NEM::DRV::VtkToPntConversionDriver::files_
Files files_
Definition:
VtkToPntConversionDriver.H:68
NEM::DRV::DriverInOutFiles::outputMeshFile
std::string outputMeshFile
Definition:
NemDriver.H:91
NEM::DRV::VtkToPntConversionDriver::getOpts
const Opts & getOpts() const
Definition:
VtkToPntConversionDriver.C:52
std
STL namespace.
meshBase::Create
static meshBase * Create(const std::string &fname)
Construct vtkMesh from filename.
Definition:
meshBase.C:78
NEM::DRV::VtkToPntConversionDriver::Opts::Opts
Opts()=default
NEM::DRV::VtkToPntConversionDriver::setOpts
void setOpts(Opts opts)
Definition:
VtkToPntConversionDriver.C:57
NEM::DRV::VtkToPntConversionDriver::Opts
Definition:
VtkToPntConversionDriver.H:44
NEM
Definition:
AutoVerificationDriver.C:38
PNTMesh::pntMesh
Definition:
pntMesh.H:98
NEM::DRV::DriverInOutFiles
Definition:
NemDriver.H:86
NEM::DRV::DriverInOutFiles::inputMeshFile
std::string inputMeshFile
Definition:
NemDriver.H:90
NEM::DRV::VtkToPntConversionDriver::opts_
Opts opts_
Definition:
VtkToPntConversionDriver.H:69
NEM::DRV::VtkToPntConversionDriver::setFiles
void setFiles(Files files)
Definition:
VtkToPntConversionDriver.C:48
NEM::DRV::VtkToPntConversionDriver::VtkToPntConversionDriver
VtkToPntConversionDriver()
Definition:
VtkToPntConversionDriver.C:40
NEM::DRV::VtkToPntConversionDriver::getFiles
const Files & getFiles() const
Definition:
VtkToPntConversionDriver.C:43
PNTMesh::BlockMap
std::vector< blockType > BlockMap
Definition:
pntMesh.H:86
NEM::DRV::VtkToPntConversionDriver::Opts::elemBlockMap
PNTMesh::BlockMap elemBlockMap
Definition:
VtkToPntConversionDriver.H:48
PNTMesh::pntMesh::write
void write(const std::string &fname) const
Definition:
pntMesh.C:609
NEM::DRV::VtkToPntConversionDriver::execute
void execute() const override
Run the workflow represented by the driver.
Definition:
VtkToPntConversionDriver.C:61
NEM::DRV::VtkToPntConversionDriver
Definition:
VtkToPntConversionDriver.H:40
VtkToPntConversionDriver.H
NEM::DRV::VtkToPntConversionDriver::Opts::dim
int dim
Definition:
VtkToPntConversionDriver.H:47
src
Drivers
Conversion
VtkToPntConversionDriver.C
Generated on Wed Jan 26 2022 16:40:02 for NEMoSys by
1.8.13