splineEdge Class Reference

A blockEdge interface for Catmull-Rom splines. More...

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

Public Member Functions

 TypeName ("spline")
 Runtime type information. More...
 
 splineEdge (const pointField &points, const edge &fromTo, const pointField &internalPoints)
 Construct from components. More...
 
 splineEdge (const pointField &points, const label from, const label to, const pointField &internalPoints)
 Construct from components. More...
 
 splineEdge (const dictionary &dict, const label index, const searchableSurfaces &, const pointField &points, Istream &)
 Construct from Istream and point field. More...
 
virtual ~splineEdge ()=default
 Destructor. More...
 
virtual point position (const scalar) const
 The point position corresponding to the curve parameter. More...
 
virtual scalar length () const
 The length of the spline curve. More...
 
- Public Member Functions inherited from blockEdge
 TypeName ("blockEdge")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, blockEdge, Istream,(const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is),(dict, index, geometry, points, is))
 
 blockEdge (const pointField &points, const edge &fromTo)
 Construct from components. More...
 
 blockEdge (const dictionary &dict, const label index, const pointField &points, Istream &is)
 Construct from Istream and point field. More...
 
virtual autoPtr< blockEdgeclone () const
 Clone function. More...
 
virtual ~blockEdge ()=default
 Destructor. More...
 
bool valid () const noexcept
 True if first/last indices are unique and non-negative. More...
 
label start () const noexcept
 Index of start (first) point. More...
 
label end () const noexcept
 Index of end (last) point. More...
 
const pointfirstPoint () const
 The location of the first point. More...
 
const pointlastPoint () const
 The location of the last point. More...
 
int compare (const blockEdge &e) const
 Compare the given start/end points with this block edge. More...
 
int compare (const edge &e) const
 Compare the given start/end points with this block edge. More...
 
int compare (const label start, const label end) const
 Compare the given start/end points with this block edge. More...
 
point linearPosition (const scalar lambda) const
 The point position in the straight line. More...
 
virtual point position (const scalar lambda) const =0
 The point position corresponding to the curve parameter. More...
 
virtual tmp< pointFieldposition (const scalarList &lambdas) const
 The point positions corresponding to the curve parameters. More...
 
virtual scalar length () const =0
 The length of the curve. More...
 
void write (Ostream &os, const dictionary &dict) const
 Write edge with variable back-substitution. More...
 
- Public Member Functions inherited from CatmullRomSpline
 CatmullRomSpline (const pointField &knots, const bool notImplementedClosed=false)
 Construct from components. More...
 
point position (const scalar lambda) const
 The point position corresponding to the curve parameter. More...
 
point position (const label segment, const scalar lambda) const
 The point position corresponding to the local parameter. More...
 
scalar length () const
 The length of the curve. More...
 
- Public Member Functions inherited from polyLine
 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 pointFieldpoints () 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from blockEdge
static autoPtr< blockEdgeNew (const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is)
 New function which constructs and returns pointer to a blockEdge. More...
 
- Static Public Member Functions inherited from polyLine
static tmp< pointFieldconcat (const point &start, const pointField &intermediate, const point &end)
 Concatenate begin, intermediate and end points. More...
 
- Protected Member Functions inherited from blockEdge
 blockEdge (const pointField &points, const label from, const label to)
 Construct from components. More...
 
- Protected Member Functions inherited from polyLine
void calcParam ()
 
label localParameter (scalar &lambda) const
 
- Static Protected Member Functions inherited from blockEdge
static pointField appendEndPoints (const pointField &p, const label from, const label to, const pointField &intermediate)
 
- Protected Attributes inherited from blockEdge
const pointFieldpoints_
 The referenced point field. More...
 
const label start_
 Index of the first point. More...
 
const label end_
 Index of the last point. More...
 
- Protected Attributes inherited from polyLine
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...
 

Detailed Description

A blockEdge interface for Catmull-Rom splines.

See also
BSpline CatmullRomSpline
Source files

Definition at line 58 of file splineEdge.H.

Constructor & Destructor Documentation

◆ splineEdge() [1/3]

splineEdge ( const pointField points,
const edge fromTo,
const pointField internalPoints 
)

Construct from components.

Parameters
pointsReferenced point field
fromToStart/end in point field

Definition at line 53 of file splineEdge.C.

◆ splineEdge() [2/3]

splineEdge ( const pointField points,
const label  from,
const label  to,
const pointField internalPoints 
)

Construct from components.

Parameters
pointsReferenced point field
fromStart point in point field
toEnd point in point field

Definition at line 68 of file splineEdge.C.

◆ splineEdge() [3/3]

splineEdge ( const dictionary dict,
const label  index,
const searchableSurfaces ,
const pointField points,
Istream is 
)

Construct from Istream and point field.

Parameters
pointsReferenced point field

Definition at line 80 of file splineEdge.C.

References token::BEGIN_LIST, and Istream::putBack().

Here is the call graph for this function:

◆ ~splineEdge()

virtual ~splineEdge ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "spline"  )

Runtime type information.

◆ position()

Foam::point position ( const scalar  mu) const
virtual

The point position corresponding to the curve parameter.

0 <= lambda <= 1

Implements blockEdge.

Definition at line 109 of file splineEdge.C.

References mu, and particle< Type >::positionsCompat1706::position.

◆ length()

Foam::scalar length ( ) const
virtual

The length of the spline curve.

Note
NotImplemented

Implements blockEdge.

Definition at line 115 of file splineEdge.C.

References CatmullRomSpline::length().

Here is the call graph for this function:

The documentation for this class was generated from the following files: