![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: collision.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef collision_H_ 00009 #define collision_H_ 00010 00013 00014 #include <matrix/vlVector.h> 00015 #include "vrfobjcore/vrfObjMgr.h" 00016 00017 class DtString; 00018 00019 #include "vrfobjcore/vrfobjcoreDefines.h" 00020 00021 enum DtCollisionObjectType 00022 { 00023 DtEntityCollisionType = 0, 00024 DtVectorCollisionType = 1 00025 }; 00026 00027 class DT_DLL_vrfobjcore DtCollision 00028 { 00029 00030 public: 00031 00033 DtCollision(); 00034 00036 virtual ~DtCollision(); 00037 00038 private: 00040 DtCollision(const DtCollision& original); 00042 DtCollision& operator=(const DtCollision& original); 00043 00044 public: 00045 00046 virtual bool operator==(const DtCollision& other) const = 0; 00047 virtual bool operator!=(const DtCollision& other) const = 0; 00048 00051 virtual bool valid() const = 0; 00052 00054 virtual DtCollisionObjectType collisionType() const = 0; 00055 00056 virtual void setObstructionEntityID(const DtEntityIdentifier& entityID) = 0; 00057 virtual DtEntityIdentifier obstructionEntityID() const = 0; 00058 00059 virtual DtVector obstructionLocation() const = 0; 00060 00061 virtual DtVector obstructionVelocity() const = 0; 00062 00063 virtual Dt3dBoundingVolume& obstructionBoundingVolume() = 0; 00064 virtual const Dt3dBoundingVolume& obstructionBoundingVolume() const = 0; 00065 00066 virtual void setDistanceSquared(double distanceSquared) = 0; 00067 virtual double distanceSquared() const = 0; 00068 00069 virtual const DtDcm& obstructionLocalOrientationMatrix() = 0; 00070 00071 virtual bool testInvariant() const = 0; 00072 00073 protected: 00074 }; 00075 00076 #endif 00077