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

#ifndef CalcularPosicao_H
#define CalcularPosicao_H

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

#include <RTSystem/PVA.h>

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

extern const RTObject_class RTType_CalcularPosicao;

class CalcularPosicao
{
public:
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'PublicDeclarations'
	// {{{USR tool 'OT::Cpp' property 'PublicDeclarations'
	// }}}USR
	// }}}RME

protected:
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'ProtectedDeclarations'
	// {{{USR tool 'OT::Cpp' property 'ProtectedDeclarations'
	// }}}USR
	// }}}RME

private:
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'PrivateDeclarations'
	// {{{USR tool 'OT::Cpp' property 'PrivateDeclarations'
	// }}}USR
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Posicao'
	int Posicao;
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Desvio'
	bool Desvio;
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Rumo'
	double Rumo;
	// }}}RME

public:
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateDefaultConstructor'
	CalcularPosicao( void );
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateDestructor'
	virtual ~CalcularPosicao( void );
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateCopyConstructor'
	CalcularPosicao( const CalcularPosicao & rtg_arg );
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateAssignmentOperator'
	CalcularPosicao & operator=( const CalcularPosicao & rtg_arg );
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' operation 'CalculaPosicao()'
	void CalculaPosicao( void );
	// }}}RME
	static const RTFieldDescriptor rtg_CalcularPosicao_fields[];
};

struct RTTypedValue_CalcularPosicao
{
	const void * data;
	const RTObject_class * type;
	inline RTTypedValue_CalcularPosicao( const CalcularPosicao & rtg_value )
		: data( &rtg_value ), type( &RTType_CalcularPosicao )
	{
	}
	inline RTTypedValue_CalcularPosicao( const CalcularPosicao & rtg_value, const RTObject_class * rtg_type )
		: data( &rtg_value ), type( rtg_type )
	{
	}
	inline ~RTTypedValue_CalcularPosicao( void )
	{
	}
};

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

#endif /* CalcularPosicao_H */

// }}}RME
