Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CUnityInputs.f90 14 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. module CUnityInputs
  2. ! use CVoidEventHandlerCollection
  3. implicit none
  4. type :: UnityInputsType
  5. logical :: ElevatorConnectionPossible
  6. logical :: JointConnectionPossible
  7. logical :: IsKellyBushingSetInTable
  8. logical :: ElevatorPickup
  9. logical :: NearFloorPosition
  10. logical :: SingleSetInMouseHole
  11. logical :: TdsConnectionPossible
  12. logical :: TdsStemIn
  13. ! private :: ElevatorConnectionPossible
  14. ! private :: JointConnectionPossible
  15. ! private :: IsKellyBushingSetInTable
  16. ! private :: ElevatorPickup
  17. ! private :: NearFloorPosition
  18. ! private :: SingleSetInMouseHole
  19. ! private :: TdsConnectionPossible
  20. ! private :: TdsStemIn
  21. ! public
  22. ! type(VoidEventHandlerCollection) :: OnElevatorConnectionPossibleChange
  23. ! type(VoidEventHandlerCollection) :: OnJointConnectionPossibleChange
  24. ! type(VoidEventHandlerCollection) :: OnIsKellyBushingSetInTableChange
  25. ! type(VoidEventHandlerCollection) :: OnElevatorPickupChange
  26. ! type(VoidEventHandlerCollection) :: OnNearFloorPositionChange
  27. ! type(VoidEventHandlerCollection) :: OnSingleSetInMouseHoleChange
  28. ! type(VoidEventHandlerCollection) :: OnTdsConnectionPossibleChange
  29. ! type(VoidEventHandlerCollection) :: OnTdsStemInChange
  30. end type UnityInputsType
  31. type(UnityInputsType)::UnityInputs
  32. contains
  33. ! Input routines
  34. ! subroutine Set_OutOfMouseHole(v)
  35. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_OutOfMouseHole
  36. ! !DEC$ ATTRIBUTES ALIAS: 'Set_OutOfMouseHole' :: Set_OutOfMouseHole
  37. ! implicit none
  38. ! logical, intent(in) :: v
  39. ! !#ifdef ExcludeExtraChanges
  40. ! ! if(OutOfMouseHole == v) return
  41. ! !#endif
  42. ! ! OutOfMouseHole = v
  43. ! ! call OnOutOfMouseHoleChange%RunAll()
  44. ! !#ifdef deb
  45. ! ! print*, 'OutOfMouseHole=', OutOfMouseHole
  46. ! !#endif
  47. ! end subroutine
  48. ! !logical function Get_OutOfMouseHole()
  49. ! ! implicit none
  50. ! ! Get_OutOfMouseHole = OutOfMouseHole
  51. ! !end function
  52. ! subroutine Set_Unlatch(v)
  53. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_Unlatch
  54. ! !DEC$ ATTRIBUTES ALIAS: 'Set_Unlatch' :: Set_Unlatch
  55. ! implicit none
  56. ! logical, intent(in) :: v
  57. ! !#ifdef ExcludeExtraChanges
  58. ! ! if(Unlatch == v) return
  59. ! !#endif
  60. ! ! Unlatch = v
  61. ! ! call OnUnlatchChange%RunAll()
  62. ! !#ifdef deb
  63. ! ! print*, 'Unlatch=', Unlatch
  64. ! !#endif
  65. ! end subroutine
  66. ! !logical function Get_Unlatch()
  67. ! ! implicit none
  68. ! ! Get_Unlatch = Unlatch
  69. ! !end function
  70. ! subroutine Set_Latch(v)
  71. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_Latch
  72. ! !DEC$ ATTRIBUTES ALIAS: 'Set_Latch' :: Set_Latch
  73. ! implicit none
  74. ! logical, intent(in) :: v
  75. ! !#ifdef ExcludeExtraChanges
  76. ! ! if(Latch == v) return
  77. ! !#endif
  78. ! ! Latch = v
  79. ! ! call OnLatchChange%RunAll()
  80. ! !#ifdef deb
  81. ! ! print*, 'Latch=', Latch
  82. ! !#endif
  83. ! end subroutine
  84. ! !logical function Get_Latch()
  85. ! ! implicit none
  86. ! ! Get_Latch = Latch
  87. ! !end function
  88. ! subroutine Set_SlipsUnSet(v)
  89. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_SlipsUnSet
  90. ! !DEC$ ATTRIBUTES ALIAS: 'Set_SlipsUnSet' :: Set_SlipsUnSet
  91. ! implicit none
  92. ! logical, intent(in) :: v
  93. ! !#ifdef ExcludeExtraChanges
  94. ! ! if(SlipsUnSet == v) return
  95. ! !#endif
  96. ! ! SlipsUnSet = v
  97. ! ! call OnSlipsUnSetChange%RunAll()
  98. ! !#ifdef deb
  99. ! ! print*, 'SlipsUnSet=', SlipsUnSet
  100. ! !#endif
  101. ! end subroutine
  102. ! !logical function Get_SlipsUnSet()
  103. ! ! implicit none
  104. ! ! Get_SlipsUnSet = SlipsUnSet
  105. ! !end function
  106. ! subroutine Set_SlipsSet(v)
  107. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_SlipsSet
  108. ! !DEC$ ATTRIBUTES ALIAS: 'Set_SlipsSet' :: Set_SlipsSet
  109. ! implicit none
  110. ! logical, intent(in) :: v
  111. ! !#ifdef ExcludeExtraChanges
  112. ! ! if(SlipsSet == v) return
  113. ! !#endif
  114. ! ! SlipsSet = v
  115. ! ! call OnSlipsSetChange%RunAll()
  116. ! !#ifdef deb
  117. ! ! print*, 'SlipsSet=', SlipsSet
  118. ! !#endif
  119. ! end subroutine
  120. ! !logical function Get_SlipsSet()
  121. ! ! implicit none
  122. ! ! Get_SlipsSet = SlipsSet
  123. ! !end function
  124. ! subroutine Set_BreakupTong(v)
  125. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_BreakupTong
  126. ! !DEC$ ATTRIBUTES ALIAS: 'Set_BreakupTong' :: Set_BreakupTong
  127. ! implicit none
  128. ! logical, intent(in) :: v
  129. ! !#ifdef ExcludeExtraChanges
  130. ! ! if(BreakupTong == v) return
  131. ! !#endif
  132. ! ! BreakupTong = v
  133. ! ! call OnBreakupTongChange%RunAll()
  134. ! !#ifdef deb
  135. ! ! print*, 'BreakupTong=', BreakupTong
  136. ! !#endif
  137. ! end subroutine
  138. ! !logical function Get_BreakupTong()
  139. ! ! implicit none
  140. ! ! Get_BreakupTong = BreakupTong
  141. ! !end function
  142. ! subroutine Set_MakeupTong(v)
  143. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_MakeupTong
  144. ! !DEC$ ATTRIBUTES ALIAS: 'Set_MakeupTong' :: Set_MakeupTong
  145. ! implicit none
  146. ! logical, intent(in) :: v
  147. ! !#ifdef ExcludeExtraChanges
  148. ! ! if(MakeupTong == v) return
  149. ! !#endif
  150. ! ! MakeupTong = v
  151. ! ! call OnMakeupTongChange%RunAll()
  152. ! !#ifdef deb
  153. ! ! print*, 'MakeupTong=', MakeupTong
  154. ! !#endif
  155. ! end subroutine
  156. ! !logical function Get_MakeupTong()
  157. ! ! implicit none
  158. ! ! Get_MakeupTong = MakeupTong
  159. ! !end function
  160. ! subroutine Set_NewHookHeight(v)
  161. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_NewHookHeight
  162. ! !DEC$ ATTRIBUTES ALIAS: 'Set_NewHookHeight' :: Set_NewHookHeight
  163. ! implicit none
  164. ! real(8), intent(in) :: v
  165. ! !#ifdef ExcludeExtraChanges
  166. ! ! if(NewHookHeight == v) return
  167. ! !#endif
  168. ! ! NewHookHeight = v
  169. ! ! call OnNewHookHeightChange%RunAll()
  170. ! !#ifdef deb
  171. ! ! print*, 'NewHookHeight=', NewHookHeight
  172. ! !#endif
  173. ! end subroutine
  174. ! !real(8) function Get_NewHookHeight()
  175. ! ! implicit none
  176. ! ! Get_NewHookHeight = NewHookHeight
  177. ! !end function
  178. ! subroutine Set_ElevatorConnectionPossible(v)
  179. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_ElevatorConnectionPossible
  180. ! !DEC$ ATTRIBUTES ALIAS: 'Set_ElevatorConnectionPossible' :: Set_ElevatorConnectionPossible
  181. ! implicit none
  182. ! logical, intent(in) :: v
  183. ! #ifdef ExcludeExtraChanges
  184. ! if(UnityInputs%ElevatorConnectionPossible == v) return
  185. ! #endif
  186. ! UnityInputs%ElevatorConnectionPossible = v
  187. ! !**call UnityInputs%OnElevatorConnectionPossibleChange%RunAll()
  188. ! #ifdef deb
  189. ! print*, 'ElevatorConnectionPossible=', UnityInputs%ElevatorConnectionPossible
  190. ! #endif
  191. ! end subroutine
  192. logical function Get_ElevatorConnectionPossible()
  193. implicit none
  194. Get_ElevatorConnectionPossible = UnityInputs%ElevatorConnectionPossible
  195. end function
  196. ! logical function Get_ElevatorConnectionPossible_WN()
  197. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_ElevatorConnectionPossible_WN
  198. ! !DEC$ ATTRIBUTES ALIAS: 'Get_ElevatorConnectionPossible_WN' :: Get_ElevatorConnectionPossible_WN
  199. ! implicit none
  200. ! Get_ElevatorConnectionPossible_WN = UnityInputs%ElevatorConnectionPossible
  201. ! !Get_ElevatorConnectionPossible_WN = .true.
  202. ! end function
  203. ! subroutine Set_JointConnectionPossible(v)
  204. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_JointConnectionPossible
  205. ! !DEC$ ATTRIBUTES ALIAS: 'Set_JointConnectionPossible' :: Set_JointConnectionPossible
  206. ! implicit none
  207. ! logical, intent(in) :: v
  208. ! #ifdef ExcludeExtraChanges
  209. ! if(UnityInputs%JointConnectionPossible == v) return
  210. ! #endif
  211. ! UnityInputs%JointConnectionPossible = v
  212. ! !**call UnityInputs%OnJointConnectionPossibleChange%RunAll()
  213. ! #ifdef deb
  214. ! print*, 'JointConnectionPossible=', UnityInputs%JointConnectionPossible
  215. ! #endif
  216. ! end subroutine
  217. logical function Get_JointConnectionPossible()
  218. implicit none
  219. Get_JointConnectionPossible = UnityInputs%JointConnectionPossible
  220. end function
  221. ! logical function Get_JointConnectionPossible_WN()
  222. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_JointConnectionPossible_WN
  223. ! !DEC$ ATTRIBUTES ALIAS: 'Get_JointConnectionPossible_WN' :: Get_JointConnectionPossible_WN
  224. ! implicit none
  225. ! Get_JointConnectionPossible_WN = UnityInputs%JointConnectionPossible
  226. ! end function
  227. ! subroutine Set_IsKellyBushingSetInTable(v)
  228. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_IsKellyBushingSetInTable
  229. ! !DEC$ ATTRIBUTES ALIAS: 'Set_IsKellyBushingSetInTable' :: Set_IsKellyBushingSetInTable
  230. ! implicit none
  231. ! logical, intent(in) :: v
  232. ! #ifdef ExcludeExtraChanges
  233. ! if(UnityInputs%IsKellyBushingSetInTable == v) return
  234. ! #endif
  235. ! UnityInputs%IsKellyBushingSetInTable = v
  236. ! !**call UnityInputs%OnIsKellyBushingSetInTableChange%RunAll()
  237. ! #ifdef deb
  238. ! print*, 'IsKellyBushingSetInTable=', UnityInputs%IsKellyBushingSetInTable
  239. ! #endif
  240. ! end subroutine
  241. logical function Get_IsKellyBushingSetInTable()
  242. implicit none
  243. Get_IsKellyBushingSetInTable = UnityInputs%IsKellyBushingSetInTable
  244. end function
  245. ! logical function Get_IsKellyBushingSetInTable_WN()
  246. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_IsKellyBushingSetInTable_WN
  247. ! !DEC$ ATTRIBUTES ALIAS: 'Get_IsKellyBushingSetInTable_WN' :: Get_IsKellyBushingSetInTable_WN
  248. ! implicit none
  249. ! Get_IsKellyBushingSetInTable_WN = UnityInputs%IsKellyBushingSetInTable
  250. ! end function
  251. ! subroutine Set_ElevatorPickup(v)
  252. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_ElevatorPickup
  253. ! !DEC$ ATTRIBUTES ALIAS: 'Set_ElevatorPickup' :: Set_ElevatorPickup
  254. ! implicit none
  255. ! logical, intent(in) :: v
  256. ! #ifdef ExcludeExtraChanges
  257. ! if(UnityInputs%ElevatorPickup == v) return
  258. ! #endif
  259. ! UnityInputs%ElevatorPickup = v
  260. ! !**call UnityInputs%OnElevatorPickupChange%RunAll()
  261. ! #ifdef deb
  262. ! print*, 'ElevatorPickup =', UnityInputs%ElevatorPickup
  263. ! #endif
  264. ! end subroutine
  265. logical function Get_ElevatorPickup()
  266. implicit none
  267. Get_ElevatorPickup = UnityInputs%ElevatorPickup
  268. end function
  269. ! logical function Get_ElevatorPickup_WN()
  270. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_ElevatorPickup_WN
  271. ! !DEC$ ATTRIBUTES ALIAS: 'Get_ElevatorPickup_WN' :: Get_ElevatorPickup_WN
  272. ! implicit none
  273. ! Get_ElevatorPickup_WN = UnityInputs%ElevatorPickup
  274. ! end function
  275. subroutine Set_NearFloorPosition(v)
  276. implicit none
  277. logical, intent(in) :: v
  278. #ifdef ExcludeExtraChanges
  279. if(UnityInputs%NearFloorPosition == v) return
  280. #endif
  281. UnityInputs%NearFloorPosition = v
  282. !**call UnityInputs%OnNearFloorPositionChange%RunAll()
  283. #ifdef deb
  284. print*, 'NearFloorPosition =', UnityInputs%NearFloorPosition
  285. #endif
  286. end subroutine
  287. ! subroutine Set_NearFloorPosition_WN(v)
  288. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_NearFloorPosition_WN
  289. ! !DEC$ ATTRIBUTES ALIAS: 'Set_NearFloorPosition_WN' :: Set_NearFloorPosition_WN
  290. ! implicit none
  291. ! logical, intent(in) :: v
  292. ! call Set_NearFloorPosition(v)
  293. ! end subroutine
  294. logical function Get_NearFloorPosition()
  295. implicit none
  296. Get_NearFloorPosition = UnityInputs%NearFloorPosition
  297. end function
  298. ! logical function Get_NearFloorPosition_WN()
  299. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_NearFloorPosition_WN
  300. ! !DEC$ ATTRIBUTES ALIAS: 'Get_NearFloorPosition_WN' :: Get_NearFloorPosition_WN
  301. ! implicit none
  302. ! Get_NearFloorPosition_WN = UnityInputs%NearFloorPosition
  303. ! end function
  304. ! subroutine Set_SingleSetInMouseHole(v)
  305. ! !DEC$ ATTRIBUTES DLLEXPORT :: Set_SingleSetInMouseHole
  306. ! !DEC$ ATTRIBUTES ALIAS: 'Set_SingleSetInMouseHole' :: Set_SingleSetInMouseHole
  307. ! implicit none
  308. ! logical, intent(in) :: v
  309. ! #ifdef ExcludeExtraChanges
  310. ! if(UnityInputs%SingleSetInMouseHole == v) return
  311. ! #endif
  312. ! UnityInputs%SingleSetInMouseHole = v
  313. ! !**call UnityInputs%OnSingleSetInMouseHoleChange%RunAll()
  314. ! #ifdef deb
  315. ! print*, 'singleSetInMouseHole=', UnityInputs%SingleSetInMouseHole
  316. ! #endif
  317. ! end subroutine
  318. logical function Get_SingleSetInMouseHole()
  319. implicit none
  320. Get_SingleSetInMouseHole = UnityInputs%SingleSetInMouseHole
  321. end function
  322. logical function Get_TdsConnectionPossible()
  323. implicit none
  324. Get_TdsConnectionPossible = UnityInputs%TdsConnectionPossible
  325. end function
  326. logical function Get_TdsStemIn()
  327. implicit none
  328. Get_TdsStemIn = UnityInputs%TdsStemIn
  329. end function
  330. ! logical function Get_TdsStemIn_WN()
  331. ! !DEC$ ATTRIBUTES DLLEXPORT :: Get_TdsStemIn_WN
  332. ! !DEC$ ATTRIBUTES ALIAS: 'Get_TdsStemIn_WN' :: Get_TdsStemIn_WN
  333. ! implicit none
  334. ! Get_TdsStemIn_WN = UnityInputs%TdsStemIn
  335. ! !Get_TdsStemIn_WN = .true.
  336. ! end function
  337. end module CUnityInputs