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;
	}
}
Exemplo n.º 2
0
void ramActorsScene::onKeyPressed(ofKeyEventArgs &e)
{
	if (e.key == ' ')
	{
        const bool newState = !getActorManager().isFreezed();
        btnPause->setValue(newState);
        btnPause->triggerSelf();
    }
}
Exemplo n.º 3
0
void ramBaseApp::update(ofEventArgs &args)
{
	getActorManager().update();
	
	getCommunicationManager().update();

	getOscManager().update();
	
	update(); // calling testApp(or ofApp)::update()
}
Exemplo n.º 4
0
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();
}
Exemplo n.º 6
0
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++;
    }
}
Exemplo n.º 7
0
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++;
	}
}
Exemplo n.º 8
0
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();
}