Statistics
| Branch: | Revision:

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