VR-Vantage API Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Tutorials
File List
File Members
include
vrvDrawControl
DtCylinderObject.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2006 MaK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
/******************************************************************************
6
** $RCSfile: DtCylinderObject.h,v $ $Revision: 1.3 $ $State: Exp $
7
******************************************************************************/
8
#pragma once
9
14
15
#include <vlutil/vlString.h>
16
#include <matrix/vlVector.h>
17
#include <matrix/vlTaitBryan.h>
18
19
#include <
vrvDrawControl/vrvDrawControl.h
>
20
21
#include <
vrvDrawControl/DtDrawControlObject.h
>
22
#include <
vrvDrawControl/DtVdc3DAttachPoint.h
>
23
#include <
vrvDrawControl/DtVdcVector2D.h
>
24
#include <
vrvDrawControl/Dt3DTwoPositionedObject.h
>
25
26
#include <
vrvDrawControl/DtVdcColor.h
>
27
28
#include <
vrfExtObjects/3dGraphicalObjectStateRecord.h
>
29
#include <
vrfExtObjects/envFixedCylinderRecord.h
>
30
#include <
vrfExtObjects/envArticulatingCylinderRecord.h
>
31
32
namespace
vrvControlToolkit
33
{
34
35
45
class
DT_DLL_VRVDRAWCONTROL
DtCylinderObject
:
public
Dt3DTwoPositionedObject
46
{
47
public
:
71
72
73
DtCylinderObject
(DtExerciseConn* exConn,
unsigned
id
,
74
const
DtVdc3DAttachPoint
& attachment,
double
length,
75
const
DtVdcVector2D
& diameters,
const
DtVector& offset = DtVector::zero(),
76
const
DtTaitBryan& rotation = zeros,
77
DtVdcColor
color =
DtVdcColor::DtVdcWhite
,
bool
flashing =
false
);
78
100
DtCylinderObject
(DtExerciseConn* exConn,
unsigned
id
,
101
const
DtVdc3DAttachPoint
& startAttachment,
102
const
DtVdc3DAttachPoint
& endAttachment,
103
const
DtVdcVector2D
& diameters,
104
const
DtVector& offset = DtVector::zero(),
105
DtVdcColor
color =
DtVdcColor::DtVdcWhite
,
bool
flashing =
false
);
106
107
// \brief Virtual destructor
108
virtual
~
DtCylinderObject
();
109
110
private
:
115
DtCylinderObject
();
116
120
DtCylinderObject
(
const
DtCylinderObject
& orig);
121
125
DtCylinderObject
& operator=(
const
DtCylinderObject
& rhs);
126
127
public
:
134
virtual
const
DtVdc3DAttachPoint
& attachment()
const
;
135
140
virtual
void
setAttachment(
const
DtVdc3DAttachPoint
& attachment);
141
148
virtual
const
DtVdc3DAttachPoint
& startAttachment()
const
;
149
154
virtual
void
setStartAttachment(
const
DtVdc3DAttachPoint
& startAttachment);
155
162
virtual
const
DtVdc3DAttachPoint
& endAttachment()
const
;
163
168
virtual
void
setEndAttachment(
const
DtVdc3DAttachPoint
& endAttachment);
169
176
virtual
const
DtVector& offset()
const
;
177
183
virtual
void
setOffset(
const
DtVector& off);
184
190
virtual
double
length()
const
;
191
197
virtual
void
setLength(
double
length);
198
205
virtual
const
DtVdcVector2D
& diameters()
const
;
206
212
virtual
void
setDiameters(
const
DtVdcVector2D
& diameters);
213
220
virtual
const
DtTaitBryan& rotation()
const
;
221
228
virtual
void
setRotation(
const
DtTaitBryan& rotation);
229
235
virtual
const
DtVdcColor
& color()
const
;
236
242
virtual
void
setColor (
const
DtVdcColor
& color);
243
249
virtual
bool
flashing()
const
;
250
256
virtual
void
setFlashing(
bool
flashing);
257
258
virtual
void
setRemoteGraphicSet(
const
std::string& setName);
259
268
virtual
void
update();
269
270
protected
:
271
void
initRecords();
272
273
private
:
274
// Initializer for DtTaitBryan
275
static
DtTaitBryan
zeros
;
276
277
protected
:
278
DtVdc3DAttachPoint
myStartAttachment
;
// also single attachment
279
DtVdc3DAttachPoint
myEndAttachment
;
280
double
myLength
;
281
DtVdcVector2D
myDiameters
;
282
DtVector
myOffset
;
283
DtVdcColor
myColor
;
284
DtTaitBryan
myRotation
;
285
bool
myFlashing
;
286
287
Dt3DGraphicalObjectStateRecord
myStateRecord
;
288
DtEnvironmentalFixedCylinderRecord
myFixedCylinderRecord
;
289
DtEnvironmentalArticulatingCylinderRecord
myArticulatingCylinderRecord
;
290
};
291
}
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)