Commit Graph

59 Commits

Author SHA1 Message Date
T.Alderighi c92ccb5656 more bugs under gcc/clang 2018-05-11 12:10:39 +02:00
T.Alderighi 05764ee1c2 minor typos 2018-05-09 17:14:16 +02:00
T.Alderighi 67a80722d5 removed tetra complex...bootstrapping tetra in trimesh:
base done
foreach done
Allocator done
Append done

quality selection topology WIP
clean todo
2018-05-04 18:12:02 +02:00
T.Alderighi b662f747a0 bootstrapping tetra as trimesh component 2018-05-04 12:08:32 +02:00
Paolo Cignoni 91c74665fb Added to the ClearPerVertexAttribute the possibility of init with a value 2018-02-13 19:37:37 +01:00
Paolo Cignoni 142ec158f6 Merge branch 'devel' of https://github.com/cnr-isti-vclab/vcglib into devel 2017-12-21 01:18:19 +01:00
Paolo Cignoni 975027bcf6 Added Add Edge, corrected bug in the assert in addFace 2017-12-21 01:14:23 +01:00
Gianpaolo Palma f961a49248 Added type info to the custom attributes 2017-12-07 13:52:03 +01:00
Paolo Cignoni d1a63e73be Added a missing update of adjacency fields in edges for the add edges 2017-09-04 14:54:13 +02:00
Gianpaolo Palma 8b90ba72a3 Bug fixed by removing the deferencing of the end() iterator of the container 2016-10-07 17:01:39 +02:00
Guido Ranzuglia 92eec412a5 - the DeletePerMeshAttribute signature (and semantics...) has been consistent with the other DeletePerXXXAttribute functions
I discussed with Fabio about it
2016-07-28 12:32:13 +02:00
Paolo Cignoni 32333eba24 Huge copyright sanitization of the header files of vcg folder. 2016-06-13 05:29:25 +00:00
Paolo Cignoni 6f0d5cb168 Added very useful "IsValidPointer" functions that check that a given pointer is within the reasonable bounds for a given mesh (eg. given a vertex pointer it checks that it is between begin and end of the vertex vector) 2016-04-11 20:31:56 +00:00
giorgiomarcias b7694288e5 Corrected vertex reference assignment for second triangle in AddQuadFace for the case of two triangles with faux flags 2016-02-14 06:56:26 +00:00
Gianpaolo Palma 4a7940a37b Removed debug code 2015-10-21 17:32:21 +00:00
Gianpaolo Palma fd2bfa9f64 Bug fixed in CompactFaceVector. The FF topology must be updated always. 2015-10-21 15:55:09 +00:00
giorgiomarcias 882d54d6ae Fixed some memory leaks when using polygonal component for faces. Deallocations more stable and clear for each component, using also local dynamic memory deallocs. Changed Clear() method of TriMesh which guarantees perfect deallocations of faces' components. Fixed also CompactFaceVector which now deallocates faces before resizing the vector. In DeleteFace, not only the flag is set, but also the face's components are deallocated. 2014-12-15 15:36:37 +00:00
Paolo Cignoni 65336cfe7b Trying to solve int / size_t issues. Added a error guard to avoid inclusion of append. 2014-07-07 10:09:25 +00:00
granzuglia 991aa707d9 - added int cast in order to avoid annoying warnings 2014-07-07 06:58:08 +00:00
Paolo Cignoni afc802107a Made uniform the use of size_t instead of int in the vast majority of the allocate.h functions 2014-07-03 20:57:26 +00:00
Paolo Cignoni d3a7e225ee added a AddEdge ( point - point) member to the Allocator Class 2014-06-17 13:05:46 +00:00
Paolo Cignoni b572187a63 added yet another wrapper for the Allocator Add face. it is quite useful to add faces just with indexes... 2014-05-15 16:31:39 +00:00
Paolo Cignoni dbe0d2b7f5 Wrapper to AddVertices() to add, with a single call, a single vertex with given coords and normal 2014-04-17 09:49:40 +00:00
Paolo Cignoni e042757e5a Added another AddFace wrapper. 2014-03-04 00:31:49 +00:00
Paolo Cignoni 62bd82e208 added one more control in AddFace 2014-03-03 07:44:03 +00:00
Paolo Cignoni 0d6c673a9b PolygonalMesh Debugging: Improved Allocator robustness. Better allocation/deallocation of polyigonal elements 2014-02-18 10:56:16 +00:00
giorgiomarcias 4260535fa6 Corrected two wrong indexes on the access to the vertexes of a face while compacting the face vector: just a typo mistake. 2014-02-12 12:15:42 +00:00
Paolo Cignoni 7747e6097f Corrected a few allocating and copyng functions to manage polygonal meshes instead of simple triangular ones. 2014-02-12 10:59:37 +00:00
Paolo Cignoni 43b738796d Significantly improved documentation. Refactored a bit some of the Add* for better readability 2013-12-12 20:35:27 +00:00
Paolo Cignoni 84c80a1972 Include header cleaning and reordering. 2013-11-25 10:01:24 +00:00
granzuglia d59e519e8f - added missing "#include" 2013-10-16 08:36:05 +00:00
Paolo Cignoni 607e048265 added a few assert in the newly added AddFace shortcut 2013-10-03 14:32:01 +00:00
Paolo Cignoni ad17f61dc0 added a simple wrapper to add a single vertex to a mesh given its coords 2013-10-03 09:57:45 +00:00
Nico Pietroni afef24633f added #include <vcg/container/simple_temporary_data.h> 2013-09-21 00:52:24 +00:00
Paolo Cignoni c5549f607a Cleaned up the edge allocator and added two small wrapper for adding and initializing a single face or edge with the vertex pointers 2013-07-26 09:34:41 +00:00
Paolo Cignoni 72d67f4a11 Added parenthesis to clearly disambiguate if/then/else 2013-03-20 08:28:30 +00:00
Paolo Cignoni f62e07ee66 Corrected the behavoiour of the allocate::Compact when managing uninitialized and null element in adjacency 2013-03-13 14:33:09 +00:00
Paolo Cignoni 8f45cb352e Added a simpler CompactEveryVector to allocate to compact face edge and vertices... 2013-03-13 00:15:13 +00:00
ganovelli 8c998ccd11 vcg::tri::Allocate<MESH>::Get*Attribute(m,name);
has CHANGED!

Before it was returning a valid handle to the attribute
IF it existed, otherwise the handle was invalid.
 
Now it always returns a valid handle to the attribute,
by creating the attribute name if it did not exist or returning
the handle to it if it was already there.

ALl the code using Get*Attribute  has been changed accordingly.
2013-01-30 17:18:55 +00:00
Paolo Cignoni c5d8479003 Refactored the complex.h file into a include manager and a base.h file
Due to a inclusion conflict order between pieces of old complex h and append/allocate
2012-12-06 10:59:18 +00:00
Paolo Cignoni 2a21d5fb8e simple comments and re-indentation for better reading 2012-11-10 14:36:54 +00:00
Paolo Cignoni b6d198362c Small changes to the compactVector (added a check on empty vectors) and improved the sample on allocation. 2012-10-31 06:58:08 +00:00
Paolo Cignoni fe95eeca43 Improving Documentation: removed a ton of doxygen warnings. Cleared a bit the groups structure, added a few comments to allocator 2012-10-26 06:16:15 +00:00
Paolo Cignoni fc5a0216ac Improved documentation about allocation. Added sample on allocation. 2012-10-25 22:53:33 +00:00
Paolo Cignoni 42252b04b4 Improved documentation of Attribute mechanims 2012-10-15 08:17:26 +00:00
Paolo Cignoni 2577210a54 **** SIGNIFICANT CHANGES *****
- Cleaned up include order: Now you only need to include <vcg/complex/complex.h> (no more vertex/base.h etc) 
- Added official VN() EN() FN() const members for knowing number of vertexes etc...
- Added exceptions (at last!)
    Now instead of:
       assert(HasPerVertexNormal(m)) 
    you should write:
      if(!HasPerFaceNormal(m)) throw vcg::MissingComponentException();
2012-10-04 11:10:25 +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 3b61972116 Implemented the correct management of per edge attribute. It was half done... 2011-12-15 07:23:51 +00:00
Paolo Cignoni 5ec7fc1e4a added missing const to the Index function 2011-12-12 23:29:16 +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