00001 00009 #ifndef SELECTMGR_H 00010 #define SELECTMGR_H 00011 00012 #include "IS3DCommon.H" 00013 #include "DrawObj.H" 00014 00015 namespace IS3D { 00016 00017 class SelectMgr 00018 { 00019 public: 00020 // checks point intersection with visible objects, returns first 00021 // object found that is selectable and visible or NULL if none are 00022 // found 00023 static DrawObjRef findSelectedObjRoomPt(const Vector3 &pr); 00024 static DrawObjRef findSelectedObjVirtualPt(const Vector3 &pv); 00025 static DrawObjRef findSelectedObj(const Vector3 &pointRoom, 00026 const Vector3 &pointVirtual); 00027 00028 static void clearSelection(); 00029 static void addToSelection(DrawObjRef obj); 00030 static void removeFromSelection(DrawObjRef obj); 00031 00032 static bool selectionContains(DrawObjRef d); 00033 static int getNumSelected(); 00034 static DrawObjRef getSelectedObj(const int i); 00035 00036 protected: 00037 static Array<DrawObjRef> _selected; 00038 }; 00039 00040 } 00041 #endif