33 const scalar segmentLambdaArg
37 if (segmenti < 0)
return start();
46 segmenti == 0 ? 2*p0 - p1 :
knots()[segmenti - 1];
51 const scalar segmentLambda =
52 min(
max(segmentLambdaArg, scalar(0)), scalar(1));
55 const vector A = -pMinus1 + 3*p0 - 3*p1 + p2;
56 const vector B = 3*pMinus1 - 6*p0 + 3*p1;
57 const vector C = -3*pMinus1 + 3*p1;
58 const vector D = pMinus1 + 4*p0 + p1;
59 return (segmentLambda*(segmentLambda*(segmentLambda*
A +
B) +
C) +
D)/6;
point position(const label segmenti, const scalar segmentLambda) const
Return the point position corresponding to the segment parameter.
Graphite solid properties.
label nSegments() const
Return the number of segments.
const point & start() const
Return the start point.
const pointField & knots() const
Access the end points and control points.
const point & end() const
Return the end point.
static const coefficient D("D", dimTemperature, 257.14)
static const coefficient B("B", dimless, 18.678)
static const coefficient A("A", dimPressure, 611.21)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)