RenderDataArray.lua 2.0 KB

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