70 #ifndef Foam_vf_voxelRaySearchEngine_H 71 #define Foam_vf_voxelRaySearchEngine_H 93 public raySearchEngine
116 const label nRayPerFace_;
119 const label nTriPerVoxelMax_;
122 const label depthMax_;
133 inline bool outOfBounds(
const labelVector&
ijk,
const label dir)
const;
135 inline point localPosition(
const vector& globalPosition)
const;
137 inline point globalPosition(
const vector& localPosition)
const;
139 inline void setVoxelDims(
const label i,
const label j,
const label
k);
141 inline void refineVoxelDims();
143 inline point voxelMin
150 inline point voxelMax
157 inline constexpr label sign0(
const scalar
x)
const;
170 void setCoarseTriangulation(
const fvMesh&
mesh);
208 const scalar minDistance = 1
e-6
218 void writeVoxels(
const word& fName)
const;
220 void writeTriBoundBoxes(
const word& fName)
const;
239 virtual ~voxel() =
default;
278 #include "voxelRaySearchEngineI.H" label nVoxel() const noexcept
TypeName("voxel")
Runtime type information.
labelVector ijk(const label voxeli) const noexcept
virtual ~voxel()=default
Destructor.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label voxeli(const labelVector ijk) const noexcept
A bounding box defined in terms of min/max extrema points.
This class describes the interaction of an object (often a face) and a point. It carries the info of ...
label k
Boltzmann constant.
const fvMesh & mesh() const noexcept
Reference to the mesh.
const dimensionedScalar e
Elementary charge.
voxel(const fvMesh &mesh, const dictionary &dict)
Constructor.
A class for handling words, derived from Foam::string.
virtual void shootRays(labelList &rayStartFaceOut, labelList &rayEndFaceOut) const
Shoot rays; returns lists of ray start and end faces.
Describes the interaction of a object and a (templated) point. It carries the info of a successful hi...
const labelList & patchIDs() const noexcept
List of participating patch IDs.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
An OFstream that keeps track of vertices and provides convenience output methods for OBJ files...
OBJstream os(runTime.globalPath()/outputName)
pointIndexHit hit(const point &origin, const vector &dir) const
labelVector nijk() const noexcept
Mesh data needed to do the Finite Volume discretisation.
List< label > labelList
A List of labels.