25 #ifndef WROIPROJECTFILEIO_H
26 #define WROIPROJECTFILEIO_H
32 #include "boost/tuple/tuple.hpp"
34 #include "../common/WProjectFileIO.h"
62 virtual bool parse( std::string line,
unsigned int lineNumber );
75 virtual void save( std::ostream& output );
97 typedef boost::tuple< std::string, std::string >
Property;
122 typedef boost::tuple< RoiID, Branch >
Roi;
A base class for all parts of OpenWalnut which can be serialized to a project file.
std::shared_ptr< WProjectFileIO > SPtr
Abbreviation for a shared pointer.
Class loading project files.
IO Class for writing the ROI structure to a project file.
unsigned int Branch
Branch by ID.
WRoiProjectFileIO()
Default constructor.
virtual void save(std::ostream &output)
Saves the state to the specified stream.
virtual SPtr clone(WProjectFile *project) const
Create a clone of the IO.
boost::tuple< std::string, std::string > Property
Property for branch/roi with ID.
std::map< Branch, Properties > m_branchProperties
Properties of each branch.
boost::tuple< RoiID, Branch > Roi
ROI by ID, second is parent branch ID.
virtual bool parse(std::string line, unsigned int lineNumber)
This method parses the specified line and interprets it.
virtual ~WRoiProjectFileIO()
Destructor.
std::vector< Property > Properties
The properties as vector.
unsigned int RoiID
ID of a ROI.
virtual void done()
Called whenever the end of the project file has been reached.
std::vector< Roi > m_rois
All loaded rois.
std::vector< Branch > m_branches
All loaded branch IDs.
std::map< RoiID, Properties > m_roiProperties
Properties of each branch.