#include "StdAfx.h" #include "ExportNiData.h" ////////////////////////////////////////////////////////////////////////////////////////// // // // void CExportNiData::init(void) { clear(); outPeriod = 0; } void CExportNiData::clear(void) { outTimer = 0; frameRate = 0.0f; frameTimer = 0; frameNum = 0; } void CExportNiData::exportJointsData(Vector* posVect, Quaternion* rotQuat, CNiNetwork* net, NiSDK_Lib lib, int joint_num) { if (checkOutputPeriod()) { exportData(posVect, rotQuat, net, lib, joint_num); calcLocalFPS(); } } ////////////////////////////////////////////////////////////////////////////////////////// // // // BOOL CExportNiData::checkOutputPeriod(void) { unsigned short tmptimer; unsigned short laptm = GetMsecondsLapTimer(outTimer, &tmptimer); if (laptm NINET_FRM_RATE_INTVL) { frameRate = (float)frameNum/laptm; frameTimer = tmptimer; frameNum = 0; SendWinMessage(WM_USER_LCLFPS_UPDATE); } return; } void CExportNiData::exportData(Vector* posVect, Quaternion* rotQuat, CNiNetwork* net, NiSDK_Lib lib, int joint_num) { CNiSMemory* mem = net->sharedMem; CParameterSet param = net->appParam; // if (net!=NULL && net->sendSocket>0) { if (param.netOutMode==NETandLOCAL) { mem->updateLocalAnimationData(posVect, rotQuat, lib, joint_num); } if (param.netFastMode) { sendAnimationData (posVect, rotQuat, net, lib, joint_num); } else { sendAnimationData(posVect, rotQuat, net, lib, joint_num); } } else { mem->updateLocalAnimationData(posVect, rotQuat, lib, joint_num); } }