BoneTrack.lua 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. class "BoneTrack"
  2. function BoneTrack:__index__(name)
  3. if name == "LocXVec" then
  4. retVal = Polycore.BoneTrack_get_LocXVec(self.__ptr)
  5. if Polycore.__ptr_lookup[retVal] ~= nil then
  6. return Polycore.__ptr_lookup[retVal]
  7. else
  8. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  9. Polycore.__ptr_lookup[retVal].__ptr = retVal
  10. return Polycore.__ptr_lookup[retVal]
  11. end
  12. elseif name == "LocYVec" then
  13. retVal = Polycore.BoneTrack_get_LocYVec(self.__ptr)
  14. if Polycore.__ptr_lookup[retVal] ~= nil then
  15. return Polycore.__ptr_lookup[retVal]
  16. else
  17. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  18. Polycore.__ptr_lookup[retVal].__ptr = retVal
  19. return Polycore.__ptr_lookup[retVal]
  20. end
  21. elseif name == "LocZVec" then
  22. retVal = Polycore.BoneTrack_get_LocZVec(self.__ptr)
  23. if Polycore.__ptr_lookup[retVal] ~= nil then
  24. return Polycore.__ptr_lookup[retVal]
  25. else
  26. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  27. Polycore.__ptr_lookup[retVal].__ptr = retVal
  28. return Polycore.__ptr_lookup[retVal]
  29. end
  30. elseif name == "ScaleXVec" then
  31. retVal = Polycore.BoneTrack_get_ScaleXVec(self.__ptr)
  32. if Polycore.__ptr_lookup[retVal] ~= nil then
  33. return Polycore.__ptr_lookup[retVal]
  34. else
  35. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  36. Polycore.__ptr_lookup[retVal].__ptr = retVal
  37. return Polycore.__ptr_lookup[retVal]
  38. end
  39. elseif name == "ScaleYVec" then
  40. retVal = Polycore.BoneTrack_get_ScaleYVec(self.__ptr)
  41. if Polycore.__ptr_lookup[retVal] ~= nil then
  42. return Polycore.__ptr_lookup[retVal]
  43. else
  44. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  45. Polycore.__ptr_lookup[retVal].__ptr = retVal
  46. return Polycore.__ptr_lookup[retVal]
  47. end
  48. elseif name == "ScaleZVec" then
  49. retVal = Polycore.BoneTrack_get_ScaleZVec(self.__ptr)
  50. if Polycore.__ptr_lookup[retVal] ~= nil then
  51. return Polycore.__ptr_lookup[retVal]
  52. else
  53. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  54. Polycore.__ptr_lookup[retVal].__ptr = retVal
  55. return Polycore.__ptr_lookup[retVal]
  56. end
  57. elseif name == "boneQuat" then
  58. retVal = Polycore.BoneTrack_get_boneQuat(self.__ptr)
  59. if Polycore.__ptr_lookup[retVal] ~= nil then
  60. return Polycore.__ptr_lookup[retVal]
  61. else
  62. Polycore.__ptr_lookup[retVal] = Quaternion("__skip_ptr__")
  63. Polycore.__ptr_lookup[retVal].__ptr = retVal
  64. return Polycore.__ptr_lookup[retVal]
  65. end
  66. elseif name == "QuatWVec" then
  67. retVal = Polycore.BoneTrack_get_QuatWVec(self.__ptr)
  68. if Polycore.__ptr_lookup[retVal] ~= nil then
  69. return Polycore.__ptr_lookup[retVal]
  70. else
  71. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  72. Polycore.__ptr_lookup[retVal].__ptr = retVal
  73. return Polycore.__ptr_lookup[retVal]
  74. end
  75. elseif name == "QuatXVec" then
  76. retVal = Polycore.BoneTrack_get_QuatXVec(self.__ptr)
  77. if Polycore.__ptr_lookup[retVal] ~= nil then
  78. return Polycore.__ptr_lookup[retVal]
  79. else
  80. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  81. Polycore.__ptr_lookup[retVal].__ptr = retVal
  82. return Polycore.__ptr_lookup[retVal]
  83. end
  84. elseif name == "QuatYVec" then
  85. retVal = Polycore.BoneTrack_get_QuatYVec(self.__ptr)
  86. if Polycore.__ptr_lookup[retVal] ~= nil then
  87. return Polycore.__ptr_lookup[retVal]
  88. else
  89. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  90. Polycore.__ptr_lookup[retVal].__ptr = retVal
  91. return Polycore.__ptr_lookup[retVal]
  92. end
  93. elseif name == "QuatZVec" then
  94. retVal = Polycore.BoneTrack_get_QuatZVec(self.__ptr)
  95. if Polycore.__ptr_lookup[retVal] ~= nil then
  96. return Polycore.__ptr_lookup[retVal]
  97. else
  98. Polycore.__ptr_lookup[retVal] = Vector3("__skip_ptr__")
  99. Polycore.__ptr_lookup[retVal].__ptr = retVal
  100. return Polycore.__ptr_lookup[retVal]
  101. end
  102. end
  103. end
  104. function BoneTrack:__set_callback(name,value)
  105. return false
  106. end
  107. function BoneTrack:BoneTrack(...)
  108. for k,v in pairs(arg) do
  109. if type(v) == "table" then
  110. if v.__ptr ~= nil then
  111. arg[k] = v.__ptr
  112. end
  113. end
  114. end
  115. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  116. self.__ptr = Polycore.BoneTrack(unpack(arg))
  117. Polycore.__ptr_lookup[self.__ptr] = self
  118. end
  119. end
  120. function BoneTrack:Play(once)
  121. local retVal = Polycore.BoneTrack_Play(self.__ptr, once)
  122. end
  123. function BoneTrack:Stop()
  124. local retVal = Polycore.BoneTrack_Stop(self.__ptr)
  125. end
  126. function BoneTrack:Update()
  127. local retVal = Polycore.BoneTrack_Update(self.__ptr)
  128. end
  129. function BoneTrack:setSpeed(speed)
  130. local retVal = Polycore.BoneTrack_setSpeed(self.__ptr, speed)
  131. end
  132. function BoneTrack:__delete()
  133. Polycore.__ptr_lookup[self.__ptr] = nil
  134. Polycore.delete_BoneTrack(self.__ptr)
  135. end