Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh edges. More...
Public Member Functions | |
TypeName ("isoSurfaceTopo") | |
isoSurfaceTopo (const polyMesh &mesh, const scalarField &cellValues, const scalarField &pointValues, const scalar iso, const isoSurfaceParams ¶ms=isoSurfaceParams(), const bitSet &ignoreCells=bitSet()) | |
virtual | ~isoSurfaceTopo ()=default |
const edgeList & | pointToVerts () const noexcept |
virtual tmp< Field< scalar > > | interpolate (const GeometricField< scalar, fvPatchField, volMesh > &cellValues, const Field< scalar > &pointValues) const |
interpolate scalar cellValues, pointValues on iso-surface More... | |
virtual tmp< Field< vector > > | interpolate (const GeometricField< vector, fvPatchField, volMesh > &cellValues, const Field< vector > &pointValues) const |
interpolate vector cellValues, pointValues on iso-surface More... | |
virtual tmp< Field< sphericalTensor > > | interpolate (const GeometricField< sphericalTensor, fvPatchField, volMesh > &cellValues, const Field< sphericalTensor > &pointValues) const |
interpolate sphericalTensor cellValues, pointValues on iso-surface More... | |
virtual tmp< Field< symmTensor > > | interpolate (const GeometricField< symmTensor, fvPatchField, volMesh > &cellValues, const Field< symmTensor > &pointValues) const |
interpolate symmTensor cellValues, pointValues on iso-surface More... | |
virtual tmp< Field< tensor > > | interpolate (const GeometricField< tensor, fvPatchField, volMesh > &cellValues, const Field< tensor > &pointValues) const |
interpolate tensor cellValues, pointValues on iso-surface More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolateTemplate (const Field< Type > &cellData, const Field< Type > &pointData) const |
![]() | |
isoSurfaceBase (const polyMesh &mesh, const scalarField &cellValues, const scalarField &pointValues, const scalar iso, const isoSurfaceParams ¶ms=isoSurfaceParams()) | |
const polyMesh & | mesh () const noexcept |
const scalarField & | cellValues () const noexcept |
const scalarField & | pointValues () const noexcept |
scalar | isoValue () const noexcept |
const labelList & | meshCells () const noexcept |
labelList & | meshCells () noexcept |
label | blockCells (UList< cutType > &cuts, const bitSet &ignoreCells) const |
label | blockCells (UList< cutType > &cuts, const boundBox &bb, const volumeType::type volType) const |
void | ignoreCyclics () |
label | calcCellCuts (List< cutType > &cuts) const |
cutType | getFaceCutType (const label facei) const |
cutType | getCellCutType (const label celli) const |
![]() | |
ClassName ("MeshedSurface") | |
MeshedSurface () | |
MeshedSurface (const MeshedSurface &surf) | |
MeshedSurface (const UnsortedMeshedSurface< Face > &surf) | |
MeshedSurface (MeshedSurface &&surf) | |
MeshedSurface (UnsortedMeshedSurface< Face > &&surf) | |
MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const UList< surfZone > &zoneLst) | |
MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const UList< surfZone > &zoneLst) | |
MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
MeshedSurface (const polyBoundaryMesh &bMesh, const bool globalPoints=false) | |
MeshedSurface (const surfMesh &mesh) | |
MeshedSurface (const fileName &name) | |
MeshedSurface (const fileName &name, const word &fileType) | |
MeshedSurface (Istream &is) | |
MeshedSurface (const Time &runTime) | |
MeshedSurface (const Time &runTime, const word &surfName) | |
MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name)) | |
virtual | ~MeshedSurface () |
declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt, const dictionary &options),(name, surf, streamOpt, options)) | |
label | size () const |
const List< Face > & | surfFaces () const |
const labelList & | faceIds () const |
const surfZoneList & | surfZones () const |
const vectorField & | Sf () const |
const scalarField & | magSf () const |
const vectorField & | Cf () const |
virtual void | clear () |
virtual void | addZones (const UList< surfZone > &, const bool cullEmpty=false) |
virtual void | addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false) |
virtual void | addZones (const labelUList &sizes, const bool cullEmpty=false) |
bool | addZonesToFaces () |
virtual void | removeZones () |
virtual void | movePoints (const pointField &newPoints) |
virtual void | scalePoints (const scalar scaleFactor) |
virtual void | cleanup (const bool verbose) |
virtual void | compactPoints (labelList &pointMap=const_cast< labelList & >(labelList::null())) |
virtual bool | stitchFaces (const scalar tol=SMALL, const bool verbose=false) |
virtual bool | checkFaces (const bool verbose=false) |
virtual label | nTriangles () const |
virtual label | nTriangles (labelList &faceMap) const |
virtual label | triangulate () |
virtual label | triangulate (labelList &faceMap) |
template<class BoolListType > | |
void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
MeshedSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
MeshedSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
MeshedSurface | subsetMesh (const UList< bool > &include) const |
MeshedSurface | subsetMesh (const bitSet &include) const |
MeshedSurface | subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const |
void | swap (MeshedSurface< Face > &surf) |
void | transfer (pointField &pointLst, List< Face > &faceLst) |
void | transfer (MeshedSurface< Face > &surf) |
void | transfer (UnsortedMeshedSurface< Face > &surf) |
autoPtr< MeshedSurface< Face > > | releaseGeom () |
void | swapFaces (List< Face > &faces) |
void | swapPoints (pointField &points) |
bool | read (const fileName &name, const word &fileType) |
virtual bool | read (const fileName &name) |
void | writeStats (Ostream &os) const |
virtual void | write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
virtual void | write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
void | write (const Time &runTime, const word &surfName=word::null) const |
void | operator= (const MeshedSurface< Face > &surf) |
void | operator= (MeshedSurface< Face > &&surf) |
operator MeshedSurfaceProxy< Face > () const | |
template<class Face > | |
MeshedSurface () | |
template<class Face > | |
MeshedSurface (const MeshedSurface< Face > &surf) | |
template<class Face > | |
MeshedSurface (const UnsortedMeshedSurface< Face > &surf) | |
template<class Face > | |
MeshedSurface (MeshedSurface< Face > &&surf) | |
template<class Face > | |
MeshedSurface (UnsortedMeshedSurface< Face > &&surf) | |
template<class Face > | |
MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const UList< surfZone > &zoneLst) | |
template<class Face > | |
MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const UList< surfZone > &zoneLst) | |
template<class Face > | |
MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const labelUList &zoneSizes, const UList< word > &zoneNames) | |
template<class Face > | |
MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const labelUList &zoneSizes, const UList< word > &zoneNames) | |
template<class Face > | |
MeshedSurface (const surfMesh &mesh) | |
template<class Face > | |
MeshedSurface (const polyBoundaryMesh &bMesh, const bool useGlobalPoints) | |
template<class Face > | |
MeshedSurface (const fileName &name, const word &fileType) | |
template<class Face > | |
MeshedSurface (const fileName &name) | |
template<class Face > | |
MeshedSurface (Istream &is) | |
template<class Face > | |
MeshedSurface (const Time &runTime) | |
template<class Face > | |
MeshedSurface (const Time &runTime, const word &surfName) | |
template<class Face > | |
MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal) | |
bool | addZonesToFaces () |
bool | addZonesToFaces () |
![]() | |
isoSurfaceParams (const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept | |
isoSurfaceParams (const dictionary &dict, const isoSurfaceParams ¶ms=isoSurfaceParams()) | |
isoSurfaceParams (const dictionary &dict, const algorithmType algo, const filterType filter=filterType::DIAGCELL) | |
algorithmType | algorithm () const noexcept |
void | algorithm (algorithmType algo) noexcept |
filterType | filter () const noexcept |
void | filter (filterType fltr) noexcept |
bool | snap () const noexcept |
void | snap (bool on) noexcept |
scalar | mergeTol () const noexcept |
void | mergeTol (const scalar relTol) noexcept |
const boundBox & | getClipBounds () const noexcept |
boundBox & | getClipBounds () noexcept |
void | setClipBounds (const boundBox &bb) |
void | print (Ostream &os) const |
Protected Member Functions | |
void | inplaceSubsetMesh (const bitSet &include) |
template<class Type > | |
tmp< Field< Type > > | interpolateTemplate (const Field< Type > &cellData, const Field< Type > &pointData) const |
![]() | |
template<class Type > | |
tmp< Field< Type > > | interpolateTemplate (const GeometricField< Type, fvPatchField, volMesh > &cellValues, const Field< Type > &pointValues) const |
isoSurfaceBase (const isoSurfaceBase &)=delete | |
void | operator= (const isoSurfaceBase &)=delete |
![]() | |
void | transcribe (MeshedSurface< face > &surf) |
void | checkZones (const bool verbose=true) |
pointField & | storedPoints () |
List< Face > & | storedFaces () |
labelList & | storedFaceIds () |
surfZoneList & | storedZones () |
void | sortFacesAndStore (DynamicList< Face > &unsortedFaces, DynamicList< label > &zoneIds, DynamicList< label > &elemIds, bool sorted) |
virtual void | remapFaces (const labelUList &faceMapNewToOld) |
void | transcribe (MeshedSurface< face > &surf) |
void | transcribe (MeshedSurface< face > &surf) |
void | transcribe (MeshedSurface< face > &surf) |
Additional Inherited Members | |
![]() | |
enum | cutType : uint8_t { NOTCUT = 0, CUT = 0x1, TETCUT = 0x2, SPHERE = 0x4, ANYCUT = 0xF, UNVISITED = 0x10, BLOCKED = 0x20, SPECIAL = 0xF0 } |
enum | algorithmType |
enum | filterType |
![]() | |
typedef Face | face_type |
typedef point | point_type |
![]() | |
enum | algorithmType : uint8_t { ALGO_DEFAULT = 0, ALGO_TOPO, ALGO_CELL, ALGO_POINT } |
enum | filterType : uint8_t { NONE = 0, CELL, DIAGCELL, NONMANIFOLD, PARTIAL = CELL, FULL = DIAGCELL, CLEAN = NONMANIFOLD } |
![]() | |
static autoPtr< isoSurfaceBase > | New (const isoSurfaceParams ¶ms, const volScalarField &cellValues, const scalarField &pointValues, const scalar iso, const bitSet &ignoreCells=bitSet()) |
static void | resetCuts (UList< cutType > &cuts) |
![]() | |
static wordHashSet | readTypes () |
static wordHashSet | writeTypes () |
static bool | canReadType (const word &fileType, bool verbose=false) |
static bool | canWriteType (const word &fileType, bool verbose=false) |
static bool | canRead (const fileName &name, bool verbose=false) |
static autoPtr< MeshedSurface > | New (const fileName &name, const word &fileType, bool mandatory=true) |
static autoPtr< MeshedSurface > | New (const fileName &name) |
static void | write (const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
static void | write (const fileName &name, const word &fileType, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
![]() | |
static algorithmType | getAlgorithmType (const dictionary &dict, const algorithmType deflt) |
static filterType | getFilterType (const dictionary &dict, const filterType deflt) |
![]() | |
static const Enum< algorithmType > | algorithmNames |
static const Enum< filterType > | filterNames |
![]() | |
typedef meshedSurface | Mesh |
typedef cutType | cellCutType |
![]() | |
static label | countCutType (const UList< cutType > &cuts, const uint8_t maskValue) |
![]() | |
const polyMesh & | mesh_ |
const scalarField & | cVals_ |
const scalarField & | pVals_ |
const scalar | iso_ |
bitSet | ignoreBoundaryFaces_ |
labelList | meshCells_ |
Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh edges.
Definition at line 55 of file isoSurfaceTopo.H.
isoSurfaceTopo | ( | const polyMesh & | mesh, |
const scalarField & | cellValues, | ||
const scalarField & | pointValues, | ||
const scalar | iso, | ||
const isoSurfaceParams & | params = isoSurfaceParams() , |
||
const bitSet & | ignoreCells = bitSet() |
||
) |
Definition at line 902 of file isoSurfaceTopo.C.
References vtuCells::addPointCellLabels(), polyMeshTetDecomposition::adjustTetBasePtIs(), BLOCKED, polyMesh::bounds(), List::clear(), DynamicList::clearStorage(), bitSet::count(), Foam::expressions::patchExpr::debug, Foam::dimless, Foam::constant::electromagnetic::e, PrimitivePatch< FaceList, PointField >::edgeFaces(), PrimitivePatch< FaceList, PointField >::edges(), Foam::endl(), f(), isoSurfaceParams::filter(), isoSurfaceParams::filterNames, forAll, isoSurfaceParams::getClipBounds(), Foam::getMeshPointRef(), Foam::identity(), Foam::Info, Foam::inplaceSubset(), HashSet::insert(), boundBox::mag(), mesh, PrimitivePatch< FaceList, PointField >::meshPoints(), Foam::minMax(), Foam::constant::atomic::mp, primitiveMesh::nCells(), vtuSizing::nFieldPoints(), primitiveMesh::nInternalFaces(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, volumeType::OUTSIDE, points, Foam::Pout, GeometricField::primitiveFieldRef(), word::printf(), vtuCells::reset(), vtuCells::resetShapes(), List::resize(), PackedList::resize(), Foam::returnReduce(), s, edge::second(), bitSet::set(), vtuSizing::setNumPoints(), MeshedSurface::size(), bitSet::test(), writer< Type >::write(), writer(), and Foam::Zero.
|
virtualdefault |
|
protected |
Definition at line 1611 of file isoSurfaceTopo.C.
References Foam::faceMap().
|
protected |
TypeName | ( | "isoSurfaceTopo" | ) |
|
inlinenoexcept |
Definition at line 246 of file isoSurfaceTopo.H.
|
virtual |
interpolate scalar cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
|
virtual |
interpolate vector cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
Definition at line 39 of file isoSurfaceTopo.C.
|
virtual |
interpolate sphericalTensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
Definition at line 39 of file isoSurfaceTopo.C.
|
virtual |
interpolate symmTensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
Definition at line 39 of file isoSurfaceTopo.C.
|
virtual |
interpolate tensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
Definition at line 39 of file isoSurfaceTopo.C.
Foam::tmp<Foam::Field<Type> > interpolateTemplate | ( | const Field< Type > & | cellData, |
const Field< Type > & | pointData | ||
) | const |
Definition at line 27 of file isoSurfaceTopoTemplates.C.
References fld, forAll, Foam::mag(), Foam::New(), s, and edge::second().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.