// File ImportRTMS.h by az

#ifndef IMPORT_RTMS_H
#define IMPORT_RTMS_H

class QFile;
class RTMSimulator;
class QDataStream;

/**
 * @brief Class that is used to import files in RTMS format.
 *
 * The RTMS format is the RTMSimulator own file format.
 * It is used to store and restore complete scene graphs
 * including all the simulation settings.
 */
class ImportRTMS
{
private:
    static int format_version;
    static double translation_factor;
public:
    static void	import(QFile* pFile, RTMSimulator* pSimulator);
    static void readFormatVersion(QFile* f);
    static void readSettings(QDataStream& in, RTMSimulator* pSimulator);
    static void readActiveNodes(QDataStream& in, RTMSimulator* pSimulator);
    static void readSweptNodes(QDataStream& in, RTMSimulator* pSimulator);
    static void readNodesNeighbors(QDataStream& in, RTMSimulator* pSimulator);
    static void readTriangles(QDataStream& in, RTMSimulator* pSimulator);
    static void readTriangleVertices(QDataStream& in, RTMSimulator* pSimulator);
};

#endif //IMPORT_RTMS_H
