#ifndef INFOVISITOR_H #define INFOVISITOR_H #include "Visitor.h" class InfoVisitor : public Visitor { std::string information_; bool brief_; uint64_t current_id_; public: InfoVisitor(bool brief = true); inline std::string str() const { return information_; } // Elements of Scene void visit (Scene& n) override; void visit (Node& n) override; void visit (Group& n) override; void visit (Switch& n) override; void visit (Primitive& n) override; // Elements with attributes void visit (Stream& n) override; void visit (MediaPlayer& n) override; void visit (MediaSource& s) override; void visit (SessionFileSource& s) override; void visit (SessionGroupSource& s) override; void visit (RenderSource& s) override; void visit (CloneSource& s) override; void visit (PatternSource& s) override; void visit (DeviceSource& s) override; void visit (NetworkSource& s) override; void visit (MultiFileSource& s) override; }; #endif // INFOVISITOR_H