24#ifndef MESH_GENERATING_FUNCTIONS_H
25#define MESH_GENERATING_FUNCTIONS_H
30#include "offLattice/triangleSet.hh"
31#include "offLattice/triangleToDef.hh"
32#include "offLattice/triangleSetGenerator.hh"
33#include "offLattice/triangularSurfaceMesh.hh"
34#include "offLattice/triangleBoundary3D.hh"
39TriangleSet<T>
constructCell(plb::Array<T,3>
const& center,
T radius, std::string cellFilename, plb::Array<T,3>
const& eulerAngles);
47plb::Array<T,3>
mapMeshAsRBC(
const plb::Array<T,3> point,
const plb::Array<T,3> center,
T R) ;
55TriangleSet<T>
constructRBC(plb::Array<T,3>
const& center,
T radius,
plint minNumOfTriangles, plb::Array<T,3>
const& eulerAngles);
61 plb::Array<T,3>
const& eulerAngles,
pluint initialSphereShape=0);
65 plb::Array<T,3>
const& eulerAngles,
pluint initialSphereShape);
69TriangleBoundary3D<T>
constructMeshElement(
plint shape,
T radius,
plint cellNumTriangles,
T dx, std::string cellPath, plb::Array<T,3>
const& eulerAngles,
T aspectRatio=0.3) {
70 plb::Array<T,3> center({0.0, 0.0, 0.0});
71 std::vector<TriangleSet<T> > allTriangles;
72 TriangleSet<T> wholeTriangleSet;
74 wholeTriangleSet.append(constructSphereIcosahedron<T>(center, radius, cellNumTriangles));
75 }
else if (shape == 1) {
76 wholeTriangleSet.append(constructRBCFromSphere<T>(center, radius, cellNumTriangles, eulerAngles, 1));
77 }
else if (shape == 2) {
78 wholeTriangleSet.append(constructCell<T>(center, radius, cellPath, eulerAngles));
79 }
else if (shape == 3) {
80 wholeTriangleSet.append(constructRBC<T>(center, radius, cellNumTriangles, eulerAngles));
81 }
else if (shape == 4) {
82 wholeTriangleSet.append(constructRBCFromSphere<T>(center, radius, cellNumTriangles, eulerAngles, 0));
83 }
else if (shape == 5) {
84 wholeTriangleSet.append(constructSphere<T>(center, radius, cellNumTriangles));
85 }
else if (shape == 6) {
86 wholeTriangleSet.append(constructEllipsoidFromSphere<T>(center, radius, aspectRatio, cellNumTriangles, eulerAngles, 0));
89 DEFscaledMesh<T> defMesh (wholeTriangleSet);
91 TriangleBoundary3D<T> Cells(defMesh);
92 Cells.getMesh().inflate();
double T
Definition constant_defaults.h:118
long int plint
Definition constant_defaults.h:127
long unsigned int pluint
Definition constant_defaults.h:130
plb::TriangularSurfaceMesh< T > * constructStringMeshFromConfig(hemo::Config &materialCfg)
Definition meshGeneratingFunctions.cpp:28
plb::Array< T, 3 > mapMeshAsRBC(const plb::Array< T, 3 > point, const plb::Array< T, 3 > center, T R)
Definition meshGeneratingFunctions.hh:186
TriangleSet< T > constructCell(plb::Array< T, 3 > const ¢er, T radius, std::string cellFilename, plb::Array< T, 3 > const &eulerAngles)
Definition meshGeneratingFunctions.hh:275
plb::Array< T, 3 > spherePointToRBCPoint(const plb::Array< T, 3 > point, T R=1.0)
Definition meshGeneratingFunctions.hh:154
TriangleBoundary3D< T > constructMeshElement(plint shape, T radius, plint cellNumTriangles, T dx, std::string cellPath, plb::Array< T, 3 > const &eulerAngles, T aspectRatio=0.3)
Definition meshGeneratingFunctions.h:69
TriangleSet< T > constructRBCFromSphere(plb::Array< T, 3 > const ¢er, T radius, plint minNumOfTriangles, plb::Array< T, 3 > const &eulerAngles, pluint initialSphereShape=0)
Definition meshGeneratingFunctions.hh:214
TriangleSet< T > constructRBC(plb::Array< T, 3 > const ¢er, T radius, plint minNumOfTriangles, plb::Array< T, 3 > const &eulerAngles)
Definition meshGeneratingFunctions.hh:208
TriangleSet< T > constructEllipsoidFromSphere(plb::Array< T, 3 > const ¢er, T radius, T aspectRatio, plint minNumOfTriangles, plb::Array< T, 3 > const &eulerAngles, pluint initialSphereShape)
Definition meshGeneratingFunctions.hh:245
TriangleSet< T > constructSphereIcosahedron(plb::Array< T, 3 > const ¢er, T radius, plint minNumOfTriangles)
Definition meshGeneratingFunctions.hh:32