Small patch in edge_collapse adding a parameter to do (default=false) for crease information preservation after collapse
Added refineMidpoint in refine to perform midpoint refinement without manifoldness constraints
The `ReadHeader()` overloads taking a character pointer (filename) as a
first parameter instead of a `FILE*` directly do not compile, as they
are calling an overload of `ReadHeader(FILE*)` which does not exist.
Clang does not seem to care as these functions are unused when compiling
MeshLab (and therefore also VCGLib) but GCC tries to compile these
(unused) functions and rightly fails.
This commit simply removes the overloads taking a filename (`char*`).
They are in a header, but since they should fail to compile on *any*
platform I guess it is safe to remove these overloads, as I do not
expect them to be used anywhere successfully.
The internal `Element` class implements the pure virtual interface
`IElement` which has no virtual destructor. `Element` has data members
but is deleted through an `Element*` so all members are destructed
correctly.
To convince the compiler this is all fine and to prevent the (unlikely)
case of someone inheriting from `Element` mark the class as `final`.
TrivialEar has data members and virtual functions, but no virtual destructor.
Two subclasses (MinimalWeightEar & SelfIntersectionEar) exist, but they do
not add any new data members. So deleting through any pointer should be okay,
but to be sure and silence compiler warnings add the virtual dtor to the base
class.
This ensures all subclasses are theoretically allowed to add new data members
that will get destructed, regardless of the pointer type used for destruction.
Added parameters to control the gutter size of the outlines, the
possibility to track space between previously placed polygons when
evaluating new moves (inner horizons), and the possibility to try a
small number of permutations of the packing sequence in order to
improve the overall efficiency.
Cleaned up QtOutline2Rasterizer.
Updated the relevant samples.