| 1737 |
|
sd = seleManA_.nextSelected(isd)) { |
| 1738 |
|
aSites.push_back(sd); |
| 1739 |
|
} |
| 1740 |
+ |
#if defined(HAVE_QHULL) |
| 1741 |
|
ConvexHull* surfaceMeshA = new ConvexHull(); |
| 1742 |
|
surfaceMeshA->computeHull(aSites); |
| 1743 |
|
areaA = surfaceMeshA->getArea(); |
| 1744 |
|
delete surfaceMeshA; |
| 1745 |
+ |
#else |
| 1746 |
+ |
sprintf( painCave.errMsg, |
| 1747 |
+ |
"RNEMD::getDividingArea : Hull calculation is not possible\n" |
| 1748 |
+ |
"\twithout libqhull. Please rebuild OpenMD with qhull enabled."); |
| 1749 |
+ |
painCave.severity = OPENMD_ERROR; |
| 1750 |
+ |
painCave.isFatal = 1; |
| 1751 |
+ |
simError(); |
| 1752 |
+ |
#endif |
| 1753 |
|
|
| 1754 |
|
} else { |
| 1755 |
|
if (usePeriodicBoundaryConditions_) { |
| 1763 |
|
areaA = 4.0 * M_PI * pow(sphereARadius_, 2); |
| 1764 |
|
} |
| 1765 |
|
} |
| 1757 |
– |
|
| 1758 |
– |
|
| 1766 |
|
|
| 1767 |
|
if (hasSelectionB_) { |
| 1768 |
|
int isd; |
| 1773 |
|
sd = seleManB_.nextSelected(isd)) { |
| 1774 |
|
bSites.push_back(sd); |
| 1775 |
|
} |
| 1776 |
+ |
|
| 1777 |
+ |
#if defined(HAVE_QHULL) |
| 1778 |
|
ConvexHull* surfaceMeshB = new ConvexHull(); |
| 1779 |
|
surfaceMeshB->computeHull(bSites); |
| 1780 |
|
areaB = surfaceMeshB->getArea(); |
| 1781 |
|
delete surfaceMeshB; |
| 1782 |
+ |
#else |
| 1783 |
+ |
sprintf( painCave.errMsg, |
| 1784 |
+ |
"RNEMD::getDividingArea : Hull calculation is not possible\n" |
| 1785 |
+ |
"\twithout libqhull. Please rebuild OpenMD with qhull enabled."); |
| 1786 |
+ |
painCave.severity = OPENMD_ERROR; |
| 1787 |
+ |
painCave.isFatal = 1; |
| 1788 |
+ |
simError(); |
| 1789 |
+ |
#endif |
| 1790 |
+ |
|
| 1791 |
|
|
| 1792 |
|
} else { |
| 1793 |
|
if (usePeriodicBoundaryConditions_) { |