35#ifndef STREETERFIBREGENERATOR_HPP_
36#define STREETERFIBREGENERATOR_HPP_
41#include "DistanceMapCalculator.hpp"
42#include "AbstractTetrahedralMesh.hpp"
43#include "HeartGeometryInformation.hpp"
44#include "AbstractPerElementWriter.hpp"
45#include "OutputFileHandler.hpp"
63template<
unsigned SPACE_DIM>
80 const std::vector<double>& wallThickness)
const;
87 double GetFibreMaxAngle(
const c_vector<HeartRegionType, SPACE_DIM+1>& nodesRegionsForElement)
const;
110 unsigned localElementIndex,
111 c_vector<double, SPACE_DIM*SPACE_DIM>& rData);
157 const std::string& rRightVentricleFile,
158 const std::string& rLeftVentricleFile,
165 void SetApexToBase(
const c_vector<double, SPACE_DIM>& apexToBase);
double GetAveragedThicknessLocalNode(const unsigned nodeIndex, const std::vector< double > &wallThickness) const
void Visit(Element< SPACE_DIM, SPACE_DIM > *pElement, unsigned localElementIndex, c_vector< double, SPACE_DIM *SPACE_DIM > &rData)
HeartGeometryInformation< SPACE_DIM > * mpGeometryInfo
std::vector< double > mAveragedWallThickness
void SetApexToBase(const c_vector< double, SPACE_DIM > &apexToBase)
void PreWriteCalculations(OutputFileHandler &rOutputDirectory)
void SetLogInfo(bool logInfo=true)
~StreeterFibreGenerator()
std::vector< double > mWallThickness
double GetFibreMaxAngle(const c_vector< HeartRegionType, SPACE_DIM+1 > &nodesRegionsForElement) const
void SetSurfaceFiles(const std::string &rEpicardiumFile, const std::string &rRightVentricleFile, const std::string &rLeftVentricleFile, bool indexFromZero)
void WriteHeaderOnMaster()
c_vector< double, SPACE_DIM > mApexToBase