| 59 | |
| 60 | |
| 61 | UserTracker::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; |
nothing calls this directly
no test coverage detected