VR-Forces 4.0.4 Class Documentation
include/bhaveSim/simCreationManager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #pragma once
00007 
00008 #include <bhaveSim/bhaveSpawnManager.h>
00009 #include <bhaveMsgs/ifCreateMultipleEntities.h>
00010 #include <bhaveSim/bhaveSimDefines.h>
00011 
00012 #include <geometry/tdbextent.h>
00013 #include <vector>
00014 #include <list>
00015 
00016 #include <kyruntime.h>
00017 
00018 class DtCgf;
00019 class DtSimMessage;
00020 class DtObjectType;
00021 class DtVrfObject;
00022 
00023 namespace BHAVE
00024 {
00025    class DtKynapseManager;
00026 
00030 class DT_DLL_bhaveSim DtSimCreationManager
00031 {
00032 public:
00033 
00034    DtSimCreationManager(DtCgf* cgf, DtKynapseManager* kynapseManager);
00035    virtual ~DtSimCreationManager();
00036 
00037 private:   
00038 
00040    DtSimCreationManager(const DtSimCreationManager& orig);
00042    DtSimCreationManager& operator=(const DtSimCreationManager& orig);
00043 
00044 public:
00045 
00047    virtual bool init();
00048 
00051    virtual bool initKynapseWorld();
00052 
00053 protected:
00054    
00056    static void createMultipleEntitiesCallback(DtSimMessage* msg, void* usr);
00057 
00061    virtual void processCreateMultipleEntities(DtSimMessage* msg);
00062 
00066    virtual std::string getDatabaseFromObjectType( DtObjectType &objType );
00067 
00069    virtual void createSelectionGroups(const DtString groupName, const std::vector<DtString>& entNames);
00070 
00073    virtual bool collisionWithOtherEntities(DtExtent& extent, const DtVector& pos, double radius);
00074    
00076    virtual DtVrfObject* createEntity(const Kaim::Vec3f& location, const DtBufferSerialize::DtGroupEntityInfo& entityInfo);
00077    virtual DtVrfObject* createEntity(const DtVector& location, const DtBufferSerialize::DtGroupEntityInfo& entityInfo);
00078 
00081    virtual void processCreateMultipleEntitiesNoPathdata(const DtBufferSerialize::DtGroupEntityInfo& entityInfo,
00082                                                         DtVrfObject* areaObject, std::vector<DtString>& nameList);
00083 
00084 protected:
00085 
00086    DtCgf* myCgf;
00087    DtKynapseManager * myKynapseMgr;
00088    std::list<DtVector> myTempObjects;
00089    DtBhaveSpawnManager* mySpawnManager;
00090    Kaim::World* myCurrentWorld;
00091 
00092 };
00093 }

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)