Commit Graph

470 Commits

Author SHA1 Message Date
ganovelli 729cd02057 [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
2009-01-14 17:45:18 +00:00
Paolo Cignoni 0db413a1f4 fix compilation 2008-12-29 12:01:23 +00:00
Paolo Cignoni 190e1612c7 added VVStarVF that computes the star of a given vertex exploiting VF adjacency 2008-12-21 01:41:07 +00:00
Paolo Cignoni eca304e5f5 mark of Vertex should not be named HasFaceMarkOcf!! 2008-12-21 01:39:46 +00:00
ganovelli 8a1fdbe37f [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:34:41 +00:00
ganovelli 045832c348 [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:34:17 +00:00
ganovelli d88ae15696 [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:33:51 +00:00
ganovelli 4f8ed978a7 [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:33:23 +00:00
ganovelli f9a1578c8d [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:33:01 +00:00
ganovelli 49b4970452 [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:32:32 +00:00
ganovelli c9b6f8f7c8 2008-12-19 10:31:56 +00:00
ganovelli 698f6cbd7e [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:30:51 +00:00
ganovelli ca3f973398 added unsupported to deprecated in the warning 2008-12-12 18:11:42 +00:00
ganovelli 76eefc7fb8 added unsupported to deprecated in the warning 2008-12-12 18:10:36 +00:00
Paolo Cignoni 007d6b94f5 added two const to the next and prev index returning functions 2008-12-05 22:42:55 +00:00
ganovelli 3cbdda3232 added EmptyEEAdj to the type holder 2008-11-27 18:21:01 +00:00
ganovelli a00abdc73c added EmptyHEData in EdgeBase 2008-11-26 17:43:28 +00:00
ganovelli cb547de5ec removed a few bugs, added EmptyHEData class 2008-11-26 17:42:55 +00:00
ganovelli 327874865a removed a few bugs on calls to Alloc() 2008-11-26 17:41:47 +00:00
Paolo Cignoni c7719d7d35 Corrected wrong max_band 2008-11-20 13:29:26 +00:00
Paolo Cignoni 360da1dd58 small changes (this-> disambiguations) and a type hack to grant compilation on mac gcc 2008-11-13 09:44:46 +00:00
ganovelli f80c878644 [EDGE SUPPORT] Added template parameter to query function to comply mods in vcg/complex/trimesh/base.h 2008-11-12 16:21:30 +00:00
ganovelli 81a4a5b4f5 added missing cC() access to color 2008-11-12 16:20:53 +00:00
ganovelli 62ff8885c0 Added missing Prev and Next to PolyInfo
[EDGE SUPPORT] Added PFEAdj (pointer to edge)
2008-11-12 16:19:52 +00:00
ganovelli d3ba33039b [EDGE SUPPORT] Added template parameter to qyery function to comply mods in vcg/complex/trimesh/base.h 2008-11-12 16:18:28 +00:00
ganovelli 085d51edfa [EDGE SUPPORT] added FEAdj component 2008-11-12 16:17:07 +00:00
ganovelli 896e0edc04 minor - just identation 2008-11-12 16:15:52 +00:00
ganovelli be05277504 added the components to implement the half edge data structure:
HEOppAdj   : pointer to the opposite half edge
HEVAdj     : pointer to the vertex 
HENextAdj  : pointer to the next half edge
HEPrevAdj  : pointe to the previous half edge
EFAdj      : pointer to the face
HEdgeData  : groups all previous except (HEPrevAdj)
2008-11-12 16:14:13 +00:00
Paolo Cignoni 4e46ff3be6 Added HasPerVertexRadius(mesh) 2008-10-31 12:27:37 +00:00
Paolo Cignoni 7befff7bec make point2 derived Eigen's Matrix, and a set of minimal fixes to make meshlab compile
with both old and new version. The fixes include:
- dot product: vec0 * vec1 => vec0.dot(vec1) (I added .dot() to the old Point classes too)
- Transpose: Transpose is an Eigen type, so we cannot keep it if Eigen is used. Therefore
  I added a .tranpose() to old matrix classes, and modified most of the Transpose() to transpose()
  both in vcg and meshlab. In fact, transpose() are free with Eigen, it simply returns a transpose
  expression without copies. On the other be carefull:  m = m.transpose() won't work as expected,
  here me must evaluate to a temporary: m = m.transpose().eval(); However, this operation in very
  rarely needed: you transpose at the same sime you set m, or you use m.transpose() directly.
- the last issue is Normalize which both modifies *this and return a ref to it. This behavior
  don't make sense anymore when using expression template, e.g., in (a+b).Normalize(), the type
  of a+b if not a Point (or whatever Vector types), it an expression of the addition of 2 points,
  so we cannot modify the value of *this, since there is no value. Therefore I've already changed
  all those .Normalize() of expressions to the Eigen's version .normalized().
- Finally I've changed the Zero to SetZero in the old Point classes too.
2008-10-28 00:59:46 +00:00
ganovelli d5113f6204 added missing functions
IsCurvatureDirEnabled
EnableCurvatureDir

and debugged CurvatureDirTypeOcf, which
returned wrong values and [MAJOR] wasted
8 floats per vertex every time it was included in the type (enabled or not)
2008-10-24 09:54:23 +00:00
ganovelli 3a5b6ed2f3 added missing checks in ImportLocal 2008-10-24 09:50:55 +00:00
ganovelli cba885edbe missing (unreachable) return added 2008-10-24 09:49:47 +00:00
Paolo Cignoni 64ce68dac0 * make EmptyRadius::HasRadius returns false
* make gl/Shader and gl/Program* a bit easier to use:
 - automatic object creation
 - add Uniform() overloads for vcg::Point*f types
2008-10-15 08:02:14 +00:00
ganovelli 79ef95435a Compacted EmptyCurvature and EmptyCurvatureDir in EmptyCurvatureData and added EmptyRadius 2008-10-14 16:47:02 +00:00
ganovelli c454c38e60 added EmptyCurvatureData and EmptyRadius 2008-10-14 16:45:36 +00:00
ganovelli 8198cf4c8b added HasFaceQualityOcf() to EmptyColorMarkQuality 2008-10-14 16:42:29 +00:00
Paolo Cignoni fc98a34972 Add an optional per vertex radius property in occ, ocf, and IO mask.
Extend derivation_chain from 10 to 12
2008-10-14 14:58:09 +00:00
ganovelli 699ca34f0c added missing HasFaceQualityOcf() in InfoOcf 2008-10-14 09:23:36 +00:00
Paolo Cignoni f15dcf5536 compacted the EmptyMark componenet into the EmptyColorMarkQuality component, to shorten the derivation. 2008-10-14 06:41:46 +00:00
Paolo Cignoni 94178d7128 Added optional per face quality 2008-10-14 06:40:29 +00:00
granzuglia 5d25249427 removed a stupid reference (&) from function VN's return type 2008-10-08 15:11:38 +00:00
Paolo Cignoni f30376e18d Added const qualifier to method cC() in Color class 2008-10-08 14:43:15 +00:00
ganovelli 75a7b0a846 [Polygon modification]
Added components to the face to handle generic polygons.
(compiled with .net and gcc)

This commit includes the following files:
vcg/complex/trimesh/base.h
Added deallocation of polygon data in the destructor

vcg/complex/trimesh/allocate.h
generalization from 3 to VN() vertices

vcg/complex/trimesh/update/topology.h
generalization from 3 to VN() vertices

vcg/complex/trimesh/update/flags.h
generalization from 3 to VN() vertices

vcg/simplex/face/pos.h
generalization from 3 to VN() vertices

vcg/simplex/faceplus/base.h
Added the method VN() to query the number of vertices
of the polygon (deafult 3) and methods Prev and Next

vcg/simplex/faceplus/component.h
added Alloc and Dealloc calls along the hierarchies
2008-10-08 10:19:07 +00:00
ganovelli 0455dda283 corrected include path 2008-10-08 09:54:24 +00:00
ganovelli 23f7fc2bc3 added component for the spherical harmonics (by Daniele Bernabei) 2008-10-08 09:47:26 +00:00
ganovelli 0d4b3fbed0 [Polygon modification]
Added components to the face to handle generic polygons.
(compiled with .net and gcc)

This commit includes the following files:
vcg/complex/trimesh/base.h
Added deallocation of polygon data in the destructor

vcg/complex/trimesh/allocate.h
generalization from 3 to VN() vertices

vcg/complex/trimesh/update/topology.h
generalization from 3 to VN() vertices

vcg/complex/trimesh/update/flags.h
generalization from 3 to VN() vertices

vcg/simplex/face/pos.h
generalization from 3 to VN() vertices

vcg/simplex/faceplus/base.h
Added the method VN() to query the number of vertices
of the polygon (deafult 3) and methods Prev and Next

vcg/simplex/faceplus/component.h
added Alloc and Dealloc calls along the hierarchies
2008-10-08 09:10:53 +00:00
ganovelli e16d065e93 [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:41:58 +00:00
ganovelli e652cc5a38 [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 (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:42:55 +00:00
ganovelli de35204e95 [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 (4 letters namespaces):
order 0 (vertex)      :vert 
order 1 (edge)        :edge 
order 2 (triangle)    :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:42:16 +00:00