44void Foam::midPointAndFaceSet::genSamples()
48 List<point> mpfSamplePoints(3*
size());
60 mpfSamplePoints[mpfSamplei] =
points()[samplei];
61 mpfSampleCells[mpfSamplei] =
cells_[samplei];
62 mpfSampleFaces[mpfSamplei] =
faces_[samplei];
63 mpfSampleSegments[mpfSamplei] =
segments_[samplei];
64 mpfSampleCurveDist[mpfSamplei] =
distance_[samplei];
69 (samplei <
size() - 1)
78 mpfSamplePoints[mpfSamplei] = midPoint;
79 mpfSampleCells[mpfSamplei] = cellm;
80 mpfSampleFaces[mpfSamplei] = -1;
81 mpfSampleSegments[mpfSamplei] =
segments_[samplei];
82 mpfSampleCurveDist[mpfSamplei] =
83 mag(mpfSamplePoints[mpfSamplei] -
start());
89 mpfSamplePoints[mpfSamplei] =
operator[](samplei+1);
90 mpfSampleCells[mpfSamplei] =
cells_[samplei+1];
91 mpfSampleFaces[mpfSamplei] =
faces_[samplei+1];
92 mpfSampleSegments[mpfSamplei] =
segments_[samplei+1];
93 mpfSampleCurveDist[mpfSamplei] =
94 mag(mpfSamplePoints[mpfSamplei] -
start());
101 if (samplei ==
size() - 1)
108 mpfSamplePoints.setSize(mpfSamplei);
109 mpfSampleCells.setSize(mpfSamplei);
110 mpfSampleFaces.setSize(mpfSamplei);
111 mpfSampleSegments.setSize(mpfSamplei);
112 mpfSampleCurveDist.setSize(mpfSamplei);
117 std::move(mpfSamplePoints),
118 std::move(mpfSampleCells),
119 std::move(mpfSampleFaces),
120 std::move(mpfSampleSegments),
121 std::move(mpfSampleCurveDist)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
label size() const noexcept
The number of elements in the UList.
T & operator[](const label i)
Return element of UList.
scalarList distance_
Cumulative distance for "distance" write specifier.
const pointField & points() const noexcept
Return the points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Sample on faces along a specified path.
const point & start() const
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search.
Mesh consisting of general polyhedral cells.
Holds list of sampling points which is filled at construction time. Various implementations of this b...
labelList faces_
Face numbers (-1 if not known)
void setSamples(const List< point > &samplingPts, const labelList &samplingCells, const labelList &samplingFaces, const labelList &samplingSegments, const scalarList &samplingDistance)
Set sample data. Copy list contents.
label pointInCell(const point &p, const label samplei) const
Return the cell in which the point on the sample line.
labelList segments_
Segment numbers.
labelList cells_
Cell numbers.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
List< label > labelList
A List of labels.
messageStream Info
Information stream (stdout output on master, null elsewhere)
List< scalar > scalarList
A List of scalars.
vector point
Point is a vector.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.