A blockEdge defined as an arc of a circle. More...
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< blockEdge > | clone () 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 point & | firstPoint () const |
The location of the first point. More... | |
const point & | lastPoint () 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< pointField > | position (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< blockEdge > | New (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 pointField & | points_ |
The referenced point field. More... | |
const label | start_ |
Index of the first point. More... | |
const label | end_ |
Index of the last point. More... | |
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);
arcEdge | ( | const pointField & | points, |
const point & | origin, | ||
const edge & | fromTo | ||
) |
Construct from components, given the origin of the circle.
points | Referenced point field |
origin | The origin of the circle |
fromTo | Start/end in point field |
Definition at line 192 of file arcEdge.C.
References blockEdge::firstPoint(), and blockEdge::lastPoint().
arcEdge | ( | const pointField & | points, |
const edge & | fromTo, | ||
const point & | midPoint | ||
) |
Construct from components, using a point on the circumference.
points | Referenced point field |
fromTo | Start/end in point field |
midPoint | A point on the circumference |
Definition at line 208 of file arcEdge.C.
References blockEdge::firstPoint(), and blockEdge::lastPoint().
arcEdge | ( | const pointField & | points, |
const point & | origin, | ||
const label | from, | ||
const label | to | ||
) |
arcEdge | ( | const pointField & | points, |
const label | from, | ||
const label | to, | ||
const point & | midPoint | ||
) |
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.
points | Referenced 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().
|
virtualdefault |
Destructor.
TypeName | ( | "arc" | ) |
Runtime type information.
|
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().
|
virtualnoexcept |