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 constaccess to the controlpoints. 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 (01) 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 polyline 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 94 of file polyLine.C.
References polyLine::calcParam().

protected 
Precalculate the rational cumulative parameter value and the linelength
Definition at line 57 of file polyLine.C.
References Foam::mag().
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().

static 
Concatenate begin, intermediate and end points.
start  The start point 
intermediate  The intermediate points 
end  The end point 
Definition at line 34 of file polyLine.C.
References UList< T >::first(), UList< T >::last(), Time::New(), p0, and UList< T >::size().
Referenced by blockEdge::appendEndPoints().

noexcept 
Return constaccess to the controlpoints.
Definition at line 112 of file polyLine.C.

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.
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 176 of file polyLine.C.

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.

protected 
The real (total) line length.
Definition at line 65 of file polyLine.H.
Referenced by polyLineEdge::length().

protected 
The rational (01) cumulative parameter value for each point.
Definition at line 68 of file polyLine.H.