VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtAttributeGroupStateVisualizer.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00009 
00010 #pragma once
00011 #include <vrvCore/DtSceneObjectVisualizer.h>
00012 #include <vrvCore/DtRemoteGraphicVisualizerAttributes.h>
00013 #include <vrvCore/DtVisibilityAdapter.h>
00014 
00015 class DtVector;
00016 
00017 namespace makVrv
00018 {
00019    class DtAttributeGroupIndicator;
00020    class DtProjectedWidgetModelAgent;
00021    class DtAttachableDeadReckonUpdaterAgent;
00022 
00026    class DT_DLL_VRVCORE DtAttributeGroupStateVisualizer : 
00027       public DtSceneObjectVisualizer, 
00028       public DtRemoteGraphicVisualizerAttributes
00029    {
00030    public:
00031       DtAttributeGroupStateVisualizer(DtBaseConnection& simulation, 
00032          DtStateListener& listener, int modelSet);
00033 
00034       virtual ~DtAttributeGroupStateVisualizer();
00035 
00036 
00037       virtual void setColor(float r, float g, float b, float a);
00038 
00039       virtual void setFlashing(bool flashing);
00040 
00041       virtual void setPosition(const DtVector& pos);
00042 
00043       virtual void setAttached(DtUniqueID id, int vtx, double percentage);
00044 
00045       virtual void setHostId(const std::string& id, int vtx, double percentage);
00046 
00047       virtual void setVisible(bool yesNo);
00048 
00049       virtual void setAttribute(const std::string& name, double numVal,
00050          const std::string& imageFile, double yVal);
00051 
00052       virtual void setNoValueAttribute(const std::string& name, int index);
00053 
00054       virtual void setNumericAttribute(const std::string& name, int index,
00055          double val);
00056 
00057       virtual void setBarGraphAttribute(const std::string& name, int index,
00058          double val);
00059 
00060       virtual void setBitmapAttribute(const std::string& name, int index,
00061          const std::string& val);
00062 
00063       virtual void setGraphAttribute(const std::string& name, int index,
00064          double xVal, double yVal);
00065 
00066       virtual void setGroupTemplateName(const std::string& name);
00067 
00069       virtual const DtStateVisualizer::TypeInfo& typeInfo() const;
00070 
00072       static const DtStateVisualizer::TypeInfo& theTypeInfo();
00073 
00074    protected:
00075       virtual void createModelAgents();
00076 
00077       virtual void destroyModelAgents();
00078 
00079       virtual void setModelDefinitionForAgents();
00080 
00081       virtual void slot_mouseInChanged(bool mouseIn);
00082 
00083       virtual void slot_mouseButtonReleased(int button);
00084 
00085    protected:
00086       struct DtAttributeTemplateInfo
00087       {
00088          int index;
00089          int type;
00090          double numericValue;
00091          double yValue;
00092          std::string imageFilename;
00093          int graphUpdateNumber;
00094       };
00095       typedef std::map<std::string, DtAttributeTemplateInfo> AttributeInfoMap;
00096 
00097       AttributeInfoMap myAttributes;
00098       DtAttachableDeadReckonUpdaterAgent* myAttachedUpdaterAgent;
00099       DtVisibilityAdapter<DtAttributeGroupIndicator>* myVisibilityAdapter;
00100       DtAttributeGroupIndicator* myAttributeGroupIndicator;
00101       int myNumberOfAttributes;
00102       std::string myGroupTemplateName;
00103       
00104    };
00105 
00106    typedef DtStateVisualizerCreatorTemplate<DtAttributeGroupStateVisualizer>
00107       DtAttributeGroupStateVisualizerCreator;
00108 }

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)