VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtEntity2dFacade.h
Go to the documentation of this file.
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_

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)