VR-Forces 4.0.4 Class Documentation
include/bhaveSim/kynapseLifeformCtrl.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)