VR-Forces 4.0.4 Class Documentation
include/simTerrainDrawer/debugDrawerSharedMemoryManager.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 "vlutil/vlShmPool.h"
00009 #include "simTerrainDrawer/simTerrainDrawerDefines.h"
00010 #include "simTerrainDrawer/debugDrawerGeometryMemory.h"
00011 #include "simTerrainDrawer/debugDrawerSphereMemory.h"
00012 #include "simTerrainDrawer/debugDrawerLineMemory.h"
00013 #include "simTerrainDrawer/debugDrawerTriangleMemory.h"
00014 #include "simTerrainDrawer/debugDrawerNameManager.h"
00015 #include "vlutil/vlString.h"
00016 #include <vector>
00017 
00020 
00021 
00022 struct DT_DLL_simTerrainDrawer DtDebugMemoryBlockHeader
00023 {
00024    int myMemoryType;
00025    long myCurrentPtrOffset;
00026    long myLastDataPtrOffset;
00027    long myMaxSize;
00028    unsigned long myFrameNumber;
00029    unsigned long myNumberOfEntries;
00030 };
00031 
00032 class DT_DLL_simTerrainDrawer DtDebugDrawerSharedMemoryManager
00033 {
00034    public:
00035       static const int DtDebugDrawerSharedMemoryNoType = 0;
00036       static const int DtDebugDrawerSharedMemoryAllType = 1;
00037       static const int DtDebugDrawerSharedMemoryVRFType = 2;
00038       static const int DtDebugDrawerSharedMemoryBHaveType = 3;
00039 
00040       typedef DtDebugMemoryBlockHeader DtMemoryHeader;
00041 
00043       DtDebugDrawerSharedMemoryManager();
00044 
00047       virtual ~DtDebugDrawerSharedMemoryManager();
00048       
00058       virtual void init(int memoryType, bool clearMemory=false, unsigned long memorySize=10485670);
00059 
00072       virtual void push(DtDebugDrawerGeometryMemory* shape);
00073 
00078 
00079       virtual void advanceFrameCount();
00080       virtual unsigned long frameCount() const;
00082 
00086       virtual unsigned int numEmtries();
00087 
00107       virtual const char* getNext(const char* previousPtr, DtDebugDrawerGeometryMemory** shape);
00108 
00111       virtual const std::vector<int> getMemoryBlockIndexList();
00112 
00115       virtual DtString getMemoryBlockName(int index);
00116 
00123       virtual void pointToMemoryBlock(DtString name);
00124 
00127       virtual void startNewFrame();
00128 
00129    protected:
00130 
00131 
00134       unsigned long myMaxSize;
00135 
00139       unsigned long myCurrentSize;
00140 
00143       char* myCurrentMemPtr;
00144 
00146       char* myMemoryPtr;
00147 
00149       DtMemoryHeader* myHeader;
00150 
00152       DtSharedMemoryPoolManager* myManager;
00153       DtSharedMemoryPoolClient* myClient;
00154       
00156       DtDebugDrawerNameManager* myNameManager;
00157 
00158       bool myIsReader;
00159 
00160       DtString myMemoryName;
00161 
00162       int myMemoryType;
00163 };
00164 

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)