Revision | 5bc3c0ee06b5b610e390cf2319015b629d780a96 (tree) |
---|---|
Time | 2017-01-31 19:55:56 |
Author | Raffaele Bratta <r.bratta@vaev...> |
Commiter | Raffaele Bratta |
Add support to remove compositor node definitions.
@@ -176,6 +176,9 @@ | ||
176 | 176 | /// Returns a new node definition. The name must be unique, throws otherwise. |
177 | 177 | CompositorNodeDef* addNodeDefinition( const String &name ); |
178 | 178 | |
179 | + /// Removes the node definition with the given name. Throws if not found | |
180 | + void removeNodeDefinition( IdString nodeDefName ); | |
181 | + | |
179 | 182 | /// Returns the node definition with the given name. Throws if not found |
180 | 183 | const CompositorShadowNodeDef* getShadowNodeDefinition( IdString nodeDefName ) const; |
181 | 184 |
@@ -264,6 +264,22 @@ | ||
264 | 264 | return retVal; |
265 | 265 | } |
266 | 266 | //----------------------------------------------------------------------------------- |
267 | + void CompositorManager2::removeNodeDefinition( IdString nodeDefName ) | |
268 | + { | |
269 | + CompositorNodeDefMap::const_iterator itor = mNodeDefinitions.find( nodeDefName ); | |
270 | + if( itor != mNodeDefinitions.end() ) | |
271 | + { | |
272 | + OGRE_DELETE itor->second; | |
273 | + mNodeDefinitions.erase( itor ); | |
274 | + } | |
275 | + else | |
276 | + { | |
277 | + OGRE_EXCEPT( Exception::ERR_ITEM_NOT_FOUND, "Node definition with name '" + | |
278 | + nodeDefName.getFriendlyText() + "' not found", | |
279 | + "CompositorManager2::removeNodeDefinition" ); | |
280 | + } | |
281 | + } | |
282 | + //----------------------------------------------------------------------------------- | |
267 | 283 | const CompositorShadowNodeDef* CompositorManager2::getShadowNodeDefinition( |
268 | 284 | IdString nodeDefName ) const |
269 | 285 | { |