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/view_map/Silhouette.h')
-rw-r--r--source/blender/freestyle/intern/view_map/Silhouette.h78
1 files changed, 37 insertions, 41 deletions
diff --git a/source/blender/freestyle/intern/view_map/Silhouette.h b/source/blender/freestyle/intern/view_map/Silhouette.h
index b9f84e7077f..b5bbe66e51e 100644
--- a/source/blender/freestyle/intern/view_map/Silhouette.h
+++ b/source/blender/freestyle/intern/view_map/Silhouette.h
@@ -303,7 +303,8 @@ class SVertex : public Interface0D {
_Point2D = iPoint2D;
}
- /*! Adds a normal to the Svertex's set of normals. If the same normal is already in the set, nothing changes. */
+ /*! Adds a normal to the Svertex's set of normals. If the same normal is already in the set,
+ * nothing changes. */
inline void AddNormal(const Vec3r &iNormal)
{
_Normals.insert(iNormal); // if iNormal in the set already exists, nothing is done
@@ -420,7 +421,7 @@ class SVertex : public Interface0D {
return *(_Normals.begin());
}
- //Material material() const ;
+ // Material material() const ;
Id shape_id() const;
const SShape *shape() const;
float shape_importance() const;
@@ -462,13 +463,12 @@ class SVertex : public Interface0D {
class ViewEdge;
/*! Base Class for feature edges.
- * This FEdge can represent a silhouette, a crease, a ridge/valley, a border or a suggestive contour.
- * For silhouettes, the FEdge is oriented such as, the visible face lies on the left of the edge.
- * For borders, the FEdge is oriented such as, the face lies on the left of the edge.
- * An FEdge can represent an initial edge of the mesh or runs accross a face of the initial mesh depending
- * on the smoothness or sharpness of the mesh.
- * This class is specialized into a smooth and a sharp version since their properties slightly vary from
- * one to the other.
+ * This FEdge can represent a silhouette, a crease, a ridge/valley, a border or a suggestive
+ * contour. For silhouettes, the FEdge is oriented such as, the visible face lies on the left of
+ * the edge. For borders, the FEdge is oriented such as, the face lies on the left of the edge. An
+ * FEdge can represent an initial edge of the mesh or runs accross a face of the initial mesh
+ * depending on the smoothness or sharpness of the mesh. This class is specialized into a smooth
+ * and a sharp version since their properties slightly vary from one to the other.
*/
class FEdge : public Interface1D {
public: // Implementation of Interface0D
@@ -509,13 +509,13 @@ class FEdge : public Interface1D {
SVertex *_VertexB;
Id _Id;
Nature::EdgeNature _Nature;
- //vector<Polygon3r> _Occluders; // visibility // NOT HANDLED BY THE COPY CONSTRUCTOR!!
+ // vector<Polygon3r> _Occluders; // visibility // NOT HANDLED BY THE COPY CONSTRUCTOR!!
FEdge *_NextEdge; // next edge on the chain
FEdge *_PreviousEdge;
ViewEdge *_ViewEdge;
- // Sometimes we need to deport the visibility computation onto another edge. For example the exact edges use
- // edges of the mesh to compute their visibility
+ // Sometimes we need to deport the visibility computation onto another edge. For example the
+ // exact edges use edges of the mesh to compute their visibility
Polygon3r _aFace; // The occluded face which lies on the right of a silhouette edge
Vec3r _occludeeIntersection;
@@ -868,7 +868,7 @@ class FEdge : public Interface1D {
/* Information access interface */
- //Material material() const;
+ // Material material() const;
Id shape_id() const;
const SShape *shape() const;
float shape_importance() const;
@@ -911,7 +911,7 @@ class FEdge : public Interface1D {
int viewedge_nature() const;
- //float viewedge_length() const;
+ // float viewedge_length() const;
inline Vec3r orientation2d() const
{
@@ -942,16 +942,16 @@ class FEdge : public Interface1D {
/*! Returns an iterator over the 2 (!) SVertex pointing after the last SVertex. */
virtual inline Interface0DIterator verticesEnd();
- /*! Returns an iterator over the FEdge points, pointing to the first point. The difference with verticesBegin()
- * is that here we can iterate over points of the FEdge at a any given sampling.
+ /*! Returns an iterator over the FEdge points, pointing to the first point. The difference with
+ * verticesBegin() is that here we can iterate over points of the FEdge at a any given sampling.
* Indeed, for each iteration, a virtual point is created.
* \param t:
* The sampling with which we want to iterate over points of this FEdge.
*/
virtual inline Interface0DIterator pointsBegin(float t = 0.0f);
- /*! Returns an iterator over the FEdge points, pointing after the last point. The difference with verticesEnd()
- * is that here we can iterate over points of the FEdge at a any given sampling.
+ /*! Returns an iterator over the FEdge points, pointing after the last point. The difference with
+ * verticesEnd() is that here we can iterate over points of the FEdge at a any given sampling.
* Indeed, for each iteration, a virtual point is created.
* \param t:
* The sampling with which we want to iterate over points of this FEdge.
@@ -1277,8 +1277,8 @@ class FEdgeSharp : public FEdge {
#endif
};
-/*! Class defining a smooth edge. This kind of edge typically runs across a face of the input mesh. It can be
- * a silhouette, a ridge or valley, a suggestive contour.
+/*! Class defining a smooth edge. This kind of edge typically runs across a face of the input mesh.
+ * It can be a silhouette, a ridge or valley, a suggestive contour.
*/
class FEdgeSmooth : public FEdge {
protected:
@@ -1402,7 +1402,8 @@ class FEdgeSmooth : public FEdge {
/* */
/**********************************/
-/*! Class to define a feature shape. It is the gathering of feature elements from an identified input shape */
+/*! Class to define a feature shape. It is the gathering of feature elements from an identified
+ * input shape */
class SShape {
private:
vector<FEdge *> _chains; // list of fedges that are chains starting points.
@@ -1578,10 +1579,10 @@ class SShape {
}
/*! Splits an edge into several edges.
- * The edge's vertices are passed rather than the edge itself. This way, all feature edges (SILHOUETTE,
- * CREASE, BORDER) are splitted in the same time.
- * The processed edges are flagged as done (using the userdata flag).One single new vertex is created whereas
- * several splitted edges might created for the different kinds of edges. These new elements are added to the lists
+ * The edge's vertices are passed rather than the edge itself. This way, all feature edges
+ * (SILHOUETTE, CREASE, BORDER) are splitted in the same time. The processed edges are flagged as
+ * done (using the userdata flag).One single new vertex is created whereas several splitted edges
+ * might created for the different kinds of edges. These new elements are added to the lists
* maintained by the shape.
* New chains are also created.
* ioA
@@ -1589,12 +1590,11 @@ class SShape {
* ioB
* The second vertex for the edge that gets splitted
* iParameters
- * A vector containing 2D real vectors indicating the parameters giving the intersections coordinates in
- * 3D and in 2D. These intersections points must be sorted from B to A.
- * Each parameter defines the intersection point I as I=A+T*AB. T<0 and T>1 are then incorrect insofar as
- * they give intersections points that lie outside the segment.
- * ioNewEdges
- * The edges that are newly created (the initial edges are not included) are added to this list.
+ * A vector containing 2D real vectors indicating the parameters giving the intersections
+ * coordinates in 3D and in 2D. These intersections points must be sorted from B to A. Each
+ * parameter defines the intersection point I as I=A+T*AB. T<0 and T>1 are then incorrect insofar
+ * as they give intersections points that lie outside the segment. ioNewEdges The edges that are
+ * newly created (the initial edges are not included) are added to this list.
*/
inline void SplitEdge(FEdge *fe, const vector<Vec2r> &iParameters, vector<FEdge *> &ioNewEdges)
{
@@ -1637,7 +1637,7 @@ class SShape {
for (vector<SVertex *>::iterator sv = intersections.begin(), svend = intersections.end();
sv != svend;
sv++) {
- //SVertex *svA = fe->vertexA();
+ // SVertex *svA = fe->vertexA();
SVertex *svB = fe->vertexB();
// We split edge AB into AA' and A'B. A' and A'B are created.
@@ -1678,7 +1678,7 @@ class SShape {
fe->setId(id);
// update edge AA' for the next pointing edge
- //ioEdge->setNextEdge(newEdge);
+ // ioEdge->setNextEdge(newEdge);
(fe)->setNextEdge(NULL);
// update vertex pointing edges list:
@@ -1690,17 +1690,13 @@ class SShape {
}
}
- /* splits an edge into 2 edges. The new vertex and edge are added to the sshape list of vertices and edges
- * a new chain is also created.
- * returns the new edge.
- * ioEdge
- * The edge that gets splitted
- * newpoint
- * x,y,z coordinates of the new point.
+ /* splits an edge into 2 edges. The new vertex and edge are added to the sshape list of vertices
+ * and edges a new chain is also created. returns the new edge. ioEdge The edge that gets
+ * splitted newpoint x,y,z coordinates of the new point.
*/
inline FEdge *SplitEdgeIn2(FEdge *ioEdge, SVertex *ioNewVertex)
{
- //soc unused - SVertex *A = ioEdge->vertexA();
+ // soc unused - SVertex *A = ioEdge->vertexA();
SVertex *B = ioEdge->vertexB();
// We split edge AB into AA' and A'B. A' and A'B are created.