CDSLayerF.cpp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSLayerF.h"
  4. #include "ITS_OPLibF.h"
  5. #include "ITSMapF.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. //---------------------------------------------------------------------------
  9. TItsLayerManager *ItsLayerManager = NULL;
  10. //---------------------------------------------------------------------------
  11. /*
  12. * Layer Manager
  13. */
  14. TItsLayerManager::TItsLayerManager()
  15. {
  16. FLists.Push("CCTV", new TItsLayer("CCTV", LyrTp_Cctv, "CCTV"));
  17. FLists.Push("VMS", new TItsLayer("VMS", LyrTp_Vms, "VMS"));
  18. FLists.Push("VDS", new TItsLayer("VDS", LyrTp_Vds, "VDS"));
  19. FLists.Push("VDSDET", new TItsLayer("VDSDET", LyrTp_VdsDet, "VDS검지지점"));
  20. FLists.Push("VDSR", new TItsLayer("VDSR", LyrTp_VdsR, "VDS루프"));
  21. FLists.Push("VDSRDET", new TItsLayer("VDSRDET", LyrTp_VdsRDet, "VDS루프검지지점"));
  22. FLists.Push("VDSC", new TItsLayer("VDSC", LyrTp_VdsC, "VDS영상"));
  23. FLists.Push("VDSCDET", new TItsLayer("VDSCDET", LyrTp_VdsCDet, "VDS영상검지지점"));
  24. FLists.Push("AVI", new TItsLayer("AVI", LyrTp_Avi, "AVI"));
  25. FLists.Push("RSE", new TItsLayer("RSE", LyrTp_Rse, "RSE"));
  26. FLists.Push("DSRC", new TItsLayer("DSRC", LyrTp_Dsrc, "DSRC"));
  27. FLists.Push("PARK", new TItsLayer("PARK", LyrTp_Park, "주차장"));
  28. FLists.Push("PVMS", new TItsLayer("PVMS", LyrTp_PVms, "주차장VMS"));
  29. FLists.Push("BIT", new TItsLayer("BIT", LyrTp_Bit, "BIT"));
  30. FLists.Push("EVSP", new TItsLayer("EVSP", LyrTp_Evsp, "긴급차량운영교차로"));
  31. FLists.Push("SIG", new TItsLayer("SIG", LyrTp_Sig, "신호제어기"));
  32. FLists.Push("SIGDET", new TItsLayer("SIGDET", LyrTp_SigDet, "신호검지기"));
  33. FLists.Push("SIGNAL", new TItsLayer("SIGNAL", LyrTp_Signal, "신호현시"));
  34. FLists.Push("WCAM", new TItsLayer("WCAM", LyrTp_WCam, "웹카메라(CCTV)"));
  35. FLists.Push("CCAM", new TItsLayer("CCAM", LyrTp_CCam, "교차로감시카메라"));
  36. FLists.Push("ICAM", new TItsLayer("ICAM", LyrTp_ICam, "돌발감시카메라"));
  37. FLists.Push("CCOL", new TItsLayer("CCOL", LyrTp_CCol, "교차로수집시스템"));
  38. FLists.Push("SPCAM", new TItsLayer("SPCAM", LyrTp_SPCam, "생활방범 CCTV"));
  39. FLists.Push("EVENT", new TItsLayer("EVENT", LyrTp_Event, "이벤트"));
  40. FLists.Push("WTHR", new TItsLayer("WTHR", LyrTp_Wthr, "기상"));
  41. FLists.Push("ATMP", new TItsLayer("ATMP", LyrTp_Atmp, "기상예보"));
  42. FLists.Push("INCD", new TItsLayer("INCD", LyrTp_Incd, "돌발정보"));
  43. FLists.Push("CRS", new TItsLayer("CRS", LyrTp_Crs, "교차로교통량 교차로"));
  44. FLists.Push("CRSCAM", new TItsLayer("CRSCAM", LyrTp_CrsCam, "교차로교통량 카메라"));
  45. }
  46. //---------------------------------------------------------------------------
  47. TItsLayerManager::~TItsLayerManager()
  48. {
  49. }
  50. //---------------------------------------------------------------------------
  51. int TItsLayerManager::GetLayerIndex(String ALayerType)
  52. {
  53. TItsLayer *pLayer = FLists.Find(ALayerType);
  54. if (pLayer) return pLayer->Index;
  55. FOR_STL(TItsLayer*, pLayer, FLists)
  56. {
  57. if (pLayer->Name == ALayerType)
  58. {
  59. return pLayer->Index;
  60. }
  61. }
  62. #if 0
  63. if (ALayerType.Pos("교차로감시")) return 22;
  64. if (ALayerType.Pos("돌발상황감시")) return 23;
  65. if (ALayerType.Pos("CCTV")) return 5;
  66. #endif
  67. return -1;
  68. }
  69. //---------------------------------------------------------------------------
  70. String TItsLayerManager::GetLayerType(int ALayerIndex)
  71. {
  72. FOR_STL(TItsLayer*, pLayer, FLists)
  73. {
  74. if (pLayer->Index == ALayerIndex)
  75. {
  76. return pLayer->Type;
  77. }
  78. }
  79. return "";
  80. }
  81. //---------------------------------------------------------------------------
  82. String TItsLayerManager::GetLayerName(int ALayerIndex)
  83. {
  84. FOR_STL(TItsLayer*, pLayer, FLists)
  85. {
  86. if (pLayer->Index == ALayerIndex)
  87. {
  88. return pLayer->Name;
  89. }
  90. }
  91. return "";
  92. }
  93. //---------------------------------------------------------------------------
  94. String TItsLayerManager::GetLayerName(String ALayerType)
  95. {
  96. FOR_STL(TItsLayer*, pLayer, FLists)
  97. {
  98. if (pLayer->Type == ALayerType)
  99. {
  100. return pLayer->Name;
  101. }
  102. }
  103. return "";
  104. }
  105. //---------------------------------------------------------------------------
  106. void TItsLayerManager::ClearFacilityInfo()
  107. {
  108. FOR_STL(TItsLayer*, pLayer, FLists)
  109. {
  110. pLayer->Total = 0;
  111. pLayer->Normal = 0;
  112. pLayer->Error = 0;
  113. }
  114. }
  115. //---------------------------------------------------------------------------