HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CL_SelfSimilarityAnalysis.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: CL_SelfSimilarityAnalysis.h ( Clip Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __CL_SelfSimilarityAnalysis_h__
13 #define __CL_SelfSimilarityAnalysis_h__
14 
15 #include "CL_API.h"
16 
17 #include "CL_DynamicTimeWarp.h"
18 
19 #include <UT/UT_Interrupt.h>
20 #include <UT/UT_UniquePtr.h>
21 
22 
24 {
25 public:
26  CL_SelfSimilarityAnalysis(int num_samples, int num_joints);
27  virtual ~CL_SelfSimilarityAnalysis();
28 
29  bool performSimilarityAnalysis();
30  void addJointRot(const fpreal *tx, const fpreal *ty, const fpreal *tz);
31  fpreal getMedianMotionTexture(int sample, int joint);
32  fpreal getMDM(int sample, int joint);
33 
34 private:
35  void createDynamicWarp();
36  void computeMeanMotionWord(int r, bool store_all,
37  CL_DynamicTimeWarp *dtw,
38  UT_AutoInterrupt &boss);
39 
40  bool computeMeanMotionTexture();
41  void computeMDM();
42 
43  fpreal &motionTexture(int sample, int joint);
44  fpreal &medianMotionTexture(int sample, int joint);
45  fpreal &meanMotionTexture(int sample, int joint);
46  fpreal &mdm(int sample, int joint);
47 
48 private:
50 
51  int myNumSamples;
52  int myNumJoints;
53 
54  int mySrcWordLength;
55  int myRefWordLength;
56  int myKNN;
57 
58  int myWordSaveStart;
59  int myWordSaveEnd;
60  int myWordSaveLength;
61 
62  UT_UniquePtr<fpreal[]> myMedianMotionTexture;
63  UT_UniquePtr<fpreal[]> myMeanMotionTexture;
65 };
66 
67 #endif
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
#define CL_API
Definition: CL_API.h:10
fpreal64 fpreal
Definition: SYS_Types.h:277
GLboolean r
Definition: glcorearb.h:1222