Structure of the python package¶
This help shows the setup of the source-code and informs where to add new components.
The source-code is outlined as follows:
Core elements¶
Core elements are independent of any user interaction or visualization.
Import using
from DAVE import *
scene.py ,
DAVE.scenemain unit. Contains all scene and all nodes. Communication with pyo3dconstants.py,
DAVE.constantspackage-wide settings. Including settings for input/output packagestools.py ,
DAVE.toolssmall helper functions for scene or constants/ resources , standard resources (.obj) and assets
GUI components¶
Everything for the QT-based graphical user interface.
Import using
from DAVE.gui import *
gui.py ,
DAVE.guicontains the main window and dialogselement_widgets.py ,
DAVE.element_widgetscontains the node-edit widgetsstandard_assets.py ,
DAVE.standard_assetsthis is the asset browservisuals.py
DAVE.visuals(shared with jupyter)/forms , produced gui code - auto-generated
../guis , .ui files (qt designer)
Jupyter components¶
Everything for the Jupyter-based user interface
Import using
from DAVE.jupyter import *
/jupyter
jupyer.py
DAVE.jupyterJupyter helper functions. Also contains the code for headless server config.reporting.py
DAVE.jupyterReporting nodesvisuals.py
DAVE.visuals(shared with gui)
Input/output¶
Import from and export to 3rd party packages
io/blender.py ,
DAVE.io.blenderblender outputconstants.py ,
DAVE.constantsconstants for blender
Adding additional input/output functionality¶
add main unit to /io subdir
add configuration to constants.py
add gui interfaces to gui.py
Adding additional solvers or optimizers¶
generic: add to scene.py –> use as s.solve_this()
typical: add as separate file. –> use as special_solver(s)