![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: humanCollisionAvoidPSR.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtHumanCollisionAvoidancePSR_H_ 00013 #define DtHumanCollisionAvoidancePSR_H_ 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwReal.h" 00017 #include "vrfutil/rwInt.h" 00018 #include "vrfutil/rwBoolean.h" 00019 #include "vrfutil/rwString.h" 00020 #include "vrfutil/rwVector.h" 00021 #include "vrfutil/lclVtxList.h" 00022 #include "vrfutil/lclVecIter.h" 00023 #include "vrfobjcore/vrfobjcoreDefines.h" 00024 00029 00030 class DT_DLL_vrfobjcore DtHumanCollisionAvoidancePSR : public DtVrfProcessStateRepository 00031 { 00032 public: 00033 00035 DtHumanCollisionAvoidancePSR(DtVrfObject* vrfObject, 00036 const DtString& rwName = DtString::nullString(), 00037 DtReaderWriterRegistry* parentRegistry = 0); 00038 00040 DtHumanCollisionAvoidancePSR(const DtHumanCollisionAvoidancePSR& orig, 00041 const DtString& rwName = DtString::nullString(), 00042 DtReaderWriterRegistry* parentRegistry = 0); 00043 00045 virtual ~DtHumanCollisionAvoidancePSR(); 00046 00048 DtHumanCollisionAvoidancePSR& operator=(const DtHumanCollisionAvoidancePSR& orig); 00049 00051 virtual DtVrfProcessStateRepository* clone( 00052 const DtString& rwName = DtString::nullString(), 00053 DtReaderWriterRegistry* parentRegistry = 0) const; 00054 00057 virtual DtString type() const; 00058 00061 virtual void setIsColliding(bool colliding); 00062 virtual bool isColliding() const; 00064 00067 virtual void setIsClearing(bool clearing); 00068 virtual bool isClearing() const; 00070 00073 virtual void setAvoidingLeft(bool avoidingLeft); 00074 virtual bool avoidingLeft() const; 00075 00078 virtual void setAvoidingHeading(double heading); 00079 virtual double avoidingHeading() const; 00080 00083 virtual void setClearingDistance(double distance); 00084 virtual double clearingDistance() const; 00085 00086 public: 00087 00089 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00090 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00091 00092 protected: 00093 00096 DtRwBoolean myIsColliding; 00097 DtRwBoolean myIsClearing; 00098 DtRwBoolean myAvoidingLeft; 00099 DtRwReal myAvoidingHeading; 00100 DtRwReal myClearingDistance; 00101 }; 00102 00103 #endif