00001 /*************************************************************************** 00002 *cr 00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 00004 *cr University of Illinois 00005 *cr All Rights Reserved 00006 *cr 00007 *cr VRJuggler patches contributed by Martijn Kragtwijk: m.kragtwijk@rug.nl 00008 *cr 00009 ***************************************************************************/ 00010 00011 /*************************************************************************** 00012 * RCS INFORMATION: 00013 * 00014 * $RCSfile: VRJugglerSharedData.h,v $ 00015 * $Author: johns $ $Locker: $ $State: Exp $ 00016 * $Revision: 1.4 $ $Date: 2019年01月17日 21:21:02 $ 00017 * 00018 *************************************************************************** 00019 * DESCRIPTION: 00020 * a VRJuggler specific data sharing code for VMD 00021 ***************************************************************************/ 00022 #ifndef VRJUGGLER_SHAREDDATA_H 00023 #define VRJUGGLER_SHAREDDATA_H 00024 00025 #include <vpr/IO/SerializableObject.h> 00026 #include <vpr/IO/ObjectReader.h> 00027 #include <vpr/IO/ObjectWriter.h> 00028 #include <plugins/ApplicationDataManager/UserData.h> 00029 00032 class VRJugglerSharedData : public vpr::SerializableObject 00033 { 00034 public: 00035 virtual vpr::ReturnStatus readObject(vpr::ObjectReader* reader); 00036 00037 virtual vpr::ReturnStatus writeObject(vpr::ObjectWriter* writer); 00038 00039 void appendCommand(char const *); // append the command 00040 00041 public: 00042 std::vector<std::string> commandStrings; /* this is the data that is shared */ 00043 /* could use a queue? */ 00044 }; 00045 00049 class OsgNavigator 00050 { 00051 00052 00053 public: 00054 OsgNavigator() 00055 {;} 00056 00057 void init(); 00058 00059 void update(float delta); 00060 00061 private: 00062 00064 cluster::UserData<VRJugglerSharedData> mNavData; 00065 }; 00066 00067 #endif /* VRJUGGLER_SHAREDDATA_H */