From 1f778dbefcaf825dcad1f70a9cc45e503ad74ed5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 24 Jun 2021 15:57:33 +1000 Subject: Cleanup: use Blender's code style for doxygen commetns in freestyle --- .../blender/freestyle/intern/geometry/FastGrid.h | 10 +++--- .../blender/freestyle/intern/geometry/FitCurve.h | 4 +-- .../freestyle/intern/geometry/GeomCleaner.cpp | 2 +- .../freestyle/intern/geometry/GeomCleaner.h | 18 +++++----- .../blender/freestyle/intern/geometry/GeomUtils.h | 32 ++++++++--------- source/blender/freestyle/intern/geometry/Grid.h | 42 +++++++++++----------- .../freestyle/intern/geometry/GridHelpers.h | 2 +- .../blender/freestyle/intern/geometry/HashGrid.h | 12 +++---- source/blender/freestyle/intern/geometry/Noise.h | 18 +++++----- source/blender/freestyle/intern/geometry/Polygon.h | 2 +- .../blender/freestyle/intern/geometry/SweepLine.h | 8 ++--- 11 files changed, 75 insertions(+), 75 deletions(-) (limited to 'source/blender/freestyle/intern/geometry') diff --git a/source/blender/freestyle/intern/geometry/FastGrid.h b/source/blender/freestyle/intern/geometry/FastGrid.h index ec47f36d644..524725d5464 100644 --- a/source/blender/freestyle/intern/geometry/FastGrid.h +++ b/source/blender/freestyle/intern/geometry/FastGrid.h @@ -25,7 +25,7 @@ namespace Freestyle { -/*! Class to define a regular grid used for ray casting computations +/** Class to define a regular grid used for ray casting computations * We don't use a hashtable here. The grid is explicitly stored for faster computations. * However, this might result in significant increase in memory usage * (compared to the regular grid). @@ -43,13 +43,13 @@ class FastGrid : public Grid { clear(); } - /*! + /** * clears the grid * Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells. */ virtual void clear(); - /*! Sets the different parameters of the grid + /** Sets the different parameters of the grid * orig * The grid origin * size @@ -59,10 +59,10 @@ class FastGrid : public Grid { */ virtual void configure(const Vec3r &orig, const Vec3r &size, unsigned nb); - /*! returns the cell whose coordinates are passed as argument */ + /** returns the cell whose coordinates are passed as argument */ Cell *getCell(const Vec3u &p); - /*! Fills the case p with the cell iCell */ + /** Fills the case p with the cell iCell */ virtual void fillCell(const Vec3u &p, Cell &cell); protected: diff --git a/source/blender/freestyle/intern/geometry/FitCurve.h b/source/blender/freestyle/intern/geometry/FitCurve.h index dc60d67b943..3e99893d66f 100644 --- a/source/blender/freestyle/intern/geometry/FitCurve.h +++ b/source/blender/freestyle/intern/geometry/FitCurve.h @@ -72,7 +72,7 @@ class FitCurveWrapper { public: ~FitCurveWrapper(); - /*! Fits a set of 2D data points to a set of Bezier Curve segments + /** Fits a set of 2D data points to a set of Bezier Curve segments * data * Input data points * oCurve @@ -90,7 +90,7 @@ class FitCurveWrapper { */ void FitCurve(Vector2 *d, int nPts, double error); - /*! Draws a Bezier curve segment + /** Draws a Bezier curve segment * n * degree of curve (=3) * curve diff --git a/source/blender/freestyle/intern/geometry/GeomCleaner.cpp b/source/blender/freestyle/intern/geometry/GeomCleaner.cpp index 7ec18fb2801..349347c1862 100644 --- a/source/blender/freestyle/intern/geometry/GeomCleaner.cpp +++ b/source/blender/freestyle/intern/geometry/GeomCleaner.cpp @@ -180,7 +180,7 @@ void GeomCleaner::SortAndCompressIndexedVertexArray(const float *iVertices, delete[] tmpIndices; } -/*! Defines a hash table used for searching the Cells */ +/** Defines a hash table used for searching the Cells */ struct GeomCleanerHasher { #define _MUL 950706376UL #define _MOD 2147483647UL diff --git a/source/blender/freestyle/intern/geometry/GeomCleaner.h b/source/blender/freestyle/intern/geometry/GeomCleaner.h index 7abbf881548..6ad1f040972 100644 --- a/source/blender/freestyle/intern/geometry/GeomCleaner.h +++ b/source/blender/freestyle/intern/geometry/GeomCleaner.h @@ -42,7 +42,7 @@ class GeomCleaner { { } - /*! Sorts an array of Indexed vertices + /** Sorts an array of Indexed vertices * iVertices * Array of vertices to sort. * It is organized as a float series of vertex coordinates: XYZXYZXYZ... @@ -70,7 +70,7 @@ class GeomCleaner { float **oVertices, unsigned **oIndices); - /*! Compress a SORTED indexed vertex array by eliminating multiple + /** Compress a SORTED indexed vertex array by eliminating multiple * appearing occurrences of a single vertex. * iVertices * The SORTED vertex array to compress. @@ -99,7 +99,7 @@ class GeomCleaner { unsigned *oVSize, unsigned **oIndices); - /*! Sorts and compress an array of indexed vertices. + /** Sorts and compress an array of indexed vertices. * iVertices * The vertex array to sort then compress. It is organized as a float series of * vertex coordinates: XYZXYZXYZ... @@ -127,7 +127,7 @@ class GeomCleaner { unsigned *oVSize, unsigned **oIndices); - /*! Cleans an indexed vertex array. + /** Cleans an indexed vertex array. * (Identical to SortAndCompress except that we use here a hash table to create the new array.) * iVertices * The vertex array to sort then compress. It is organized as a float series of @@ -161,10 +161,10 @@ class GeomCleaner { #endif }; -/*! Binary operators */ +/** Binary operators */ // inline bool operator<(const IndexedVertex& iv1, const IndexedVertex& iv2); -/*! Class Indexed Vertex. Used to represent an indexed vertex by storing the vertex coordinates as +/** Class Indexed Vertex. Used to represent an indexed vertex by storing the vertex coordinates as * well as its index */ class IndexedVertex { private: @@ -182,7 +182,7 @@ class IndexedVertex { _index = iIndex; } - /*! accessors */ + /** accessors */ inline const Vec3f &vector() const { return _Vector; @@ -208,7 +208,7 @@ class IndexedVertex { return _Vector[2]; } - /*! modifiers */ + /** modifiers */ inline void setVector(const Vec3f &iVector) { _Vector = iVector; @@ -219,7 +219,7 @@ class IndexedVertex { _index = iIndex; } - /*! operators */ + /** operators */ IndexedVertex &operator=(const IndexedVertex &iv) { _Vector = iv._Vector; diff --git a/source/blender/freestyle/intern/geometry/GeomUtils.h b/source/blender/freestyle/intern/geometry/GeomUtils.h index 62d57f01264..a3ef88115f2 100644 --- a/source/blender/freestyle/intern/geometry/GeomUtils.h +++ b/source/blender/freestyle/intern/geometry/GeomUtils.h @@ -40,7 +40,7 @@ namespace GeomUtils { // ///////////////////////////////////////////////////////////////////////////// -/*! Computes the distance from a point P to a segment AB */ +/** Computes the distance from a point P to a segment AB */ template real distPointSegment(const T &P, const T &A, const T &B) { T AB, AP, BP; @@ -97,16 +97,16 @@ intersection_test intersect2dSeg2dSegParametric(const Vec2r &p1, real &u, // I = P3 + u * P3P4 real epsilon = M_EPSILON); -/*! check whether a 2D segment intersect a 2D region or not */ +/** check whether a 2D segment intersect a 2D region or not */ bool intersect2dSeg2dArea(const Vec2r &min, const Vec2r &max, const Vec2r &A, const Vec2r &B); -/*! check whether a 2D segment is included in a 2D region or not */ +/** check whether a 2D segment is included in a 2D region or not */ bool include2dSeg2dArea(const Vec2r &min, const Vec2r &max, const Vec2r &A, const Vec2r &B); -/*! Box-triangle overlap test, adapted from Tomas Akenine-Möller code */ +/** Box-triangle overlap test, adapted from Tomas Akenine-Möller code */ bool overlapTriangleBox(Vec3r &boxcenter, Vec3r &boxhalfsize, Vec3r triverts[3]); -/*! Fast, Minimum Storage Ray-Triangle Intersection, adapted from Tomas Möller and Ben Trumbore +/** Fast, Minimum Storage Ray-Triangle Intersection, adapted from Tomas Möller and Ben Trumbore * code. */ bool intersectRayTriangle(const Vec3r &orig, const Vec3r &dir, @@ -118,7 +118,7 @@ bool intersectRayTriangle(const Vec3r &orig, real &v, // I = (1 - u - v) * v0 + u * v1 + v * v2 const real epsilon = M_EPSILON); // the epsilon to use -/*! Intersection between plane and ray adapted from Graphics Gems, Didier Badouel */ +/** Intersection between plane and ray adapted from Graphics Gems, Didier Badouel */ intersection_test intersectRayPlane(const Vec3r &orig, const Vec3r &dir, // ray origin and direction // plane's normal and offset (plane = { P / P.N + d = 0 }) @@ -127,7 +127,7 @@ intersection_test intersectRayPlane(const Vec3r &orig, real &t, // I = orig + t * dir const real epsilon = M_EPSILON); // the epsilon to use -/*! Intersection Ray-Bounding box (axis aligned). +/** Intersection Ray-Bounding box (axis aligned). * Adapted from Williams et al, "An Efficient Robust Ray-Box Intersection Algorithm", JGT 10:1 * (2005), pp. 49-54. */ @@ -142,7 +142,7 @@ bool intersectRayBBox(const Vec3r &orig, real &tmax, // Imax = orig + tmax * dir is the second intersection real epsilon = M_EPSILON); // the epsilon to use -/*! Checks whether 3D point P lies inside or outside of the triangle ABC */ +/** Checks whether 3D point P lies inside or outside of the triangle ABC */ bool includePointTriangle(const Vec3r &P, const Vec3r &A, const Vec3r &B, const Vec3r &C); void transformVertex(const Vec3r &vert, const Matrix44r &matrix, Vec3r &res); @@ -156,7 +156,7 @@ Vec3r rotateVector(const Matrix44r &mat, const Vec3r &v); // ///////////////////////////////////////////////////////////////////////////// -/*! From world to image +/** From world to image * p * point's coordinates expressed in world coordinates system * q @@ -176,7 +176,7 @@ void fromWorldToImage(const Vec3r &p, const real projection_matrix[4][4], const int viewport[4]); -/*! From world to image +/** From world to image * p * point's coordinates expressed in world coordinates system * q @@ -189,7 +189,7 @@ void fromWorldToImage(const Vec3r &p, */ void fromWorldToImage(const Vec3r &p, Vec3r &q, const real transform[4][4], const int viewport[4]); -/*! Projects from world coordinates to camera coordinates +/** Projects from world coordinates to camera coordinates * Returns the point's coordinates expressed in the camera's * coordinates system. * p @@ -202,7 +202,7 @@ void fromWorldToImage(const Vec3r &p, Vec3r &q, const real transform[4][4], cons */ void fromWorldToCamera(const Vec3r &p, Vec3r &q, const real model_view_matrix[4][4]); -/*! Projects from World Coordinates to retina coordinates +/** Projects from World Coordinates to retina coordinates * Returns the point's coordinates expressed in Retina system. * p * point's coordinates expressed in camera system @@ -214,7 +214,7 @@ void fromWorldToCamera(const Vec3r &p, Vec3r &q, const real model_view_matrix[4] */ void fromCameraToRetina(const Vec3r &p, Vec3r &q, const real projection_matrix[4][4]); -/*! From retina to image. +/** From retina to image. * Returns the coordinates expressed in Image coordinates system. * p * point's coordinates expressed in retina system @@ -225,7 +225,7 @@ void fromCameraToRetina(const Vec3r &p, Vec3r &q, const real projection_matrix[4 */ void fromRetinaToImage(const Vec3r &p, Vec3r &q, const int viewport[4]); -/*! From image to retina +/** From image to retina * p * point's coordinates expressed in image system * q @@ -235,7 +235,7 @@ void fromRetinaToImage(const Vec3r &p, Vec3r &q, const int viewport[4]); */ void fromImageToRetina(const Vec3r &p, Vec3r &q, const int viewport[4]); -/*! computes the coordinates of q in the camera coordinates system, +/** computes the coordinates of q in the camera coordinates system, * using the known z coordinates of the 3D point. * That means that this method does not inverse any matrices, * it only computes X and Y from x,y and Z) @@ -249,7 +249,7 @@ void fromImageToRetina(const Vec3r &p, Vec3r &q, const int viewport[4]); */ void fromRetinaToCamera(const Vec3r &p, Vec3r &q, real focal, const real projection_matrix[4][4]); -/*! Projects from camera coordinates to world coordinates +/** Projects from camera coordinates to world coordinates * Returns the point's coordinates expressed in the world's * coordinates system. * p diff --git a/source/blender/freestyle/intern/geometry/Grid.h b/source/blender/freestyle/intern/geometry/Grid.h index d0d92b62516..e6301063564 100644 --- a/source/blender/freestyle/intern/geometry/Grid.h +++ b/source/blender/freestyle/intern/geometry/Grid.h @@ -114,7 +114,7 @@ class GridVisitor { #endif }; -/*! Gathers all the occluders belonging to the cells traversed by the ray */ +/** Gathers all the occluders belonging to the cells traversed by the ray */ class allOccludersGridVisitor : public GridVisitor { public: allOccludersGridVisitor(OccludersSet &occluders) : GridVisitor(), occluders_(occluders) @@ -137,7 +137,7 @@ class allOccludersGridVisitor : public GridVisitor { OccludersSet &occluders_; }; -/*! Finds the first intersection and breaks. +/** Finds the first intersection and breaks. * The occluder and the intersection information are stored and accessible. */ class firstIntersectionGridVisitor : public GridVisitor { @@ -190,7 +190,7 @@ class firstIntersectionGridVisitor : public GridVisitor { class Grid { public: - /*! Builds a Grid. Must be followed by a call to configure() */ + /** Builds a Grid. Must be followed by a call to configure() */ Grid() { } @@ -200,12 +200,12 @@ class Grid { clear(); } - /*! clears the grid + /** clears the grid * Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells. */ virtual void clear(); - /*! Sets the different parameters of the grid + /** Sets the different parameters of the grid * orig * The grid origin * size @@ -215,7 +215,7 @@ class Grid { */ virtual void configure(const Vec3r &orig, const Vec3r &size, unsigned nb); - /*! returns a vector of integer containing the coordinates of the cell containing the point + /** returns a vector of integer containing the coordinates of the cell containing the point * passed as argument * p * The point for which we're looking the cell @@ -237,13 +237,13 @@ class Grid { } } - /*! Fills the case corresponding to coord with the cell */ + /** Fills the case corresponding to coord with the cell */ virtual void fillCell(const Vec3u &coord, Cell &cell) = 0; - /*! returns the cell whose coordinates are passed as argument */ + /** returns the cell whose coordinates are passed as argument */ virtual Cell *getCell(const Vec3u &coord) = 0; - /*! returns the cell containing the point passed as argument. + /** returns the cell containing the point passed as argument. * If the cell is empty (contains no occluder), NULL is returned: * p * The point for which we're looking the cell @@ -255,7 +255,7 @@ class Grid { return getCell(coord); } - /*! Retrieves the x,y,z coordinates of the origin of the cell whose coordinates (i,j,k) + /** Retrieves the x,y,z coordinates of the origin of the cell whose coordinates (i,j,k) * is passed as argument: * cell_coord * i,j,k integer coordinates for the cell @@ -269,7 +269,7 @@ class Grid { } } - /*! Retrieves the box corresponding to the cell whose coordinates are passed as argument: + /** Retrieves the box corresponding to the cell whose coordinates are passed as argument: * cell_coord * i,j,k integer coordinates for the cell * min_out @@ -283,19 +283,19 @@ class Grid { max_out = min_out + _cell_size; } - /*! inserts a convex polygon occluder + /** inserts a convex polygon occluder * This method is quite coarse insofar as it adds all cells intersecting the polygon bounding * box convex_poly The list of 3D points constituting a convex polygon */ void insertOccluder(Polygon3r *occluder); - /*! Adds an occluder to the list of occluders */ + /** Adds an occluder to the list of occluders */ void addOccluder(Polygon3r *occluder) { _occluders.push_back(occluder); } - /*! Casts a ray between a starting point and an ending point + /** Casts a ray between a starting point and an ending point * Returns the list of occluders contained in the cells intersected by this ray * Starts with a call to InitRay. */ @@ -304,7 +304,7 @@ class Grid { // Prepares to cast ray without generating OccludersSet void initAcceleratedRay(const Vec3r &orig, const Vec3r &end, unsigned timestamp); - /*! Casts an infinite ray (still finishing at the end of the grid) from a starting point and in a + /** Casts an infinite ray (still finishing at the end of the grid) from a starting point and in a * given direction. Returns the list of occluders contained in the cells intersected by this ray * Starts with a call to InitRay. */ @@ -316,22 +316,22 @@ class Grid { // Prepares to cast ray without generating OccludersSet. bool initAcceleratedInfiniteRay(const Vec3r &orig, const Vec3r &dir, unsigned timestamp); - /*! Casts an infinite ray (still finishing at the end of the grid) from a starting point and in a + /** Casts an infinite ray (still finishing at the end of the grid) from a starting point and in a * given direction. Returns the first intersection (occluder,t,u,v) or null. Starts with a call * to InitRay. */ Polygon3r *castRayToFindFirstIntersection( const Vec3r &orig, const Vec3r &dir, double &t, double &u, double &v, unsigned timestamp); - /*! Init all structures and values for computing the cells intersected by this new ray */ + /** Init all structures and values for computing the cells intersected by this new ray */ void initRay(const Vec3r &orig, const Vec3r &end, unsigned timestamp); - /*! Init all structures and values for computing the cells intersected by this infinite ray. + /** Init all structures and values for computing the cells intersected by this infinite ray. * Returns false if the ray doesn't intersect the grid. */ bool initInfiniteRay(const Vec3r &orig, const Vec3r &dir, unsigned timestamp); - /*! Accessors */ + /** Accessors */ inline const Vec3r &getOrigin() const { return _orig; @@ -362,7 +362,7 @@ class Grid { } protected: - /*! Core of castRay and castInfiniteRay, find occluders along the given ray */ + /** Core of castRay and castInfiniteRay, find occluders along the given ray */ inline void castRayInternal(GridVisitor &visitor) { Cell *current_cell = NULL; @@ -383,7 +383,7 @@ class Grid { } while ((!visitor.stop()) && (nextRayCell(_current_cell, _current_cell))); } - /*! returns the cell next to the cell passed as argument. */ + /** returns the cell next to the cell passed as argument. */ bool nextRayCell(Vec3u ¤t_cell, Vec3u &next_cell); unsigned int _timestamp; diff --git a/source/blender/freestyle/intern/geometry/GridHelpers.h b/source/blender/freestyle/intern/geometry/GridHelpers.h index 077688164b4..1eab92be889 100644 --- a/source/blender/freestyle/intern/geometry/GridHelpers.h +++ b/source/blender/freestyle/intern/geometry/GridHelpers.h @@ -38,7 +38,7 @@ namespace Freestyle { namespace GridHelpers { -/*! Computes the distance from a point P to a segment AB */ +/** Computes the distance from a point P to a segment AB */ template T closestPointToSegment(const T &P, const T &A, const T &B, real &distance) { T AB, AP, BP; diff --git a/source/blender/freestyle/intern/geometry/HashGrid.h b/source/blender/freestyle/intern/geometry/HashGrid.h index 6fb7f2b9cbe..74df4a355d1 100644 --- a/source/blender/freestyle/intern/geometry/HashGrid.h +++ b/source/blender/freestyle/intern/geometry/HashGrid.h @@ -37,7 +37,7 @@ namespace Freestyle { -/*! Defines a hash table used for searching the Cells */ +/** Defines a hash table used for searching the Cells */ struct GridHasher { #define _MUL 950706376UL #define _MOD 2147483647UL @@ -51,7 +51,7 @@ struct GridHasher { #undef _MOD }; -/*! Class to define a regular grid used for ray casting computations */ +/** Class to define a regular grid used for ray casting computations */ class HashGrid : public Grid { public: typedef map GridHashTable; @@ -65,12 +65,12 @@ class HashGrid : public Grid { clear(); } - /*! clears the grid + /** clears the grid * Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells. */ virtual void clear(); - /*! Sets the different parameters of the grid + /** Sets the different parameters of the grid * orig * The grid origin * size @@ -80,7 +80,7 @@ class HashGrid : public Grid { */ virtual void configure(const Vec3r &orig, const Vec3r &size, unsigned nb); - /*! returns the cell whose coordinates are passed as argument */ + /** returns the cell whose coordinates are passed as argument */ virtual Cell *getCell(const Vec3u &p) { Cell *found_cell = NULL; @@ -92,7 +92,7 @@ class HashGrid : public Grid { return found_cell; } - /*! Fills the case p with the cell iCell */ + /** Fills the case p with the cell iCell */ virtual void fillCell(const Vec3u &p, Cell &cell) { _cells[p] = &cell; diff --git a/source/blender/freestyle/intern/geometry/Noise.h b/source/blender/freestyle/intern/geometry/Noise.h index 27a91ded9e2..278444712df 100644 --- a/source/blender/freestyle/intern/geometry/Noise.h +++ b/source/blender/freestyle/intern/geometry/Noise.h @@ -37,33 +37,33 @@ namespace Freestyle { using namespace Geometry; -/*! Class to provide Perlin Noise functionalities */ +/** Class to provide Perlin Noise functionalities */ class Noise { public: - /*! Builds a Noise object */ + /** Builds a Noise object */ Noise(long seed = -1); - /*! Destructor */ + /** Destructor */ ~Noise() { } - /*! Returns a noise value for a 1D element */ + /** Returns a noise value for a 1D element */ float turbulence1(float arg, float freq, float amp, unsigned oct = 4); - /*! Returns a noise value for a 2D element */ + /** Returns a noise value for a 2D element */ float turbulence2(Vec2f &v, float freq, float amp, unsigned oct = 4); - /*! Returns a noise value for a 3D element */ + /** Returns a noise value for a 3D element */ float turbulence3(Vec3f &v, float freq, float amp, unsigned oct = 4); - /*! Returns a smooth noise value for a 1D element */ + /** Returns a smooth noise value for a 1D element */ float smoothNoise1(float arg); - /*! Returns a smooth noise value for a 2D element */ + /** Returns a smooth noise value for a 2D element */ float smoothNoise2(Vec2f &vec); - /*! Returns a smooth noise value for a 3D element */ + /** Returns a smooth noise value for a 3D element */ float smoothNoise3(Vec3f &vec); private: diff --git a/source/blender/freestyle/intern/geometry/Polygon.h b/source/blender/freestyle/intern/geometry/Polygon.h index f6f827fd0f2..34511bf4e34 100644 --- a/source/blender/freestyle/intern/geometry/Polygon.h +++ b/source/blender/freestyle/intern/geometry/Polygon.h @@ -205,7 +205,7 @@ class Polygon3r : public Polygon { return _normal; } - /*! Check whether the Polygon intersects with the ray or not */ + /** Check whether the Polygon intersects with the ray or not */ inline bool rayIntersect(const Vec3r &orig, const Vec3r &dir, real &t, diff --git a/source/blender/freestyle/intern/geometry/SweepLine.h b/source/blender/freestyle/intern/geometry/SweepLine.h index d7d379d82f2..ac3417a1afe 100644 --- a/source/blender/freestyle/intern/geometry/SweepLine.h +++ b/source/blender/freestyle/intern/geometry/SweepLine.h @@ -30,7 +30,7 @@ namespace Freestyle { -/*! Class to define the intersection between two segments*/ +/** Class to define the intersection between two segments*/ template class Intersection { public: template Intersection(EdgeClass *eA, real ta, EdgeClass *eB, real tb) @@ -51,7 +51,7 @@ template class Intersection { userdata = 0; } - /*! returns the parameter giving the intersection, for the edge iEdge */ + /** returns the parameter giving the intersection, for the edge iEdge */ real getParameter(Edge *iEdge) { if (iEdge == EdgeA) { @@ -144,7 +144,7 @@ template class Segment { _Intersections.push_back(i); } - /*! Checks for a common vertex with another edge */ + /** Checks for a common vertex with another edge */ inline bool CommonVertex(const Segment &S, Point &CP) { if ((A == S[0]) || (A == S[1])) { @@ -190,7 +190,7 @@ template class Segment { # pragma warning(pop) #endif -/*! defines a binary function that can be overload by the user to specify at each condition the +/** defines a binary function that can be overload by the user to specify at each condition the * intersection between 2 edges must be computed */ template struct binary_rule { -- cgit v1.2.3