diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-08-25 23:51:44 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-10-11 11:18:59 +0300 |
commit | 552d15c97698ac4270c462385a9b111f6e8329c3 (patch) | |
tree | e411f497c311ee30d7cdb1215634c395b33c7c5c /intern/cycles | |
parent | 4782000fd5b2a1ae3041884f64ab192dbcb853c0 (diff) |
Cycles: Add utility function to remove given attribute
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/render/attribute.cpp | 10 | ||||
-rw-r--r-- | intern/cycles/render/attribute.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp index e157a385904..9dff18691cd 100644 --- a/intern/cycles/render/attribute.cpp +++ b/intern/cycles/render/attribute.cpp @@ -502,6 +502,16 @@ Attribute *AttributeSet::find(AttributeRequest& req) return find(req.std); } +void AttributeSet::remove(Attribute *attribute) +{ + if(attribute->std == ATTR_STD_NONE) { + remove(attribute->name); + } + else { + remove(attribute->std); + } +} + void AttributeSet::resize(bool reserve_only) { foreach(Attribute& attr, attributes) { diff --git a/intern/cycles/render/attribute.h b/intern/cycles/render/attribute.h index a64eb6542d5..d15ee401a72 100644 --- a/intern/cycles/render/attribute.h +++ b/intern/cycles/render/attribute.h @@ -120,6 +120,8 @@ public: Attribute *find(AttributeRequest& req); + void remove(Attribute *attribute); + void resize(bool reserve_only = false); void clear(); }; |