![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 00002 /******************************************************************************* 00003 ** Copyright (c) 2009 MAK Technologies, Inc. 00004 ** All rights reserved. 00005 *******************************************************************************/ 00006 /******************************************************************************* 00007 * Copyright 2009 Autodesk, Inc. All rights reserved. 00008 * Use of this software is subject to the terms of the Autodesk license 00009 * agreement provided at the time of installation or download, or which otherwise 00010 * accompanies this software in either electronic or hard copy form. 00011 *******************************************************************************/ 00012 00013 00014 // 00016 // 00017 00018 #ifndef KYNAPSE_LIFEFORM_CONTROLLER_H 00019 #define KYNAPSE_LIFEFORM_CONTROLLER_H 00020 00021 #include <bhaveSim/bhaveSimDefines.h> 00022 #include "bhaveSim/kynapseCtrl.h" 00023 00024 class DtAnalogOutputPort; 00025 class DtBooleanOutputPort; 00026 class DtConstrainedIntegerOutputPort; 00027 class DtConstrainedAnalogOutputPort; 00028 class DtOutputPortGroup; 00029 class DtGroundVehicleStateRepository; 00030 class DtKynapsePSR; 00031 class DtScenario; 00032 class DtAnalogOutputPort; 00033 class DtAnalogOutputPort; 00034 class DtOutputPortGroup; 00035 class DtSensorContactListInputPort; 00036 class DtSensorContactInfoList; 00037 00038 namespace BHAVE 00039 { 00040 00041 00043 const char DtKynapseLifeformControllerType[] = "kynapse-lifeform-controller"; 00044 00050 class DT_DLL_bhaveSim DtKynapseLifeformController : public DtKynapseController 00051 { 00052 public: 00053 00055 DtKynapseLifeformController(const DtString & name, DtVrfObject* owner, 00056 DtSimManager * simManager, DtComponentDescriptor* desc = NULL, 00057 DtReaderWriterRegistry * parentRegistry = 0); 00058 00060 virtual ~DtKynapseLifeformController(); 00061 00063 DtKynapseLifeformController(const DtKynapseLifeformController& orig); 00064 00066 DtKynapseLifeformController& operator=(const DtKynapseLifeformController& orig); 00067 00068 virtual bool init(); 00069 00071 virtual DtString type() const; 00072 00074 virtual void setComponentDescriptor(DtComponentDescriptor* descriptor); 00075 00077 static DtSimComponent* creator(const DtString& name, 00078 DtVrfObject* owner, DtSimManager* simManager, DtComponentDescriptor* desc, 00079 DtReaderWriterRegistry* parentRegistry); 00080 00081 protected: 00082 00083 virtual DtBoolean createPortGroups(); 00086 virtual DtBoolean createPorts(); 00087 00091 virtual DtBoolean applyKynapseRecommendations(); 00092 00093 virtual DtBoolean deactivateOutputControl(); 00094 00095 protected: 00096 00099 DtAnalogOutputPort* myDirectionOutputPort; 00100 DtAnalogOutputPort* myFacingDirectionOutputPort; 00101 DtAnalogOutputPort* mySpeedOutputPort; 00102 00103 DtOutputPortGroup* myMovementControlOutputPortGroup; 00105 }; 00106 00107 #endif //! KYNAPSE_LIFEFORM_CONTROLLER_H 00108 00109 } //namespace BHAVE