local util = include "util" local mixinHasAngle = mixin "_has" ("Angle") local Angle Angle = util.merge( mixinHasAngle, mixin "_has" ("AX"), mixin "_has" ("AY"), mixin "_has" ("AZ"), { setAngle = function(self, angle, ax, ay, az) self.angle = angle if (ax and ay and az) then self:setAX(ax) self:setAY(ay) self:setAZ(az) end return self end, getAngle = function(self) return self.angle, self:getAX(), self:getAY(), self:getAZ() end } ) return Angle