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 <T> 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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensioned< scalar > mag(const dimensioned< Type > &)