void ramBaseApp::drawNodeArrays() { // draw nodearray for (int n = 0; n < getNumNodeArray(); n++) { const ramNodeArray &o = getNodeArray(n); if (o.isActor()) drawActor((ramActor &)o); else drawRigid((ramRigidBody &)o); } // draw bus map<string, ramNodeArray>::iterator it = getActorManager().getAllBus().begin(); while (it != getActorManager().getAllBus().end()) { const ramNodeArray &o = (*it).second; if (o.isActor()) drawActor((ramActor &)o); else drawRigid((ramRigidBody &)o); ++it; } }
void ramActorsScene::onKeyPressed(ofKeyEventArgs &e) { if (e.key == ' ') { const bool newState = !getActorManager().isFreezed(); btnPause->setValue(newState); btnPause->triggerSelf(); } }
void ramBaseApp::update(ofEventArgs &args) { getActorManager().update(); getCommunicationManager().update(); getOscManager().update(); update(); // calling testApp(or ofApp)::update() }
void ramBaseApp::drawNodeArrays() { // draw nodearray for (int n = 0; n < getNumNodeArray(); n++) { const ramNodeArray &o = getNodeArray(n); glPushAttrib(GL_ALL_ATTRIB_BITS); glPushMatrix(); ofPushStyle(); if (o.isActor()) drawActor((ramActor &)o); else drawRigid((ramRigidBody &)o); ofPopStyle(); glPopMatrix(); glPopAttrib(); } // draw bus map<string, ramNodeArray>::iterator it = getActorManager().getAllBus().begin(); while (it != getActorManager().getAllBus().end()) { const ramNodeArray &o = (*it).second; glPushAttrib(GL_ALL_ATTRIB_BITS); glPushMatrix(); ofPushStyle(); if (o.isActor()) drawActor((ramActor &)o); else drawRigid((ramRigidBody &)o); ofPopStyle(); glPopMatrix(); glPopAttrib(); ++it; } }
void ramBaseApp::draw(ofEventArgs &args) { glPushAttrib(GL_ALL_ATTRIB_BITS); glEnable(GL_DEPTH_TEST); ramBeginCamera(); if (draw_floor_auto) drawFloor(); getActorManager().draw(); bool enable_physics = ramGetEnablePhysicsPrimitive(); ramEnablePhysicsPrimitive(false); glPushAttrib(GL_ALL_ATTRIB_BITS); glPushMatrix(); ofPushStyle(); if (ramShadowEnabled()) { // shadow ramBeginShadow(); drawNodeArrays(); ramEndShadow(); } ofPopStyle(); glPopMatrix(); glPopAttrib(); ramEnablePhysicsPrimitive(enable_physics); glPushAttrib(GL_ALL_ATTRIB_BITS); glPushMatrix(); ofPushStyle(); if (drawModel) { // entities drawNodeArrays(); } ofPopStyle(); glPopMatrix(); glPopAttrib(); ramEndCamera(); glPopAttrib(); }
void ramActorsScene::pauseAll(bool bPause) { /// realtime osc data getActorManager().setFreezed(bPause); /// playback data SegmentsIter it = mSegmentsMap.begin(); while (it != mSegmentsMap.end()) { BaseSegment *seg = it->second; if (seg->getType() == RAM_UI_SEGMENT_TYPE_PLAYBACK) { static_cast<PlaybackSegment*>(seg)->pause(bPause); } it++; } }
void ramActorsScene::update() { /// refresh control panel if it's needed if (needsUpdatePanel()) rebuildControlPanel(); SegmentsIter it = mSegmentsMap.begin(); while (it != mSegmentsMap.end()) { BaseSegment *seg = it->second; /// position reset if (seg->bNeedsResetPos) { seg->position = ofPoint::zero(); seg->bNeedsResetPos = false; } /// realtime osc data if (seg->getType() == RAM_UI_SEGMENT_TYPE_CONTROL) { seg->session.filter( getNodeArray(it->first) ); } /// recording data playback else if (seg->getType() == RAM_UI_SEGMENT_TYPE_PLAYBACK) { if (static_cast<PlaybackSegment*>(seg)->isPlaying()) { seg->session.updatePlayhead(); ramNodeArray NA = seg->session.getCurrentFrame(); NA.setPlayback(true); NA.setTimestamp(ofGetElapsedTimef()); getActorManager().instance().setNodeArray(NA); } } it++; } }
void ramBaseApp::draw(ofEventArgs &args) { glPushAttrib(GL_ALL_ATTRIB_BITS); glEnable(GL_DEPTH_TEST); ramBeginCamera(); if (draw_floor_auto) drawFloor(); getActorManager().draw(); bool enable_physics = ramGetEnablePhysicsPrimitive(); ramEnablePhysicsPrimitive(false); if (ramShadowEnabled()) { // shadow ramBeginShadow(); drawNodeArrays(); ramEndShadow(); } ramEnablePhysicsPrimitive(enable_physics); if (drawModel) { // entities drawNodeArrays(); } ramEndCamera(); glPopAttrib(); getCommunicationManager().draw(); draw(); // calling testApp(or ofApp)::draw() }
void ramBaseApp::update(ofEventArgs &args) { getActorManager().update(); }