Skip to content

Commit 68f94ba

Browse files
Merge pull request #39 from Geode-solutions/next
Next
2 parents 8f33305 + 5dd6ccf commit 68f94ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+676
-258
lines changed

CHANGELOG.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
# CHANGELOG
22

33

4+
## v1.1.1-rc.2 (2024-12-20)
5+
6+
### Bug Fixes
7+
8+
- **schemas**: Add missing schemas
9+
([`37e8504`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/37e8504236a9f622cefffb99c4fbe684853e4d13))
10+
11+
12+
## v1.1.1-rc.1 (2024-12-20)
13+
14+
### Bug Fixes
15+
16+
- **semantic**: Trigger semantic release
17+
([`5025b3b`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/5025b3b8aa9008103939ff51dbbead85bb9ca37e))
18+
19+
420
## v1.1.0 (2024-12-09)
521

622

@@ -14,6 +30,11 @@
1430

1531
## v1.1.0-rc.1 (2024-12-04)
1632

33+
### Features
34+
35+
- **get_mouse**: New rpc
36+
([`94280f3`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/94280f3bc30f03e0c550cd7baf76afd30192c1e3))
37+
1738

1839
## v1.0.0 (2024-11-29)
1940

@@ -55,9 +76,6 @@
5576
- **generic rpcs**: Refactor all classes/tests
5677
([`297b005`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/297b0050e4ab47817659021c3a099e715fba6a87))
5778

58-
- **get_mouse**: New rpc
59-
([`94280f3`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/94280f3bc30f03e0c550cd7baf76afd30192c1e3))
60-
6179
- **new rpcs**: Refactor rpcs
6280
([`c2fb4e7`](https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/commit/c2fb4e75b83a862267ed4641e41e9344e6a2d70f))
6381

pyproject.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
55

66
[project]
77
name = "OpenGeodeWeb-Viewer"
8-
version = "1.1.0"
8+
version = "1.1.1-rc.2"
99
dynamic = ["dependencies"]
1010
authors = [
1111
{ name="Geode-solutions", email="team-web@geode-solutions.com" },
@@ -38,10 +38,12 @@ where = ["src"]
3838
[tool.setuptools.package-data]
3939
"opengeodeweb_viewer.rpc.generic.schemas" = ["*.json"]
4040
"opengeodeweb_viewer.rpc.mesh.schemas" = ["*.json"]
41+
"opengeodeweb_viewer.rpc.mesh.points.schemas" = ["*.json"]
42+
"opengeodeweb_viewer.rpc.mesh.edges.schemas" = ["*.json"]
43+
"opengeodeweb_viewer.rpc.mesh.polygons.schemas" = ["*.json"]
4144
"opengeodeweb_viewer.rpc.model.schemas" = ["*.json"]
4245
"opengeodeweb_viewer.rpc.viewer.schemas" = ["*.json"]
4346

44-
4547
[tool.semantic_release]
4648
version_toml = [
4749
"pyproject.toml:project.version",

src/opengeodeweb_viewer/object/object_methods.py

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,24 +100,56 @@ def SetOpacity(self, id, opacity):
100100
self.render()
101101

102102
def SetColor(self, id, red, green, blue):
103-
reader = self.get_object(id)["reader"]
104103
mapper = self.get_object(id)["mapper"]
105104
mapper.ScalarVisibilityOff()
106105
actor = self.get_object(id)["actor"]
107106
actor.GetProperty().SetColor([red, green, blue])
108107
self.render()
109108

110-
def SetEdgeVisibility(self, id, visibility):
109+
def SetEdgesVisibility(self, id, visibility):
111110
actor = self.get_object(id)["actor"]
112111
actor.GetProperty().SetEdgeVisibility(visibility)
113112
self.render()
113+
114+
def SetEdgesSize(self, id, size):
115+
actor = self.get_object(id)["actor"]
116+
actor.GetProperty().SetEdgeWidth(size)
117+
self.render()
114118

115-
def SetVertexVisibility(self, id, visibility):
119+
def SetEdgesColor(self, id, color):
120+
actor = self.get_object(id)["actor"]
121+
actor.GetProperty().SetEdgeColor(color)
122+
self.render()
123+
def SetPointsVisibility(self, id, visibility):
116124
actor = self.get_object(id)["actor"]
117125
actor.GetProperty().SetVertexVisibility(visibility)
126+
actor.GetProperty().SetEdgeVisibility(visibility)
118127
self.render()
119128

120-
def SetPointSize(self, id, size):
129+
def SetPointsSize(self, id, size):
121130
actor = self.get_object(id)["actor"]
122131
actor.GetProperty().SetPointSize(size)
123-
self.render()
132+
self.render()
133+
134+
def SetPointsColor(self, id, color):
135+
actor = self.get_object(id)["actor"]
136+
actor.GetProperty().SetVertexColor(color)
137+
self.render()
138+
139+
def SetPolygonsVisibility(self, id, visibility):
140+
actor = self.get_object(id)["actor"]
141+
actor.SetVisibility(visibility)
142+
self.render()
143+
144+
def SetPolygonsColor(self, id, color):
145+
actor = self.get_object(id)["actor"]
146+
actor.GetProperty().SetColor(color)
147+
self.render()
148+
149+
def clearColors(self, id):
150+
db = self.get_object(id)
151+
mapper = db["mapper"]
152+
reader = db["reader"]
153+
reader.GetOutput().GetPointData().SetActiveScalars("")
154+
reader.GetOutput().GetCellData().SetActiveScalars("")
155+
mapper.ScalarVisibilityOff()

src/opengeodeweb_viewer/rpc/generic/generic_protocols.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,21 @@
99

1010
# Local application imports
1111
from opengeodeweb_viewer.vtk_protocol import VtkView
12-
from opengeodeweb_viewer.rpc.mesh.mesh_protocols import VtkMeshView
13-
from opengeodeweb_viewer.rpc.model.model_protocols import VtkModelView
1412
from opengeodeweb_viewer.utils_functions import get_schemas_dict, validate_schema
1513

1614
class VtkGenericView(VtkView):
17-
prefix = "opengeodeweb_viewer.generic."
18-
schemas_dict = get_schemas_dict(os.path.join(os.path.dirname(__file__), "schemas"))
15+
generic_prefix = "opengeodeweb_viewer.generic."
16+
generic_schemas_dict = get_schemas_dict(os.path.join(os.path.dirname(__file__), "schemas"))
1917

2018
def __init__(self, mesh_protocols, model_protocols):
2119
super().__init__()
2220
self.mesh_protocols = mesh_protocols
2321
self.model_protocols = model_protocols
2422

25-
@exportRpc(prefix + schemas_dict["register"]["rpc"])
23+
@exportRpc(generic_prefix + generic_schemas_dict["register"]["rpc"])
2624
def register(self, params):
27-
print(self.schemas_dict["register"]["rpc"], f"{params=}", flush=True)
28-
validate_schema(params, self.schemas_dict["register"])
25+
print(self.generic_prefix + self.generic_schemas_dict["register"]["rpc"], f"{params=}", flush=True)
26+
validate_schema(params, self.generic_schemas_dict["register"])
2927
viewer_object = params["viewer_object"]
3028
params.pop('viewer_object', None)
3129
print(f"{params=}", flush=True)
@@ -34,10 +32,10 @@ def register(self, params):
3432
elif viewer_object == "model":
3533
self.model_protocols.registerModel(params)
3634

37-
@exportRpc(prefix + schemas_dict["deregister"]["rpc"])
35+
@exportRpc(generic_prefix + generic_schemas_dict["deregister"]["rpc"])
3836
def deregister(self, params):
39-
print(self.schemas_dict["deregister"]["rpc"], f"{params=}", flush=True)
40-
validate_schema(params, self.schemas_dict["deregister"])
37+
print(self.generic_prefix + self.generic_schemas_dict["deregister"]["rpc"], f"{params=}", flush=True)
38+
validate_schema(params, self.generic_schemas_dict["deregister"])
4139
viewer_object = params["viewer_object"]
4240
params.pop('viewer_object', None)
4341
if viewer_object == "mesh":
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Standard library imports
2+
import os
3+
4+
# Third party imports
5+
from wslink import register as exportRpc
6+
7+
# Local application imports
8+
from opengeodeweb_viewer.utils_functions import get_schemas_dict, validate_schema
9+
from opengeodeweb_viewer.rpc.mesh.mesh_protocols import VtkMeshView
10+
11+
class VtkMeshEdgesView(VtkMeshView):
12+
mesh_edges_prefix = "opengeodeweb_viewer.mesh.edges."
13+
mesh_edges_schemas_dict = get_schemas_dict(os.path.join(os.path.dirname(__file__), "schemas"))
14+
15+
def __init__(self):
16+
super().__init__()
17+
18+
@exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["visibility"]["rpc"])
19+
def setMeshEdgesVisibility(self, params):
20+
print(self.mesh_edges_prefix + self.mesh_edges_schemas_dict["visibility"]["rpc"], f"{params=}", flush=True)
21+
validate_schema(params, self.mesh_edges_schemas_dict["visibility"])
22+
id = params["id"]
23+
visibility = bool(params["visibility"])
24+
self.SetEdgesVisibility(id, visibility)
25+
26+
@exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["color"]["rpc"])
27+
def setMeshEdgesColor(self, params):
28+
print(self.mesh_edges_prefix + self.mesh_edges_schemas_dict["color"]["rpc"], f"{params=}", flush=True)
29+
validate_schema(params, self.mesh_edges_schemas_dict["color"])
30+
id = params["id"]
31+
red, green, blue = params["color"]["r"], params["color"]["g"], params["color"]["b"]
32+
self.SetEdgesColor(id, [red, green, blue])
33+
34+
@exportRpc(mesh_edges_prefix + mesh_edges_schemas_dict["size"]["rpc"])
35+
def setMeshEdgesSize(self, params):
36+
print(self.mesh_edges_prefix + self.mesh_edges_schemas_dict["size"]["rpc"], f"{params=}", flush=True)
37+
validate_schema(params, self.mesh_edges_schemas_dict["size"])
38+
id = params["id"]
39+
size = bool(params["size"])
40+
self.SetEdgesSize(id, size)
41+
42+
43+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"rpc": "color",
3+
"type": "object",
4+
"properties": {
5+
"id": {
6+
"type": "string"
7+
},
8+
"color": {
9+
"type": "object",
10+
"properties": {
11+
"r": {
12+
"type": "integer",
13+
"minimum": 0,
14+
"maximum": 255
15+
},
16+
"g": {
17+
"type": "integer",
18+
"minimum": 0,
19+
"maximum": 255
20+
},
21+
"b": {
22+
"type": "integer",
23+
"minimum": 0,
24+
"maximum": 255
25+
},
26+
"a": {
27+
"type": "number",
28+
"minimum": 0,
29+
"maximum": 1,
30+
"default": 1
31+
}
32+
},
33+
"required": [
34+
"r",
35+
"g",
36+
"b"
37+
],
38+
"additionalProperties": false
39+
}
40+
},
41+
"required": [
42+
"id",
43+
"color"
44+
],
45+
"additionalProperties": false
46+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"rpc": "size",
3+
"type": "object",
4+
"properties": {
5+
"id": {
6+
"type": "string"
7+
},
8+
"size": {
9+
"type": "integer"
10+
}
11+
},
12+
"required": [
13+
"id",
14+
"size"
15+
],
16+
"additionalProperties": false
17+
}

src/opengeodeweb_viewer/rpc/mesh/schemas/display_vertex_attribute.json renamed to src/opengeodeweb_viewer/rpc/mesh/edges/schemas/vertex_attribute.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"rpc": "display_vertex_attribute",
2+
"rpc": "vertex_attribute",
33
"type": "object",
44
"properties": {
55
"id": {

src/opengeodeweb_viewer/rpc/mesh/schemas/set_visibility.json renamed to src/opengeodeweb_viewer/rpc/mesh/edges/schemas/visibility.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"rpc": "set_visibility",
2+
"rpc": "visibility",
33
"type": "object",
44
"properties": {
55
"id": {

0 commit comments

Comments
 (0)