# DNAViewer
The [`dna_viewer`](/dna_viewer) contains all the needed classes for reading and creating a functional rig in Maya from the DNA file.
It is organized in a way that allows every option to be configurable, so you can easily get the exact result you want.
## Examples
- [Generates rig](/examples/dna_viewer_build_rig.py)
- [Export FBX per LOD](/examples/dna_viewer_export_fbx.py)
- [Propagate changes from Maya scene to dna](/examples/dna_viewer_grab_changes_from_scene_and_propagate_to_dna.py)
- [Simple UI](/examples/dna_viewer_run_in_maya.py)
## Usage from code
There are two [APIs](dna_viewer_api.md):
- [build_meshes](dna_viewer_api_build_meshes.md)
- [build_rig](dna_viewer_api_build_rig.md)
## Usage in Maya
Usage in Maya is explained [here](/docs/dna_viewer_maya.md)
## Folder structure
- [builder](/dna_viewer/builder) - Contains the builder classes, which are used for easily adding configuration options
and building the scene, configurations, meshes, etc..
- [dnalib](/dna_viewer/dnalib) - Contains classes for nicer API accessing DNA file.
- [ui](/dna_viewer/ui) - Contains the classes needed for the Maya UI.
## How it works
The general flow is the following:

The flow of the scene building process is the following:

The flow of the rig building process is the following:

Legend:
- blue: builder-related.
- green: config-related.
- brown: model-related.
- purple: reader-related.