protected void registerPositon(uint deviceIndex) { // Find and record position of controller Matrix4 M = UtilOld.getLeftControllerTipPosition(ref mScene, mScene.leftControllerIdx == deviceIndex); Vector3 origin = UtilOld.transformPoint(M, new Vector3(0, 0, 0)); if (mPoints != null) { mPoints.Add(origin); } if (mPoses != null) { mPoses.Add(M); } Rhino.RhinoApp.WriteLine("RegisterPoint: " + origin.ToString()); // Add a Point Rep object to the mScene Geometry.Geometry point = new Geometry.PointMarker(new Vector3()); Material.Material material = new Material.SingleColorMaterial(0f, .5f, 1f, 1f); SceneNode sceneNode = new SceneNode("point", ref point, ref material); sceneNode.transform = M; mScene.tableGeometry.add(ref sceneNode); }
protected override void onClickOculusTrigger(ref VREvent_t vrEvent) { OpenTK.Vector4 controller_p = UtilOld.getLeftControllerTipPosition(ref mScene, true) * new OpenTK.Vector4(0, 0, 0, 1); Point3d controller_pRhino = UtilOld.openTkToRhinoPoint(UtilOld.vrToPlatformPoint(ref mScene, new OpenTK.Vector3(controller_p.X, controller_p.Y, controller_p.Z))); Rhino.DocObjects.RhinoObject rhobj = mScene.rhinoDoc.Objects.Find(cutPGuid); rhobj.Attributes.Name = "cut:" + controller_pRhino.X + ":" + controller_pRhino.Y + ":" + controller_pRhino.Z; rhobj.CommitChanges(); Rhino.RhinoApp.WriteLine(rhobj.Attributes.Name); }