polyline Class Reference

Extrudes by transforming points along a polyline provided as a series of points and edge segments. Supports all blockMesh edge types, e.g. line, arc, spline. The surface points are rotated to follow the path. More...

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

Public Member Functions

 TypeName ("polyline")
 Runtime type information. More...
 
 polyline (const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~polyline ()=default
 Destructor. More...
 
point operator() (const point &surfacePoint, const vector &surfaceNormal, const label layer) const
 
void positionAndDirection (const scalar lambda, vector &p, vector &n) const
 
- Public Member Functions inherited from extrudeModel
 TypeName ("extrudeModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, extrudeModel, dictionary,(const dictionary &dict),(dict))
 Declare runtime constructor selection table. More...
 
 extrudeModel (const word &modelType, const dictionary &dict)
 Construct from dictionary for given model type. More...
 
virtual ~extrudeModel ()=default
 Destructor. More...
 
label nLayers () const
 Return the number of layers. More...
 
scalar expansionRatio () const
 Return the expansion ratio. More...
 
scalar sumThickness (const label layer) const
 Helper: calculate cumulative relative thickness for layer. More...
 
virtual point operator() (const point &surfacePoint, const vector &surfaceNormal, const label layer) const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from extrudeModel
static autoPtr< extrudeModelNew (const dictionary &dict)
 Select null constructed. More...
 
- Protected Member Functions inherited from extrudeModel
 extrudeModel (const extrudeModel &)=delete
 No copy construct. More...
 
void operator= (const extrudeModel &)=delete
 No copy assignment. More...
 
- Protected Attributes inherited from extrudeModel
label nLayers_
 
const scalar expansionRatio_
 
const dictionarycoeffDict_
 

Detailed Description

Extrudes by transforming points along a polyline provided as a series of points and edge segments. Supports all blockMesh edge types, e.g. line, arc, spline. The surface points are rotated to follow the path.

Property Description Required Default
vertices List of vertices yes
edges List of blockEdge segments yes
toleranceCheck Relative tolerance for polyline checks no SMALL

Definition at line 80 of file polyline.H.

Constructor & Destructor Documentation

◆ polyline()

polyline ( const dictionary dict)
explicit

Construct from dictionary.

Definition at line 49 of file polyline.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, UPtrList< T >::last(), Foam::mag(), Foam::nl, Foam::normalised(), polyline::positionAndDirection(), UPtrList< T >::size(), and Foam::tab.

Here is the call graph for this function:

◆ ~polyline()

virtual ~polyline ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "polyline"  )

Runtime type information.

◆ operator()()

point operator() ( const point surfacePoint,
const vector surfaceNormal,
const label  layer 
) const
virtual

Implements extrudeModel.

Definition at line 131 of file polyline.C.

References Foam::endl(), Foam::mag(), n, Foam::normalised(), p, quaternion::transform(), and WarningInFunction.

Here is the call graph for this function:

◆ positionAndDirection()

void positionAndDirection ( const scalar  lambda,
vector p,
vector n 
) const

The point and direction vector corresponding to the polyline parameter [0-1]

Definition at line 174 of file polyline.C.

References Foam::interpolateXY(), lambda(), Foam::max(), Foam::min(), n, Foam::normalised(), p, s(), UPtrList< T >::size(), and y.

Referenced by polyline::polyline().

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

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