![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vectorObstructionCollision.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef vectorObstructionCollision_H_ 00009 #define vectorObstructionCollision_H_ 00010 00013 00014 #include <matrix/vlVector.h> 00015 #include "vrfobjcore/vrfObjMgr.h" 00016 #include "vrfobjcore/collision.h" 00017 #include "vrfobjcore/vectorObstruction.h" 00018 00019 class DtString; 00020 00021 #include "vrfobjcore/vrfobjcoreDefines.h" 00022 class DT_DLL_vrfobjcore DtVectorObstructionCollision : public DtCollision 00023 { 00024 00025 public: 00026 00028 DtVectorObstructionCollision(const DtVectorObstruction& vectorObstruction, 00029 double distanceSquared); 00030 00032 virtual ~DtVectorObstructionCollision(); 00033 00035 virtual DtCollisionObjectType collisionType() const; 00036 00038 DtVectorObstructionCollision(const DtVectorObstructionCollision& original); 00040 DtVectorObstructionCollision& operator=(const DtVectorObstructionCollision& original); 00041 00043 bool operator==(const DtCollision& collision) const; 00044 00046 bool operator!=(const DtCollision& collision) const; 00047 00048 00050 bool operator==(const DtVectorObstructionCollision& collision) const; 00051 00053 bool operator!=(const DtVectorObstructionCollision& collision) const; 00054 00057 bool valid() const; 00058 00059 DtVectorObstruction& vectorObstruction(); 00060 const DtVectorObstruction& vectorObstruction() const; 00061 00062 void setVectorObstruction(const DtVectorObstruction& vectorObstruction); 00063 00064 virtual void setObstructionEntityID(const DtEntityIdentifier& entityID); 00065 virtual DtEntityIdentifier obstructionEntityID() const; 00066 00067 DtVector obstructionLocation() const; 00068 00069 DtVector obstructionVelocity() const; 00070 00071 Dt3dBoundingVolume& obstructionBoundingVolume(); 00072 const Dt3dBoundingVolume& obstructionBoundingVolume() const; 00073 00074 void setDistanceSquared(double distanceSquared); 00075 double distanceSquared() const; 00076 00077 const DtDcm& obstructionLocalOrientationMatrix(); 00078 00079 bool testInvariant() const; 00080 00081 protected: 00082 DtVectorObstruction myVectorObstruction; 00083 double myDistanceSquared; 00084 }; 00085 00086 #endif 00087