VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtManualRotaryWingEncumberedFlightActuator

DtManualRotaryWingEncumberedFlightActuator accepts a DtSetEncumbranceRequest.


Header file:

/*******************************************************************************
** Copyright (c) 2016 VT MAK, Inc.
** All rights reserved.
*******************************************************************************/
#pragma once
namespace vrfAddSetEncumbranceExample
{
class DtManualRotaryWingEncumberedFlightActuator : public DtRotaryWingEncumberedFlightActuator
{
public:
DtLocalObject* owner,
DtSimulationServices* simManager,
DtReaderWriterRegistry* parentRegistry = 0);
virtual bool init();
virtual void tick();
static DtSimComponent * creator(const DtString& name,
DtLocalObject* owner,
DtSimulationServices* simManager,
DtReaderWriterRegistry* parentRegistry = 0);
static void setEncumbranceCallback(DtSimMessage * msg, void * usrData);
protected:
private:
protected:
};
}

Implementation:

/*******************************************************************************
** Copyright (c) 2021 VT MAK, Inc.
** All rights reserved.
*******************************************************************************/
#include <assert.h>
#include <math.h>
// VR-Link includes
#include <vlutil/vlString.h>
#include <vlutil/vlPrint.h>
#include <vlpi/entityTypes.h>
// addSetEncumbranceSim
namespace vrfAddSetEncumbranceExample
{
// constructor
DtReaderWriterRegistry* parentRegistry)
: DtRotaryWingEncumberedFlightActuator(name, owner, simManager, desc, parentRegistry)
{
}
// destructor
DtManualRotaryWingEncumberedFlightActuator::~DtManualRotaryWingEncumberedFlightActuator()
{
}
DtSimComponent* DtManualRotaryWingEncumberedFlightActuator::creator(const DtString& name,
DtReaderWriterRegistry* parentRegistry)
{
return new DtManualRotaryWingEncumberedFlightActuator(name, owner, simManager, desc,
parentRegistry);
}
{
{
return false;
}
setEncumbranceCallback, (void *) this);
return true;
}
void DtManualRotaryWingEncumberedFlightActuator::processSetEncumbranceCallback(DtSimMessage * msg)
{
DtSetDataRequestMessage* drMsg = dynamic_cast<DtSetDataRequestMessage*>(msg);
DtSetEncumbranceRequest* req = dynamic_cast<DtSetEncumbranceRequest*>(drMsg->setDataRequest());
if (req)
{
myWeightPayload = req->encumbrance();
myApplyEncumberanceFlag = true;
}
}
void DtManualRotaryWingEncumberedFlightActuator::setEncumbranceCallback(DtSimMessage * msg, void * usrData)
{
DtManualRotaryWingEncumberedFlightActuator* pAct = static_cast<DtManualRotaryWingEncumberedFlightActuator*>(usrData);
if (pAct)
{
pAct->processSetEncumbranceCallback(msg);
}
}
void DtManualRotaryWingEncumberedFlightActuator::tick()
{
DtPROFILE("DtManualRotaryWingEncumberedFlightActuator::tick");
// apply the results
return;
}
}

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)