http://www.sim.no
http://www.coin3d.org
Main Page
Related Pages
Modules
Classes
Files
File List
include
Inventor
VRMLnodes
SoVRMLDragSensor.h
1
/**************************************************************************\
2
*
3
* This file is part of the Coin 3D visualization library.
4
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* ("GPL") version 2 as published by the Free Software Foundation.
9
* See the file LICENSE.GPL at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using Coin with software that can not be combined with the GNU
13
* GPL, and for taking advantage of the additional benefits of our
14
* support services, please contact Systems in Motion about acquiring
15
* a Coin Professional Edition License.
16
*
17
* See http://www.coin3d.org/ for more information.
18
*
19
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
20
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21
*
22
\**************************************************************************/
23
24
#ifndef COIN_SOVRMLDRAGSENSOR_H
25
#define COIN_SOVRMLDRAGSENSOR_H
26
27
#include <Inventor/nodes/SoSubNode.h>
28
#include <Inventor/VRMLnodes/SoVRMLSensor.h>
29
#include <Inventor/fields/SoSFVec3f.h>
30
#include <Inventor/SbVec2s.h>
31
#include <Inventor/SbVec2f.h>
32
#include <Inventor/SbMatrix.h>
33
#include <Inventor/SbViewVolume.h>
34
35
class
SbMatrix
;
36
37
class
COIN_DLL_API
SoVRMLDragSensor
:
public
SoVRMLSensor
{
38
typedef
SoVRMLSensor
inherited
;
39
40
SO_NODE_ABSTRACT_HEADER(
SoVRMLDragSensor
);
41
42
public
:
43
SoSFVec3f
trackPoint_changed
;
44
SoSFBool
autoOffset
;
45
46
// virtual void GLRender(SoGLRenderAction * action);
47
virtual
void
handleEvent
(
SoHandleEventAction
* action);
48
static
void
initClass(
void
);
49
50
protected
:
51
52
virtual
SbBool dragStart(
void
) = 0;
53
virtual
void
drag(
void
) = 0;
54
virtual
void
dragFinish(
void
) = 0;
55
56
SoVRMLDragSensor
(
void
);
57
virtual
~
SoVRMLDragSensor
();
58
59
const
SbVec3f
& getLocalStartingPoint(
void
)
const
;
60
const
SbMatrix
& getLocalToWorldMatrix(
void
)
const
;
61
const
SbMatrix
& getWorldToLocalMatrix(
void
)
const
;
62
const
SbViewVolume
& getViewVolume(
void
)
const
;
63
const
SbVec2f
& getNormalizedLocaterPosition(
void
)
const
;
64
65
private
:
66
// FIXME: move to private class
67
SbVec3f
hitpt;
68
SbMatrix
obj2world;
69
SbMatrix
world2obj;
70
SbVec2s
mousepos;
71
SbVec2f
normpos;
72
SbViewVolume
viewvolume;
73
};
74
75
#endif // ! COIN_SOVRMLDRAGSENSOR_H
Copyright © 1998-2007 by
Systems in Motion AS
. All rights reserved.
Generated on Sun Mar 31 2013 for Coin by
Doxygen.
1.8.3.1