![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvVrl/vrvVrl.h> 00016 #include <vrvCore/DtUniqueID.h> 00017 #include <vrvCore/DtSharedModelSetSettings.h> 00018 #include <vrvCore/DtElementEntry.h> 00019 #include <vrvUtil/DtUnicode.h> 00020 00021 #include <vector> 00022 00023 class DtEntityType; 00024 00025 namespace makVrv 00026 { 00027 class DtBaseConnection; 00028 00032 class DT_DLL_VRVVRL DtVrlinkElement 00033 { 00034 public: 00035 00037 DtVrlinkElement(DtBaseConnection& conn, DtElementID elementId); 00038 00039 virtual ~DtVrlinkElement(); 00040 00042 virtual void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets); 00043 00045 virtual void setVisible( bool visible ); 00046 00048 bool visible() const; 00049 00052 inline DtElementID elementID() const 00053 { 00054 return myElementId; 00055 } 00056 00059 const DtUnicode& definition() const; 00060 00062 virtual DtElementEntry::ObjectType elementType() const = 0; 00063 00064 protected: 00065 00067 void reportElementCreated(); 00069 void reportDisplayName(); 00071 void reportOverlayNameChanged(); 00073 void reportVisibility(); 00075 void reportDamageStateChanged(); 00076 00077 void updateEntityType( const DtEntityType& type ); 00078 00080 void slot_updateDisplayNameRaw(const char* text); 00081 00083 void slot_updateOverlayNameRaw(const char* text); 00084 00086 void slot_updateDisplayName(const std::string& text); 00087 00089 void slot_updateOverlayName(const std::string& pname); 00090 00092 void slot_updateDamageState(const unsigned int state); 00093 00094 virtual void getDefinitions( std::vector<DtUnicode>& definitions ) = 0; 00095 virtual void setModelSetEnabled( int modelSet, bool enabled ) = 0; 00096 00097 protected: 00098 DtBaseConnection& myBaseConnection; 00099 DtElementID myElementId; 00100 DtUnicode myElementDefinition; 00101 std::string myDisplayName; 00102 std::string myElementOverlayName; 00103 unsigned int myDamageState; 00104 bool myElementVisible; 00105 bool myElementReported; 00106 }; 00107 00108 } 00109