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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/blender/object.cpp')
-rw-r--r--intern/cycles/blender/object.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/intern/cycles/blender/object.cpp b/intern/cycles/blender/object.cpp
index 698800f9957..0ad3e551b8d 100644
--- a/intern/cycles/blender/object.cpp
+++ b/intern/cycles/blender/object.cpp
@@ -62,15 +62,15 @@ bool BlenderSync::BKE_object_is_modified(BL::Object &b_ob)
return false;
}
-bool BlenderSync::object_is_geometry(BL::Object &b_ob)
+bool BlenderSync::object_is_geometry(BObjectInfo &b_ob_info)
{
- BL::ID b_ob_data = b_ob.data();
+ BL::ID b_ob_data = b_ob_info.object_data;
if (!b_ob_data) {
return false;
}
- BL::Object::type_enum type = b_ob.type();
+ BL::Object::type_enum type = b_ob_info.iter_object.type();
if (type == BL::Object::type_VOLUME || type == BL::Object::type_HAIR) {
/* Will be exported attached to mesh. */
@@ -87,6 +87,24 @@ bool BlenderSync::object_is_geometry(BL::Object &b_ob)
return b_ob_data.is_a(&RNA_Mesh);
}
+bool BlenderSync::object_can_have_geometry(BL::Object &b_ob)
+{
+ BL::Object::type_enum type = b_ob.type();
+ switch (type) {
+ case BL::Object::type_MESH:
+ case BL::Object::type_CURVE:
+ case BL::Object::type_SURFACE:
+ case BL::Object::type_META:
+ case BL::Object::type_FONT:
+ case BL::Object::type_HAIR:
+ case BL::Object::type_POINTCLOUD:
+ case BL::Object::type_VOLUME:
+ return true;
+ default:
+ return false;
+ }
+}
+
bool BlenderSync::object_is_light(BL::Object &b_ob)
{
BL::ID b_ob_data = b_ob.data();
@@ -189,7 +207,7 @@ Object *BlenderSync::sync_object(BL::Depsgraph &b_depsgraph,
}
/* only interested in object that we can create meshes from */
- if (!object_is_geometry(b_ob)) {
+ if (!object_is_geometry(b_ob_info)) {
return NULL;
}