40#ifndef refinementSurfaces_H
41#define refinementSurfaces_H
64class refinementSurfaces
149 refinementSurfaces(
const refinementSurfaces&) =
delete;
152 void operator=(
const refinementSurfaces&) =
delete;
164 const label gapLevelIncrement,
213 return regionOffset_;
256 return extendedGapLevel_;
262 return extendedGapMode_;
269 return selfProximity_;
282 return extendedCurvatureLevel_;
288 return perpendicularAngle_;
301 return addBufferLayers_;
308 label
globalRegion(
const label surfI,
const label regionI)
const
310 return regionOffset_[surfI]+regionI;
317 label
minLevel(
const label surfI,
const label regionI)
const
323 label
maxLevel(
const label surfI,
const label regionI)
const
330 return minLevel_.
size();
349 const scalar cosAngle,
350 const scalar level0EdgeLength
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
void size(const label n)
Older name for setAddressableSize.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
labelList maxGapLevel() const
Per surface the maximum extendedGapLevel over all its regions.
const labelList & gapLevel() const
From global region number to small gap refinement level.
label minLevel(const label surfI, const label regionI) const
Min level for surface and region on surface.
const List< volumeType > & extendedGapMode() const
From global region number to side of surface to detect.
void findAllIntersections(const pointField &start, const pointField &end, const labelList ¤tLevel, const labelList &globalMinLevel, const labelList &globalMaxLevel, List< vectorList > &surfaceNormal, labelListList &surfaceLevel) const
Find all intersections of edge with any surface with applicable.
const PtrList< dictionary > & patchInfo() const
From global region number to patch type.
const List< FixedList< label, 4 > > & extendedCurvatureLevel() const
From global region number to specification of curvature.
const labelList & leakLevel() const
From global region number to cell level at which leakage detection is applied. labelMax if not set.
const searchableSurfaces & geometry() const
labelPair whichSurface(const label globalRegionI) const
From global region to surface + region.
const boolList & addBufferLayers() const
From global region number to whether to add buffer layers.
void findNearest(const labelList &surfacesToTest, const pointField &samples, const scalarField &nearestDistSqr, labelList &surfaces, List< pointIndexHit > &) const
Find nearest point on surfaces.
labelList maxCurvatureLevel() const
Per surface the maximum curvatureLevel over all its regions.
const wordList & names() const
Names of surfaces.
label globalRegion(const label surfI, const label regionI) const
From surface and region on surface to global region.
label maxLevel(const label surfI, const label regionI) const
Max level for surface and region on surface.
const boolList & gapSelf() const
From global region number to whether to detect gaps to same.
const labelList & surfaces() const
void findInside(const labelList &surfacesToTest, const pointField &pt, labelList &insideSurfaces) const
Detect if a point is 'inside' (closed) surfaces.
void findNearestRegion(const labelList &surfacesToTest, const pointField &samples, const scalarField &nearestDistSqr, labelList &hitSurface, labelList &hitRegion) const
Find nearest point on surfaces. Return surface and region on.
const labelList & blockLevel() const
From global region number to cell level at which blockage detection is applied.
const List< FixedList< label, 3 > > & extendedGapLevel() const
From global region number to specification of gap and its.
void setCurvatureMinLevelFields(const scalar cosAngle, const scalar level0EdgeLength)
Update minLevelFields according to (triSurface-only) curvature.
void findAnyIntersection(const pointField &start, const pointField &end, labelList &surfaces, List< pointIndexHit > &) const
Used for debugging only: find intersection of edge.
const labelList & minLevel() const
From global region number to refinement level.
const labelList & maxLevel() const
From global region number to refinement level.
void findHigherIntersection(const shellSurfaces &shells, const pointField &start, const pointField &end, const labelList ¤tLevel, labelList &surfaces, labelList &surfaceLevel) const
Find intersection of edge. Return -1 or first surface.
void findNearestIntersection(const labelList &surfacesToTest, const pointField &start, const pointField &end, labelList &surface1, List< pointIndexHit > &hit1, labelList ®ion1, labelList &surface2, List< pointIndexHit > &hit2, labelList ®ion2) const
Find intersection nearest to the endpoints. surface1,2 are.
void setMinLevelFields(const shellSurfaces &shells)
Calculate minLevelFields according to both surface- and.
const scalarField & perpendicularAngle() const
From global region number to perpendicular angle.
const PtrList< surfaceZonesInfo > & surfZones() const
const labelList & regionOffset() const
From surface to starting global region.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
Container for searchableSurfaces. The collection is specified as a dictionary. For example,...
Encapsulates queries for volume refinement ('refine all cells within shell').
Contains information about location on a triSurface.
IOoject and searching on triSurface.
Pair< label > labelPair
A pair of labels.
List< word > wordList
List of word.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
List< bool > boolList
A List of bools.
vectorField pointField
pointField is a vectorField.
scalarField samples(nIntervals, Zero)