feat: progress on armature loading

This commit is contained in:
Swann Martinez
2019-11-04 15:31:13 +01:00
parent bd27da7aa6
commit 7e4d3e6d3f
5 changed files with 20 additions and 11 deletions

1
log.txt Normal file
View File

@ -0,0 +1 @@
{"area": null, "blend_data":

View File

@ -15,7 +15,7 @@ __all__ = [
'bl_action',
'bl_world',
'bl_metaball'
] # Order here defines execution order
]
from . import *
from ..libs.replication.replication.data import ReplicatedDataFactory

View File

@ -3,7 +3,7 @@ import mathutils
from ..libs.overrider import Overrider
from .. import utils
from .. import presence
from .. import presence, operators
from .bl_datablock import BlDatablock
# WIP
@ -43,15 +43,22 @@ class BlArmature(BlDatablock):
bpy.context.view_layer.objects.active = parent_object
# override = bpy.context.copy()
override = operators.ui_context
override['editable_objects'] =[bpy.data.objects['Armature']]
override['object'] =bpy.data.objects['Armature']
override['active_object'] = bpy.data.objects['Armature']
# override['']
# override['window'] = bpy.data.window_managers[0].windows[0]
# override['mode'] = 'EDIT_ARMATURE'
# # override['mode'] = 'EDIT_ARMATURE'
# override['window_manager'] = bpy.data.window_managers[0]
# override['area'] = area
# override['region'] = region
# override['region_data'] = rv3d
# override['screen'] = bpy.data.window_managers[0].windows[0].screen
bpy.ops.object.mode_set(mode='EDIT')
# bpy.ops.object.mode_set(override,mode='EDIT')
bpy.ops.object.editmode_toggle(override)
# override['mode'] = 'EDIT_ARMATURE'
for bone in data['bones']:
if bone not in self.pointer.edit_bones:
new_bone = self.pointer.edit_bones.new(bone)
@ -59,15 +66,16 @@ class BlArmature(BlDatablock):
new_bone = self.pointer.edit_bones[bone]
new_bone.tail = data['bones'][bone]['tail_local']
new_bone.head = data['bones'][bone]['head_local']
new_bone.head = data['bones'][bone]['head_local']
new_bone.tail_radius = data['bones'][bone]['tail_radius']
new_bone.head_radius = data['bones'][bone]['head_radius']
if 'parent' in data['bones'][bone]:
new_bone.parent = self.pointer.edit_bones[data['bones'][bone]['parent']['name']]
new_bone.use_connect = data['bones'][bone]['use_connect']
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.editmode_toggle(override)
print("toto")
# bpy_.mode = 'EDIT_ARMATURE'
# bpy_.active_object = armature

View File

@ -55,14 +55,14 @@ class SessionStartOperator(bpy.types.Operator):
return True
def execute(self, context):
global client, delayables
global client, delayables, ui_context
settings = context.window_manager.session
# save config
settings.save(context)
bpy_factory = ReplicatedDataFactory()
supported_bl_types = []
ui_context = context.copy()
# init the factory with supported types
for type in bl_types.types_to_register():
_type = getattr(bl_types, type)