示例#1
0
bool 
CreatureCore::RunTick(float delta_time)
{
	std::lock_guard<std::mutex> scope_lock(*update_lock);

	if (is_driven)
	{
		UpdateCreatureRender();
		FillBoneData();

		return true;
	}

	if (is_disabled)
	{
		return false;
	}

	if (creature_manager)
	{
		ParseEvents(delta_time);

		if (should_play) {
			creature_manager->Update(delta_time);
		}

		UpdateCreatureRender();

		FillBoneData();

	}

	return true;
}
示例#2
0
BOOL CVCAMetaParserIXML::ParseMetaData( unsigned char *pMetadata, int nLength )
{
	pMetadata[nLength] = '\0';
	m_pDOMDoc = ixmlParseBuffer((char*)pMetadata);
//	puts(ixmlPrintDocument(m_pDOMDoc));
	if(m_pDOMDoc) {
		ParseHeader();
		ParseStab();
		ParseObjects();
		ParseEvents();
		ParseCounts();
		
		ParseBlobsImp(_XML_TAMPERMAP, &m_TamperInfo);
		ParseBlobsImp(_XML_SCENECHANGEMAP, &m_SceneChangeInfo);
		ParseBlobsImp(_XML_BLOBMAP, &m_BlobMap);
		ParseBlobsImp(_XML_STATBLOBMAP, &m_StationaryMap);
		ParseBlobsImp(_XML_SMOKEMAP,&m_SmokeMap);
		ParseBlobsImp(_XML_FIREMAP,&m_FireMap);

		ParseCE();

		ixmlDocument_free(m_pDOMDoc);
	} else {
		printf("!!! Parsing Error\n");
	}

	return TRUE;
}
示例#3
0
BOOL CVCAMetaParserMSXML::ParseMetaData( unsigned char *pMetadata, int nLength )
{
	CComBSTR sz( (char *)pMetadata );
	VARIANT_BOOL vb;
	USES_CONVERSION;

	pMetadata[nLength] = '\0';

	BSTR bstr = SysAllocString( A2W( (char *)pMetadata ) );

//	sz = CComBSTR("<?xml version=\"1.0\"?>\n<vca>\n <vca_hdr>\n  <frame_id>10</frame_id>\n </vca_hdr>\n</vca>\n");

//	TRACE( (char *)pMetadata );

	vb = m_pDOMDoc->loadXML( bstr);

//	FILE *pFile;
//	pFile = fopen( "C:\\vtmeta.txt", "a" );
//	fwrite( pMetadata, strlen( (char *)pMetadata ), 1, pFile );
//	fclose( pFile );

	if( VARIANT_TRUE == vb )
	{
		// Find the header
		ParseHeader();
		ParseStab();
		ParseObjects();
		ParseEvents();
		ParseCounts();
		ParseBlobsImp(_XML_TAMPERMAP, &m_TamperInfo);
		ParseBlobsImp(_XML_SCENECHANGEMAP, &m_SceneChangeInfo);
		ParseBlobsImp(_XML_BLOBMAP, &m_BlobMap);
		ParseBlobsImp(_XML_STATBLOBMAP, &m_StationaryMap);
		ParseBlobsImp(_XML_SMOKEMAP,&m_SmokeMap);
		ParseBlobsImp(_XML_FIREMAP,&m_FireMap);
		
		ParseCE();
	}
	else
	{
		// Loading the doc failed, find out why...
		MSXML2::IXMLDOMParseErrorPtr pErr = m_pDOMDoc->parseError;

		CString strLine, sResult;
		strLine.Format(_T(" ( line %u, column %u )"), pErr->Getline(), pErr->Getlinepos());
		// Return validation results in message to the user.
		if (pErr->errorCode != S_OK)
		{
			sResult = CString("Validation failed on ") +
			 CString ("\n=====================") +
			 CString("\nReason: ") + CString( (char*)(pErr->Getreason())) +
			 CString("\nSource: ") + CString( (char*)(pErr->GetsrcText())) +
			 strLine + CString("\n");

			ATLTRACE(sResult);

//			AfxMessageBox( (char *)pMetadata );


		}
	}

//	memset( pMetadata, NULL, 2048 );
	SysFreeString( bstr );

	return TRUE;
}
示例#4
0
//Main loop event emitter
void FLeapMotionInputDevice::SendControllerEvents()
{
	HMDSamples->AddCurrentHMDSample();
	ParseEvents();
}