ViewStack : Pile de vue.
Si vous recherchez quelques choses dans le style de mécanisme des vues nommées de Rhino3D, vous pouvez essayer ce jeu de scripts.
S
|
script: /* Sauve la vue de l'écran dans la pile de vue */ var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); var data = new Object; data.camera = vp.cameraPt; data.target = vp.targetPt; var cm = moi.command; var views = new Array(); try { v = cm.getOption( 'views' ); if ( v != null ) views = v; } catch(e) {} views.push( data ); cm.setOption( 'views', views );
|
R
|
script: /* Restaure la prochaine vue stockée dans la pile de vue */ var cm = moi.command; var views = null; try { views = cm.getOption( 'views' ); } catch(e) {} if ( views != null ) { var lastrestored = -1; try { lastrestored = cm.getOption( 'last_restored_view' ); } catch(e) {} var i = lastrestored + 1; if ( i >= views.length ) i = 0; var data = views[i]; var vp = moi.ui.mainWindow.viewpanel.getViewport('3D'); vp.setCameraAndTarget( data.camera, data.target ); cm.setOption( 'last_restored_view', i ); }
|
C
|
script: /* Efface la pile de vue */ moi.command.setOption( 'views', null );
|
S'attend à ce que le volet du navigateur soit en mode "adjacent" ou "opposé" (pas en mode "intérieur") et il ira en 3 étapes, en montrant le volet latéral seulement, puis le volet du navigateur seulement, puis en masquant les deux :
F
|
script: /* Toggle Side pane and Browser pane visibility 3 steps*/ var sp = moi.ui.sidepane.document.body.style; var bp = moi.ui.getUIPanel( 'moi://ui/BrowserPane.htm' ).document.body.style; var spon = (sp.display != 'none'); var bpon = (bp.display != 'none'); if ( spon && !bpon ) { sp.display = 'none'; bp.display = ''; } else if ( !spon && bpon ) { sp.display = 'none'; bp.display = 'none'; } else { sp.display = ''; bp.display = 'none'; }
|