Ray search engine based on discretising space into uniform voxels. More...
Public Member Functions | |
TypeName ("voxel") | |
Runtime type information. More... | |
voxel (const fvMesh &mesh, const dictionary &dict) | |
Constructor. More... | |
virtual | ~voxel ()=default |
Destructor. More... | |
labelVector | nijk () const noexcept |
label | nVoxel () const noexcept |
label | voxeli (const labelVector ijk) const noexcept |
label | voxeli (const label i, const label j, const label k) const noexcept |
labelVector | ijk (const label voxeli) const noexcept |
pointIndexHit | hit (const point &origin, const vector &dir) const |
pointIndexHit | hit (const label tri0, const vector &dir) const |
virtual void | shootRays (labelList &rayStartFaceOut, labelList &rayEndFaceOut) const |
Shoot rays; returns lists of ray start and end faces. More... | |
Public Member Functions inherited from raySearchEngine | |
TypeName ("raySearchEngine") | |
Run-time type information. More... | |
declareRunTimeSelectionTable (autoPtr, raySearchEngine, mesh,(const fvMesh &mesh, const dictionary &dict),(mesh, dict)) | |
Selection table. More... | |
raySearchEngine (const raySearchEngine &)=delete | |
No copy construct. More... | |
void | operator= (const raySearchEngine &)=delete |
No copy assignment. More... | |
raySearchEngine (const fvMesh &mesh, const dictionary &dict) | |
Constructor. More... | |
virtual | ~raySearchEngine ()=default |
Destructor. More... | |
const fvMesh & | mesh () const noexcept |
Reference to the mesh. More... | |
const mapDistribute & | map () const |
Parallel map. More... | |
const labelList & | compactToGlobal () const noexcept |
Compact to global addressing. More... | |
const globalIndex & | globalNumbering () const noexcept |
Global numbering. More... | |
const labelList & | patchIDs () const noexcept |
List of participating patch IDs. More... | |
const scalarList & | patchAreas () const noexcept |
Patch areas. More... | |
label | nParticipatingFaces () const |
Number of participating faces. More... | |
const List< pointField > & | allCf () const noexcept |
List of all face centres per processor. More... | |
const List< vectorField > & | allSf () const noexcept |
List of all face areas per processor. More... | |
const List< labelField > & | allAgg () const noexcept |
List of all face agglomeration index per processor. More... | |
virtual void | correct (labelListList &visibleFaceFaces) const |
Correct. More... | |
void | compactAddressing (const mapDistribute &map, pointField &compactCf, vectorField &compactSf, List< List< vector >> &compactFineSf, List< List< point >> &compactFineCf, DynamicList< List< point >> &compactPoints, DynamicList< label > &compactPatchId) const |
Create compact addressing. More... | |
template<class Type > | |
void | interpolate (GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< Type >> &values) const |
Interpolate field. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from raySearchEngine | |
static autoPtr< raySearchEngine > | New (const fvMesh &mesh, const dictionary &dict) |
Selector. More... | |
Static Public Attributes inherited from raySearchEngine | |
static const label | maxDynListLength |
Protected Member Functions inherited from raySearchEngine | |
void | createGeometry () |
Create patch geometry based on the original mesh. More... | |
void | createParallelAddressing (labelList &rayEndFace) const |
Create parallel addressing - map, compact-to-global. More... | |
coordSystem::cartesian | createCoordSystem (const point &origin, const vector &dir) const |
Create Cartesian co-ordinate system. More... | |
void | createAgglomeration (const IOobject &io) |
Create patch geometry based on the agglomerated mesh. More... | |
tmp< pointField > | createHemiPoints (const label nRayPerFace) const |
Create a set of points describing a hemisphere. More... | |
Static Protected Member Functions inherited from raySearchEngine | |
static void | check (const labelList &nVisibleFaceFaces) |
static label | closestPointIndex (const point &p0, const List< point > &pts) |
Protected Attributes inherited from raySearchEngine | |
const fvMesh & | mesh_ |
Reference to the mesh. More... | |
autoPtr< mapDistribute > | mapPtr_ |
Parallel map. More... | |
labelList | compactToGlobal_ |
Compact to global addressing. More... | |
globalIndex | globalNumbering_ |
Global numbering. More... | |
const word | patchGroup_ |
Name of patch group to identify participating patches. More... | |
labelList | patchIDs_ |
List of participating patch IDs. More... | |
scalarList | patchAreas_ |
Patch areas. More... | |
bool | agglomerate_ |
Agglomeration flag. More... | |
autoPtr< singleCellFvMesh > | agglomMeshPtr_ |
Agglomerated mesh representation. More... | |
label | nFace_ |
Number of original faces. More... | |
label | nCoarseFace_ |
Number of coarse faces. More... | |
List< pointField > | allCf_ |
List of all face centres per processor. More... | |
List< vectorField > | allSf_ |
List of all face areas per processor. More... | |
List< labelField > | allAgg_ |
List of all face agglomeration index per processor. More... | |
Ray search engine based on discretising space into uniform voxels.
Voxels are refined using 2x2x2 refinement.
The number of rays per face is supplied by the user, whereby rays are issued uniformly across a hemisphere.
<constant>/viewFactorsDict: // Mandatory entries nRayPerFace <label>; // Optional entries nTriPerVoxelMax <label>; depthMax <label>; // Inherited entries ...
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
nRayPerFace | Number of rays issued per face | label | yes | - |
nRayPerFace | Target number of triangles per voxel | label | no | 50 |
depthMax | Maximum voxel refinement depth | label | no | 5 |
The inherited entries are elaborated in:
Definition at line 110 of file voxelRaySearchEngine.H.
voxel | ( | const fvMesh & | mesh, |
const dictionary & | dict | ||
) |
Constructor.
|
virtualdefault |
Destructor.
TypeName | ( | "voxel" | ) |
Runtime type information.
|
inlinenoexcept |
Definition at line 103 of file voxelRaySearchEngineI.H.
|
inlinenoexcept |
Definition at line 109 of file voxelRaySearchEngineI.H.
|
inlinenoexcept |
Definition at line 116 of file voxelRaySearchEngineI.H.
|
inlinenoexcept |
Definition at line 125 of file voxelRaySearchEngineI.H.
References k.
|
inlinenoexcept |
Definition at line 135 of file voxelRaySearchEngineI.H.
References k.
pointIndexHit hit | ( | const point & | origin, |
const vector & | dir | ||
) | const |
pointIndexHit hit | ( | const label | tri0, |
const vector & | dir | ||
) | const |
Shoot rays; returns lists of ray start and end faces.
Implements raySearchEngine.