![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtAttributeGroupObject.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 #pragma once 00009 00014 00015 #include <map> 00016 00017 #include <vlutil/vlString.h> 00018 00019 #include <vrvDrawControl/vrvDrawControlDefines.h> 00020 00021 #include <vrvDrawControl/DtDrawControlObject.h> 00022 #include <vrvDrawControl/DtVdc3DAttachPoint.h> 00023 #include <vrvDrawControl/DtVdcColor.h> 00024 #include <vrvDrawControl/DtAttributeValue.h> 00025 00026 #include <vrfExtObjects/3dGraphicalObjectStateRecord.h> 00027 #include <vrfExtObjects/attributeStateRecord.h> 00028 #include <vl/envPoint.h> 00029 00030 00031 namespace vrvControlToolkit 00032 { 00033 class DtAttributeGroupTemplateObject; 00034 00041 class DT_DLL_VRVDRAWCONTROL DtAttributeGroupObject : public DtDrawControlObject 00042 { 00043 public: 00061 DtAttributeGroupObject(DtExerciseConn* exConn, unsigned id, 00062 DtAttributeGroupTemplateObject* pTemplate, 00063 const DtVdc3DAttachPoint& attachment, 00064 const DtVector& enuOffset = DtVector::zero(), 00065 DtVdcColor color = DtVdcColor::DtVdcWhite, bool flashing = false); 00066 00067 // \brief Virtual destructor 00068 virtual ~DtAttributeGroupObject(); 00069 00070 private: 00075 DtAttributeGroupObject(); 00076 00080 DtAttributeGroupObject(const DtAttributeGroupObject& orig); 00081 00085 DtAttributeGroupObject& operator=(const DtAttributeGroupObject& rhs); 00086 00087 00088 public: 00094 virtual DtAttributeGroupTemplateObject* attributeGroupTemplate() const; 00095 00102 virtual const DtVdc3DAttachPoint& attachment() const; 00103 00108 virtual void setAttachment(const DtVdc3DAttachPoint& attachment); 00109 00115 virtual const DtVector& offset() const; 00116 00121 virtual void setOffset(const DtVector& enuOffset); 00122 00128 virtual const DtVdcColor& color() const; 00129 00135 virtual void setColor (const DtVdcColor& color); 00136 00143 virtual bool flashing() const; 00144 00151 virtual void setFlashing(bool flashing); 00152 00160 virtual DtString bmpAttributeValue(const DtString& attName) const; 00161 00171 virtual void setBmpAttributeValue(const DtString& attName, const DtString& filename); 00172 00181 virtual double numericAttributeValue(const DtString& attName) const; 00182 00192 virtual void setNumericAttributeValue(const DtString& attName, double xVal); 00193 00204 virtual double valueBarAttributeValue(const DtString& attName) const; 00205 00218 virtual void setValueBarAttributeValue(const DtString& attName, double xVal); 00219 00230 virtual double graphAttributeValueX(const DtString& attName) const; 00231 00243 virtual void setGraphAttributeValueX(const DtString& attName, double xVal); 00244 00253 virtual double graphAttributeValueY(const DtString& attName) const; 00254 00264 virtual void setGraphAttributeValueY(const DtString& attName, double yVal); 00265 00275 virtual DtVdcAttributeValueMap& attributeValueMap(); 00276 00277 virtual void setRemoteGraphicSet(const std::string& setName); 00278 00287 virtual void update(); 00288 00289 protected: 00290 virtual void createAttributes(); 00291 virtual void destroyAttributes(); 00292 virtual void copyAttributes(const DtVdcAttributeValueMap& valueMap); 00293 00294 protected: 00295 DtEnvironmentalPointRecord myPointRecord; 00296 Dt3DGraphicalObjectStateRecord myGraphicObjectStateRecord; 00297 DtAttributeStateRecord myAttributeStateRecord; 00298 00299 DtVdc3DAttachPoint myAttachment; 00300 DtVector myEnuOffset; 00301 DtVdcColor myColor; 00302 bool myFlashing; 00303 DtAttributeGroupTemplateObject* myAttributeGroupTemplate; 00304 DtVdcAttributeValueMap myValueMap; 00305 }; 00306 }