Browse Source

Experiment success - keyword new is the saviour of the day

master
Krisjanis Rijnieks 11 years ago
parent
commit
22faea97c7
  1. 15
      src/ofxSurfaceManager.cpp
  2. 4
      src/ofxSurfaceManager.h

15
src/ofxSurfaceManager.cpp

@ -7,7 +7,16 @@ ofxSurfaceManager::ofxSurfaceManager()
ofxSurfaceManager::~ofxSurfaceManager()
{
// delete all extra allocations from the heap
while ( triangleSurfaces.size() ) {
delete triangleSurfaces.back();
triangleSurfaces.pop_back();
}
while ( surfaceGuis.size() ) {
delete surfaceGuis.back();
surfaceGuis.pop_back();
}
}
void ofxSurfaceManager::setup()
@ -96,7 +105,9 @@ void ofxSurfaceManager::removeSurface(int index)
return;
}
delete surfaceGuis[index];
surfaceGuis.erase( surfaceGuis.begin()+index );
delete triangleSurfaces[index];
triangleSurfaces.erase( triangleSurfaces.begin()+index );
}
@ -130,8 +141,8 @@ int ofxSurfaceManager::size()
void ofxSurfaceManager::addTriangleSurface()
{
triangleSurfaces.push_back( &aTriangleSurfaces[triangleSurfaces.size()] );
surfaceGuis.push_back( &aSurfaceGuis[surfaceGuis.size()] );
triangleSurfaces.push_back( new ofxTriangleSurface() );
surfaceGuis.push_back( new ofxSurfaceGui() );
surfaceGuis.back()->setup( *triangleSurfaces.back() );
}

4
src/ofxSurfaceManager.h

@ -5,8 +5,6 @@
#include "ofxTriangleSurface.h"
#include "ofxSurfaceGui.h"
#define MAX_SURFACE_COUNT 25
class ofxSurfaceManager
{
public:
@ -30,8 +28,6 @@ public:
// TODO: add simple surface
private:
ofxTriangleSurface aTriangleSurfaces[MAX_SURFACE_COUNT];
ofxSurfaceGui aSurfaceGuis[MAX_SURFACE_COUNT];
deque<ofxTriangleSurface*> triangleSurfaces;
deque<ofxSurfaceGui*> surfaceGuis;

Loading…
Cancel
Save