OpenGeodeWeb-Viewer 1.13.4rc1__py3-none-any.whl → 1.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py +42 -0
  2. opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py +4 -0
  3. opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.json +25 -0
  4. opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.py +12 -0
  5. opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.json +22 -0
  6. opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.py +12 -0
  7. opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.json +25 -0
  8. opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.py +12 -0
  9. opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.json +22 -0
  10. opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.py +12 -0
  11. opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py +32 -0
  12. opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py +2 -0
  13. opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.json +25 -0
  14. opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.py +12 -0
  15. opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.json +22 -0
  16. opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.py +12 -0
  17. opengeodeweb_viewer/rpc/mesh/mesh_protocols.py +33 -1
  18. opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py +22 -0
  19. opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py +2 -0
  20. opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.json +25 -0
  21. opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.py +12 -0
  22. opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.json +22 -0
  23. opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.py +12 -0
  24. opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py +48 -0
  25. opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py +4 -0
  26. opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.json +25 -0
  27. opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.py +12 -0
  28. opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.json +22 -0
  29. opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.py +12 -0
  30. opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.json +25 -0
  31. opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.py +12 -0
  32. opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.json +22 -0
  33. opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.py +12 -0
  34. opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py +51 -0
  35. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py +4 -0
  36. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.json +25 -0
  37. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.py +12 -0
  38. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.json +22 -0
  39. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.py +12 -0
  40. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.json +25 -0
  41. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.py +12 -0
  42. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.json +22 -0
  43. opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.py +12 -0
  44. opengeodeweb_viewer/vtk_protocol.py +1 -0
  45. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/METADATA +2 -2
  46. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/RECORD +50 -18
  47. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/WHEEL +0 -0
  48. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/entry_points.txt +0 -0
  49. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/licenses/LICENSE +0 -0
  50. {opengeodeweb_viewer-1.13.4rc1.dist-info → opengeodeweb_viewer-1.14.0.dist-info}/top_level.txt +0 -0
@@ -63,3 +63,45 @@ class VtkMeshCellsView(VtkMeshView):
63
63
  )
64
64
  params = schemas.CellAttribute.from_dict(rpc_params)
65
65
  self.displayAttributeOnCells(params.id, params.name)
66
+
67
+ @exportRpc(
68
+ mesh_cells_prefix + mesh_cells_schemas_dict["vertex_scalar_range"]["rpc"]
69
+ )
70
+ def setMeshCellsVertexScalarRange(self, rpc_params: RpcParams) -> None:
71
+ validate_schema(
72
+ rpc_params,
73
+ self.mesh_cells_schemas_dict["vertex_scalar_range"],
74
+ self.mesh_cells_prefix,
75
+ )
76
+ params = schemas.VertexScalarRange.from_dict(rpc_params)
77
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
78
+
79
+ @exportRpc(mesh_cells_prefix + mesh_cells_schemas_dict["cell_scalar_range"]["rpc"])
80
+ def setMeshCellsCellScalarRange(self, rpc_params: RpcParams) -> None:
81
+ validate_schema(
82
+ rpc_params,
83
+ self.mesh_cells_schemas_dict["cell_scalar_range"],
84
+ self.mesh_cells_prefix,
85
+ )
86
+ params = schemas.CellScalarRange.from_dict(rpc_params)
87
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
88
+
89
+ @exportRpc(mesh_cells_prefix + mesh_cells_schemas_dict["vertex_color_map"]["rpc"])
90
+ def setMeshCellsVertexColorMap(self, rpc_params: RpcParams) -> None:
91
+ validate_schema(
92
+ rpc_params,
93
+ self.mesh_cells_schemas_dict["vertex_color_map"],
94
+ self.mesh_cells_prefix,
95
+ )
96
+ params = schemas.VertexColorMap.from_dict(rpc_params)
97
+ self.setupColorMap(params.id, params.points)
98
+
99
+ @exportRpc(mesh_cells_prefix + mesh_cells_schemas_dict["cell_color_map"]["rpc"])
100
+ def setMeshCellsCellColorMap(self, rpc_params: RpcParams) -> None:
101
+ validate_schema(
102
+ rpc_params,
103
+ self.mesh_cells_schemas_dict["cell_color_map"],
104
+ self.mesh_cells_prefix,
105
+ )
106
+ params = schemas.CellColorMap.from_dict(rpc_params)
107
+ self.setupColorMap(params.id, params.points)
@@ -1,4 +1,8 @@
1
1
  from .visibility import *
2
+ from .vertex_scalar_range import *
3
+ from .vertex_color_map import *
2
4
  from .vertex_attribute import *
3
5
  from .color import *
6
+ from .cell_scalar_range import *
7
+ from .cell_color_map import *
4
8
  from .cell_attribute import *
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class CellColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "cell_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class CellScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class VertexColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "vertex_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class VertexScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -49,3 +49,35 @@ class VtkMeshEdgesView(VtkMeshView):
49
49
  )
50
50
  params = schemas.Width.from_dict(rpc_params)
51
51
  self.SetEdgesWidth(params.id, params.width)
52
+
53
+ @exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["vertex_attribute"]["rpc"])
54
+ def setMeshEdgesVertexAttribute(self, rpc_params: RpcParams) -> None:
55
+ validate_schema(
56
+ rpc_params,
57
+ self.mesh_edges_schemas_dict["vertex_attribute"],
58
+ self.mesh_edges_prefix,
59
+ )
60
+ params = schemas.VertexAttribute.from_dict(rpc_params)
61
+ self.displayAttributeOnVertices(params.id, params.name)
62
+
63
+ @exportRpc(
64
+ mesh_edges_prefix + mesh_edges_schemas_dict["vertex_scalar_range"]["rpc"]
65
+ )
66
+ def setMeshEdgesVertexScalarRange(self, rpc_params: RpcParams) -> None:
67
+ validate_schema(
68
+ rpc_params,
69
+ self.mesh_edges_schemas_dict["vertex_scalar_range"],
70
+ self.mesh_edges_prefix,
71
+ )
72
+ params = schemas.VertexScalarRange.from_dict(rpc_params)
73
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
74
+
75
+ @exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["vertex_color_map"]["rpc"])
76
+ def setMeshEdgesVertexColorMap(self, rpc_params: RpcParams) -> None:
77
+ validate_schema(
78
+ rpc_params,
79
+ self.mesh_edges_schemas_dict["vertex_color_map"],
80
+ self.mesh_edges_prefix,
81
+ )
82
+ params = schemas.VertexColorMap.from_dict(rpc_params)
83
+ self.setupColorMap(params.id, params.points)
@@ -1,5 +1,7 @@
1
1
  from .width import *
2
2
  from .visibility import *
3
+ from .vertex_scalar_range import *
4
+ from .vertex_color_map import *
3
5
  from .vertex_attribute import *
4
6
  from .size import *
5
7
  from .color import *
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class VertexColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "vertex_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class VertexScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -4,7 +4,12 @@ import os
4
4
  # Third party imports
5
5
  from wslink import register as exportRpc # type: ignore
6
6
  from vtkmodules.vtkIOXML import vtkXMLGenericDataObjectReader, vtkXMLImageDataReader
7
- from vtkmodules.vtkRenderingCore import vtkDataSetMapper, vtkActor, vtkTexture
7
+ from vtkmodules.vtkRenderingCore import (
8
+ vtkDataSetMapper,
9
+ vtkActor,
10
+ vtkTexture,
11
+ vtkColorTransferFunction,
12
+ )
8
13
  from vtkmodules.vtkCommonDataModel import vtkDataSet, vtkCellTypes
9
14
  from vtkmodules.vtkCommonExecutionModel import vtkAlgorithm
10
15
  from opengeodeweb_microservice.database.data import Data
@@ -146,3 +151,30 @@ class VtkMeshView(VtkObjectView):
146
151
  mapper.ScalarVisibilityOn()
147
152
  mapper.SetScalarModeToUseCellData()
148
153
  mapper.SetScalarRange(cells.GetScalars().GetRange())
154
+
155
+ def displayScalarRange(self, data_id: str, minimum: float, maximum: float) -> None:
156
+ data = self.get_object(data_id)
157
+ data.mapper.SetScalarRange(minimum, maximum)
158
+ if hasattr(data, "color_map_points") and data.color_map_points:
159
+ lut = vtkColorTransferFunction()
160
+ for ratio, red, green, blue in data.color_map_points:
161
+ scalar_value = minimum + ratio * (maximum - minimum)
162
+ lut.AddRGBPoint(scalar_value, red / 255, green / 255, blue / 255)
163
+ data.mapper.SetLookupTable(lut)
164
+
165
+ def setupColorMap(self, data_id: str, points: list[list[float]]) -> None:
166
+ data = self.get_object(data_id)
167
+ sorted_points = sorted(points, key=lambda x: x[0])
168
+ points_min = sorted_points[0][0]
169
+ points_max = sorted_points[-1][0]
170
+ points_range = points_max - points_min if points_max != points_min else 1.0
171
+
172
+ data.color_map_points = []
173
+ for point in sorted_points:
174
+ ratio = (point[0] - points_min) / points_range
175
+ data.color_map_points.append([ratio, *point[1:]])
176
+
177
+ data.mapper.InterpolateScalarsBeforeMappingOn()
178
+
179
+ minimum, maximum = data.mapper.GetScalarRange()
180
+ self.displayScalarRange(data_id, minimum, maximum)
@@ -59,3 +59,25 @@ class VtkMeshPointsView(VtkMeshView):
59
59
  )
60
60
  params = schemas.VertexAttribute.from_dict(rpc_params)
61
61
  self.displayAttributeOnVertices(params.id, params.name)
62
+
63
+ @exportRpc(
64
+ mesh_points_prefix + mesh_points_schemas_dict["vertex_scalar_range"]["rpc"]
65
+ )
66
+ def setMeshPointsVertexScalarRange(self, rpc_params: RpcParams) -> None:
67
+ validate_schema(
68
+ rpc_params,
69
+ self.mesh_points_schemas_dict["vertex_scalar_range"],
70
+ self.mesh_points_prefix,
71
+ )
72
+ params = schemas.VertexScalarRange.from_dict(rpc_params)
73
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
74
+
75
+ @exportRpc(mesh_points_prefix + mesh_points_schemas_dict["vertex_color_map"]["rpc"])
76
+ def setMeshPointsVertexColorMap(self, rpc_params: RpcParams) -> None:
77
+ validate_schema(
78
+ rpc_params,
79
+ self.mesh_points_schemas_dict["vertex_color_map"],
80
+ self.mesh_points_prefix,
81
+ )
82
+ params = schemas.VertexColorMap.from_dict(rpc_params)
83
+ self.setupColorMap(params.id, params.points)
@@ -1,4 +1,6 @@
1
1
  from .visibility import *
2
+ from .vertex_scalar_range import *
3
+ from .vertex_color_map import *
2
4
  from .vertex_attribute import *
3
5
  from .size import *
4
6
  from .color import *
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class VertexColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "vertex_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class VertexScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -67,3 +67,51 @@ class VtkMeshPolygonsView(VtkMeshView):
67
67
  )
68
68
  params = schemas.PolygonAttribute.from_dict(rpc_params)
69
69
  self.displayAttributeOnCells(params.id, params.name)
70
+
71
+ @exportRpc(
72
+ mesh_polygons_prefix + mesh_polygons_schemas_dict["vertex_scalar_range"]["rpc"]
73
+ )
74
+ def setMeshPolygonsVertexScalarRange(self, rpc_params: RpcParams) -> None:
75
+ validate_schema(
76
+ rpc_params,
77
+ self.mesh_polygons_schemas_dict["vertex_scalar_range"],
78
+ self.mesh_polygons_prefix,
79
+ )
80
+ params = schemas.VertexScalarRange.from_dict(rpc_params)
81
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
82
+
83
+ @exportRpc(
84
+ mesh_polygons_prefix + mesh_polygons_schemas_dict["polygon_scalar_range"]["rpc"]
85
+ )
86
+ def setMeshPolygonsPolygonScalarRange(self, rpc_params: RpcParams) -> None:
87
+ validate_schema(
88
+ rpc_params,
89
+ self.mesh_polygons_schemas_dict["polygon_scalar_range"],
90
+ self.mesh_polygons_prefix,
91
+ )
92
+ params = schemas.PolygonScalarRange.from_dict(rpc_params)
93
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
94
+
95
+ @exportRpc(
96
+ mesh_polygons_prefix + mesh_polygons_schemas_dict["vertex_color_map"]["rpc"]
97
+ )
98
+ def setMeshPolygonsVertexColorMap(self, rpc_params: RpcParams) -> None:
99
+ validate_schema(
100
+ rpc_params,
101
+ self.mesh_polygons_schemas_dict["vertex_color_map"],
102
+ self.mesh_polygons_prefix,
103
+ )
104
+ params = schemas.VertexColorMap.from_dict(rpc_params)
105
+ self.setupColorMap(params.id, params.points)
106
+
107
+ @exportRpc(
108
+ mesh_polygons_prefix + mesh_polygons_schemas_dict["polygon_color_map"]["rpc"]
109
+ )
110
+ def setMeshPolygonsPolygonColorMap(self, rpc_params: RpcParams) -> None:
111
+ validate_schema(
112
+ rpc_params,
113
+ self.mesh_polygons_schemas_dict["polygon_color_map"],
114
+ self.mesh_polygons_prefix,
115
+ )
116
+ params = schemas.PolygonColorMap.from_dict(rpc_params)
117
+ self.setupColorMap(params.id, params.points)
@@ -1,4 +1,8 @@
1
1
  from .visibility import *
2
+ from .vertex_scalar_range import *
3
+ from .vertex_color_map import *
2
4
  from .vertex_attribute import *
5
+ from .polygon_scalar_range import *
6
+ from .polygon_color_map import *
3
7
  from .polygon_attribute import *
4
8
  from .color import *
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class PolygonColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "polygon_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class PolygonScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class VertexColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "vertex_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class VertexScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -68,3 +68,54 @@ class VtkMeshPolyhedraView(VtkMeshView):
68
68
  )
69
69
  params = schemas.PolyhedronAttribute.from_dict(rpc_params)
70
70
  self.displayAttributeOnCells(params.id, params.name)
71
+
72
+ @exportRpc(
73
+ mesh_polyhedra_prefix
74
+ + mesh_polyhedra_schemas_dict["vertex_scalar_range"]["rpc"]
75
+ )
76
+ def setMeshPolyhedraVertexScalarRange(self, rpc_params: RpcParams) -> None:
77
+ validate_schema(
78
+ rpc_params,
79
+ self.mesh_polyhedra_schemas_dict["vertex_scalar_range"],
80
+ self.mesh_polyhedra_prefix,
81
+ )
82
+ params = schemas.VertexScalarRange.from_dict(rpc_params)
83
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
84
+
85
+ @exportRpc(
86
+ mesh_polyhedra_prefix
87
+ + mesh_polyhedra_schemas_dict["polyhedron_scalar_range"]["rpc"]
88
+ )
89
+ def setMeshPolyhedraPolyhedronScalarRange(self, rpc_params: RpcParams) -> None:
90
+ validate_schema(
91
+ rpc_params,
92
+ self.mesh_polyhedra_schemas_dict["polyhedron_scalar_range"],
93
+ self.mesh_polyhedra_prefix,
94
+ )
95
+ params = schemas.PolyhedronScalarRange.from_dict(rpc_params)
96
+ self.displayScalarRange(params.id, params.minimum, params.maximum)
97
+
98
+ @exportRpc(
99
+ mesh_polyhedra_prefix + mesh_polyhedra_schemas_dict["vertex_color_map"]["rpc"]
100
+ )
101
+ def setMeshPolyhedraVertexColorMap(self, rpc_params: RpcParams) -> None:
102
+ validate_schema(
103
+ rpc_params,
104
+ self.mesh_polyhedra_schemas_dict["vertex_color_map"],
105
+ self.mesh_polyhedra_prefix,
106
+ )
107
+ params = schemas.VertexColorMap.from_dict(rpc_params)
108
+ self.setupColorMap(params.id, params.points)
109
+
110
+ @exportRpc(
111
+ mesh_polyhedra_prefix
112
+ + mesh_polyhedra_schemas_dict["polyhedra_color_map"]["rpc"]
113
+ )
114
+ def setMeshPolyhedraPolyhedraColorMap(self, rpc_params: RpcParams) -> None:
115
+ validate_schema(
116
+ rpc_params,
117
+ self.mesh_polyhedra_schemas_dict["polyhedra_color_map"],
118
+ self.mesh_polyhedra_prefix,
119
+ )
120
+ params = schemas.PolyhedraColorMap.from_dict(rpc_params)
121
+ self.setupColorMap(params.id, params.points)
@@ -1,4 +1,8 @@
1
1
  from .visibility import *
2
+ from .vertex_scalar_range import *
3
+ from .vertex_color_map import *
2
4
  from .vertex_attribute import *
5
+ from .polyhedron_scalar_range import *
3
6
  from .polyhedron_attribute import *
7
+ from .polyhedra_color_map import *
4
8
  from .color import *
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class PolyhedraColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "polyhedron_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class PolyhedronScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -0,0 +1,25 @@
1
+ {
2
+ "rpc": "color_map",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "points": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "array",
13
+ "description": "[value, r, g, b]",
14
+ "items": {
15
+ "type": "number"
16
+ },
17
+ "minItems": 4,
18
+ "maxItems": 4
19
+ },
20
+ "minLength": 2
21
+ }
22
+ },
23
+ "required": ["id", "points"],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+ from typing import List
4
+
5
+
6
+ @dataclass
7
+ class VertexColorMap(DataClassJsonMixin):
8
+ def __post_init__(self) -> None:
9
+ print(self, flush=True)
10
+
11
+ id: str
12
+ points: List[List[float]]
@@ -0,0 +1,22 @@
1
+ {
2
+ "rpc": "vertex_scalar_range",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "minimum": {
10
+ "type": "number"
11
+ },
12
+ "maximum": {
13
+ "type": "number"
14
+ }
15
+ },
16
+ "required": [
17
+ "id",
18
+ "minimum",
19
+ "maximum"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,12 @@
1
+ from dataclasses_json import DataClassJsonMixin
2
+ from dataclasses import dataclass
3
+
4
+
5
+ @dataclass
6
+ class VertexScalarRange(DataClassJsonMixin):
7
+ def __post_init__(self) -> None:
8
+ print(self, flush=True)
9
+
10
+ id: str
11
+ maximum: float
12
+ minimum: float
@@ -35,6 +35,7 @@ class vtkData:
35
35
  max_dimension: Literal["points", "edges", "polygons", "polyhedra", "default"] = (
36
36
  "default"
37
37
  )
38
+ color_map_points: list[list[float]] = field(default_factory=list)
38
39
 
39
40
 
40
41
  class VtkTypingMixin:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenGeodeWeb-Viewer
3
- Version: 1.13.4rc1
3
+ Version: 1.14.0
4
4
  Summary: OpenGeodeWeb-Viewer is an open source framework that proposes handy python functions and wrappers for the OpenGeode ecosystem
5
5
  Author-email: Geode-solutions <team-web@geode-solutions.com>
6
6
  Project-URL: Homepage, https://github.com/Geode-solutions/OpenGeodeWeb-Viewer
@@ -35,7 +35,7 @@ Requires-Dist: vtk==9.5.2
35
35
  Requires-Dist: websocket-client>=1
36
36
  Requires-Dist: wslink==1.12.4
37
37
  Requires-Dist: yarl>=1
38
- Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.12rc1
38
+ Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.12
39
39
  Dynamic: license-file
40
40
 
41
41
  # OpenGeodeWeb-Viewer
@@ -2,7 +2,7 @@ opengeodeweb_viewer/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKV
2
2
  opengeodeweb_viewer/config.py,sha256=Iq04mCJWy3_1toGyLwkm2domVl3CEVPQY1kcPZM9sQA,2127
3
3
  opengeodeweb_viewer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  opengeodeweb_viewer/utils_functions.py,sha256=Nh0tS78ctULkLjOtVtDoHaMLxKn2A70ARFGkucTe-Sk,758
5
- opengeodeweb_viewer/vtk_protocol.py,sha256=jip7S-u4ZbtigDeZ2KPH8mpzhZdTeNZbRE52O2SuzUg,5024
5
+ opengeodeweb_viewer/vtk_protocol.py,sha256=fbuL46xc3RfGMOyF7kawTed1OCAvijhvADhhOOwnyKE,5094
6
6
  opengeodeweb_viewer/vtkw_server.py,sha256=83Khwt_cLtT9ugefZZOfcY5wzQgQyOnER1ANoHTKgiE,6127
7
7
  opengeodeweb_viewer/object/object_methods.py,sha256=aZRfNtZDnJ-YJtuyfBBbklbEiy2sri7YUR7wtV8v3ak,5424
8
8
  opengeodeweb_viewer/rpc/utils_protocols.py,sha256=18w2N9AuXpNke7wL66Jg_k86NNOhEoRy_cK1v6Z3gX8,2506
@@ -12,57 +12,89 @@ opengeodeweb_viewer/rpc/generic/schemas/deregister.json,sha256=HqFQ1Y8Y4Xj08gDN_
12
12
  opengeodeweb_viewer/rpc/generic/schemas/deregister.py,sha256=Seu-KiYPh8Bb1Wxd4W1WtLAoan4xuPjxOPtgqlK9D_w,215
13
13
  opengeodeweb_viewer/rpc/generic/schemas/register.json,sha256=45uECnAbC7Y7uBAZ0pRTzrSg3G2fL3yn4Cz0eby6KrQ,192
14
14
  opengeodeweb_viewer/rpc/generic/schemas/register.py,sha256=5Y7idPuRLHyADe8nSLixFd04EmCKHsZuGOV1sHibebU,213
15
- opengeodeweb_viewer/rpc/mesh/mesh_protocols.py,sha256=dPcTLammyqmfLj1frca8lQfeRS8N46ipnT-cX3-6bTo,6383
16
- opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py,sha256=Xzb6rfR1bCUGXu5JE5fpTOkn6dujyLzvb3E28vEdBN8,2384
17
- opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py,sha256=Ok-EWaTjYQPT-V995l0kexPrE5F6To8sAhqyFyjdogM,109
15
+ opengeodeweb_viewer/rpc/mesh/mesh_protocols.py,sha256=vgO5DJZeeyIceaU1HPpqtapYKx_4VqWOg_naZ-DQPjM,7701
16
+ opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py,sha256=awXUQmTN-4I8jR2-L6loBld54J1CtYls4gUDMxvo81Q,4182
17
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py,sha256=AJ5I34FVw4rbo1rNagWDLCXExjhTk8P0y5whGLznHu0,239
18
18
  opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_attribute.json,sha256=KSjcfw2WSKS7LvP85vAI9rAtKdunvjewtBcsLlCCHuc,265
19
19
  opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_attribute.py,sha256=b0JFK7MFPxh4a3bJIa9DOWZo82geSpC86pWWLuicbYU,232
20
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
21
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.py,sha256=UEWT4yir4yeaWf4-FdN5CN9CJycKfKySZlMES7O71H8,271
22
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.json,sha256=VS5YEpytrMnURuRMzDxK93KMPjYNjGWEPb0FUHNXHYA,326
23
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.py,sha256=5hHzKIU2SOMIrPNoJkHRBghV9FVkR3ZavQoNguFa_Ng,258
20
24
  opengeodeweb_viewer/rpc/mesh/cells/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
21
25
  opengeodeweb_viewer/rpc/mesh/cells/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
22
26
  opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
23
27
  opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
28
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
29
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.py,sha256=9Mr3LKLreanSXUjCEAJb1g9JdzZM5tKLJHObQOzEicY,273
30
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
31
+ opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
24
32
  opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
25
33
  opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
26
- opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py,sha256=Mfd0yBsTFK5XL-KQzEDS7G_Yp3Oll6EwAipJGhznDmg,1855
27
- opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py,sha256=euXOqXOetrDI1WcEjWS39wOehAVP_OSFDLYaO55MPMI,120
34
+ opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py,sha256=jdxdJQS7jQ3Yxg2z4Y85xqEAMjCt1dSHkgUuTZ2UPN4,3215
35
+ opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py,sha256=MgU0fjwSPvGzThhX8WmSC-QKs-6BgwEYNWDFe57Ryuw,187
28
36
  opengeodeweb_viewer/rpc/mesh/edges/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
29
37
  opengeodeweb_viewer/rpc/mesh/edges/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
30
38
  opengeodeweb_viewer/rpc/mesh/edges/schemas/size.json,sha256=tnHXOHMvdaymp1mfptzecSUadpI_zvvm5IZJQ6oZARQ,245
31
39
  opengeodeweb_viewer/rpc/mesh/edges/schemas/size.py,sha256=rMuHn079FcRIIcyp6EUMrMEzf6FFL3YgzLs4e8uxn0Q,223
32
40
  opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
33
41
  opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
42
+ opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
43
+ opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.py,sha256=9Mr3LKLreanSXUjCEAJb1g9JdzZM5tKLJHObQOzEicY,273
44
+ opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
45
+ opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
34
46
  opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
35
47
  opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
36
48
  opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json,sha256=-TrnInMPuQFKcCBuL9ihrQQNGyGzX8JgZhT_aiQ8Q2c,246
37
49
  opengeodeweb_viewer/rpc/mesh/edges/schemas/width.py,sha256=ms0xK5dePaWdf4WiV1Zeqcro00-6yNmNVcP6NTjKkR4,227
38
- opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py,sha256=IzXR_J3aYtMaSoVqHJ8WNrg18vCUhDMCioM5QjMOcF8,2322
39
- opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py,sha256=J_FnIWPfiS4dvZWkc_6Fu-x_DQPbfWnCpbHJVRAaSas,99
50
+ opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py,sha256=P15dVhAVKJUtpoTboZOoAcg1TEzO3OMAFdd2sVTCpVs,3246
51
+ opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py,sha256=pwiz4YpRQKFz_ns39R4gULYscyBLOiC2hFtXfB9nQfw,166
40
52
  opengeodeweb_viewer/rpc/mesh/points/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
41
53
  opengeodeweb_viewer/rpc/mesh/points/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
42
54
  opengeodeweb_viewer/rpc/mesh/points/schemas/size.json,sha256=BCAKwWmwludQp2oGHDgKW45s7FU8Y16Ah2ILPlu2Nos,244
43
55
  opengeodeweb_viewer/rpc/mesh/points/schemas/size.py,sha256=vpBbBqZDaS_keS0cjcQQWFgR7QDpmq2a5lXC3C6abcA,225
44
56
  opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
45
57
  opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
58
+ opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
59
+ opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.py,sha256=9Mr3LKLreanSXUjCEAJb1g9JdzZM5tKLJHObQOzEicY,273
60
+ opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
61
+ opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
46
62
  opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
47
63
  opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
48
- opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py,sha256=zruaiXPN0YMkpXSKkAU8j2_xUX-YBpabEbr1ExU2L00,2496
49
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py,sha256=lXKXC0Sgb8e-a_F7v3uC2tirGQbhb_sBqG2gnPQ7nyE,112
64
+ opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py,sha256=wovswSv57Cb6fh7dUBjTjvMst1YfANX-OZesIrKXiR4,4420
65
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py,sha256=lEpwcvFKoOOOPNQBF_LcGBpVsPUGBhnEUJWVutCLrzY,248
50
66
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
51
67
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
52
68
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_attribute.json,sha256=zK3BPn496ldXZWbK6NP1UQsBzE-OQ9TuVBpubC1Vje8,279
53
69
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_attribute.py,sha256=ZEGzCZRugt6TcyrB3iVMKaRyotc7CipjbzpGPmhXFJU,235
70
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
71
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.py,sha256=1rz3v39tAAD6dAuAnd4-sRjib1K6E1GNauxT2Aksl1k,274
72
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.json,sha256=vJ8yv0mTbH-IRYy4Q4PB2pXCZn0E-K_QpKjO3kJVgHU,329
73
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.py,sha256=s37Z6boLeYwb1TA5Jn4STbdHnbuAzQwvO1vgtFvh3gk,261
54
74
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
55
75
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
76
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
77
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.py,sha256=9Mr3LKLreanSXUjCEAJb1g9JdzZM5tKLJHObQOzEicY,273
78
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
79
+ opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
56
80
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
57
81
  opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
58
- opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py,sha256=e_R1hpZPQTkPMnD6_kAy2e90ZrCUbWnaux6wmdoKx1M,2540
59
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py,sha256=kkx2otsOhsFL0zLocbrNKzkCvAlN_wQsfFMviic6RBU,115
82
+ opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py,sha256=8Y9-QjzbD3jAPR6sU7wIHdPgxdbkdaMhq55hvBBKeXI,4528
83
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py,sha256=qJXXGLHWi1ZcmgbkjlLNHgx-i5yfT1PDXH4EFUamtm8,256
60
84
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
61
85
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
86
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
87
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.py,sha256=M7KJIkKFy9N5gKNpg1WAl19vFh2eI2qRxXNlms3v4Pw,276
62
88
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_attribute.json,sha256=skILAhL5uGjvxB0ccUyyvh45ohnX4Tj0Y9xt2P-YTQ4,282
63
89
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_attribute.py,sha256=bqypKCNzPcM-ZyxEQdqv4_fUh_ZXCXx8fvIHMR0deH8,238
90
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.json,sha256=nXgkeuqVeiygfLEdFBwz6nTYqvg_rTlaLz0xFqSXMNg,332
91
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.py,sha256=ycqsPO0PnBT-Qm25Gpz5R_v8dLmZKoc4PszUC_3Z61g,264
64
92
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
65
93
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_attribute.py,sha256=iHcmXyaEiftkiCEMIK3KcUO-Iq3SBjpSy6PEP3Z8e2s,234
94
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.json,sha256=7Bm5rLp1sQVQhPutHQM1Ez5aa9TBLXcn9XTb5K-q7JI,459
95
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.py,sha256=9Mr3LKLreanSXUjCEAJb1g9JdzZM5tKLJHObQOzEicY,273
96
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
97
+ opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
66
98
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
67
99
  opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
68
100
  opengeodeweb_viewer/rpc/mesh/schemas/__init__.py,sha256=leyoNVGrBWMpX77-vSwdy7gkA59Cx-VSbq4MkvVBL54,150
@@ -153,9 +185,9 @@ opengeodeweb_viewer/rpc/viewer/schemas/update_camera.json,sha256=OtovtEwLvR4L63y
153
185
  opengeodeweb_viewer/rpc/viewer/schemas/update_camera.py,sha256=noEZ3V2AysEn5NFXBFLwKE0I4sb0KB5fnP9KaJL1hms,521
154
186
  opengeodeweb_viewer/rpc/viewer/schemas/update_data.json,sha256=h1T_aNWZFaJ-LTXyqjTK4MLbFJgt9vH23CHY1Gr55f4,195
155
187
  opengeodeweb_viewer/rpc/viewer/schemas/update_data.py,sha256=E-S4ZP_6nYhlFitKp2ynvztDcmeL5zqoAZD96WyvIhw,215
156
- opengeodeweb_viewer-1.13.4rc1.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
157
- opengeodeweb_viewer-1.13.4rc1.dist-info/METADATA,sha256=wT7hcq2mn8tM4pgII2uI8UiRhmz3ryuIRx1d8xgc7yo,1506
158
- opengeodeweb_viewer-1.13.4rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
159
- opengeodeweb_viewer-1.13.4rc1.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
160
- opengeodeweb_viewer-1.13.4rc1.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
161
- opengeodeweb_viewer-1.13.4rc1.dist-info/RECORD,,
188
+ opengeodeweb_viewer-1.14.0.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
189
+ opengeodeweb_viewer-1.14.0.dist-info/METADATA,sha256=O7_WOcvBHqxdTw8w5Eug8TdoIxfhSAGUpbBOUOA3K0c,1500
190
+ opengeodeweb_viewer-1.14.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
191
+ opengeodeweb_viewer-1.14.0.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
192
+ opengeodeweb_viewer-1.14.0.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
193
+ opengeodeweb_viewer-1.14.0.dist-info/RECORD,,