void BufferManager::dropAllBuffers() { std::vector<Buffer*> buffers = popAll(); for (std::vector<Buffer*>::iterator it = buffers.begin(); it != buffers.end(); it++) { Buffer* buffer = *it; dropBuffer(buffer); } }
// freeStack() // destructor for the Stack type void freeStack(Stack* pS){ if( pS!=NULL && *pS!=NULL ){ if( !isEmpty(*pS) ) popAll(*pS); free(*pS); *pS = NULL; } }
void StateManager::startGame() { popAll(); // pop all current states // put party on world map MapState *ms = new MapState(); pushState(ms); ms->pushMap(new World()); }
//-------------------------------------------------------------- void Kepler::draw() { pushAll(); ramBeginCamera(); mKeplerDynamics.draw(); ramEndCamera(); popAll(); }
bool Engine::run(Scene* startScene) { if(!initialized) { if(!initialize()) { return false; } } if(startScene != nullptr) { push(startScene); } running = true; SDL_Event event; while(running) { while(SDL_PollEvent(&event) != 0) { if(event.type == SDL_QUIT) { running = false; } else { // TODO: Add event processing } } unsigned deltatime = fpsLimiter.limit(); if(scenes.empty()) { running = false; } else { scenes.top()->updateTransform(false); scenes.top()->update(deltatime); renderer->clear(); scenes.top()->render(renderer); renderer->show(); } } // Pop all scenes from stack popAll(); return EXIT_SUCCESS; }
int main(int argc, char* argv[]){ Stack A = newStack(); Stack B = newStack(); push(A,5); push(A,3); push(A,9); push(A,7); push(A,8); printStack(stdout, A); printf("%d\n", peek(A)); pop(A); pop(A); pop(A); printf("%d\n", peek(A)); printStack(stdout, A); printf("%s\n", isEmpty(A)==0?"false":"true"); printf("%s\n", isEmpty(B)==0?"false":"true"); push(B, 5); push(B, 3); push(A, 12); push(B, 13); printStack(stdout, A); printStack(stdout, B); popAll(A); printStack(stdout, B); freeStack(&A); freeStack(&B); return(EXIT_SUCCESS); }
//-------------------------------------------------------------- void Kepler::drawActor(ramActor &actor) { pushAll(); glEnable(GL_DEPTH_TEST); glDisable(GL_LIGHTING); for (int i=0; i<actor.getNumNode(); i++) { ramNode &node = actor.getNode(i); float jointSize = (i==ramActor::JOINT_HEAD) ? 6.0 : 3.0; node.beginTransform(); ofSetColor(ramColor::BLUE_LIGHT); ofNoFill(); ofBox(jointSize); if (i==mNodeA || i==mNodeB) { ofSetColor(ramColor::RED_LIGHT); ofBox(jointSize*1.5f); } node.endTransform(); if (node.hasParent()) { ofSetColor(ramColor::RED_LIGHT); ofLine(node, *node.getParent()); } } const ofVec3f lhp = actor.getNode(mNodeA).getGlobalPosition(); const ofVec3f rhp = actor.getNode(mNodeB).getGlobalPosition(); mPickerA.updatePosition(btVector3(lhp.x, lhp.y, lhp.z)); mPickerB.updatePosition(btVector3(rhp.x, rhp.y, rhp.z)); popAll(); }
StateManager::~StateManager() { popAll(); }