Plugin Configuration

From Immersive Visualization Lab Wiki
Jump to: navigation, search

Contents

Overview

In order for plugin to be functional, it must be built and given proper configuration in the CalVR Config File. This page is for listing library and data dependencies for a plugin, as well as providing an example for the xml configuration entry.
Note: all configuration entries are within the <Plugin> tag unless otherwise specified.

Plugins

ArtifactVis

Data

This plugin requires the models and images from the 'kyle' data folder.

Config Example

<ArtifactVis value="on" >
 <Database value="/home/aprudhom/data/kyle/artifact-databank/artifactslist.txt" />
 <TopoFile value="/home/aprudhom/data/kyle/3d-model/Ken3dv3.wrl" />
 <PicFolder value="/home/aprudhom/data/kyle/pictures/AllPics/" />
 <DCInfoFile value="/home/aprudhom/CVRPlugins/calit2/ArtifactVis/DCCategories.txt" />
 <LociFile value="/home/aprudhom/CVRPlugins/calit2/ArtifactVis/AreaMLociDepth.kml" />
 <MaxVisibleRange value="1000000000.0" />
 <Offset>
  <X value="-3396591.682" />
  <Y value="-733458.55" />
  <Z value="-49.44" />
 </Offset>
 <Site>
  <Longitude value="35.491239" />
  <Latitude value="30.628039" />
 </Site>
 <Tessellation value=".2" />
 <ArtifactPanel x="-200" y="25" z="100" scale="1.0" /> 
</ArtifactVis>

Replace the data paths to the 'kyle' folder with the ones on your system. The DCCategories.txt and AreaMLociDepth.kml files are in with the plugin source, change the paths as needed. The Tessellation value determines how well to draw the spheres. The ArtifactPanel tag determines the default location and scale of the selection dialog panel.

ImageViewer

Data

This plugin allows for the loading of images and stereo image pairs. The image format can be any that OpenSceneGraph can load.

Config Example

<ImageViewer value="on" >
 <DefaultPaths value="/home/aprudhom/data/TomsStereo4Kimages1" />
 <GlobalOffset x="100" y="100" z="0" />
 <Files>
  <BeijingCraftShop fileLeft="BeijingCraftShopLeft_4096_4096.jpg" fileRight="BeijingCraftShopRight_4096_4096.jpg" />
  <Group1>
   <YuHuan file="YuHuanRight_4096_4096.jpg" />
   <Group2>
    <TerraCottaPit fileLeft="TerraCottaPitLeft_4096_4096.jpg" fileRight="TerraCottaPitRight_4096_4096.jpg" />
   </Group2>
  </Group1>
 </Files>
</ImageViewer>

DefaultPaths is a colon separated list of directories to search for the images. The GlobalOffset is the default offset used for positioning images when they load.
The Files tag contains the images that can be loaded in the menu. You can specify a mono image with the attribute file="image.jpg". You can specify a stereo pair by defining fileLeft="leftimage.jpg" and fileRight="rightimage.jpg".
File entries can be grouped into sub menus as shown above, replacing Group1/2 with the names you want for the sub menus.
There are a number of optional attributes that can also be set:
aspectRatio - the image aspect ratio. default: -1.0 (use image aspect ratio)
width - the width of the displayed image in world space units(mm). default: 1000.0
scale - the starting scale of the image. default: 1.0
x - y - z - this set of attributes define the starting position of the image. defaults: 0.0
h - p - r - this set of attributes define any starting rotation on the image in heading, pitch, roll notation. defaults: 0.0

ModelLoader

Data

This plugin allows for the loading of any model type that can be loaded by OpenSceneGraph (i.e. obj,ive,osg,etc.). Building in the optional OpenSceneGraph depandencies expands this support.

Config Example

<ModelLoader value="on" >
 <ConfigDir value="/home/aprudhom/data/ModelLoader/" />
 <Files>
  <se_building path="/home/aprudhom/data/falko/se_building.obj" mask="1" />
  <QaserAlBint path="/home/aprudhom/data/QaserAlBint_VRML/Qaser_Albent.wrl" mask="1" />
 </Files>
</ModelLoader>

The ConfigDir is the location the model initialization file if placed. When you save model positions, it is written to a file called 'Init.cfg' in this folder.
The file entries allow you to load models from the menu. The tag name is the entry that appears in the menu. The 'path' attribute is the model file to load.
There are other attributes you can set in the file entry:
mask - A non-zero value makes it so that model is not intersectable. This also disables snap to ground. default: 1
lights - A non-zero value turns on lighting. default: 1
backfaceCulling - A "true" or "on" value turns on backface culling. default: false
showBound - A "true" or "on" value shows a bounding box around the model. default: false

PanoViewLOD

Build Dependencies

GLEW - latest version, there might be a package for your linux version
SDL - version 1.2, there is probably a package for your linux version
libtiff - must be version 4

Data

Config

<PanoViewLOD value="on">
 <FloorOffset value="1500" />
 <ShaderDir value="/home/aprudhom/data/Pans/PansLOD/glsl/" />
 <ImageSearchPath value="/home/aprudhom/data/Pans/PansLOD" />
 <DefaultConfigDir value="/home/aprudhom/data/Pans/PansLOD/config/" />
 <Pans>
  <Wisconsin>
   <Taliesin-Path />
   <UPset />
   <UW-Madison-2 />
   <wiscoSet />
  </Wisconsin>
  <BluebonnetSet />
  <Dr-Seuss />
 </Pans>
</PanoViewLOD>

SpaceNavigator

Build Dependencies

This plugin requires the spacenav library, found here: http://sourceforge.net/projects/spacenav/files/
Additionally, you must build and run the spacenav daemon (also found at the above link)
The daemon will likely need to be run as root.

Config Example

<SpaceNavigator value="on" >
 <TransMult value="7.0" />
 <RotMult value="0.8" />
</SpaceNavigator>

The multipliers scale the translation and rotation components of the navigation.

StructView

Data

The plugin requires model files from the 'baybridge' directory. You need permission from Calit2 to use these files outside of Calit2. But you can use your own 3D model files and use multiple of them as layers if they share the same origin.

Config Example

<StructView value="on">
 <Layer0File value="/home/aprudhom/data/baybridge/T1_Block_01A_One_Quarter_wPiles_StructSteel01.WRL" />
 <Layer1File value="/home/aprudhom/data/baybridge/T1Block01B_One_Quarter_Struct_Steel.WRL" />
 <Layer2File value="/home/aprudhom/data/baybridge/T1Block02_OneQuarter_TopSlabRebar.wrl" />
 <Layer3File value="/home/aprudhom/data/baybridge/T1Block03_OneQuarter_BotSlabRebar.wrl" />
 <Layer4File value="/home/aprudhom/data/baybridge/T1Block04_One_Quarter_CutOutRebar.wrl" />
 <Layer5File value="/home/aprudhom/data/baybridge/T1Block05_OneQuarter_Walls.WRL" />
 <Layer6File value="/home/aprudhom/data/baybridge/T1Block06_One_Quarter_FendersRebars.WRL" />
 <Layer7File value="/home/aprudhom/data/baybridge/T1Block07_OneQuarter_SkirtRebar.wrl" />
 <Layer8File value="/home/aprudhom/data/baybridge/T1Block08_One_Quarter_SkirtABLayout.WRL" />
 <Layer9File value="/home/aprudhom/data/baybridge/T1Block11_One_Quarter_Drainage.WRL" />
 <Layer10File value="/home/aprudhom/data/baybridge/T1Block13_FullConcrete.WRL" />
 <Layer11File value="/home/aprudhom/data/baybridge/Tower-all.wrl" />
</StructView>

Replace the paths to the 'baybridge' folder with the ones on your system.

CollaborativePlugin

This plugin allows linking the view points on multiple CalVR systems to remote control the view, or to view what the other participants do.

First you'll have to build the collaboration server at CalVR/aplications/CollabServer/

Run the CollabServer, then all participating instances of CalVR, once you have added the Collaborative section to their config files.

To run the CollabServer using the default port of 11050:

CollabServer

To run the server on a different port:

CollabServer --port 11010

Config Example

<Plugin>
  <CollaborativePlugin value="on" />

  <CollaborativePlugin>
    <Server value="127.0.0.1" />
    <Port value="11050" />
  </CollaborativePlugin>
</Plugin>

Exodus

To run it you need to enable the Exodus plugin in the config file. Then the near and far plane need to be adjusted, there are commented out copies in the file on the wave. Then run CalVR, and to run the demo press the cursor down key. Note that there won't be a menu because it's in front of the near plane.