VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
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
const
DtString
& obstructionMarking()
const
;
55
56
void
setObstructionEntityID
(
const
DtUUID
& entityID);
57
58
DtVector
obstructionLocation
()
const
;
59
60
DtVector
obstructionVelocity
()
const
;
61
62
bool
intersectsPoint
(
const
DtVector
& localPosition)
const
;
63
69
double
largestDimensionInDirection(
const
DtVector
& localDirection)
const
;
70
71
const
Dt3dBoundingVolume&
obstructionBoundingVolume
()
const
;
72
Dt3dBoundingVolume&
obstructionBoundingVolume
();
73
74
void
setDistanceSquared
(
double
distanceSquared);
75
double
distanceSquared
()
const
;
82
//void addDistance(double extraDistance);
83
84
virtual
const
DtDcm&
obstructionLocalOrientationMatrix
()
const
;
85
86
bool
testInvariant
()
const
;
87
88
void
setSimulationManager(
DtSimManager
& simManager);
89
90
DtSimManager
* simulationManager();
91
const
DtSimManager
* simulationManager()
const
;
92
93
//fixme - this was merged in from trunk but conflicted with collision avoidance
94
//static void objectAboutToBeRemovedCallback(DtVrfObject* object, void* usr);
95
//virtual void processObjectAboutToBeRemoved(DtVrfObject* object);
96
97
protected
:
98
DtUUID
myObstructionEntityID
;
99
101
DtSimManager
*
mySimulationManager
;
102
104
static
Dt3dBoundingVolume
nullBoundingVolume
;
105
106
mutable
DtVrfObject
*
myObject
;
107
108
double
myDistanceSquared
;
109
};
110
111
typedef
DtBoost::shared_ptr<DtEntityCollision>
DtEntityCollisionSharedPtr
;
112
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)