MCPcopy Create free account
hub / github.com/OpenNI/OpenNI / UserTracker

Method UserTracker

Samples/NiUserSelection/UserTracker.cpp:61–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59
60
61UserTracker::UserTracker(int argc, char **argv, XnUInt64 timeSpanForExitPose) : m_bValid(FALSE),
62 m_timeSpanForExitPose(timeSpanForExitPose),
63 m_pExitPoseDetector(NULL)
64{
65 m_bRecord=FALSE;
66 XnStatus nRetVal = XN_STATUS_OK;
67
68 XnBool OpenedRecording=FALSE;
69
70 if(argc>1)
71 {
72 for(int i=1; i<argc-1; i++)
73 {
74 if(xnOSStrCmp(argv[i],"-RecordingFilename")==0)
75 {
76 // initialize the context from scratch
77 nRetVal = m_Context.Init();
78 CHECK_RC(nRetVal, "Context Initialization");
79 // try to open the recording as the source for sensor data
80 nRetVal = m_Context.OpenFileRecording(argv[i+1], m_Player);
81 CHECK_RC(nRetVal, "Couldn't open recording with command line argument");
82 OpenedRecording=TRUE;
83 break; // we only support one recording at a time..
84 }
85 }
86 }
87 if(OpenedRecording==FALSE)
88 {
89 xn::EnumerationErrors errors;
90 nRetVal = m_Context.InitFromXmlFile(SAMPLE_XML_PATH, m_ScriptNode, &errors);
91 if (nRetVal == XN_STATUS_NO_NODE_PRESENT)
92 {
93 XnChar strError[1024];
94 errors.ToString(strError, 1024);
95 printf("%s\n", strError);
96 return;
97 }
98 CHECK_RC(nRetVal, "Open XML failed");
99 }
100
101 nRetVal = m_Context.FindExistingNode(XN_NODE_TYPE_DEPTH, m_DepthGenerator);
102 if (nRetVal != XN_STATUS_OK)
103 {
104 printf("No depth generator found. Using a default one...");
105 xn::MockDepthGenerator mockDepth;
106 nRetVal = mockDepth.Create(m_Context);
107 CHECK_RC(nRetVal, "Create mock depth");
108
109 // set some defaults
110 XnMapOutputMode defaultMode;
111 defaultMode.nXRes = 320;
112 defaultMode.nYRes = 240;
113 defaultMode.nFPS = 30;
114 nRetVal = mockDepth.SetMapOutputMode(defaultMode);
115 CHECK_RC(nRetVal, "set default mode");
116
117 // set FOV
118 XnFieldOfView fov;

Callers

nothing calls this directly

Calls 15

OpenFileRecordingMethod · 0.80
InitFromXmlFileMethod · 0.80
FindExistingNodeMethod · 0.80
SetSkeletonProfileMethod · 0.80
GetSkeletonCapMethod · 0.80
StartGeneratingAllMethod · 0.80
xnOSStrCmpFunction · 0.50
xnOSCallocAlignedFunction · 0.50
InitMethod · 0.45
ToStringMethod · 0.45
CreateMethod · 0.45
SetMapOutputModeMethod · 0.45

Tested by

no test coverage detected