Supplemental Materials
We have developed supplemental materials including sample repository mockups, CGA files, downloadable python scripts, and information on "choosing an infrastructure".
GitHub Repository
Most of the code for this project can be found on our Keeping Data Alive repository on GitHub.
You can also download a zip of the entire repository.
Repository Design Documentation
Front End
This page demonstrates a simple view of the Fedora front end.
Repository front end wireframes
Representations of what the front end repository view for a model and scene might look like.
Back End
Sample ingest form for a scene
A sample ingest form for a scene. This is not meant to be a real, working example, but a demonstration of the complexities such an ingest might present.
Instructions
How to gather files for ingest
Example file structure for ingest.
CGA Files
Eleven sample CGA files are provided to generate 3D procedural models of ancient Maya architecture. In the future, additional CGA files will be available. However, any CGA files (following modifications outlined in white paper can be used with the python scripts developed in this Tier I project.
The scripts are accessible below or via a zipped file.
(If download does not begin, right click and choose "Save As…")
- Base.cga
- BaseMolding.cga
- Building.cga
- CorniceMolding.cga
- MedialMolding.cga
- Molding.cga
- Platform.cga
- Roof.cga
- Stairs.cga
- Type1to4.cga
- Walls.cga
Python Scripts
We have developed four customized python scripts to automate and standardize export and import processes for 3D procedural models. The scripts are accessible on Github or via a downloadable zipped file.
This python script automates and standardizes the export of 3D procedural models, both objects and scenes from CityEngine, for import into the KDA repository (based on Fedora). The script can be modified to import 3D procedural models into other repositories or databases.
This python script supports calling up 3D models by identifying resources within a container based on the file extension at the end of the resource identifier.
This python script sets up the fedora repository to run on the web (via the bottle webserver) and then sets up the variables necessary to store and index 3D mesh, texture (image) and metadata (json) files, including a basic parent/child hierarchy.
This python script starts the bottle webserver and calls fedora.py to load in the repository. The web app may be run as a standalone program served at port 3000 (typically for local development), or via a WSGI-compatible web server such as via Apache + mod_wsgi.p>
Infrastructure
Information on challenges and reccomendations on choosing an infrastructure.