コード例 #1
0
        private void mnuTiming_Click(object sender, RoutedEventArgs e)
        {
            IVxScene scene = _outputScene.Scene.GetIVxScene();

            AdjustVideoView formAdjustVideo = new AdjustVideoView();

            formAdjustVideo.Scene = scene;
            if (formAdjustVideo.ShowDialogInt() == System.Windows.Forms.DialogResult.OK)
            {
                formAdjustVideo.ShowDialog();
            }
        }
コード例 #2
0
        public void InitializeScene(VX_DISPLAY_TYPES displayType, VX_FORMAT_TYPES formatType)
        {
            //init, with aa turned on since we have 3d elements
            Scene.EnableFullScreenAA = true;

            Scene.Initialize(displayType, formatType);
            //Scene.CanvasScaleToFit = 1;
            Scene.EnableInputVideo = true;

            // get the scene cast in its different forms
            IVxScene sceneInterface = (IVxScene)Scene.GetOcx();
            object   sceneObject    = (object)sceneInterface;

            if (displayType == VX_DISPLAY_TYPES.VX_DISPLAY_XMIO)
            {
                VtxXmioLib.VX_FORMAT_TYPES xmioFormatType = VtxXmioLib.VX_FORMAT_TYPES.VX_FORMAT_720P;

                switch (formatType)
                {
                case VX_FORMAT_TYPES.VX_FORMAT_1080P_5000:
                    xmioFormatType = VtxXmioLib.VX_FORMAT_TYPES.VX_FORMAT_1080P_5000;
                    break;
                }

                _videoMixer = new VtxXmioLib.VxMixerClass();
                _videoInput = new VtxXmioLib.VxVideoInput();
                _videoMixer.Initialize2(1, 0, 1, 0, xmioFormatType, true);
                _videoMixer.ConnectVideoInput(_videoInput);
                _videoMixer.EnableOnboardCompositor = true;
                _videoInput.EnableVideo             = true;

                sceneInterface.SetAdjust((int)DSUITE_CP_TYPES.DSUITE_GENLOCK, 1, 0);
            }

            sceneInterface.SetCommandQueueID(0);

            // instance and init pageengine
            PageEngine = new VxPageEngine();
            PageEngine.Initialize(sceneInterface);
            PageEngine.SetWorkingDirectory(WorkingDirectory);

            // load virtual camera template
            PageEngine.LoadTemplate("VirtualCamera");
            PageEngine.ShowPage("VirtualCamera", true);
            PageEngine.DeactivateTimeline("VirtualCamera", "HOME", false);

            //PageEngine.LoadTemplate("Field");
            //PageEngine.ShowPage("Field", true);
            //PageEngine.FlushQueuedCommands();

            // setup scenebrowser
            _sceneBrowser.SetScene(ref sceneObject);
            _sceneBrowser.Refresh();

            // bind members to template
            //_templateFrame = Scene.Frames.Item("Field");
            //_rotateFrame = _templateFrame.Frames.Item("RotateFrame");
            //BallFrame = (IVxMesh3D)_templateFrame.Frames.Item("SoccerBall");
            //FieldFrame = (IVxMesh3D)_rotateFrame.Frames.Item("FieldScan");

            // turn off hit testing on example trees
            //foreach (IVxFrame it in FieldFrame.Frames)
            //{
            //    it.EnableHitTest = false;
            //}

            Camera = (IVxCamera)Scene.Frames.DescendantItem("Virtual Camera");

            Camera.NearPlane   = 10;     //0.00001f; // 10
            Camera.FarPlane    = 100000; //1000;//100000;
            Camera.Highlight   = 1;
            Camera.LookThrough = true;

            IVxPropertySet propertySet = null;

            Camera.GetPropertySet(ref propertySet, true);

            propertySet.Set("AimMethod", (int)VX_AIM_METHOD.VX_AIM_METHOD_CAM_FRAME);

            Scene.InternalComposite = VX_INTERNAL_COMPOSITE_TYPES.VX_ICOMP_LIVE_INPUT | VX_INTERNAL_COMPOSITE_TYPES.VX_ICOMP_SHAPED;

            // push updated hit test parameters to the template
            Scene.Update();

            // ready!
            _initialized = true;
        }