VR-Forces Development_Version 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) 2015 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
6
#pragma once
7
10
11
#include "
vrfobjcore/collision.h
"
12
#include <matrix/vlVector.h>
13
#include "
vrfobjcore/vrfObjectManager.h
"
14
#include <vlutil/vlSmartPointers.h>
15
#include "
vrfobjcore/vrfObjectReference.h
"
16
17
class
DtString
;
18
22
#include "
vrfobjcore/vrfobjcoreDefines.h
"
23
class
DT_DLL_vrfobjcore
DtEntityCollision
:
public
DtCollision
24
{
25
26
public
:
27
29
DtEntityCollision
(
DtSimManager
& simManager,
const
DtUUID
& uuid,
30
double
distanceSquared);
31
33
virtual
~
DtEntityCollision
();
34
36
virtual
DtCollisionObjectType
collisionType
()
const
;
37
38
DtEntityCollision
(
const
DtEntityCollision
& original);
39
40
DtEntityCollision
&
operator=
(
const
DtEntityCollision
& original);
41
42
bool
operator==
(
const
DtCollision
& collision)
const
;
43
bool
operator!=
(
const
DtCollision
& collision)
const
;
44
45
bool
operator==
(
const
DtEntityCollision
& collision)
const
;
46
bool
operator!=
(
const
DtEntityCollision
& collision)
const
;
47
50
bool
valid
()
const
;
51
52
const
DtUUID
&
obstructionEntityID
()
const
;
53
54
void
setObstructionEntityID
(
const
DtUUID
& entityID);
55
56
DtVector
obstructionLocation
()
const
;
57
58
DtVector
obstructionVelocity
()
const
;
59
60
bool
intersectsPoint
(
const
DtVector
& localPosition)
const
;
61
62
const
Dt3dBoundingVolume&
obstructionBoundingVolume
()
const
;
63
Dt3dBoundingVolume&
obstructionBoundingVolume
();
64
65
void
setDistanceSquared
(
double
distanceSquared);
66
double
distanceSquared
()
const
;
73
//void addDistance(double extraDistance);
74
75
virtual
const
DtDcm&
obstructionLocalOrientationMatrix
()
const
;
76
77
bool
testInvariant
()
const
;
78
79
void
setSimulationManager(
DtSimManager
& simManager);
80
81
DtSimManager
* simulationManager();
82
const
DtSimManager
* simulationManager()
const
;
83
84
//fixme - this was merged in from trunk but conflicted with collision avoidance
85
//static void objectAboutToBeRemovedCallback(DtVrfObject* object, void* usr);
86
//virtual void processObjectAboutToBeRemoved(DtVrfObject* object);
87
88
protected
:
89
DtUUID
myObstructionEntityID
;
90
92
DtSimManager
*
mySimulationManager
;
93
95
static
Dt3dBoundingVolume
nullBoundingVolume
;
96
97
mutable
DtVrfObject
*
myObject
;
98
99
double
myDistanceSquared
;
100
};
101
102
typedef
DtBoost::shared_ptr<DtEntityCollision>
DtEntityCollisionSharedPtr
;
103
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)