Example #1
0
XnStatus XnDeviceBase::InitImpl(const XnDeviceConfig* pDeviceConfig)
{
    XnStatus nRetVal = XN_STATUS_OK;

    XN_VALIDATE_INPUT_PTR(pDeviceConfig);

    // create device module
    nRetVal = CreateDeviceModule(&m_pDevicePropertiesHolder);
    XN_IS_STATUS_OK(nRetVal);

    // check if we have initial values for device modules
    XnActualPropertiesHash* pDeviceModuleInitialProps = NULL;
    if (pDeviceConfig->pInitialValues != NULL)
    {
        pDeviceConfig->pInitialValues->pData->Get(XN_MODULE_NAME_DEVICE, pDeviceModuleInitialProps);
    }

    // init device module
    nRetVal = m_pDevicePropertiesHolder->Init(pDeviceModuleInitialProps);
    XN_IS_STATUS_OK(nRetVal);

    // add the device module
    nRetVal = AddModule(m_pDevicePropertiesHolder);
    XN_IS_STATUS_OK(nRetVal);

    // init dump
    m_StreamsDataDump = xnDumpFileOpen(XN_DUMP_STREAMS_DATA, "%s.csv", XN_DUMP_STREAMS_DATA);

    return (XN_STATUS_OK);
}
Example #2
0
XnStatus XnDeviceBase::InitImpl(const XnDeviceConfig* pDeviceConfig)
{
	XnStatus nRetVal = XN_STATUS_OK;

	XN_VALIDATE_INPUT_PTR(pDeviceConfig);

	// create device module
	nRetVal = CreateDeviceModule(&m_pDevicePropertiesHolder);
	XN_IS_STATUS_OK(nRetVal);

	// check if we have initial values for device modules
	XnActualPropertiesHash* pDeviceModuleInitialProps = NULL;
	if (pDeviceConfig->pInitialValues != NULL)
	{
		pDeviceConfig->pInitialValues->pData->Get(XN_MODULE_NAME_DEVICE, pDeviceModuleInitialProps);
	}

	// init device module
	nRetVal = m_pDevicePropertiesHolder->Init(pDeviceModuleInitialProps);
	XN_IS_STATUS_OK(nRetVal);

	// set read/write mode (we need to do it AFTER module init to override original value)
	nRetVal = m_ReadWriteMode.UnsafeUpdateValue(pDeviceConfig->DeviceMode);
	XN_IS_STATUS_OK(nRetVal);

	nRetVal = m_SharingMode.UnsafeUpdateValue(pDeviceConfig->SharingMode);
	XN_IS_STATUS_OK(nRetVal);

	// add the device module
	nRetVal = AddModule(m_pDevicePropertiesHolder);
	XN_IS_STATUS_OK(nRetVal);

	// create the new data event
	nRetVal = xnOSCreateEvent(&m_hNewDataEvent, FALSE);
	XN_IS_STATUS_OK(nRetVal);

	// init dump
	m_StreamsDataDump = xnDumpFileOpen(XN_DUMP_STREAMS_DATA, "%s.csv", XN_DUMP_STREAMS_DATA);

	return (XN_STATUS_OK);
}