RenderDataArray.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. class "RenderDataArray"
  2. RenderDataArray.VERTEX_DATA_ARRAY = 0
  3. RenderDataArray.COLOR_DATA_ARRAY = 1
  4. RenderDataArray.NORMAL_DATA_ARRAY = 2
  5. RenderDataArray.TEXCOORD_DATA_ARRAY = 3
  6. RenderDataArray.TANGENT_DATA_ARRAY = 4
  7. RenderDataArray.BONE_WEIGHT_DATA_ARRAY = 5
  8. RenderDataArray.BONE_INDEX_DATA_ARRAY = 6
  9. RenderDataArray.INDEX_DATA_ARRAY = 7
  10. RenderDataArray.TEXCOORD2_DATA_ARRAY = 8
  11. RenderDataArray.CUSTOM_DATA_ARRAY1 = 9
  12. RenderDataArray.CUSTOM_DATA_ARRAY2 = 10
  13. RenderDataArray.CUSTOM_DATA_ARRAY3 = 11
  14. RenderDataArray.CUSTOM_DATA_ARRAY4 = 12
  15. RenderDataArray.UNKNOWN_DATA_ARRAY = 13
  16. function RenderDataArray:__getvar(name)
  17. if name == "type" then
  18. return Polycode.RenderDataArray_get_type(self.__ptr)
  19. elseif name == "customArrayName" then
  20. return Polycode.RenderDataArray_get_customArrayName(self.__ptr)
  21. end
  22. end
  23. function RenderDataArray:__setvar(name,value)
  24. if name == "type" then
  25. Polycode.RenderDataArray_set_type(self.__ptr, value)
  26. return true
  27. elseif name == "customArrayName" then
  28. Polycode.RenderDataArray_set_customArrayName(self.__ptr, value)
  29. return true
  30. end
  31. return false
  32. end
  33. function RenderDataArray:RenderDataArray(...)
  34. local arg = {...}
  35. for k,v in pairs(arg) do
  36. if type(v) == "table" then
  37. if v.__ptr ~= nil then
  38. arg[k] = v.__ptr
  39. end
  40. end
  41. end
  42. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  43. self.__ptr = Polycode.RenderDataArray(unpack(arg))
  44. end
  45. end
  46. function RenderDataArray:getArrayData()
  47. local retVal = Polycode.RenderDataArray_getArrayData(self.__ptr)
  48. if retVal == nil then return nil end
  49. local __c = _G["void"]("__skip_ptr__")
  50. __c.__ptr = retVal
  51. return __c
  52. end
  53. function RenderDataArray:getDataSize()
  54. local retVal = Polycode.RenderDataArray_getDataSize(self.__ptr)
  55. return retVal
  56. end
  57. function RenderDataArray:__delete()
  58. if self then Polycode.delete_RenderDataArray(self.__ptr) end
  59. end