VR-Forces 4.1.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) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
8
10
11
#pragma once
12
13
#include <
vrfGuiCore/vrfGuiCore.h
>
14
15
#include <boost/signal.hpp>
16
17
#include <
vrvCore/DtIntervisibilityEditingEventProcessor.h
>
18
#include <
vrvUtil/DtVirtualBaseClass.h
>
19
#include <
vrvUtil/DtSignalConnectionManager.h
>
20
21
#include <
vrvCore/DtUniqueID.h
>
22
#include <
vrvCore/DtMouseEvent.h
>
23
24
#include <matrix/vlVector.h>
25
#include <matrix/vlQuaternion.h>
26
27
#include <vlutil/vlPerformanceStats.h>
28
29
namespace
makVrf
30
{
32
class
DT_DLL_VRFGUICORE
DtVrfObjectManipulationEventProcessor
:
33
public
makVrv::DtBasicEditingEventProcessor
34
{
35
public
:
37
DtVrfObjectManipulationEventProcessor
(
makVrv::DtDe
& );
38
40
virtual
~
DtVrfObjectManipulationEventProcessor
();
41
44
virtual
void
setCurrentHeading(
double
heading );
45
47
virtual
void
setHeadingAllowed(
bool
);
48
virtual
bool
headingAllowed()
const
;
49
51
virtual
double
currentHeading()
const
;
52
53
virtual
const
std::string& className();
54
56
virtual
void
setEditing(
bool
);
57
59
virtual
void
setCreating(
bool
);
60
63
virtual
void
setDragTolerance(
int
);
64
virtual
int
dragTolerance()
const
;
65
68
virtual
void
setFreehand(
bool
);
69
virtual
bool
freehand()
const
;
70
73
void
setDragToleranceTime(
double
);
74
double
dragToleranceTime()
const
;
75
77
boost::signal<void ( double )>
signal_headingChanged
;
78
79
protected
:
81
virtual
bool
processMouseEvent(
const
makVrv::DtMouseEvent
& ev,
makVrv::DtChannel
& channel);
82
83
virtual
bool
processKeyboardEvent(
const
makVrv::DtKeyEvent
& ev,
84
makVrv::DtChannel
& channel);
85
87
virtual
void
changeHeading(
double
mouseX,
double
mouseY );
88
89
virtual
bool
pick(
makVrv::DtChannel
& channel,
double
x,
double
y,
makVrv::DtIntersectorResult
& result,
90
makVrv::DtIntersector::IntersectProperties
props)
const
;
91
92
virtual
void
cleanupTerrainDraggingVaraibles();
93
95
virtual
bool
placePoint(
makVrv::DtChannel
& channel,
const
makVrv::DtMouseEvent
&);
96
97
virtual
void
changeAltitude(
double
mouseX,
double
mouseY );
98
99
protected
:
100
double
myCurrentHeading
;
101
bool
myHeadingAllowed
;
102
bool
myIsHeadingDragging
;
103
bool
myMouseDragging
;
104
makVrv::DtSignalConnectionManager
myConnections
;
105
DtVector
myStartPoint
;
106
int
myDragTolerance
;
107
double
myDragToleranceTime
;
108
double
myDragTime
;
109
DtTimedSection
myDragTimer
;
110
bool
myAllowEditing
;
111
bool
myFreehand
;
112
};
113
114
class
DT_DLL_VRFGUICORE
DtVrfObjectManipulationEventProcessorCreator
:
115
public
makVrv::DtVirtualBaseClass
116
{
117
118
public
:
121
static
DtVrfObjectManipulationEventProcessorCreator
& instance(
makVrv::DtDe
& de );
122
124
static
void
registerInstance(
makVrv::DtDe
& de,
125
DtVrfObjectManipulationEventProcessorCreator
* instance);
126
128
virtual
DtVrfObjectManipulationEventProcessor
* create(
makVrv::DtDe
& de );
129
};
130
132
class
DT_DLL_VRFGUICORE
DtVrfIntervisibilityEditingEventProcessor
:
public
makVrv::DtIntervisibilityEditingEventProcessor
133
{
134
public
:
136
DtVrfIntervisibilityEditingEventProcessor
(
makVrv::DtInputDriver
& inputDriver,
makVrv::DtDe
& de,
const
std::string& className);
137
139
virtual
~
DtVrfIntervisibilityEditingEventProcessor
();
140
141
protected
:
142
virtual
bool
processMouseEvent(
const
makVrv::DtMouseEvent
& ev,
makVrv::DtChannel
& channel);
143
};
144
145
class
DT_DLL_VRFGUICORE
DtVrfIntervisibilityEditingEventProcessorCreator
:
public
makVrv::DtIntervisibilityEditingEventProcessorCreator
146
{
147
public
:
148
virtual
makVrv::DtBasicEditingEventProcessor
* create(
makVrv::DtDe
&);
149
};
150
}
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)