// // Created by tv on 29.06.23. // #ifndef SPOONTOOL_ELEMENT_H #define SPOONTOOL_ELEMENT_H #include #include #include"Transform.h" #include"Link.h" enum LayerConfig{ Common, //Cmn Paint, //Pnt //Online, //Vss Rainmaker, //Vlf Tower, //Vgl Area, //Var Night, //Night Day, //Day Temporary //Tmp }; class Element{ public: Element() = default; Element(const YAML::Node &ObjNode,std::list PropertyBlockList = {}); unsigned int runtimeID = static_cast(rand()); Transform TF = Transform(); std::string Type = "Unnamed Type"; std::string Name = "Unnamed Element"; std::string ModelName = "null"; std::string Layer = "Cmn"; std::vector Parameters = std::vector(); std::vector FloatParameters = std::vector(); //std::map> Links = std::map>(); std::vector Links = std::vector(); std::map OtherOptions = std::map(); bool IsLinkDest = false; void YamlInsert(YAML::Emitter &Emitter,bool compiled = false); virtual ~Element() = default; protected: virtual void YamlInsertBody(YAML::Emitter &Emitter,bool compiled = false); }; #endif //SPOONTOOL_ELEMENT_H