refactor: imports
This commit is contained in:
@ -24,7 +24,7 @@ from enum import Enum
|
|||||||
|
|
||||||
from .. import utils
|
from .. import utils
|
||||||
from ..libs.dump_anything import (
|
from ..libs.dump_anything import (
|
||||||
Dumper, Loader, np_dump_collection, np_load_collection)
|
Dumper, Loader, np_dump_collection, np_load_collection, remove_items_from_dict)
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -41,8 +41,6 @@ KEYFRAME = [
|
|||||||
'interpolation',
|
'interpolation',
|
||||||
]
|
]
|
||||||
|
|
||||||
# TODO: Automatic enum and numpy dump and loading
|
|
||||||
|
|
||||||
|
|
||||||
def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy:bool =True) -> dict:
|
def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy:bool =True) -> dict:
|
||||||
""" Dump a sigle curve to a dict
|
""" Dump a sigle curve to a dict
|
||||||
@ -65,7 +63,7 @@ def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy:bool =True) -> dict:
|
|||||||
fcurve_data['keyframe_points'] = np_dump_collection(points, KEYFRAME)
|
fcurve_data['keyframe_points'] = np_dump_collection(points, KEYFRAME)
|
||||||
|
|
||||||
else: # Legacy method
|
else: # Legacy method
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
fcurve_data["keyframe_points"] = []
|
fcurve_data["keyframe_points"] = []
|
||||||
|
|
||||||
for k in fcurve.keyframe_points:
|
for k in fcurve.keyframe_points:
|
||||||
@ -109,12 +107,13 @@ def load_fcurve(fcurve_data, fcurve):
|
|||||||
)
|
)
|
||||||
|
|
||||||
keycache = copy.copy(dumped_keyframe_point)
|
keycache = copy.copy(dumped_keyframe_point)
|
||||||
keycache = utils.dump_anything.remove_items_from_dict(
|
keycache = remove_items_from_dict(
|
||||||
keycache,
|
keycache,
|
||||||
["co", "handle_left", "handle_right", 'type']
|
["co", "handle_left", "handle_right", 'type']
|
||||||
)
|
)
|
||||||
|
|
||||||
utils.dump_anything.load(new_kf, keycache)
|
loader = Loader()
|
||||||
|
loader.load(new_kf, keycache)
|
||||||
|
|
||||||
new_kf.type = dumped_keyframe_point['type']
|
new_kf.type = dumped_keyframe_point['type']
|
||||||
new_kf.handle_left = [
|
new_kf.handle_left = [
|
||||||
@ -157,7 +156,7 @@ class BlAction(BlDatablock):
|
|||||||
|
|
||||||
def _dump(self, pointer=None):
|
def _dump(self, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.exclude_filter = [
|
dumper.exclude_filter = [
|
||||||
'name_full',
|
'name_full',
|
||||||
'original',
|
'original',
|
||||||
|
@ -19,8 +19,9 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
|
||||||
from .. import presence, operators
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
|
from .. import presence, operators, utils
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -97,7 +98,8 @@ class BlArmature(BlDatablock):
|
|||||||
[bone]['parent']]
|
[bone]['parent']]
|
||||||
new_bone.use_connect = bone_data['use_connect']
|
new_bone.use_connect = bone_data['use_connect']
|
||||||
|
|
||||||
utils.dump_anything.load(new_bone, bone_data)
|
loader = Loader()
|
||||||
|
loader.load(new_bone, bone_data)
|
||||||
|
|
||||||
if bpy.context.mode != 'OBJECT':
|
if bpy.context.mode != 'OBJECT':
|
||||||
bpy.ops.object.mode_set(mode='OBJECT')
|
bpy.ops.object.mode_set(mode='OBJECT')
|
||||||
@ -110,7 +112,7 @@ class BlArmature(BlDatablock):
|
|||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
|
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 4
|
dumper.depth = 4
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
'bones',
|
'bones',
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -36,20 +36,21 @@ class BlCamera(BlDatablock):
|
|||||||
|
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
dof_settings = data.get('dof')
|
dof_settings = data.get('dof')
|
||||||
|
|
||||||
# DOF settings
|
# DOF settings
|
||||||
if dof_settings:
|
if dof_settings:
|
||||||
utils.dump_anything.load(target.dof, dof_settings)
|
loader.load(target.dof, dof_settings)
|
||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
|
|
||||||
# TODO: background image support
|
# TODO: background image support
|
||||||
|
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 2
|
dumper.depth = 2
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"name",
|
"name",
|
||||||
|
@ -48,7 +48,6 @@ class BlCollection(BlDatablock):
|
|||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
# Load other meshes metadata
|
# Load other meshes metadata
|
||||||
# dump_anything.load(target, data)
|
|
||||||
target.name = data["name"]
|
target.name = data["name"]
|
||||||
|
|
||||||
# link objects
|
# link objects
|
||||||
|
@ -20,9 +20,9 @@ import bpy
|
|||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from .. import utils
|
||||||
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from ..libs.replication.replication.data import ReplicatedDatablock
|
from ..libs.replication.replication.data import ReplicatedDatablock
|
||||||
from ..libs.replication.replication.constants import (UP, DIFF_BINARY)
|
from ..libs.replication.replication.constants import (UP, DIFF_BINARY)
|
||||||
from ..libs import dump_anything
|
|
||||||
|
|
||||||
|
|
||||||
def has_action(target):
|
def has_action(target):
|
||||||
@ -42,7 +42,7 @@ def has_driver(target):
|
|||||||
|
|
||||||
|
|
||||||
def dump_driver(driver):
|
def dump_driver(driver):
|
||||||
dumper = dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 6
|
dumper.depth = 6
|
||||||
data = dumper.dump(driver)
|
data = dumper.dump(driver)
|
||||||
|
|
||||||
@ -50,6 +50,7 @@ def dump_driver(driver):
|
|||||||
|
|
||||||
|
|
||||||
def load_driver(target_datablock, src_driver):
|
def load_driver(target_datablock, src_driver):
|
||||||
|
loader = Loader()
|
||||||
drivers = target_datablock.animation_data.drivers
|
drivers = target_datablock.animation_data.drivers
|
||||||
src_driver_data = src_driver['driver']
|
src_driver_data = src_driver['driver']
|
||||||
new_driver = drivers.new(src_driver['data_path'])
|
new_driver = drivers.new(src_driver['data_path'])
|
||||||
@ -57,7 +58,7 @@ def load_driver(target_datablock, src_driver):
|
|||||||
# Settings
|
# Settings
|
||||||
new_driver.driver.type = src_driver_data['type']
|
new_driver.driver.type = src_driver_data['type']
|
||||||
new_driver.driver.expression = src_driver_data['expression']
|
new_driver.driver.expression = src_driver_data['expression']
|
||||||
dump_anything.load(new_driver, src_driver)
|
loader.load(new_driver, src_driver)
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
for src_variable in src_driver_data['variables']:
|
for src_variable in src_driver_data['variables']:
|
||||||
@ -70,7 +71,7 @@ def load_driver(target_datablock, src_driver):
|
|||||||
src_target_data = src_var_data['targets'][src_target]
|
src_target_data = src_var_data['targets'][src_target]
|
||||||
new_var.targets[src_target].id = utils.resolve_from_id(
|
new_var.targets[src_target].id = utils.resolve_from_id(
|
||||||
src_target_data['id'], src_target_data['id_type'])
|
src_target_data['id'], src_target_data['id_type'])
|
||||||
dump_anything.load(
|
loader.load(
|
||||||
new_var.targets[src_target], src_target_data)
|
new_var.targets[src_target], src_target_data)
|
||||||
|
|
||||||
# Fcurve
|
# Fcurve
|
||||||
@ -82,8 +83,7 @@ def load_driver(target_datablock, src_driver):
|
|||||||
|
|
||||||
for index, src_point in enumerate(src_driver['keyframe_points']):
|
for index, src_point in enumerate(src_driver['keyframe_points']):
|
||||||
new_point = new_fcurve[index]
|
new_point = new_fcurve[index]
|
||||||
dump_anything.load(
|
loader.load(new_point, src_driver['keyframe_points'][src_point])
|
||||||
new_point, src_driver['keyframe_points'][src_point])
|
|
||||||
|
|
||||||
|
|
||||||
class BlDatablock(ReplicatedDatablock):
|
class BlDatablock(ReplicatedDatablock):
|
||||||
@ -127,10 +127,11 @@ class BlDatablock(ReplicatedDatablock):
|
|||||||
self.pointer = datablock_ref
|
self.pointer = datablock_ref
|
||||||
|
|
||||||
def _dump(self, pointer=None):
|
def _dump(self, pointer=None):
|
||||||
|
dumper = Dumper()
|
||||||
data = {}
|
data = {}
|
||||||
# Dump animation data
|
# Dump animation data
|
||||||
if has_action(pointer):
|
if has_action(pointer):
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.include_filter = ['action']
|
dumper.include_filter = ['action']
|
||||||
data['animation_data'] = dumper.dump(pointer.animation_data)
|
data['animation_data'] = dumper.dump(pointer.animation_data)
|
||||||
|
|
||||||
@ -143,7 +144,7 @@ class BlDatablock(ReplicatedDatablock):
|
|||||||
data.update(dumped_drivers)
|
data.update(dumped_drivers)
|
||||||
|
|
||||||
if self.is_library:
|
if self.is_library:
|
||||||
data.update(dump_anything.dump(pointer))
|
data.update(dumper.dump(pointer))
|
||||||
else:
|
else:
|
||||||
data.update(self._dump_implementation(data, pointer=pointer))
|
data.update(self._dump_implementation(data, pointer=pointer))
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ import mathutils
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from .. import utils
|
from .. import utils
|
||||||
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
def dump_image(image):
|
def dump_image(image):
|
||||||
@ -83,7 +84,7 @@ class BlImage(BlDatablock):
|
|||||||
assert(pointer)
|
assert(pointer)
|
||||||
data = {}
|
data = {}
|
||||||
data['pixels'] = dump_image(pointer)
|
data['pixels'] = dump_image(pointer)
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 2
|
dumper.depth = 2
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"name",
|
"name",
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from ..libs import dump_anything
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -40,6 +40,7 @@ class BlLibrary(BlDatablock):
|
|||||||
|
|
||||||
def dump(self, pointer=None):
|
def dump(self, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
return dump_anything.dump(pointer, 1)
|
dumper = Dumper()
|
||||||
|
return dumper.dump(pointer, 1)
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -35,11 +35,12 @@ class BlLight(BlDatablock):
|
|||||||
return bpy.data.lights.new(data["name"], data["type"])
|
return bpy.data.lights.new(data["name"], data["type"])
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 3
|
dumper.depth = 3
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"name",
|
"name",
|
||||||
|
@ -20,7 +20,7 @@ import bpy
|
|||||||
import mathutils
|
import mathutils
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -42,14 +42,15 @@ class BlLightprobe(BlDatablock):
|
|||||||
logger.warning("Lightprobe replication only supported since 2.83. See https://developer.blender.org/D6396")
|
logger.warning("Lightprobe replication only supported since 2.83. See https://developer.blender.org/D6396")
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
if bpy.app.version[1] < 83:
|
if bpy.app.version[1] < 83:
|
||||||
logger.warning("Lightprobe replication only supported since 2.83. See https://developer.blender.org/D6396")
|
logger.warning("Lightprobe replication only supported since 2.83. See https://developer.blender.org/D6396")
|
||||||
|
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 1
|
dumper.depth = 1
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"name",
|
"name",
|
||||||
|
@ -21,7 +21,7 @@ import mathutils
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from .. import utils
|
from .. import utils
|
||||||
from ..libs import dump_anything
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -34,9 +34,10 @@ def load_node(node_data, node_tree):
|
|||||||
:arg node_tree: target node_tree
|
:arg node_tree: target node_tree
|
||||||
:type node_tree: bpy.types.NodeTree
|
:type node_tree: bpy.types.NodeTree
|
||||||
"""
|
"""
|
||||||
|
loader = Loader()
|
||||||
target_node = node_tree.nodes.new(type=node_data["bl_idname"])
|
target_node = node_tree.nodes.new(type=node_data["bl_idname"])
|
||||||
|
|
||||||
dump_anything.load(target_node, node_data)
|
loader.load(target_node, node_data)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -93,7 +94,7 @@ def dump_node(node):
|
|||||||
:retrun: dict
|
:retrun: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
node_dumper = dump_anything.Dumper()
|
node_dumper = Dumper()
|
||||||
node_dumper.depth = 1
|
node_dumper.depth = 1
|
||||||
node_dumper.exclude_filter = [
|
node_dumper.exclude_filter = [
|
||||||
"dimensions",
|
"dimensions",
|
||||||
@ -125,7 +126,7 @@ def dump_node(node):
|
|||||||
dumped_node['inputs'] = {}
|
dumped_node['inputs'] = {}
|
||||||
|
|
||||||
for i in node.inputs:
|
for i in node.inputs:
|
||||||
input_dumper = dump_anything.Dumper()
|
input_dumper = Dumper()
|
||||||
input_dumper.depth = 2
|
input_dumper.depth = 2
|
||||||
input_dumper.include_filter = ["default_value"]
|
input_dumper.include_filter = ["default_value"]
|
||||||
|
|
||||||
@ -133,7 +134,7 @@ def dump_node(node):
|
|||||||
dumped_node['inputs'][i.name] = input_dumper.dump(
|
dumped_node['inputs'][i.name] = input_dumper.dump(
|
||||||
i)
|
i)
|
||||||
if hasattr(node, 'color_ramp'):
|
if hasattr(node, 'color_ramp'):
|
||||||
ramp_dumper = dump_anything.Dumper()
|
ramp_dumper = Dumper()
|
||||||
ramp_dumper.depth = 4
|
ramp_dumper.depth = 4
|
||||||
ramp_dumper.include_filter = [
|
ramp_dumper.include_filter = [
|
||||||
'elements',
|
'elements',
|
||||||
@ -143,7 +144,7 @@ def dump_node(node):
|
|||||||
]
|
]
|
||||||
dumped_node['color_ramp'] = ramp_dumper.dump(node.color_ramp)
|
dumped_node['color_ramp'] = ramp_dumper.dump(node.color_ramp)
|
||||||
if hasattr(node, 'mapping'):
|
if hasattr(node, 'mapping'):
|
||||||
curve_dumper = dump_anything.Dumper()
|
curve_dumper = Dumper()
|
||||||
curve_dumper.depth = 5
|
curve_dumper.depth = 5
|
||||||
curve_dumper.include_filter = [
|
curve_dumper.include_filter = [
|
||||||
'curves',
|
'curves',
|
||||||
@ -167,12 +168,13 @@ class BlMaterial(BlDatablock):
|
|||||||
return bpy.data.materials.new(data["name"])
|
return bpy.data.materials.new(data["name"])
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
|
loader = Loader()
|
||||||
target.name = data['name']
|
target.name = data['name']
|
||||||
if data['is_grease_pencil']:
|
if data['is_grease_pencil']:
|
||||||
if not target.is_grease_pencil:
|
if not target.is_grease_pencil:
|
||||||
bpy.data.materials.create_gpencil_data(target)
|
bpy.data.materials.create_gpencil_data(target)
|
||||||
|
|
||||||
dump_anything.load(
|
loader.load(
|
||||||
target.grease_pencil, data['grease_pencil'])
|
target.grease_pencil, data['grease_pencil'])
|
||||||
|
|
||||||
|
|
||||||
@ -182,7 +184,7 @@ class BlMaterial(BlDatablock):
|
|||||||
|
|
||||||
target.node_tree.nodes.clear()
|
target.node_tree.nodes.clear()
|
||||||
|
|
||||||
dump_anything.load(target,data)
|
loader.load(target,data)
|
||||||
|
|
||||||
# Load nodes
|
# Load nodes
|
||||||
for node in data["node_tree"]["nodes"]:
|
for node in data["node_tree"]["nodes"]:
|
||||||
@ -195,7 +197,7 @@ class BlMaterial(BlDatablock):
|
|||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
mat_dumper = dump_anything.Dumper()
|
mat_dumper = Dumper()
|
||||||
mat_dumper.depth = 2
|
mat_dumper.depth = 2
|
||||||
mat_dumper.exclude_filter = [
|
mat_dumper.exclude_filter = [
|
||||||
"is_embed_data",
|
"is_embed_data",
|
||||||
@ -223,7 +225,7 @@ class BlMaterial(BlDatablock):
|
|||||||
|
|
||||||
data["node_tree"]["links"] = dump_links(pointer.node_tree.links)
|
data["node_tree"]["links"] = dump_links(pointer.node_tree.links)
|
||||||
elif pointer.is_grease_pencil:
|
elif pointer.is_grease_pencil:
|
||||||
gp_mat_dumper = dump_anything.Dumper()
|
gp_mat_dumper = Dumper()
|
||||||
gp_mat_dumper.depth = 3
|
gp_mat_dumper.depth = 3
|
||||||
|
|
||||||
gp_mat_dumper.include_filter = [
|
gp_mat_dumper.include_filter = [
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
|
||||||
from ..libs.dump_anything import (
|
from ..libs.dump_anything import (
|
||||||
Dumper, Loader, np_dump_collection_primitive, np_load_collection_primitives,
|
Dumper, Loader, np_dump_collection_primitive, np_load_collection_primitives,
|
||||||
np_dump_collection, np_load_collection)
|
np_dump_collection, np_load_collection)
|
||||||
@ -75,7 +74,8 @@ class BlMetaball(BlDatablock):
|
|||||||
return bpy.data.metaballs.new(data["name"])
|
return bpy.data.metaballs.new(data["name"])
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
target.elements.clear()
|
target.elements.clear()
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ class BlMetaball(BlDatablock):
|
|||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 1
|
dumper.depth = 1
|
||||||
dumper.exclude_filter = [
|
dumper.exclude_filter = [
|
||||||
"is_editmode",
|
"is_editmode",
|
||||||
|
@ -20,7 +20,7 @@ import bpy
|
|||||||
import mathutils
|
import mathutils
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -28,8 +28,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
def load_pose(target_bone, data):
|
def load_pose(target_bone, data):
|
||||||
target_bone.rotation_mode = data['rotation_mode']
|
target_bone.rotation_mode = data['rotation_mode']
|
||||||
|
loader = Loader()
|
||||||
utils.dump_anything.load(target_bone, data)
|
loader.load(target_bone, data)
|
||||||
|
|
||||||
|
|
||||||
class BlObject(BlDatablock):
|
class BlObject(BlDatablock):
|
||||||
@ -89,7 +89,8 @@ class BlObject(BlDatablock):
|
|||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
# Load transformation data
|
# Load transformation data
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
# Pose
|
# Pose
|
||||||
if 'pose' in data:
|
if 'pose' in data:
|
||||||
@ -103,7 +104,7 @@ class BlObject(BlDatablock):
|
|||||||
if not bg_target:
|
if not bg_target:
|
||||||
bg_target = target.pose.bone_groups.new(name=bg_name)
|
bg_target = target.pose.bone_groups.new(name=bg_name)
|
||||||
|
|
||||||
utils.dump_anything.load(bg_target, bg_data)
|
loader.load(bg_target, bg_data)
|
||||||
# target.pose.bone_groups.get
|
# target.pose.bone_groups.get
|
||||||
|
|
||||||
# Bones
|
# Bones
|
||||||
@ -112,7 +113,7 @@ class BlObject(BlDatablock):
|
|||||||
bone_data = data['pose']['bones'].get(bone)
|
bone_data = data['pose']['bones'].get(bone)
|
||||||
|
|
||||||
if 'constraints' in bone_data.keys():
|
if 'constraints' in bone_data.keys():
|
||||||
utils.dump_anything.load(target_bone, bone_data['constraints'])
|
loader.load(target_bone, bone_data['constraints'])
|
||||||
|
|
||||||
|
|
||||||
load_pose(target_bone, bone_data)
|
load_pose(target_bone, bone_data)
|
||||||
@ -140,7 +141,7 @@ class BlObject(BlDatablock):
|
|||||||
key_data = data['shape_keys']['key_blocks'][key_block]
|
key_data = data['shape_keys']['key_blocks'][key_block]
|
||||||
target.shape_key_add(name=key_block)
|
target.shape_key_add(name=key_block)
|
||||||
|
|
||||||
utils.dump_anything.load(
|
loader.load(
|
||||||
target.data.shape_keys.key_blocks[key_block], key_data)
|
target.data.shape_keys.key_blocks[key_block], key_data)
|
||||||
for vert in key_data['data']:
|
for vert in key_data['data']:
|
||||||
target.data.shape_keys.key_blocks[key_block].data[vert].co = key_data['data'][vert]['co']
|
target.data.shape_keys.key_blocks[key_block].data[vert].co = key_data['data'][vert]['co']
|
||||||
@ -153,7 +154,7 @@ class BlObject(BlDatablock):
|
|||||||
|
|
||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 1
|
dumper.depth = 1
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"name",
|
"name",
|
||||||
@ -263,7 +264,7 @@ class BlObject(BlDatablock):
|
|||||||
# SHAPE KEYS
|
# SHAPE KEYS
|
||||||
object_data = pointer.data
|
object_data = pointer.data
|
||||||
if hasattr(object_data, 'shape_keys') and object_data.shape_keys:
|
if hasattr(object_data, 'shape_keys') and object_data.shape_keys:
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 2
|
dumper.depth = 2
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
'reference_key',
|
'reference_key',
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
class BlScene(BlDatablock):
|
class BlScene(BlDatablock):
|
||||||
@ -38,7 +38,8 @@ class BlScene(BlDatablock):
|
|||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
target = self.pointer
|
target = self.pointer
|
||||||
# Load other meshes metadata
|
# Load other meshes metadata
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
# Load master collection
|
# Load master collection
|
||||||
for object in data["collection"]["objects"]:
|
for object in data["collection"]["objects"]:
|
||||||
@ -71,7 +72,7 @@ class BlScene(BlDatablock):
|
|||||||
assert(pointer)
|
assert(pointer)
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
scene_dumper = utils.dump_anything.Dumper()
|
scene_dumper = Dumper()
|
||||||
scene_dumper.depth = 1
|
scene_dumper.depth = 1
|
||||||
scene_dumper.include_filter = [
|
scene_dumper.include_filter = [
|
||||||
'name',
|
'name',
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
|
|
||||||
|
|
||||||
@ -32,7 +32,8 @@ class BlSpeaker(BlDatablock):
|
|||||||
bl_icon = 'SPEAKER'
|
bl_icon = 'SPEAKER'
|
||||||
|
|
||||||
def _load_implementation(self, data, target):
|
def _load_implementation(self, data, target):
|
||||||
utils.dump_anything.load(target, data)
|
loader = Loader()
|
||||||
|
loader.load(target, data)
|
||||||
|
|
||||||
def _construct(self, data):
|
def _construct(self, data):
|
||||||
return bpy.data.speakers.new(data["name"])
|
return bpy.data.speakers.new(data["name"])
|
||||||
@ -40,7 +41,7 @@ class BlSpeaker(BlDatablock):
|
|||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
|
|
||||||
dumper = utils.dump_anything.Dumper()
|
dumper = Dumper()
|
||||||
dumper.depth = 1
|
dumper.depth = 1
|
||||||
dumper.include_filter = [
|
dumper.include_filter = [
|
||||||
"muted",
|
"muted",
|
||||||
|
@ -19,9 +19,9 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from .. import utils
|
from ..libs.dump_anything import Loader, Dumper
|
||||||
from .bl_datablock import BlDatablock
|
from .bl_datablock import BlDatablock
|
||||||
from .bl_material import load_links, load_node,dump_node, dump_links
|
from .bl_material import load_links, load_node, dump_node, dump_links
|
||||||
|
|
||||||
|
|
||||||
class BlWorld(BlDatablock):
|
class BlWorld(BlDatablock):
|
||||||
@ -54,7 +54,7 @@ class BlWorld(BlDatablock):
|
|||||||
def _dump_implementation(self, data, pointer=None):
|
def _dump_implementation(self, data, pointer=None):
|
||||||
assert(pointer)
|
assert(pointer)
|
||||||
|
|
||||||
world_dumper = utils.dump_anything.Dumper()
|
world_dumper = Dumper()
|
||||||
world_dumper.depth = 2
|
world_dumper.depth = 2
|
||||||
world_dumper.exclude_filter = [
|
world_dumper.exclude_filter = [
|
||||||
"preview",
|
"preview",
|
||||||
|
@ -135,10 +135,8 @@ def get_bb_coords_from_obj(object, parent=None):
|
|||||||
def get_view_matrix():
|
def get_view_matrix():
|
||||||
area, region, rv3d = view3d_find()
|
area, region, rv3d = view3d_find()
|
||||||
|
|
||||||
if area and region and rv3d:
|
if area and region and rv3d:
|
||||||
matrix_dumper = utils.dump_anything.Dumper()
|
return [list(v) for v in rv3d.view_matrix]
|
||||||
|
|
||||||
return matrix_dumper.dump(rv3d.view_matrix)
|
|
||||||
|
|
||||||
def update_presence(self, context):
|
def update_presence(self, context):
|
||||||
global renderer
|
global renderer
|
||||||
|
@ -28,7 +28,6 @@ import bpy
|
|||||||
import mathutils
|
import mathutils
|
||||||
|
|
||||||
from . import environment, presence
|
from . import environment, presence
|
||||||
from .libs import dump_anything
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
logger.setLevel(logging.WARNING)
|
logger.setLevel(logging.WARNING)
|
||||||
|
Reference in New Issue
Block a user