Skip to content

Overview

IGGE edited this page Nov 11, 2020 · 1 revision

IGGE Overview

Scripts

GraphLoader.cs

This scripts loads a graph from a specified JSON file and sets up all of the game objects in Unity.

Bulk of the work is done in LoadJSON(). Currently, all Unity game objects are instanced in LoadJSON(), right after reading the entire JSON file into memory.

Contains most of the UI functions (loading graphs, setting color modes, etc). Function to generate LOD is called from here.

NodeData.cs

Contains the per-node metadata, attached to each node GameObject.

EdgeData.cs

Data per edge (color and head/tail node).

Settings.cs

General global settings. Currently handles toggling between the VR and non-VR camera.

ObjectPool.cs

Container class for handling object pools, moved out of its original spot in GraphLoader.cs

VR scripts

VRInput.cs

Handles all of the input from the VR device, can easily check the state of something in other scripts.

VRCameraControl.cs

Controls the VR Rig and the camera connected to it. Mainly controls for movement of the VR rig.

VRPhysics.cs

Handles everything related to GameObject manipulation in VR. Checks LOD visibility every physics frame.

lib folder

Contains external libraries brought in. Currently only the octree library.

PointOctree.cs

Contains the encapsulating data for the LOD octree. Any functions managing the octree should only use function in this file.

PointOctreeNode.cs

Defines for each octree node. These are added recursively to PointOctree.cs

BoundsOctree.cs/BoundsOctreeNode.cs

Unused.

Prefabs

node

Deprecated, used only if using original Unity MeshRenderer nodes.

node_shapes

Current implementation of a node, uses the Shapes library to render the node. Contains node data and a sphere collider.

edge

Deprecated, same as node.

edge_shapes

Edge implemented with the Shapes library, contains edge data.

Materials

All unused. Currently setting colors directly with Shapes properties.

Streaming Assets

Contains all of the local .json graphs. All other graphs are loaded from an external server.