VR-Forces 4.6.1 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 Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)