#ifndef GRAFTRANSITIONMANAGER_H
#define GRAFTRANSITIONMANAGER_H

#include "grafTag.h"
#include "grafParticleVecField.h"
#include "grafTransAverage.h"

/* Manages transitions between on tag and the next */

enum{
TRANS_AVG
};

class grafTransitionManager
{
    public:
        grafTransitionManager();
        virtual ~grafTransitionManager();

        // updates the transition
        void update( grafTag * tag );
        void updateVizVecField( grafParticleVecField* VIZ_VF );

        // sets current transition mode
        void setTransition( int id ){ mode = id; }

        // returns true once the transition is done playing
        bool isTransitionDone();

    protected:

        int mode;

        grafTransAverage        T_AVG;


    private:
};

#endif // GRAFTRANSITIONMANAGER_H
