Nikolay Suslov 6 éve
szülő
commit
6852a0b90c

+ 33 - 1
public/defaults/proxy/vwf.example.com/aframe/aentity.js

@@ -48,4 +48,36 @@ this.showCloseGizmo = function () {
     // return value && value.length >= 3 ?
     //   value :
     //   goog.vec.Vec3.create();
-  };
+  };
+
+  this.sendOSC = function(msg){
+        //sending OSC msg
+
+        vwf_view.kernel.fireEvent(this.id, "sendOSC", [msg]);
+
+        // if (_OSCManager.port !== null) {
+        //     _OSCManager.port.send(msg);
+        // }
+    
+        //on driver side
+    
+  }
+
+  this.intersectEvent = function(){
+    //this.intersectEventMethod();
+   }
+   this.clearIntersectEvent = function(){
+    //this.clearIntersectEventMethod();
+   }
+
+  this.intersectEventMethod = function(){
+
+        //intersect method
+  }
+
+
+    this.clearIntersectEventMethod = function(){
+        
+         //clearIntersect method
+
+    }

+ 8 - 0
public/defaults/proxy/vwf.example.com/aframe/aentity.vwf.yaml

@@ -48,7 +48,15 @@ events:
   positionChanged:
   rotationChanged:
   scaleChanged:
+  sendOSC:
+  intersectEvent:
+  clearIntersectEvent:
 methods:
+  intersectEventMethod:
+  clearIntersectEventMethod:
+  sendOSC:
+    parameters:
+      - msg
   setGizmoMode:
     parameters:
       - mode

+ 0 - 8
public/defaults/worlds/aframe2/index.vwf.yaml

@@ -108,8 +108,6 @@ children:
           receive: true
     events:
       clickEvent:
-      intersectEvent:
-      clearIntersectEvent:
     methods:
       clickEventMethod:
         body: |
@@ -139,12 +137,6 @@ children:
         this.clickEvent = function(){
           this.clickEventMethod();
          }
-         this.intersectEvent = function(){
-          this.intersectEventMethod();
-         }
-         this.clearIntersectEvent = function(){
-          this.clearIntersectEventMethod();
-         }
   sphere:
     extends: http://vwf.example.com/aframe/asphere.vwf
     properties:

+ 8 - 3
public/vwf/model/aframe/addon/aframe-components.js

@@ -199,9 +199,12 @@ AFRAME.registerComponent('raycaster-listener', {
 
 
                 } else {
-                    console.log('I was intersected at: ', evt.target);//evt.detail.getIntersection().point);
+                    
                     //evt.detail.intersection.object.el.id
-                    vwf_view.kernel.fireEvent(evt.target.id, "intersectEvent")
+                    if (evt.detail.el.id.includes(vwf_view.kernel.moniker())) {
+                    console.log('I was intersected at: ', evt.target);//evt.detail.getIntersection().point);
+                    vwf_view.kernel.fireEvent(evt.target.id, "intersectEvent",  [vwf_view.kernel.moniker()]);
+                    }
                 }
 
                 self.casters[evt.target.id] = evt.target;
@@ -220,7 +223,9 @@ AFRAME.registerComponent('raycaster-listener', {
                 if (self.intersected) {
                     console.log('Clear intersection');
                     if (Object.entries(self.casters).length == 1 && (self.casters[evt.target.id] !== undefined)) {
-                        vwf_view.kernel.fireEvent(evt.target.id, "clearIntersectEvent")
+                        if (evt.detail.el.id.includes(vwf_view.kernel.moniker())) {
+                        vwf_view.kernel.fireEvent(evt.target.id, "clearIntersectEvent", [vwf_view.kernel.moniker()])
+                        }
                     }
                     delete self.casters[evt.target.id]
                 } else { }

+ 11 - 11
public/vwf/model/osc.js

@@ -109,21 +109,21 @@ define( [ "module", "vwf/model" ], function( module, model ) {
 
         callingMethod: function( nodeID, methodName, methodParameters ) {
 
-            if (methodName == 'sendOSC') {
+            // if (methodName == 'sendOSC') {
 
-                if (this.osc == null) {
-                    this.osc = _OSCManager;
-                }
+            //     if (this.osc == null) {
+            //         this.osc = _OSCManager;
+            //     }
 
-                // var msg = {
-                //     address: "/hello/from/oscjs",
-                //     args: [Math.random()]
-                // };
-                this.osc.port.send(methodParameters);
+            //     // var msg = {
+            //     //     address: "/hello/from/oscjs",
+            //     //     args: [Math.random()]
+            //     // };
+            //     this.osc.port.send(methodParameters);
 
-                console.log('send: ' + methodParameters);
+            //     console.log('send: ' + methodParameters);
 
-            }
+            // }
 
         },
 

+ 31 - 0
public/vwf/view/aframe.js

@@ -438,6 +438,37 @@ define(["module", "vwf/view"], function (module, view) {
             //     vwf_view.kernel.setProperty(avatarName, "position", [eventParameters.x, eventParameters.y, eventParameters.z]);
             // }
 
+            if (eventName == "intersectEvent") {
+
+                var clientThatSatProperty = self.kernel.client();
+                var me = self.kernel.moniker();
+
+                // If the transform property was initially updated by this view....
+                if ( clientThatSatProperty == me ) {
+
+                if ( me == eventParameters[0]) {
+                    vwf_view.kernel.callMethod(nodeID, "intersectEventMethod", [])
+                }
+            }
+
+            }
+
+
+            if (eventName == "clearIntersectEvent") {
+
+                var clientThatSatProperty = self.kernel.client();
+                var me = self.kernel.moniker();
+
+                // If the transform property was initially updated by this view....
+                if ( clientThatSatProperty == me ) {
+
+                if ( me == eventParameters[0]) {
+                    vwf_view.kernel.callMethod(nodeID, "clearIntersectEventMethod", [])
+                }
+            }
+
+            }
+
             if (eventName == "clickEvent") {
 
                 if (self.kernel.moniker() == eventParameters[0]) {

+ 64 - 4
public/vwf/view/osc.js

@@ -23,11 +23,71 @@ define(["module", "vwf/view", "vwf/view/oscjs/dist/osc-module"], function(module
 
 		},
 
+		firedEvent: function (nodeID, eventName, eventParameters) {
+         
+              
+                if (eventName == 'sendOSC'){
+
+				var clientThatSatProperty = self.kernel.client();
+				var me = self.kernel.moniker();
+
+
+				// If the transform property was initially updated by this view....
+				if (clientThatSatProperty == me) {
+
+
+					if (self.osc !== null) {
+						if (this.getStatus() == 1) {
+							self.port.send(eventParameters[0]);
+							console.log('send: ' + eventParameters[0]);
+						}
+					}
+				}
+
+
+
+				}
+			
+		},
+
+
 		/*
 		 * Receives incoming messages
 		 */
-		// calledMethod: function(id, name, params) {
-		// },
+		calledMethod: function( nodeID, methodName, methodParameters, methodValue ) {
+	
+
+
+			// if (methodName == "sendOSC") {
+			// 	if (self.osc !== null) {
+			// 		if (this.getStatus() == 1) {
+			// 			self.port.send(methodParameters[0]);
+			// 			console.log('send: ' + methodParameters);
+			// 		}
+			// 	}
+				
+			// }
+
+
+			if (methodName == "sendOSCBundle") {
+
+				if (self.osc !== null) {
+					if (this.getStatus() == 1) {
+						self.port.send({
+							timeTag: self.osc.timeTag(1), // Schedules this bundle 60 seconds from now.
+							packets: [methodParameters[0]]
+						}
+						);
+						console.log('send: ' + methodParameters[0]);
+					}
+				}
+				//console.log("send OSC!!!");
+
+			}
+
+            
+        },
+
 		
 		setOSCHostAndPort: function(h,p) {
 
@@ -63,8 +123,8 @@ define(["module", "vwf/view", "vwf/view/oscjs/dist/osc-module"], function(module
 		},
 
 		getStatus: function() {
-			if (this.port){
-			return this.port.socket.readyState
+			if (self.port){
+			return self.port.socket.readyState
 			} 
 			return 3
 		}