33 namespace extrudeModels
48 thickness_(coeffDict_.lookup<scalar>(
"thickness")),
49 firstCellThickness_(0),
50 layerPoints_(nLayers_)
55 <<
"thickness should be positive : " << thickness_
61 if (firstCellThickness_ >= thickness_)
64 <<
"firstCellThickness is larger than thickness"
68 if (firstCellThickness_ > 0)
70 layerPoints_[0] = firstCellThickness_;
74 layerPoints_[layerI] =
75 (thickness_ - layerPoints_[0])
83 layerPoints_[layerI] = thickness_*
sumThickness(layerI + 1);
99 const point& surfacePoint,
100 const vector& surfaceNormal,
110 return surfacePoint + layerPoints_[layer - 1]*surfaceNormal;
Macros for easy insertion into run-time selection tables.
A list of keyword definitions, which are a keyword followed by any number of values (e....
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
Top level extrusion model class.
const dictionary & coeffDict_
scalar sumThickness(const label layer) const
Helper: calculate cumulative relative thickness for layer.
Extrudes by transforming points normal to the surface by a given distance.
virtual ~linearNormal()
Destructor.
linearNormal(const dictionary &dict)
Construct from dictionary.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
defineTypeNameAndDebug(cyclicSector, 0)
addToRunTimeSelectionTable(extrudeModel, cyclicSector, dictionary)
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.