NITE 1.5.1 - API Reference

XnVSlider3D.h

Go to the documentation of this file.
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 
00014 class XnVValueChange3DSpecificEvent;
00015 
00022 class XNV_NITE_API XnVSlider3D
00023 {
00024 public:
00028     typedef void (XN_CALLBACK_TYPE *ValueChangeCB)(XnFloat fXValue, XnFloat fYValue, XnFloat fZValue, void* pUserCxt);
00029 
00033     XnVSlider3D(const XnPoint3D& ptMin ,const XnPoint3D& ptMax);
00034     
00035     ~XnVSlider3D();
00036     
00042     XnStatus Update(const XnPoint3D& pt);
00043 
00052     XnCallbackHandle RegisterValueChange(void* cxt, ValueChangeCB CB); // Add CB to list
00058     void UnregisterValueChange(XnCallbackHandle hCB);
00059 protected:
00060     // Event broadcast
00061     void ValueChange(XnFloat fXValue, XnFloat fYValue, XnFloat fZValue); // go over list and call all functions
00062 
00063     XnPoint3D m_ptMin, m_ptMax;
00064     XnFloat m_fSizeX, m_fSizeY, m_fSizeZ;
00065 
00066     XnVValueChange3DSpecificEvent* m_pValueChangeCBs;
00067 }; // XnVSlider3D
00068 
00069 #endif // _XNV_SLIDER_3D_H_