A series of straight line segments, which can also be interpreted as a series of control points for splines, etc. More...
Public Member Functions | |
polyLine (const pointField &points, const bool notImplementedClosed=false) | |
Construct from components. More... | |
polyLine (const point &start, const pointField &intermediate, const point &end, const bool notImplementedClosed=false) | |
Construct from begin, intermediate, end points. More... | |
const pointField & | points () const noexcept |
Return const-access to the control-points. More... | |
label | nSegments () const noexcept |
The number of line segments. More... | |
point | position (const scalar) const |
The point position corresponding to the curve parameter. More... | |
point | position (const label segment, const scalar) const |
The point position corresponding to the local parameter. More... | |
scalar | length () const noexcept |
The length of the curve. More... | |
Static Public Member Functions | |
static tmp< pointField > | concat (const point &start, const pointField &intermediate, const point &end) |
Concatenate begin, intermediate and end points. More... | |
Protected Member Functions | |
void | calcParam () |
label | localParameter (scalar &lambda) const |
Protected Attributes | |
pointField | points_ |
The control points or ends of each segments. More... | |
scalar | lineLength_ |
The real (total) line length. More... | |
scalarList | param_ |
The rational (0-1) cumulative parameter value for each point. More... | |
A series of straight line segments, which can also be interpreted as a series of control points for splines, etc.
A future implementation could also handle a closed polyLine.
Definition at line 55 of file polyLine.H.
|
explicit |
Construct from components.
points | The poly-line points |
Definition at line 84 of file polyLine.C.
References polyLine::calcParam().
polyLine | ( | const point & | start, |
const pointField & | intermediate, | ||
const point & | end, | ||
const bool | notImplementedClosed = false |
||
) |
Construct from begin, intermediate, end points.
start | The start point |
intermediate | The intermediate points |
end | The end point |
Definition at line 95 of file polyLine.C.
|
protected |
Precalculate the rational cumulative parameter value and the line-length
Definition at line 57 of file polyLine.C.
References polyLine::lineLength_, Foam::mag(), polyLine::param_, polyLine::points_, and List< T >::resize().
Referenced by polyLine::polyLine().
|
protected |
Return the line segment and the local parameter [0..1] corresponding to the global lambda [0..1]
Definition at line 124 of file polyLine.C.
References lambda().
Referenced by BSpline::position().
|
static |
Concatenate begin, intermediate and end points.
start | The start point |
intermediate | The intermediate points |
end | The end point |
Definition at line 35 of file polyLine.C.
References Foam::New(), and p0.
Referenced by blockEdge::appendEndPoints().
|
noexcept |
Return const-access to the control-points.
Definition at line 112 of file polyLine.C.
Referenced by BSpline::position().
|
noexcept |
The number of line segments.
Definition at line 118 of file polyLine.C.
Foam::point position | ( | const scalar | mu | ) | const |
The point position corresponding to the curve parameter.
0 <= lambda <= 1
Definition at line 158 of file polyLine.C.
References lambda(), and Foam::constant::physicoChemical::mu.
Referenced by polyLineEdge::position().
Foam::point position | ( | const label | segment, |
const scalar | mu | ||
) | const |
The point position corresponding to the local parameter.
0 <= lambda <= 1 on the given segment
Definition at line 177 of file polyLine.C.
References Foam::constant::physicoChemical::mu, and p0.
|
noexcept |
The length of the curve.
Definition at line 210 of file polyLine.C.
|
protected |
The control points or ends of each segments.
Definition at line 62 of file polyLine.H.
Referenced by polyLine::calcParam().
|
protected |
The real (total) line length.
Definition at line 65 of file polyLine.H.
Referenced by polyLine::calcParam(), and polyLineEdge::length().
|
protected |
The rational (0-1) cumulative parameter value for each point.
Definition at line 68 of file polyLine.H.
Referenced by polyLine::calcParam().