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 'source/blender/freestyle/intern/scene_graph/TriangleRep.h')
-rw-r--r--source/blender/freestyle/intern/scene_graph/TriangleRep.h228
1 files changed, 136 insertions, 92 deletions
diff --git a/source/blender/freestyle/intern/scene_graph/TriangleRep.h b/source/blender/freestyle/intern/scene_graph/TriangleRep.h
index 9d986857060..c65eee72e03 100644
--- a/source/blender/freestyle/intern/scene_graph/TriangleRep.h
+++ b/source/blender/freestyle/intern/scene_graph/TriangleRep.h
@@ -1,34 +1,39 @@
-//
-// Filename : TriangleRep.h
-// Author(s) : Stephane Grabli
-// Purpose : Class to define the represenation of a triangle
-// Date of creation : 16/12/2002
-//
-///////////////////////////////////////////////////////////////////////////////
-
-
-//
-// 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 TRIANGLEREP_H
-# define TRIANGLEREP_H
+/*
+ * ***** 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 *****
+ */
+
+#ifndef __FREESTYLE_TRIANGLE_REP_H__
+#define __FREESTYLE_TRIANGLE_REP_H__
+
+/** \file blender/freestyle/intern/scene_graph/TriangleRep.h
+ * \ingroup freestyle
+ * \brief Class to define the represenation of a triangle
+ * \author Stephane Grabli
+ * \date 16/12/2002
+ */
//! inherits from class Rep
#include "Rep.h"
@@ -37,70 +42,109 @@
class LIB_SCENE_GRAPH_EXPORT TriangleRep : public Rep
{
public:
-
- /*! Line description style */
- enum TRIANGLE_STYLE{FILL, LINES};
+ /*! Line description style */
+ enum TRIANGLE_STYLE {
+ FILL,
+ LINES,
+ };
+
private:
- TRIANGLE_STYLE _Style;
- Vec3r _vertices[3];
- Vec3r _colors[3];
+ TRIANGLE_STYLE _Style;
+ Vec3r _vertices[3];
+ Vec3r _colors[3];
+
public:
- inline TriangleRep() : Rep() {_Style = FILL;}
-
- /*! Builds a triangle from 3 vertices
- * v0
- * first vertex
- * v1
- * second vertex
- * v2
- * third vertex
- */
- inline TriangleRep(const Vec3r& v0, const Vec3r& v1, const Vec3r& v2)
- : Rep()
- {
- _vertices[0] = v0;
- _vertices[1] = v1;
- _vertices[2] = v2;
- _Style = FILL;
- }
- inline TriangleRep( const Vec3r& v0, const Vec3r& c0,
- const Vec3r& v1, const Vec3r& c1,
- const Vec3r& v2, const Vec3r& c2)
- : Rep()
- {
- _vertices[0] = v0;
- _vertices[1] = v1;
- _vertices[2] = v2;
- _colors[0] = c0;
- _colors[1] = c1;
- _colors[2] = c2;
- _Style = FILL;
- }
-
- virtual ~TriangleRep()
- {}
-
- /*! accessors */
- inline const TRIANGLE_STYLE style() const {return _Style;}
- inline const Vec3r& vertex(int index) const {return _vertices[index];}
- inline const Vec3r& color(int index) const {return _colors[index];}
- /*! modifiers */
- inline void setStyle(const TRIANGLE_STYLE iStyle) {_Style = iStyle;}
- inline void setVertex(int index, const Vec3r& iVertex) {_vertices[index] = iVertex;}
- inline void setColor(int index, const Vec3r& iColor) {_colors[index] = iColor;}
- inline void setVertices(const Vec3r& v0, const Vec3r& v1, const Vec3r& v2) {_vertices[0] = v0; _vertices[1] = v1; _vertices[2] = v2;}
- inline void setColors(const Vec3r& c0, const Vec3r& c1, const Vec3r& c2) {_colors[0] = c0; _colors[1] = c1; _colors[2] = c2;}
-
- /*! Accept the corresponding visitor */
- virtual void accept(SceneVisitor& v) {
- Rep::accept(v);
- v.visitTriangleRep(*this);
- }
-
- /*! Computes the triangle bounding box.*/
- virtual void ComputeBBox();
+ inline TriangleRep() : Rep()
+ {
+ _Style = FILL;
+ }
+
+ /*! Builds a triangle from 3 vertices
+ * v0
+ * first vertex
+ * v1
+ * second vertex
+ * v2
+ * third vertex
+ */
+ inline TriangleRep(const Vec3r& v0, const Vec3r& v1, const Vec3r& v2) : Rep()
+ {
+ _vertices[0] = v0;
+ _vertices[1] = v1;
+ _vertices[2] = v2;
+ _Style = FILL;
+ }
+
+ inline TriangleRep(const Vec3r& v0, const Vec3r& c0, const Vec3r& v1, const Vec3r& c1,
+ const Vec3r& v2, const Vec3r& c2)
+ : Rep()
+ {
+ _vertices[0] = v0;
+ _vertices[1] = v1;
+ _vertices[2] = v2;
+ _colors[0] = c0;
+ _colors[1] = c1;
+ _colors[2] = c2;
+ _Style = FILL;
+ }
+
+ virtual ~TriangleRep() {}
+
+ /*! accessors */
+ inline const TRIANGLE_STYLE style() const
+ {
+ return _Style;
+ }
+
+ inline const Vec3r& vertex(int index) const
+ {
+ return _vertices[index];
+ }
+
+ inline const Vec3r& color(int index) const
+ {
+ return _colors[index];
+ }
+
+ /*! modifiers */
+ inline void setStyle(const TRIANGLE_STYLE iStyle)
+ {
+ _Style = iStyle;
+ }
+
+ inline void setVertex(int index, const Vec3r& iVertex)
+ {
+ _vertices[index] = iVertex;
+ }
+
+ inline void setColor(int index, const Vec3r& iColor)
+ {
+ _colors[index] = iColor;
+ }
+
+ inline void setVertices(const Vec3r& v0, const Vec3r& v1, const Vec3r& v2)
+ {
+ _vertices[0] = v0;
+ _vertices[1] = v1;
+ _vertices[2] = v2;
+ }
+
+ inline void setColors(const Vec3r& c0, const Vec3r& c1, const Vec3r& c2)
+ {
+ _colors[0] = c0;
+ _colors[1] = c1;
+ _colors[2] = c2;
+ }
+ /*! Accept the corresponding visitor */
+ virtual void accept(SceneVisitor& v)
+ {
+ Rep::accept(v);
+ v.visitTriangleRep(*this);
+ }
+ /*! Computes the triangle bounding box.*/
+ virtual void ComputeBBox();
};
-#endif
+#endif // __FREESTYLE_TRIANGLE_REP_H__