VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtVrlinkEntityKinStateVisualizer.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrlinkEntityKinStateVisualizer.h,v $ $Revision: 1.43 $ $SceneObject: Exp $
00007 ******************************************************************************/
00008 
00013 
00014 #pragma once
00015 #include <vrvCore/DtEntityKinStateVisualizer.h>
00016 #include <vrvVrl/DtVrlinkEntityStateListener.h>
00017 
00018 namespace makVrv
00019 {
00020    namespace DT_PROTOCOL_NAMESPACE
00021    {
00022       class DL_DLL_IGCONVRLINK DtVrlinkEntityKinStateVisualizer : public DtEntityKinStateVisualizer
00023       {
00024       protected:
00025          enum DirtyBits
00026          {
00027             DirtyLocation           = 1 << 0,
00028             DirtyVelocity           = 1 << 1,
00029             DirtyAcceleration       = 1 << 2,
00030             DirtyOrientation        = 1 << 3,
00031             DirtyRotationalVelocity = 1 << 4,
00032          };
00033 
00034       public:
00035          DtVrlinkEntityKinStateVisualizer(DtBaseConnection& simulation, DtStateListener& listener, int modelSet);
00036 
00037          virtual ~DtVrlinkEntityKinStateVisualizer();
00038 
00039       public:
00040 
00042          virtual void createModelAgents();
00043 
00045          virtual void setLocation(const DtVector&);
00046 
00048          virtual void setOrientation(const DtTaitBryan&);
00049 
00051          virtual void setVelocity(const DtVector&);
00052 
00054          virtual void setAngularVelocity(const DtVector&);
00055 
00057          virtual void setAcceleration(const DtVector&);
00058 
00060          bool anythingDirty() const;
00061 
00062       protected:
00064          virtual void postUpdate();
00065 
00066          void flagLocationDirty();
00067          void flagVelocityDirty();
00068          void flagAccelerationDirty();
00069          void flagOrientationDirty();
00070          void flagRotationalVelocityDirty();
00071 
00072          void flagAllSpatialDirty();
00073 
00074          void makeClean();
00075 
00077          virtual void setHostGlobalId(const std::string& id);
00078 
00081          virtual void slot_entityCreated(DtVrlinkEntityStateListener& esl);
00082 
00084          virtual void resetSpatialAttributes();
00085 
00087          virtual void setAlgorithm();
00088 
00090          virtual void setEntityType(const std::string& type);
00091 
00093          virtual void orientationClampingChanged(bool enabled);
00094 
00096          virtual void lifeformsUprightChanged(bool enabled);
00097 
00098          virtual void setSmoothingEnabled(bool b);
00099 
00100       protected:
00101          unsigned int myDirtyBits;
00102 
00104          DtVrlinkEntityStateListener* myVrlinkListener;
00105 
00107          DtVrlinkConnection* myVrlinkConnection;
00108 
00109          DtVector myLastTranslatedLocation;
00110          DtGlobalObjectDesignator myHostToBeCreated;
00111       };
00112 
00113       typedef DtStateVisualizerCreatorTemplate<DtVrlinkEntityKinStateVisualizer> DtVrlinkEntityKinStateVisualizerCreator;
00114    }
00115 }

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)