// {{{RME classifier 'Logical View::AlteracaoRota'

#ifndef AlteracaoRota_H
#define AlteracaoRota_H

#ifdef PRAGMA
#pragma interface "AlteracaoRota.h"
#endif

#include <RTSystem/PVA.h>
#include <CommAlteracaoRota.h>

// {{{RME classifier 'Logical View::AlteracaoRota' tool 'OT::Cpp' property 'HeaderPreface'
// {{{USR tool 'OT::Cpp' property 'HeaderPreface'
// }}}USR
// }}}RME

extern const RTActorClass AlteracaoRota;

#define SUPER RTActor
class AlteracaoRota_Actor : public RTActor
{
private:
	// {{{RME classifier 'Logical View::AlteracaoRota' classAttribute 'ForaRota'
	double ForaRota;
	// }}}RME
	// {{{RME classifier 'Logical View::AlteracaoRota' classAttribute 'Corrigido'
	bool Corrigido;
	// }}}RME

public:
	// {{{RME classifier 'Logical View::AlteracaoRota' port 'NewPort1'
	CommAlteracaoRota::Base NewPort1;
	// }}}RME
	AlteracaoRota_Actor( RTController * rtg_rts, RTActorRef * rtg_ref );
	virtual ~AlteracaoRota_Actor( void );

protected:
	// {{{RME classifier 'Logical View::AlteracaoRota' operation 'Corrigir()'
	void Corrigir( void );
	// }}}RME

public:
	virtual int _followInV( RTBindingEnd & rtg_end, int rtg_portId, int rtg_repIndex );

private:
	INLINE_CHAINS void chain1_Initial( void );

public:
	virtual void rtsBehavior( int signalIndex, int portIndex );
	virtual const RTActor_class * getActorData( void ) const;

protected:
	static const RTActor_class rtg_class;

public:
	static const RTStateId rtg_parent_state[];

private:
	static const RTPortDescriptor rtg_ports[];

public:
	static const RTFieldDescriptor rtg_AlteracaoRota_fields[];
};
#undef SUPER

// {{{RME classifier 'Logical View::AlteracaoRota' tool 'OT::Cpp' property 'HeaderEnding'
// {{{USR tool 'OT::Cpp' property 'HeaderEnding'
// }}}USR
// }}}RME

#endif /* AlteracaoRota_H */

// }}}RME
