VR-Forces 4.3 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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/vrfObjectManager.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 Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)