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

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

#include <RTSystem/DetectarObstaculoComponent.h>
#include <Navegacao.h>

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

static void rtg_Navegacao_init( const RTObject_class * type, Navegacao * target )
{
	(void)new( target ) Navegacao;
}

static void rtg_Navegacao_copy( const RTObject_class * type, Navegacao * target, const Navegacao * source )
{
	(void)new( target ) Navegacao( *source );
}

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

const RTObject_class RTType_Navegacao =
{
	(const RTObject_class *)0
  , (RTSuperAccessFunction)0
  , "Navegacao"
  , (RTVersionId)0
  , (RTFieldOffset)sizeof( Navegacao )
  , (RTInitFunction)rtg_Navegacao_init
  , (RTCopyFunction)rtg_Navegacao_copy
#if OBJECT_DECODE
  , RTstruct_decode
#endif
#if OBJECT_ENCODE
  , RTstruct_encode
#endif
  , (RTDestroyFunction)rtg_Navegacao_destroy
  , 8
  , Navegacao::rtg_Navegacao_fields
};

// {{{RME classifier 'Logical View::Navegacao' tool 'OT::Cpp' property 'GenerateDefaultConstructor'
Navegacao::Navegacao( void )
	: ForaRumo( false )
	, DesviarObstaculo( false )
	, DeltaDesvio( 0 )
	, Missao( 0 )
	, Destino( false )
	, LocPacote( 0 )
	, LocPorta( 0 )
	, IDPacote( 0 )
{
}
// }}}RME

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

// {{{RME classifier 'Logical View::Navegacao' tool 'OT::Cpp' property 'GenerateCopyConstructor'
Navegacao::Navegacao( const Navegacao & rtg_arg )
	: ForaRumo( rtg_arg.ForaRumo )
	, DesviarObstaculo( rtg_arg.DesviarObstaculo )
	, DeltaDesvio( rtg_arg.DeltaDesvio )
	, Missao( rtg_arg.Missao )
	, Destino( rtg_arg.Destino )
	, LocPacote( rtg_arg.LocPacote )
	, LocPorta( rtg_arg.LocPorta )
	, IDPacote( rtg_arg.IDPacote )
{
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' tool 'OT::Cpp' property 'GenerateAssignmentOperator'
Navegacao & Navegacao::operator=( const Navegacao & rtg_arg )
{
	if( this != &rtg_arg )
	{
		ForaRumo = rtg_arg.ForaRumo;
		DesviarObstaculo = rtg_arg.DesviarObstaculo;
		DeltaDesvio = rtg_arg.DeltaDesvio;
		Missao = rtg_arg.Missao;
		Destino = rtg_arg.Destino;
		LocPacote = rtg_arg.LocPacote;
		LocPorta = rtg_arg.LocPorta;
		IDPacote = rtg_arg.IDPacote;
	}
	return *this;
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'Desviar()'
void Navegacao::Desviar( void )
{
	// {{{USR operation 'Desviar()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'Corrigir()'
void Navegacao::Corrigir( void )
{
	// {{{USR operation 'Corrigir()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'Retornar()'
void Navegacao::Retornar( void )
{
	// {{{USR operation 'Retornar()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'Conduzir()'
void Navegacao::Conduzir( void )
{
	// {{{USR operation 'Conduzir()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'ComProblema()'
void Navegacao::ComProblema( void )
{
	// {{{USR operation 'ComProblema()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'ComDestinoAlocado()'
void Navegacao::ComDestinoAlocado( void )
{
	// {{{USR operation 'ComDestinoAlocado()'
	// }}}USR
}
// }}}RME

// {{{RME classifier 'Logical View::Navegacao' operation 'ProximaMissao()'
void Navegacao::ProximaMissao( void )
{
	// {{{USR operation 'ProximaMissao()'
	// }}}USR
}
// }}}RME

const RTFieldDescriptor Navegacao::rtg_Navegacao_fields[] =
{
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'ForaRumo'
	{
		"ForaRumo"
	  , RTOffsetOf( Navegacao, ForaRumo )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'ForaRumo' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_bool
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'ForaRumo' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DesviarObstaculo'
  , {
		"DesviarObstaculo"
	  , RTOffsetOf( Navegacao, DesviarObstaculo )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DesviarObstaculo' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_bool
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DesviarObstaculo' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DeltaDesvio'
  , {
		"DeltaDesvio"
	  , RTOffsetOf( Navegacao, DeltaDesvio )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DeltaDesvio' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_int
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'DeltaDesvio' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Missao'
  , {
		"Missao"
	  , RTOffsetOf( Navegacao, Missao )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Missao' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_float
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Missao' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Destino'
  , {
		"Destino"
	  , RTOffsetOf( Navegacao, Destino )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Destino' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_bool
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'Destino' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPacote'
  , {
		"LocPacote"
	  , RTOffsetOf( Navegacao, LocPacote )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPacote' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_float
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPacote' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPorta'
  , {
		"LocPorta"
	  , RTOffsetOf( Navegacao, LocPorta )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPorta' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_float
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'LocPorta' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
	// {{{RME classifier 'Logical View::Navegacao' classAttribute 'IDPacote'
  , {
		"IDPacote"
	  , RTOffsetOf( Navegacao, IDPacote )
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'IDPacote' tool 'OT::CppTargetRTS' property 'TypeDescriptor'
	  , &RTType_double
		// }}}RME
		// {{{RME classifier 'Logical View::Navegacao' classAttribute 'IDPacote' tool 'OT::CppTargetRTS' property 'GenerateTypeModifier'
	  , (const RTTypeModifier *)0
		// }}}RME
	}
	// }}}RME
};

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

// }}}RME
