Sfoglia il codice sorgente

remove three element

Falko Schindler 4 anni fa
parent
commit
aaf0b672da
4 ha cambiato i file con 0 aggiunte e 92 eliminazioni
  1. 0 3
      custom_test.py
  2. 0 58
      nicegui/elements/three.js
  3. 0 30
      nicegui/elements/three.py
  4. 0 1
      nicegui/ui.py

+ 0 - 3
custom_test.py

@@ -9,6 +9,3 @@ ui.button('Add 100', on_click=lambda: example.add(100))
 label = ui.label()
 label = ui.label()
 
 
 ui.joystick(on_move=lambda e: print("move", e.data.vector), color='blue', size=50)
 ui.joystick(on_move=lambda e: print("move", e.data.vector), color='blue', size=50)
-
-three = ui.three(on_click=lambda e: print("click", e.objects))
-ui.slider(min=0, max=10, on_change=lambda e: three.move_camera(e.value))

+ 0 - 58
nicegui/elements/three.js

@@ -1,58 +0,0 @@
-var camera;
-
-Vue.component("three", {
-  template: `<canvas v-bind:id="jp_props.id"></div>`,
-  mounted() {
-    const scene = new THREE.Scene();
-
-    const width = 400;
-    const height = 300;
-
-    camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
-    camera.position.z = this.$props.jp_props.options.camera_z;
-
-    const renderer = new THREE.WebGLRenderer({
-      antialias: true,
-      canvas: document.getElementById(this.$props.jp_props.id),
-    });
-    renderer.setClearColor("#ddd");
-    renderer.setSize(width, height);
-
-    const geometry = new THREE.BoxGeometry(1, 1, 1);
-    const material = new THREE.MeshBasicMaterial({ color: "#433F81" });
-    const cube = new THREE.Mesh(geometry, material);
-    scene.add(cube);
-
-    new THREE.OrbitControls(camera, renderer.domElement);
-
-    const render = function () {
-      requestAnimationFrame(render);
-      renderer.render(scene, camera);
-    };
-    render();
-
-    const raycaster = new THREE.Raycaster();
-    document.getElementById(this.$props.jp_props.id).onclick = (mouseEvent) => {
-      let x = (mouseEvent.offsetX / renderer.domElement.width) * 2 - 1;
-      let y = -(mouseEvent.offsetY / renderer.domElement.height) * 2 + 1;
-      raycaster.setFromCamera({ x: x, y: y }, camera);
-      const objects = raycaster.intersectObjects(scene.children, true);
-      console.log(objects);
-      const event = {
-        event_type: "onClick",
-        vue_type: this.$props.jp_props.vue_type,
-        id: this.$props.jp_props.id,
-        page_id: page_id,
-        websocket_id: websocket_id,
-        objects: objects,
-      };
-      send_to_server(event, "event");
-    };
-  },
-  updated() {
-    camera.position.z = this.$props.jp_props.options.camera_z;
-  },
-  props: {
-    jp_props: Object,
-  },
-});

+ 0 - 30
nicegui/elements/three.py

@@ -1,30 +0,0 @@
-from .custom_view import CustomView
-from .element import Element
-
-class ThreeView(CustomView):
-
-    def __init__(self, on_click):
-
-        super().__init__('three', __file__, [
-            'https://cdn.jsdelivr.net/npm/three@0.129.0/build/three.min.js',
-            'https://cdn.jsdelivr.net/npm/three@0.129.0/examples/js/controls/OrbitControls.js',
-        ], camera_z=4)
-
-        self.on_click = on_click
-        self.allowed_events = ['onClick']
-        self.initialize(temp=False, onClick=self.handle_click)
-
-    def handle_click(self, msg):
-
-        if self.on_click is not None:
-            self.on_click(msg)
-
-class Three(Element):
-
-    def __init__(self, *, on_click=None):
-
-        super().__init__(ThreeView(on_click))
-
-    def move_camera(self, z):
-
-        self.view.options.camera_z = z

+ 0 - 1
nicegui/ui.py

@@ -15,7 +15,6 @@ class Ui:
     from .elements.select import Select as select
     from .elements.select import Select as select
     from .elements.slider import Slider as slider
     from .elements.slider import Slider as slider
     from .elements.switch import Switch as switch
     from .elements.switch import Switch as switch
-    from .elements.three import Three as three
     from .elements.toggle import Toggle as toggle
     from .elements.toggle import Toggle as toggle
 
 
     from .elements.plot import Plot as plot
     from .elements.plot import Plot as plot