llfloatertelehub.h

Go to the documentation of this file.
00001 
00033 #ifndef LL_LLFLOATERTELEHUB_H
00034 #define LL_LLFLOATERTELEHUB_H
00035 
00036 #include "llfloater.h"
00037 
00038 class LLMessageSystem;
00039 class LLObjectSelection;
00040 
00041 const S32 MAX_SPAWNPOINTS_PER_TELEHUB = 16;
00042 
00043 class LLFloaterTelehub : public LLFloater
00044 {
00045 public:
00046         // Opens the floater on screen.
00047         static void show();
00048 
00049         virtual void draw();
00050 
00051         static BOOL renderBeacons();
00052         static void addBeacons();
00053 
00054 private:
00055         LLFloaterTelehub();
00056         ~LLFloaterTelehub();
00057 
00058         void refresh();
00059         void sendTelehubInfoRequest();
00060 
00061         static void onClickConnect(void* data);
00062         static void onClickDisconnect(void* data);
00063         static void onClickAddSpawnPoint(void* data);
00064         static void onClickRemoveSpawnPoint(void* data);
00065 
00066         static void processTelehubInfo(LLMessageSystem* msg, void**);
00067         void unpackTelehubInfo(LLMessageSystem* msg);
00068 
00069 private:
00070         LLUUID mTelehubObjectID;        // null if no telehub
00071         LLString mTelehubObjectName;
00072         LLVector3 mTelehubPos;  // region local, fallback if viewer can't see the object
00073         LLQuaternion mTelehubRot;
00074 
00075         S32 mNumSpawn;
00076         LLVector3 mSpawnPointPos[MAX_SPAWNPOINTS_PER_TELEHUB];
00077         
00078         LLHandle<LLObjectSelection> mObjectSelection;
00079 
00080         static LLFloaterTelehub* sInstance;
00081 };
00082 
00083 #endif

Generated on Thu Jul 1 06:08:36 2010 for Second Life Viewer by  doxygen 1.4.7