![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtUniqueID.h> 00017 #include <vrvUtil/DtUnicode.h> 00018 #include <string> 00019 00020 class DtTaitBryan; 00021 class DtVector; 00022 00023 namespace makVrv 00024 { 00025 class DtAgentManagerInterface; 00026 class DtDeadReckonUpdaterAgent; 00027 class DtProjectedWidgetModelAgent; 00028 class DtSceneObjectAgent; 00029 class DtWidgetLabelAgent; 00030 00034 class DtEntity2dFacade 00035 { 00036 public: 00037 00039 DtEntity2dFacade(DtAgentManagerInterface& sceneInterface, 00040 DtElementID id, bool distribute = false); 00041 00043 virtual ~DtEntity2dFacade(); 00044 00048 00049 00051 virtual void setVisible(bool visible); 00052 00054 virtual bool visible() const; 00055 00057 virtual DtElementID elementID() const; 00058 00060 virtual int modelSet() const; 00061 00063 DtSceneObjectAgent& sceneObjectAgent(); 00064 00066 00069 00070 00074 virtual void setPosition(const DtVector& position); 00075 00081 virtual DtVector position() const; 00082 00086 virtual void setVelocity(const DtVector& velocity); 00087 00092 virtual DtVector velocity() const; 00093 00095 virtual void setAcceleration(const DtVector& acceleration); 00096 00101 virtual DtVector acceleration() const; 00102 00104 virtual void setOrientation(const DtTaitBryan& orientation); 00105 00107 virtual DtTaitBryan orientation() const; 00108 00110 virtual void setAngularVelocity(const DtVector& angularVelocity); 00111 00113 virtual DtVector angularVelocity() const; 00114 00116 00120 00121 00124 virtual void setDeadReckoningEnabled(bool position, bool velocity, 00125 bool orientation); 00126 00128 virtual void setSmoothingEnabled(bool enabled); 00129 00131 virtual void setSmoothingPeriod(float period); 00132 00134 00137 00138 00140 virtual void setIconModelDefinition(const std::string& modelDefinitionName); 00141 00142 virtual void setOutlineColor(const float color[4]); 00143 virtual void setFillColor(const float color[4]); 00144 00145 virtual void setOutlineGlyph(DtUnicodeChar glyph); 00146 virtual void setFillGlyph(DtUnicodeChar glyph); 00147 virtual void setDamageGlyph(DtUnicodeChar glyph); 00148 00149 virtual void setDamaged(bool damaged); 00150 bool damaged() const; 00151 00153 00154 protected: 00155 00156 virtual void updateIcon(); 00157 00158 virtual DtUnicode generateSymbolString(float fillColor[4], 00159 float outlineColor[4] ) const; 00160 00161 protected: 00162 DtElementID myElementId; 00163 unsigned int myModelSet; 00164 00165 DtSceneObjectAgent* mySceneObjectAgent; 00166 DtProjectedWidgetModelAgent* myProjectIconModelAgent; 00167 DtWidgetLabelAgent* mySymbolLabelAgent; 00168 DtDeadReckonUpdaterAgent* mySceneObjectUpdaterAgent; 00169 00170 DtUnicodeChar myOutlineGlyph; 00171 DtUnicodeChar myFillGlyph; 00172 DtUnicodeChar myDamageGlyph; 00173 DtUnicode mySymbolString; 00174 00175 bool myDamagedFlag; 00176 float myFillColor[4]; 00177 float myOutlineColor[4]; 00178 }; 00179 } 00180 00181 #define DtEntity2dFacade_INL_ 00182 #include <vrvCore/DtEntity2dFacade.inl> 00183 #undef DtEntity2dFacade_INL_