public KinectGui(KinectPoseController poseController, KinectSensorManager sensorManager, KinectDebugVisualizer debugVisualizer) : base("KinectPlugin.GUI.KinectGui.layout") { window.EventChangeCoord += window_EventChangeCoord; this.poseController = poseController; poseController.AllowMovementChanged += ikController_AllowMovementChanged; this.sensorManager = sensorManager; sensorManager.StatusChanged += sensorManager_StatusChanged; sensorManager.ColorFeedChanged += sensorManager_ColorFeedChanged; this.debugVisualizer = debugVisualizer; enableMotionButton = new CheckButton((Button)window.findWidget("EnableMotion")); enableMotionButton.Checked = poseController.AllowMovement; enableMotionButton.CheckedChanged += enableMotionButton_CheckedChanged; showIkSkeleton = new CheckButton((Button)window.findWidget("ShowIkSkeleton")); showIkSkeleton.Checked = poseController.DebugVisible; showIkSkeleton.CheckedChanged += showIkSkeleton_CheckedChanged; showSensorSkeleton = new CheckButton((Button)window.findWidget("ShowSensorSkeleton")); showSensorSkeleton.Checked = debugVisualizer.DebugVisible; showSensorSkeleton.CheckedChanged += showSensorSkeleton_CheckedChanged; enableVideoFeed = new CheckButton((Button)window.findWidget("EnableVideoFeed")); enableVideoFeed.Checked = sensorManager.UseColorFeed; enableVideoFeed.CheckedChanged += enableVideoFeed_CheckedChanged; jawTracking = new CheckButton(window.findWidget("JawTracking") as Button); jawTracking.Checked = poseController.JawTracking; jawTracking.CheckedChanged += jawTracking_CheckedChanged; skeletonTracking = new CheckButton(window.findWidget("SkeletonTracking") as Button); skeletonTracking.Checked = poseController.SkeletonTracking; skeletonTracking.CheckedChanged += skeletonTracking_CheckedChanged; statusLabel = (TextBox)window.findWidget("StatusLabel"); setConnectedLabelText(sensorManager.Connected); colorSensorImage = (ImageBox)window.findWidget("ColorSensorImageBox"); colorSensorImageOriginalPos = new IntCoord(colorSensorImage.Left, colorSensorImage.Top, colorSensorImage.Width, colorSensorImage.Height); colorSensorImageIconPos = new IntCoord(colorSensorImageOriginalPos.width / 2 - ColorIconSize / 2, colorSensorImageOriginalPos.height / 2 - ColorIconSize / 2, ColorIconSize, ColorIconSize); setColorImageIcon(); }
public void initialize(StandaloneController standaloneController) { poseController = new KinectIkController(standaloneController); kinectDebugger = new KinectDebugVisualizer(standaloneController); sensorManager = new KinectSensorManager(); sensorManager.SkeletonFrameReady += sensorManager_SkeletonFrameReady; sensorManager.StatusChanged += sensorManager_StatusChanged; sensorManager.FaceFrameReady += sensorManager_FaceFrameReady; kinectGui = new KinectGui(poseController, sensorManager, kinectDebugger); standaloneController.GUIManager.addManagedDialog(kinectGui); sequenceRecorder = new MovementSequenceRecorder(standaloneController.MedicalController, standaloneController.MovementSequenceController); standaloneController.GUIManager.addManagedDialog(sequenceRecorder); var taskController = standaloneController.TaskController; taskController.addTask(new MDIDialogOpenTask(kinectGui, "KinectPlugin.KinectGui", "Kinect", "KinectPlugin.Kinect", "Kinect")); taskController.addTask(new MDIDialogOpenTask(sequenceRecorder, "KinectPlugin.KinectMovementSequenceRecorder", "Record Sequence", "KinectPlugin.Record", "Kinect")); }
void ikController_AllowMovementChanged(KinectPoseController poseController) { enableMotionButton.Checked = poseController.AllowMovement; }