Loading...
Searching...
No Matches
bitpit::LevelSetComplementObject< LevelSetObject > Class Reference
Inheritance diagram for bitpit::LevelSetComplementObject< LevelSetObject >:
Collaboration diagram for bitpit::LevelSetComplementObject< LevelSetObject >:

Public Member Functions

 LevelSetComplementObject (int id, const LevelSetObject *source)
 
LevelSetComplementObject< LevelSetObject > * clone () const override
 
- Public Member Functions inherited from bitpit::LevelSetComplementBaseObject< LevelSetObject >
bool empty () const override
 
const LevelSetObject * getCellReferenceObject (long id) const override
 
const LevelSetObject * getReferenceObject (const std::array< double, 3 > &point) const override
 
virtual const LevelSetObject * getSourceObject () const
 
std::vector< const LevelSetObject * > getSourceObjects () const override
 
- Public Member Functions inherited from bitpit::LevelSetProxyObject< LevelSetObject, LevelSetObject >
int getCellReferenceObjectId (long id) const override
 
virtual const LevelSetObject * getCellReferencePrimaryObject (long id) const
 
int getCellReferencePrimaryObjectId (long id) const override
 
int getPrimaryObjectId (long) const
 
std::vector< int > getPrimarySourceObjectIds () const override
 
virtual std::vector< const LevelSetObject * > getPrimarySourceObjects () const
 
int getReferenceObjectId (const std::array< double, 3 > &point) const override
 
virtual const LevelSetObject * getReferencePrimaryObject (const std::array< double, 3 > &point) const
 
int getReferencePrimaryObjectId (const std::array< double, 3 > &point) const override
 
std::vector< int > getSourceObjectIds () const override
 
bool isCellInNarrowBand (long id) const override
 
bool isInNarrowBand (const std::array< double, 3 > &point) const override
 
bool isPrimary () const override
 
- Public Member Functions inherited from bitpit::LevelSetObject
virtual ~LevelSetObject ()
 
 BITPIT_DEPRECATED_FOR (double getValue(long cellId) const, double evalCellValue(long id, bool signedLevelSet) const)
 
 BITPIT_DEPRECATED_FOR (short getSign(long cellId) const, short evalCellSign(long id) const)
 
 BITPIT_DEPRECATED_FOR (std::array< double BITPIT_COMMA 3 > getGradient(long cellId) const, std::array< double BITPIT_COMMA 3 > evalCellGradient(long id, bool signedLevelSet) const)
 
std::array< double BITPIT_COMMA 3 > computeProjectionPoint (const std::array< double, 3 > &point) const
 
std::array< double BITPIT_COMMA 3 > computeProjectionPoint (long cellId) const
 
std::array< double BITPIT_COMMA 3 > computeVertexProjectionPoint (long vertexId) const
 
void disableFieldCellCache (LevelSetField field)
 
void enableFieldCellCache (LevelSetField field, LevelSetCacheMode cacheMode)
 
void enableVTKOutput (const LevelSetFieldset &fieldset, bool enable=true)
 
void enableVTKOutput (const LevelSetFieldset &fieldset, const std::string &objectName, bool enable=true)
 
void enableVTKOutput (LevelSetField field, bool enable=true)
 
void enableVTKOutput (LevelSetField field, const std::string &objectName, bool enable=true)
 
void enableVTKOutput (LevelSetWriteField field, bool enable=true)
 
void enableVTKOutput (LevelSetWriteField fieldset, const std::string &objectName, bool enable=true)
 
virtual std::array< double, 3 > evalCellGradient (long id, bool signedLevelSet) const
 
virtual std::array< double, 3 > evalCellProjectionPoint (long id) const
 
virtual short evalCellSign (long id) const
 
virtual double evalCellValue (long id, bool signedLevelSet) const
 
virtual std::array< double, 3 > evalGradient (const std::array< double, 3 > &point, bool signedLevelSet) const
 
virtual std::array< double, 3 > evalProjectionPoint (const std::array< double, 3 > &point) const
 
virtual short evalSign (const std::array< double, 3 > &point) const
 
virtual double evalValue (const std::array< double, 3 > &point, bool signedLevelSet) const
 
void flushData (std::fstream &, const std::string &, VTKFormat) override
 
LevelSetBulkEvaluationMode getCellBulkEvaluationMode () const
 
LevelSetCacheMode getFieldCellCacheMode (LevelSetField field) const
 
int getId () const
 
virtual const LevelSetKernel * getKernel () const
 
LevelSetInfo getLevelSetInfo (long cellId) const
 
double getLS (long cellId) const
 
double getNarrowBandSize () const
 
std::size_t getReferenceCount () const
 
double getSizeNarrowBand () const
 
virtual LevelSetFieldset getSupportedFields () const
 
LevelSetIntersectionStatus intersectSurface (long id, LevelSetIntersectionMode=LevelSetIntersectionMode::FAST_FUZZY) const
 
LevelSetIntersectionStatus isCellIntersected (long id, LevelSetIntersectionMode=LevelSetIntersectionMode::FAST_FUZZY) const
 
LevelSetIntersectionStatus isInterfaceIntersected (long id) const
 
LevelSetIntersectionStatus isInterfaceIntersected (long id, bool invert, std::array< std::array< double, 3 >, 2 > *intersection, std::vector< std::array< double, 3 > > *polygon) const
 
void setCellBulkEvaluationMode (LevelSetBulkEvaluationMode evaluationMode)
 
void update (const std::vector< adaption::Info > &adaptionData)
 
- Public Member Functions inherited from bitpit::VTKBaseStreamer
virtual void absorbData (std::fstream &, const std::string &, VTKFormat, uint64_t, uint8_t, VTKDataType)
 
template<typename T>
void flushValue (std::fstream &, VTKFormat, const T &value) const
 
template<typename T>
void flushValue (std::fstream &, VTKFormat, const T *values, int nValues) const
 

Additional Inherited Members

- Public Types inherited from bitpit::LevelSetObject
typedef LevelSetCachedKernel::CellCacheCollection CellCacheCollection
 
- Protected Types inherited from bitpit::LevelSetObject
template<typename data_t>
using CellCacheEntry = typename CellCacheCollection::ValueCache<data_t>::Entry
 
- Protected Member Functions inherited from bitpit::LevelSetComplementBaseObject< LevelSetObject >
 LevelSetComplementBaseObject (int id, const LevelSetObject *source)
 
std::array< double, 3 > _evalCellGradient (long id, bool signedLevelSet) const override
 
short _evalCellSign (long id) const override
 
double _evalCellValue (long id, bool signedLevelSet) const override
 
std::array< double, 3 > _evalGradient (const std::array< double, 3 > &point, bool signedLevelSet) const override
 
short _evalSign (const std::array< double, 3 > &point) const override
 
double _evalValue (const std::array< double, 3 > &point, bool signedLevelSet) const override
 
void fillCellPropagatedSignCache () override
 
void replaceSourceObject (const LevelSetObject *current, const LevelSetObject *updated) override
 
- Protected Member Functions inherited from bitpit::LevelSetProxyObject< LevelSetObject, LevelSetObject >
 LevelSetProxyObject (int)
 
void fillCellLocationCache () override
 
void fillCellLocationCache (const std::vector< adaption::Info > &adaptionData) override
 
virtual void replaceSourceObject (const LevelSetObject *current, const LevelSetObject *updated)=0
 
- Protected Member Functions inherited from bitpit::LevelSetObject
 LevelSetObject (const LevelSetObject &other)
 
 LevelSetObject (int)
 
 LevelSetObject (LevelSetObject &&other)
 
virtual LevelSetIntersectionStatus _isCellIntersected (long, double distance, LevelSetIntersectionMode=LevelSetIntersectionMode::FAST_FUZZY) const
 
virtual LevelSetIntersectionStatus _isInterfaceIntersected (long id, bool positivePart, std::array< std::array< double, 3 >, 2 > *intersection, std::vector< std::array< double, 3 > > *polygon) const
 
void adaptCellCaches (const std::vector< adaption::Info > &adaptionData)
 
virtual void addVTKOutputData (LevelSetField field, const std::string &objectName)
 
void clearCellCache (std::size_t cacheId, bool release)
 
void completeCellCacheExchange (const std::unordered_map< int, std::vector< long > > &sendCellIds, std::size_t cacheIds, DataCommunicator *)
 
void completeCellCachesExchange (const std::unordered_map< int, std::vector< long > > &sendCellIds, const std::vector< std::size_t > &cacheIds, DataCommunicator *)
 
template<typename value_t>
std::size_t createCellCache (LevelSetFillIn expectedFillIn, std::size_t cacheId=CellCacheCollection::NULL_CACHE_ID)
 
virtual std::size_t createCellLocationCache (std::size_t cacheId=CellCacheCollection::NULL_CACHE_ID)
 
virtual std::size_t createCellPropagatedSignCache (std::size_t cacheId=CellCacheCollection::NULL_CACHE_ID)
 
virtual std::size_t createFieldCellCache (LevelSetField field, std::size_t cacheId=CellCacheCollection::NULL_CACHE_ID)
 
template<typename value_t>
std::size_t createFieldCellCache (LevelSetField field, std::size_t cacheId=CellCacheCollection::NULL_CACHE_ID)
 
void destroyCellBulkData ()
 
void destroyCellCache (std::size_t cacheId)
 
void destroyCellLocationCache ()
 
void destroyCellNarrowBandData ()
 
void destroyCellPropagatedSignCache ()
 
virtual void destroyFieldCellCache (LevelSetField field)
 
virtual void dump (std::ostream &)
 
std::vector< long > evalCellCacheFillIds (LevelSetZone zone, LevelSetCacheMode cacheMode) const
 
std::vector< long > evalCellCacheFillIds (LevelSetZone zone, LevelSetCacheMode cacheMode, const std::vector< adaption::Info > &adaptionData) const
 
std::vector< long > evalCellCacheStaleIds (const std::vector< adaption::Info > &adaptionData) const
 
template<typename value_t, typename evaluator_t, typename fallback_t>
value_t evalCellField (LevelSetField field, long id, const evaluator_t &evaluator, const fallback_t &fallback) const
 
template<typename value_t, typename evaluator_t, typename fallback_t>
value_t evalCellFieldCached (LevelSetField field, long id, const evaluator_t &evaluator, const fallback_t &fallback) const
 
std::vector< long > evalCellFullCacheFillIds (LevelSetZone zone) const
 
std::vector< long > evalCellFullCacheFillIds (LevelSetZone zone, const std::vector< adaption::Info > &adaptionData) const
 
std::vector< long > evalCellNarrowBandCacheFillIds (LevelSetZone zone) const
 
std::vector< long > evalCellNarrowBandCacheFillIds (LevelSetZone zone, const std::vector< adaption::Info > &adaptionData) const
 
std::vector< long > evalCellOnDemandCacheFillIds (LevelSetZone zone) const
 
std::vector< long > evalCellOnDemandCacheFillIds (LevelSetZone zone, const std::vector< adaption::Info > &adaptionData) const
 
void evaluate ()
 
void evaluateCellBulkData ()
 
void evaluateCellNarrowBandData ()
 
short evalValueSign (double value) const
 
virtual LevelSetCellLocation fillCellGeometricNarrowBandLocationCache (long id)
 
void fillFieldCellCache (LevelSetField field, const std::vector< long > &cellIds)
 
virtual void fillFieldCellCache (LevelSetField field, long id)
 
template<typename value_t>
void fillFieldCellCache (LevelSetField field, long id, const value_t &value) const
 
void fillFieldCellCaches (LevelSetZone zone, const std::vector< LevelSetField > &fields)
 
void fillFieldCellCaches (LevelSetZone zone, const std::vector< LevelSetField > &fields, const std::vector< adaption::Info > &adaptionData)
 
virtual void flushVTKOutputData (std::fstream &stream, VTKFormat format, LevelSetField field) const
 
template<typename value_t, typename evaluator_t, typename fallback_t>
void flushVTKOutputData (std::fstream &stream, VTKFormat format, LevelSetField field, const evaluator_t evluator, const fallback_t fallback) const
 
template<typename value_t>
CellCacheCollection::ValueCache< value_t > * getCellCache (std::size_t cacheId) const
 
CellCacheCollection::Cache * getCellCache (std::size_t cacheId) const
 
LevelSetCellLocation getCellLocation (long id) const
 
LevelSetZone getCellZone (long id) const
 
template<typename value_t>
CellCacheCollection::ValueCache< value_t > * getFieldCellCache (LevelSetField field) const
 
CellCacheCollection::Cache * getFieldCellCache (LevelSetField field) const
 
std::size_t getFieldCellCacheId (LevelSetField field) const
 
virtual LevelSetKernel * getKernel ()
 
std::string getVTKOutputDataName (LevelSetField field, const std::string &objectName) const
 
virtual std::string getVTKOutputFieldName (LevelSetField field) const
 
bool hasVTKOutputData (LevelSetField field, const std::string &objectName) const
 
void pruneCellCache (std::size_t cacheId, const std::vector< long > &cellIds)
 
void removeVTKOutputData (LevelSetField field, const std::string &objectName)
 
virtual void restore (std::istream &)
 
void setDefaultLevelSetSigndness (bool signedLevelSet)
 
virtual void setKernel (LevelSetKernel *)
 
void setNarrowBandSize (double size)
 
void setSizeNarrowBand (double)
 
void startCellCacheExchange (const std::unordered_map< int, std::vector< long > > &recvCellIds, std::size_t cacheIds, DataCommunicator *) const
 
void startCellCachesExchange (const std::unordered_map< int, std::vector< long > > &recvCellIds, const std::vector< std::size_t > &cacheIds, DataCommunicator *) const
 
void update ()
 
void updateCellBulkData (const std::vector< adaption::Info > &adaptionData)
 
void updateCellNarrowBandData (const std::vector< adaption::Info > &adaptionData)
 
- Protected Attributes inherited from bitpit::LevelSetObject
std::size_t m_cellLocationCacheId
 Id of the cache that will keep track if cell zones.
 
std::size_t m_cellPropagatedSignCacheId
 Id of the cache that will keep track if cell propagated sign.
 
bool m_defaultSignedLevelSet
 
LevelSetFieldMap< std::string > m_enabledOutputFields
 
LevelSetKernel * m_kernel
 
double m_narrowBandSize
 Size of narrow band.
 
- Static Protected Attributes inherited from bitpit::LevelSetObject
static const bool CELL_CACHE_IS_SIGNED = false
 
static const LevelSetIntersectionMode CELL_LOCATION_INTERSECTION_MODE = LevelSetIntersectionMode::FAST_GUARANTEE_FALSE
 

Detailed Description

Definition at line 76 of file levelSetComplementObject.hpp.

Constructor & Destructor Documentation

◆ LevelSetComplementObject()

bitpit::LevelSetComplementObject< LevelSetObject >::LevelSetComplementObject ( int id,
const LevelSetObject * source )

Constructor.

Parameters
[in]ididentifier of object
[in]sourcepointer to source object

Definition at line 43 of file levelSetComplementObject.cpp.

Member Function Documentation

◆ clone()

Clones the object

Returns
pointer to cloned object

Implements bitpit::LevelSetObject.

Definition at line 52 of file levelSetComplementObject.cpp.


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