DirectGlobals.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. from panda3d.core import Vec3, Point3, BitMask32
  2. UNPICKABLE = ['x-disc-visible', 'y-disc-visible', 'z-disc-visible',
  3. 'GridBack', 'unpickable']
  4. # For linmath operations
  5. X_AXIS = Vec3(1, 0, 0)
  6. Y_AXIS = Vec3(0, 1, 0)
  7. Z_AXIS = Vec3(0, 0, 1)
  8. NEG_X_AXIS = Vec3(-1, 0, 0)
  9. NEG_Y_AXIS = Vec3(0, -1, 0)
  10. NEG_Z_AXIS = Vec3(0, 0, -1)
  11. ZERO_VEC = ORIGIN = Vec3(0)
  12. UNIT_VEC = Vec3(1)
  13. ZERO_POINT = Point3(0)
  14. DIRECT_FLASH_DURATION = 1.5
  15. MANIPULATION_MOVE_DELAY = 0.65
  16. Q_EPSILON = 1e-10
  17. DIRECT_NO_MOD = 0
  18. DIRECT_SHIFT_MOD = 1
  19. DIRECT_CONTROL_MOD = 2
  20. DIRECT_ALT_MOD = 4
  21. SKIP_NONE = 0
  22. SKIP_HIDDEN = 1
  23. SKIP_BACKFACE = 2
  24. SKIP_CAMERA = 4
  25. SKIP_UNPICKABLE = 8
  26. SKIP_WIDGET = 16
  27. SKIP_ALL = SKIP_HIDDEN | SKIP_BACKFACE | SKIP_CAMERA | SKIP_UNPICKABLE | SKIP_WIDGET
  28. # bit flags for indicating how editable an object is
  29. EDIT_TYPE_UNMOVABLE = 1
  30. EDIT_TYPE_UNSCALABLE = 2
  31. EDIT_TYPE_UNROTATABLE = 4
  32. EDIT_TYPE_UNEDITABLE = EDIT_TYPE_UNMOVABLE | EDIT_TYPE_UNSCALABLE | EDIT_TYPE_UNROTATABLE
  33. # [gjeon] stuffs for new LE multi camera support
  34. LE_TOP_CAM_MASK = BitMask32.bit(0)
  35. LE_FRONT_CAM_MASK = BitMask32.bit(1)
  36. LE_LEFT_CAM_MASK = BitMask32.bit(2)
  37. LE_PERSP_CAM_MASK = BitMask32.bit(3)
  38. LE_CAM_MASKS = {'persp':LE_PERSP_CAM_MASK,
  39. 'left':LE_LEFT_CAM_MASK,
  40. 'front':LE_FRONT_CAM_MASK,
  41. 'top':LE_TOP_CAM_MASK}
  42. def LE_showInAllCam(nodePath):
  43. for camName, mask in LE_CAM_MASKS.items():
  44. nodePath.show(mask)
  45. def LE_showInOneCam(nodePath, thisCamName):
  46. LE_showInAllCam(nodePath)
  47. for camName, mask in LE_CAM_MASKS.items():
  48. if camName != thisCamName:
  49. nodePath.hide(mask)