81 return points_.size()-1;
93 else if (
lambda > 1 - small)
104 while (param_[segmentI] <
lambda)
112 (
lambda - param_[segmentI])/(param_[segmentI+1] - param_[segmentI]);
123 return points_.first();
125 else if (
mu > 1 - small)
127 return points_.last();
145 return points_.first();
147 else if (
segment > nSegments())
149 return points_.last();
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
An ordered pair of two objects of type <Type> with first() and second() elements.
T & last()
Return the last element of the list.
label nSegments() const
Return the number of line segments.
scalarList param_
The rational (0-1) cumulative parameter value for each point.
scalar length() const
Return the length of the curve.
polyLine(const pointField &, const bool notImplementedClosed=false)
Construct from components.
label localParameter(scalar &lambda) const
Return the line segment and the local parameter [0..1].
void calcParam()
Precalculate the rational cumulative parameter value.
pointField points_
The control points or ends of each segments.
scalar lineLength_
The real line length.
const pointField & points() const
Return const-access to the control-points.
point position(const scalar) const
Return the point position corresponding to the curve parameter.
dimensionedScalar lambda(viscosity->lookup("lambda"))
const dimensionedScalar mu
Atomic mass unit.
point position(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the position given the coordinates and tet topology.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)