isoSurfaceParams Class Reference

Preferences for controlling iso-surface algorithms. More...

Inheritance diagram for isoSurfaceParams:
[legend]
Collaboration diagram for isoSurfaceParams:
[legend]

Public Types

enum  algorithmType : uint8_t { ALGO_DEFAULT = 0 , ALGO_TOPO , ALGO_CELL , ALGO_POINT }
 The algorithm types. More...
 
enum class  filterType : uint8_t {
  NONE = 0 , CELL , DIAGCELL , NONMANIFOLD ,
  PARTIAL = CELL , FULL = DIAGCELL , CLEAN = NONMANIFOLD
}
 The filtering (regularization) to apply. More...
 

Public Member Functions

 isoSurfaceParams (const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept
 Default construct, or with specified algorithm. More...
 
 isoSurfaceParams (const dictionary &dict, const isoSurfaceParams &params=isoSurfaceParams())
 Default construct, setting parameters from dictionary. More...
 
 isoSurfaceParams (const dictionary &dict, const algorithmType algo, const filterType filter=filterType::DIAGCELL)
 Default construct, setting parameters from dictionary. More...
 
algorithmType algorithm () const noexcept
 Get current algorithm. More...
 
void algorithm (algorithmType algo) noexcept
 Set algorithm. More...
 
filterType filter () const noexcept
 Get current filter type. More...
 
void filter (filterType fltr) noexcept
 Set filter type. More...
 
bool snap () const noexcept
 Get point snapping flag. More...
 
void snap (bool on) noexcept
 Set point snapping flag. More...
 
scalar mergeTol () const noexcept
 Get current merge tolerance. More...
 
void mergeTol (const scalar relTol) noexcept
 Set merge tolerance (cell/point algo) More...
 
const boundBoxgetClipBounds () const noexcept
 Get optional clipping bounding box. More...
 
boundBoxgetClipBounds () noexcept
 Access optional clipping bounding box. More...
 
void setClipBounds (const boundBox &bb)
 Set optional clipping bounding box. More...
 
void print (Ostream &os) const
 Print information about the settings. More...
 

Static Public Member Functions

static algorithmType getAlgorithmType (const dictionary &dict, const algorithmType deflt)
 Get 'isoMethod' or 'isoAlgorithm' as enumeration. More...
 
static filterType getFilterType (const dictionary &dict, const filterType deflt)
 Get 'regularise' as bool or enumeration. More...
 

Static Public Attributes

static const Enum< algorithmTypealgorithmNames
 Names for the iso-surface algorithms. More...
 
static const Enum< filterTypefilterNames
 Names for the filtering types. More...
 

Detailed Description

Preferences for controlling iso-surface algorithms.

Some common dictionary properties:

Property Description Required Default
isoMethod Algorithm (cell/topo/point/default) no default
regularise Face simplification (enum or bool) no true
mergeTol Point merge tolerance (cell/point) no 1e-6
snap Point snapping (topo) no true
bounds Optional clip bounds no inverted

The default algorithm denotes the use of the current standard algorithm.

Filtering types (for topological iso-surface)

  • none : leave tet cuts untouched
  • partial , cell : Combine intra-cell faces
  • full , diagcell : Perform partial and remove face-diagonal points
  • clean : Perform full and eliminate open edges as well. (May cause excessive erosion!)
Source files

Definition at line 107 of file isoSurfaceParams.H.

Member Enumeration Documentation

◆ algorithmType

enum algorithmType : uint8_t

The algorithm types.

Enumerator
ALGO_DEFAULT 

Use current 'standard' algorithm.

ALGO_TOPO 
ALGO_CELL 
ALGO_POINT 

Definition at line 114 of file isoSurfaceParams.H.

◆ filterType

enum class filterType : uint8_t
strong

The filtering (regularization) to apply.

Enumerator
NONE 

No filtering.

CELL 

Remove pyramid edge points.

DIAGCELL 

Remove pyramid edge points, face-diagonals.

NONMANIFOLD 

Remove pyramid edge points, face-diagonals and non-manifold faces

PARTIAL 

Same as CELL.

FULL 

Same as DIAGCELL.

CLEAN 

Same as NONMANIFOLD.

Definition at line 123 of file isoSurfaceParams.H.

Constructor & Destructor Documentation

◆ isoSurfaceParams() [1/3]

isoSurfaceParams ( const algorithmType  algo = algorithmType::ALGO_DEFAULT,
const filterType  filter = filterType::DIAGCELL 
)
explicitnoexcept

Default construct, or with specified algorithm.

Definition at line 134 of file isoSurfaceParams.C.

◆ isoSurfaceParams() [2/3]

isoSurfaceParams ( const dictionary dict,
const isoSurfaceParams params = isoSurfaceParams() 
)
explicit

Default construct, setting parameters from dictionary.

Definition at line 148 of file isoSurfaceParams.C.

References dict, isoSurfaceParams::getAlgorithmType(), isoSurfaceParams::getFilterType(), dictionary::getOrDefault(), and dictionary::readIfPresent().

Here is the call graph for this function:

◆ isoSurfaceParams() [3/3]

isoSurfaceParams ( const dictionary dict,
const algorithmType  algo,
const filterType  filter = filterType::DIAGCELL 
)
explicit

Default construct, setting parameters from dictionary.

Definition at line 164 of file isoSurfaceParams.C.

Member Function Documentation

◆ getAlgorithmType()

Foam::isoSurfaceParams::algorithmType getAlgorithmType ( const dictionary dict,
const algorithmType  deflt 
)
static

Get 'isoMethod' or 'isoAlgorithm' as enumeration.

Definition at line 67 of file isoSurfaceParams.C.

References dict, and dictionary::readIfPresentCompat().

Referenced by isoSurfaceParams::isoSurfaceParams().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFilterType()

Foam::isoSurfaceParams::filterType getFilterType ( const dictionary dict,
const filterType  deflt 
)
static

Get 'regularise' as bool or enumeration.

Definition at line 99 of file isoSurfaceParams.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Switch::find(), Switch::good(), keyType::LITERAL, Foam::nl, and dictionary::readIfPresent().

Referenced by isoSurfaceParams::isoSurfaceParams().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ algorithm() [1/2]

algorithmType algorithm ( ) const
inlinenoexcept

Get current algorithm.

Definition at line 213 of file isoSurfaceParams.H.

Referenced by isoSurfaceBase::New(), sampledCuttingPlane::sampledCuttingPlane(), and sampledIsoSurface::sampledIsoSurface().

Here is the caller graph for this function:

◆ algorithm() [2/2]

void algorithm ( algorithmType  algo)
inlinenoexcept

Set algorithm.

Definition at line 219 of file isoSurfaceParams.H.

◆ filter() [1/2]

filterType filter ( ) const
inlinenoexcept

Get current filter type.

Definition at line 225 of file isoSurfaceParams.H.

Referenced by isoSurfaceCell::isoSurfaceCell(), isoSurfacePoint::isoSurfacePoint(), isoSurfaceTopo::isoSurfaceTopo(), and sampledIsoSurface::sampledIsoSurface().

Here is the caller graph for this function:

◆ filter() [2/2]

void filter ( filterType  fltr)
inlinenoexcept

Set filter type.

Definition at line 231 of file isoSurfaceParams.H.

◆ snap() [1/2]

bool snap ( ) const
inlinenoexcept

Get point snapping flag.

Definition at line 237 of file isoSurfaceParams.H.

Referenced by isoSurfaceTopo::isoSurfaceTopo().

Here is the caller graph for this function:

◆ snap() [2/2]

void snap ( bool  on)
inlinenoexcept

Set point snapping flag.

Definition at line 243 of file isoSurfaceParams.H.

◆ mergeTol() [1/2]

scalar mergeTol ( ) const
inlinenoexcept

Get current merge tolerance.

Definition at line 249 of file isoSurfaceParams.H.

Referenced by isoSurfaceCell::isoSurfaceCell(), and isoSurfacePoint::isoSurfacePoint().

Here is the caller graph for this function:

◆ mergeTol() [2/2]

void mergeTol ( const scalar  relTol)
inlinenoexcept

Set merge tolerance (cell/point algo)

Definition at line 255 of file isoSurfaceParams.H.

◆ getClipBounds() [1/2]

const boundBox & getClipBounds ( ) const
inlinenoexcept

Get optional clipping bounding box.

Definition at line 261 of file isoSurfaceParams.H.

Referenced by isoSurfaceCell::isoSurfaceCell(), isoSurfacePoint::isoSurfacePoint(), and isoSurfaceTopo::isoSurfaceTopo().

Here is the caller graph for this function:

◆ getClipBounds() [2/2]

boundBox & getClipBounds ( )
inlinenoexcept

Access optional clipping bounding box.

Definition at line 267 of file isoSurfaceParams.H.

◆ setClipBounds()

void setClipBounds ( const boundBox bb)

Set optional clipping bounding box.

Definition at line 177 of file isoSurfaceParams.C.

◆ print()

void print ( Ostream os) const

Print information about the settings.

Definition at line 183 of file isoSurfaceParams.C.

References os().

Here is the call graph for this function:

Member Data Documentation

◆ algorithmNames

const Foam::Enum< Foam::isoSurfaceParams::algorithmType > algorithmNames
static

Names for the iso-surface algorithms.

Definition at line 162 of file isoSurfaceParams.H.

◆ filterNames

const Foam::Enum< Foam::isoSurfaceParams::filterType > filterNames
static

Names for the filtering types.

Definition at line 165 of file isoSurfaceParams.H.

Referenced by isoSurfaceTopo::isoSurfaceTopo().


The documentation for this class was generated from the following files: