VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
entityCollision.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2004 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: entityCollision.h,v $ $Revision: 1.8 $ $State: Exp $
7
*******************************************************************************/
8
#ifndef entityCollision_H_
9
#define entityCollision_H_
10
13
14
#include "
vrfobjcore/collision.h
"
15
#include <matrix/vlVector.h>
16
#include "
vrfobjcore/vrfObjMgr.h
"
17
#include <vlutil/vlSmartPointers.h>
18
19
class
DtString
;
20
24
#include "
vrfobjcore/vrfobjcoreDefines.h
"
25
class
DT_DLL_vrfobjcore
DtEntityCollision
:
public
DtCollision
26
{
27
28
public
:
29
31
DtEntityCollision
(
DtSimManager
& simManager,
32
DtEntityIdentifier entityID,
33
double
distanceSquared);
34
36
virtual
~
DtEntityCollision
();
37
39
virtual
DtCollisionObjectType
collisionType
()
const
;
40
41
DtEntityCollision
(
const
DtEntityCollision
& original);
42
43
DtEntityCollision
&
operator=
(
const
DtEntityCollision
& original);
44
45
bool
operator==
(
const
DtCollision
& collision)
const
;
46
bool
operator!=
(
const
DtCollision
& collision)
const
;
47
48
bool
operator==
(
const
DtEntityCollision
& collision)
const
;
49
bool
operator!=
(
const
DtEntityCollision
& collision)
const
;
50
53
bool
valid
()
const
;
54
55
DtEntityIdentifier
obstructionEntityID
()
const
;
56
57
void
setObstructionEntityID
(
const
DtEntityIdentifier& entityID);
58
59
DtVector
obstructionLocation
()
const
;
60
61
DtVector
obstructionVelocity
()
const
;
62
63
bool
intersectsPoint
(
const
DtVector
& localPosition)
const
;
64
65
const
Dt3dBoundingVolume&
obstructionBoundingVolume
()
const
;
66
Dt3dBoundingVolume&
obstructionBoundingVolume
();
67
68
void
setDistanceSquared
(
double
distanceSquared);
69
double
distanceSquared
()
const
;
76
//void addDistance(double extraDistance);
77
78
virtual
const
DtDcm&
obstructionLocalOrientationMatrix
()
const
;
79
80
bool
testInvariant
()
const
;
81
82
void
setSimulationManager(
DtSimManager
& simManager);
83
84
DtSimManager
* simulationManager();
85
const
DtSimManager
* simulationManager()
const
;
86
87
//fixme - this was merged in from trunk but conflicted with collision avoidance
88
//static void objectAboutToBeRemovedCallback(DtVrfObject* object, void* usr);
89
//virtual void processObjectAboutToBeRemoved(DtVrfObject* object);
90
91
protected
:
92
DtEntityIdentifier
myObstructionEntityID
;
93
95
DtSimManager
*
mySimulationManager
;
96
98
static
Dt3dBoundingVolume
nullBoundingVolume
;
99
100
private
:
102
mutable
DtVrfObject
*
myObject
;
103
104
double
myDistanceSquared
;
105
};
106
107
typedef
DtBoost::shared_ptr<DtEntityCollision>
DtEntityCollisionSharedPtr
;
108
109
#endif
110
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
)