GLC_lib  2.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
glc_pullmanipulator.h
Go to the documentation of this file.
1 /****************************************************************************
2 
3  This file is part of the GLC-lib library.
4  Copyright (C) 2005-2008 Laurent Ribon (laumaya@users.sourceforge.net)
5  http://glc-lib.sourceforge.net
6 
7  GLC-lib is free software; you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as published by
9  the Free Software Foundation; either version 3 of the License, or
10  (at your option) any later version.
11 
12  GLC-lib is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public License
18  along with GLC-lib; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 
21  *****************************************************************************/
23 
24 #ifndef GLC_PULLMANIPULATOR_H_
25 #define GLC_PULLMANIPULATOR_H_
26 #include "../glc_config.h"
28 
29 class GLC_Viewport;
30 
33 
36 
38 {
40 
42 
43 public:
45  GLC_PullManipulator(GLC_Viewport* pViewport, const GLC_Vector3d& pullDirection);
46 
48  GLC_PullManipulator(const GLC_PullManipulator& pullManipulator);
49 
51  virtual ~GLC_PullManipulator();
53 
55 
57 
58 public:
60  inline GLC_Vector3d pullingDirection() const
61  {return m_PullDirection;}
62 
64  virtual GLC_AbstractManipulator* clone() const;
66 
68 
70 
71 public:
73  void setPullingDirection(const GLC_Vector3d& pullingDirection);
74 
76 
78 // Protected services function
80 protected:
82  virtual GLC_Matrix4x4 doManipulate(const GLC_Point3d& newPoint, const GLC_Vector3d& projectionDirection);
83 
85 // Private Member
87 private:
90 };
91 
92 #endif /* GLC_PULLMANIPULATOR_H_ */

©2005-2013 Laurent Ribon