mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 03:23:45 +01:00
Add VoxelArea() constructor (#12886)
This commit is contained in:
parent
7e11b8eb72
commit
8f1593e4e8
@ -8,7 +8,10 @@ VoxelArea = {
|
|||||||
zstride = 0,
|
zstride = 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
function VoxelArea:new(o)
|
local class_metatable = {}
|
||||||
|
setmetatable(VoxelArea, class_metatable)
|
||||||
|
|
||||||
|
local function new(self, o)
|
||||||
o = o or {}
|
o = o or {}
|
||||||
setmetatable(o, self)
|
setmetatable(o, self)
|
||||||
self.__index = self
|
self.__index = self
|
||||||
@ -20,6 +23,12 @@ function VoxelArea:new(o)
|
|||||||
return o
|
return o
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function class_metatable:__call(MinEdge, MaxEdge)
|
||||||
|
return new(self, {MinEdge = MinEdge, MaxEdge = MaxEdge})
|
||||||
|
end
|
||||||
|
|
||||||
|
VoxelArea.new = new
|
||||||
|
|
||||||
function VoxelArea:getExtent()
|
function VoxelArea:getExtent()
|
||||||
local MaxEdge, MinEdge = self.MaxEdge, self.MinEdge
|
local MaxEdge, MinEdge = self.MaxEdge, self.MinEdge
|
||||||
return vector_new(
|
return vector_new(
|
||||||
|
@ -4485,7 +4485,8 @@ Methods
|
|||||||
-----------
|
-----------
|
||||||
|
|
||||||
A helper class for voxel areas.
|
A helper class for voxel areas.
|
||||||
It can be created via `VoxelArea:new({MinEdge = pmin, MaxEdge = pmax})`.
|
It can be created via `VoxelArea(pmin, pmax)` or
|
||||||
|
`VoxelArea:new({MinEdge = pmin, MaxEdge = pmax})`.
|
||||||
The coordinates are *inclusive*, like most other things in Minetest.
|
The coordinates are *inclusive*, like most other things in Minetest.
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
@ -4533,7 +4534,7 @@ the axes in a voxel area:
|
|||||||
|
|
||||||
If, for example:
|
If, for example:
|
||||||
|
|
||||||
local area = VoxelArea:new({MinEdge = emin, MaxEdge = emax})
|
local area = VoxelArea(emin, emax)
|
||||||
|
|
||||||
The values of `ystride` and `zstride` can be obtained using `area.ystride` and
|
The values of `ystride` and `zstride` can be obtained using `area.ystride` and
|
||||||
`area.zstride`.
|
`area.zstride`.
|
||||||
|
Loading…
Reference in New Issue
Block a user