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 &, const bool notImplementedClosed=false)  
Construct from components. More...  
const pointField &  points () const 
Return constaccess to the controlpoints. More...  
label  nSegments () const 
Return the number of line segments. More...  
point  position (const scalar) const 
Return the point position corresponding to the curve parameter. More...  
point  position (const label segment, const scalar) const 
Return the point position corresponding to the local parameter. More...  
scalar  length () const 
Return the length of the curve. More...  
Protected Member Functions  
void  calcParam () 
Precalculate the rational cumulative parameter value. More...  
label  localParameter (scalar &lambda) const 
Return the line segment and the local parameter [0..1]. More...  
Protected Attributes  
pointField  points_ 
The control points or ends of each segments. More...  
scalar  lineLength_ 
The real 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.
polyLine  (  const pointField &  ps, 
const bool  notImplementedClosed = false 

) 
Construct from components.
Definition at line 63 of file polyLine.C.
References polyLine::calcParam().

protected 
Precalculate the rational cumulative parameter value.
and the linelength
Definition at line 32 of file polyLine.C.
References polyLine::lineLength_, Foam::mag(), polyLine::param_, polyLine::points_, and List< T >::setSize().
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 87 of file polyLine.C.
References lambda().
Referenced by BSpline::position(), and CatmullRomSpline::position().
const Foam::pointField & points  (  )  const 
Return constaccess to the controlpoints.
Definition at line 75 of file polyLine.C.
Referenced by BSpline::position(), and CatmullRomSpline::position().
Foam::label nSegments  (  )  const 
Return the number of line segments.
Definition at line 81 of file polyLine.C.
Foam::point position  (  const scalar  mu  )  const 
Return the point position corresponding to the curve parameter.
0 <= lambda <= 1
Definition at line 120 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 
Return the point position corresponding to the local parameter.
0 <= lambda <= 1 on the given segment
Definition at line 139 of file polyLine.C.
References Foam::constant::physicoChemical::mu, p0, and points.
Foam::scalar length  (  )  const 
Return the length of the curve.
Definition at line 174 of file polyLine.C.

protected 
The control points or ends of each segments.
Definition at line 71 of file polyLine.H.
Referenced by polyLine::calcParam().

protected 
The real line length.
Definition at line 74 of file polyLine.H.
Referenced by polyLine::calcParam(), and polyLineEdge::length().

protected 
The rational (01) cumulative parameter value for each point.
Definition at line 77 of file polyLine.H.
Referenced by polyLine::calcParam().