Commit Graph

673 Commits

Author SHA1 Message Date
Paolo Cignoni 8d77ac39e3 updated the slicing/capping/edgemesh sample 2011-05-11 10:07:27 +00:00
Paolo Cignoni 6b7e9fb37d Added sample on edge mesh (intersection of a mesh with a plane 2011-05-11 06:06:50 +00:00
ganovelli 95713e5723 updated to current version of the library 2011-04-15 14:02:55 +00:00
ganovelli d967184dee Basic app with AntTweakBar and freeglut.
Added. Still to fix pro file to use freeglut and AntTweakBar
2011-04-06 15:10:44 +00:00
ganovelli c018a60762 Ongoing Rearrangement of filepath
replaced the path to comply the filepaths modification.
The replacements are as follows:

/complex/trimesh/base.h --> /complex/complex.h
/complex/trimesh/allocate.h --> /complex/allocate.h
/complex/trimesh/append.h --> /complex/append.h
/complex/trimesh/ --> /complex/algorithms/
/complex/local_optimization/ ---> /complex/algorithms/local_optimization/
/complex/local_optimization.h ---> /complex/algorithms/local_optimization.h
/complex/intersection.h ---> /complex/algorithms/intersection.h
/complex/boundary.h ---> /complex/algorithms/boundary.h
2011-04-01 17:09:03 +00:00
ganovelli 5909925947 Ongoing Rearrangement of filepath
replaced the path to comply the filepaths modification.
The replacements are as follows:

/complex/trimesh/base.h --> /complex/complex.h
/complex/trimesh/allocate.h --> /complex/allocate.h
/complex/trimesh/append.h --> /complex/append.h
/complex/trimesh/ --> /complex/algorithms/
/complex/local_optimization/ ---> /complex/algorithms/local_optimization/
/complex/local_optimization.h ---> /complex/algorithms/local_optimization.h
/complex/intersection.h ---> /complex/algorithms/intersection.h
/complex/boundary.h ---> /complex/algorithms/boundary.h
2011-04-01 17:07:57 +00:00
ganovelli d52126591c minor corrections for recompiling all the samples and removal of some warnings:
removed deprecated LIBPATH
2011-03-31 15:47:27 +00:00
Paolo Cignoni cc5645ca46 Added removals of degenerate configurations 2011-02-04 17:12:20 +00:00
Paolo Cignoni 764b2779cb Added quad simplification sample 2011-01-31 17:05:24 +00:00
ganovelli 7f5f09b492 obsolete: removed. Use qmake (.pro files) 2010-12-07 13:46:01 +00:00
ganovelli 49cb3744b5 uypdated to the new definition of vcg mesh 2010-12-07 13:03:36 +00:00
ganovelli 732a1437bc added 2010-11-06 16:09:32 +00:00
Paolo Cignoni 1b8ae49999 Moved old SDL stuff out of the sample folder into the more junky test folder 2010-10-15 08:43:41 +00:00
Paolo Cignoni ee675f4f01 start to cleaning up the sample folder 2010-10-15 08:42:22 +00:00
Paolo Cignoni fc27271fc9 added edge class as required by the new declaration style 2010-09-02 21:42:07 +00:00
Paolo Cignoni 6b28cb9501 changed to the new mesh clipping framework 2010-07-05 10:27:38 +00:00
Paolo Cignoni 5e3b15b690 added missing include 2010-07-05 10:15:59 +00:00
Paolo Cignoni 572170bfdd minimal formatting changes 2010-07-05 10:15:30 +00:00
Paolo Cignoni b10bfc04e2 Better comment and printing 2010-05-04 15:17:52 +00:00
Paolo Cignoni ee38039e83 Add simple example that compute Shape Diameter Function using ray tracing and exploiting VCG library indexing structure 2010-05-04 08:17:13 +00:00
Paolo Cignoni 7e2e81bdc9 cleaned up to new interfaces 2010-04-30 09:56:37 +00:00
ganovelli 38dcf9bc00 updated to changes in clean.h 2010-04-30 09:42:52 +00:00
mtarini fc29465c4a Cleaned + added one-quad-per-edge schema to it. 2010-04-29 15:08:18 +00:00
Paolo Cignoni d8cfbc5e51 Modified mark/unmark of mesh elements to the new static function style 2010-04-28 07:50:30 +00:00
Paolo Cignoni 493553c5f1 cleaned up and added all the refinement strategies including catmull clark (that now crash...) 2010-04-27 14:59:12 +00:00
ganovelli 6aa09931c4 updated to comply with:
[introduction of half edges as alternative representation]

No modification should be necessary for the existing code.

most relevant changes:

creation of folder:
vcg/connectors  
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h

addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn;               // number of half edges

addition of 
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed  and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:47:03 +00:00
ganovelli 3256d9517c updated to the new definition of mesh type [with UsedTypes] 2010-03-18 13:25:20 +00:00
ganovelli ae83ca17ed [ Changes in definition of TriMesh: PART I ]
Note for the developers: the change to make to existing projects is very little 
but strictly necessary to compile. This change IS NOT backward compliant.


==== OLD ==== way to define a TriMesh:

// forward declarations
class MyVertex;
class MyEdge;
class MyFace;

class MyVertex: public VertexSimp2 < MyVertex, MyEdge, MyFace, vertex::Coord3f,...other components>{};
class MyFace: public FaceSimp2 < MyVertex, MyEdge, MyFace, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};


==== NEW ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;

// declaration of which types is used as VertexType, which type is used as FaceType and so on...
class MyUsedTypes: public vcg::UsedType < vcg::Use<MyVertex>::AsVertexType,
                                          vcg::Use<MyFace>::AsFaceType>{};

class MyVertex: public Vertex < MyUsedTypes, vertex::Coord3f,...other components>{};
class MyFace: public Face < MyUsedTypes, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};

                                 
===== classes introduced          
[vcg::UsedType] : it is a class containing all the types that must be passed to the definition of Vertex, Face, Edge... This
class replaces the list of typenames to pass as first templates and the need to specify the maximal simplicial. So 

<MyVertex, MyEdge, MyFace  becomes <MyUsedTypes<

and 

VertexSimp2 becomes Vertex

[vcg::Use] : an auxiliary class to give a simple way to specify the role of a type

Note 2: the order of templates parameters to vcg::UsedTypes is unimportant, e.g:

class MyUsedTypes: public vcg::UsedType <vcg::Use<MyVertex>::AsVertexType,
                                         vcg::Use<MyEdge>::AsEdgeType,
                                         vcg::Use<MyFace>::AsFaceType>{};

is the same as:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyFace>::AsFaceType,
                                         vcg::Use<MyEdge>::AsEdgeType,
                                         vcg::Use<MyVertex>::AsVertexType>{};

Note 3: you only need to specify the type  you use. If you do not have edges you do not need 
to include vcg::Use<MyEdge>::AsEdgeType in the template list of UsedTypes.
==== the Part II will be a tiny change to the class TriMesh it self.
2010-03-15 10:44:40 +00:00
ganovelli cdfed059d3 [ Changes in definition of TriMesh: PART I ]
Note for the developers: the change to make to existing projects is very little 
but strictly necessary to compile. This change IS NOT backward compliant.


==== OLD ==== way to define a TriMesh:

// forward declarations
class MyVertex;
class MyEdge;
class MyFace;

class MyVertex: public VertexSimp2 < MyVertex, MyEdge, MyFace, vertex::Coord3f,...other components>{};
class MyFace: public FaceSimp2 < MyVertex, MyEdge, MyFace, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};


==== NEW ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;

// declaration of which types is used as VertexType, which type is used as FaceType and so on...
class MyUsedTypes: public vcg::UsedType < vcg::Use<MyVertex>::AsVertexType,
                                          vcg::Use<MyFace>::AsFaceType>{};

class MyVertex: public Vertex < MyUsedTypes, vertex::Coord3f,...other components>{};
class MyFace: public Face < MyUsedTypes, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};

                                 
===== classes introduced          
[vcg::UsedType] : it is a class containing all the types that must be passed to the definition of Vertex, Face, Edge... This
class replaces the list of typenames to pass as first templates and the need to specify the maximal simplicial. So 

<MyVertex, MyEdge, MyFace  becomes <MyUsedTypes<

and 

VertexSimp2 becomes Vertex

[vcg::Use] : an auxiliary class to give a simple way to specify the role of a type

Note 2: the order of templates parameters to vcg::UsedTypes is unimportant, e.g:

class MyUsedTypes: public vcg::UsedType <vcg::Use<MyVertex>::AsVertexType,
                                         vcg::Use<MyEdge>::AsEdgeType,
                                         vcg::Use<MyFace>::AsFaceType>{};

is the same as:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyFace>::AsFaceType,
                                         vcg::Use<MyEdge>::AsEdgeType,
                                         vcg::Use<MyVertex>::AsVertexType>{};

Note 3: you only need to specify the type  you use. If you do not have edges you do not need 
to include vcg::Use<MyEdge>::AsEdgeType in the template list of UsedTypes.
==== the Part II will be a tiny change to the class TriMesh it self.
2010-03-15 10:42:03 +00:00
ganovelli 9768533095 (involuntary commit reverted) 2010-03-12 14:58:02 +00:00
ganovelli 898fedcfdf ongoing 2010-02-14 10:23:28 +00:00
Paolo Cignoni 092211c82c cleaned up a bit 2009-10-27 21:43:01 +00:00
Marco Di Benedetto 58f3af4c82 2009-10-26 12:19:48 +00:00
Marco Di Benedetto d3243585c5 first commit. 2009-10-23 20:26:38 +00:00
Paolo Cignoni 144a816862 added basic filter sample for image module 2009-08-25 16:53:04 +00:00
Nico Pietroni a3eee3aa3c 2009-06-10 08:44:22 +00:00
Paolo Cignoni 143f9461dd moved (and renamed) trivial walker from apps/ to vcg/complex/trimesh/create 2009-05-18 14:19:12 +00:00
Paolo Cignoni 66b962e142 Moved simple_volume into the trivial_walker.h file. 2009-05-18 14:13:46 +00:00
Paolo Cignoni 3447c82e88 Removed a few harmless warnings 2009-03-30 20:58:18 +00:00
ganovelli 7378ad68a3 removed the (useless) template parameter to Per[XXX]DeleteAttribute 2009-03-20 10:24:13 +00:00
ganovelli 88ffec1d6a update the lates library mods (definition of edge type) 2009-01-21 17:26:48 +00:00
ganovelli aee7504a93 added base example using polygon meshes and halfedges 2008-12-19 15:37:32 +00:00
ganovelli 67219758ff added base example using polygon meshes and halfedges 2008-12-19 15:36:54 +00:00
ganovelli 497a3ed01b added base example using polygon meshes and halfedges 2008-12-19 15:36:15 +00:00
ganovelli 35d0e58149 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2008-12-19 10:43:36 +00:00
mtarini 7f113872fb Vert => Vertex 2008-11-18 17:09:26 +00:00
mtarini 6e0559be18 vert=>vertex 2008-11-12 16:50:47 +00:00
mtarini ced06f5601 First version. 2008-11-12 16:42:24 +00:00
ganovelli aecc82a589 added trimesh_attribute 2008-11-12 15:01:08 +00:00
ganovelli 6d59f7000a updated to comply mods at the lib
(deprecated simplex definitions, new namespace "vertex", new vertexquality 
function names)
2008-10-31 12:05:24 +00:00
Paolo Cignoni e587581275 add transposeInPlace and duplicate V(int) 2008-10-29 11:17:11 +00:00
Paolo Cignoni 07f2e976ea * change all remaining Transpose to transpose,
* update the gl/math wrappers to make them more Eigen friendly
  (and remove the useless, and not used, and somehow dangerous
   *Direct and *E functions)
* add automatic reinterpret_casting from Eigen::Matrix to vcg
  specialized types
2008-10-29 00:05:44 +00:00
ganovelli 2dc124d060 created. Example of use of user defined attributes 2008-10-28 09:18:52 +00:00
Paolo Cignoni 4db69febbe big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default) 2008-10-27 14:48:14 +00:00
ganovelli 32bb3561ef [Namespaces changes]
vert->vertex


clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (extended namespaces):
order 0 (vertex)      :vertex 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 11:37:41 +00:00
ganovelli 26bf0e3266 [Namespaces changes]
trimesh->tri

clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:13:58 +00:00
ganovelli a73a806d8b chenged the name of the component RT in the vertex definition (it has chenged to edgeplane)
Corrected GetClosest (to compile with gcc)
2008-09-30 10:12:51 +00:00
ganovelli 0468bab362 change from old to plus definition of simplex and
[Namespaces changes]
edge->edg

clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:10:42 +00:00
ganovelli f5c74b4b54 cheanges to comply the change of class structure in ball_pivoting.h 2008-09-30 10:09:45 +00:00
ganovelli 9deaad827d changed definiiton from old style to plus type and
[Namespaces changes]
edge->edg

clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:07:34 +00:00
ganovelli 51105e36e7 added the color to the vertex attributes 2008-09-30 10:06:17 +00:00
ganovelli 164ea33a6c [Namespaces changes]
trimsh->tri

clean up of some namespaces to comply the following naming:

Complexes (3 letters namespaces):
order 0 (point cloud    ) :vrt
order 1 (edge meshes)     :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet

Simplexes (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:05:54 +00:00
Paolo Cignoni 774ce56dea Solved small compilation issues. 2008-09-29 10:11:21 +00:00
Federico Ponchio d82f056032 Used to test last modification to quaternions. 2008-07-23 15:10:56 +00:00
Paolo Cignoni c1eb289181 added a useful mac-only config (no bundle for command line tools please) 2008-06-20 15:12:56 +00:00
Paolo Cignoni ae26b6103d Deleted hopefully the last trash files that were incorrectly added by mistake by Giuseppe Turini (who had svn access removed). PLEASE TAKE A BIT OF CARE BEFORE ISSUING A RANDOM COMMIT. 2008-06-04 12:53:29 +00:00
Paolo Cignoni 1f2b207bf2 Deleted all the rest of the orrible trash directories that were incorrectly added by mistake by Giuseppe Turini (who had svn access removed). PLEASE TAKE A BIT OF CARE BEFORE ISSUING A RANDOM COMMIT. 2008-06-04 12:48:51 +00:00
Paolo Cignoni fcc8797035 2008-06-04 09:26:00 +00:00
Paolo Cignoni 07098f87b9 added saving of quality/confidence 2008-05-29 15:10:02 +00:00
Paolo Cignoni a5e0521569 updated to the new "plus" style and corrected minor gcc errors 2008-05-29 13:39:31 +00:00
granzuglia ae12059ff8 removed minor bugs 2008-05-06 16:05:20 +00:00
granzuglia affcaabe96 first version 2008-05-06 15:57:17 +00:00
granzuglia 655207e1dd added UpdateFFAdjacency 2008-05-06 15:56:29 +00:00
granzuglia 6f7899846d added JumpingPos sample 2008-05-06 15:38:48 +00:00
granzuglia 647985b802 first version 2008-05-06 15:07:57 +00:00
granzuglia 5f300f1683 first version 2008-05-06 14:41:54 +00:00
granzuglia 4d435998f1 first version 2008-05-06 14:09:50 +00:00
granzuglia a02e2a7310 first version 2008-05-06 13:17:15 +00:00
granzuglia 89d3fe5676 removed default constructors from mesh classes 2008-05-06 13:16:52 +00:00
granzuglia 70bad7207c newest version using plus components 2008-05-06 13:00:25 +00:00
Federico Ponchio 12b6eab241 Updated to QT 4.3 2008-02-24 16:09:42 +00:00
Paolo Cignoni 16b3a3e11a missing ending newline 2008-02-22 21:00:22 +00:00
Paolo Cignoni 1736e204dd switched to the plus types 2007-12-13 00:31:04 +00:00
Paolo Cignoni 6427910afe updated gennormal path 2007-12-13 00:29:54 +00:00
Paolo Cignoni d5cd26dfc3 cleaned and refactored a little 2007-12-13 00:21:55 +00:00
Paolo Cignoni 416dedd484 mac options 2007-12-03 00:08:28 +00:00
Paolo Cignoni da55f73367 Adapted for wrap/qt/trackball.h 2007-11-01 11:33:06 +00:00
Paolo Cignoni 905795302a Initial release. 2007-10-18 08:52:06 +00:00
Paolo Cignoni 3170af4d5e Removed becouse the correct version is now under vcg/math 2007-05-22 21:22:09 +00:00
Paolo Cignoni 513e99d9ac Removed becouse the correct version is now under vcg/math 2007-05-22 21:09:57 +00:00
Paolo Cignoni 558f9baddc Corrected gcc compiling issues 2007-05-17 09:39:42 +00:00
ganovelli 1f317f011f gestione double click 2007-05-17 09:06:44 +00:00
Paolo Cignoni 28b75a4649 Version 4.07. 2007-05-11 10:32:52 +00:00
Paolo Cignoni 979b237e54 Initial version 2007-05-10 10:49:35 +00:00
Federico Ponchio f01483d94f Created. 2007-05-10 08:36:46 +00:00
ganovelli 62cde7724b added plus types version (#ifdef _PLUS_TYPES_ to use it ). 2007-05-04 16:50:23 +00:00
Paolo Cignoni f1c14c2a33 First rel 2007-03-22 11:08:13 +00:00
Paolo Cignoni 3605747f0d Updated to the new version of quadric that requires orderedEdge constructor 2007-03-22 10:38:52 +00:00
ganovelli 10384cd0df SDL/SDL.h changed to SDL.h 2007-03-19 17:45:12 +00:00
ganovelli f7a3cb4755 some more comment added 2007-03-17 13:22:55 +00:00