The open source CFD toolbox
polyLine Class Reference

A series of straight line segments, which can also be interpreted as a series of control points for splines, etc. More...

Inheritance diagram for polyLine:
[legend]
Collaboration diagram for polyLine:
[legend]

Public Member Functions

polyLine (const pointField &, const bool notImplementedClosed=false)
Construct from components. More...

const pointFieldpoints () const

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 (0-1) cumulative parameter value for each point. More...

Detailed Description

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.

Source files

Definition at line 55 of file polyLine.H.

◆ polyLine()

 polyLine ( const pointField & ps, const bool notImplementedClosed = false )

Construct from components.

Definition at line 63 of file polyLine.C.

References polyLine::calcParam().

Here is the call graph for this function:

◆ calcParam()

 void calcParam ( )
protected

Precalculate the rational cumulative parameter value.

and the line-length

Definition at line 32 of file polyLine.C.

Referenced by polyLine::polyLine().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ localParameter()

 Foam::label localParameter ( scalar & lambda ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ points()

 const Foam::pointField & points ( ) const

Definition at line 75 of file polyLine.C.

Referenced by BSpline::position(), and CatmullRomSpline::position().

Here is the caller graph for this function:

◆ nSegments()

 Foam::label nSegments ( ) const

Return the number of line segments.

Definition at line 81 of file polyLine.C.

◆ position() [1/2]

 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ position() [2/2]

 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.

◆ length()

 Foam::scalar length ( ) const

Return the length of the curve.

Definition at line 174 of file polyLine.C.

◆ points_

 pointField points_
protected

The control points or ends of each segments.

Definition at line 71 of file polyLine.H.

Referenced by polyLine::calcParam().

◆ lineLength_

 scalar lineLength_
protected

The real line length.

Definition at line 74 of file polyLine.H.

Referenced by polyLine::calcParam(), and polyLineEdge::length().

◆ param_

 scalarList param_
protected

The rational (0-1) cumulative parameter value for each point.

Definition at line 77 of file polyLine.H.

Referenced by polyLine::calcParam().

The documentation for this class was generated from the following files:
• src/mesh/blockMesh/blockEdges/polyLineEdge/polyLine.H
• src/mesh/blockMesh/blockEdges/polyLineEdge/polyLine.C