OpenGeodeWeb-Viewer 1.14.0rc1__py3-none-any.whl → 1.15.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.
- opengeodeweb_viewer/object/object_methods.py +5 -1
- opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py +20 -0
- opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py +2 -0
- opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py +20 -0
- opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py +2 -1
- opengeodeweb_viewer/rpc/mesh/edges/schemas/{size.json → edge_attribute.json} +6 -5
- opengeodeweb_viewer/rpc/mesh/edges/schemas/{size.py → edge_attribute.py} +2 -2
- opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json +1 -1
- opengeodeweb_viewer/rpc/mesh/mesh_protocols.py +31 -3
- opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py +10 -0
- opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py +1 -0
- opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py +24 -0
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py +2 -0
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py +25 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py +2 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedra_color_map.py +12 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.json +25 -0
- opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_color_map.py +12 -0
- opengeodeweb_viewer/rpc/viewer/viewer_protocols.py +9 -13
- opengeodeweb_viewer/vtk_protocol.py +1 -0
- opengeodeweb_viewer/vtkw_server.py +0 -1
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/METADATA +3 -3
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/RECORD +40 -24
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/WHEEL +1 -1
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/entry_points.txt +0 -0
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/licenses/LICENSE +0 -0
- {opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/top_level.txt +0 -0
|
@@ -77,7 +77,11 @@ class VtkObjectView(VtkView):
|
|
|
77
77
|
|
|
78
78
|
def SetEdgesWidth(self, data_id: str, width: float) -> None:
|
|
79
79
|
actor = self.get_object(data_id).actor
|
|
80
|
-
|
|
80
|
+
max_dimension = self.get_object(data_id).max_dimension
|
|
81
|
+
if max_dimension == "edges":
|
|
82
|
+
actor.GetProperty().SetLineWidth(width)
|
|
83
|
+
else:
|
|
84
|
+
actor.GetProperty().SetEdgeWidth(width)
|
|
81
85
|
|
|
82
86
|
def SetEdgesColor(self, data_id: str, red: int, green: int, blue: int) -> None:
|
|
83
87
|
actor = self.get_object(data_id).actor
|
|
@@ -85,3 +85,23 @@ class VtkMeshCellsView(VtkMeshView):
|
|
|
85
85
|
)
|
|
86
86
|
params = schemas.CellScalarRange.from_dict(rpc_params)
|
|
87
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)
|
|
@@ -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,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]]
|
|
@@ -71,3 +71,23 @@ class VtkMeshEdgesView(VtkMeshView):
|
|
|
71
71
|
)
|
|
72
72
|
params = schemas.VertexScalarRange.from_dict(rpc_params)
|
|
73
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)
|
|
84
|
+
|
|
85
|
+
@exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["edge_attribute"]["rpc"])
|
|
86
|
+
def setMeshEdgesEdgeAttribute(self, rpc_params: RpcParams) -> None:
|
|
87
|
+
validate_schema(
|
|
88
|
+
rpc_params,
|
|
89
|
+
self.mesh_edges_schemas_dict["edge_attribute"],
|
|
90
|
+
self.mesh_edges_prefix,
|
|
91
|
+
)
|
|
92
|
+
params = schemas.EdgeAttribute.from_dict(rpc_params)
|
|
93
|
+
self.displayAttributeOnCells(params.id, params.name)
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"rpc": "
|
|
2
|
+
"rpc": "edge_attribute",
|
|
3
3
|
"type": "object",
|
|
4
4
|
"properties": {
|
|
5
5
|
"id": {
|
|
6
6
|
"type": "string",
|
|
7
7
|
"minLength": 1
|
|
8
8
|
},
|
|
9
|
-
"
|
|
10
|
-
"type": "
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1
|
|
11
12
|
}
|
|
12
13
|
},
|
|
13
14
|
"required": [
|
|
14
15
|
"id",
|
|
15
|
-
"
|
|
16
|
+
"name"
|
|
16
17
|
],
|
|
17
18
|
"additionalProperties": false
|
|
18
|
-
}
|
|
19
|
+
}
|
|
@@ -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]]
|
|
@@ -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
|
|
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
|
|
@@ -148,5 +153,28 @@ class VtkMeshView(VtkObjectView):
|
|
|
148
153
|
mapper.SetScalarRange(cells.GetScalars().GetRange())
|
|
149
154
|
|
|
150
155
|
def displayScalarRange(self, data_id: str, minimum: float, maximum: float) -> None:
|
|
151
|
-
|
|
152
|
-
mapper.SetScalarRange(minimum, maximum)
|
|
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)
|
|
@@ -71,3 +71,13 @@ class VtkMeshPointsView(VtkMeshView):
|
|
|
71
71
|
)
|
|
72
72
|
params = schemas.VertexScalarRange.from_dict(rpc_params)
|
|
73
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)
|
|
@@ -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]]
|
|
@@ -91,3 +91,27 @@ class VtkMeshPolygonsView(VtkMeshView):
|
|
|
91
91
|
)
|
|
92
92
|
params = schemas.PolygonScalarRange.from_dict(rpc_params)
|
|
93
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)
|
|
@@ -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,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]]
|
|
@@ -94,3 +94,28 @@ class VtkMeshPolyhedraView(VtkMeshView):
|
|
|
94
94
|
)
|
|
95
95
|
params = schemas.PolyhedronScalarRange.from_dict(rpc_params)
|
|
96
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,6 +1,8 @@
|
|
|
1
1
|
from .visibility import *
|
|
2
2
|
from .vertex_scalar_range import *
|
|
3
|
+
from .vertex_color_map import *
|
|
3
4
|
from .vertex_attribute import *
|
|
4
5
|
from .polyhedron_scalar_range import *
|
|
5
6
|
from .polyhedron_attribute import *
|
|
7
|
+
from .polyhedra_color_map import *
|
|
6
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,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]]
|
|
@@ -13,6 +13,7 @@ from vtkmodules.vtkRenderingCore import (
|
|
|
13
13
|
vtkRenderWindowInteractor,
|
|
14
14
|
vtkAbstractMapper,
|
|
15
15
|
vtkWorldPointPicker,
|
|
16
|
+
vtkPicker,
|
|
16
17
|
)
|
|
17
18
|
from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackball
|
|
18
19
|
from vtkmodules.vtkCommonCore import reference
|
|
@@ -224,20 +225,15 @@ class VtkViewerView(VtkView):
|
|
|
224
225
|
params = schemas.PickedIDS.from_dict(rpc_params)
|
|
225
226
|
renderWindow = self.getView("-1")
|
|
226
227
|
renderer = renderWindow.GetRenderers().GetFirstRenderer()
|
|
227
|
-
picker =
|
|
228
|
-
picker.Pick(
|
|
229
|
-
|
|
230
|
-
epsilon = self.computeEpsilon(renderer, point[2])
|
|
231
|
-
bbox = vtkBoundingBox()
|
|
232
|
-
bbox.AddPoint(point[0] + epsilon, point[1] + epsilon, point[2] + epsilon)
|
|
233
|
-
bbox.AddPoint(point[0] - epsilon, point[1] - epsilon, point[2] - epsilon)
|
|
234
|
-
|
|
228
|
+
picker = vtkPicker()
|
|
229
|
+
picker.Pick(params.x, params.y, 0, renderer)
|
|
230
|
+
picked_actor = picker.GetActor()
|
|
235
231
|
array_ids = []
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
232
|
+
if picked_actor:
|
|
233
|
+
for id in params.ids:
|
|
234
|
+
if self.get_object(id).actor == picked_actor:
|
|
235
|
+
array_ids.append(id)
|
|
236
|
+
break
|
|
241
237
|
|
|
242
238
|
return {"array_ids": array_ids}
|
|
243
239
|
|
|
@@ -44,7 +44,6 @@ from .rpc.model.blocks.model_blocks_protocols import (
|
|
|
44
44
|
from .rpc.generic.generic_protocols import VtkGenericView
|
|
45
45
|
from .rpc.utils_protocols import VtkUtilsView
|
|
46
46
|
|
|
47
|
-
|
|
48
47
|
# =============================================================================
|
|
49
48
|
# Server class
|
|
50
49
|
# =============================================================================
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: OpenGeodeWeb-Viewer
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.15.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
|
|
@@ -24,7 +24,7 @@ Requires-Dist: kiwisolver>=1
|
|
|
24
24
|
Requires-Dist: matplotlib>=3
|
|
25
25
|
Requires-Dist: multidict>=6
|
|
26
26
|
Requires-Dist: numpy>=2
|
|
27
|
-
Requires-Dist: packaging==
|
|
27
|
+
Requires-Dist: packaging==26.0
|
|
28
28
|
Requires-Dist: pillow>=12
|
|
29
29
|
Requires-Dist: propcache>=0
|
|
30
30
|
Requires-Dist: pyparsing>=3
|
|
@@ -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.
|
|
38
|
+
Requires-Dist: opengeodeweb-microservice==1.*,>=1.0.13rc1
|
|
39
39
|
Dynamic: license-file
|
|
40
40
|
|
|
41
41
|
# OpenGeodeWeb-Viewer
|
|
@@ -2,9 +2,9 @@ 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=
|
|
6
|
-
opengeodeweb_viewer/vtkw_server.py,sha256=
|
|
7
|
-
opengeodeweb_viewer/object/object_methods.py,sha256=
|
|
5
|
+
opengeodeweb_viewer/vtk_protocol.py,sha256=fbuL46xc3RfGMOyF7kawTed1OCAvijhvADhhOOwnyKE,5094
|
|
6
|
+
opengeodeweb_viewer/vtkw_server.py,sha256=10BQJCL79MVZh2zF2ZJ8X8bVH-WdSXzyj6TD7Hlk29Q,6126
|
|
7
|
+
opengeodeweb_viewer/object/object_methods.py,sha256=3JmCivSmCGAUgv11OvRO-xpFIP28Uqu1y1gbHx_96Jw,5594
|
|
8
8
|
opengeodeweb_viewer/rpc/utils_protocols.py,sha256=18w2N9AuXpNke7wL66Jg_k86NNOhEoRy_cK1v6Z3gX8,2506
|
|
9
9
|
opengeodeweb_viewer/rpc/generic/generic_protocols.py,sha256=GtBN4eopb95Ook84ioz4jelu2sE1A-ukC_nbGx343BA,2324
|
|
10
10
|
opengeodeweb_viewer/rpc/generic/schemas/__init__.py,sha256=Foxm034o9OVDZ5cZkUVNlrZ6phd68HRrXBuvaLx-PD0,50
|
|
@@ -12,71 +12,87 @@ 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=
|
|
16
|
-
opengeodeweb_viewer/rpc/mesh/cells/cells_protocols.py,sha256=
|
|
17
|
-
opengeodeweb_viewer/rpc/mesh/cells/schemas/__init__.py,sha256=
|
|
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
|
|
20
22
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.json,sha256=VS5YEpytrMnURuRMzDxK93KMPjYNjGWEPb0FUHNXHYA,326
|
|
21
23
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/cell_scalar_range.py,sha256=5hHzKIU2SOMIrPNoJkHRBghV9FVkR3ZavQoNguFa_Ng,258
|
|
22
24
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
|
|
23
25
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
|
|
24
26
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
|
|
25
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
|
|
26
30
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
|
|
27
31
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
|
|
28
32
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
29
33
|
opengeodeweb_viewer/rpc/mesh/cells/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
|
|
30
|
-
opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py,sha256=
|
|
31
|
-
opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py,sha256=
|
|
34
|
+
opengeodeweb_viewer/rpc/mesh/edges/mesh_edges_protocols.py,sha256=Hr4ydi1oXjDyN1uVzZEgyByGkR5v83bTMD6BtISPo2Q,3650
|
|
35
|
+
opengeodeweb_viewer/rpc/mesh/edges/schemas/__init__.py,sha256=L0gKtt5kkGJ4J7JP11JQWEgNdkTGOXBSdT8neL_Dijs,197
|
|
32
36
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
|
|
33
37
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
|
|
34
|
-
opengeodeweb_viewer/rpc/mesh/edges/schemas/
|
|
35
|
-
opengeodeweb_viewer/rpc/mesh/edges/schemas/
|
|
38
|
+
opengeodeweb_viewer/rpc/mesh/edges/schemas/edge_attribute.json,sha256=1M5h7h-GvBqbbOED9dMh8xixS7_ScoXjj8npsS-FxOs,277
|
|
39
|
+
opengeodeweb_viewer/rpc/mesh/edges/schemas/edge_attribute.py,sha256=8dZQhh6BnPrbBny1BmEC3EBBw3GgAfRBVJnvRajJtuA,232
|
|
36
40
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
|
|
37
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
|
|
38
44
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
|
|
39
45
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
|
|
40
46
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
41
47
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
|
|
42
|
-
opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json,sha256
|
|
48
|
+
opengeodeweb_viewer/rpc/mesh/edges/schemas/width.json,sha256=0RysliQkGh91r1OBkx3cyMQjxvqVOuoYiQeo7BmQMuY,247
|
|
43
49
|
opengeodeweb_viewer/rpc/mesh/edges/schemas/width.py,sha256=ms0xK5dePaWdf4WiV1Zeqcro00-6yNmNVcP6NTjKkR4,227
|
|
44
|
-
opengeodeweb_viewer/rpc/mesh/points/mesh_points_protocols.py,sha256=
|
|
45
|
-
opengeodeweb_viewer/rpc/mesh/points/schemas/__init__.py,sha256=
|
|
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
|
|
46
52
|
opengeodeweb_viewer/rpc/mesh/points/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
|
|
47
53
|
opengeodeweb_viewer/rpc/mesh/points/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
|
|
48
54
|
opengeodeweb_viewer/rpc/mesh/points/schemas/size.json,sha256=BCAKwWmwludQp2oGHDgKW45s7FU8Y16Ah2ILPlu2Nos,244
|
|
49
55
|
opengeodeweb_viewer/rpc/mesh/points/schemas/size.py,sha256=vpBbBqZDaS_keS0cjcQQWFgR7QDpmq2a5lXC3C6abcA,225
|
|
50
56
|
opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
|
|
51
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
|
|
52
60
|
opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
|
|
53
61
|
opengeodeweb_viewer/rpc/mesh/points/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
|
|
54
62
|
opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
55
63
|
opengeodeweb_viewer/rpc/mesh/points/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
|
|
56
|
-
opengeodeweb_viewer/rpc/mesh/polygons/polygons_protocols.py,sha256=
|
|
57
|
-
opengeodeweb_viewer/rpc/mesh/polygons/schemas/__init__.py,sha256=
|
|
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
|
|
58
66
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
|
|
59
67
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/color.py,sha256=RdjSQB-ZKsJHP10roQV0pVt8jvu6trJ20NuZTVrNAIM,444
|
|
60
68
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_attribute.json,sha256=zK3BPn496ldXZWbK6NP1UQsBzE-OQ9TuVBpubC1Vje8,279
|
|
61
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
|
|
62
72
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.json,sha256=vJ8yv0mTbH-IRYy4Q4PB2pXCZn0E-K_QpKjO3kJVgHU,329
|
|
63
73
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/polygon_scalar_range.py,sha256=s37Z6boLeYwb1TA5Jn4STbdHnbuAzQwvO1vgtFvh3gk,261
|
|
64
74
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
|
|
65
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
|
|
66
78
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
|
|
67
79
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
|
|
68
80
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
69
81
|
opengeodeweb_viewer/rpc/mesh/polygons/schemas/visibility.py,sha256=OAC2F5S08RuSte2V1elIU1UwZf-IKiA39eY8yOMqr3I,236
|
|
70
|
-
opengeodeweb_viewer/rpc/mesh/polyhedra/polyhedra_protocols.py,sha256=
|
|
71
|
-
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/__init__.py,sha256=
|
|
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
|
|
72
84
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/color.json,sha256=tGWsxiaaYsiDmyF7Ed1RTWxqfe63mHAWxSi2SmTUN6Y,818
|
|
73
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
|
|
74
88
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_attribute.json,sha256=skILAhL5uGjvxB0ccUyyvh45ohnX4Tj0Y9xt2P-YTQ4,282
|
|
75
89
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_attribute.py,sha256=bqypKCNzPcM-ZyxEQdqv4_fUh_ZXCXx8fvIHMR0deH8,238
|
|
76
90
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.json,sha256=nXgkeuqVeiygfLEdFBwz6nTYqvg_rTlaLz0xFqSXMNg,332
|
|
77
91
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/polyhedron_scalar_range.py,sha256=ycqsPO0PnBT-Qm25Gpz5R_v8dLmZKoc4PszUC_3Z61g,264
|
|
78
92
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_attribute.json,sha256=0ep_P2-DyUs8E9pnIceArInwyLf-JujiJh1FmsBkpNA,278
|
|
79
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
|
|
80
96
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.json,sha256=TVZcvyhdhR-59m-tLuKsem3KNAV_gmh9w_YQTS_RIWk,328
|
|
81
97
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/vertex_scalar_range.py,sha256=5Vmf-HctIcH18C3hapDRpA6lpu0MjoomDxLDFC4gGPc,260
|
|
82
98
|
opengeodeweb_viewer/rpc/mesh/polyhedra/schemas/visibility.json,sha256=MSlbqbHsPOiUZXzSfVrZXtYIMbnBQR4PhRKtrkZHtv8,263
|
|
@@ -143,7 +159,7 @@ opengeodeweb_viewer/rpc/schemas/import_project.json,sha256=c6v1iXiGQYfHQXA9qWEe6
|
|
|
143
159
|
opengeodeweb_viewer/rpc/schemas/import_project.py,sha256=bjK9KdlkpC8kQFN6Ni8i9OIp9z8hE-mhPT0czTxyedo,215
|
|
144
160
|
opengeodeweb_viewer/rpc/schemas/kill.json,sha256=RRvuOM7424eFBwdd_0gG51zHpUMKnMmLHzIhw6PoUcs,110
|
|
145
161
|
opengeodeweb_viewer/rpc/schemas/kill.py,sha256=DbQyF57NJ4BsOo7UbKzKwm5rERkphIAh28QVt2DJcA8,206
|
|
146
|
-
opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=
|
|
162
|
+
opengeodeweb_viewer/rpc/viewer/viewer_protocols.py,sha256=LooKx__gN-0C5jRNv8cKWpb2LIqgxdmVthhF6qb6NHo,11905
|
|
147
163
|
opengeodeweb_viewer/rpc/viewer/schemas/__init__.py,sha256=ej0Q9XCiNjhF1segnn-YlhQV1HzWayoeBzo7OOZ2kvY,343
|
|
148
164
|
opengeodeweb_viewer/rpc/viewer/schemas/axes.json,sha256=-HC7kogMCpqKr1YS53fxzhEn3CKkKFd6EsVDv4BCthw,183
|
|
149
165
|
opengeodeweb_viewer/rpc/viewer/schemas/axes.py,sha256=A3UCe6nBvIox41mlXokjPgskxD2_p6AZIoVk47xUf7s,218
|
|
@@ -169,9 +185,9 @@ opengeodeweb_viewer/rpc/viewer/schemas/update_camera.json,sha256=OtovtEwLvR4L63y
|
|
|
169
185
|
opengeodeweb_viewer/rpc/viewer/schemas/update_camera.py,sha256=noEZ3V2AysEn5NFXBFLwKE0I4sb0KB5fnP9KaJL1hms,521
|
|
170
186
|
opengeodeweb_viewer/rpc/viewer/schemas/update_data.json,sha256=h1T_aNWZFaJ-LTXyqjTK4MLbFJgt9vH23CHY1Gr55f4,195
|
|
171
187
|
opengeodeweb_viewer/rpc/viewer/schemas/update_data.py,sha256=E-S4ZP_6nYhlFitKp2ynvztDcmeL5zqoAZD96WyvIhw,215
|
|
172
|
-
opengeodeweb_viewer-1.
|
|
173
|
-
opengeodeweb_viewer-1.
|
|
174
|
-
opengeodeweb_viewer-1.
|
|
175
|
-
opengeodeweb_viewer-1.
|
|
176
|
-
opengeodeweb_viewer-1.
|
|
177
|
-
opengeodeweb_viewer-1.
|
|
188
|
+
opengeodeweb_viewer-1.15.0.dist-info/licenses/LICENSE,sha256=LoTB-aqQvzTGxoTRXNnhNV0LKiqdk2bQv6MB34l8zkI,1079
|
|
189
|
+
opengeodeweb_viewer-1.15.0.dist-info/METADATA,sha256=JgsXO5w0xy4Ki0BXUNdqk5aDyscTbGTcpkf7W8a6EMU,1503
|
|
190
|
+
opengeodeweb_viewer-1.15.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
191
|
+
opengeodeweb_viewer-1.15.0.dist-info/entry_points.txt,sha256=j4uMjTs3z5mwZYxNRBtnmuQV5mDH9XUFHfVTDMEciG0,83
|
|
192
|
+
opengeodeweb_viewer-1.15.0.dist-info/top_level.txt,sha256=wTvrUNOJeR3p9tJ68l0AzSUSWPwA2mCeCZHYBafdoP8,20
|
|
193
|
+
opengeodeweb_viewer-1.15.0.dist-info/RECORD,,
|
{opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{opengeodeweb_viewer-1.14.0rc1.dist-info → opengeodeweb_viewer-1.15.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|