JunkBox_Lib++ (for Windows) 1.10.1
Loading...
Searching...
No Matches
BVHTool.h
Go to the documentation of this file.
1#ifndef __JBXL_CPP_BVH_TOOL_H_
2#define __JBXL_CPP_BVH_TOOL_H_
3
4#include "tools++.h"
5#include "bvh_tool.h"
6#include "Vector.h"
7#include "Rotation.h"
8
9//
10#define BVH_ERR_FAIL_WRT_MOTION -1 // モーションデータの書き込み失敗
11#define BVH_ERR_FAIL_WRT_HIRCHY -2 // ジョイントデータの書き込み失敗
12#define BVH_ERR_FAIL_FOPEN -3 // ファイルのオープンに失敗
13#define BVH_ERR_INVLD_ARGS -4 // 不正な引数(入力値)
14#define BVH_ERR_FAIL_OP -5 // 処理失敗
15
16
17namespace jbxl {
18
19
20class CBVHTool : public BVHData
21{
22public:
23 CBVHTool(void) { init();}
24 virtual ~CBVHTool(void);
25
26public:
27//
28// int joint_num; // ジョイントの数
29// int frame_num; // フレームの数
30// double frame_time; // フレーム間の時間 sec
31// int framepsec; // FPS = (int)(1.0/frame_time)
32// int channels; // 総チャンネル数.チャンネル数の合計.モーションデータの数.
33// int state; // データの状態
34
35// tTree* hierarchy; // ジョイント部のツリーデータへのポインタ.上記参照.
36// double* otion; // MOTION データへのポインタ joint_num*frame_num
37// vector* offset; // ジョイントのOFFSET
38
39// Buffer* joint_name; // ジョイントの名前の配列
40
41public:
42 //
43 void init(void);
44 void free_data (void);
45 void clear_data(void);
46
47 void copy_bvh_data(BVHData* bvh);
48 BVHData setback_bvh_data(void);
49
50 BOOL readFile (char* fname);
51 BOOL writeFile(char* fname);
52 BOOL writeMultiFile(char* fname, int sec, int space);
53
54 BOOL readBVH (FILE* fp);
55 BOOL printBVH(FILE* fp);
56
57 void setHierarchy(tTree* hrchy);
58
60 Vector<double>* getPosData(int frame);
62
63// Matrix<double>* getRotMatrix(int frame);
64
65private:
66
67public:
68 //
69 Buffer* joint_name; // ジョイントの名前の配列
70 int* channel_num; // 各ジョイントのチャンネル数
71 int* channel_idx; // 各ジョイントのチャンネルの位置(累計)
72 Buffer flex_joint; // 各ジョイントのチャンネル種別 ex) "PXPYPZRXRYRZRXRYRZ...."
73
74private:
75 //
76 void set_offset(void);
77 void _set_offset(tTree* tree, int* jnum);
78
79 void get_bvh_params(void);
80 void _get_bvh_params(tTree* tree, int** ch, Buffer** jn);
81};
82
83
84
85} // namespace
86
87#endif
回転・クォータニオン ライブラリ ヘッダ
ベクトルライブラリ for C++
BVHツールプログラム ヘッダ
BOOL readFile(char *fname)
Definition BVHTool.cpp:137
BOOL readBVH(FILE *fp)
Definition BVHTool.cpp:155
void _set_offset(tTree *tree, int *jnum)
Definition BVHTool.cpp:308
BOOL writeFile(char *fname)
Definition BVHTool.cpp:175
void init(void)
Definition BVHTool.cpp:23
int * channel_num
Definition BVHTool.h:70
int * channel_idx
Definition BVHTool.h:71
Buffer flex_joint
Definition BVHTool.h:72
void setHierarchy(tTree *hrchy)
Definition BVHTool.cpp:287
void set_offset(void)
Definition BVHTool.cpp:299
virtual ~CBVHTool(void)
Definition BVHTool.cpp:15
BVHData setback_bvh_data(void)
Definition BVHTool.cpp:112
BOOL printBVH(FILE *fp)
Definition BVHTool.cpp:273
void clear_data(void)
Definition BVHTool.cpp:71
Vector< double > * getPosOffset(void)
Definition BVHTool.cpp:530
void get_bvh_params(void)
Definition BVHTool.cpp:346
void copy_bvh_data(BVHData *bvh)
Definition BVHTool.cpp:95
void _get_bvh_params(tTree *tree, int **ch, Buffer **jn)
Definition BVHTool.cpp:383
void free_data(void)
Definition BVHTool.cpp:45
CBVHTool(void)
Definition BVHTool.h:23
Quaternion< double > * getQuaternion(int frame)
Definition BVHTool.cpp:461
Vector< double > * getPosData(int frame)
Definition BVHTool.cpp:417
BOOL writeMultiFile(char *fname, int sec, int space)
Definition BVHTool.cpp:200
Buffer * joint_name
Definition BVHTool.h:69
Definition Brep.h:29
ツールライブラリ ヘッダ for C++