Base class which deals with boolean operation between two LevelSetObjects. More...
Public Member Functions | |
bool | empty () const override |
const SourceLevelSetObject * | getCellReferenceObject (long id) const override |
const SourceLevelSetObject * | getReferenceObject (const std::array< double, 3 > &point) const override |
std::vector< const SourceLevelSetObject * > | getSourceObjects () const override |
Public Member Functions inherited from bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject > | |
int | getCellReferenceObjectId (long id) const override |
virtual const SourceLevelSetObject * | getCellReferencePrimaryObject (long id) const |
int | getCellReferencePrimaryObjectId (long id) const override |
int | getPrimaryObjectId (long) const |
std::vector< int > | getPrimarySourceObjectIds () const override |
virtual std::vector< const SourceLevelSetObject * > | getPrimarySourceObjects () const |
int | getReferenceObjectId (const std::array< double, 3 > &point) const override |
virtual const SourceLevelSetObject * | 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 |
Protected Member Functions | |
LevelSetBooleanBaseObject (int, LevelSetBooleanOperation, const SourceLevelSetObject *, const SourceLevelSetObject *) | |
LevelSetBooleanBaseObject (int, LevelSetBooleanOperation, const std::vector< const SourceLevelSetObject * > &) | |
template<typename data_t , typename function_t > | |
data_t | _evalCellFunction (long id, bool signedLevelSet, const function_t &function) const |
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 |
template<typename data_t , typename function_t > | |
data_t | _evalFunction (const std::array< double, 3 > &point, bool signedLevelSet, const function_t &function) const |
std::array< double, 3 > | _evalGradient (const std::array< double, 3 > &point, bool signedLevelSet) const override |
double | _evalValue (const std::array< double, 3 > &point, bool signedLevelSet) const override |
void | fillCellPropagatedSignCache () override |
void | replaceSourceObject (const SourceLevelSetObject *current, const SourceLevelSetObject *updated) override |
Protected Member Functions inherited from bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject > | |
LevelSetProxyObject (int) | |
void | fillCellLocationCache () override |
void | fillCellLocationCache (const std::vector< adaption::Info > &adaptionData) override |
Base class which deals with boolean operation between two LevelSetObjects.
Definition at line 68 of file levelSetBooleanObject.hpp.
|
protected |
Constructor taking two objects.
[in] | id | identifier of object |
[in] | op | type of boolean operation |
[in] | source1 | pointer to first source object |
[in] | source2 | pointer to second source object |
Definition at line 144 of file levelSetBooleanObject.tpp.
|
protected |
Constructor taking a vector of objects. The boolean operation will be applied recursivly on each entry.
[in] | id | identifier of object |
[in] | op | type of boolean operation |
[in] | sourceObjects | pointers to source objects |
Definition at line 160 of file levelSetBooleanObject.tpp.
|
protected |
Evaluate the specified function at the specified cell.
[in] | id | cell index |
[in] | function | is the function that will be evaluated |
Definition at line 412 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Evaluate levelset gradient at the specified cell.
id | is the id of the cell |
Definition at line 342 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Evaluate levelset sign at the specified cell.
id | is the id of the cell |
Definition at line 311 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Evaluate levelset value at the specified cell.
id | is the id of the cell |
signedLevelSet | controls if signed levelset function will be used |
Definition at line 323 of file levelSetBooleanObject.tpp.
|
protected |
Evaluate the specified function at the specified point.
point | are the coordinates of the point | |
[in] | function | is the function that will be evaluated |
Definition at line 428 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Evaluate levelset gradient at the specified cell.
point | are the coordinates of the point |
signedLevelSet | controls if signed levelset function will be used |
Definition at line 387 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Evaluate levelset value at the specified cell.
point | are the coordinates of the point |
signedLevelSet | controls if signed levelset function will be used |
Definition at line 367 of file levelSetBooleanObject.tpp.
|
override |
Checks if the object is empty.
Definition at line 172 of file levelSetBooleanObject.tpp.
|
overrideprotected |
Fill the cache that contains the propagated cell sign.
Definition at line 258 of file levelSetBooleanObject.tpp.
|
overridevirtual |
Get the object that defines the levelset information for the specified cell.
[in] | id | cell index |
Implements bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject >.
Definition at line 443 of file levelSetBooleanObject.tpp.
|
overridevirtual |
Get the object that defines the levelset information for the specified point.
[in] | point | are the coordinates of the point |
Implements bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject >.
Definition at line 469 of file levelSetBooleanObject.tpp.
|
overridevirtual |
Get all objects that compose the boolean object
Implements bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject >.
Definition at line 494 of file levelSetBooleanObject.tpp.
|
overrideprotectedvirtual |
Replace a source object.
[in] | current | current source object |
[in] | updated | updated source object |
Implements bitpit::LevelSetProxyObject< SourceLevelSetObject, SourceLevelSetObject >.
Definition at line 240 of file levelSetBooleanObject.tpp.