12 #ifndef __CL_TimeWarp_h__
13 #define __CL_TimeWarp_h__
34 void interpolateWarp();
39 bool setNumChannels(
int num_channels,
40 int src_channel_length,
41 int ref_channel_length);
43 bool addChannel(
const fpreal *input_src_channel,
44 const fpreal *input_ref_channel);
46 bool addMotionChannels(
const fpreal *src_tx_channel,
47 const fpreal *src_ty_channel,
48 const fpreal *src_tz_channel,
49 const fpreal *ref_tx_channel,
50 const fpreal *ref_ty_channel,
51 const fpreal *ref_tz_channel);
53 void setRootTrnChannels(
const fpreal *tx_channel,
58 void setRootRotChannels(
const fpreal *rx_channel,
63 void processMotionChannels();
66 {
return mySrcChannels.get()+i*mySrcChannelLength; }
68 {
return myRefChannels.get()+i*myRefChannelLength; }
71 void getRootTrnVec(
int i,
UT_Vector3R &vec,
bool get_src);
72 void getRootRotVec(
int i,
UT_Vector3R &vec,
bool get_src);
fpreal * refChannel(int i)
fpreal * srcChannel(int i)
UT_UniquePtr< fpreal[]> myRefChannels
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
UT_UniquePtr< fpreal[]> myWarpMap
UT_UniquePtr< fpreal[]> mySrcChannels
UT_Array< int > myTrnChannels