示例#1
0
        override public Capture BeginCapture(InputState input, CaptureSide eSide)
        {
            update_last_hit(tool, WorldRay(ref input));

            if (input.IsForDevice(InputDevice.Mouse))
            {
                tool.Invert       = input.bCtrlKeyDown;
                tool.UseSecondary = input.bShiftKeyDown;
            }

            tool.BeginBrushStroke(lastHitFrameW, lastHitTID);

            return(Capture.Begin(this, CaptureSide.Any));
        }
示例#2
0
        override public Capture BeginCapture(InputState input, CaptureSide eSide)
        {
            //Ray3f sideRay = (eSide == CaptureSide.Left) ? input.vLeftSpatialWorldRay : input.vRightSpatialWorldRay;
            Frame3f sideHandF = (eSide == CaptureSide.Left) ? input.LeftHandFrame : input.RightHandFrame;

            sideHandF.Origin += SceneGraphConfig.VRHandTipOffset * sideHandF.Z;
            SurfaceBrushTool tool = context.ToolManager.GetActiveTool((int)eSide) as SurfaceBrushTool;

            // [RMS] old oculus hack that was not very nice...
            //bool bTouchingStick =
            //    (eSide == CaptureSide.Left) ? input.bLeftStickTouching : input.bRightStickTouching;
            //tool.ActiveBrush = (bTouchingStick) ?
            //    SurfaceBrushTool.BrushTool.Smooth : SurfaceBrushTool.BrushTool.SoftMove;

            tool.BeginBrushStroke(sideHandF, lastHitTID);

            return(Capture.Begin(this, eSide));
        }