Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2015-02-17 17:06:05 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2015-02-17 17:06:05 +0300
commit17a28df49c35da5670c2964f29f0768d650a1d0a (patch)
tree9413382ce0bcb60cee311d006ad07505e0ad45e5 /io_scene_fbx/fbx_utils.py
parent2f5c0c99b586fd3b5dae3d91de0985acded37026 (diff)
Fix T43707: FBX 7.4 Binary Exporter replaces all meshes with the same name when working with linked libraries.
Now take libname (lib namespace) into account when generating ID's name or key...
Diffstat (limited to 'io_scene_fbx/fbx_utils.py')
-rw-r--r--io_scene_fbx/fbx_utils.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/io_scene_fbx/fbx_utils.py b/io_scene_fbx/fbx_utils.py
index fffcc098..01a5520e 100644
--- a/io_scene_fbx/fbx_utils.py
+++ b/io_scene_fbx/fbx_utils.py
@@ -284,18 +284,24 @@ def get_key_from_fbx_uuid(uuid):
# Blender-specific key generators
+def get_bid_name(bid):
+ if bid.library is not None:
+ return "_L_".join((bid.name, bid.library.name))
+ return bid.name
+
+
def get_blenderID_key(bid):
if isinstance(bid, Iterable):
- return "|".join("B" + e.rna_type.name + "#" + e.name for e in bid)
+ return "|".join("B" + e.rna_type.name + "#" + get_bid_name(e) for e in bid)
else:
- return "B" + bid.rna_type.name + "#" + bid.name
+ return "B" + bid.rna_type.name + "#" + get_bid_name(bid)
def get_blenderID_name(bid):
if isinstance(bid, Iterable):
- return "|".join(e.name for e in bid)
+ return "|".join(get_bid_name(e) for e in bid)
else:
- return bid.name
+ return get_bid_name(bid)
def get_blender_empty_key(obj):