2
0

BezierCurve.lua 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. class "BezierCurve"
  2. function BezierCurve:__getvar(name)
  3. if name == "evaluationAccuracy" then
  4. return Polycode.BezierCurve_get_evaluationAccuracy(self.__ptr)
  5. end
  6. end
  7. function BezierCurve:__setvar(name,value)
  8. if name == "evaluationAccuracy" then
  9. Polycode.BezierCurve_set_evaluationAccuracy(self.__ptr, value)
  10. return true
  11. end
  12. return false
  13. end
  14. function BezierCurve:BezierCurve(...)
  15. local arg = {...}
  16. for k,v in pairs(arg) do
  17. if type(v) == "table" then
  18. if v.__ptr ~= nil then
  19. arg[k] = v.__ptr
  20. end
  21. end
  22. end
  23. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  24. self.__ptr = Polycode.BezierCurve(unpack(arg))
  25. end
  26. end
  27. function BezierCurve:getNumControlPoints()
  28. local retVal = Polycode.BezierCurve_getNumControlPoints(self.__ptr)
  29. return retVal
  30. end
  31. function BezierCurve:addControlPoint(p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z)
  32. local retVal = Polycode.BezierCurve_addControlPoint(self.__ptr, p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z)
  33. end
  34. function BezierCurve:addControlPoint3dWithHandles(p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z)
  35. local retVal = Polycode.BezierCurve_addControlPoint3dWithHandles(self.__ptr, p1x, p1y, p1z, p2x, p2y, p2z, p3x, p3y, p3z)
  36. end
  37. function BezierCurve:addControlPoint3d(x, y, z)
  38. local retVal = Polycode.BezierCurve_addControlPoint3d(self.__ptr, x, y, z)
  39. end
  40. function BezierCurve:addControlPoint2dWithHandles(p1x, p1y, p2x, p2y, p3x, p3y)
  41. local retVal = Polycode.BezierCurve_addControlPoint2dWithHandles(self.__ptr, p1x, p1y, p2x, p2y, p3x, p3y)
  42. end
  43. function BezierCurve:addControlPoint2d(x, y)
  44. local retVal = Polycode.BezierCurve_addControlPoint2d(self.__ptr, x, y)
  45. end
  46. function BezierCurve:getPointAt(a)
  47. local retVal = Polycode.BezierCurve_getPointAt(self.__ptr, a)
  48. if retVal == nil then return nil end
  49. local __c = _G["Vector3"]("__skip_ptr__")
  50. __c.__ptr = retVal
  51. return __c
  52. end
  53. function BezierCurve:clearControlPoints()
  54. local retVal = Polycode.BezierCurve_clearControlPoints(self.__ptr)
  55. end
  56. function BezierCurve:getYValueAtX(x)
  57. local retVal = Polycode.BezierCurve_getYValueAtX(self.__ptr, x)
  58. return retVal
  59. end
  60. function BezierCurve:getTValueAtX(x)
  61. local retVal = Polycode.BezierCurve_getTValueAtX(self.__ptr, x)
  62. return retVal
  63. end
  64. function BezierCurve:setHeightCacheResolution(resolution)
  65. local retVal = Polycode.BezierCurve_setHeightCacheResolution(self.__ptr, resolution)
  66. end
  67. function BezierCurve:rebuildHeightCache()
  68. local retVal = Polycode.BezierCurve_rebuildHeightCache(self.__ptr)
  69. end
  70. function BezierCurve:recalculateDistances()
  71. local retVal = Polycode.BezierCurve_recalculateDistances(self.__ptr)
  72. end
  73. function BezierCurve:__delete()
  74. if self then Polycode.delete_BezierCurve(self.__ptr) end
  75. end