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; }
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; }
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; }
//Main loop event emitter void FLeapMotionInputDevice::SendControllerEvents() { HMDSamples->AddCurrentHMDSample(); ParseEvents(); }