VR-Forces 4.2 Class Documentation
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/vrfObjMgr.h"
17 #include <vlutil/vlSmartPointers.h>
18 
19 class DtString;
20 
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 
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 
60 
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 
96 
98  static Dt3dBoundingVolume nullBoundingVolume;
99 
100 private:
103 
105 };
106 
107 typedef DtBoost::shared_ptr<DtEntityCollision> DtEntityCollisionSharedPtr;
108 
109 #endif
110 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)