Paolo Cignoni
b2e2bfe2df
added Cotangent weighting to the basic laplacian smoothing.
2012-07-04 15:23:59 +00:00
granzuglia
db57bd4e19
added missing public keyword on the static Name function of some ocf components.
2012-07-03 11:12:21 +00:00
Paolo Cignoni
bfc10096f0
small improvemnt in stat collection for voronoi atlas
2012-07-03 10:21:41 +00:00
Paolo Cignoni
7e4e023266
Removed a dubious unused normalize method...
2012-07-03 09:29:48 +00:00
Paolo Cignoni
f036874693
better comments
2012-07-03 09:14:17 +00:00
Paolo Cignoni
e362d54a25
Timing functions and stat collecting for voronoi atlas
2012-07-03 09:13:07 +00:00
Paolo Cignoni
b08fda7641
Corrected SegmentPointSquaredDistance to do not use anymore a hardcoded EPSilon value...
2012-07-02 16:45:49 +00:00
Paolo Cignoni
776fbe45a0
First Version of the Voronoi Atlas parametrizator.
2012-07-02 16:41:28 +00:00
Paolo Cignoni
539de75614
Cleaned up a bit the printint stuff. Now it should collect stats in a more clean way
2012-07-02 16:31:52 +00:00
ganovelli
0f99bd505e
changes and minor fix to enable input/output with VMI on memory
2012-07-02 14:38:10 +00:00
Paolo Cignoni
487b6c7bd5
Corrected a bug in search for the best edge to be fixed in the FindFarthestVert when setting up the system for the poisson solver...
2012-07-02 09:38:42 +00:00
Paolo Cignoni
7cc19a31c6
Added two stupid wrapper to ComputePerFaceQualityMinMax and ComputePerVertexQualityMinMax
2012-07-02 08:30:17 +00:00
Paolo Cignoni
52fed4c451
Added a PerWedgeMakeUnitaryUV to normalize for packing
2012-07-02 08:29:11 +00:00
Paolo Cignoni
ad9a7a237d
updated to match the Distorsion->Distortion name change
2012-07-02 08:19:06 +00:00
Paolo Cignoni
d900752b52
Renamed to correct the spelling error (distorsion -> distortion)
2012-07-02 08:15:24 +00:00
Paolo Cignoni
d6ff9f01de
Heavily modified. Corrected Spelling of distorsion->distortion
...
Completed a few measures and added difference between angle distortion in cos or rad space
2012-07-02 08:13:50 +00:00
Paolo Cignoni
28f3e120f0
Corrected naming for the unreference vertices function now the func that just count the unref vert is called CountUnreferencedVertex
2012-06-28 17:21:20 +00:00
Paolo Cignoni
9ed6314d10
removed harmless gcc warnings
2012-06-28 09:09:08 +00:00
Nico Pietroni
066f46c20b
first release version
2012-06-22 14:27:33 +00:00
Nico Pietroni
614a5fec16
first release version
2012-06-22 14:25:35 +00:00
Nico Pietroni
0e3d2abcfd
corrected return value of closest point
2012-06-22 14:23:33 +00:00
Paolo Cignoni
af15a07c0f
corrected small bug in RemoveDuplicateFace involving the unsafe subtracting 1 from an unsigned int that could be zero...
2012-06-14 13:48:25 +00:00
Federico Ponchio
cb639a12d7
renamed from max/min to hi/low
2012-06-14 09:40:26 +00:00
Paolo Cignoni
36905c5d93
Added extrude.h file for the creation of extruded meshes from profiles
2012-06-06 06:25:56 +00:00
Paolo Cignoni
75ebfa9d5a
Rewrote and commented the function that given a face pointer it follows the chain of non-faux edges. Now it supports the case of meshes with face with ALL edges faux (isolated faces in a polygon).
2012-05-28 11:30:37 +00:00
Nico Pietroni
894ebb26f6
added RemoveHugeConnectedComponentsDiameter function
2012-05-25 13:33:36 +00:00
Nico Pietroni
d4ad0bd6f6
added check if length of segment is zero then function SegmentPointDistance still works
2012-05-25 13:32:48 +00:00
Nico Pietroni
5445d99402
several major modifications
2012-05-25 13:21:11 +00:00
Nico Pietroni
c1e19b4b55
added assert(0) for cVFi function if does not exixts the component
2012-05-25 13:19:03 +00:00
Paolo Cignoni
cb3fc0dbe2
corrected harmless gcc warnings
2012-05-06 16:01:14 +00:00
Paolo Cignoni
0c16045423
corrected harmless gcc warnings
2012-05-06 15:36:02 +00:00
Paolo Cignoni
64d7f31279
corrected bug in the face laplacian normal smoothing
2012-05-06 15:31:07 +00:00
Paolo Cignoni
37759ffcb0
sligthly better comments
2012-05-06 14:42:04 +00:00
Paolo Cignoni
05195b6201
in the functions for creating meshes: corrected bug in the OrientedRect and changed the interface of the grid to allow the creation of a flag grid
2012-05-06 14:22:29 +00:00
Paolo Cignoni
0cad100f9d
corrected harmless gcc warnings
2012-05-06 14:20:34 +00:00
Paolo Cignoni
486475d4a3
added another assert to histogram to avoid trash result...
2012-05-05 14:55:50 +00:00
Paolo Cignoni
7537b20933
Added a NormalizedDirection method
2012-05-05 14:54:45 +00:00
Paolo Cignoni
e532ec9751
Added VVStarVE and VEStarVE functions (to get stars of vertexes and edges when working with edge meshes) to edge topology.
2012-04-27 09:23:01 +00:00
Paolo Cignoni
4c44513d4f
corrected bug in the UpdateTopology::EdgeEdge function: it touched a vector element beyond .end()
2012-04-22 09:01:04 +00:00
Paolo Cignoni
39df21640a
Updated to reflect the change from ColorRamp -> SetColorRamp
2012-04-18 21:19:11 +00:00
Paolo Cignoni
8eb94a7f9d
Changed ColorRamp non static method into a static one (that constructs a Color4b object) and added a more uniform SetColorRamp method.
2012-04-18 21:17:04 +00:00
Paolo Cignoni
5f22a3f7b5
added a very simple function wrapper to get a poisson disk distribution over a mesh with just function call
2012-04-18 21:12:12 +00:00
Paolo Cignoni
508c733bd4
added a missing updateQuality::FaceFromVertex
2012-04-18 21:09:56 +00:00
Paolo Cignoni
ba507529c8
Modified intersectionPlaneQuality so that it also compute the per vertex normal according to the mesh...
2012-04-18 21:09:08 +00:00
Paolo Cignoni
ffdc2f2b28
Geodesic: Added possibility of saving also the implict tree of the shortest path. For each vertex you can give an attribute where the function will save the 'parent' e.g. the previous vertex in the shortest path to the closest source.
2012-04-12 23:54:23 +00:00
Marco Di Benedetto
1c5f2c2264
added static capability query function for ocf vertex texcoord (VertexVectorHasPerVertexTexCoord()) (not having it caused false positives).
2012-04-10 16:47:15 +00:00
Marco Di Benedetto
a82ac9639f
added constant accessors without the infamous "c" prefix for color (C()) and texcoord (T()).
2012-04-10 15:46:20 +00:00
granzuglia
1548d6415a
added missing functions in Empty:
...
- static bool HasCurvatureDir() { return false; }
- static bool IsCurvatureEnabled(const typename TT::VertexType *) { return false; }
2012-04-06 08:10:32 +00:00
Paolo Cignoni
5aed57a364
Heavy restructuring of the append function. Now it is hopefully must more efficient.
...
Added a parameter for requesting the copy of the non trivial topology. (e.g. all the adjacency relations beyond FV and EV).
2012-04-04 10:11:46 +00:00
Paolo Cignoni
b0d7d5c52e
removed harmless gcc warnings
2012-04-04 10:05:35 +00:00
Paolo Cignoni
ea701b39b3
Restructured Face component in order to follow the unique emptycore approach that avoid an endless derivation chain in the type definition
2012-04-04 10:04:46 +00:00
Paolo Cignoni
3811efacd8
removed useless include
2012-04-04 09:59:42 +00:00
Paolo Cignoni
059a2f220b
added EdgeCount method for counting selected edges
2012-04-04 09:59:10 +00:00
Paolo Cignoni
06d481f5de
standardized function names e used area function of vcg lib
2012-04-04 09:57:46 +00:00
Paolo Cignoni
783aef369b
added hn initialization in the trimesh constructor
2012-04-04 09:53:54 +00:00
msabbadin
7c3687b8db
corrected an assert in PrincipalDirections static method:
...
from assert(m.HasVFAdjency());
to assert(tri::HasPerFaceVFAdjacency(m) && tri::HasPerVertexVFAdjacency(m));
2012-04-02 14:42:56 +00:00
Paolo Cignoni
8a631d48c1
Corrected a significant bug in the reflection types for ocf components.
...
Changed the basic reflection mechanism: Instead of having a function templates over all the four containers now we template over Trimesh and we rely on a second function templated on face/vert that wants a vector<face> ; this second function only is eventually overloaded by another function that needs a vector_ocf of faces.
That is Before we had:
- in complex.h
template < class CType0, class CType1, class CType2 , class CType3>
bool HasPerFaceVFAdjacency (const TriMesh < CType0, CType1, CType2, CType3> & /*m*/) {return TriMesh < CType0 , CType1, CType2, CType3>::FaceContainer::value_type::HasVFAdjacency();}
- in the component_ocf.h
template < class VertContainerType, class FaceType, class Container1, class Container2 >
bool HasPerFaceVFAdjacency (const TriMesh < VertContainerType , face::vector_ocf< FaceType >, Container1, Container2 > & m)
{
if(FaceType::HasVFAdjacencyOcf()) return m.face.IsVFAdjacencyEnabled();
else return FaceType::FaceType::HasVFAdjacency();
}
While now we have:
- in complex.h
template < class FaceType > bool FaceVectorHasPerFaceVFAdjacency (const std::vector<FaceType > &) { return FaceType::HasVFAdjacency(); }
template < class TriMeshType> bool HasPerFaceVFAdjacency (const TriMeshType &m) { return tri::FaceVectorHasPerFaceVFAdjacency (m.vert); }
- and in component_ocf.h
template < class FaceType >
bool FaceVectorHasPerFaceVFAdjacency(const face::vector_ocf<FaceType> &fv)
{
if(FaceType::HasVFAdjacencyOcf()) return fv.IsVFAdjacencyEnabled();
else return FaceType::HasVFAdjacency();
}
2012-03-31 01:16:58 +00:00
Paolo Cignoni
b43fffd46f
added a few security assert on deletion of simplexes that you are actually deleting objects that belongs to the given mesh
2012-03-30 23:43:04 +00:00
Paolo Cignoni
e3d0a6d0cb
added method for generating a random point into a triangle (it generate three random barycentric coords)
2012-03-30 23:42:04 +00:00
Nico Pietroni
a53447ab1c
added VFOrderedStarVF_FF function
2012-03-29 16:36:01 +00:00
Nico Pietroni
fe71126700
added TransformationMatrix function
2012-03-29 16:34:31 +00:00
Nico Pietroni
d5e7d551ba
clean up the code and used new per face component
2012-03-29 16:33:33 +00:00
ganovelli
bbcfbfabc2
added CurvatureDir to Face
2012-03-28 12:39:22 +00:00
ganovelli
749f67c3b6
added curvature direction
2012-03-28 11:56:10 +00:00
Nico Pietroni
4f166fbd95
added Crease Flag access functions
2012-03-16 13:49:04 +00:00
Nico Pietroni
d4275a3597
added several functions
2012-03-16 13:48:18 +00:00
Nico Pietroni
d941439fbb
corrected several bugs and done several changes
2012-03-16 13:47:42 +00:00
Paolo Cignoni
57bd611892
added assert in the VFIterator to handle uninitialized topology.
2012-03-14 16:02:30 +00:00
Paolo Cignoni
c4e116a42a
Corrected a bug in the RemoveUnreferencedVertex. It considered only faces and removed vertices referenced by edges
2012-03-14 16:01:30 +00:00
Paolo Cignoni
f58551601a
CHANGE to the VERY USED PointDistanceBase, the basic functor used to find the closest point to a face in all the grids.
...
It has a bug that could return a nan in some degnerate case where an almost null face has different vertices but the squared distance between them could be zero.
Now it should handle also these cases.
2012-03-14 15:59:42 +00:00
Paolo Cignoni
b57a747441
rewriting of the SegmentPointSquaredDistance, now it is much much much shorter.
2012-03-14 15:57:37 +00:00
Nico Pietroni
ad417602bd
added default constructor
2012-03-09 11:01:25 +00:00
Nico Pietroni
5e7f95f94a
major changes
2012-03-08 18:09:31 +00:00
Nico Pietroni
f97f54a89b
erased vertex manifold as prerequisite
2012-03-08 18:09:09 +00:00
Nico Pietroni
1aed2f16da
first release version.. need to be tested in several functions
2012-03-08 18:08:35 +00:00
Paolo Cignoni
add25e7bf0
added a missing std::
2012-02-27 07:06:26 +00:00
Paolo Cignoni
29fdad2622
Added constructor with seed to the Mersenne rnd generator
2012-02-27 06:58:17 +00:00
Paolo Cignoni
6983d4f6e9
Added a few comments...
2012-02-25 14:40:23 +00:00
Paolo Cignoni
bc57fc36b4
Moved here and cleaned the kdtree for points implemented by Gael
2012-02-22 16:57:44 +00:00
Luigi Malomo
01453b8b0e
Fixed a call to InterpolationParameters. A Point3 reference must be provided for barycentric coordinates output, instead of 3 separate scalars.
2012-02-14 12:13:38 +00:00
Luigi Malomo
f358db54fd
Added a quick check for callback presence (avoid crash if cb function is not provided)
2012-02-14 12:02:43 +00:00
Paolo Cignoni
1def190868
harmless gcc warnings
2012-02-09 17:55:41 +00:00
Paolo Cignoni
159f9d0c0f
added an assertion to block the use of VEiterators in case of unitialized VEadjacency
2012-02-09 17:54:25 +00:00
Paolo Cignoni
c8e202738c
added initialization of VE adjacency components to something that allows to discriminate between the uninitializated adjacency and a vertex with no edges
2012-02-09 17:53:08 +00:00
Paolo Cignoni
d331cf7f60
Added OrientedDisk creation method. and a missing "clear()"
2012-02-09 17:50:38 +00:00
Paolo Cignoni
790cf5d7ef
Added a second function to compute the distance between a point and a box, according to the fact that you need the distance between the surface of a box or the distance from the filled box (e.g. the distance is 0 inside the box)
2012-02-09 17:30:54 +00:00
Paolo Cignoni
86f636b64b
Added function to add a point with radius to a bbox.
2012-02-09 17:24:23 +00:00
Nico Pietroni
69508353bb
resolved minor compilation issues
2012-02-09 14:02:34 +00:00
Paolo Cignoni
c90b11ca80
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
...
This changed implied the fact that you need different functor constructor (you have to keep the mesh inside it to know at runtime if some attribute are present or not)
2012-01-25 10:23:22 +00:00
Nico Pietroni
fc7983d3fd
added HasPolyInfo function, line 538
2012-01-24 13:34:46 +00:00
Nico Pietroni
5ad96544bb
added several functions...
2012-01-23 13:09:38 +00:00
Paolo Cignoni
b10ed11bc0
Added two functions to build disk, rectangles and squares (oriented in space).
...
Changed the reflection functions as usual
2012-01-23 07:07:19 +00:00
Paolo Cignoni
c32db09276
Changed the name of the Distance from point to plane
...
from DistancePointPlane
to SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-23 06:47:31 +00:00
Paolo Cignoni
48e607f884
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-23 06:38:32 +00:00
Paolo Cignoni
4bdf843589
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 08:03:25 +00:00
Paolo Cignoni
6094438b4b
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:58:43 +00:00
Paolo Cignoni
58042fda3e
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:52:22 +00:00
Paolo Cignoni
7fb6c417da
Missing Include
2012-01-20 07:51:49 +00:00
Paolo Cignoni
e9d476e93c
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:49:26 +00:00
Paolo Cignoni
a53887e893
added operator [] and function Direction()
2012-01-18 16:45:50 +00:00
Paolo Cignoni
a61f6db8ac
corrected return value bug
2012-01-18 16:43:40 +00:00
Paolo Cignoni
5bb5c1a1eb
Correct a function name to match attribute order
...
IntersectionPlaneLine(line,plane) -> IntersectionPlaneLine(plane,line)
2012-01-18 16:41:34 +00:00
Paolo Cignoni
f4cf3b9221
Changed the name of the Distance from point to plane
...
from DistancePointPlane
to SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-18 11:44:42 +00:00
Paolo Cignoni
86617dd872
Changed the name of Clean::IsOrientedMesh() -> Clean::OrientCoherentlyMesh()
...
It is a mesh changing method!
2012-01-18 11:42:08 +00:00
Paolo Cignoni
57e4689e1b
corrected bug in the ImportVertexAdj Topology must be copied only if meaningful.
2012-01-18 11:27:07 +00:00
Paolo Cignoni
ac3107cdb4
added comments to the color Scatter function (I never remember the meaning of the params)
2012-01-18 11:24:33 +00:00
Paolo Cignoni
048b884a3e
Added tri:UpdatePosition::Scale(mesh)
2012-01-18 11:22:40 +00:00
Nico Pietroni
75aca76eb7
Added PointInsidePolygon function
2012-01-12 00:53:37 +00:00
Nico Pietroni
bb7fbdcc88
line 193 corrected composition of transformations
2012-01-12 00:52:04 +00:00
ganovelli
d256abfaaf
added PointScaledDistanceFunctor
2011-12-21 16:15:32 +00:00
ganovelli
c097e6edd5
added GetClosestVertexScale
2011-12-21 16:13:07 +00:00
ganovelli
c2e3d66d19
added template parameter in function call
2011-12-21 16:10:30 +00:00
Paolo Cignoni
95e69075e4
Yet another removal of the usage of the faceprojection flags
2011-12-19 00:51:49 +00:00
Paolo Cignoni
0fe6fdaedc
Yet another removal of the usage of the faceprojection flags
2011-12-19 00:51:03 +00:00
Paolo Cignoni
11fa2ba58a
Added ComputeEdgeHistogram to Stat functions
2011-12-18 22:33:27 +00:00
Paolo Cignoni
9af315bb18
Two significant changes
...
1) the name of the supposedly non changed mesh is done explicit in the template name
2) If the the selection of the vertexes is not consistent with the face selection the append could build faces referencing non existent vertices so it is mandatory that the selection of the vertices reflects the loose selection from edges and faces (e.g. if a face is selected all its vertices must be selected
2011-12-15 07:52:51 +00:00
Paolo Cignoni
3b61972116
Implemented the correct management of per edge attribute. It was half done...
2011-12-15 07:23:51 +00:00
Paolo Cignoni
412ef1aa65
Added UpdateSelection::VertexFromEdgeLoose
...
added parameter for preserving the old selection to the UpdateSelection::VertexFromFaceLoose
2011-12-14 08:54:54 +00:00
Paolo Cignoni
ae58754015
Significant change of names to the UpdateSelection Class.
...
now follows the standard VertexClear instead of ClearVertex.
Updated all the other files of vcg using it...
(added also selection stuff for edges..)
2011-12-13 10:07:00 +00:00
Paolo Cignoni
5ec7fc1e4a
added missing const to the Index function
2011-12-12 23:29:16 +00:00
Paolo Cignoni
c038b3584e
Corrected blatant bugs in the updateTopology--VertexEdge
2011-12-12 23:28:25 +00:00
Paolo Cignoni
c8fecaecf3
added Class VEIterator for traversing all the edges over a single vertex
2011-12-12 23:27:26 +00:00
Paolo Cignoni
e8971a7ee7
corrected bug in vertexEdge adjacency relations
2011-12-12 23:26:25 +00:00
ganovelli
f4010f0dce
corrected setOrtho
2011-12-07 13:15:28 +00:00
Paolo Cignoni
e4b114ea55
Added CheckFlipEdgeNormal that check if a flip modify the involved normals more than a given threshold.
2011-11-30 18:04:53 +00:00
ganovelli
27e6c3eb39
*= fixed
2011-11-21 16:47:13 +00:00
ganovelli
ab373e50cd
missing include added
2011-11-21 16:12:48 +00:00
Paolo Cignoni
3d6857a0b0
re-added the empty constructor to marker face...
2011-11-21 14:04:23 +00:00
Marco Callieri
7616955d64
changed function call from Distance to DistancePlanePoint
2011-11-21 13:20:45 +00:00
Paolo Cignoni
5bcb52529b
harmless gcc warning
2011-11-21 09:38:00 +00:00
Paolo Cignoni
b09619c1ea
harmless gcc warning
2011-11-21 09:37:18 +00:00
Paolo Cignoni
5af75e6dac
Removed bug in the ImportEdgeAdj, ImportFaceAdj, ImportHEdgeAdj. All of the same kind...
...
for(unsigned int vi = 0; vi < 2; ++vi)
{
size_t i = Index(mr,er.cEEp(vi));
el.EEp(i) = (i>ml.edge.size())? 0 : &ml.edge[remap.edge[i]];
el.EEi(i) = er.cEEi(i);
}
el.EEp(i) should be el.EEp(vi) !!!!
2011-11-21 09:36:21 +00:00
Paolo Cignoni
0e76a8e0ce
Removed the useless faceprojection flag update function. No more needed!
2011-11-21 09:10:52 +00:00
Paolo Cignoni
e340e6d1c0
removed old lib svd and substituted with eigen.
...
Anyway is someone really using this file?
2011-11-21 09:09:58 +00:00
Paolo Cignoni
285d78d293
removed the default empty constructor to avoid the use of the object without a mesh....
2011-11-21 09:07:36 +00:00
Paolo Cignoni
8f7aab147d
changed BASIC VERSION of the Point-face distance that does not require the EdgePlane Additional data.
...
now it does not require any more the dreaded face bit flags...
2011-11-21 08:56:52 +00:00
Paolo Cignoni
4c4d505b6f
added assert for discouraging inconsistent triangleplane intersection
2011-11-21 08:54:35 +00:00
Paolo Cignoni
20ec79715b
Improved comments to the interpolation function that requires a preferential axis
2011-11-21 08:02:31 +00:00
Paolo Cignoni
62167e43bf
removed useless reference return in const int imark()
2011-11-21 07:25:31 +00:00
Paolo Cignoni
66b2f8539f
removed useless reference return in const int imark()
2011-11-21 07:22:00 +00:00
granzuglia
59b789818e
renamed ILLUMINANT_* with VCG_ILLUMINANT_* in order to avoid conflicts with the visual studio defines.
2011-11-18 10:42:19 +00:00
Paolo Cignoni
c9fbf25362
Cleaned up
...
- gcc warnings
- useless printf...
2011-11-15 18:03:58 +00:00
Paolo Cignoni
342f182ee0
Added RemoveDuplicateEdge and CountNonManifoldEdgeEdge
2011-11-15 11:20:12 +00:00
Paolo Cignoni
f9a7860f5e
Added a much more robust IntersectionPlaneMeshQuality function to compute the intersection between a mesh and a plane that exploit quality for storing the distance from the plane and to make consistent decision about the cutting of the plane...
2011-11-15 11:19:08 +00:00
Paolo Cignoni
e0055f8b5c
added a missing const...
2011-11-15 11:15:24 +00:00
Paolo Cignoni
0a80e1e8ca
Cleaning up Plane3...
...
- comments (the sign of the offset please!!!)
- name of the Distance function -> DistancePointPlane(...)
- a missing normalization in the Init (!)
2011-11-15 11:11:12 +00:00
Paolo Cignoni
f631d88c90
changed the comment of the function Convert from polar coordinates to cartesian coordinates ** it uses RADIANS and not degree...**
2011-11-15 11:07:49 +00:00
Paolo Cignoni
2ab3b3ab5b
Changed the semantic and the return value of the generic DeleteAttribute (e.g. the one that does not take a type)
...
** It must not crash if you try to delete a non existing attribute,
because you do not have a way of asking for a handle of an attribute for which you do not know the type.
2011-11-15 11:05:35 +00:00
Paolo Cignoni
89635131a7
added in the comment a biblio ref to a very similar approach
2011-11-07 16:09:35 +00:00
Paolo Cignoni
34921eb3ba
corrected small nasty bug in the rarely used compact edge vector...
2011-11-07 15:41:59 +00:00