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_action',
'bl_world', 'bl_world',
'bl_metaball' 'bl_metaball'
] # Order here defines execution order ]
from . import * from . import *
from ..libs.replication.replication.data import ReplicatedDataFactory from ..libs.replication.replication.data import ReplicatedDataFactory

View File

@ -3,7 +3,7 @@ import mathutils
from ..libs.overrider import Overrider from ..libs.overrider import Overrider
from .. import utils from .. import utils
from .. import presence from .. import presence, operators
from .bl_datablock import BlDatablock from .bl_datablock import BlDatablock
# WIP # WIP
@ -43,15 +43,22 @@ class BlArmature(BlDatablock):
bpy.context.view_layer.objects.active = parent_object 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['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['window_manager'] = bpy.data.window_managers[0]
# override['area'] = area # override['area'] = area
# override['region'] = region # override['region'] = region
# override['region_data'] = rv3d
# override['screen'] = bpy.data.window_managers[0].windows[0].screen # 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']: for bone in data['bones']:
if bone not in self.pointer.edit_bones: if bone not in self.pointer.edit_bones:
new_bone = self.pointer.edit_bones.new(bone) new_bone = self.pointer.edit_bones.new(bone)
@ -66,8 +73,9 @@ class BlArmature(BlDatablock):
if 'parent' in data['bones'][bone]: if 'parent' in data['bones'][bone]:
new_bone.parent = self.pointer.edit_bones[data['bones'][bone]['parent']['name']] new_bone.parent = self.pointer.edit_bones[data['bones'][bone]['parent']['name']]
new_bone.use_connect = data['bones'][bone]['use_connect'] 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_.mode = 'EDIT_ARMATURE'
# bpy_.active_object = armature # bpy_.active_object = armature

View File

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