hemocell
Loading...
Searching...
No Matches
voxelizeDomain.h
Go to the documentation of this file.
1/*
2This file is part of the HemoCell library
3
4HemoCell is developed and maintained by the Computational Science Lab
5in the University of Amsterdam. Any questions or remarks regarding this library
6can be sent to: info@hemocell.eu
7
8When using the HemoCell library in scientific work please cite the
9corresponding paper: https://doi.org/10.3389/fphys.2017.00563
10
11The HemoCell library is free software: you can redistribute it and/or
12modify it under the terms of the GNU Affero General Public License as
13published by the Free Software Foundation, either version 3 of the
14License, or (at your option) any later version.
15
16The library is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU Affero General Public License for more details.
20
21You should have received a copy of the GNU Affero General Public License
22along with this program. If not, see <http://www.gnu.org/licenses/>.
23*/
24#ifndef VOXELIZEDOMAIN_H
25#define VOXELIZEDOMAIN_H
26
27#include "atomicBlock/dataProcessingFunctional3D.hh"
28#include "offLattice/triangleBoundary3D.hh"
29
30
31#include "array.h"
32
33namespace hemo {
34class CopyFromNeighbor : public plb::BoxProcessingFunctional3D_S<int> {
35public:
37
38 virtual void process(plb::Box3D domain, plb::ScalarField3D<int> &field1);
39
40 virtual CopyFromNeighbor *clone() const;
41
42 virtual void getTypeOfModification(std::vector<plb::modif::ModifT> &modified) const;
43
44 virtual plb::BlockDomain::DomainT appliesTo() const;
45
46private:
48};
49
50void getFlagMatrixFromSTL(std::string meshFileName, plb::plint extendedEnvelopeWidth, plb::plint refDirLength, plb::plint refDir,
51 plb::VoxelizedDomain3D<T> *&voxelizedDomain, plb::MultiScalarField3D<int> *&flagMatrix, plint blockSize, int particleEnvelope = 0);
52void getFlagMatrixFromSTL(std::string meshFileName, plb::plint extendedEnvelopeWidth, plb::plint refDirLength, plb::plint refDir,
53 std::auto_ptr<plb::VoxelizedDomain3D<T>> & voxelizedDomain, std::auto_ptr<plb::MultiScalarField3D<int>> &flagMatrix, plint blockSize, int particleEnvelope = 0);
54}
55#endif
const unsigned extendedEnvelopeWidth
Definition capillary.cpp:55
Definition voxelizeDomain.h:34
hemo::Array< plb::plint, 3 > offset
Definition voxelizeDomain.h:47
virtual plb::BlockDomain::DomainT appliesTo() const
Definition voxelizeDomain.cpp:59
virtual CopyFromNeighbor * clone() const
Definition voxelizeDomain.cpp:51
CopyFromNeighbor(hemo::Array< plb::plint, 3 > offset_)
Definition voxelizeDomain.h:36
virtual void getTypeOfModification(std::vector< plb::modif::ModifT > &modified) const
Definition voxelizeDomain.cpp:55
virtual void process(plb::Box3D domain, plb::ScalarField3D< int > &field1)
Definition voxelizeDomain.cpp:40
long int plint
Definition constant_defaults.h:127
Definition config.cpp:34
void getFlagMatrixFromSTL(std::string meshFileName, plb::plint extendedEnvelopeWidth, plb::plint refDirLength, plb::plint refDir, std::auto_ptr< plb::VoxelizedDomain3D< T > > &voxelizedDomain, std::auto_ptr< plb::MultiScalarField3D< int > > &flagMatrix, plint blockSize, int particleEnvelope)
Definition voxelizeDomain.cpp:66
Definition array.h:39