VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>
14 #include <vlutil/vlSmartPointers.h>
16 
17 class DtString;
18 
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 
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 
57 
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:
90 
93 
95  static Dt3dBoundingVolume nullBoundingVolume;
96 
98 
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)