84 void createBoundary();
88 template<
class OutputIterator>
89 OutputIterator addBoundaryFaces
100 void operator=(
const block&) =
delete;
183 mutable label index_;
204 return block::New(dict_, index_++, points_, edges_, faces_, is);
210 virtual ~block() =
default;
declareRunTimeSelectionTable(autoPtr, block, Istream,(const dictionary &dict, const label index, const pointField &vertices, const blockEdgeList &edges, const blockFaceList &faces, Istream &is),(dict, index, vertices, edges, faces, is))
A 1D vector of objects of type <T> with a fixed length <N>.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An analytical geometric cellShape.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Takes the description of the block and the list of curved edges and creates a list of points on edges...
Class used for the read-construction of.
autoPtr< block > clone() const
Clone.
autoPtr< block > operator()(Istream &is) const
A class for handling words, derived from Foam::string.
const word & zoneName() const noexcept
Return the (optional) zone name.
const FixedList< List< FixedList< label, 4 > >, 6 > & boundaryPatches() const noexcept
The boundary patch faces for the block.
const pointField & vertices() const noexcept
Reference to point field defining the block mesh.
A hexahedral cell primitive.
iNew(const dictionary &dict, const pointField &points, const blockEdgeList &edges, const blockFaceList &faces)
TypeName("block")
Runtime type information.
label index(const label i, const label j, const label k) const
Linear addressing index (offset) for an (i,j,k) position.
cellShapeList shapes() const
The (hex) cell shapes for filling the block.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const labelVector & density() const noexcept
The mesh density (number of cells) in the i,j,k directions.
OBJstream os(runTime.globalPath()/outputName)
static autoPtr< block > New(const dictionary &dict, const label index, const pointField &points, const blockEdgeList &edges, const blockFaceList &faces, Istream &)
New function which constructs and returns pointer to a block.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
const List< hexCell > & cells() const
The hex cells for filling the block.
const pointField & points() const noexcept
The points for filling the block.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
virtual ~block()=default
Destructor.
string expand(const std::string &s, const HashTable< string > &mapping, const char sigil='$')
Expand occurrences of variables according to the mapping and return the expanded string.