21 using Ptr = std::shared_ptr<WorldElementBase>;
32 const char* class_name =
nullptr);
45 #define DECLARES_REGISTER_WORLD_ELEMENT(CLASS_NAME) \ 46 DECLARES_REGISTER_CLASS2( \ 47 CLASS_NAME, WorldElementBase, World*, const rapidxml::xml_node<char>*) 49 #define REGISTER_WORLD_ELEMENT(TEXTUAL_NAME, CLASS_NAME) \ 51 TClassFactory_worldElements, classFactory_worldElements, TEXTUAL_NAME, \
std::shared_ptr< Simulable > Ptr
static Ptr factory(World *parent, const rapidxml::xml_node< char > *xml_node, const char *class_name=nullptr)
WorldElementBase(World *parent)
TClassFactory_worldElements classFactory_worldElements
virtual void loadConfigFrom(const rapidxml::xml_node< char > *root)=0
T root(const T v0, const T v1)
virtual ~WorldElementBase()