RenderDataArray.lua 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. function RenderDataArray:__getvar(name)
  12. if name == "type" then
  13. return Polycode.RenderDataArray_get_type(self.__ptr)
  14. elseif name == "customArrayName" then
  15. return Polycode.RenderDataArray_get_customArrayName(self.__ptr)
  16. elseif name == "hasVBO" then
  17. return Polycode.RenderDataArray_get_hasVBO(self.__ptr)
  18. elseif name == "platformData" then
  19. local retVal = Polycode.RenderDataArray_get_platformData(self.__ptr)
  20. if retVal == nil then return nil end
  21. local __c = _G["void"]("__skip_ptr__")
  22. __c.__ptr = retVal
  23. return __c
  24. end
  25. end
  26. function RenderDataArray:__setvar(name,value)
  27. if name == "type" then
  28. Polycode.RenderDataArray_set_type(self.__ptr, value)
  29. return true
  30. elseif name == "customArrayName" then
  31. Polycode.RenderDataArray_set_customArrayName(self.__ptr, value)
  32. return true
  33. elseif name == "hasVBO" then
  34. Polycode.RenderDataArray_set_hasVBO(self.__ptr, value)
  35. return true
  36. elseif name == "platformData" then
  37. Polycode.RenderDataArray_set_platformData(self.__ptr, value.__ptr)
  38. return true
  39. end
  40. return false
  41. end
  42. function RenderDataArray:RenderDataArray(...)
  43. local arg = {...}
  44. for k,v in pairs(arg) do
  45. if type(v) == "table" then
  46. if v.__ptr ~= nil then
  47. arg[k] = v.__ptr
  48. end
  49. end
  50. end
  51. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  52. self.__ptr = Polycode.RenderDataArray(unpack(arg))
  53. end
  54. end
  55. function RenderDataArray:getArrayData()
  56. local retVal = Polycode.RenderDataArray_getArrayData(self.__ptr)
  57. if retVal == nil then return nil end
  58. local __c = _G["void"]("__skip_ptr__")
  59. __c.__ptr = retVal
  60. return __c
  61. end
  62. function RenderDataArray:getDataSize()
  63. local retVal = Polycode.RenderDataArray_getDataSize(self.__ptr)
  64. return retVal
  65. end
  66. function RenderDataArray:__delete()
  67. if self then Polycode.delete_RenderDataArray(self.__ptr) end
  68. end