Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkPickManipulator.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 
00011 
00012 #ifndef __mitkPickManipulator_h
00013 #define __mitkPickManipulator_h
00014 
00015 #include "mitkWidgetModel.h"
00016 #include "mitkManipulator.h"
00017 
00018 const int MITK_PICK_BUFFER_SIZE = 128;
00019 
00050 class MITK_VISUALIZATION_API mitkPickManipulator : public mitkManipulator
00051 {
00052 public:
00053     MITK_TYPE(mitkPickManipulator, mitkManipulator)
00054 
00055     virtual void PrintSelf(ostream &os);
00056 
00057     mitkPickManipulator();
00058     mitkPickManipulator(mitkScene *scene);
00059 
00063     void ClearPickResult();
00064 
00069     mitkWidgetModel* GetPickedObject() { return m_PickedWidgets.owner; }
00070 
00071 protected:
00072     virtual ~mitkPickManipulator();
00073     
00074     // Picking widgets.
00075     bool _pick(int xPos, int yPos);
00076 
00077     // Render scene in GL_SELECT mode.
00078     void _selectRender();
00079 
00080     // Process the hits.
00081     bool _processHits(GLint hits);
00082 
00083     // Initialize some data.
00084     void _init();
00085 
00086     WidgetNames m_PickedWidgets;
00087     GLuint m_PickBuffer[MITK_PICK_BUFFER_SIZE];
00088     GLdouble m_PickBox;
00089 
00090     bool m_EnableDepthTest;
00091 
00092 private:
00093     mitkPickManipulator(const mitkPickManipulator&);
00094     void operator = (const mitkPickManipulator&);
00095 
00096 };
00097 
00098 
00099 //#define DEFINED_mitkPickManipulator
00100 
00101 
00102 
00103 #endif
00104 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3