Skip to content

Commit

Permalink
fix camera etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
Licini committed Jun 26, 2024
1 parent b3b0118 commit 944db9f
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 86 deletions.
51 changes: 51 additions & 0 deletions scripts/camera.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@
from compas.geometry import Box
from compas.geometry import Frame
from compas_viewer.viewer import Viewer
from compas_viewer.components import Button
from compas_viewer.components import Slider

viewer = Viewer()

viewer.renderer.camera.target = [5, 0, 0]
viewer.renderer.camera.position = [5, 10, 5]

print("target", viewer.renderer.camera.target)

for i in range(5):
for j in range(5):
Expand All @@ -19,4 +22,52 @@
name=f"Box_{i}_{j}",
)

def print_camera():
print("target", viewer.renderer.camera.target)
print("position", viewer.renderer.camera.position)


def update_camera_position_x(slider: Slider, value: int):
viewer.renderer.camera.position.x = value
viewer.renderer.update()
print(viewer.renderer.camera.position)

def update_camera_position_y(slider: Slider, value: int):
viewer.renderer.camera.position.y = value
viewer.renderer.update()
print(viewer.renderer.camera.position)


def update_camera_position_z(slider: Slider, value: int):
viewer.renderer.camera.position.z = value
viewer.renderer.update()
print(viewer.renderer.camera.position)


def update_camera_target_x(slider: Slider, value: int):
viewer.renderer.camera.target.x = value
viewer.renderer.update()
print(viewer.renderer.camera.target)


def update_camera_target_y(slider: Slider, value: int):
viewer.renderer.camera.target.y = value
viewer.renderer.update()
print(viewer.renderer.camera.target)

def update_camera_target_z(slider: Slider, value: int):
viewer.renderer.camera.target.z = value
viewer.renderer.update()
print(viewer.renderer.camera.target)


viewer.ui.sidedock.show = True
viewer.ui.sidedock.add(Button(text="Print Camera", action=print_camera))
viewer.ui.sidedock.add(Slider(title="Position X", min_val=-10, max_val=10, step=1, action=update_camera_position_x))
viewer.ui.sidedock.add(Slider(title="Position Y", min_val=-10, max_val=10, step=1, action=update_camera_position_y))
viewer.ui.sidedock.add(Slider(title="Position Z", min_val=-10, max_val=10, step=1, action=update_camera_position_z))
viewer.ui.sidedock.add(Slider(title="Target X", min_val=-10, max_val=10, step=1, action=update_camera_target_x))
viewer.ui.sidedock.add(Slider(title="Target Y", min_val=-10, max_val=10, step=1, action=update_camera_target_y))
viewer.ui.sidedock.add(Slider(title="Target Z", min_val=-10, max_val=10, step=1, action=update_camera_target_z))

viewer.show()
79 changes: 0 additions & 79 deletions scripts/ifc.py

This file was deleted.

7 changes: 4 additions & 3 deletions scripts/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@
from compas_model.models import Model

from compas.colors import Color
from compas.plugins import plugin
from compas.scene import register
from compas.scene import register_scene_objects
from compas_viewer import Viewer
from compas_viewer.scene import GroupObject


class ModelObject(GroupObject):
def __init__(self, model, **kwargs):
def __init__(self, **kwargs):

model = kwargs.pop("item")

elements = []

Expand Down Expand Up @@ -40,7 +41,7 @@ def __init__(self, model, **kwargs):
blocks = (elements, {"name": "blocks"})
interfaces = ([], {"name": "interfaces"})
forces = ([], {"name": "forces"})
super().__init__([blocks, interfaces, forces], name=model.name, **kwargs)
super().__init__(item=[blocks, interfaces, forces], name=model.name, **kwargs)


register_scene_objects() # This has to be called before registering the model object
Expand Down
2 changes: 1 addition & 1 deletion src/compas_viewer/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ class CameraConfig(ConfigBase):
fov: float = 45.0
near: float = 0.1
far: float = 1000.0
position: list[float] = field(default_factory=lambda: [0.0, -10.0, 10.0])
position: list[float] = field(default_factory=lambda: [-10.0, -10.0, 10.0])
target: list[float] = field(default_factory=lambda: [0.0, 0.0, 0.0])
scale: float = 1.0
zoomdelta: float = 0.05
Expand Down
4 changes: 1 addition & 3 deletions src/compas_viewer/renderer/renderer.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def __init__(self, viewer: "Viewer"):

self.viewer = viewer

self._view = None
self._view = self.viewer.config.renderer.view
self._rendermode = self.viewer.config.renderer.rendermode
self._opacity = self.viewer.config.renderer.ghostopacity if self.rendermode == "ghosted" else 1.0

Expand Down Expand Up @@ -440,8 +440,6 @@ def init(self):
self.shader_grid.uniform4x4("transform", transform)
self.shader_grid.release()

self.view = self.viewer.config.renderer.view

def update_projection(self, w=None, h=None):
"""
Update the projection matrix.
Expand Down

0 comments on commit 944db9f

Please sign in to comment.