![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 00002 /******************************************************************************* 00003 ** Copyright (c) 2009 MAK Technologies, Inc. 00004 ** All rights reserved. 00005 *******************************************************************************/ 00006 00007 #pragma once 00008 00009 #include "bhaveSim/bhaveSimDefines.h" 00010 #include <vrfobjparam/groundMoveDirectionControllerDesc.h> 00011 #include <vrfobjparam/compDesc.h> 00012 #include <vrfutil/rwReal.h> 00013 #include <vrfutil/rwVectorObstructionTypeList.h> 00014 #include <vrfutil/rwObjectTypeList.h> 00015 00016 class DtReaderWriterRegistry; 00017 00018 namespace BHAVE 00019 { 00020 const char DtBhaveMovementChooserControllerDescriptorType[] = "bhave-movement-chooser-descriptor"; 00021 00023 class DT_DLL_bhaveSim DtBhaveMovementChooserControllerDescriptor : public ::DtGroundMoveDirectionControllerDescriptor 00024 { 00025 public: 00027 DtBhaveMovementChooserControllerDescriptor(const DtString& name, 00028 DtReaderWriterRegistry * parentRegistry = 0); 00029 00031 DtBhaveMovementChooserControllerDescriptor(const DtBhaveMovementChooserControllerDescriptor & orig, 00032 DtReaderWriterRegistry * parentRegistry = 0); 00033 00035 DtBhaveMovementChooserControllerDescriptor & operator=(const 00036 DtBhaveMovementChooserControllerDescriptor & orig); 00037 00039 virtual DtComponentDescriptor * clone(DtReaderWriterRegistry * 00040 parentRegistry = 0) const; 00041 00043 virtual ~DtBhaveMovementChooserControllerDescriptor(); 00044 00046 virtual DtString type() const; 00047 00049 static DtComponentDescriptor * creator(); 00050 00053 virtual DtString metricType() const; 00054 virtual void setMetricType(const DtString& metricType); 00056 00059 virtual double searchAreaExtraLength() const; 00060 virtual void setSearchAreaExtraLength(double length); 00062 00065 virtual DtRwVectorObstructionTypeList& preferredRouteTypes(); 00066 virtual const DtRwVectorObstructionTypeList& preferredRouteTypes() const; 00068 00071 virtual double preferredRouteBonus() const; 00072 virtual void setPreferredRouteBonus(double bonus); 00074 00077 virtual DtRwVectorObstructionTypeList& impassableVectorTypes(); 00078 virtual const DtRwVectorObstructionTypeList& impassableVectorTypes() const; 00080 00081 protected: 00082 00086 DtRwString myMetricType; 00087 00092 DtRwReal mySearchAreaExtraLength; 00093 00098 DtRwVectorObstructionTypeList myPreferredRouteTypes; 00099 00104 DtRwReal myPreferredRouteBonus; 00105 00110 DtRwVectorObstructionTypeList myImpassableVectorTypes; 00111 }; 00112 }