25# ifndef __BITPIT_LEVELSET_PROXY_OBJECT_HPP__
26# define __BITPIT_LEVELSET_PROXY_OBJECT_HPP__
28#include <levelSetObject.hpp>
30#include <bitpit_common.hpp>
38 virtual int getCellReferenceObjectId(
long id )
const = 0;
39 virtual int getCellReferencePrimaryObjectId(
long id )
const = 0;
41 virtual int getReferenceObjectId(
const std::array<double, 3> &point )
const = 0;
42 virtual int getReferencePrimaryObjectId(
const std::array<double, 3> &point )
const = 0;
44 virtual std::vector<int> getSourceObjectIds()
const = 0;
45 virtual std::vector<int> getPrimarySourceObjectIds()
const = 0;
49template<
typename SourceLevelSetObject,
typename BaseLevelSetObject = LevelSetObject>
57 virtual void replaceSourceObject(
const SourceLevelSetObject *current,
const SourceLevelSetObject *updated) = 0;
63 bool isInNarrowBand(
const std::array<double,3> &point)
const override;
65 virtual const SourceLevelSetObject * getCellReferenceObject(
long id )
const =0;
68 virtual const SourceLevelSetObject * getReferenceObject(
const std::array<double, 3> &point )
const =0;
77 virtual std::vector<const SourceLevelSetObject *> getSourceObjects()
const =0;
93#include "levelSetProxyObject.tpp"
Interface class for all objects, which depend on other LevelSetObjects.
virtual const SourceLevelSetObject * getCellReferencePrimaryObject(long id) const
int getReferencePrimaryObjectId(const std::array< double, 3 > &point) const override
int getCellReferenceObjectId(long id) const override
bool isPrimary() const override
std::vector< int > getPrimarySourceObjectIds() const override
bool isCellInNarrowBand(long id) const override
virtual std::vector< const SourceLevelSetObject * > getPrimarySourceObjects() const
int getCellReferencePrimaryObjectId(long id) const override
bool isInNarrowBand(const std::array< double, 3 > &point) const override
int getReferenceObjectId(const std::array< double, 3 > &point) const override
std::vector< int > getSourceObjectIds() const override
void fillCellLocationCache() override
virtual const SourceLevelSetObject * getReferencePrimaryObject(const std::array< double, 3 > &point) const
int getPrimaryObjectId(long) const
#define BITPIT_DEPRECATED(func)