60 scalar spanU(upperBounds.x() - lowerBounds.x());
61 scalar spanV(upperBounds.y() - lowerBounds.y());
62 scalar spanW(upperBounds.z() - lowerBounds.z());
65 for (label iCPw = 0; iCPw < nCPsW; ++iCPw)
67 for (label iCPv = 0; iCPv < nCPsV; ++iCPv)
69 for (label iCPu = 0; iCPu < nCPsU; ++iCPu)
74 lowerBounds.x() + scalar(iCPu)/scalar(nCPsU - 1)*spanU,
75 lowerBounds.y() + scalar(iCPv)/scalar(nCPsV - 1)*spanV,
76 lowerBounds.z() + scalar(iCPw)/scalar(nCPsW - 1)*spanW
86 Foam::axisAligned::axisAligned(NURBS3DVolume& box)
88 controlPointsDefinition(box)
Macros for easy insertion into run-time selection tables.
void setSize(const label n)
Alias for resize()
const dictionary & dict() const
Get dictionary.
const NURBSbasis & basisV() const
label getCPID(const label i, const label j, const label k) const
Get control point ID from its I-J-K coordinates.
const NURBSbasis & basisW() const
const NURBSbasis & basisU() const
Get basis functions.
const label & nCPs() const
Defines control points aligned with coordinate system.
virtual void computeControlPoints()
Compute control points.
Abstract base for selecting how to construct the control points of a volumetric B-Splines morpher.
vectorField & cps_
The volumetric B-Splines control points.
NURBS3DVolume & box_
The volumetric B-Splines box.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T. FatalIOError if not found, or if the number of tokens is incorrect.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
defineTypeNameAndDebug(combustionModel, 0)