VR-Forces 4.0.4 Class Documentation
include/bhaveSim/vrfBodyManager.h
Go to the documentation of this file.
00001 
00002 /*******************************************************************************
00003 ** Copyright (c) 2011 MAK Technologies, Inc.
00004 ** All rights reserved.
00005 *******************************************************************************/
00006 
00007 
00008 #pragma once
00009 
00010 #include <bhaveSim/bhaveSimDefines.h>
00011 #include <kyruntime.h>
00012 #include <vrfobjcore/vrfObject.h>
00013 #include <vrfobjcore/simObjSR.h>
00014 #include <vrfcgf/cgf.h>
00015 
00016 #include <map>
00017 
00018 namespace BHAVE
00019 {
00023    class DT_DLL_bhaveSim DtVrfBodyManager
00024    {
00025    public:
00026 
00028       DtVrfBodyManager();
00029 
00031       virtual ~DtVrfBodyManager();
00032 
00034       virtual bool init(DtCgf* cgf);
00035 
00037       virtual bool isEntity(DtVrfObject* vrfObject);
00038 
00039       virtual bool createRemoteEntity(DtVrfObject* vrfObject);
00040       virtual bool removeObject(DtVrfObject* vrfObject);
00041 
00042       virtual Kaim::Body* getBodyFromEntity(DtVrfObject* vrfObject);
00043       virtual DtVrfObject* getEntityFromBody(Kaim::Body* body);
00044 
00045       virtual void updateAllKynapsePositions();
00046       virtual void updateKynapsePosition(DtVrfObject* vrfObject, Kaim::Body* body);
00047       virtual void initializeKynapsePosition(DtVrfObject* vrfObject, Kaim::Body* body);
00048 
00049 
00051       static void objectAboutToBeAddedCallback(DtVrfObject* vrfObject, void* usr);
00052 
00054       static void objectAboutToBeRemovedCallback(DtVrfObject* vrfObject, void* usr);
00055    protected:
00056 
00057       virtual void updateOrientation( DtSimObjectStateRepository* movingSR, Kaim::Body &body );
00058       virtual void updatePosition( DtSimObjectStateRepository* movingSR, const Dt3dBoundingVolume &boundingVolume, Kaim::Body &body );
00059 
00060 
00061    protected:
00062       DtCgf* myCgf;                                
00063 
00064       std::map<Kaim::Body*,DtVrfObject*> myBodyToEntityMap;
00065       std::map<DtVrfObject*,Kaim::Body*> myEntityToBodyMap;
00066 
00067    };
00068 
00069 
00070 
00071 
00072 } //namespace BHAVE
00073 
00074 

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)