14 #ifndef PX_CORE_UTILTY_TYPES_H
15 #define PX_CORE_UTILTY_TYPES_H
40 template<
typename TDataType>
43 PxU32 theStride( stride );
45 theStride =
sizeof( TDataType );
46 PxU32 offset( theStride * idx );
47 return *(
reinterpret_cast<const TDataType*
>(
reinterpret_cast< const PxU8*
>( data ) + offset ));
51 template<
typename TDataType>
71 template<PxU8 TNumBytes>
77 for (
PxU8 idx =0; idx < TNumBytes; ++idx )
101 memcpy(mDataPairs,dataPairs,
sizeof(
PxReal)*2*numDataPairs);
102 mNbDataPairs=numDataPairs;
125 mDataPairs[2*mNbDataPairs+0]=x;
126 mDataPairs[2*mNbDataPairs+1]=y;
138 if(1==mNbDataPairs || x<getX(0))
146 for(
PxU32 i=1;i<mNbDataPairs;i++)
153 return (y0+(y1-y0)*(x-x0)/(x1-x0));
161 return getY(mNbDataPairs-1);
168 memset(mDataPairs, 0, NB_ELEMENTS*2*
sizeof(
PxReal));
174 return mDataPairs[2*i];
178 return mDataPairs[2*i+1];