Links

Content Skeleton

This Page

Previous topic

Meshlab Usage

Next topic

Meshlab Building

Meshlab

Note there are two areas with meshlab sources and builds:

  1. Standard meshlab in $(meshlab-dir)
  2. Optimized meshlab collada plugin, and meshlabserver inside the working copy $(env-home)/graphics/meshlab
  3. $(meshlab-fold)/meshlab contains my github customized Meshlab clone

Installation

  1. build externals:

    meshlab-get
    meshlab-external
    make                  # qmake must be in PATH
    
  2. build meshlab:

    meshlab-cd
    meshlab-qmake
    meshlab-make
    
  3. 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

  1. check on DBUS prior to MeshLab launch ?
  2. 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)
  3. 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"
  1. 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)
  2. a=0,0,-1 looking down -Z

TODO:

  1. 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"