blockEdge Class Referenceabstract

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

Inheritance diagram for blockEdge:
Collaboration diagram for blockEdge:

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 &, Istream &)
 Construct from Istream setting pointsList. More...
 
virtual autoPtr< blockEdgeclone () const
 Clone function. More...
 
virtual ~blockEdge ()
 Destructor. More...
 
label start () const
 Return label of start point. More...
 
label end () const
 Return label of end point. More...
 
int compare (const blockEdge &) const
 Compare the given start and end points with this curve. More...
 
int compare (const edge &) const
 Compare the given start and end points with this curve. More...
 
int compare (const label start, const label end) const
 Compare the given start and end points with this curve. More...
 
virtual point position (const scalar) const =0
 Return the point position corresponding to the curve parameter. More...
 
virtual tmp< pointFieldposition (const scalarList &) const
 Return the point positions corresponding to the curve parameters. More...
 
virtual scalar length () const =0
 Return the length of the curve. More...
 
void write (Ostream &, const dictionary &) const
 Write edge with variable backsubstitution. More...
 

Static Public Member Functions

static autoPtr< blockEdgeNew (const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &, Istream &)
 New function which constructs and returns pointer to a blockEdge. More...
 

Static Protected Member Functions

static pointField appendEndPoints (const pointField &, const label start, const label end, const pointField &otherKnots)
 Return a complete point field by appending the start/end points. More...
 

Protected Attributes

const pointFieldpoints_
 
const label start_
 
const label end_
 

Friends

Ostreamoperator<< (Ostream &, const blockEdge &)
 

Detailed Description

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

Source files

Definition at line 56 of file blockEdge.H.

Constructor & Destructor Documentation

◆ blockEdge() [1/2]

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

Construct from components.

Definition at line 41 of file blockEdge.C.

◆ blockEdge() [2/2]

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

Construct from Istream setting pointsList.

Definition at line 54 of file blockEdge.C.

◆ ~blockEdge()

virtual ~blockEdge ( )
inlinevirtual

Destructor.

Definition at line 168 of file blockEdge.H.

References blockEdge::compare(), blockEdge::end(), blockEdge::length(), blockEdge::operator<<, blockEdge::position(), blockEdge::start(), and blockEdge::write().

Here is the call graph for this function:

Member Function Documentation

◆ appendEndPoints()

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

Return a complete point field by appending the start/end points.

to the given list

Definition at line 110 of file blockEdge.C.

References forAll, and List< T >::size().

Referenced by blockEdge::New().

Here is the call graph for this function:
Here is the caller 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 67 of file blockEdge.C.

References blockEdge::New(), and NotImplemented.

Here is the call graph for this function:

◆ 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 75 of file blockEdge.C.

References Foam::abort(), blockEdge::appendEndPoints(), dict, Foam::endl(), Foam::FatalError, FatalErrorInFunction, InfoInFunction, Foam::nl, and points.

Referenced by blockEdge::clone(), and 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

Return label of start point.

Definition at line 28 of file blockEdgeI.H.

References blockEdge::start_.

Referenced by blockEdge::compare(), and blockEdge::~blockEdge().

Here is the caller graph for this function:

◆ end()

Foam::label end ( ) const
inline

Return label of end point.

Definition at line 34 of file blockEdgeI.H.

References blockEdge::end_.

Referenced by blockEdge::compare(), and blockEdge::~blockEdge().

Here is the caller graph for this function:

◆ compare() [1/3]

int compare ( const blockEdge e) const
inline

Compare the given start and end points with this curve.

Return:

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

Definition at line 57 of file blockEdgeI.H.

References blockEdge::end(), and blockEdge::start().

Referenced by blockEdge::compare(), and blockEdge::~blockEdge().

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

◆ compare() [2/3]

int compare ( const edge e) const
inline

Compare the given start and end points with this curve.

Return:

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

Definition at line 63 of file blockEdgeI.H.

References blockEdge::compare(), edge::end(), and edge::start().

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 and end points with this curve.

Return:

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

Definition at line 40 of file blockEdgeI.H.

References blockEdge::end_, and blockEdge::start_.

◆ position() [1/2]

virtual point position ( const scalar  ) const
pure virtual

Return the point position corresponding to the curve parameter.

0 <= lambda <= 1

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

Referenced by lineDivide::lineDivide(), and blockEdge::~blockEdge().

Here is the caller graph for this function:

◆ position() [2/2]

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

Return the point positions corresponding to the curve parameters.

0 <= lambda <= 1

Reimplemented in projectEdge, and projectCurveEdge.

Definition at line 134 of file blockEdge.C.

References forAll, tmp< T >::ref(), and List< T >::size().

Here is the call graph for this function:

◆ length()

virtual scalar length ( ) const
pure virtual

Return the length of the curve.

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

Referenced by blockEdge::~blockEdge().

Here is the caller graph for this function:

◆ write()

void write ( Ostream os,
const dictionary d 
) const

Write edge with variable backsubstitution.

Definition at line 147 of file blockEdge.C.

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

Referenced by blockEdge::~blockEdge().

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

Friends And Related Function Documentation

◆ operator<<

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

Referenced by blockEdge::~blockEdge().

Member Data Documentation

◆ points_

const pointField& points_
protected

Definition at line 62 of file blockEdge.H.

◆ start_

const label start_
protected

Definition at line 64 of file blockEdge.H.

Referenced by blockEdge::compare(), Foam::operator<<(), and blockEdge::start().

◆ end_

const label end_
protected

Definition at line 65 of file blockEdge.H.

Referenced by blockEdge::compare(), blockEdge::end(), and Foam::operator<<().


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