#ifndef CTKFIXE_H_INCLUDED
#define CTKFIXE_H_INCLUDED

#include <irrlicht.h>
#include "CRemontee.h"
#include "CVehicule.h"

using namespace irr;

class CTKFixe : public CRemontee
{
    public:

	CTKFixe(scene::ISceneManager*,video::IVideoDriver*);

	~CTKFixe();

	virtual void SetPositionDepart(core::vector3df);
	virtual void SetPositionArrivee(core::vector3df);
	virtual core::vector3df GetPositionDepart();
	virtual core::vector3df GetPositionArrivee();
    virtual void DrawRemonteeDepart();
    virtual void DrawRemonteeArrivee();

    virtual void RedrawCable();
    virtual void AnimateRm(core::vector3df,f32);
    virtual void PlaceVehicules();
    virtual void UpdateTroncons();
    virtual void PlaySoundMoteur(bool);
    virtual core::vector3df GetRotationRM();

    virtual void SetID(core::stringc);
	virtual core::stringc GetID();

	private:

    core::vector3df positionDepart;
    core::vector3df positionArrivee;

	scene::ISceneManager* smgr;
	video::IVideoDriver* driver;

	scene::IAnimatedMesh* meshDepart;
    scene::IMeshSceneNode* nodeDepart;
    video::SMaterial materialDepart;

    scene::IAnimatedMesh* meshPoulieDepart;
    scene::IMeshSceneNode* nodePoulieDepart;
    video::SMaterial materialPoulieDepart;
    scene::ISceneNode* posMonteePoulieDepart;
    scene::ISceneNode* posDescentePoulieDepart;

    scene::IAnimatedMesh* meshArrivee;
    scene::IMeshSceneNode* nodeArrivee;
    video::SMaterial materialArrivee;

    scene::IAnimatedMesh* meshPoulieArrivee;
    scene::IMeshSceneNode* nodePoulieArrivee;
    video::SMaterial materialPoulieArrivee;
    scene::ISceneNode* posMonteePoulieArrivee;
    scene::ISceneNode* posDescentePoulieArrivee;

    u32 findPreviousPyloneWithDescente(u32);
    u32 findNextPyloneWithDescente(u32);

};


#endif // CTKFIXE_H_INCLUDED
