Compare commits
No commits in common. "5e92c691a8c35e86e9a148b78b48c38cd614d506" and "6830d3a81b61618b1d80c910bdd98d110c0ea363" have entirely different histories.
5e92c691a8
...
6830d3a81b
18
README.md
18
README.md
|
|
@ -1,19 +1,3 @@
|
|||
# blender-mapping-tools
|
||||
|
||||
Blender extension for creating maps
|
||||
|
||||
## Building
|
||||
|
||||
TODO: make a proper build system.
|
||||
|
||||
For Blender 4.4:
|
||||
|
||||
```sh
|
||||
pip download rasterio --dest ./wheels --only-binary==:all: --python-version=3.11
|
||||
# Or replcace ".." below with any directory.
|
||||
# blender_mapping_tools-0.1.0.zip will be placed in that directory.
|
||||
blender --command extension build --output-dir ..
|
||||
```
|
||||
|
||||
Then install `blender_mapping_tools-0.1.0.zip` as an extension in blender. It
|
||||
will add a "Mesh from GeoTIFF" option to the "Add" menu.
|
||||
Blender extension for creating maps
|
||||
|
|
@ -13,13 +13,13 @@ class GridVertexGenerator():
|
|||
self.grid_size_x = grid_size_x
|
||||
self.grid_size_y = grid_size_y
|
||||
self.dem_array = dem_array
|
||||
|
||||
|
||||
def __len__(self):
|
||||
return self.grid_size_x * self.grid_size_y
|
||||
|
||||
|
||||
def __iter__(self):
|
||||
return self._generator()
|
||||
|
||||
|
||||
def _generator(self):
|
||||
for j in range(self.grid_size_y):
|
||||
for i in range(self.grid_size_x):
|
||||
|
|
@ -36,13 +36,14 @@ class GridTriangleGenerator():
|
|||
self.cell_size_y = cell_size_x
|
||||
self.grid_size_x = grid_size_x
|
||||
self.grid_size_y = grid_size_y
|
||||
|
||||
|
||||
def __len__(self):
|
||||
#return (self.grid_size_x - 1) * (self.grid_size_y - 1) * 2
|
||||
return (self.grid_size_x - 1) * (self.grid_size_y - 1)
|
||||
|
||||
|
||||
def __iter__(self):
|
||||
return self._generator()
|
||||
|
||||
|
||||
def _generator(self):
|
||||
for i in range(self.grid_size_x - 1):
|
||||
for j in range(self.grid_size_y - 1):
|
||||
|
|
@ -51,7 +52,9 @@ class GridTriangleGenerator():
|
|||
v10 = j * self.grid_size_x + i + 1
|
||||
v11 = (j + 1) * self.grid_size_x + i + 1
|
||||
yield (v00, v10, v11, v01)
|
||||
|
||||
#yield (v00, v10, v01)
|
||||
#yield (v01, v10, v11)
|
||||
|
||||
|
||||
class CreateMeshFromGeotiffOperator(bpy.types.Operator, ImportHelper):
|
||||
"""Create a new object from a GeoTIFF"""
|
||||
|
|
@ -86,11 +89,15 @@ class CreateMeshFromGeotiffOperator(bpy.types.Operator, ImportHelper):
|
|||
print("Done.")
|
||||
mesh.validate(verbose=True)
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
def construct_mesh(self, grid_size_x, grid_size_y, cell_size_x, cell_size_y, dem_array):
|
||||
return (GridVertexGenerator(grid_size_x, grid_size_y, cell_size_x, cell_size_y, dem_array),
|
||||
[],
|
||||
GridTriangleGenerator(grid_size_x, grid_size_y, cell_size_x, cell_size_y))
|
||||
#grid_size_x = 10
|
||||
#grid_size_y = 15
|
||||
#cell_size_x = 0.75
|
||||
#cell_size_y = 0.5
|
||||
return (GridVertexGenerator(grid_size_x, grid_size_y, cell_size_x, cell_size_y, dem_array),
|
||||
[],
|
||||
GridTriangleGenerator(grid_size_x, grid_size_y, cell_size_x, cell_size_y))
|
||||
|
||||
def menu_func(self, context):
|
||||
self.layout.operator(CreateMeshFromGeotiffOperator.bl_idname,
|
||||
|
|
|
|||
Loading…
Reference in New Issue