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 () |
| Precalculate the rational cumulative parameter value and the line-length. More... | |
| label | localParameter (scalar &lambda) const |
| Return the line segment and the local parameter [0..1] corresponding to the global lambda [0..1]. More... | |
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 51 of file polyLine.H.
|
explicit |
Construct from components.
| points | The poly-line points |
Definition at line 77 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 88 of file polyLine.C.
|
protected |
Precalculate the rational cumulative parameter value and the line-length.
Definition at line 50 of file polyLine.C.
References UList< T >::last(), polyLine::lineLength_, Foam::mag(), polyLine::param_, polyLine::points_, List< T >::resize(), and UList< T >::size().
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 117 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 28 of file polyLine.C.
References UList< T >::first(), UList< T >::last(), Foam::New(), p0, and UList< T >::size().
Referenced by blockEdge::appendEndPoints().


|
noexcept |
Return const-access to the control-points.
Definition at line 105 of file polyLine.C.
Referenced by BSpline::position().

|
noexcept |
The number of line segments.
Definition at line 111 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 151 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 170 of file polyLine.C.
References Foam::constant::physicoChemical::mu, and p0.
|
noexcept |
The length of the curve.
Definition at line 203 of file polyLine.C.
|
protected |
The control points or ends of each segments.
Definition at line 60 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 70 of file polyLine.H.
Referenced by polyLine::calcParam().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.