// ============================================================================ // == == // == AMDiS - Adaptive multidimensional simulations == // == == // ============================================================================ // == == // == crystal growth group == // == == // == Stiftung caesar == // == Ludwig-Erhard-Allee 2 == // == 53175 Bonn == // == germany == // == == // ============================================================================ // == == // == http://www.caesar.de/cg/AMDiS == // == == // ============================================================================ /** \file ConditionalMarker.h */ #ifndef AMDIS_CONDITIONALMARKER_H #define AMDIS_CONDITIONALMARKER_H #include "mpi.h" #include "Marker.h" #include "Marker.h" #include "PartitionElementData.h" #include "Traverse.h" #include "ElInfo.h" namespace AMDiS { /** * \ingroup Adaption * * \brief * */ class ConditionalMarker : public Marker { public: /// Constructor. ConditionalMarker(const std::string name, int row, Marker *decoratedMarker, int globalCoarseGridLevel, int localCoarseGridLevel); /// Implementation of MarkScal::initMarking(). virtual void initMarking(AdaptInfo *adaptInfo, Mesh *mesh); virtual void finishMarking(AdaptInfo *adaptInfo); void markElement(AdaptInfo *adaptInfo, ElInfo *elInfo); protected: Marker *decoratedMarker_; int globalCoarseGridLevel_; int localCoarseGridLevel_; bool markOuter; }; } #endif