![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEntityDataInterface.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00015 00016 #pragma once 00017 00018 #include <vrfGuiCore/vrfGuiCore.h> 00019 #include <vrfGuiCore/DtVrfVrlinkDataInterface.h> 00020 #include <vrvCore/DtEntityState.h> 00021 #include <vrfGuiCore/DtIffStateData.h> 00022 00023 namespace makVrf 00024 { 00028 class DT_DLL_VRFGUICORE DtEntityDataInterface : public DtVrfVrlinkDataInterface 00029 { 00030 public: 00031 DtEntityDataInterface(makVrv::DtDe&); 00032 virtual ~DtEntityDataInterface(); 00033 00037 virtual void setStateView(const makVrv::DtStateView<makVrv::DtSimState>*); 00038 00040 virtual makVrv::DtElementEntry::ElementType type() const; 00041 00043 virtual DtVector location(Representation rep = Local) const; 00044 00046 virtual std::string label() const; 00047 00049 virtual DtTaitBryan orientation(Representation rep = Local) const; 00050 00052 virtual DtVector velocity(Representation rep = Local) const; 00053 00055 virtual DtVector acceleration(Representation rep = Local) const; 00056 00058 virtual double heading() const; 00059 00061 virtual makVrv::DtElementID embarkedOn() const; 00062 00064 virtual std::vector<makVrv::DtElementID> objectsEmbarked() const; 00065 00067 virtual makVrv::DtElementID superior() const; 00068 00070 makVrv::DtStateView<makVrv::DtVrlinkSimulatedEntityState>* entityStateView() const 00071 { 00072 return myEntityStateView; 00073 } 00074 00077 makVrv::DtStateView<DtIffStateData>* iffStateDataView() const 00078 { 00079 return myIffStateDataView; 00080 } 00081 00082 protected: 00084 virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry&); 00085 00086 protected: 00087 makVrv::DtStateView<makVrv::DtVrlinkSimulatedEntityState>* myEntityStateView; 00088 makVrv::DtStateView<DtIffStateData>* myIffStateDataView; 00089 }; 00090 00091 typedef DtObjectDataInterfaceCreator<DtEntityDataInterface> DtEntityDataInterfaceCreator; 00092 00093 typedef DtBoost::shared_ptr<DtEntityDataInterface> DtEntityDataInterfacePtr; 00094 }