VR-Forces 4.0.4 Class Documentation
include/vrfmodel/disaggregatedEmbarkationController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: disaggregatedEmbarkationController.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef disaggregatedEmbarkationController_H_
00016 #define disaggregatedEmbarkationController_H_
00017 
00018 #include "vrfmodel/embarkationController.h"
00019 #include "vrfobjcore/orgViewManagedObjList.h"
00020 #include "vrfobjcore/cmdChanRadio.h"
00021 
00022 class DtVrfAggregateStateRepository;
00023 class DtSetDataRequest;
00024 class DtSubordinateManager;
00025 class DtAggregateEmbarkationDescriptor;
00026 
00045 #include "vrfmodel/vrfmodelDefines.h"
00046 class DT_DLL_vrfmodel DtDisaggregatedEmbarkationController : public DtEmbarkationController
00047 {
00048 public:
00051    DtDisaggregatedEmbarkationController(const DtString& name, 
00052       DtVrfObject* owner,
00053       DtSimManager* simManager, 
00054       DtComponentDescriptor* desc = 0,
00055       DtReaderWriterRegistry* parentRegistry = 0);
00056 
00058    virtual ~DtDisaggregatedEmbarkationController();
00059 
00062    virtual DtString type() const;
00063 
00067    static DtSimComponent * creator(const DtString& name, 
00068       DtVrfObject* owner,
00069       DtSimManager* simManager, 
00070       DtComponentDescriptor* desc = 0,
00071       DtReaderWriterRegistry* parentRegistry = 0);
00072 
00074    virtual bool init();
00075 
00076 protected:
00082    virtual void moveToIngress(const DtString& parent);
00083 
00085    virtual void preprocessEmbarkTask();
00086 
00088    virtual void moveToEgress();
00089 
00091    virtual void preprocessDisembarkTask();
00092 
00095    virtual void sendTaskToSubordinate(const DtSimTask& task, 
00096       const DtString& subordinateObjectName) const;
00097 
00100    virtual void sendSetDataToSubordinate(const DtSetDataRequest& setData,
00101       const DtString& subordinateObjectName) const;
00102 
00105    virtual void atEmbarkationPoint();
00106 
00108    virtual void tick();
00109 
00114    virtual void checkEmbarkationState();
00115 
00118    virtual void embarkObject(bool overridePosition, 
00119       const DtVector& loadPosition, 
00120       const DtString& parentName, int appearance = 0xFFFFFFFF, 
00121       const DtTaitBryan& orientation = DtTaitBryan(),
00122       const DtVector& acceleration = DtVector(), 
00123       const DtVector& velocty = DtVector());
00124 
00127    virtual void unloadObject(const DtVector& unloadPoint);
00128 
00129    virtual void setupTaskableSubordiantes();
00130 
00133    virtual void processTaskComplete(DtSimMessage * msg);
00134 
00136    virtual void processEmbarkObjectCallback(DtSimMessage* msg);
00137    virtual void processDisembarkObjectCallback(DtSimMessage* msg);
00138 
00140    virtual void clearTask();
00141 
00143    virtual void registerTaskMsgCallbacks();
00144 
00145 private:
00146    
00148    DtDisaggregatedEmbarkationController();
00149 
00151    DtDisaggregatedEmbarkationController(const DtDisaggregatedEmbarkationController & 
00152       orig);
00153 
00155    const DtDisaggregatedEmbarkationController & operator=(const 
00156       DtDisaggregatedEmbarkationController & orig);
00157 
00158 protected:
00159 
00162    DtVrfAggregateStateRepository* myAggregateStateRepository;
00163 
00167    DtCommandChannelRadio*  myCommandRadio;
00168 
00170    DtAggregateEmbarkationDescriptor*  myAggregateEmbarkationDescriptor;
00171 
00174    DtOrgViewManagedObjectListConstPtr myTaskableSubordinates;
00175 };
00176 
00177 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)