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

#if defined( PRAGMA ) && ! defined( PRAGMA_IMPLEMENTED )
#pragma implementation "CalcularPosicao.h"
#endif

#include <RTSystem/AlteracaoRotaComponent.h>
#include <CalcularPosicao.h>

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

static void rtg_CalcularPosicao_init( const RTObject_class * type, CalcularPosicao * target )
{
	(void)new( target ) CalcularPosicao;
}

static void rtg_CalcularPosicao_copy( const RTObject_class * type, CalcularPosicao * target, const CalcularPosicao * source )
{
	(void)new( target ) CalcularPosicao( *source );
}

static void rtg_CalcularPosicao_destroy( const RTObject_class * type, CalcularPosicao * target )
{
	target->~CalcularPosicao();
}

const RTObject_class RTType_CalcularPosicao =
{
	(const RTObject_class *)0
  , (RTSuperAccessFunction)0
  , "CalcularPosicao"
  , (RTVersionId)0
  , (RTFieldOffset)sizeof( CalcularPosicao )
  , (RTInitFunction)rtg_CalcularPosicao_init
  , (RTCopyFunction)rtg_CalcularPosicao_copy
#if OBJECT_DECODE
  , RTstruct_decode
#endif
#if OBJECT_ENCODE
  , RTstruct_encode
#endif
  , (RTDestroyFunction)rtg_CalcularPosicao_destroy
  , 3
  , CalcularPosicao::rtg_CalcularPosicao_fields
};

// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateDefaultConstructor'
CalcularPosicao::CalcularPosicao( void )
	: Posicao( 0 )
	, Desvio( false )
	, Rumo( 0 )
{
}
// }}}RME

// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateDestructor'
CalcularPosicao::~CalcularPosicao( void )
{
}
// }}}RME

// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateCopyConstructor'
CalcularPosicao::CalcularPosicao( const CalcularPosicao & rtg_arg )
	: Posicao( rtg_arg.Posicao )
	, Desvio( rtg_arg.Desvio )
	, Rumo( rtg_arg.Rumo )
{
}
// }}}RME

// {{{RME classifier 'Logical View::CalcularPosicao' tool 'OT::Cpp' property 'GenerateAssignmentOperator'
CalcularPosicao & CalcularPosicao::operator=( const CalcularPosicao & rtg_arg )
{
	if( this != &rtg_arg )
	{
		Posicao = rtg_arg.Posicao;
		Desvio = rtg_arg.Desvio;
		Rumo = rtg_arg.Rumo;
	}
	return *this;
}
// }}}RME

// {{{RME classifier 'Logical View::CalcularPosicao' operation 'CalculaPosicao()'
void CalcularPosicao::CalculaPosicao( void )
{
	// {{{USR operation 'CalculaPosicao()'
	// }}}USR
}
// }}}RME

const RTFieldDescriptor CalcularPosicao::rtg_CalcularPosicao_fields[] =
{
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Posicao'
	{
		"Posicao"
	  , RTOffsetOf( CalcularPosicao, Posicao )
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Posicao' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_int
		// }}}RME
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Posicao' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Desvio'
  , {
		"Desvio"
	  , RTOffsetOf( CalcularPosicao, Desvio )
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Desvio' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_bool
		// }}}RME
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Desvio' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Rumo'
  , {
		"Rumo"
	  , RTOffsetOf( CalcularPosicao, Rumo )
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Rumo' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_double
		// }}}RME
		// {{{RME classifier 'Logical View::CalcularPosicao' classAttribute 'Rumo' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
};

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

// }}}RME
