45#ifndef Foam_blockEdge_H
46#define Foam_blockEdge_H
168 mutable label index_;
252 virtual scalar
length() const = 0;
270#include "blockEdgeI.H"
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Class used for the read-construction of.
autoPtr< blockEdge > operator()(Istream &is) const
iNew(const dictionary &dict, const searchableSurfaces &geometry, const pointField &points)
Define a curved edge that is parameterized for 0<lambda<1 between the start/end points.
virtual scalar length() const =0
The length of the curve.
TypeName("blockEdge")
Runtime type information.
const pointField & points_
The referenced point field.
virtual autoPtr< blockEdge > clone() const
Clone function.
blockEdge(const pointField &points, const label from, const label to)
Construct from components.
point linearPosition(const scalar lambda) const
The point position in the straight line.
bool good() const noexcept
True if first/last indices are unique and non-negative.
static autoPtr< blockEdge > New(const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is)
New function which constructs and returns pointer to a blockEdge.
const point & lastPoint() const
The location of the last point.
virtual ~blockEdge()=default
Destructor.
bool valid() const noexcept
Same as good().
const label end_
Index of the last point.
static pointField appendEndPoints(const pointField &p, const label from, const label to, const pointField &intermediate)
Return a complete point field by appending the start/end points to the given list.
declareRunTimeSelectionTable(autoPtr, blockEdge, Istream,(const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is),(dict, index, geometry, points, is))
label end() const noexcept
Index of end (last) point.
label start() const noexcept
Index of start (first) point.
virtual point position(const scalar lambda) const =0
The point position corresponding to the curve parameter.
const label start_
Index of the first point.
int compare(const blockEdge &e) const
Compare the given start/end points with this block edge.
void write(Ostream &os, const dictionary &dict) const
Write edge with variable back-substitution.
const point & firstPoint() const
The location of the first point.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
Container for searchableSurfaces. The collection is specified as a dictionary. For example,...
A class for managing temporary objects.
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.
List< scalar > scalarList
List of scalar.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
dimensionedScalar lambda("lambda", dimTime/sqr(dimLength), laminarTransport)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.