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 edge &fromTo)
 Construct from components, given the origin of the circle. More...
 
 arcEdge (const pointField &points, const edge &fromTo, const point &midPoint)
 Construct from components, using a point on the circumference. More...
 
 arcEdge (const pointField &points, const point &origin, const label from, const label to)
 Construct from components, given the origin of the circle. More...
 
 arcEdge (const pointField &points, const label from, const label to, const point &midPoint)
 Construct from components, using a point on the circumference. More...
 
 arcEdge (const dictionary &dict, const label index, const searchableSurfaces &, 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 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...
 

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...
 
- Protected Member Functions inherited from blockEdge
 blockEdge (const pointField &points, const label from, const label to)
 Construct from components. More...
 
- 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...
 

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/5]

arcEdge ( const pointField points,
const point origin,
const edge fromTo 
)

Construct from components, given the origin of the circle.

Parameters
pointsReferenced point field
originThe origin of the circle
fromToStart/end in point field

Definition at line 192 of file arcEdge.C.

References blockEdge::firstPoint(), and blockEdge::lastPoint().

Here is the call graph for this function:

◆ arcEdge() [2/5]

arcEdge ( const pointField points,
const edge fromTo,
const point midPoint 
)

Construct from components, using a point on the circumference.

Parameters
pointsReferenced point field
fromToStart/end in point field
midPointA point on the circumference

Definition at line 208 of file arcEdge.C.

References blockEdge::firstPoint(), and blockEdge::lastPoint().

Here is the call graph for this function:

◆ arcEdge() [3/5]

arcEdge ( const pointField points,
const point origin,
const label  from,
const label  to 
)

Construct from components, given the origin of the circle.

Parameters
pointsReferenced point field
originThe origin of the circle
fromStart point in point field
toEnd point in point field

Definition at line 224 of file arcEdge.C.

◆ arcEdge() [4/5]

arcEdge ( const pointField points,
const label  from,
const label  to,
const point midPoint 
)

Construct from components, using a point on the circumference.

Parameters
pointsReferenced point field
fromStart point in point field
toEnd point in point field
midPointA point on the circumference

Definition at line 236 of file arcEdge.C.

◆ arcEdge() [5/5]

arcEdge ( const dictionary dict,
const label  index,
const searchableSurfaces ,
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 248 of file arcEdge.C.

References blockEdge::end_, blockEdge::firstPoint(), Foam::Info, token::isWord(), blockEdge::lastPoint(), Foam::nl, token::number(), coordinateSystem::origin(), p, arcEdge::position(), Istream::putBack(), coordinateSystem::rotation(), blockEdge::start_, and coordinateRotation::write().

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 308 of file arcEdge.C.

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

Referenced by arcEdge::arcEdge().

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

◆ length()

Foam::scalar length ( ) const
virtualnoexcept

The length of the curve.

Implements blockEdge.

Definition at line 331 of file arcEdge.C.


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