blockEdge Class Referenceabstract

Define a curved edge that is parameterized for 0<lambda<1 between the start/end points. More...

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

Classes

class  iNew
 Class used for the read-construction of. More...
 

Public Member Functions

 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 label start, const label end)
 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...
 
label start () const
 Index of start point. More...
 
label end () const
 Index of end 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...
 
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...
 

Static Public Member Functions

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 Protected Member Functions

static pointField appendEndPoints (const pointField &points, const label start, const label end, const pointField &intermediate)
 

Protected Attributes

const pointFieldpoints_
 The referenced point field. More...
 
const label start_
 Index of the start point. More...
 
const label end_
 Index of the end point. More...
 

Friends

Ostreamoperator<< (Ostream &os, const blockEdge &e)
 

Detailed Description

Define a curved edge that is parameterized for 0<lambda<1 between the start/end points.

Source files

Definition at line 62 of file blockEdge.H.

Constructor & Destructor Documentation

◆ blockEdge() [1/2]

blockEdge ( const pointField points,
const label  start,
const label  end 
)

Construct from components.

Parameters
pointsReferenced point field
startStart point in referenced point field
endEnd point in referenced point field

Definition at line 45 of file blockEdge.C.

◆ blockEdge() [2/2]

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

Construct from Istream and point field.

Parameters
pointsReferenced point field

Definition at line 58 of file blockEdge.C.

◆ ~blockEdge()

virtual ~blockEdge ( )
virtualdefault

Destructor.

Member Function Documentation

◆ appendEndPoints()

Foam::pointField appendEndPoints ( const pointField points,
const label  start,
const label  end,
const pointField intermediate 
)
staticprotected

Return a complete point field by appending the start/end points to the given list

Deprecated:
(2020-10) use polyLine::concat
Parameters
pointsReferenced point field
startStart point in referenced point field
endEnd point in referenced point field
intermediateIntermediate points (knots)

Definition at line 111 of file blockEdge.C.

References polyLine::concat(), and stdFoam::end().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "blockEdge"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
blockEdge  ,
Istream  ,
(const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is)  ,
(dict, index, geometry, points, is)   
)

◆ clone()

Foam::autoPtr< Foam::blockEdge > clone ( ) const
virtual

Clone function.

Definition at line 71 of file blockEdge.C.

References NotImplemented.

◆ New()

Foam::autoPtr< Foam::blockEdge > New ( const dictionary dict,
const label  index,
const searchableSurfaces geometry,
const pointField points,
Istream is 
)
static

New function which constructs and returns pointer to a blockEdge.

Definition at line 79 of file blockEdge.C.

References Foam::abort(), DebugInFunction, dict, Foam::endl(), Foam::FatalIOError, FatalIOErrorInLookup, and points.

Referenced by blockEdge::iNew::operator()().

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

◆ start()

Foam::label start ( ) const
inline

Index of start point.

Definition at line 30 of file blockEdgeI.H.

References blockEdge::start_.

◆ end()

Foam::label end ( ) const
inline

Index of end point.

Definition at line 36 of file blockEdgeI.H.

◆ compare() [1/3]

int compare ( const blockEdge e) const
inline

Compare the given start/end points with this block edge.

Return:

  • 0: different
  • +1: identical
  • -1: same edge, but different orientation

Definition at line 57 of file blockEdgeI.H.

References Foam::constant::electromagnetic::e.

Referenced by blockEdge::compare().

Here is the caller graph for this function:

◆ compare() [2/3]

int compare ( const edge e) const
inline

Compare the given start/end points with this block edge.

Return:

  • 0: different
  • +1: identical
  • -1: same edge, but different orientation

Definition at line 63 of file blockEdgeI.H.

References blockEdge::compare(), and Foam::constant::electromagnetic::e.

Here is the call graph for this function:

◆ compare() [3/3]

int compare ( const label  start,
const label  end 
) const
inline

Compare the given start/end points with this block edge.

Return:

  • 0: different
  • +1: identical
  • -1: same edge, but different orientation

Definition at line 42 of file blockEdgeI.H.

References stdFoam::end().

Here is the call graph for this function:

◆ position() [1/2]

virtual point position ( const scalar  lambda) const
pure virtual

The point position corresponding to the curve parameter.

0 <= lambda <= 1

Implemented in projectEdge, splineEdge, projectCurveEdge, BSplineEdge, lineEdge, arcEdge, bezier, and polyLineEdge.

Referenced by lineDivide::lineDivide().

Here is the caller graph for this function:

◆ position() [2/2]

Foam::tmp< Foam::pointField > position ( const scalarList lambdas) const
virtual

The point positions corresponding to the curve parameters.

0 <= lambda <= 1

Reimplemented in projectEdge, and projectCurveEdge.

Definition at line 125 of file blockEdge.C.

References forAll, tmp< T >::New(), and points.

Here is the call graph for this function:

◆ length()

virtual scalar length ( ) const
pure virtual

The length of the curve.

Implemented in arcEdge, bezier, projectEdge, projectCurveEdge, splineEdge, BSplineEdge, polyLineEdge, and lineEdge.

◆ write()

void write ( Ostream os,
const dictionary dict 
) const

Write edge with variable back-substitution.

Definition at line 138 of file blockEdge.C.

References dict, Foam::endl(), Foam::tab, and blockVertex::write().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator<<

Ostream& operator<< ( Ostream os,
const blockEdge e 
)
friend

Member Data Documentation

◆ points_

const pointField& points_
protected

The referenced point field.

Definition at line 69 of file blockEdge.H.

Referenced by lineEdge::position().

◆ start_

const label start_
protected

Index of the start point.

Definition at line 72 of file blockEdge.H.

Referenced by lineEdge::position(), and blockEdge::start().

◆ end_

const label end_
protected

Index of the end point.

Definition at line 75 of file blockEdge.H.

Referenced by lineEdge::position().


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