RenderDataArray.lua 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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:getDataSize()
  47. local retVal = Polycode.RenderDataArray_getDataSize(self.__ptr)
  48. return retVal
  49. end
  50. function RenderDataArray:__delete()
  51. if self then Polycode.delete_RenderDataArray(self.__ptr) end
  52. end