VR-Forces 4.0.4 Class Documentation
include/bhaveSim/kynapseGroundPlatformCtrl.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_GROUNDPLATFORM_CONTROLLER_H
00019 #define KYNAPSE_GROUNDPLATFORM_CONTROLLER_H
00020 
00021 #include <bhaveSim/bhaveSimDefines.h>
00022 #include "bhaveSim/kynapseCtrl.h" 
00023 
00024 #include <vrfobjcore/taskCtlrCmpnt.h>
00025 #include <vrfobjcore/entityTargetInformation.h>
00026 #include <vrftasks/userTask.h>
00027 
00028 class DtAnalogOutputPort;
00029 class DtBooleanOutputPort;
00030 class DtConstrainedIntegerOutputPort;
00031 class DtConstrainedAnalogOutputPort;
00032 class DtOutputPortGroup;
00033 class DtGroundVehicleStateRepository;
00034 class DtKynapsePSR;
00035 class DtScenario;
00036 class DtAnalogOutputPort;
00037 class DtAnalogOutputPort;
00038 class DtOutputPortGroup;
00039 class DtSensorContactListInputPort;
00040 class DtSensorContactInfoList;
00041 class DtSoilFactors;
00042 
00043 
00044 namespace BHAVE
00045 {
00046 
00048 const char DtKynapseGroundPlatformControllerType[] = "kynapse-ground-platform-controller";
00049 
00056 class DT_DLL_bhaveSim DtKynapseGroundPlatformController : public DtKynapseController
00057 {
00058 public:
00059 
00061    DtKynapseGroundPlatformController(const DtString & name, DtVrfObject* owner, 
00062       DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
00063       DtReaderWriterRegistry * parentRegistry = 0);
00064    
00066    virtual ~DtKynapseGroundPlatformController();
00067    
00069    DtKynapseGroundPlatformController(const DtKynapseGroundPlatformController& orig);
00070    
00072    DtKynapseGroundPlatformController& operator=(const DtKynapseGroundPlatformController& orig);
00073 
00074    virtual bool init();
00075    
00077    virtual DtString type() const;
00078 
00080    virtual void setComponentDescriptor(DtComponentDescriptor* descriptor);
00081 
00083    static DtSimComponent* creator(const DtString& name, 
00084       DtVrfObject* owner, DtSimManager* simManager, DtComponentDescriptor* desc,
00085       DtReaderWriterRegistry* parentRegistry);
00086 
00087    
00090    virtual double maxAcceleration() const;
00093    virtual double maxDeceleration() const;
00094 
00095 protected: 
00096    
00098    virtual DtBoolean createPorts();
00099    virtual DtBoolean createPortGroups();
00100 
00104    virtual DtBoolean applyKynapseRecommendations();
00105 
00106    virtual DtBoolean deactivateOutputControl();
00107 
00109    virtual const DtSoilFactors* soilFactors() const;
00112    virtual double slope() const;
00113 
00114    
00115 protected: 
00116 
00119    DtAnalogOutputPort* myDirectionOutputPort;
00120    DtAnalogOutputPort* mySpeedOutputPort;
00121    DtBooleanOutputPort* myTurningDirectionOutputPort; 
00122    DtAnalogOutputPort* myFacingDirectionOutputPort; 
00123    DtOutputPortGroup* myMovementControlOutputPortGroup;
00125    
00126 };
00127 
00128 #endif //! KYNAPSE_GROUNDPLATFORM_CONTROLLER_H
00129 
00130 } //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)