1 #ifndef MESH_PROCESSS_PDG_HPP
2 #define MESH_PROCESSS_PDG_HPP
6 #include <MeshProcessCellMesh.hpp>
41 bool operator()(
Mesh* mesh1,
Mesh* mesh2,
bool eraseMarginCells,
bool ShowVVCorrespondance);
44 return "Cell Axis/PDG";
47 return "Check Correspondence";
51 return "Find matching cell junctions between 2 meshes based on parent labeling.\n"
52 "Both meshes are simplified with Make Cells to keep only the cell junctions and centers.\n"
53 "SAVE your meshes before running!";
58 <<
"Show correspondence";
62 return QStringList() <<
"Take away the cells touching the mesh outer edge while converting to a cellular mesh."
63 <<
"Draw connecting lines between corresponding junctions.";
77 return QIcon(
":/images/CorrespondanceJunctions.png");
93 if(!checkState().mesh(MESH_NON_EMPTY, 0).mesh(MESH_NON_EMPTY, 1))
97 if(currentMesh() == mesh(0)) {
100 }
else if(currentMesh() == mesh(1)) {
106 bool res = (*this)(mesh1, mesh2);
110 bool operator()(
Mesh* mesh1,
Mesh* mesh2);
113 return "Cell Axis/PDG";
116 return "Compute Growth Directions";
120 return "Compute PDGs based on correspondence between junctions.\n"
121 "Adapted from Goodall and Green, 'Quantitative Analysis of Surface Growth.'"
122 "Botanical Gazette (1986) \n"
123 "and Dumais and Kwiatkowska, 'Analysis of surface growth in shoot apices.'"
124 "Plant Journal (2002)";
133 return QIcon(
":/images/PDG.png");
150 if(!checkState().mesh(MESH_NON_EMPTY))
153 return (*
this)(currentMesh(), parms[0], parms[1],
QColor(parms[2]),
QColor(parms[3]), parms[4].toFloat(),
154 parms[5].toFloat(), parms[6].toFloat(), parms[7].toFloat());
158 const QColor& ColorShrinkage,
float AxisLineWidth,
float ScaleAxisLength,
float AxisOffset,
159 float AnisotropyThreshold);
162 return "Cell Axis/PDG";
165 return "Display Growth Directions";
168 return "Display the principle growth directions";
183 return QStringList() <<
"Display stretch ratio values in max or min direction as a color map.\n"
184 "stretch ratio = (length after/length before). No deformation means stretch ratio = 1."
185 <<
"Draw directions as vectors, scaled by strain.\n"
186 "strain = (stretch ratio - 1). No deformation means strain = 0. "
187 <<
"Color used for expansion (strain > 0)"
188 <<
"Color used for shrinkage (strain < 0)"
190 <<
"Length of the vectors = Scale * Strain."
191 <<
"Draw the vector ends a bit tilted up for proper display on surfaces."
192 <<
"Minimal value of anisotropy (= stretchMax/StretchMin) required for drawing PDGs.\n"
193 "Use a value above 1.";
213 <<
"Aniso=StretchMax/StretchMin"
214 <<
"StretchMinXStretchMax";
224 return QIcon(
":/images/PDG.png");
QStringList parmNames() const
List of named parameters.
Definition: MeshProcessPDG.hpp:55
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: MeshProcessPDG.hpp:76
QStringList parmNames() const
List of named parameters.
Definition: MeshProcessPDG.hpp:126
Definition: MeshProcessPDG.hpp:84
bool operator()(const QStringList &)
Implementation of the process with generic arguments.
Definition: MeshProcessPDG.hpp:91
Process()
Default constructor.
QStringList parmDefaults() const
List of default parms.
Definition: MeshProcessPDG.hpp:65
QString folder() const
Folder in which to place the process.
Definition: MeshProcessPDG.hpp:161
QString folder() const
Folder in which to place the process.
Definition: MeshProcessPDG.hpp:112
QString name() const
Returns the name of the process.
Definition: MeshProcessPDG.hpp:115
CheckState checkState()
Call this function and convert the result to a boolean.
QString description() const
Returns a description of the process for the GUI.
Definition: MeshProcessPDG.hpp:167
This class holds the actual mesh as a VV Graph and all sort of properties for it, including visualiza...
Definition: Mesh.hpp:167
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: MeshProcessPDG.hpp:148
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: MeshProcessPDG.hpp:132
Definition: MeshProcessPDG.hpp:140
File containing the definition of a Process.
ParmChoiceMap parmChoice() const
Purely for GUI purposes, provides for some of the parms parameter a choice.
Definition: MeshProcessPDG.hpp:207
QStringList parmNames() const
List of named parameters.
Definition: MeshProcessPDG.hpp:170
QString description() const
Returns a description of the process for the GUI.
Definition: MeshProcessPDG.hpp:118
Mesh * mesh(int i)
Returns the ith mesh.
This is the main process class, the one all process inherit from.
Definition: Process.hpp:248
QString description() const
Returns a description of the process for the GUI.
Definition: MeshProcessPDG.hpp:49
Definition: MeshProcessPDG.hpp:15
mgx_EXPORT bool stringToBool(const QString &string)
Helper function converting a string into a boolean.
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: MeshProcessPDG.hpp:223
ParmChoiceMap parmChoice() const
Purely for GUI purposes, provides for some of the parms parameter a choice.
Definition: MeshProcessPDG.hpp:70
QStringList parmDefaults() const
List of default parms.
Definition: MeshProcessPDG.hpp:196
Non-empty mesh.
Definition: Process.hpp:664
QStringList parmDescs() const
List of parameters descriptions.
Definition: MeshProcessPDG.hpp:129
QStringList parmDescs() const
List of parameters descriptions.
Definition: MeshProcessPDG.hpp:60
QStringList booleanChoice() const
Helper function that provides a list of choices for a boolean argument.
Definition: Process.hpp:599
Mesh * currentMesh()
Returns the current mesh (i.e.
QString name() const
Returns the name of the process.
Definition: MeshProcessPDG.hpp:46
QString folder() const
Folder in which to place the process.
Definition: MeshProcessPDG.hpp:43
Mesh processes have mutable access to meshes and non-mutable access to stacks.
Definition: Process.hpp:855
QStringList parmDescs() const
List of parameters descriptions.
Definition: MeshProcessPDG.hpp:181
QString name() const
Returns the name of the process.
Definition: MeshProcessPDG.hpp:164
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: MeshProcessPDG.hpp:23