feat: gpencil material loading progress

This commit is contained in:
Swann Martinez
2019-07-11 18:03:00 +02:00
parent 60174fbb16
commit e0a08ac4f8
4 changed files with 36 additions and 6 deletions
+2
View File
@@ -208,6 +208,8 @@ classes = (
def load_handler(dummy):
import bpy
bpy.context.window_manager.session.load()
# Generate ordered replicate types
save_session_config(bpy.context.window_manager.session,bpy.context)
+11
View File
@@ -70,6 +70,17 @@ def load_config():
return DEFAULT_CONFIG
def get_replicated_types():
config = load_config()
rtpyes = config["replicated_types"]
tlist = []
for t in ORDERED_TYPES:
if rtpyes[t]:
tlist.append(t)
return tlist
def genereate_replicated_types(replicated_types):
rtypes.clear()
+22 -5
View File
@@ -67,6 +67,18 @@ def get_selected_objects(scene):
# LOAD HELPERS
def load_dict(src_dict, target):
try:
for item in src_dict:
# attr =
setattr(target,item,src_dict[item])
except Exception as e:
logger.error(e)
pass
def load(key, value):
target = resolve_bpy_path(key)
target_type = key.split('/')[0]
@@ -465,11 +477,10 @@ def load_material(target=None, data=None, create=False):
dump_anything.load(target.grease_pencil, data['grease_pencil'])
# Load other meshes metadata
dump_anything.load(target, data)
load_dict(data['grease_pencil'], target.grease_pencil)
# load nodes
if data["use_nodes"]:
elif data["use_nodes"]:
if target.node_tree is None:
target.use_nodes = True
@@ -478,7 +489,6 @@ def load_material(target=None, data=None, create=False):
for node in data["node_tree"]["nodes"]:
# fix None node tree error
index = target.node_tree.nodes.find(node)
@@ -515,6 +525,11 @@ def load_material(target=None, data=None, create=False):
target.node_tree.links.new(input_socket, output_socket)
# Load other meshes metadata
# dump_anything.load(target, data)
target.id = data['id']
except Exception as e:
@@ -616,6 +631,8 @@ def dump(key):
data = dump_datablock(target, 2)
if target.node_tree:
dump_datablock_attibute(target.node_tree, ["nodes","links"] , 5, data['node_tree'])
elif target.grease_pencil:
dump_datablock_attibute(target, ["grease_pencil"] , 3, data)
elif target_type == 'GreasePencil':
data = dump_datablock(target, 2)
dump_datablock_attibute(
+1 -1
View File
@@ -41,7 +41,7 @@ def execute_queued_functions():
return .1
def clean_scene(elements=environment.rtypes):
def clean_scene(elements=environment.get_replicated_types()):
for datablock in elements:
datablock_ref = getattr(bpy.data, helpers.BPY_TYPES[datablock])
for item in datablock_ref: