00001 #pragma once 00002 00003 #ifndef _v_time_step_h 00004 #define _v_time_step_h 00005 00006 #include <vector> 00007 00008 #include "VsetTriplet.h" 00009 #include "VFramebufferObject.h" 00010 00011 00015 struct vTimeStep 00016 { 00017 vTimeStep() : mFrameBufferObject(NULL) 00018 { 00019 00020 } 00021 00022 ~vTimeStep() 00023 { 00024 if(mFrameBufferObject) 00025 { 00026 mFrameBufferObject->destroy(); 00027 delete mFrameBufferObject; 00028 mFrameBufferObject = NULL; 00029 } 00030 mTimeData.clear(); 00031 mFrameBufferObjectData.clear(); 00032 } 00033 00034 float * getFBOData() 00035 { 00036 return &mFrameBufferObjectData[0]; 00037 } 00038 00039 std::vector<float> getFullFBODataVector() 00040 { 00041 if((int)mFrameBufferObjectData.size() == 0) 00042 { 00043 grabFBOData(); 00044 } 00045 return mFrameBufferObjectData; 00046 } 00047 00048 void grabFBOData(); 00049 00050 std::vector<vSetTriplet> mTimeData; 00051 VFramebufferObject * mFrameBufferObject; 00052 std::vector<float> mFrameBufferObjectData; 00053 }; 00054 00055 #endif //_v_time_step_h