← Back to team overview

yade-dev team mailing list archive

[svn] r1900 - in trunk: core gui/qt3 scripts

 

Author: eudoxos
Date: 2009-07-29 10:23:29 +0200 (Wed, 29 Jul 2009)
New Revision: 1900

Modified:
   trunk/core/yade.cpp
   trunk/gui/qt3/SnapshotEngine.cpp
   trunk/gui/qt3/SnapshotEngine.hpp
   trunk/gui/qt3/qt.py
   trunk/scripts/simple-scene-video.py
Log:
1. Fix SnapshotEngine and simple-scene-video.py to run. It doesn't work, though, because of the makeCurrent() failed error (probably getting snapshot from another thread...)


Modified: trunk/core/yade.cpp
===================================================================
--- trunk/core/yade.cpp	2009-07-29 08:04:35 UTC (rev 1899)
+++ trunk/core/yade.cpp	2009-07-29 08:23:29 UTC (rev 1900)
@@ -256,7 +256,9 @@
 	
 	LOG_INFO("Loading "<<yadeConfigFile.string()); IOFormatManager::loadFromFile("XMLFormatManager",yadeConfigFile.string(),"preferences",Omega::instance().preferences);
 
-	LOG_INFO("Loading plugins"); Omega::instance().scanPlugins(string(PREFIX "/lib/yade" SUFFIX "/plugins" ));
+	LOG_INFO("Loading plugins");
+		Omega::instance().scanPlugins(string(PREFIX "/lib/yade" SUFFIX "/plugins" ));
+		Omega::instance().scanPlugins(string(PREFIX "/lib/yade" SUFFIX "/gui" ));
 	Omega::instance().init();
 
 	Omega::instance().setSimulationFileName(simulationFileName); //init() resets to "";

Modified: trunk/gui/qt3/SnapshotEngine.cpp
===================================================================
--- trunk/gui/qt3/SnapshotEngine.cpp	2009-07-29 08:04:35 UTC (rev 1899)
+++ trunk/gui/qt3/SnapshotEngine.cpp	2009-07-29 08:23:29 UTC (rev 1900)
@@ -2,6 +2,7 @@
 #include<sstream>
 #include<iomanip>
 CREATE_LOGGER(SnapshotEngine);
+YADE_PLUGIN("SnapshotEngine");
 void SnapshotEngine::action(MetaBody* rb){
 	shared_ptr<GLViewer> glv;
 	if(!YadeQtMainWindow::self || ((size_t)viewNo>=YadeQtMainWindow::self->glViews.size()) || !(glv=YadeQtMainWindow::self->glViews[viewNo])){
@@ -15,4 +16,3 @@
 	savedSnapshots.push_back(fss.str());
 	usleep((long)(msecSleep*1000));
 }
-

Modified: trunk/gui/qt3/SnapshotEngine.hpp
===================================================================
--- trunk/gui/qt3/SnapshotEngine.hpp	2009-07-29 08:04:35 UTC (rev 1899)
+++ trunk/gui/qt3/SnapshotEngine.hpp	2009-07-29 08:23:29 UTC (rev 1900)
@@ -1,5 +1,4 @@
 #pragma once
-#include<yade/core/StandAloneEngine.hpp>
 #include<yade/gui-qt3/GLViewer.hpp>
 #include<yade/gui-qt3/YadeQtMainWindow.hpp>
 #include<yade/pkg-common/PeriodicEngines.hpp>

Modified: trunk/gui/qt3/qt.py
===================================================================
--- trunk/gui/qt3/qt.py	2009-07-29 08:04:35 UTC (rev 1899)
+++ trunk/gui/qt3/qt.py	2009-07-29 08:23:29 UTC (rev 1900)
@@ -22,19 +22,17 @@
 	See makePlayerVideo for more documentation.
 	"""
 	import os
-	from yade import utils,wrapper
-	o=wrapper.Omega()
 	# create primary view if none
 	if len(views())==0: View()
 	# remove existing SnaphotEngines
-	se=wrapper.StandAloneEngine('SnapshotEngine',{'iterPeriod':iterPeriod,'realPeriod':realPeriod,'virtPeriod':virtPeriod,'fileBase':os.tmpnam(),'ignoreErrors':False,'viewNo':viewNo,'msecSleep':msecSleep})
-	origEngines=o.engines; o.engines=[e for e in o.engines if e.name!='SnapshotEngine']+[se]
-	o.run(); o.wait();
+	se=SnapshotEngine(iterPeriod=iterPeriod,realPeriod=realPeriod,virtPeriod=virtPeriod,fileBase=os.tmpnam(),ignoreErrors=False,viewNo=viewNo,msecSleep=msecSleep)
+	origEngines=O.engines; O.engines=[e for e in O.engines if e.name!='SnapshotEngine']+[se]
+	O.run(); O.wait();
 	wildcard=se['fileBase']+'%04d.png'
 	print "Number of frames:",len(se['savedSnapshots'])
 	utils.encodeVideoFromFrames(wildcard,output,renameNotOverwrite=True,fps=fps)
 	for f in se['savedSnapshots']: os.remove(f)
-	o.engines=origEngines
+	O.engines=origEngines
 
 
 def makePlayerVideo(playerDb,out,viewerState=None,dispParamsNo=-1,stride=1,fps=24,postLoadHook=None,startWait=False):

Modified: trunk/scripts/simple-scene-video.py
===================================================================
--- trunk/scripts/simple-scene-video.py	2009-07-29 08:04:35 UTC (rev 1899)
+++ trunk/scripts/simple-scene-video.py	2009-07-29 08:23:29 UTC (rev 1900)
@@ -1,35 +1,26 @@
 #!/usr/local/bin/yade-trunk -x
 # -*- encoding=utf-8 -*-
 
-o=Omega()
-o.initializers=[
-	MetaEngine('BoundingVolumeMetaEngine',[EngineUnit('InteractingSphere2AABB'),EngineUnit('InteractingBox2AABB'),EngineUnit('MetaInteractingGeometry2AABB')])
-	]
-o.engines=[
-	StandAloneEngine('PhysicalActionContainerReseter'),
-	MetaEngine('BoundingVolumeMetaEngine',[
-		EngineUnit('InteractingSphere2AABB'),
-		EngineUnit('InteractingBox2AABB'),
-		EngineUnit('MetaInteractingGeometry2AABB')
-	]),
-	StandAloneEngine('PersistentSAPCollider'),
-	MetaEngine('InteractionGeometryMetaEngine',[
-		EngineUnit('InteractingSphere2InteractingSphere4SpheresContactGeometry'),
-		EngineUnit('InteractingBox2InteractingSphere4SpheresContactGeometry')
-	]),
-	MetaEngine('InteractionPhysicsMetaEngine',[EngineUnit('SimpleElasticRelationships')]),
-	StandAloneEngine('ElasticContactLaw'),
-	DeusExMachina('GravityEngine',{'gravity':[0,0,-9.81]}),
+O.initializers=[BoundingVolumeMetaEngine([InteractingSphere2AABB(),InteractingBox2AABB(),MetaInteractingGeometry2AABB()])]
+O.engines=[
+	BexResetter(),
+	BoundingVolumeMetaEngine([InteractingSphere2AABB(),InteractingBox2AABB(),MetaInteractingGeometry2AABB()]),
+	InsertionSortCollider(),
+	InteractionDispatchers(
+		[InteractingSphere2InteractingSphere4SpheresContactGeometry(),InteractingBox2InteractingSphere4SpheresContactGeometry()],
+		[SimpleElasticRelationships()],
+		[ef2_Spheres_Elastic_ElasticLaw()]
+	),
+	GravityEngine(gravity=(0,0,-9.81)),
 	NewtonsDampedLaw(damping=.2)
 ]
-from yade import utils
-o.bodies.append(utils.box(center=[0,0,0],extents=[.5,.5,.5],dynamic=False,color=[1,0,0],young=30e9,poisson=.3,density=2400))
-o.bodies.append(utils.sphere([0,0,2],1,color=[0,1,0],young=30e9,poisson=.3,density=2400))
-o.dt=.4*utils.PWaveTimeStep()
 
+O.bodies.append(utils.box(center=[0,0,0],extents=[.5,.5,.5],dynamic=False,color=[1,0,0],young=30e9,poisson=.3,density=2400))
+O.bodies.append(utils.sphere([0,0,2],1,color=[0,1,0],young=30e9,poisson=.3,density=2400))
+O.dt=.4*utils.PWaveTimeStep()
 
 from yade import qt
-o.stopAtIter=15000
+O.stopAtIter=15000
 qt.makeSimulationVideo('/tmp/aa.ogg',iterPeriod=100,fps=12)