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

#ifndef Alteracao_H
#define Alteracao_H

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

#include <RTSystem/CorrigirRotaComponent.h>

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

extern const RTActorClass Alteracao;

#define SUPER RTActor
class Alteracao_Actor : public RTActor
{
private:
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'DesLinear'
	float DesLinear;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'DesAngular'
	float DesAngular;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'PosBase'
	float PosBase;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'Desvio'
	float Desvio;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'AmortizacaoA'
	float AmortizacaoA;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'AmortizacaoL'
	float AmortizacaoL;
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' classAttribute 'Correcao'
	float Correcao;
	// }}}RME

public:
	Alteracao_Actor( RTController * rtg_rts, RTActorRef * rtg_ref );
	virtual ~Alteracao_Actor( void );

protected:
	// {{{RME classifier 'Logical View::Alteracao' operation 'Guardar_DesAngular()'
	void Guardar_DesAngular( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Guardar_DesLinear()'
	void Guardar_DesLinear( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Guardar_PosBase()'
	void Guardar_PosBase( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Calcular_Correcao()'
	void Calcular_Correcao( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Validar_Correcao()'
	void Validar_Correcao( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Calcular_AmortizacaoL()'
	void Calcular_AmortizacaoL( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Calcular_AmortizacaoA()'
	void Calcular_AmortizacaoA( void );
	// }}}RME
	// {{{RME classifier 'Logical View::Alteracao' operation 'Calcular_Desvio()'
	void Calcular_Desvio( void );
	// }}}RME

private:
	INLINE_CHAINS void chain1_PowerUp( 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[];
	static const RTFieldDescriptor rtg_Alteracao_fields[];
};
#undef SUPER

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

#endif /* Alteracao_H */

// }}}RME
