67 point& intersectionPoint
77 const label newFacei =
tree_.shapes().faceLabels()[index];
79 const scalar newDot =
mesh.
faceAreas()[newFacei] & (end - start);
89 hits_[hiti].index() == newFacei
101 treeDataFace::findIntersectOp::operator()
140 mesh.nInternalFaces(),
141 mesh.nFaces() -
mesh.nInternalFaces()
166 boundaryTree().findNearest
171 boundaryTree().bb().
max() - boundaryTree().bb().
min()
177 info = boundaryTree().findNearest(
p,
sqr(great));
180 return boundaryTree().shapes().faceLabels()[info.
index()];
190 pointIndexHit curHit = boundaryTree().findLine(pStart, pEnd);
195 curHit.
setIndex(boundaryTree().shapes().faceLabels()[curHit.
index()]);
216 curHit = boundaryTree().findLine(pStart, pEnd, iop);
217 if (!curHit.
hit())
break;
220 curHit.
setIndex(boundaryTree().shapes().faceLabels()[curHit.
index()]);
#define forAll(list, i)
Loop across all elements in list.
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the...
const polyMesh & mesh() const
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & shrink()
Shrink the allocated space to the number of elements used.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
label index() const
Return index.
bool hit() const
Is there a hit.
void setIndex(const label index)
A face is a list of labels corresponding to mesh vertices.
Non-pointer based hierarchical recursive searching.
const List< pointIndexHit > & hits_
List of current hits.
findUniqueIntersectOp(const indexedOctree< treeDataFace > &tree, const List< pointIndexHit > &hits)
Construct from components.
const indexedOctree< treeDataFace > & tree_
Reference to the boundary tree.
Mesh object that implements searches within the local boundary faces.
pointIndexHit intersection(const point &pStart, const point &pEnd) const
Find the first intersection of the boundary with the line.
label findNearestBoundaryFace(const point &p) const
Find the boundary face with centre closest to the given point.
bool isInside(const point &) const
Determine whether the given point is inside the mesh boundary.
List< pointIndexHit > intersections(const point &pStart, const point &pEnd) const
Find all intersections of the boundary with the line.
virtual ~meshBoundarySearch()
Destructor.
meshBoundarySearch(const polyMesh &mesh)
Construct from mesh.
Mesh object to hold a bound box for use by mesh search engines.
Mesh consisting of general polyhedral cells.
virtual const faceList & faces() const
Return raw faces.
Cell-face mesh analysis engine.
const vectorField & faceAreas() const
findIntersectOp(const indexedOctree< treeDataFace > &tree)
Encapsulation of data needed to search for faces.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
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)
defineTypeNameAndDebug(combustionModel, 0)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
HashSet< label, Hash< label > > labelHashSet
A HashSet with label keys.
void magSqr(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
labelList identityMap(const label len)
Create identity map (map[i] == i) of given length.