51 scalar denom = asqr*bsqr - adotb*adotb;
53 if (
mag(denom) < VSMALL)
60 scalar fact = 0.5*(bsqr - adotb)/denom;
62 point centre = 0.5*a + fact*((a ^
b) ^ a);
75 if (((r1 ^ r2) & (r1 ^ r3)) < 0.0)
77 angle_ = 360.0 - angle_;
86 if (
mag(tempAxis)/(
mag(r1)*
mag(r3)) < 0.001)
99 return cylindricalCS(
"arcEdgeCS", centre, tempAxis, r1);
105 Foam::arcEdge::arcEdge
114 p1_(points_[start_]),
124 p1_(points_[start_]),
135 if (lambda < -SMALL || lambda > 1 + SMALL)
138 <<
"Parameter out of range, lambda = " << lambda
146 else if (lambda > 1 - SMALL)
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.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
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.
point globalPosition(const point &local) const
Convert from position in local coordinate system to global.
Macros for easy insertion into run-time selection tables.
scalar degToRad(const scalar deg)
Conversion from degrees to radians.
Cylindrical coordinate system.
point position(const scalar) const
Return the point position corresponding to the curve parameter.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
errorManip< error > abort(error &err)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
vector point
Point is a vector.
dimensionedScalar lambda(laminarTransport.lookup("lambda"))
dimensioned< scalar > mag(const dimensioned< Type > &)
Define a curved edge that is parameterized for 0<lambda<1 between the start and end point...
scalar length() const
Return the length of the curve.