hemocell
Loading...
Searching...
No Matches
readPositionsBloodCells.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 READ_POSISIONS_OF_BLOOD_CELLS_H
25#define READ_POSISIONS_OF_BLOOD_CELLS_H
26
27#include "hemoCellFields.h"
28#include "config.h"
29#include "constantConversion.h"
30
31#include "core/geometry3D.h"
32#include "offLattice/triangularSurfaceMesh.hh"
33
34namespace hemo {
35void readPositionsBloodCellField3D(HemoCellFields & cellFields, T dx, Config & cfg);
36int getTotalNumberOfCells(HemoCellFields & cellFields);
37
38void getReadPositionsBloodCellsVector(plb::Box3D realDomain,
39 std::vector<plb::TriangularSurfaceMesh<T>* > & meshes,
40 std::vector<plint> & Np,
41 std::vector<std::vector<hemo::Array<T,3> > > & positions,
42 std::vector<std::vector<plint> > & cellIds,
43 std::vector<std::vector<hemo::Array<T,3> > > & randomAngles,
44 Config & cfg, HemoCellFields & cellFields,
45 HemoCellParticleField & particleField);
46
47class ReadPositionsBloodCellField3D : public plb::BoxProcessingFunctional3D
48{
49public:
51 : cellFields(cellFields_), cfg(cfg_) {dx = dx_;}
53 virtual void processGenericBlocks(plb::Box3D domain, std::vector<plb::AtomicBlock3D*> fields);
54 virtual ReadPositionsBloodCellField3D* clone() const;
55 virtual void getTypeOfModification(std::vector<plb::modif::ModifT>& modified) const;
56 void getModificationPattern(std::vector<bool>& isWritten) const;
57 virtual plb::BlockDomain::DomainT appliesTo() const;
61};
62}
63#endif
Definition config.h:58
Definition hemoCellFields.h:53
Definition hemoCellParticleField.h:39
Definition readPositionsBloodCells.h:48
virtual ReadPositionsBloodCellField3D * clone() const
Definition readPositionsBloodCells.cpp:364
virtual void getTypeOfModification(std::vector< plb::modif::ModifT > &modified) const
Definition readPositionsBloodCells.cpp:368
T dx
Definition readPositionsBloodCells.h:58
Config & cfg
Definition readPositionsBloodCells.h:60
ReadPositionsBloodCellField3D(HemoCellFields &cellFields_, T dx_, Config &cfg_)
Definition readPositionsBloodCells.h:50
HemoCellFields & cellFields
Definition readPositionsBloodCells.h:59
virtual plb::BlockDomain::DomainT appliesTo() const
Definition readPositionsBloodCells.cpp:386
virtual void processGenericBlocks(plb::Box3D domain, std::vector< plb::AtomicBlock3D * > fields)
Arguments: [0] Particle-field.
Definition readPositionsBloodCells.cpp:290
void getModificationPattern(std::vector< bool > &isWritten) const
Definition readPositionsBloodCells.cpp:377
double T
Definition constant_defaults.h:118
Definition config.cpp:34
void getReadPositionsBloodCellsVector(Box3D realDomain, std::vector< TriangularSurfaceMesh< T > * > &meshes, std::vector< plint > &Np, std::vector< std::vector< hemo::Array< T, 3 > > > &positions, std::vector< std::vector< plint > > &cellIds, std::vector< std::vector< hemo::Array< T, 3 > > > &randomAngles, T dx, Config &cfg, HemoCellFields &cellFields, HemoCellParticleField &particleField)
Definition readPositionsBloodCells.cpp:186
void readPositionsBloodCellField3D(HemoCellFields &cellFields, T dx, Config &cfg)
Definition readPositionsBloodCells.cpp:392
int getTotalNumberOfCells(HemoCellFields &cellFields)
Definition readPositionsBloodCells.cpp:172
Definition array.h:39