Lua_api.txt: Add documentation of VoxelArea 'ystride', 'zstride' (#9415)
authorParamat <paramat@users.noreply.github.com>
Sat, 22 Feb 2020 01:11:33 +0000 (01:11 +0000)
committerGitHub <noreply@github.com>
Sat, 22 Feb 2020 01:11:33 +0000 (01:11 +0000)
doc/lua_api.txt

index fe5b1a6261256da632e2dd7a175bf1c7ac5a9478..a16c083c8bcb371fcddeead26b816d5e8e50ece2 100644 (file)
@@ -3746,7 +3746,7 @@ Methods
 -----------
 
 A helper class for voxel areas.
-It can be created via `VoxelArea:new{MinEdge=pmin, MaxEdge=pmax}`.
+It can be created via `VoxelArea:new{MinEdge = pmin, MaxEdge = pmax}`.
 The coordinates are *inclusive*, like most other things in Minetest.
 
 ### Methods
@@ -3777,6 +3777,28 @@ The coordinates are *inclusive*, like most other things in Minetest.
       `[z [y [x]]]`.
 * `iterp(minp, maxp)`: same as above, except takes a vector
 
+### Y stride and z stride of a flat array
+
+For a particular position in a voxel area, whose flat array index is known,
+it is often useful to know the index of a neighboring or nearby position.
+The table below shows the changes of index required for 1 node movements along
+the axes in a voxel area:
+
+    Movement    Change of index
+    +x          +1
+    -x          -1
+    +y          +ystride
+    -y          -ystride
+    +z          +zstride
+    -z          -zstride
+
+If, for example:
+
+    local area = VoxelArea:new{MinEdge = emin, MaxEdge = emax}
+
+The values of `ystride` and `zstride` can be obtained using `area.ystride` and
+`area.zstride`.
+