NITE 1.4.1 - API Reference
|
00001 /******************************************************************************* 00002 * * 00003 * PrimeSense NITE 1.3 * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 *******************************************************************************/ 00007 00008 00009 #ifndef _XNV_SLIDER_3D_H_ 00010 #define _XNV_SLIDER_3D_H_ 00011 00012 #include "XnVNiteDefs.h" 00013 #include "XnVNiteEvents.h" 00014 00021 class XNV_NITE_API XnVSlider3D 00022 { 00023 public: 00027 typedef void (XN_CALLBACK_TYPE *ValueChangeCB)(XnFloat fXValue, XnFloat fYValue, XnFloat fZValue, void* pUserCxt); 00028 00032 XnVSlider3D(const XnPoint3D& ptMin ,const XnPoint3D& ptMax); 00033 00034 ~XnVSlider3D(); 00035 00041 XnStatus Update(const XnPoint3D& pt); 00042 00051 XnCallbackHandle RegisterValueChange(void* cxt, ValueChangeCB CB); // Add CB to list 00057 void UnregisterValueChange(XnCallbackHandle hCB); 00058 protected: 00059 XN_DECLARE_EVENT_3ARG(XnVValueChange3DSpecificEvent, XnVValueChange3DEvent, XnFloat, fValueX, XnFloat, fValueY, XnFloat, fValueZ); 00060 00061 // Event broadcast 00062 void ValueChange(XnFloat fXValue, XnFloat fYValue, XnFloat fZValue); // go over list and call all functions 00063 00064 XnPoint3D m_ptMin, m_ptMax; 00065 XnFloat m_fSizeX, m_fSizeY, m_fSizeZ; 00066 00067 XnVValueChange3DSpecificEvent m_ValueChangeCBs; 00068 }; // XnVSlider3D 00069 00070 #endif // _XNV_SLIDER_3D_H_