Newer
Older
col.prop(self, 'downAngleV')
col.prop(self, 'attractUp')
CoDEmanX
committed
box.prop(self, 'useOldDownAngle')
box.prop(self, 'useParentAngle')
elif self.chooseSet == '4':
box.prop(self, 'prune')
box.prop(self, 'pruneRatio')
row = box.row()
row.prop(self, 'pruneWidth')
row.prop(self, 'pruneBase')
CoDEmanX
committed
row = box.row()
row.prop(self, 'prunePowerHigh')
row.prop(self, 'prunePowerLow')
elif self.chooseSet == '5':
box.prop(self, 'showLeaves')
box.prop(self, 'leafShape')
box.prop(self, 'leafDupliObj')
box.prop(self, 'leaves')
box.prop(self, 'leafDist')
CoDEmanX
committed
row = box.row()
row.prop(self, 'leafDownAngle')
row.prop(self, 'leafDownAngleV')
row = box.row()
row.prop(self, 'leafRotate')
row.prop(self, 'leafRotateV')
row = box.row()
row.prop(self, 'leafScale')
row.prop(self, 'leafScaleX')
CoDEmanX
committed
row = box.row()
row.prop(self, 'leafScaleT')
row.prop(self, 'leafScaleV')
box.prop(self, 'horzLeaves')
box.prop(self, 'leafangle')
CoDEmanX
committed
elif self.chooseSet == '6':
box = layout.box()
box.prop(self, 'makeMesh')
box.label(text="Armature Simplification:")
box.prop(self, 'armLevels')
box.prop(self, 'boneStep')
elif self.chooseSet == '7':
box = layout.box()
box.label(text="Finalize All Other Settings First!")
box.prop(self, 'armAnim')
box.prop(self, 'leafAnim')
box.prop(self, 'previewArm')
box.prop(self, 'frameRate')
box.prop(self, 'loopFrames')
# row = box.row()
# row.prop(self, 'windSpeed')
# row.prop(self, 'windGust')
CoDEmanX
committed
box.label(text='Wind Settings:')
row.prop(self, 'gust')
row.prop(self, 'gustF')
CoDEmanX
committed
box.label(text='Leaf Wind Settings:')
box.prop(self, 'af1')
box.prop(self, 'af2')
box.prop(self, 'af3')
def execute(self, context):
# Ensure the use of the global variables
global settings, useSet
start_time = time.time()
# If we need to set the properties from a preset then do it here
if useSet:
for a, b in settings.items():
setattr(self, a, b)
if self.limitImport:
setattr(self, 'levels', min(settings['levels'], 2))
setattr(self, 'showLeaves', False)
useSet = False
utils.addTree(self)
# cProfile.runctx("addTree(self)", globals(), locals())
print("Tree creation in %0.1fs" % (time.time() - start_time))
CoDEmanX
committed
bpy.ops.sapling.importdata(filename="callistemon.py")
self.layout.operator(AddTree.bl_idname, text="Sapling Tree Gen", icon='CURVE_DATA')
classes = (
AddTree,
PresetMenu,
ImportData,
ExportData,
)
from bpy.utils import register_class
for cls in classes:
register_class(cls)
Brecht Van Lommel
committed
bpy.types.VIEW3D_MT_curve_add.append(menu_func)
from bpy.utils import unregister_class
for cls in reversed(classes):
unregister_class(cls)
Brecht Van Lommel
committed
bpy.types.VIEW3D_MT_curve_add.remove(menu_func)