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);
75 const scalar cosAngle = (r3 & r1)/(
mag(r3) *
mag(r1));
79 if (((r1 ^ r2) & (r1 ^ r3)) < 0.0)
81 angle_ = 360.0 - angle_;
90 if (
mag(tempAxis)/(
mag(r1)*
mag(r3)) < 0.001)
118 p1_(points_[start_]),
135 p1_(points_[start_]),
146 if (lambda < -small || lambda > 1 + small)
149 <<
"Parameter out of range, lambda = " << lambda
157 else if (lambda > 1 - small)
163 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...
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#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.
arcEdge(const pointField &points, const label start, const label end, const point &pMid)
Construct from components.
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)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
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.