Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ where = ["src"]
"opengeodeweb_viewer.rpc.mesh.polygons.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.mesh.polyhedra.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.edges.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.points.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.corners.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.lines.schemas" = ["*.json"]
"opengeodeweb_viewer.rpc.model.surfaces.schemas" = ["*.json"]
Expand Down
27 changes: 27 additions & 0 deletions src/opengeodeweb_viewer/rpc/model/edges/edges_protocols.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Standard library imports
import os

# Third party imports
from wslink import register as exportRpc

# Local application imports
from opengeodeweb_viewer.utils_functions import get_schemas_dict, validate_schema
from opengeodeweb_viewer.rpc.model.model_protocols import VtkModelView


class VtkModelEdgesView(VtkModelView):
model_edges_prefix = "opengeodeweb_viewer.model.edges."
model_edges_schemas_dict = get_schemas_dict(
os.path.join(os.path.dirname(__file__), "schemas")
)

def __init__(self):
super().__init__()

@exportRpc(model_edges_prefix + model_edges_schemas_dict["visibility"]["rpc"])
def setModelEdgesVisibility(self, params):
validate_schema(
params, self.model_edges_schemas_dict["visibility"], self.model_edges_prefix
)
id, visibility = params["id"], params["visibility"]
self.SetEdgesVisibility(id, visibility)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"rpc": "edges.visibility",
"rpc": "visibility",
"type": "object",
"properties": {
"id": {
Expand Down
24 changes: 0 additions & 24 deletions src/opengeodeweb_viewer/rpc/model/model_protocols.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,27 +51,3 @@ def setModelVisibility(self, params):
)
id, visibility = params["id"], params["visibility"]
self.SetVisibility(id, visibility)

@exportRpc(model_prefix + model_schemas_dict["points.visibility"]["rpc"])
def setModelPointsVisibility(self, params):
validate_schema(
params, self.model_schemas_dict["points.visibility"], self.model_prefix
)
id, visibility = params["id"], params["visibility"]
self.SetPointsVisibility(id, visibility)

@exportRpc(model_prefix + model_schemas_dict["points.size"]["rpc"])
def setModelPointsSize(self, params):
validate_schema(
params, self.model_schemas_dict["points.size"], self.model_prefix
)
id, size = params["id"], params["size"]
self.SetPointsSize(id, size)

@exportRpc(model_prefix + model_schemas_dict["edges.visibility"]["rpc"])
def setModelEdgesVisibility(self, params):
validate_schema(
params, self.model_schemas_dict["edges.visibility"], self.model_prefix
)
id, visibility = params["id"], params["visibility"]
self.SetEdgesVisibility(id, visibility)
33 changes: 33 additions & 0 deletions src/opengeodeweb_viewer/rpc/model/points/points_protocols.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Standard library imports
import os

# Third party imports
from wslink import register as exportRpc

# Local application imports
from opengeodeweb_viewer.utils_functions import get_schemas_dict, validate_schema
from opengeodeweb_viewer.rpc.model.model_protocols import VtkModelView


class VtkModelPointsView(VtkModelView):
model_points_prefix = "opengeodeweb_viewer.model.points."
model_points_schemas_dict = get_schemas_dict(
os.path.join(os.path.dirname(__file__), "schemas")
)

def __init__(self):
super().__init__()

@exportRpc(model_points_prefix + model_points_schemas_dict["visibility"]["rpc"])
def setModelPointsVisibility(self, params):
validate_schema(
params, self.model_schemas_dict["visibility"], self.model_prefix
)
id, visibility = params["id"], params["visibility"]
self.SetPointsVisibility(id, visibility)

@exportRpc(model_points_prefix + model_points_schemas_dict["size"]["rpc"])
def setModelPointsSize(self, params):
validate_schema(params, self.model_schemas_dict["size"], self.model_prefix)
id, size = params["id"], params["size"]
self.SetPointsSize(id, size)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"rpc": "points.size",
"rpc": "size",
"type": "object",
"properties": {
"id": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"rpc": "points.visibility",
"rpc": "visibility",
"type": "object",
"properties": {
"id": {
Expand Down
8 changes: 8 additions & 0 deletions src/opengeodeweb_viewer/vtkw_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@
from .rpc.mesh.polygons.polygons_protocols import VtkMeshPolygonsView
from .rpc.mesh.polyhedra.polyhedra_protocols import VtkMeshPolyhedraView
from .rpc.model.model_protocols import VtkModelView
from .rpc.model.edges.edges_protocols import (
VtkModelEdgesView,
)
from .rpc.model.points.points_protocols import (
VtkModelPointsView,
)
from .rpc.model.corners.corners_protocols import (
VtkModelCornersView,
)
Expand Down Expand Up @@ -79,6 +85,8 @@ def initialize(self):
self.registerVtkWebProtocol(VtkMeshPolygonsView())
self.registerVtkWebProtocol(VtkMeshPolyhedraView())
self.registerVtkWebProtocol(model_protocols)
self.registerVtkWebProtocol(VtkModelEdgesView())
self.registerVtkWebProtocol(VtkModelPointsView())
self.registerVtkWebProtocol(VtkModelCornersView())
self.registerVtkWebProtocol(VtkModelLinesView())
self.registerVtkWebProtocol(VtkModelSurfacesView())
Expand Down
21 changes: 21 additions & 0 deletions src/tests/model/edges/test_model_edges_protocols.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Standard library imports

# Third party imports
from opengeodeweb_viewer.rpc.model.edges.edges_protocols import (
VtkModelEdgesView,
)

# Local application imports
from src.tests.model.test_model_protocols import test_register_model


def test_edges_visibility(server):

test_register_model(server)

server.call(
VtkModelEdgesView.model_edges_prefix
+ VtkModelEdgesView.model_edges_schemas_dict["visibility"]["rpc"],
[{"id": "123456789", "visibility": True}],
)
assert server.compare_image(3, "model/edges/visibility.jpeg") == True
33 changes: 33 additions & 0 deletions src/tests/model/points/test_model_points_protocols.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Standard library imports

# Third party imports
from opengeodeweb_viewer.rpc.model.points.points_protocols import (
VtkModelPointsView,
)

# Local application imports
from src.tests.model.test_model_protocols import test_register_model


def test_points_visibility(server):

test_register_model(server)

server.call(
VtkModelPointsView.model_points_prefix
+ VtkModelPointsView.model_points_schemas_dict["visibility"]["rpc"],
[{"id": "123456789", "visibility": True}],
)
assert server.compare_image(3, "model/points/visibility.jpeg") == True


def test_points_size(server):

test_points_visibility(server)

server.call(
VtkModelPointsView.model_points_prefix
+ VtkModelPointsView.model_points_schemas_dict["size"]["rpc"],
[{"id": "123456789", "size": 20}],
)
assert server.compare_image(3, "model/points/size.jpeg") == True
36 changes: 0 additions & 36 deletions src/tests/model/test_model_protocols.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,39 +41,3 @@ def test_deregister_model(server):
[{"id": "123456789"}],
)
assert server.compare_image(3, "model/deregister.jpeg") == True


def test_edges_visibility(server):

test_register_model(server)

server.call(
VtkModelView.model_prefix
+ VtkModelView.model_schemas_dict["edges.visibility"]["rpc"],
[{"id": "123456789", "visibility": True}],
)
assert server.compare_image(3, "model/edges.visibility.jpeg") == True


def test_points_visibility(server):

test_register_model(server)

server.call(
VtkModelView.model_prefix
+ VtkModelView.model_schemas_dict["points.visibility"]["rpc"],
[{"id": "123456789", "visibility": True}],
)
assert server.compare_image(3, "model/points.visibility.jpeg") == True


def test_points_size(server):

test_points_visibility(server)

server.call(
VtkModelView.model_prefix
+ VtkModelView.model_schemas_dict["points.size"]["rpc"],
[{"id": "123456789", "size": 20}],
)
assert server.compare_image(3, "model/points.size.jpeg") == True
Loading