Meshlab
Note there are two areas with meshlab sources and builds:
- Standard meshlab in $(meshlab-dir)
- Optimized meshlab collada plugin, and meshlabserver inside the working copy $(env-home)/graphics/meshlab
- $(meshlab-fold)/meshlab contains my github customized Meshlab clone
Installation
build externals:
meshlab-get
meshlab-external
make # qmake must be in PATH
build meshlab:
meshlab-cd
meshlab-qmake
meshlab-make
run:
meshlab-- # default is to load mesh corresponding to 3155___2
DBUS Requirements
For DBUS communication to work need the DBUS session and system daemons
to be running prior to launching the forked MeshLab
TODO
- check on DBUS prior to MeshLab launch ?
- migrate MeshLab notes/docs on enhancements out of env and into:
- bitbucket wiki repo ?
- Hmm not keen on:
- lock-in aspect
- having a separate repo just for a few docs
- dealing with doc system inferior to Sphinx (no toc)
- So: add a Sphinx style docs directory with toctree to the forked MeshLab
Deployment Thoughts
Need to create a populated app bundle with the Qt frameworks in place
in order for the customized MeshLab (faster DAE loading would be
very convenient to have) to work on general machines without
the macports installed Qt frameworks at system level.
Also will generally be no DBUS operational, so need to consider how
to degrade on machines without DBUS, or without the DBUS daemon running.
FUNCTIONS
- meshlab-external
- qmake the Makefile for externals
- meshlab-config
- emit name of qmake project file that defines which plugins to build together with core meshlab
- meshlab-qmake
- qmake the Makefile for configured meshlab build, and kludge fixes the generated Makefiles
- meshlab-make
- invoke the Makefiles
- meshlab-build
- do above qmake and make functions
- meshlab—
- launch the meshlab GUI.
- meshlab– <volspec>
- launch the meshlab GUI and load mesh corresponding to volspec. Eg 3155___2
- meshlab-collada-make
- separate build collada plugin
- meshlab-collada-install
- install into separate build plugins folder
- meshlab-collada-promote
- promote from separate build plugins folder into official plugins folder
DAE FILES
Full files are scp from N:
simon:daeserver blyth$ pwd
/usr/local/env/geant4/geometry/daeserver
simon:daeserver blyth$ scp N:/data1/env/local/env/geant4/geometry/daeserver/DVGX_20131121-2053_g4_00.dae .
simon:daeserver blyth$ scp N:/data1/env/local/env/geant4/geometry/daeserver/VDGX_20131121-2043_g4_00.dae .
Sub geometries can be automatically pulled off the daeserver if not already available,
by launching meshlab with the appropriate arg eg:
meshlab-- 3155___2
meshlab-- DVGX_20131121-2053_g4_00
meshlab-- VDGX_20131121-2043_g4_00
EXTERNAL NAVIGATION
Symptom of DBUS server not running
simon:bitbucket blyth$ meshlab-v "http://localhost/dae/tree/0.html?c=0.001&a=0,0,-1&fov=60"
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
Could not connect to D-Bus server: org.freedesktop.DBus.Error.NoMemory: Not enough memory
Perspective Views
Perspective view with LookAt control:
meshlab-v "http://localhost/dae/tree/0.html?c=0.001&a=0,0,-1&fov=60"
meshlab-v "http://localhost/dae/tree/0.html?c=0.001&a=0,-1,0&fov=60"
- c=0.001 indicates camera close to center of volume bbox at 0.001,0.001,0.001
(avoid camera position 0,0,0 it causes issues)
- a=0,0,-1 looking down -Z
TODO:
- switching to orthographic with fov=5 causes everything to be clipped
Orthographic Axis Views
Orthographic view using orth OR o param with values l/r/t/b/k/f OR Left/Right/Top/Bottom/Back/Front
relative to the bounding box of the identified volume:
meshlab-v "http://localhost/dae/tree/10.html?orth=Left"
meshlab-v "http://localhost/dae/tree/10.html?orth=Top"
meshlab-v "http://localhost/dae/tree/10.html?orth=Back"
meshlab-v "http://localhost/dae/tree/10.html?orth=Front"
meshlab-v "http://localhost/dae/tree/10.html?orth=Left"
meshlab-v "http://localhost/dae/tree/10.html?o=l"
meshlab-v "http://localhost/dae/tree/10.html?o=r"
meshlab-v "http://localhost/dae/tree/10.html?o=t"
meshlab-v "http://localhost/dae/tree/10.html?o=b"
meshlab-v "http://localhost/dae/tree/10.html?o=k"
meshlab-v "http://localhost/dae/tree/10.html?o=f"