VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtVrlinkAggregateKinStateVisualizer.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrlinkAggregateKinStateVisualizer.h,v $ $Revision: 1.43 $ $SceneObject: Exp $
00007 ******************************************************************************/
00008 
00013 
00014 #pragma once
00015 
00016 #include <vrvCore/DtAggregateKinStateVisualizer.h>
00017 #include <vrvVrl/DtVrlinkAggregateStateListener.h>
00018 
00019 namespace makVrv
00020 {
00021    namespace DT_PROTOCOL_NAMESPACE
00022    {
00027       class DL_DLL_IGCONVRLINK DtVrlinkAggregateKinStateVisualizer : public DtAggregateKinStateVisualizer
00028       {
00029       protected:
00030          enum DirtyBits
00031          {
00032             DirtyLocation           = 1 << 0,
00033             DirtyVelocity           = 1 << 1,
00034             DirtyAcceleration       = 1 << 2,
00035             DirtyOrientation        = 1 << 3,
00036             DirtyRotationalVelocity = 1 << 4,
00037          };
00038 
00039       public:
00040          DtVrlinkAggregateKinStateVisualizer(DtBaseConnection& simulation, DtStateListener& listener, int modelSet);
00041 
00042          virtual ~DtVrlinkAggregateKinStateVisualizer();
00043 
00044       public:
00045 
00047          virtual void createModelAgents();
00048 
00050          virtual void setLocation(const DtVector&);
00051 
00053          virtual void setOrientation(const DtTaitBryan&);
00054 
00056          virtual void setVelocity(const DtVector&);
00057 
00059          virtual void setAngularVelocity(const DtVector&);
00060 
00062          virtual void setAcceleration(const DtVector&);
00063 
00065          bool anythingDirty() const;
00066 
00067       protected:
00069          virtual void postUpdate();
00070 
00071          void flagLocationDirty();
00072          void flagVelocityDirty();
00073          void flagAccelerationDirty();
00074          void flagOrientationDirty();
00075          void flagRotationalVelocityDirty();
00076 
00077          void flagAllSpatialDirty();
00078 
00079          void makeClean();
00080 
00082          virtual void setHostGlobalId(const std::string& id);
00083 
00086          virtual void slot_aggregateCreated(DtVrlinkAggregateStateListener& esl);
00087 
00089          virtual void resetSpatialAttributes();
00090 
00092          virtual void setAlgorithm();
00093 
00095          virtual void setEntityType(const std::string& type);
00096 
00097          virtual void setSmoothingEnabled(bool b);
00098 
00099       protected:
00100          unsigned int myDirtyBits;
00101 
00103          DtVrlinkAggregateStateListener* myVrlinkListener;
00104 
00106          DtVrlinkConnection* myVrlinkSimulation;
00107 
00108          DtVector myLastTranslatedLocation;
00109          DtGlobalObjectDesignator myHostId;
00110       };
00111 
00112       typedef DtStateVisualizerCreatorTemplate<DtVrlinkAggregateKinStateVisualizer> DtVrlinkAggregateKinStateVisualizerCreator;
00113    }
00114 }

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)