Пример #1
0
        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);
        }
Пример #2
0
        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);
        }