VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
terrainqt
boundingVolumesManager.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2003 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: boundingVolumesManager.h,v $ $Revision: 1.7 $ $State: Exp $
7
*******************************************************************************/
8
11
12
#ifndef DTBOUNDINGVOLUMESMANAGER_H_
13
#define DTBOUNDINGVOLUMESMANAGER_H_
14
15
#include "
geometry/point.h
"
16
#include "
ngutil/entityMapperKey.h
"
17
#include "
geometry/tdbextent.h
"
18
#include "
ngutil/orderedKeyList.h
"
19
20
#include <matrix/3dBoundingVolume.h>
21
22
class
DtModelData
;
23
class
Coordinate_System
;
24
class
DtDcm;
25
26
#include "
terrainqt/terrainqtDefines.h
"
27
class
DT_DLL_terrainqt
DtBoundingVolumeInfo
:
public
DtEntityMapperKey
28
{
29
public
:
30
DtBoundingVolumeInfo
(
const
DtEntityMapperKey
& key,
const
DtPoint
& volume,
31
const
DtPoint
& offset);
32
DtBoundingVolumeInfo
(
const
DtBoundingVolumeInfo
& orig);
33
34
virtual
void
setVolume(
const
DtPoint
& volume);
35
virtual
const
DtPoint
& volume()
const
;
36
37
virtual
void
setOffset(
const
DtPoint
& offset);
38
virtual
const
DtPoint
& offset()
const
;
39
40
virtual
DtBoundingVolumeInfo
&
operator=
(
const
DtBoundingVolumeInfo
& orig);
41
42
virtual
DtBoundingVolumeInfo
* clone();
43
44
protected
:
45
DtPoint
myBoundingVolume
;
46
DtPoint
myOffset
;
47
};
48
49
class
DT_DLL_terrainqt
DtBoundingVolumesManager
50
{
51
public
:
52
DtBoundingVolumesManager
();
53
virtual
~
DtBoundingVolumesManager
();
54
55
virtual
bool
init
(
const
QString& boundingVolumesFile);
56
virtual
DtBoundingVolumeInfo
* boundingVolume(
const
DtEntityMapperKey
& data)
const
;
57
virtual
bool
addBoundingVolume(
DtBoundingVolumeInfo
* volume);
58
62
virtual
DtBoundingVolumeInfo
boundingVolume(
const
DtModelData
& data)
const
;
63
67
virtual
Dt3dBoundingVolume computeExtent(
const
DtPoint
& boudingVolume,
68
const
DtPoint
& offset,
const
DtPoint
& symbolOrigin,
const
DtModelData
& data)
const
;
69
71
virtual
void
computeBoundingBox(
const
DtPoint
& boundingVolume,
72
const
DtPoint
& offset,
const
DtPoint
& symbolOrigin,
const
DtModelData
& data,
73
DtVector
& ul,
DtVector
& ll,
DtVector
& ur,
DtVector
& lr,
const
Coordinate_System
* cs,
const
DtDcm& bodyToGeoc)
const
;
74
77
virtual
bool
intersectLineOfChord(Dt3dBoundingVolume& source,
78
const
DtModelData
* data,
const
DtVector
& targetOrigin,
const
DtVector
& start,
79
const
DtVector
& end,
const
DtDcm& bodyToGeoc,
DtVector
* pointIn = NULL,
DtVector
* pointOut = NULL);
80
81
public
:
82
static
DtBoundingVolumesManager
* create();
83
84
protected
:
85
DtOrderedKeyList<DtBoundingVolumeInfo*>
myBoundingVolumes
;
86
};
87
88
#endif
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
)