ClusterConfig.py 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. from .ClusterClient import *
  2. # A dictionary of information for various cluster configurations.
  3. # Dictionary is keyed on cluster-config string
  4. # Each dictionary contains a list of display configurations, one for
  5. # each display in the cluster
  6. # Information that can be specified for each display:
  7. # display name: Name of display (used in Configrc to specify server)
  8. # display type: Used to flag client vs. server
  9. # pos: positional offset of display's camera from main cluster group
  10. # hpr: orientation offset of display's camera from main cluster group
  11. # focal length: display's focal length (in mm)
  12. # film size: display's film size (in inches)
  13. # film offset: offset of film back (in inches)
  14. # Note: Note, this overrides offsets specified in DirectCamConfig.py
  15. # For now we only specify frustum for first display region of configuration
  16. # TODO: Need to handle multiple display regions per cluster node and to
  17. # generalize to non cluster situations
  18. ClientConfigs = {
  19. 'single-server': [{'display name': 'display0',
  20. 'display mode': 'client',
  21. 'pos': Vec3(0),
  22. 'hpr': Vec3(0)}
  23. ],
  24. 'two-server': [{'display name': 'master',
  25. 'display mode': 'client',
  26. 'pos': Vec3(0),
  27. 'hpr': Vec3(0)},
  28. {'display name': 'la',
  29. 'pos': Vec3(0),
  30. 'hpr': Vec3(0)
  31. }
  32. ],
  33. 'three-server': [{'display name': 'master',
  34. 'display mode': 'client',
  35. 'pos': Vec3(0),
  36. 'hpr': Vec3(0)},
  37. {'display name': 'la',
  38. 'pos': Vec3(0),
  39. 'hpr': Vec3(0)
  40. },
  41. {'display name': 'lb',
  42. 'pos': Vec3(0),
  43. 'hpr': Vec3(0)
  44. }
  45. ],
  46. 'mono-cave': [{'display name': 'la',
  47. 'pos': Vec3(-0.105, -0.020, 5.000),
  48. 'hpr': Vec3(51.213, 0.000, 0.000),
  49. 'focal length': 0.809,
  50. 'film size': (1.000, 0.831),
  51. 'film offset': (0.000, 0.173),
  52. },
  53. {'display name': 'lb',
  54. 'display mode': 'client',
  55. 'pos': Vec3(-0.105, -0.020, 5.000),
  56. 'hpr': Vec3(-0.370, 0.000, 0.000),
  57. 'focal length': 0.815,
  58. 'film size': (1.000, 0.831),
  59. 'film offset': (0.000, 0.173),
  60. },
  61. {'display name': 'lc',
  62. 'pos': Vec3(-0.105, -0.020, 5.000),
  63. 'hpr': Vec3(-51.675, 0.000, 0.000),
  64. 'focal length': 0.820,
  65. 'film size': (1.000, 0.830),
  66. 'film offset': (-0.000, 0.173),
  67. },
  68. ],
  69. 'seamless-cave': [{'display name': 'master',
  70. 'display mode': 'client',
  71. 'pos': Vec3(-0.105, -0.020, 5.000),
  72. 'hpr': Vec3(-0.370, 0.000, 0.000),
  73. 'focal length': 0.815,
  74. 'film size': (1.000, 0.831),
  75. 'film offset': (0.000, 0.173),
  76. },
  77. {'display name': 'la',
  78. 'pos': Vec3(-0.105, -0.020, 5.000),
  79. 'hpr': Vec3(51.213, 0.000, 0.000),
  80. 'focal length': 0.809,
  81. 'film size': (1.000, 0.831),
  82. 'film offset': (0.000, 0.173),
  83. },
  84. {'display name': 'lb',
  85. 'pos': Vec3(-0.105, -0.020, 5.000),
  86. 'hpr': Vec3(-0.370, 0.000, 0.000),
  87. 'focal length': 0.815,
  88. 'film size': (1.000, 0.831),
  89. 'film offset': (0.000, 0.173),
  90. },
  91. {'display name': 'lc',
  92. 'pos': Vec3(-0.105, -0.020, 5.000),
  93. 'hpr': Vec3(-51.675, 0.000, 0.000),
  94. 'focal length': 0.820,
  95. 'film size': (1.000, 0.830),
  96. 'film offset': (-0.000, 0.173),
  97. },
  98. {'display name': 'ra',
  99. 'pos': Vec3(0.105, -0.020, 5.000),
  100. 'hpr': Vec3(51.675, 0.000, 0.000),
  101. 'focal length': 0.820,
  102. 'film size': (1.000, 0.830),
  103. 'film offset': (0.000, 0.173),
  104. },
  105. {'display name': 'rb',
  106. 'pos': Vec3(0.105, -0.020, 5.000),
  107. 'hpr': Vec3(0.370, 0.000, 0.000),
  108. 'focal length': 0.815,
  109. 'film size': (1.000, 0.831),
  110. 'film offset': (0.000, 0.173),
  111. },
  112. {'display name': 'rc',
  113. 'pos': Vec3(0.105, -0.020, 5.000),
  114. 'hpr': Vec3(-51.213, 0.000, 0.000),
  115. 'focal length': 0.809,
  116. 'film size': (1.000, 0.831),
  117. 'film offset': (-0.000, 0.173),
  118. },
  119. ],
  120. 'ursula': [{'display name': 'master',
  121. 'display mode': 'client',
  122. 'pos': Vec3(0),
  123. 'hpr': Vec3(0),
  124. },
  125. {'display name': 'l',
  126. 'pos': Vec3(-.105, 0, 0),
  127. 'hpr': Vec3(0, 0, 0),
  128. 'focal length': 15,
  129. 'film size': (13.33, 10),
  130. #'film offset': (0.105, -2),
  131. 'film offset': (0.105, -1),
  132. },
  133. {'display name': 'r',
  134. 'pos': Vec3(.105, 0, 0),
  135. 'hpr': Vec3(0, 0, 0),
  136. 'focal length': 15,
  137. 'film size': (13.33, 10),
  138. #'film offset': (-0.105, -2),
  139. 'film offset': (-0.105, -1),
  140. }
  141. ],
  142. 'composite': [{'display name': 'master',
  143. 'display mode': 'client',
  144. 'pos': Vec3(0),
  145. },
  146. {'display name': 'left',
  147. 'pos': Vec3(-0.105, -0.020, 5.000),
  148. 'hpr': Vec3(-0.370, 0.000, 0.000),
  149. 'focal length': 0.815,
  150. 'film size': (1.000, 0.831),
  151. 'film offset': (0.000, 0.173),
  152. },
  153. {'display name': 'right',
  154. 'pos': Vec3(0.105, -0.020, 5.000),
  155. 'hpr': Vec3(0.370, 0.000, 0.000),
  156. 'focal length': 0.815,
  157. 'film size': (1.000, 0.831),
  158. 'film offset': (0.000, 0.173),
  159. }
  160. ],
  161. }