From 794c1d9e5c2d7a5fd293b74e97c8a8eefc9275ea Mon Sep 17 00:00:00 2001 From: brnkhy Date: Fri, 7 Apr 2017 19:39:47 +0300 Subject: [PATCH 1/4] add documentation pages for mesh generation, factories and modifiers --- documentation/docfx_project/docfx.json | 26 +++++++++++ documentation/docs/04-Visualization.md | 25 +++++++++++ .../Factories/MapImageFactory.md | 3 ++ .../MeshGeneration/Factories/MeshFactory.md | 45 +++++++++++++++++++ .../Factories/Modifiers/ChamferModifier.md | 3 ++ .../Factories/Modifiers/HeightModifier.md | 3 ++ .../Factories/Modifiers/LineMeshModifier.md | 3 ++ .../Modifiers/PolygonMeshModifier.md | 3 ++ .../Factories/Modifiers/TextureModifier.md | 3 ++ .../Factories/Modifiers/UvModifier.md | 3 ++ .../Factories/PoiLayerVisualizer.md | 3 ++ .../Factories/TerrainFactory.md | 3 ++ .../Factories/VectorLayerVisualizer.md | 3 ++ documentation/docs/toc.yml | 3 ++ 14 files changed, 129 insertions(+) create mode 100644 documentation/docs/04-Visualization.md create mode 100644 documentation/docs/MeshGeneration/Factories/MapImageFactory.md create mode 100644 documentation/docs/MeshGeneration/Factories/MeshFactory.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/ChamferModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/HeightModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/LineMeshModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/PolygonMeshModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/TextureModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/UvModifier.md create mode 100644 documentation/docs/MeshGeneration/Factories/PoiLayerVisualizer.md create mode 100644 documentation/docs/MeshGeneration/Factories/TerrainFactory.md create mode 100644 documentation/docs/MeshGeneration/Factories/VectorLayerVisualizer.md diff --git a/documentation/docfx_project/docfx.json b/documentation/docfx_project/docfx.json index 3e03762a2..10220d034 100644 --- a/documentation/docfx_project/docfx.json +++ b/documentation/docfx_project/docfx.json @@ -80,6 +80,32 @@ "_site/**" ] }, + { + "src": "../docs/MeshGeneration/Factories", + "dest": "docs/MeshGeneration/Factories", + "files": [ + "*.md", + "*.yml", + "toc.yml" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + }, + { + "src": "../docs/MeshGeneration/Factories/Modifiers", + "dest": "docs/MeshGeneration/Factories/Modifiers", + "files": [ + "*.md", + "*.yml", + "toc.yml" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + }, { //put docfx_project/toc.yml into _site root to get navigation bar on top "files": ["toc.yml"] } diff --git a/documentation/docs/04-Visualization.md b/documentation/docs/04-Visualization.md new file mode 100644 index 000000000..1a0440987 --- /dev/null +++ b/documentation/docs/04-Visualization.md @@ -0,0 +1,25 @@ +# Visualization + +## Map Controller + +Not a part of the Map Visualization structure but respresents the rest of the application and requests tiles from Map Visualization. + +## Map Visualization + +Core class of the visualization tree, keeps and manages the factories. + +###Factories + +Factories are wrappers around Mapbox Api end points like raster image or vector data. + +####[Terrain Factory](MeshGeneration/Factories/TerrainFactory.md) + +Factory responsible for creating the world base. + +####[Map Image Factory](MeshGeneration/Factories/MapImageFactory.md) + +Factory responsible for assigning materials and textures to the world base mesh. + +####[Mesh Factory](MeshGeneration/Factories/MeshFactory.md) + +Factory responsible for the visualization of vector data. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/MapImageFactory.md b/documentation/docs/MeshGeneration/Factories/MapImageFactory.md new file mode 100644 index 000000000..5ae6c7e08 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/MapImageFactory.md @@ -0,0 +1,3 @@ +# Map Image Factory + +Factory responsible for assigning materials and textures to the world base mesh. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/MeshFactory.md b/documentation/docs/MeshGeneration/Factories/MeshFactory.md new file mode 100644 index 000000000..d561da724 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/MeshFactory.md @@ -0,0 +1,45 @@ +# Mesh Factory + +Factory responsible for the visualization of vector data. + +##Layer Visualizers + +####[Vector Layer Visualizer](VectorLayerVisualizer.md) + +Creates visualization for polygon and line features in 3D space. + +####[Poi Layer Visualizer](PoiLayerVisualizer.md) + +Creates visualization for point features in 2D/3D space. + +##Mesh Modifiers + +Mesh Modifiers creates the data, like vertices, triangles, normals and UVs, to build meshes. + +####[Chamfer Modifier](Modifiers/ChamferModifier.md) + +Bevels corners and adds another vertex&line to craete a smoother corner. Work only with Polygon Mesh Modifier and used to create smooth building meshes. + +####[Polygon Mesh Modifier](Modifiers/PolygonMeshModifier.md) + +Creates polygon from a vertices of a polygon feature. Main used for creating building footprint, landuse, water etc meshes. + +####[Line Mesh Modifier](Modifiers/LineMeshModifier.md) + +Creates polygons from a vertices of a line feature. Mainly used for creating road, border, contour line meshes. + +####[Height Modifier](Modifiers/HeightModifier.md) + +Pushes a polygon up depending on the features height value and creates side walls down to features minimum height value or ground. + +####[UV Modifier](Modifiers/UvModifier.md) + +Creates UV map values for polygons. Works with Polygon Mesh Modifier. + +##Game Object Modifiers + +Game Object Modifiers works on and modifies an already existing game object with a mesh. + +####[Texture Modifier](Modifiers/TextureModifier.md) + +Changes the given game object's material. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/ChamferModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/ChamferModifier.md new file mode 100644 index 000000000..d7ebb4455 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/ChamferModifier.md @@ -0,0 +1,3 @@ +#Chamfer Modifier + +Bevels corners and adds another vertex&line to craete a smoother corner. Work only with Polygon Mesh Modifier and used to create smooth building meshes. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/HeightModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/HeightModifier.md new file mode 100644 index 000000000..329d9e4c0 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/HeightModifier.md @@ -0,0 +1,3 @@ +#Height Modifier + +Pushes a polygon up depending on the features height value and creates side walls down to features minimum height value or ground. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/LineMeshModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/LineMeshModifier.md new file mode 100644 index 000000000..10e8f8aad --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/LineMeshModifier.md @@ -0,0 +1,3 @@ +#Line Mesh Modifier + +Creates polygons from a vertices of a line feature. Mainly used for creating road, border, contour line meshes. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/PolygonMeshModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/PolygonMeshModifier.md new file mode 100644 index 000000000..2c45bd74f --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/PolygonMeshModifier.md @@ -0,0 +1,3 @@ +#Polygon Mesh Modifier + +Creates polygon from a vertices of a polygon feature. Main used for creating building footprint, landuse, water etc meshes. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/TextureModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/TextureModifier.md new file mode 100644 index 000000000..f63623c32 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/TextureModifier.md @@ -0,0 +1,3 @@ +#Texture Modifier + +Creates UV map values for polygons. Works with Polygon Mesh Modifier. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/UvModifier.md b/documentation/docs/MeshGeneration/Factories/Modifiers/UvModifier.md new file mode 100644 index 000000000..d4fd6be22 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/UvModifier.md @@ -0,0 +1,3 @@ +#UV Modifier + +Creates UV map values for polygons. Works with Polygon Mesh Modifier. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/PoiLayerVisualizer.md b/documentation/docs/MeshGeneration/Factories/PoiLayerVisualizer.md new file mode 100644 index 000000000..3511b17ef --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/PoiLayerVisualizer.md @@ -0,0 +1,3 @@ +#Poi Layer Visualizer + +Creates visualization for point features in 2D/3D space. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/TerrainFactory.md b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md new file mode 100644 index 000000000..be0d1657a --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md @@ -0,0 +1,3 @@ +# Terrain Factory + +Factory responsible for creating the world base. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/VectorLayerVisualizer.md b/documentation/docs/MeshGeneration/Factories/VectorLayerVisualizer.md new file mode 100644 index 000000000..a365a53df --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/VectorLayerVisualizer.md @@ -0,0 +1,3 @@ +#Vector Layer Visualizer + +Creates visualization for polygon and line features in 3D space. \ No newline at end of file diff --git a/documentation/docs/toc.yml b/documentation/docs/toc.yml index c7b577df0..cbe95c7a2 100644 --- a/documentation/docs/toc.yml +++ b/documentation/docs/toc.yml @@ -9,6 +9,9 @@ - name: Examples href: 03-examples.md + +- name: Visualization + href: 04-Visualization.md - name: HoloLens Development href: hololens-development.md \ No newline at end of file From 10f9ac8db22b54724f8463faeaf816fd9a5eae14 Mon Sep 17 00:00:00 2001 From: brnkhy Date: Mon, 10 Apr 2017 17:55:14 +0300 Subject: [PATCH 2/4] improved terrain factory documents add merged modifier stack documentation --- .../Factories/Images/flatterrain.png | Bin 0 -> 5760 bytes .../Factories/Images/modifiedterrain.png | Bin 0 -> 9178 bytes .../Factories/Images/realheight.png | Bin 0 -> 8351 bytes .../MeshGeneration/Factories/MeshFactory.md | 18 ++++++- .../Modifiers/MergedModifierStack.md | 3 ++ .../Factories/Modifiers/ModifierStack.md | 3 ++ .../Factories/TerrainFactory.md | 45 +++++++++++++++++- 7 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 documentation/docs/MeshGeneration/Factories/Images/flatterrain.png create mode 100644 documentation/docs/MeshGeneration/Factories/Images/modifiedterrain.png create mode 100644 documentation/docs/MeshGeneration/Factories/Images/realheight.png create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/MergedModifierStack.md create mode 100644 documentation/docs/MeshGeneration/Factories/Modifiers/ModifierStack.md diff --git a/documentation/docs/MeshGeneration/Factories/Images/flatterrain.png b/documentation/docs/MeshGeneration/Factories/Images/flatterrain.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e0b20352e13a24485d68b5333b6e8f41cbb324 GIT binary patch literal 5760 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 By!HS9 literal 0 HcmV?d00001 diff --git a/documentation/docs/MeshGeneration/Factories/Images/realheight.png b/documentation/docs/MeshGeneration/Factories/Images/realheight.png new file mode 100644 index 0000000000000000000000000000000000000000..860cf76f9b452ea84219a62803b9f92268277d4e GIT binary patch literal 8351 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 HUG#qeMdMvC literal 0 HcmV?d00001 diff --git a/documentation/docs/MeshGeneration/Factories/MeshFactory.md b/documentation/docs/MeshGeneration/Factories/MeshFactory.md index d561da724..e6c74e577 100644 --- a/documentation/docs/MeshGeneration/Factories/MeshFactory.md +++ b/documentation/docs/MeshGeneration/Factories/MeshFactory.md @@ -12,7 +12,21 @@ Creates visualization for polygon and line features in 3D space. Creates visualization for point features in 2D/3D space. -##Mesh Modifiers +##Modifier Stacks + +####[Modifier Stack](Modifiers/ModifierStack.md) + +Modifier stacks are pretty much styles for features. Stacks keep mesh & gameobject modifiers and run them on feature objects. This is the actual process creating visuals for features. + + +####[Merged Modifier Stack](Modifiers/MergedModifierStack.md) + +Works just like regular stacks but merges the mesh outputs. + +##Modifiers + + +###Mesh Modifiers Mesh Modifiers creates the data, like vertices, triangles, normals and UVs, to build meshes. @@ -36,7 +50,7 @@ Pushes a polygon up depending on the features height value and creates side wall Creates UV map values for polygons. Works with Polygon Mesh Modifier. -##Game Object Modifiers +###Game Object Modifiers Game Object Modifiers works on and modifies an already existing game object with a mesh. diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/MergedModifierStack.md b/documentation/docs/MeshGeneration/Factories/Modifiers/MergedModifierStack.md new file mode 100644 index 000000000..d8917a8f0 --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/MergedModifierStack.md @@ -0,0 +1,3 @@ +#Merged Modifier Stack + +Works just like regular stacks but merges the mesh outputs. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/Modifiers/ModifierStack.md b/documentation/docs/MeshGeneration/Factories/Modifiers/ModifierStack.md new file mode 100644 index 000000000..5949d93ad --- /dev/null +++ b/documentation/docs/MeshGeneration/Factories/Modifiers/ModifierStack.md @@ -0,0 +1,3 @@ +#Modifier Stack + +Modifier stacks are pretty much styles for features. Stacks keep mesh & gameobject modifiers and run them on feature objects. This is the actual process creating visuals for features. \ No newline at end of file diff --git a/documentation/docs/MeshGeneration/Factories/TerrainFactory.md b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md index be0d1657a..5a8be3017 100644 --- a/documentation/docs/MeshGeneration/Factories/TerrainFactory.md +++ b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md @@ -1,3 +1,46 @@ # Terrain Factory -Factory responsible for creating the world base. \ No newline at end of file +Terrain Factory creates the world base mesh. It's able to create flat terrain, real height terrain or modified terrain where real height is multiplied by a factor. + +####Parameters + +**Map Type**: Flat, Height or Modified Height. + +**Map ID Type**: Data source used in the *Height* and *Modified Height* map types. Default value is "mapbox.terrain-rgb". + +**Height Multiplier**: Used in *Modified Height* map type as a simple multiplier on queried terrain height. + +**Resolution**: Terrain is generated as a grid mesh and resolution represents the sample count on each edge of this grid. + +**Material**: Base material for the generated mesh. Will most likely be overridden by MapImageFactory but useful if you're not using it. + +**Update**: Update function recreates the terrain using current parameters. + +####Methods + +Terrain factory has three public methods; `Initialize`, `Register` and `Update` coming from the base `Factory` class. + +`Initialize` method clears and reinitalizes the registered tile list. Can be used as a reset method. + +`Register` method adds new tiles to the registered tiles list to be processed. + +`Update` method clears the mesh data for all tiles and recraetes them using current settings. Clearing the mesh data first is important for stitching tile edges to each other. + +And bunch of private methods; + +`Run` starts the processing of a tile and directs tile to different functions depending on the `Map Type` parameter. These methods can be extracted into external modules in the future. + + + + +##Flat Terrain + +![flat terrain](images/flatterrain.png) + +##Real Height + +![real height terrain](images/realheight.png) + +##Modified Terrain Height + +![modified terrain](images/modifiedterrain.png) \ No newline at end of file From 40beb93875fe5d9a935f227dc2d1a91489e99c9c Mon Sep 17 00:00:00 2001 From: brnkhy Date: Tue, 11 Apr 2017 00:05:10 +0300 Subject: [PATCH 3/4] improvements on terrain factory documentation --- documentation/docfx_project/docfx.json | 3 ++- .../docs/MeshGeneration/Factories/TerrainFactory.md | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/documentation/docfx_project/docfx.json b/documentation/docfx_project/docfx.json index 10220d034..29115d05f 100644 --- a/documentation/docfx_project/docfx.json +++ b/documentation/docfx_project/docfx.json @@ -115,7 +115,8 @@ "src": "../docs/", "dest": "docs", "files": [ - "images/**" + "images/**", + "MeshGeneration/Factories/Images/**" ], "exclude": [ "obj/**", diff --git a/documentation/docs/MeshGeneration/Factories/TerrainFactory.md b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md index 5a8be3017..9b1ec6d3c 100644 --- a/documentation/docs/MeshGeneration/Factories/TerrainFactory.md +++ b/documentation/docs/MeshGeneration/Factories/TerrainFactory.md @@ -26,11 +26,14 @@ Terrain factory has three public methods; `Initialize`, `Register` and `Update` `Update` method clears the mesh data for all tiles and recraetes them using current settings. Clearing the mesh data first is important for stitching tile edges to each other. -And bunch of private methods; -`Run` starts the processing of a tile and directs tile to different functions depending on the `Map Type` parameter. These methods can be extracted into external modules in the future. +Private method `Run` starts the processing of a tile and directs tile to different functions depending on the `Map Type` parameter. These methods can be extracted into external modules in the future. +`CreateTerrainHeight` fetches the data from the Mapbox server and passes it to `GenerateTerrainMesh` for mesh generation, which creates a grid and queries the data for height of each node in this grid. Mesh vertices, triangles, normals and UV map are all created and set in this function. +`FixStitches` method stitches the edges of terrain tiles to make it look continuous and smooth. + +`CreateFlatMesh` creates a quad as base mesh and doesn't use resolution. ##Flat Terrain From 6b28e70df0ac94737cebfb1050aa5cabf1527a93 Mon Sep 17 00:00:00 2001 From: David Rhodes Date: Wed, 19 Apr 2017 16:09:14 -0600 Subject: [PATCH 4/4] Renamed visualization to map factory and resolved numbering issue. --- .../{04-Visualization.md => 06-map-factory-framework.md} | 4 +++- documentation/docs/toc.yml | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) rename documentation/docs/{04-Visualization.md => 06-map-factory-framework.md} (75%) diff --git a/documentation/docs/04-Visualization.md b/documentation/docs/06-map-factory-framework.md similarity index 75% rename from documentation/docs/04-Visualization.md rename to documentation/docs/06-map-factory-framework.md index 1a0440987..3eec46a92 100644 --- a/documentation/docs/04-Visualization.md +++ b/documentation/docs/06-map-factory-framework.md @@ -1,4 +1,6 @@ -# Visualization +# Map Factory Framework + +This framework allows you to create and style your maps through factory and visualization abstractions. The system is intended to be designer-friendly by serializing configuration settings in `ScriptableObjects`. ## Map Controller diff --git a/documentation/docs/toc.yml b/documentation/docs/toc.yml index 5f4a06102..d2b2bdc51 100644 --- a/documentation/docs/toc.yml +++ b/documentation/docs/toc.yml @@ -9,9 +9,6 @@ - name: Examples href: 03-examples.md - -- name: Visualization - href: 04-Visualization.md - name: Attribution href: 04-attribution.md @@ -19,5 +16,8 @@ - name: Changelog href: 05-changelog.md +- name: Map Factory Framework + href: 06-map-factory-framework.md + - name: HoloLens Development href: hololens-development.md \ No newline at end of file