testing-framework / plugin_blender / __init__.py @ 98e1375e
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 |
|