54 scalar denom = asqr*bsqr - adotb*adotb;
56 if (
mag(denom) < VSMALL)
63 scalar fact = 0.5*(bsqr - adotb)/denom;
65 point centre = 0.5*a + fact*((a ^
b) ^ a);
78 if (((r1 ^ r2) & (r1 ^ r3)) < 0.0)
80 angle_ = 360.0 - angle_;
89 if (
mag(tempAxis)/(
mag(r1)*
mag(r3)) < 0.001)
108 Foam::blockEdges::arcEdge::arcEdge
117 p1_(points_[start_]),
124 Foam::blockEdges::arcEdge::arcEdge
134 p1_(points_[start_]),
145 if (lambda < -SMALL || lambda > 1 + SMALL)
148 <<
"Parameter out of range, lambda = " << lambda
156 else if (lambda > 1 - SMALL)
162 return cs_.globalPosition(
vector(radius_, lambda*angle_, 0.0));
dimensionedScalar acos(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
scalar radToDeg(const scalar rad)
Conversion from radians to degrees.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
point position(const scalar) const
Return the point position corresponding to the curve parameter.
Unit conversion functions.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Vector< scalar > vector
A scalar version of the templated Vector.
Macros for easy insertion into run-time selection tables.
Defines the arcEdge of a circle in terms of 3 points on its circumference.
scalar degToRad(const scalar deg)
Conversion from degrees to radians.
Cylindrical coordinate system.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Container for searchableSurfaces.
errorManip< error > abort(error &err)
defineTypeNameAndDebug(arcEdge, 0)
addToRunTimeSelectionTable(blockEdge, arcEdge, Istream)
Define a curved edge that is parameterized for 0<lambda<1 between the start and end point...
dimensionedScalar lambda(laminarTransport.lookup("lambda"))
dimensioned< scalar > mag(const dimensioned< Type > &)
scalar length() const
Return the length of the curve.