Skip to content

Commit 04160b4

Browse files
committed
Merge branch 'clean' of github.com:Zillode/OSCeleton-KinectSDK into clean
2 parents 91893f0 + 70e145c commit 04160b4

File tree

6 files changed

+60
-51
lines changed

6 files changed

+60
-51
lines changed

.gitignore

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,8 @@
11
*.DS_Store
2-
/SkeletalTracking/SkeletalTracking/bin/
3-
/SkeletalTracking/SkeletalTracking/obj/
4-
/SkeletalTrackingVB/SkeletalTracking/bin/
5-
/SkeletalTrackingVB/SkeletalTracking/obj/
6-
/SkeletalTracking/SkeletalTracking.suo
7-
/SkeletalTracking/SkeletalTracking/SkeletalTracking.csproj.user
8-
/Dependencies/KinectWpfViewers/obj/
9-
/Dependencies/KinectWpfViewers/bin/
10-
/Dependencies/KinectWpfViewers/Microsoft.Samples.Kinect.WpfViewers.suo
11-
/Dependencies/KinectWpfViewers/Microsoft.Samples.Kinect.WpfViewers.sln.docstates.suo
12-
/Dependencies/Coding4Fun.Kinect.Wpf.pdb
13-
/SkeletalTracking/SkeletalTracking/zillode.pfx
14-
/SkeletalTracking/SkeletalTracking/publish/
15-
/Dependencies/Microsoft.Kinect.Toolkit/obj
16-
/Dependencies/Microsoft.Kinect.Toolkit/bin
17-
/Dependencies/Microsoft.Kinect.Toolkit.FaceTracking/bin
18-
/Dependencies/Microsoft.Kinect.Toolkit.FaceTracking/obj
19-
20-
/Dependencies/ShortcutLib/bin
21-
/Dependencies/ShortcutLib/obj
222
/SkeletonBasics-WPF/*.pfx
3+
/SkeletonBasics-WPF/obj
4+
/SkeletonBasics-WPF/bin
5+
/SkeletonBasics-WPF/Libs/Microsoft.Kinect.Toolkit.FaceTracking/obj
6+
/SkeletonBasics-WPF/Libs/Microsoft.Kinect.Toolkit.FaceTracking/bin
7+
8+
/SkeletonBasics-WPF/*.suo
33 KB
Binary file not shown.

SkeletonBasics-WPF/MainWindow.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<StatusBarItem Padding="0 0 0 10">
6767
<TextBlock Name="statusBarText" Margin="-1 0 0 0">Click 'Seated' to change skeletal pipeline type!</TextBlock>
6868
</StatusBarItem>
69-
</StatusBar>
69+
</StatusBar>
70+
<CheckBox Grid.Row="2" Style="{StaticResource SquareCheckBox}" Content="Show Skeleton" Height="Auto" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="145,10,0,10" x:Name="checkBoxShowSkeleton" Checked="CheckBoxShowSkeletonChanged" Unchecked="CheckBoxShowSkeletonChanged"/>
7071
</Grid>
7172
</Window>

SkeletonBasics-WPF/MainWindow.xaml.cs

Lines changed: 51 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ public partial class MainWindow : System.Windows.Window
4040
private int oscPort = 7110;
4141
private const int skeletonCount = 6;
4242
private const int pointScale = 1000;
43+
private bool showSkeleton = true;
4344

4445
// Outputs
46+
private bool capturing = true;
4547
private UdpWriter osc;
4648
private StreamWriter fileWriter;
4749
private Stopwatch stopwatch;
48-
private bool capturing = true;
4950
private static List<String> oscMapping = new List<String> { "",
5051
"head", "neck", "torso", "waist",
5152
"l_collar", "l_shoulder", "l_elbow", "l_wrist", "l_hand", "l_fingertip",
@@ -215,6 +216,7 @@ private void WindowLoaded(object sender, System.Windows.RoutedEventArgs e)
215216
System.Windows.MessageBox.Show("Failed to parse the oscPort argument: " + args[index + 1]);
216217
}
217218
}
219+
if ("showSkeleton".ToLower().Equals(args[index])) showSkeleton = StringToBool(args[index + 1]);
218220
}
219221

220222
// Initialisation
@@ -420,39 +422,51 @@ private void SensorAllFramesReady(object sender, AllFramesReadyEventArgs e)
420422
}
421423

422424
private void SensorFrameHelper(Boolean allFrames) {
423-
424-
using (DrawingContext dc = this.drawingGroup.Open())
425+
if (capturing)
425426
{
426-
// Draw a transparent background to set the render size
427-
dc.DrawRectangle(Brushes.Black, null, new System.Windows.Rect(0.0, 0.0, RenderWidth, RenderHeight));
428-
429-
if (skeletons.Length != 0)
427+
foreach (Skeleton skel in skeletons)
430428
{
431-
foreach (Skeleton skel in skeletons)
429+
if (skel.TrackingState == SkeletonTrackingState.Tracked)
432430
{
433-
RenderClippedEdges(skel, dc);
431+
SendSkeleton(skel.TrackingId, skel);
432+
if (allFrames && faceTracking)
433+
SendFaceTracking(skel.TrackingId, skel);
434+
}
435+
}
436+
}
434437

435-
if (skel.TrackingState == SkeletonTrackingState.Tracked)
436-
{
437-
this.DrawBonesAndJoints(skel, dc);
438-
SendSkeleton(skel.TrackingId, skel);
439-
if (allFrames)
440-
SendFaceTracking(skel.TrackingId, skel);
441-
}
442-
else if (skel.TrackingState == SkeletonTrackingState.PositionOnly)
438+
if (showSkeleton)
439+
{
440+
using (DrawingContext dc = this.drawingGroup.Open())
441+
{
442+
// Draw a transparent background to set the render size
443+
dc.DrawRectangle(Brushes.Black, null, new System.Windows.Rect(0.0, 0.0, RenderWidth, RenderHeight));
444+
445+
if (skeletons.Length != 0)
446+
{
447+
foreach (Skeleton skel in skeletons)
443448
{
444-
dc.DrawEllipse(
445-
this.centerPointBrush,
446-
null,
447-
this.SkeletonPointToScreen(skel.Position),
448-
BodyCenterThickness,
449-
BodyCenterThickness);
449+
RenderClippedEdges(skel, dc);
450+
451+
if (skel.TrackingState == SkeletonTrackingState.Tracked)
452+
{
453+
this.DrawBonesAndJoints(skel, dc);
454+
}
455+
else if (skel.TrackingState == SkeletonTrackingState.PositionOnly)
456+
{
457+
dc.DrawEllipse(
458+
this.centerPointBrush,
459+
null,
460+
this.SkeletonPointToScreen(skel.Position),
461+
BodyCenterThickness,
462+
BodyCenterThickness);
463+
}
450464
}
451465
}
452-
}
453466

454-
// prevent drawing outside of our render area
455-
this.drawingGroup.ClipGeometry = new RectangleGeometry(new System.Windows.Rect(0.0, 0.0, RenderWidth, RenderHeight));
467+
// prevent drawing outside of our render area
468+
this.drawingGroup.ClipGeometry = new RectangleGeometry(new System.Windows.Rect(0.0, 0.0, RenderWidth, RenderHeight));
469+
}
456470
}
457471
}
458472

@@ -625,6 +639,17 @@ private void CheckBoxSeatedModeChanged(object sender, System.Windows.RoutedEvent
625639
}
626640
}
627641

642+
/// <summary>
643+
/// Handles the checking or unchecking of the seated mode combo box
644+
/// </summary>
645+
/// <param name="sender">object sending the event</param>
646+
/// <param name="e">event arguments</param>
647+
private void CheckBoxShowSkeletonChanged(object sender, System.Windows.RoutedEventArgs e)
648+
{
649+
this.showSkeleton = this.checkBoxShowSkeleton.IsChecked.GetValueOrDefault();
650+
}
651+
652+
628653
void SendFaceTracking(int user, Skeleton s)
629654
{
630655
if (!faceTrackers.ContainsKey(user))

SkeletonBasics-WPF/SkeletonBasics-WPF.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
7474
</PropertyGroup>
7575
<PropertyGroup>
76-
<SignManifests>true</SignManifests>
76+
<SignManifests>false</SignManifests>
7777
</PropertyGroup>
7878
<PropertyGroup>
7979
<ManifestCertificateThumbprint>E1326BB8EA2233567028613A2537CD2C33CFAC03</ManifestCertificateThumbprint>

SkeletonBasics-WPF/SkeletonBasics-WPF.sln

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,4 @@ Global
5050
GlobalSection(SolutionProperties) = preSolution
5151
HideSolutionNode = FALSE
5252
EndGlobalSection
53-
GlobalSection(Performance) = preSolution
54-
HasPerformanceSessions = true
55-
EndGlobalSection
5653
EndGlobal

0 commit comments

Comments
 (0)