VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/simComponentNetwork.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: simComponentNetwork.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef simComponentNetwork_h
00015 #define simComponentNetwork_h
00016 
00017 #include "vrfobjcore/vrfobjcoreDefines.h"
00018 #include <vlutil/vlList.h>
00019 #include <list>
00020 #include "vrfobjcore/compSystem.h"
00021 
00022 class DtSimComponent;
00023 class DtVrfObject;
00024 class DtSimComponentList;
00025 class DtControllerComponentList;
00026 class DtString;
00027 class DtComponentDescriptorList;
00028 class DtPortConnection;
00029 class DtPortGroupConnection;
00030 class DtConnectionDescriptorList;
00031 class DtComponentSystemDescriptorList;
00032 
00037 class DT_DLL_vrfobjcore DtSimComponentNetwork
00038 {
00039 private:
00041 
00042    DtSimComponentNetwork();
00043    DtSimComponentNetwork(const DtSimComponentNetwork& orig);
00044    DtSimComponentNetwork& operator=(const DtSimComponentNetwork& orig);
00046 
00047 public:
00048    
00049 
00050    DtSimComponentNetwork(DtVrfObject* vrfObject, DtComponentSystem* parentSystem);
00051    virtual ~DtSimComponentNetwork();
00052 
00053    virtual bool init();
00054 
00055    virtual void tick(bool hostDestroyed);
00056 
00058    virtual bool postAddComponentsInit();
00059 
00060    virtual bool addSensorComponent(DtSimComponent * component);
00061    virtual bool addControllerComponent(DtSimComponent * component);
00062    virtual bool addActuatorComponent(DtSimComponent * component);
00063 
00067    virtual bool removeSensorComponent(DtSimComponent * component);
00071    virtual bool removeControllerComponent(DtSimComponent * component);
00075    virtual bool removeActuatorComponent(DtSimComponent * component);
00076 
00080    virtual DtSimComponent * lookupComponent(const DtString& name) const;
00081 
00083    virtual DtComponentSystem* lookupComponentSystem(const DtString& name) const;
00084    virtual const DtComponentSystemList* componentSystemList() const;
00085 
00086    virtual DtSimComponentList * sensorComponentList() const;
00087    virtual DtControllerComponentList * controllerComponentList() const;
00088    virtual DtSimComponentList * actuatorComponentList() const;
00089 
00090    virtual void createComponentsFromList(
00091       const DtComponentDescriptorList& descList, DtSimComponentList* destination,
00092       int& priority);
00093 
00099    virtual void createSystemsFromList(const DtComponentSystemDescriptorList& descList,
00100       int& priority);
00101 
00109    virtual bool createComponentConnection(const DtString& source, 
00110       const DtString& destination);
00111 
00115    virtual void createConnectionsFromList(const DtConnectionDescriptorList&
00116       descList);
00117 
00120    virtual void disconnectComponent(DtSimComponent *component);
00121 
00123    virtual void removeConnection(DtPortConnection* conn);
00124 
00127    virtual void removeConnection(DtPortGroupConnection* conn);
00128 
00130 
00131    virtual void enable();
00132    virtual void disable();
00134 
00135 protected:
00139    virtual bool createComponentConnection(DtSimComponent* sourceComp, const DtString& sourcePortName,
00140       DtSimComponent* destComponent, const DtString& destPortName, DtString& errorString);
00141 
00142    virtual bool createSensorComponentList();
00143    virtual bool createControllerComponentList();
00144    virtual bool createActuatorComponentList();
00145 
00146 protected:
00147    
00148 
00149    DtSimComponentList *        mySensorComponentList;
00150    DtControllerComponentList * myControllerComponentList;
00151    DtSimComponentList *        myActuatorComponentList;
00152    DtComponentSystemList       mySystemList;
00153 
00154    DtVrfObject* myVrfObject;
00155    DtComponentSystem* myParentSystem;
00156 };
00157 
00158 #endif

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)