VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfGuiCore
DtVrfObjectManipulationEventProcessor.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2011 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
/******************************************************************************
6
** $RCSfile: DtVrfObjectManipulationEventProcessor.h,v $ $Revision: 1.4 $ $State: Exp $
7
******************************************************************************/
8
11
13
14
#pragma once
15
16
#include <
vrfGuiCore/vrfGuiCore.h
>
17
18
#include <boost/signal.hpp>
19
20
#include <
vrvCore/DtBasicEditingEventProcessor.h
>
21
#include <
vrvUtil/DtVirtualBaseClass.h
>
22
#include <
vrvUtil/DtSignalConnectionManager.h
>
23
24
#include <
vrvCore/DtUniqueID.h
>
25
#include <
vrvCore/DtMouseEvent.h
>
26
27
#include <matrix/vlVector.h>
28
#include <matrix/vlQuaternion.h>
29
30
#include <vlutil/vlPerformanceStats.h>
31
32
namespace
makVrf
33
{
35
class
DT_DLL_VRFGUICORE
DtVrfObjectManipulationEventProcessor
:
36
public
makVrv::DtBasicEditingEventProcessor
37
{
38
public
:
40
DtVrfObjectManipulationEventProcessor
(
makVrv::DtDe
& );
41
43
virtual
~
DtVrfObjectManipulationEventProcessor
();
44
47
virtual
void
setCurrentHeading(
double
heading );
48
50
virtual
void
setHeadingAllowed(
bool
);
51
virtual
bool
headingAllowed()
const
;
52
54
virtual
double
currentHeading()
const
;
55
56
virtual
const
std::string& className();
57
59
virtual
void
setEditing(
bool
);
60
62
virtual
void
setCreating(
bool
);
63
66
virtual
void
setDragTolerance(
int
);
67
virtual
int
dragTolerance()
const
;
68
71
virtual
void
setFreehand(
bool
);
72
virtual
bool
freehand()
const
;
73
76
void
setDragToleranceTime(
double
);
77
double
dragToleranceTime()
const
;
78
80
boost::signal<void ( double )>
signal_headingChanged
;
81
82
protected
:
84
virtual
bool
processMouseEvent(
const
makVrv::DtMouseEvent
& ev,
makVrv::DtChannel
& channel);
85
86
virtual
bool
processKeyboardEvent(
const
makVrv::DtKeyEvent
& ev,
87
makVrv::DtChannel
& channel);
88
90
virtual
void
changeHeading(
double
mouseX,
double
mouseY );
91
92
virtual
bool
pick(
makVrv::DtChannel
& channel,
double
x,
double
y,
makVrv::DtIntersectorResult
& result,
93
makVrv::DtIntersector::IntersectProperties
props)
const
;
94
95
virtual
void
cleanupTerrainDraggingVaraibles();
96
98
virtual
bool
placePoint(
makVrv::DtChannel
& channel,
const
makVrv::DtMouseEvent
&);
99
100
protected
:
101
double
myCurrentHeading
;
102
bool
myHeadingAllowed
;
103
bool
myIsHeadingDragging
;
104
bool
myMouseDragging
;
105
makVrv::DtSignalConnectionManager
myConnections
;
106
DtVector
myStartPoint
;
107
int
myDragTolerance
;
108
double
myDragToleranceTime
;
109
double
myDragTime
;
110
DtTimedSection
myDragTimer
;
111
bool
myAllowEditing
;
112
bool
myFreehand
;
113
};
114
115
class
DT_DLL_VRFGUICORE
DtVrfObjectManipulationEventProcessorCreator
:
116
public
makVrv::DtVirtualBaseClass
117
{
118
119
public
:
122
static
DtVrfObjectManipulationEventProcessorCreator
& instance(
makVrv::DtDe
& de );
123
125
static
void
registerInstance(
makVrv::DtDe
& de,
126
DtVrfObjectManipulationEventProcessorCreator
* instance);
127
129
virtual
DtVrfObjectManipulationEventProcessor
* create(
makVrv::DtDe
& de );
130
};
131
}
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)