33 #ifndef SERIALIZATION_WALLS_H
34 #define SERIALIZATION_WALLS_H
42 template<
typename Base >
56 template<
class Archive>
59 for (
const auto& wall
UNUSED : w ) {
64 template<
class Archive>
66 cereal::size_type count;
67 ar ( cereal::make_size_tag(count));
71 for (
int i = 0;
i < count;
i++)
82 template<
class Archive>
85 ar( cereal::make_nvp(
"type",
"InfiniteWall"));
92 ar( cereal::make_nvp(
"type",
"InfiniteWallWithHole"));
95 ar( cereal::make_nvp(
"type",
"CylindricalWall"));
101 template<
class Archive>
106 ar(cereal::make_nvp(
"type", type));
108 if (type ==
"InfiniteWall")
117 else if (type ==
"InfiniteWallWithHole")
121 }
else if (type ==
"CylindricalWall") {
129 template<
class Archive>
131 Vec3D position, normal;
132 ar( CEREAL_NVP( position ),
133 CEREAL_NVP( normal ));
138 template<
class Archive>
141 cereal::make_nvp(
"normal", w.
getNormal()));
144 template<
class Archive>
149 CEREAL_NVP( radius ));
152 template<
class Archive>
155 cereal::make_nvp(
"radius", w.
getRadius()));
double Mdouble
Definition: GeneralDefine.h:34
#define UNUSED
Definition: GeneralDefine.h:39
LL< Log::VERBOSE > VERBOSE
Verbose information.
Definition: Logger.cc:57
LL< Log::INFO > INFO
Info log level.
Definition: Logger.cc:55
LL< Log::DEBUG > DEBUG
Debug information.
Definition: Logger.cc:58
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
void save(Archive &ar, const WallHandler &w)
Definition: Walls.h:57
void load(Archive &ar, WallHandler &w)
Definition: Walls.h:65
virtual unsigned int getNumberOfObjects() const
Gets the number of real Object in this BaseHandler. (i.e. no mpi or periodic particles)
Definition: BaseHandler.h:648
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:379
virtual void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:239
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:218
Definition: CylindricalWall.h:38
double getRadius() const
access function for radius
Definition: CylindricalWall.cc:114
Definition: InfiniteWallWithHole.h:38
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: InfiniteWall.h:48
Vec3D getNormal() const
Access function for normal.
Definition: InfiniteWall.cc:213
void setNormal(Vec3D normal)
Changes the normal of the InfiniteWall.
Definition: InfiniteWall.cc:127
Container to store all BaseWall.
Definition: WallHandler.h:44
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51
Base * data
Definition: Walls.h:52
~Wrapper()
Definition: Walls.h:47
Wrapper()
Definition: Walls.h:44