From e5791cf48e10ec1336f463b7fccff6b302621eb9 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Fri, 28 Dec 2012 20:21:05 +0000 Subject: Another mega (literally :p) code clean-up patch by Bastien Montagne, thanks again! --- .../blender/freestyle/intern/stroke/StrokeShader.h | 165 +++++++++------------ 1 file changed, 74 insertions(+), 91 deletions(-) (limited to 'source/blender/freestyle/intern/stroke/StrokeShader.h') diff --git a/source/blender/freestyle/intern/stroke/StrokeShader.h b/source/blender/freestyle/intern/stroke/StrokeShader.h index 63185438e91..c8364f7a737 100644 --- a/source/blender/freestyle/intern/stroke/StrokeShader.h +++ b/source/blender/freestyle/intern/stroke/StrokeShader.h @@ -1,39 +1,45 @@ -// -// Filename : StrokeShader.h -// Author(s) : Stephane Grabli, Emmanuel Turquin -// Purpose : Class defining StrokeShader -// Date of creation : 01/07/2003 -// -/////////////////////////////////////////////////////////////////////////////// - +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2010 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ -// -// Copyright (C) : Please refer to the COPYRIGHT file distributed -// with this source distribution. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -/////////////////////////////////////////////////////////////////////////////// +#ifndef __FREESTYLE_STROKE_SHADERS_H__ +#define __FREESTYLE_STROKE_SHADERS_H__ -#ifndef SHADERS_H -# define SHADERS_H +/** \file blender/freestyle/intern/stroke/StrokeShader.h + * \ingroup freestyle + * \brief Class defining StrokeShader + * \author Stephane Grabli + * \author Emmanuel Turquin + * \date 01/07/2003 + */ -# include -# include +#include +#include -# include "../python/Director.h" +#include "../python/Director.h" // // StrokeShader base class @@ -41,84 +47,61 @@ ////////////////////////////////////////////////////// class Stroke; + /*! Base class for Stroke Shaders. - * Any Stroke Shader must inherit from - * this class and overload the shade() method. - * A StrokeShader is designed to modify any - * Stroke's attribute such as Thickness, Color, + * Any Stroke Shader must inherit from this class and overload the shade() method. + * A StrokeShader is designed to modify any Stroke's attribute such as Thickness, Color, * Geometry, Texture, Blending mode... - * The basic way to achieve this operation consists - * in iterating over the StrokeVertices of the Stroke + * The basic way to achieve this operation consists in iterating over the StrokeVertices of the Stroke * and to modify each one's StrokeAttribute. * Here is a python code example of such an iteration: * \code * it = ioStroke.strokeVerticesBegin() - * while it.isEnd() == 0: + * while not it.isEnd(): * att = it.getObject().attribute() * ## perform here any attribute modification * it.increment() * \endcode * Here is a C++ code example of such an iteration: * \code - * for(StrokeInternal::StrokeVertexIterator v=ioStroke.strokeVerticesBegin(), vend=ioStroke.strokeVerticesEnd(); - * v!=vend; - * ++v){ - * StrokeAttribute& att = v->attribute(); - * // perform any attribute modification here... + * for(StrokeInternal::StrokeVertexIterator v = ioStroke.strokeVerticesBegin(), vend = ioStroke.strokeVerticesEnd(); + * v != vend; + * ++v) + * { + * StrokeAttribute& att = v->attribute(); + * // perform any attribute modification here... * } * \endcode */ class LIB_STROKE_EXPORT StrokeShader { public: - PyObject *py_ss; - - /*! Default constructor. */ - StrokeShader() { py_ss = 0; } - /*! Destructor. */ - virtual ~StrokeShader() {} - /*! Returns the string corresponding to the - * shader's name. - */ - virtual string getName() const { - return "StrokeShader"; - } - /*! The shading method. This method must - * be overloaded by inherited classes. - * The shading method is designed to modify any - * Stroke's attribute such as Thickness, Color, - * Geometry, Texture, Blending mode... - * The basic way to achieve this operation consists - * in iterating over the StrokeVertices of the Stroke - * and to modify each one's StrokeAttribute. - * Here is a python code example of such an iteration: - * \code - * it = ioStroke.strokeVerticesBegin() - * while it.isEnd() == 0: - * att = it.getObject().attribute() - * ## perform here any attribute modification - * it.increment() - * \endcode - * Here is a C++ code example of such an iteration: - * \code - * for(StrokeInternal::StrokeVertexIterator v=ioStroke.strokeVerticesBegin(), vend=ioStroke.strokeVerticesEnd(); - * v!=vend; - * ++v){ - * StrokeAttribute& att = v->attribute(); - * // perform any attribute modification here... - * } - * \endcode - * \param ioStroke - * The stroke we wish to shade. this Stroke - * is modified by the Shader (which typically - * modifies the Stroke's attribute's values such - * as Color, Thickness, Geometry...) - */ - virtual int shade(Stroke& ioStroke) const { - return Director_BPy_StrokeShader_shade( const_cast(this), ioStroke ); - } + /*! Default constructor. */ + StrokeShader() + { + py_ss = 0; + } + + /*! Destructor. */ + virtual ~StrokeShader() {} + + /*! Returns the string corresponding to the shader's name. */ + virtual string getName() const + { + return "StrokeShader"; + } + + /*! The shading method. This method must be overloaded by inherited classes. + * \param ioStroke + * The stroke we wish to shade. this Stroke is modified by the Shader (which typically + * modifies the Stroke's attribute's values such as Color, Thickness, Geometry...) + */ + virtual int shade(Stroke& ioStroke) const + { + return Director_BPy_StrokeShader_shade( const_cast(this), ioStroke); + } }; -# endif // SHADERS_H +#endif // __FREESTYLE_STROKE_SHADERS_H__ -- cgit v1.2.3