47 const plane& planeDesc,
49 const bool triangulate
55 triangulate_(triangulate),
60 Info<<
"cellZone " << zoneKey_
61 <<
" not found - using entire mesh" <<
endl;
81 if (dict.
found(
"coordinateSystem"))
85 point base = cs.globalPosition(planeDesc().refPoint());
86 vector norm = cs.globalVector(planeDesc().normal());
89 static_cast<plane&
>(*this) =
plane(base, norm);
96 Info<<
"cellZone " << zoneKey_
97 <<
" not found - using entire mesh" <<
endl;
142 if (selectedCells.
empty())
144 reCut(
mesh(), triangulate_);
148 reCut(
mesh(), triangulate_, selectedCells);
157 needsUpdate_ =
false;
167 return sampleField(vField);
176 return sampleField(vField);
185 return sampleField(vField);
194 return sampleField(vField);
203 return sampleField(vField);
212 return interpolateField(interpolator);
221 return interpolateField(interpolator);
229 return interpolateField(interpolator);
238 return interpolateField(interpolator);
247 return interpolateField(interpolator);
253 os <<
"sampledPlane: " <<
name() <<
" :" 254 <<
" base:" << refPoint()
255 <<
" normal:" << normal()
256 <<
" triangulate:" << triangulate_
257 <<
" faces:" << faces().size()
label findIndex(const keyType &) const
Return zone index for the first match, return -1 if not found.
Base class for other coordinate system specifications.
A class for handling keywords in dictionaries.
virtual void print(Ostream &) const
Write.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
bool empty() const
Return true if the UList is empty (ie, size() is zero)
A list of keyword definitions, which are a keyword followed by any number of values (e...
An abstract class for surfaces with sampling.
void size(const label)
Override size to be inconsistent with allocated storage.
bool interpolate() const
Interpolation requested for surface.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Geometric class that creates a 2D plane and can return the intersection point between a line and the ...
virtual bool expire()
Mark the surface as needing an update.
Macros for easy insertion into run-time selection tables.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
virtual tmp< scalarField > sample(const volScalarField &) const
Sample field on surface.
virtual bool needsUpdate() const
Does the surface need an update?
Constructs plane through mesh.
virtual void clearGeom() const
A class for handling words, derived from string.
const cellZoneMesh & cellZones() const
Return cell zone mesh.
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
virtual bool update()
Update the surface as required.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
PackedBoolList findMatching(const keyType &) const
Mark cells that match the zone specification.
defineTypeNameAndDebug(combustionModel, 0)
word name(const complex &)
Return a string representation of a complex.
addNamedToRunTimeSelectionTable(GAMGProcAgglomeration, noneGAMGProcAgglomeration, GAMGAgglomeration, none)
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
virtual ~sampledPlane()
Destructor.
prefixOSstream Pout(cout, "Pout")
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
static const keyType null
An empty keyType.
Xfer< labelList > used() const
Return indices of the used (true) elements as a list of labels.
sampledPlane(const word &name, const polyMesh &mesh, const plane &planeDesc, const keyType &zoneKey=word::null, const bool triangulate=true)
Construct from components.