yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #01569
[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)