arcEdge Class Reference

A blockEdge defined as an arc of a circle. More...

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

Public Member Functions

 TypeName ("arc")
 Runtime type information. More...
 
 arcEdge (const pointField &points, const point &origin, const label start, const label end)
 Construct from components, given the origin of the circle. More...
 
 arcEdge (const pointField &points, const label start, const label end, const point &midPoint)
 Construct from components, using a point on the circumference. More...
 
 arcEdge (const dictionary &dict, const label index, const searchableSurfaces &geometry, const pointField &points, Istream &is)
 Construct from Istream and point field. More...
 
virtual ~arcEdge ()=default
 Destructor. More...
 
point position (const scalar lambda) const
 The point corresponding to the curve parameter [0-1]. More...
 
scalar length () const noexcept
 The length of the 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 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 tmp< pointFieldposition (const scalarList &lambdas) const
 The point positions corresponding to the curve parameters. More...
 
void write (Ostream &os, const dictionary &dict) const
 Write edge with variable back-substitution. 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 Protected Member Functions inherited from blockEdge
static pointField appendEndPoints (const pointField &points, const label start, const label end, const pointField &intermediate)
 
- Protected Attributes inherited from blockEdge
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...
 

Detailed Description

A blockEdge defined as an arc of a circle.

The arc is normally defined by its endpoints and a point on its circumference, typically a midpoint. For example,

points ((1 0 0) (0 1 0));

arc 0 1 (0.707107 0.707107 0);

The arc can enclose an angle greater than 0 and less than 360 degrees.

The arc will frequently enclose an angle less than 180 degrees. For the case, it is possible to define the arc by its endpoints and its centre (origin) point. For example,

arc 0 1 origin (0 0 0);

When defined in the way, any discrepancy in the arc radius for the endpoints is resolved by adjusting the origin to ensure that the average radius is satisfied.

It is also possible to define a flatness factor as a multiplier of the calculated radius. For example,

arc 0 1 origin 1.1 (0 0 0);
Source files

Definition at line 79 of file arcEdge.H.

Constructor & Destructor Documentation

◆ arcEdge() [1/3]

arcEdge ( const pointField points,
const point origin,
const label  start,
const label  end 
)

Construct from components, given the origin of the circle.

Parameters
pointsReferenced point field
originThe origin of the circle
startStart point in referenced point field
endEnd point in referenced point field

Definition at line 193 of file arcEdge.C.

References points.

◆ arcEdge() [2/3]

arcEdge ( const pointField points,
const label  start,
const label  end,
const point midPoint 
)

Construct from components, using a point on the circumference.

Parameters
pointsReferenced point field
startStart point in referenced point field
endEnd point in referenced point field
midPointA point on the circumference

Definition at line 210 of file arcEdge.C.

References points.

◆ arcEdge() [3/3]

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

Construct from Istream and point field.

The Istream can specify either a point on the circumference, or with a tag to specify the origin.

Parameters
pointsReferenced point field

Definition at line 227 of file arcEdge.C.

References Foam::expressions::patchExpr::debug, Foam::Info, token::isWord(), Foam::nl, token::number(), p, and Istream::putBack().

Here is the call graph for this function:

◆ ~arcEdge()

virtual ~arcEdge ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "arc"  )

Runtime type information.

◆ position()

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

The point corresponding to the curve parameter [0-1].

Implements blockEdge.

Definition at line 286 of file arcEdge.C.

References InfoInFunction, lambda(), and Foam::nl.

Here is the call graph for this function:

◆ length()

Foam::scalar length ( ) const
virtualnoexcept

The length of the curve.

Implements blockEdge.

Definition at line 309 of file arcEdge.C.


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