diff options
author | Maxime Curioni <maxime.curioni@gmail.com> | 2008-08-02 01:55:58 +0400 |
---|---|---|
committer | Maxime Curioni <maxime.curioni@gmail.com> | 2008-08-02 01:55:58 +0400 |
commit | 7565990db264dbb7771744cea0a1c87b3e11fc3f (patch) | |
tree | db4795f8c46b8cde474112e775708f57a13ccf9e /source/blender/freestyle/intern/stroke | |
parent | c324f0cbc72b47182ba3d7fd1bbd280fcebe3283 (diff) |
soc-2008-mxcurioni: made considerable changes to support cross-language polymorphism for UnaryFunction0D, Interface0D, Interface1D. Add to change UnaryFunction1D<void> to static UnaryFunction1D_void. Resolved namespace collision on the Image class (changed to FrsImage). There is greater support for style modules but somehow, some do not show anything yet (japanese_bigbrush being an example).
Diffstat (limited to 'source/blender/freestyle/intern/stroke')
4 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/freestyle/intern/stroke/Operators.cpp b/source/blender/freestyle/intern/stroke/Operators.cpp index fe1ac27b04e..39914cbef1a 100755 --- a/source/blender/freestyle/intern/stroke/Operators.cpp +++ b/source/blender/freestyle/intern/stroke/Operators.cpp @@ -65,7 +65,7 @@ void Operators::select(UnaryPredicate1D& pred) { void Operators::chain(ViewEdgeInternal::ViewEdgeIterator& it, UnaryPredicate1D& pred, - UnaryFunction1D<void>& modifier) { + UnaryFunction1D_void& modifier) { if (_current_view_edges_set.empty()) return; @@ -137,7 +137,7 @@ void Operators::chain(ViewEdgeInternal::ViewEdgeIterator& it, //void Operators::bidirectionalChain(ViewEdgeIterator& it, // UnaryPredicate1D& pred, -// UnaryFunction1D<void>& modifier) { +// UnaryFunction1D_void& modifier) { // if (_current_view_edges_set.empty()) // return; // diff --git a/source/blender/freestyle/intern/stroke/Operators.h b/source/blender/freestyle/intern/stroke/Operators.h index 96ecd0aa75b..804ee4d7056 100755 --- a/source/blender/freestyle/intern/stroke/Operators.h +++ b/source/blender/freestyle/intern/stroke/Operators.h @@ -85,7 +85,7 @@ public: */ static void chain(ViewEdgeInternal::ViewEdgeIterator& it, UnaryPredicate1D& pred, - UnaryFunction1D<void>& modifier); + UnaryFunction1D_void& modifier); /*! Builds a set of chains from the current set of ViewEdges. * Each ViewEdge of the current list starts a new chain. The chaining diff --git a/source/blender/freestyle/intern/stroke/Predicates1D.h b/source/blender/freestyle/intern/stroke/Predicates1D.h index 8c6f5a9bfa4..014d5a1130e 100755 --- a/source/blender/freestyle/intern/stroke/Predicates1D.h +++ b/source/blender/freestyle/intern/stroke/Predicates1D.h @@ -127,7 +127,7 @@ public: virtual bool operator()(Interface1D& inter1, Interface1D& inter2) { string name( py_bp1D ? PyString_AsString(PyObject_CallMethod(py_bp1D, "getName", "")) : getName() ); - if( py_bp1D && py_bp1D && PyObject_HasAttrString(py_bp1D, "__call__") ) { + if( py_bp1D && PyObject_HasAttrString(py_bp1D, "__call__") ) { return Director_BPy_BinaryPredicate1D___call__(py_bp1D, inter1, inter2); } else { cerr << "Warning: " << name << " operator() not implemented" << endl; diff --git a/source/blender/freestyle/intern/stroke/Stroke.cpp b/source/blender/freestyle/intern/stroke/Stroke.cpp index b1d6e466215..a1277611a90 100755 --- a/source/blender/freestyle/intern/stroke/Stroke.cpp +++ b/source/blender/freestyle/intern/stroke/Stroke.cpp @@ -404,9 +404,11 @@ Stroke::Stroke(const Stroke& iBrother) _mediumType = iBrother._mediumType; _textureId = iBrother._textureId; _tips = iBrother._tips; - - if(iBrother._rep) + + if( iBrother._rep ) _rep = new StrokeRep(*(iBrother._rep)); + else + _rep = new StrokeRep(this); } Stroke::~Stroke() |