Commit Graph

796 Commits

Author SHA1 Message Date
Paolo Cignoni f83dc8b993 rewrote checkflip edge. 2010-10-01 20:27:30 +00:00
Paolo Cignoni 349e9869cf Updated many vcg files to do not use anymore the vcg::Max(a,b) and vcg::Min(a,b). Use the std version instead. 2010-09-21 22:09:13 +00:00
Paolo Cignoni 8451875482 slight change in the PointDistance. Now it checks with an assert in the ifthenelse chain that it chooses the best projection direction and removed a warning. 2010-07-14 08:09:28 +00:00
ganovelli eb3f1a97fc added HasPerVertexVFAdjacency and HasPerFaceVFAdjacency. Removed
generic HasVFAdjacency which made the logical AND of the two and updated the 
relative calls.
2010-06-24 12:35:37 +00:00
Paolo Cignoni 799914a0d8 commented unused argument of base ImportData to remove gcc warning 2010-06-18 14:32:50 +00:00
ganovelli 585f0462e8 ImportLocal to ImportData. Adjacencies are no more handle by ImportData, but
by speficic functions in append.h (ImportPerxxxAdj(..))
2010-06-16 16:24:26 +00:00
ganovelli de851eb29e inclusion of alltypes.h 2010-05-19 17:16:58 +00:00
Paolo Cignoni 4a4039f138 fixed wrong pointer type in EHAdj class 2010-04-26 15:02:04 +00:00
Paolo Cignoni 7bd30d3ca0 fixed wrong pointer type in FHAdj class 2010-04-26 14:54:44 +00:00
Paolo Cignoni 8a47aaf62f removed a double init of a member of vector ocf and reordered members 2010-04-20 00:57:25 +00:00
Paolo Cignoni 3ee9667060 added two helper functions used for the self intersection tests 2010-04-20 00:56:08 +00:00
matteodelle 8b293069af Corrected an error in the template def. of TriMesh 2010-03-29 08:07:22 +00:00
ganovelli 261ff53ab1 [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:52:18 +00:00
ganovelli 2f8a8945cc added inclusion of used_types.h 2010-03-19 17:21:25 +00:00
ganovelli a2341076c1 added typedef of ScalarType 2010-03-19 17:20:52 +00:00
ganovelli 21dd8aa179 Simplified reflection typedefs:
added type traits to support the mod below:

[ Changes in definition of  TriMesh: PART II ]

Note: No changes to existing code need be the done, this mod
should be fully backward compatible

Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};

new  ways to define a TriMesh ==============

struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};

where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] > 
(the order is unimportant)
2010-03-19 17:19:51 +00:00
ganovelli 9fc476b130 added type traits to support the mod below:
[ Changes in definition of  TriMesh: PART II ]

Note: No changes to existing code need be the done, this mod
should be fully backward compatible

Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};

new  ways to define a TriMesh ==============

struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};

where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] > 
(the order is unimportant)
2010-03-19 17:18:00 +00:00
Paolo Cignoni cf872a327c Doh! Forgot a const in the getbbox of Face Base 2010-03-18 10:28:10 +00:00
Paolo Cignoni 63e21f15cb Disambiguated the origin of the ScalarType and CoordType in the simplex class. Now it derives from the type specified by the vertexRef component for the faces and from the Coord component for the vertexes. To be sure the ScalarType and CoordTypes are initialized to weird point3<bool> and char just to detect easisly when the wrong types shallow... 2010-03-18 10:02:32 +00:00
ganovelli c40a6c3d97 [ 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:52 +00:00
Paolo Cignoni 2a18ebd5f5 Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not. 2010-03-04 13:34:38 +00:00
Paolo Cignoni 5e1f0ce521 Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not. 2010-03-03 16:01:39 +00:00
Paolo Cignoni 5ef6d30d37 Added a test to check in the point to face distance computation to manage the case of degenerated faces. Now correctly resort to distance point to segment. 2010-03-03 00:35:20 +00:00
Paolo Cignoni fc6483307b added a missing cVFi() 2010-02-23 16:45:45 +00:00
Paolo Cignoni 18c92582d4 Cleaned up the CompactFaceVector and the CompactVertexVector, Now they correctly manage existing FV and FF topology by preserving them (if they are initialized to something meaningful). 2010-02-22 17:37:51 +00:00
Nico Pietroni 98eba3ef33 corrected minor compiling issues 2010-02-22 01:03:23 +00:00
Paolo Cignoni 446400f6fc Now the compactvertex and compactface funtions use the importlocal chain so we are sure that all the meaningful data is correctly copied (otherwise ocf stuff will not be copied) On the other hand when using ImportLocal we do not copy pointer based stuff like adjacency and *vertex pointers* that must be terefore copied by hand... 2010-02-19 00:21:26 +00:00
Paolo Cignoni 3b152298cc added runtime assert to prevent dangerous simplex to simplex assignment in the case of OCF optional attributes. 2010-02-11 00:14:35 +00:00
Paolo Cignoni a26b0e34f9 Cleaned up Detach functions and added a special, simpler version of Detatch for 2Manifold cases 2010-01-03 02:01:45 +00:00
Paolo Cignoni 7030dbb151 small change. The FFp<i> shortcuts seems no more used... 2009-12-07 08:31:01 +00:00
Paolo Cignoni 3e7b2267f0 added a missing const to the distance functor 2009-12-02 15:11:00 +00:00
Marco Di Benedetto 939da657a9 added public: to TexCoord* Name(). 2009-12-01 17:36:27 +00:00
Marco Di Benedetto 5b076c064e added public: to WedgeColor* and Color Name(). 2009-12-01 17:35:42 +00:00
Paolo Cignoni 302a7725fa removed harmless warnings 2009-11-17 23:34:46 +00:00
Paolo Cignoni 70ae4d5c50 made public the self inspection member 'name' of the components. I do not know why it was not public in that case. 2009-11-05 22:35:56 +00:00
Paolo Cignoni 5ef3e2ca50 added a missing const cQ() for ocf face component 2009-11-01 09:51:53 +00:00
Paolo Cignoni 6051c1eeaa added a missing IsVFAdjacencyEnabled and a missing typename 2009-10-29 17:16:41 +00:00
Nico Pietroni 74bd57f2fa missing CurvatureType and CurvatureDirType inside EmptyCurvatureData 2009-10-14 17:19:56 +00:00
mtarini 1664791bf3 minor: local variable rename to avoid weird compilation problems. 2009-10-14 14:30:28 +00:00
Nico Pietroni c57e10951c corrected funtion Normal::ImportLocal 2009-10-14 14:25:59 +00:00
Nico Pietroni ea6553f1d5 corrected funtion NormalAbs::ImportLocal 2009-10-14 14:25:00 +00:00
ganovelli 5c0f228a4d added few missing Has*Ocf 2009-10-08 15:46:31 +00:00
Nico Pietroni 98e834c540 corrected 1 bug in PointDistance function 2009-09-18 09:16:17 +00:00
Marco Di Benedetto 6fb6cfbb24 added const to method. 2009-09-03 14:48:22 +00:00
Marco Di Benedetto ae09d558f0 added const to method. 2009-09-03 14:48:08 +00:00
Paolo Cignoni 415228fcd4 Added some missing importLocal functions 2009-08-30 13:54:06 +00:00
Marco Di Benedetto be1d887db6 Renamed LeftT to RightT, added some checks and fixed method name. 2009-08-28 15:26:40 +00:00
granzuglia 14eb3697ec changes in order to compile with gcc 3.x 2009-07-15 16:25:25 +00:00
Marco Di Benedetto 85ccd7dc0b removed unused parameter warning. 2009-06-30 19:00:47 +00:00
Marco Di Benedetto 015d94f736 fixed typo in normal and color (was ImporLocal()). 2009-06-29 05:46:43 +00:00
Marco Di Benedetto 460e6bd73a fixed initialization and resizing bugs on texcoords. 2009-06-29 03:33:56 +00:00
Marco Di Benedetto e5d07a7d62 added specializations for HasPerVertexNormal() and HasPerVertexColor(). 2009-06-28 22:41:05 +00:00
Marco Di Benedetto 24327b218c added HasColorOcf(). 2009-06-28 22:39:57 +00:00
Marco Di Benedetto 4dae9d3d97 added cN() and fixed assert in color. 2009-06-28 03:18:49 +00:00
Marco Di Benedetto 35189992a9 added WedgeNormalOcf and WedgeColorOcf. 2009-06-28 03:17:42 +00:00
Marco Di Benedetto 86c2311130 added HasWedgeRealNormal() (temporary name, now does not depend on vertex normal type) and added const in cWC(). 2009-06-28 03:16:35 +00:00
Marco Di Benedetto 29b9011026 added HasNormalOcf() and HasColorOcf(). 2009-06-28 03:14:48 +00:00
Paolo Cignoni eae78a0251 completed the correct working of temporary data inside the refinement functions 2009-06-25 06:19:00 +00:00
Paolo Cignoni ace6a183b3 added a missing HasPerVertexTexture() 2009-06-24 20:30:36 +00:00
Paolo Cignoni a88ee5b244 Added ocf management of per vertex texture coord 2009-06-23 20:45:44 +00:00
Paolo Cignoni c534298f2f removed harmless warning 2009-06-23 20:45:06 +00:00
Marco Di Benedetto 625497e788 fixed ImportLocal() in WedgeColor: iteration was missing. 2009-06-15 17:26:00 +00:00
Marco Di Benedetto 39156cafe4 completed support for WedgeColor. 2009-06-09 18:23:50 +00:00
Paolo Cignoni 69004410e3 Corrected a wrong function to clear border face flag (and added BORDER012 to the enums of the flags) 2009-06-04 08:15:59 +00:00
Federico Ponchio e888ef1560 removed some useless consts 2009-06-03 12:23:20 +00:00
Paolo Cignoni b96d693960 bool ClearAllF() -> void ClearAllF() (no reason it is a bool returning function) 2009-05-26 22:35:57 +00:00
mtarini ac017fffb6 added few shortcuts to handle faux flags together: IsAnyF, ClearAllF (and a bit-mask FAUX012). 2009-05-26 17:57:24 +00:00
Paolo Cignoni 57a202111c Added the functor PointNormalDistanceFunctor used in the GetClosestFaceNormal. 2009-05-23 20:12:58 +00:00
Paolo Cignoni 291c2790af Removed harmless warnings 2009-05-22 07:54:42 +00:00
mtarini 77f5129ac9 Aggiunto i flags Faux che identificano gli edge dentro una faccia poligonale. 2009-04-20 22:49:33 +00:00
Paolo Cignoni b399b4943f added two assert that checks that you have consistently prepared your mesh before feeding it into a grid for distance checking. 2009-04-19 21:20:08 +00:00
Paolo Cignoni 8be6f002a3 Significant rewrote of the ImportLocal framework. Now it can really manage differently typed meshes.
It still requires that for OCF meshes the user enable stuff as needed.
2009-04-05 23:33:04 +00:00
Paolo Cignoni 7f2d51828f added a missing cQ() constant member 2009-04-05 21:53:09 +00:00
Paolo Cignoni 2631ae5351 Added sph49f, disabled ImportLocal for a while 2009-03-25 07:51:28 +00:00
Paolo Cignoni b8fc43e7c6 Added non optional per vertex radius component 2009-03-18 15:53:52 +00:00
Marco Di Benedetto eeacaeff3b fixed WN and WT assignments (indices used). 2009-03-17 16:40:36 +00:00
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
ganovelli ea7b394eb3 [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:41:41 +00:00
ganovelli 811b263e33 [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:40:42 +00:00
ganovelli cdb021e821 added typenames to compile with gcc 2008-09-30 10:38:58 +00:00
ganovelli 5d1bd20c33 added warning for deprecation of this way to define the simplex 2008-09-30 10:38:04 +00:00
ganovelli 7021c9af38 added warning for deprecation 2008-09-30 10:35:44 +00:00
ganovelli 4697eb936f typenames and definition added to compile with gcc. THe aprt of type querying temporarily commented out (to fix) 2008-09-30 10:34:27 +00:00
ganovelli 4fc9dd2639 added edgeSimp definition 2008-09-30 09:47:25 +00:00
ganovelli b5bca977a7 added pragma message to deprecate this way to define the simplex 2008-09-28 14:30:09 +00:00
ganovelli 68d900ec7e changes to compile previous commit with gcc 2008-09-24 09:15:38 +00:00
ganovelli a952bb1801 DistanceFunctor templated on the type of the query
Added PointNormalDistanceFunctor
2008-09-24 08:42:17 +00:00
ganovelli f6da3d936d DistanceFunctor templated on the type of the query 2008-09-24 08:41:04 +00:00
Paolo Cignoni e7c9656219 Corrected the ImportLocal function for most of the optional classess. Previous version did not check for the availability of the optional component before trying to import it. 2008-08-28 07:19:04 +00:00
Paolo Cignoni 559161beda Changed the name of the pointer to edge Ep into the more standard VEp (like vertex plus and the other vertex to simplex adjacencies VFp and VTp) 2008-08-20 20:34:01 +00:00
Paolo Cignoni 5843045302 Added missing VEAdj (adjacency vertex-edge used in EdgeMesh) 2008-08-17 20:29:23 +00:00
ganovelli 96e89673ec corrected bug in ImportLocal of N() 2008-08-07 16:16:06 +00:00
ganovelli b284013486 replaced "=" with Import(..) in ImportLocal of P().
Note: this means that ImportLocal converts the type of vertex position.
2008-08-07 16:14:45 +00:00
ganovelli 523634a27b added const C(), corrected bug in ImportLocal of WT 2008-08-07 16:11:59 +00:00
ganovelli e17c0de7e8 made the function Name of Color and Quality a public member 2008-08-04 10:47:53 +00:00
Paolo Cignoni 1407af2537 removed harmless warnings 2008-07-09 10:31:55 +00:00
Paolo Cignoni d83de7eef4 Small modifications to compile with gcc >4.3 (thanks to Carlo Casta!) 2008-07-05 23:35:06 +00:00
Paolo Cignoni 445cf3bec0 removed harmless warnings 2008-06-30 15:00:47 +00:00
Paolo Cignoni d3debc41e4 Changed the SetFF IsFF, ClearFF flag functions to the new names SetF IsF, ClearF 2008-06-30 09:58:43 +00:00
Paolo Cignoni 0c68c95685 added function IsF()/SetF()/ClearF() to check if a given side of the face is a feature/internal edge; are used by some importer to mark internal edges of polygonal faces that have been triangulated 2008-06-26 08:36:28 +00:00
ganovelli 1c8f9ed436 corrected: DumET DumFt and DumTT to DumClass (see derivation_chain.h) 2008-06-23 17:10:48 +00:00
ganovelli 20610a1915 corrected: DumET DumFt and DumTT to DumClass (see derivation_chain.h) 2008-06-23 17:06:28 +00:00
ganovelli 22aa059de2 factorized, see vcg/container/derivation_chain.h 2008-06-23 14:27:44 +00:00
ganovelli d35e8ba0c4 factorized, see vcg/container/derivation_chain.h 2008-06-23 14:25:39 +00:00
ganovelli c7f76ab84b factorized, see vcg/container/derivation_chain.h 2008-06-23 14:22:32 +00:00
Paolo Cignoni 3779f19eee Corrected nasty bug in the newest version of the point-face distance, now the two versions are quite coherent 2008-06-13 06:03:27 +00:00
Paolo Cignoni 7f4d6cbd76 Added a version of the point-face distance function that does NOT require the precomputed edgeplane additional data. 2008-06-04 13:27:10 +00:00
Paolo Cignoni 89bdafdf8c Other improvements in the ImportLocal. Bug removed (ocf data was imported even if the component was not enabled) 2008-05-28 07:25:20 +00:00
Paolo Cignoni 6bb1ea8fcc Small syntax error in the various ImportLocal 2008-05-27 16:32:58 +00:00
Paolo Cignoni 19c4510a33 Corrected bug in the management of ocf curvature components 2008-05-26 09:52:38 +00:00
Paolo Cignoni 36361be798 Big change. removed nexte.
Now the function is NextFE.
added find border function
2008-04-11 10:13:01 +00:00
Paolo Cignoni 0caa683764 better comments, renamed I() -> E()
removed wrong coherent function
2008-04-11 10:11:32 +00:00
Paolo Cignoni de92614c18 FaceType::VerteType --> FaceType::VertexType 2008-04-06 08:55:16 +00:00
Paolo Cignoni 46096f6b64 Cleaned up names, now Kg() gives back Gaussian Curvature (k1*k2), while Kh() gives back Mean Curvature 1/2(k1+k2) 2008-04-04 10:26:12 +00:00
Paolo Cignoni 89a4321cdf added optional mark and cleaned up some nasty type bugs. 2008-04-03 23:15:40 +00:00
Paolo Cignoni 242e5ab82a compacted two pair of empty components to shorten derivation chains 2008-04-03 23:12:28 +00:00
Paolo Cignoni 0a367b89ba Increased the derivation chain lenght. God save the compiler patience! 2008-04-03 23:02:17 +00:00
Paolo Cignoni f9538e9f56 added missing include 2008-03-18 14:29:01 +00:00
ganovelli bd36c63923 added curvature and curvatruredir (compiled .net 2005 and gcc) 2008-03-17 11:39:15 +00:00
Paolo Cignoni 3d4222b231 Completed the garbage collecting functions CompactVertexVector and CompactFaceVector. 2008-03-11 09:22:07 +00:00
Paolo Cignoni 97c0bd9ffa Added FFpi methods and better init of texture coords 2008-02-28 15:41:17 +00:00
Paolo Cignoni 28c5847ec9 Other small typos 2008-02-05 20:42:43 +00:00
Paolo Cignoni a0cd1fc321 A small typo (a T:: instead of TT::) 2008-02-05 10:11:34 +00:00
ganovelli 0b53e968b8 typo in EmptyVertexRef corrected 2008-02-05 09:38:18 +00:00
ganovelli a39a42d2ca added ImportLocal which imports all local attributes into vertexplus and faceplus.
A local attribute is everything (N(), C(), Q()....) except pointers to other simplices
(i.e. FFAdj, VFAdj, VertexRef) which are set to NULL.
Added some function for const attributes
2008-02-04 21:26:49 +00:00
Paolo Cignoni 343df1c14c Important Change. Now GetBBox return a null bbox if called on a deleted face (instead of crashing) 2008-02-03 23:49:42 +00:00
Paolo Cignoni 8883301247 added assert when writing on empty data members 2008-01-28 08:42:51 +00:00
ganovelli b13473bdc7 missing const cVF added 2008-01-19 17:49:05 +00:00
Nico Pietroni 491317ecd5 *** empty log message *** 2008-01-07 10:36:00 +00:00
Paolo Cignoni 61f42ea419 added missing include limits 2007-12-11 18:25:31 +00:00
Paolo Cignoni 7d6a210e75 Added the CompactVertexVector garbage collecting function. 2007-12-11 11:36:03 +00:00
ganovelli 5c97fd3dc3 added missing include to color4 2007-11-20 09:43:53 +00:00
Paolo Cignoni a45b2e8fa0 Added I() access function for the z member to the pos 2007-10-17 19:46:50 +00:00
Nico Pietroni 00f3907e1b *** empty log message *** 2007-10-11 08:39:05 +00:00
Massimiliano Corsini 1e6b800880 remove signed/unsigned warning 2007-10-09 12:04:06 +00:00
Paolo Cignoni dcd031a38d added some using keywords and templates 2007-07-16 10:00:14 +00:00
Paolo Cignoni 6f6da43f69 Minor changes in VT Adjacency component. 2007-06-07 10:22:42 +00:00
Paolo Cignoni d26833fac1 Deleted redundant EdgePlane attribute: it is already defined in component_rt 2007-06-06 15:30:00 +00:00
Paolo Cignoni d399094a16 Add vertex-tetrahedron adjacency component VTAdj. 2007-06-04 15:40:22 +00:00
Paolo Cignoni 2c49236f37 Minor changes in includes. 2007-06-04 14:04:21 +00:00
Paolo Cignoni f354a9f445 Small gcc compiling issues 2007-05-31 09:39:56 +00:00
Paolo Cignoni 38bb37185a removed useless typename 2007-05-29 14:00:26 +00:00
Paolo Cignoni 1a3ea71ef5 Added Set method which takes a face pointer and a vertex pointer. 2007-05-28 14:09:41 +00:00
Paolo Cignoni 9b7d4fc359 Initial commit 2007-05-16 15:13:54 +00:00
Paolo Cignoni 1f231b5a3f Added std:: prefix to swap call 2007-05-16 15:12:40 +00:00
Paolo Cignoni d207af03d2 Replaced ambigous StarSize method with NumberOfIncidentVertices and NumberOfIncidentFaces 2007-05-16 15:11:32 +00:00
ganovelli 1f61ffc1ca added 2007-05-09 10:31:53 +00:00
ganovelli c2e2b2cd0a changes to comply "plus" types 2007-05-04 16:44:06 +00:00
ganovelli a40dad5c08 standardized to component style 2007-05-04 16:16:40 +00:00
ganovelli 0b39edf945 added include to texcoor2 2007-05-04 16:16:04 +00:00
Paolo Cignoni cde27e321a Corrected V() operator. It was plainly wrong. Luckly enough it was not very used 2007-04-20 12:40:31 +00:00
Paolo Cignoni 5ae948ea38 Added Visited flags 2007-03-27 09:22:11 +00:00
mtarini 84946de883 Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD. 2007-03-12 15:42:11 +00:00
mtarini 22fd220c6f Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD. 2007-03-12 15:37:19 +00:00
Paolo Cignoni 4e3c3c110e Added constructor to the VFadj component to comply to the allocator needs 2007-02-27 09:32:00 +00:00
Paolo Cignoni b7ab2cfe56 VTb moved to VTp 2007-02-26 14:21:44 +00:00
ganovelli 01a81c63de added QualityType to comply vertexplus type 2007-02-20 14:08:34 +00:00
ganovelli 142880a279 added QualityType to comply faceplus type 2007-02-20 14:07:53 +00:00
Paolo Cignoni a2127ce062 Corrected small syntax errors detected by gcc 2007-02-18 07:41:32 +00:00
ganovelli ffbd7ea55f added Name(std:vector<std::string>& n) that fills n with the names of the attribute of the face type 2007-02-12 19:01:23 +00:00
ganovelli bf964ff70c added Name(std:vector<std::string>& n) that fills n with the names of the attribute of the vertex type 2007-02-12 19:00:56 +00:00
Nico Pietroni 25b916162d corrected wrong initial define
from:

#ifndef __VCGLIB_VERTEX__VN__TYPE
#define __VCGLIB_VERTEX__VN__TYPE

to:

#ifndef __VCGLIB_VERTEX__VNVT__TYPE
#define __VCGLIB_VERTEX__VNVT__TYPE
2007-01-25 01:08:09 +00:00
Paolo Cignoni 0ba87a93f0 commented UberP access method (syntax errors) 2007-01-18 01:29:48 +00:00
Paolo Cignoni bcc7bb0c83 Added #ifdefs to guarantee that ComputeNormal would be defined only once 2007-01-13 00:25:36 +00:00
Paolo Cignoni 5c63b84bf8 Added include assert.h 2007-01-11 10:37:08 +00:00
Paolo Cignoni 7f78cbb1d5 Added intialization of vertexRef to 0. 2007-01-11 10:22:39 +00:00
Paolo Cignoni d72aabbe64 Rewrote the template of ComputeNormal functions to a more readable form. 2007-01-11 10:13:11 +00:00
Paolo Cignoni 07fb3ae2df Added access functions F() 2007-01-02 10:06:53 +00:00
Paolo Cignoni b226ba87ba Corrected wrong assert in V(i) access function 2006-12-29 13:13:00 +00:00
mtarini 8b66ea4b94 newline at endoffile 2006-12-14 13:38:10 +00:00
ganovelli d24100b903 bug Index()() instead of Index() 2006-12-11 23:42:00 +00:00
ganovelli 7be5cc63cf Has*Opt migrated to Has*Occ 2006-12-11 23:40:57 +00:00
Paolo Cignoni 588582f470 Added FFp1 and FFp2 shortcuts 2006-12-06 00:08:57 +00:00
Paolo Cignoni efa2743316 Removed Oldstyle uberZ access to FF adjacency 2006-12-06 00:08:21 +00:00
Paolo Cignoni c680da71f9 Added FFlip() and const VFlip() operators 2006-12-04 16:06:12 +00:00
ganovelli 5a19b99039 added forward declaration of TriMesh 2006-12-04 11:17:42 +00:00
ganovelli ee863845d1 Cambiate Has*Opt in Has*Occ e aggiunti typedef per la compilazione di Occ 2006-12-04 11:00:02 +00:00
ganovelli 480c16bbfe aggiunte funzioni di override per Has* 2006-12-04 10:59:15 +00:00
Paolo Cignoni d614e6baa5 Added default constructor with null initialization to adjacency members.
AddFaces and AddVertices NEED to know if the topology is correctly computed to update it.
2006-11-28 22:34:28 +00:00
Paolo Cignoni 63f09aa04b Added a missing prototype to ismanifold 2006-11-13 01:57:23 +00:00
Nico Pietroni e35961b498 *** empty log message *** 2006-11-10 11:50:57 +00:00
Paolo Cignoni 43facb8954 Corrected Detach; added FFCorrectness; Corrected ComplexSize, Dissemination of a lot of assert() 2006-11-09 17:28:42 +00:00
Paolo Cignoni 4be312c7f2 Added ismanifold 2006-11-09 17:22:56 +00:00
Paolo Cignoni 642158fc32 many gcc compiling issues 2006-11-07 17:22:53 +00:00
Paolo Cignoni e2733d55df Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem 2006-11-07 15:13:57 +00:00
Paolo Cignoni 865bb26e54 Corrected some errors in the reflections Has*** functions 2006-11-07 11:29:24 +00:00
ganovelli a44013b865 vesione 2005 compliant 2006-10-31 16:02:59 +00:00
ganovelli 3997779a97 added overrides to HasFFAddAdjacency and HasVFAddAdjacency 2006-10-27 14:15:10 +00:00
Paolo Cignoni 81e0f25754 Better managment of resize overloading when reducing the size of a vector 2006-10-16 08:49:29 +00:00
Paolo Cignoni 302e24189d first version 2006-10-13 14:11:49 +00:00
Paolo Cignoni 904814041d Added some missing Add***Ocf() for the default case. 2006-10-09 20:20:55 +00:00
Paolo Cignoni f41e699da1 Increased the maximum number of possible template args from 8 to 9 2006-10-09 20:20:18 +00:00
Paolo Cignoni be10b9167b Explained the use of V() operator of a pos 2006-10-07 14:24:26 +00:00
Paolo Cignoni a3ba09a069 Added missing typename for interp.parameters 2006-10-07 10:02:16 +00:00
Paolo Cignoni dbe0a4d4cf Added missing const to EmptyFF 2006-10-07 09:59:42 +00:00
Paolo Cignoni 739e46587e Added Missing GetBBox function 2006-09-28 17:34:11 +00:00
Marco Di Benedetto 1fbdc88c2c First Commit. 2006-09-28 13:30:39 +00:00
Paolo Cignoni a4ecdb2635 Better comment on usage of VF iterators 2006-09-25 09:57:49 +00:00
Paolo Cignoni 837f3482f5 added severla comments
reimplemented operator ()
2006-08-23 15:35:36 +00:00
Paolo Cignoni 7810ccc68e added minimal comments 2006-08-23 15:34:20 +00:00
Nico Pietroni 5f842ad53e *** empty log message *** 2006-07-26 08:13:57 +00:00
Nico Pietroni 184edbcc3f first release version 2006-07-26 08:09:09 +00:00
Paolo Cignoni ec2e478c4a changes for compilation on linux. Not sure about using either SphereOfTriangle or SphereOfTetra, please check. 2006-07-12 12:14:31 +00:00
ganovelli 19a6e60812 cambiato VTb in VTp 2006-07-10 17:04:41 +00:00
Paolo Cignoni eae0930e15 added include to sphere3.h for SmallestEnclosingSphere() 2006-07-10 10:36:44 +00:00
ganovelli 46bbeb164c added GeometicType e SmallestEnclosingSphere 2006-07-06 12:46:19 +00:00
ganovelli 67d370e4f4 added SmallestEnclosingSphere 2006-07-06 12:45:08 +00:00
ganovelli ba17e043fc aggiunte wedge coord 2006-06-08 20:32:10 +00:00
Paolo Cignoni 0102ac5f9f missing std and other gcc detected syntax errors 2006-05-25 09:41:09 +00:00
Marco Di Benedetto 3c222fd583 First Commit. 2006-05-08 15:19:21 +00:00
Paolo Cignoni c7196917fd Added possibility of not updating the topology during a SwapEdge 2006-05-03 21:38:57 +00:00
Paolo Cignoni 30b1d99a4c Added Optional Mark 2006-05-03 21:37:02 +00:00
Paolo Cignoni 9df4f755ec Initial commit. 2006-04-21 08:05:44 +00:00
Paolo Cignoni 53dfb84a07 newline at end of file please 2006-04-11 08:41:31 +00:00
Federico Ponchio 40e4a353bd g++ compliance:
begin() -> (*this).begin() and for end(), size(), Base(), Index()
2006-02-28 11:59:55 +00:00
Federico Ponchio 524fc2574c Added some documentation 2006-02-27 17:58:11 +00:00
Federico Ponchio 4ed45caeee Added some documentation. 2006-02-27 17:42:43 +00:00
Paolo Cignoni 7c20ead0c3 Corrected HasPerWedgeTexture 2006-01-30 08:47:40 +00:00
Paolo Cignoni 381ce72a56 Corrected use of Area with the unambiguous DoubleArea 2006-01-22 10:06:23 +00:00
Paolo Cignoni 92c21e838d Very Important Change: Area->DoubleArea (and no more Area function) 2006-01-22 10:00:56 +00:00
Paolo Cignoni fa5979e2ac Added Initialization of Color in Vertex and Face Components 2006-01-09 13:58:56 +00:00
Paolo Cignoni 07f5fe7d42 Removed a syntax error (double >) in HasPerWedgeTexture/HasPerFaceColor 2006-01-05 15:46:06 +00:00
Paolo Cignoni 52c3db40a7 Corrected push_back (did not worked at all!)
added missing cFFi
2006-01-04 18:46:25 +00:00
Paolo Cignoni dda2cfbcaa Corrected HasPerFaceColor and HasPerWedgeTexture to comply gcc 2006-01-03 10:54:21 +00:00
Massimiliano Corsini 009f633576 Rewrite SwapEdge to fix problems with borders 2005-12-19 13:47:26 +00:00
Paolo Cignoni 51180b7d58 Increased the maximum number of possible template args from 7 to 8 2005-12-16 13:28:09 +00:00
Massimiliano Corsini c334cebb47 Add some user bit 2005-12-16 11:42:23 +00:00
Massimiliano Corsini a088ee1ba6 Remove trivial warnings 2005-12-16 11:01:26 +00:00
Massimiliano Corsini c1ffab75de Add further comment to FlipEdge 2005-12-16 10:47:48 +00:00
Massimiliano Corsini 67dca7d9e6 Fix one bug 2005-12-16 10:43:23 +00:00
Massimiliano Corsini 8133c87819 Add CheckOrientation
Reimplement SwapEdge function
2005-12-16 10:29:10 +00:00
Massimiliano Corsini becbfab7da Replace Pos<FaceType> with PosType 2005-12-15 11:57:48 +00:00
Massimiliano Corsini fa45011ed9 Fix operators 2005-12-15 11:19:00 +00:00
Massimiliano Corsini bd8e59e0b4 Add constructor which takes as input a face and a vertex 2005-12-15 10:53:16 +00:00
Paolo Cignoni cb6757048f Corrected update function, now only the needed simplexes should be updated. 2005-12-12 11:17:32 +00:00
ganovelli f73fa19346 modifications to compile with gcc 2005-12-12 11:15:26 +00:00
Paolo Cignoni 7050635bd5 Removed spurious definition of flags in Aritymax that was overriding the correct definition in EmplyBitFlags and BitFlags classes 2005-12-05 15:58:10 +00:00
Paolo Cignoni b3db79d874 Reformatted and compacted flags code. 2005-12-02 00:44:41 +00:00
Paolo Cignoni cfd778ec1b Added and removed typenames for gcc compiling.
Added this-> qualifier for referencing the elemntes of the templated base class
(e.g. to refer the possibly overridden flags())  it seems to be needed by the standard
2005-12-02 00:41:38 +00:00
Paolo Cignoni 2d7b7a4532 Removed excess ';' from end of template functions, for gcc compiling 2005-12-01 23:54:59 +00:00
Paolo Cignoni 2587a22c49 Added HasFlags 2005-12-01 23:54:29 +00:00
ganovelli cc0e745c09 creation 2005-11-30 14:44:47 +00:00
Federico Ponchio 7f2aac509e Fixed some UberZ fuynctions and non defined _flags 2005-11-30 14:05:04 +00:00
Paolo Cignoni 13e9c8f264 Corrected a lot of bugs about the use of enabled entities 2005-11-26 00:16:44 +00:00
Nico Pietroni 7629e40b53 added cFFi function 2005-11-23 14:40:09 +00:00
ganovelli bb972b9ace changed IsBOrder 2005-11-23 13:04:26 +00:00
Paolo Cignoni 88753fa7bc Added intiailization of flags to zero in the constructor, 2005-11-22 23:58:03 +00:00
Paolo Cignoni c0a40ade47 removed two spurious computenormal 2005-11-22 15:49:39 +00:00
Paolo Cignoni dbc5a559c4 Moved ComputeNormal and ComputeNormalizedNormal out of the face class (no more a member function!) 2005-11-22 15:47:35 +00:00
Paolo Cignoni 019fb69c53 Changed HasColor -> HasFaceColor and HasNormal ->HasFaceNormal 2005-11-21 21:46:20 +00:00
Paolo Cignoni 0d97fa92f5 Moved ComputeNormal and ComputeNormalizedNormal out of the face class (no more a member function!) 2005-11-21 21:44:47 +00:00