Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge with Tristan's fork #3

Open
wants to merge 117 commits into
base: master
Choose a base branch
from

Conversation

rolanddenis
Copy link

It is a merge from troussil's fork using partitionEvolverPhaseField and master branches.
Modifications have been made in respect with DGtal evolution (currently, only for deformations folder)

This bug occurs when exporting results to png. It is mayby related to the
fact that many qapplication are initialized in the same program (even if
they are correctly destroyed meanwhile).
Related bug report could be:
https://bugreports.qt.io/browse/QTBUG-35437

Solution was to instanciate Qt once at the program startup and to request
instance when needed.
With previous version, many snapshots was wrong (blurred or copy of the
screen behind the QGLViewer windows).
It has been solved by connecting the snapshot action to the signal
emited when the render is finished.

See for example:
http://www.libqglviewer.com/refManual/classQGLViewer.html#a1cf2ffb973b096b249dc7e90327a2a8e

The previous commit (using only one QApplication) has induce a bug:
QGLViewer index increases at each snapshot, so that que camera
configuration management is not anymore appropriate (many errors while
trying to rename .qglviewer.xml). TODO
There's still a bug on beginning (in deformation2d too): when initially in
contact, the phases seems to shift away from each other at the first iteration.
The label is updated for phases which field value is >= 0.5.
The problem is that, when using more than 2 phases, and when (at least) triple
contact point exists, the renormalization of the phases leads to a
neighbourhoud of this point where no phase have field >= 0.5.
The phase with default label (ie the background) was then polluting this zone.

The proposed solution (draft) is to assigned the label to the phase with maximum
field value. That implies to consider the background as a phase (with an
evolution equation ?).
To avoid using new value instead of the old ones.
It is now the default format, as the write speed is faster.
VTK files seems to be in Little Endian by default.

TODO: support for VTK XML format (so the endianness can be specified).
The current workaround was to add a phase-accessor to the MultiPhaseField
evolver.
The export in deformation3d.cpp need to cleaned.
The dimension is fixed by a preprocessor macro. The two versions are very similar and
differs mainly for the IO part.
The VTKWriter works the same, regardless of the dimension.
... by brute force : namespace DGtal {}.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants