testing-framework / plugin_blender / __init__.py @ 1fdee286
History | View | Annotate | Download (4.554 KB)
| 1 |
bl_info = {
|
|---|---|
| 2 |
"author": "Jonas Diekmann", |
| 3 |
"name": "Marker Tracker Plugin", |
| 4 |
"description": "Tools for BA-Thesis", |
| 5 |
"warning": "", |
| 6 |
"version": (0, 11, 3), |
| 7 |
"blender": (2, 72, 0), |
| 8 |
"support": "TESTING", |
| 9 |
"category": "Add Mesh" |
| 10 |
} |
| 11 |
# Dies ist die Hauptdatei des Plugins
|
| 12 |
# Sie wird geladen, wenn das Plugin geladen wird.
|
| 13 |
# Normalerweise geschieht dies beim Start von Blender
|
| 14 |
# Es ist aber auch möglich diese datei direkt zu laden.
|
| 15 |
# Aufgabe dieser Datei ist es alle anderen teile des
|
| 16 |
# Plugins nachzuladen.
|
| 17 |
### Der untestehende Code (bis ###) basiert auf [3].
|
| 18 |
|
| 19 |
# Lädt die Dateien neu, wenn das Plugin aufgefrischt werden soll.
|
| 20 |
if "bpy" in locals(): |
| 21 |
import imp |
| 22 |
if "view" in locals(): |
| 23 |
imp.reload(view) |
| 24 |
else:
|
| 25 |
print("Datei view.py fehlt!");
|
| 26 |
if "adjust" in locals(): |
| 27 |
imp.reload(adjust) |
| 28 |
else:
|
| 29 |
print("Datei adjust.py fehlt!");
|
| 30 |
if "controller" in locals(): |
| 31 |
imp.reload(controller) |
| 32 |
else:
|
| 33 |
print("Datei controller.py fehlt!");
|
| 34 |
if "model" in locals(): |
| 35 |
imp.reload(model) |
| 36 |
else:
|
| 37 |
print("Datei model.py fehlt!");
|
| 38 |
if "switch_texture" in locals(): |
| 39 |
imp.reload(switch_texture) |
| 40 |
else:
|
| 41 |
print("Datei switch_texture.py fehlt!");
|
| 42 |
if "tools" in locals(): |
| 43 |
imp.reload(tools) |
| 44 |
else:
|
| 45 |
print("Datei tools.py fehlt!");
|
| 46 |
print("Pakete aufgefrischt")
|
| 47 |
else:
|
| 48 |
# Importiert die übrigen Module, wenn das Plugin (oder eigentlich bpy)
|
| 49 |
# noch nicht geladen war.
|
| 50 |
from .view import GraphischeOberflaeche |
| 51 |
from .adjust import KameraJustieren, FormatEinstellen, EinheitenEinstellen |
| 52 |
from .controller import PositionenAusgeben, MarkerHinzufuegen, MarkerRandomisieren #,EulerwinkelAusgeben |
| 53 |
from .model import Plugineigenschaften |
| 54 |
from .switch import WechsleBibliothek, WechsleZuBART, WechsleZuALVAR |
| 55 |
from .tools import Import1, Import2 |
| 56 |
print("Pakete importiert")
|
| 57 |
###
|
| 58 |
|
| 59 |
import bpy |
| 60 |
|
| 61 |
# Registriert alle Klassen des Plugins
|
| 62 |
def register(): |
| 63 |
bpy.utils.register_class(Plugineigenschaften) |
| 64 |
bpy.types.Scene.markerRender = bpy.props.PointerProperty(type=Plugineigenschaften) |
| 65 |
bpy.types.Object.marker_id = bpy.props.IntProperty(default=-1,min=-1) |
| 66 |
bpy.types.ImageTexture.library = bpy.props.StringProperty(name="library",default='BART',maxlen=100) |
| 67 |
bpy.types.ImageTexture.marker_id = bpy.props.IntProperty(default=-1,min=-1) |
| 68 |
bpy.utils.register_class(PositionenAusgeben) |
| 69 |
bpy.utils.register_class(MarkerHinzufuegen) |
| 70 |
#bpy.utils.register_class(EulerwinkelAusgeben)
|
| 71 |
bpy.utils.register_class(MarkerRandomisieren) |
| 72 |
bpy.utils.register_class(WechsleBibliothek) |
| 73 |
bpy.utils.register_class(WechsleZuBART) |
| 74 |
bpy.utils.register_class(WechsleZuALVAR) |
| 75 |
bpy.utils.register_class(EinheitenEinstellen) |
| 76 |
bpy.utils.register_class(KameraJustieren) |
| 77 |
bpy.utils.register_class(FormatEinstellen) |
| 78 |
bpy.utils.register_class(GraphischeOberflaeche) |
| 79 |
bpy.utils.register_class(Import1) |
| 80 |
bpy.utils.register_class(Import2) |
| 81 |
|
| 82 |
# Macht die Registrierung aller Klassen des Plugins rückgängig.
|
| 83 |
def unregister(): |
| 84 |
bpy.utils.unregister_class(Import2) |
| 85 |
bpy.utils.unregister_class(Import1) |
| 86 |
bpy.utils.unregister_class(GraphischeOberflaeche) |
| 87 |
bpy.utils.unregister_class(MarkerRandomisieren) |
| 88 |
bpy.utils.unregister_class(FormatEinstellen) |
| 89 |
bpy.utils.unregister_class(KameraJustieren) |
| 90 |
bpy.utils.unregister_class(EinheitenEinstellen) |
| 91 |
bpy.utils.unregister_class(WechsleZuALVAR) |
| 92 |
bpy.utils.unregister_class(WechsleZuBART) |
| 93 |
bpy.utils.unregister_class(WechsleBibliothek) |
| 94 |
#bpy.utils.unregister_class(EulerwinkelAusgeben)
|
| 95 |
bpy.utils.unregister_class(MarkerHinzufuegen) |
| 96 |
bpy.utils.unregister_class(PositionenAusgeben) |
| 97 |
bpy.utils.unregister_class(Plugineigenschaften) |
| 98 |
|
| 99 |
# Dies ist der Einsprungspunkt, falls das Skript über
|
| 100 |
# die entsprechende Schaltfläche in Blender ausgeführt wird.
|
| 101 |
if __name__ == "__main__": |
| 102 |
register() |
| 103 |
|
| 104 |
# Quellen:
|
| 105 |
# 0 API: http://www.blender.org/api/blender_python_api_2_72_release
|
| 106 |
# 1 PYTHON kurz & gut:
|
| 107 |
# 2 Quickstart: http://www.blender.org/api/blender_python_api_2_72_release/info_quickstart.html
|
| 108 |
# 3 Multi-file packages: http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Multi-File_packages
|
| 109 |
#
|
| 110 |
# Tipp: Der Tooltip der meisten Felder nennt den Pfad der Eigenschaft.
|
| 111 |
# Operatoren werden zudem im Infofenster protokolliert.
|
| 112 |
# Dadurch kann man manchmal die gewünschten Aktionen über die GUI durchführen und die Befehle kopieren. (vgl. auch http://www.blender.org/api/blender_python_api_2_72_release/info_api_reference.html#copy-data-path)
|
| 113 |
|