#include <vlutil/vlExceptions.h>
#include <iostream>
using namespace MAKVrExchange::DtHlaBroker;
int main( int argc, char* argv[] )
{
try
{
DtInfo << "Starting Modified HLA Broker Example" << std::endl;
{
brokerApp.run();
}
else
{
brokerApp.showInfoDialog();
}
}
DtCATCH_AND_WARN( std::cout )
return 0;
}
#include <vl/reflEntList.h>
#include <vl/entityPub.h>
#include <vl/baseEntitySR.h>
#include <assert.h>
using namespace DtHlaBroker;
DtHlaBrokerNamespace::DtHlaBroker* broker )
{
}
{
}
{
}
{
}
{
DtBrokerObject* brokerObject = findBrokerObject( &reflectedObj );
assert( brokerObject );
brokerObject->setLastUpdate( broker()->simTime() );
brokerObject->setMarkingText( sr.markingText() );
if ( ! brokerObject->isPublishable() )
{
}
callObjectUpdateCallbacks( brokerObject );
if ( brokerObject->isDropped() )
{
return;
}
DtEntityPublisher* publisher =
static_cast<DtEntityPublisher*>( brokerObject->publisherPtr() );
assert( publisher );
DtEntityStateRepository& newSr = *(publisher->esr());
newSr.setMarkingText( sr.markingText() );
newSr.setPowerPlantOn( sr.powerPlantOn() );
newSr.setDamageState( (DtDamageState) sr.damageState() );
newSr.setEngineSmokeOn( sr.engineSmokeOn() );
newSr.setFlamesPresent( sr.flamesPresent() );
newSr.setHasFuelSupplyCap( sr.hasFuelSupplyCap() );
newSr.setHasRecoveryCap( sr.hasRecoveryCap() );
}
{
assert( brokerObject->protocol() == DtBrokerObject::hla );
return true;
}
{
assert( brokerObject->protocol() == DtBrokerObject::portal );
assert( reflectedObj );
if ( reflectedObj->sr()->entityType() == DtEntityType() )
{
return false;
}
return true;
}