Application Desktop

  • Familiar windows look & feel  
  • Designed to minimize window clutter
  • True WYSIWYG interface 
  • Use mouse to interactively control model rotation, pan & zoom 
  • Tree view for 2D hierarchical view of database 
  • Multiple simultaneous views of scene
  • Fixed and free camera views
  • Toggle any view between orthographic & perspective projection
  • Optional on-screen or pop-up property panels
  • Detachable scene viewer window for multi-monitor support
  • Detachable Favorites toolbar
  • All operations act on current selection
  • Status display... 
    • Current pickmode  
    • Current behavior state 
    • Current color
    • Current layer parent 
    • Current selection
    • Current texture
    • Current texture unit
  • Fine grain picking control.. 
    • Inhibit (freeze) X coordinate
    • Inhibit (freeze) Y coordinate 
    • Inhibit (freeze) Z coordinate 
    • Inhibit 3D object picking 
    • Inhibit grid picking 

File I/O 

  • New (empty) file 

  • Open/Save/SaveAs in "geo" format 

  • Multiple files open at once 

  • Instantly switch between loaded files 

  • Copy/paste geometry/hierarchy/behavior 

  • Import/Export 

  •     DWB™ 

    • Dwb version 2 through 4.1

  •     OpenFlight™ 

    • Flt versions 12 through 16.0

  •     Aechelon®

    • Hie™ (Ascii Scene Graph) 

    • Pto™ (Compiled Geometry)

    • Db™ (LightPts)

  •     VRML 2.0

  • Import only

  •     Alias-Wavefront® Obj 

  •     AutoCAD® DXF

  •     Discrete® 3DS

  • Export only

  •     Camber Radar Toolkit (from Camber)

  • Other formats easily supported through Read/Write API 

  • Texture image support.. 

    • SGI rgb (1-4 component)

    • BMP

    • Targa

    • JPEG

    • Gif 

    • Other formats easily supported through image read API

  • Import behavior (IG) variables

  • Load/Save Node extension templates

Edit Operations 

  • Global unlimited UNDO for all operations 

  • Cut 

  • Copy 

  • Paste 

  • Delete

  • Calculate Normals... 

    • With smoothing angle

    • Per face

    • Per vertex average

  • Preferences

View Control

  • Tree (hierarchy) view 

  • Toggle current view between perspective/orthographic projections

  • Hide/show tree view 

  • Up to 4 simultaneous 3D views "side-by-side" 

  • Snap camera to view... 

    • XY plane 

    • XZ plane 

    • YZ plane

  • Fit on selection 

  • Isolate selection 

  • Hide selection 

  • Fit on point

  • Show all 

  • Set Near/Far Clip Planes

  • Draw styles... 

    • Solid 

    • Wire outline over solid 

    • Wire on move

    • DeTexture on move

    • Proxy on move

  • Zbuffer on/off control 

  • Backface removal on/off control 

  • Texture on/off control 

  • Lighting on/off control

  • Blending on/off control

  • Show normals 

  • Show bounding boxes 

  • Show large Light Pts.

  • Show DOF's

  • Set front-face polygon direction

  • Shrink Polygon mode

  • Set Background color & if shaded

  • Snapshot

LOD Controls

  • More

  • Most

  • Less

  • Least

  • Automatic LOD switching

  • Property override

Tree View

  • Expand/collapse tree 

  • Interactive node drag & drop

  • Set Parent

  • Cut

  • Copy

  • Paste

  • Move after 

  • Move last 

  • Move before 

  • Move first 

  • Select Siblings

  • Delete

Scene Graph Structure 

  • Set layer parent 
  • Create new.. 
    • Group 
    • Lod 
    • Switch 
    • Sequence 
    • Instance 
    • Light Group
    • Page
    • External 
    • DCS
    • Clip Region 
    • Render Group
    • Multi-Tex Shader
    • Cull Group
    • Z-Offset Group
    • Multi-Sample AA Group
    • Line AA Group
    • Fade Group
    • Terrain
    • BSP
  • Render Nodes..
    • Polygon
    • Mesh
    • Light Points
    • Vertices
    • Slim (light-weight) Vertices
  • Expand all closed nodes
  • Collapse all open nodes
  • Attach as children of current parent
  • Move after next sibling
  • Select last sibling
  • Move before previous sibling
  • Make selection first sibling
  • Convert externals
  • Convert multi-texture shaders
  • Decompose mesh nodes
  • Split Large render groups
  • Get Selection triangle count
  • Insert level
  • Delete level

Appearance Control 

  • Get/put color 
  • Get/put material 
  • Get/put texture 
  • Get/put shader
  • Remove texture 
  • 3-Pt (Planar) texture mapping 
  • Per Face texture mapping
  • 2-Pt Grid Texture mapping
  • Cylindrical texture mapping
  • Modify UVs
  • Get/put texture mapping
  • Get/put texture coordinates
  • Compress sparse texture unit usage
  • Change texture paths
  • Face color to verts
  • Walk UV's
 

Grid Control 

  • Grid display on/off 
  • Snap to grid on/off 
  • Zbuffer display on/off 
  • Draw grid before/after 
  • Expand grid 
  • Shrink grid 
  • Snap grid to... 
    • XY plane 
    • XZ plane 
    • YZ plane
  • Place grid on polygon 
  • Place grid on plane 
  • Move grid origin 
  • Move grid to origin 
  • Center grid 
  • Grid perpendicular to X axis
  • Grid perpendicular to Z axis
  • Set dimensions
  • Set XY viewport grid depth
  • Set YZ viewport grid depth
  • Set XZ viewport grid depth

Selection

  • Simple pick modes... 
    • Groups
    • Prims (Polygon & derived types)
    • Vertices
    • Externals
    • Text
  • Select All
  • Deselect all
  • Selection parent
  • Selection next sibling
  • Selection previous sibling
  • Selection child 
  • Keyboard selection shortcuts 
  • By Property
  • Info
  • Concave Polygons
  • Polygons w/Coincident Vertices
  • Polygons w/Colinear Vertices
  • Polygons w/NAN-value vertices
  • Non-Planar Polygons 
  • Select by clicking in tree or 3D views 
  • Fence touching/within 
  • Select all siblings

Optimizations

  • Flatten nodes 
  • Create shared vertex palette
  • Delete empty nodes 
  • Calculate bounding boxes
  • Within-group polygon texture sorter
  • Multi-group polygon texture sorter
  • Flatten transforms
  • Convert to slim vertices

Create Tools 

  • Line
  • Irregular polygon 
  • Mesh
  • Fan
  • Circle 
  • Rectangle 
  • 2D raster text 
  • 3D vector text 
  • Cube 
  • Cone 
  • Cylinder 
  • Sphere 
  • Extrude 
  • Loft
  • Mirror 
  • Strip-Face
  • Duplicate 
  • 3-View template
  • Tube
  • Light pts by mouse
  • Light Pt string by number 
  • Light Pt string by delta 
  • Light Pt string by number & delta
  • Random light Pts
  • Surface of Revolution
  • Plant

Modify Tools 

  • Rotate 
  • Translate 
  • Place
  • Move vertex 
  • Scale 
  • Flip face 
  • Adjacent polygon Orientation fixer 
  • Slice 
  • Bevel 
  • Merge 
  • Triangulate 
  • Turn Edges
  • Collapse Edges
  • Point manipulator
  • Rotate manipulator
  • Align left
  • Align right
  • Align top
  • Align bottom
  • Align furthest
  • Align nearest
  • Distribute along X
  • Distribute along Y
  • Distribute along Z
  • Weld vertices
  • Fix degenerate polys
  • Project to geometry
  • Project to grid
  • Put Selection
  • Modify 2D clip region 
  • Remove
    • Coincident vertices
    • Collinear vertices
    • Non Coplanar faces
  • Modify light pt vector
  • Change font paths
  • Unstrip
  • Convert Slim vertices
  • Translate by mirror reflection
  • Scale to size

Coordinate Input

  • Current & delta coordinate input/output
  • Distance & Angle input/ouput
  • Pass values directly to active tool

 

Properties 

  • All important third-party format (e.g. flt,dwb,hie) properties recovered & written.
  • Common to all node types... 
    • Node-specific standard properties 
    • Node-specific user-defined props 
    • Comments
  • Global attribute changes
  • Add your own user properties
    • No programming required 
    • Set property label 
    • Set property type 
      • Bool, short, int, long, float, double, string 
    • Set property GUI type 
      • Input text field 
      • Check box 
      • Option menu (one-of-many)
    • Set default value 
    • Saved/restored in ".geo" format

Material Palette

  • Current material index 
  • 1 to unlimited material definitions 
  • Add/delete materials 
  • Edit individual material properties: 
    • Ambient rgba 
    • Diffuse rgba 
    • Specular rgba 
    • Shininess

Color Palette 

  • True color 
  • Color palette for selection 
  • Palette has 1024 highest-intensity colors 
  • Each color has 128 shades (to black) 
  • Total of 131071 indexable colors 
  • Colors stored as floats ( 0.0 - 1.0 ) 
  • Current color As index & rgb values 
  • Larger palette view mode
  • Edit colors

Texture Palette

  • Current texture index 
  • Current texture name
  • Current texture file name 
  • 1 to unlimited texture definitions 
  • Load textures 
  • Replace texture 
  • Reload textures from dir 
  • Delete selection 
  • Delete unused 
  • Delete duplicates 
  • View actual size
  • Set/get individual texture properties

Shader Palette

  • Current shader index 
  • Current shader name
  • Current shader type
    • GLSL
    • Cg
    • CgFX
  • Create shader
  • Shader info
    • vertex program name
    • fragment program name
    • vertex program entry point (Cg)
    • fragment program entry point (Cg)
  • Animate shader uniform variables
  • Delete shader
  • GLSL shaders rendered in-scene
 

Helper Points 

  • On selection average 
  • On selection vertices 
  • By mouse placement 
  • On edge
  • By string
  • Edge/edge midpoint/intersection
  • Line/plane intersection
  • Point/line intersection
  • Point/plane intersection
  • Clear all points

Helper Lines 

  • By mouse placement
  • Parallel to edge
  • Perpendicular to edge
  • Perpendicular to grid
  • Center line from 2 edges
  • Plane/plane intersection
  • Clear all lines

Software Development Kit (SDK)

  • All tools built using SDK
  • Allows users to develop plugins for Geo themselves
  • Plugin types: 
    • Create tools 
    • Modify tools 
    • HelperPt tools 
    • Appearance tools 
    • Optimzation tools
    • Task (global per-frame)
    • 3D File format import/export 
    • Image format import
    • New node types
  • Development projects, libraries & header files provided: 
    • Mem (memory manager)
    • Db (scene graph) 
    • App (application functionality) 
    • Gui (gui, widgets etc.) 
    • Behavior( articulation & control)

GeoScript embedded Scripting Language

  • 90% of Plugin SDK exposed through GeoScript.
  • Interactive & immediate results
  • Built-in Script Editor
  • Comamnd-line interface
  • Invoke GeoScript 1 of 5 ways...
    • Command-line batch process
    • Interactive command-line 
    • As a GeoScript "plugin"
    • From the Script Editor
    • Automatic pre & post file import/export execution

Behavior

  • Apply multiple behaviors to any node

  • Each behavior can have multiple actions 

  • Data actions: 

    • Clamp

    • Range

    • Arithmetic 

    • Conditional 

    • Linear 

    • Inverse 

    • Trig

    • Periodic

    • Truncate 

    • Discrete (switch statement)

    • If-Then-Else (single var)

    • If-Then-Else (compound block)

    • Absolute

    • Sqrt

  • Display actions: 

    • Rotate

    • Translate

    • Scale

    • Color 

    • String Content

    • Visibility

    • DCS (DOFs)

    • State-machine driven

  • Each action driven by variable values. Supported variable types are: 

    • Internal vars 

      • Framecount 

      • Tempfloat

      • Current-time

      • Elapsed-time 

      • Sin (result of)

      • Cos (result of)

      • Tan (result of)

      • MouseX

      • MouseY 

      • Left mouse 

      • Middle mouse 

      • Right mouse 

      • Trigger (1 through 4)

    • User vars 

      • Any User defined variable

    • External (simulation-driven) vars 

      • Any externally defined/controlled variable

  • Debug & test behavior within Geo

  • Drive input variables

  • Watch (interactive) variable values

  • Test individual or all behaviors

  • View DOF extents & influence

  • State machine editor