代码拉取完成,页面将自动刷新
同步操作将从 FelixWang810/Kinect动作捕捉软件 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef _FBXFUNCTION_H
#define _FBXFUNCTION_H
#include <Windows.h>
#include <iostream>
#include "Common.h"
#include <vector>
#include <opencv2/opencv.hpp>
#include "MathFunc.h"
using namespace std;
using namespace cv;
// Declare the UV names globally so we can create them on the mesh and then assign them properly
// to our textures when we create them
static const char* gDiffuseElementName = "DiffuseUV";
static const char* gAmbientElementName = "AmbientUV";
static const char* gEmissiveElementName = "EmissiveUV";
// ڲ
const double camera_factor = 100;
const double camera_cx = 315.0;
const double camera_cy = 235.0;
const double camera_fx = 590.0;
const double camera_fy = 600.0;
class FbxKinect20 {
public:
FbxKinect20();
bool CreateScene(FbxManager* pSdkManager, FbxScene* pScene, char* pSampleFileName, vector<vector<float>> Triangleinfo, vector<Point3d> skeletonPoints, vector<vector<vector<double>>> RotationMatrixSequence);
bool CreateSceneK2(FbxManager* pSdkManager, FbxScene* pScene, char* pSampleFileName, vector<vector<float>> Triangleinfo, vector<Point3d> skeletonPoints3D, vector<vector<vector<double>>> RotationMatrixSequence, std::vector<std::vector<float>> TriangleinfoColor);
float m_TimeStep;
private:
FbxNode* CreateTriangle(FbxScene* pScene, const char* pName, vector<vector<float>> Triangleinfo);
FbxNode* CreateTriangleK2(FbxScene* pScene, const char* pName, vector<vector<float>> Triangleinfo, std::vector<std::vector<float>> TriangleinfoColor);
FbxNode* CreatePatch(FbxScene* pScene, const char* pName);
FbxNode* CreateSkeleton(FbxScene* pScene, const char* pName, vector<Point3d> skeletonPoints3D);
void LinkPatchToSkeleton(FbxScene* pScene, FbxNode* pPatch, FbxNode* pSkeletonRoot, vector<vector<float>> Triangleinfo, vector<Point3d> skeletonPoints3D);
void AnimateSkeleton(FbxScene* pScene, FbxNode* pSkeletonRoot, FbxAnimLayer* lAnimLayer, vector<Point3d> skeletonPoints3D, vector<vector<vector<double>>> RotationMatrixSequence);
void Animate(FbxNode* pNode, FbxAnimLayer* pAnimLayer);
void StoreBindPose(FbxScene* pScene, FbxNode* pPatch);
void StoreRestPose(FbxScene* pScene, FbxNode* pSkeletonRoot);
void AddNodeRecursively(FbxArray<FbxNode*>& pNodeArray, FbxNode* pNode);
void CreateMaterials(FbxScene* pScene, FbxMesh* pMesh, vector<vector<float>> Triangles);
void CreateTexture(FbxScene* pScene, FbxMesh* pMesh);
void SetTriangleDefaultPosition(FbxNode* pTriangle, vector<Point3d> skeletonPoints3D);
};
#endif // #ifndef _FBXFUNCTION_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。