Changes in / [51a5c8:f0f1cc]


Ignore:
Files:
20 deleted
43 edited

Legend:

Unmodified
Added
Removed
  • configure.ac

    r51a5c8 rf0f1cc  
    3333AX_BOOST_THREAD
    3434#AX_BOOST_SERIALIZATION
    35 
    36 #QT4 libraries
    37 gw_CHECK_QT4
    38 AX_CHECK_GLU
    39 AC_MSG_NOTICE(["GLU_CFLAGS: $GLU_CFLAGS, GLU_CXXFLAGS: $GLU_CXXFLAGS, GLU_LDFLAGS: $GLU_LDFLAGS, GLU_LIBS: $GLU_LIBS"])
    40 
    4135
    4236# Checks for header files.
  • doc/class structure.uxf

    r51a5c8 rf0f1cc  
    2121
    2222
    23 // This text will be stored with each diagram;  use it for notes.</help_text><zoom_level>7</zoom_level><element><type>com.umlet.element.base.Class</type><coordinates><x>1855</x><y>210</y><w>147</w><h>70</h></coordinates><panel_attributes>AtomInfo
     23// This text will be stored with each diagram;  use it for notes.</help_text><zoom_level>7</zoom_level><element><type>com.umlet.element.base.Class</type><coordinates><x>1855</x><y>294</y><w>147</w><h>70</h></coordinates><panel_attributes>AtomInfo
    2424--
    2525-x,v,F: Vector
     
    2828#AtomInfo();
    2929#~AtomInfo();
    30 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1645</x><y>231</y><w>223</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>210;21;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1274</x><y>63</y><w>392</w><h>259</h></coordinates><panel_attributes>Element
     30</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1645</x><y>315</y><w>223</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>210;21;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1274</x><y>147</y><w>392</w><h>259</h></coordinates><panel_attributes>Element
    3131--
    3232mass: double
     
    4949#~element();
    5050#Output(ofstream * const out) const: bool
    51 #Checkout(ofstream * const out, const int No, const int NoOfAtoms) const: bool</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1960</x><y>448</y><w>280</w><h>161</h></coordinates><panel_attributes>BondedParticle
     51#Checkout(ofstream * const out, const int No, const int NoOfAtoms) const: bool</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1960</x><y>532</y><w>280</w><h>161</h></coordinates><panel_attributes>BondedParticle
    5252--
    5353--
     
    6363#OutputBondOfAtom() const
    6464#OutputAdjacency(ofstream *AdjacencyFile) const
    65 #OutputOrder(ofstream *file) const</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2184</x><y>259</y><w>258</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>245;21;245;154;21;154;21;189</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1925</x><y>259</y><w>293</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-
    66 </panel_attributes><additional_attributes>21;21;21;154;280;154;280;189</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2184</x><y>259</y><w>34</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;189</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2359</x><y>210</y><w>147</w><h>70</h></coordinates><panel_attributes>BondedParticleInfo
     65#OutputOrder(ofstream *file) const</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2184</x><y>343</y><w>258</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>245;21;245;154;21;154;21;189</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1925</x><y>343</y><w>293</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-
     66</panel_attributes><additional_attributes>21;21;21;154;280;154;280;189</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2184</x><y>343</y><w>34</w><h>202</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;189</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2359</x><y>294</y><w>147</w><h>70</h></coordinates><panel_attributes>BondedParticleInfo
    6767--
    6868AdaptiveOrder: unsigned char
     
    7171#BondedParticleInfo()
    7272#~BondedParticleInfo()
    73 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2079</x><y>196</y><w>217</w><h>84</h></coordinates><panel_attributes>ParticleInfo
     73</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2079</x><y>280</y><w>217</w><h>84</h></coordinates><panel_attributes>ParticleInfo
    7474--
    7575nr: int
     
    7979#~ParticleInfo()
    8080#ostream &amp; operator &lt;&lt; (ostream &amp;ost) const
    81 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2485</x><y>231</y><w>174</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;161;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2646</x><y>161</y><w>147</w><h>133</h></coordinates><panel_attributes>BondList
     81</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2485</x><y>315</y><w>174</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;161;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2646</x><y>245</y><w>147</w><h>133</h></coordinates><panel_attributes>BondList
    8282{Some Properties}
    8383--
     
    9090Responsibilities
    9191-- Resp1
    92 *-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1372</x><y>343</y><w>147</w><h>105</h></coordinates><panel_attributes>GraphNodeInfo
     92*-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1372</x><y>427</y><w>147</w><h>105</h></coordinates><panel_attributes>GraphNodeInfo
    9393--
    9494--
     
    102102#GraphNodeInfo()
    103103#~GraphNodeInfo()
    104 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1484</x><y>525</y><w>126</w><h>70</h></coordinates><panel_attributes>GraphNode
     104</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1484</x><y>609</y><w>126</w><h>70</h></coordinates><panel_attributes>GraphNode
    105105--
    106106--
     
    109109#OutputGraphInfo() const
    110110#OutputComponentNumber() const
    111 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1484</x><y>259</y><w>748</w><h>279</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>735;21;735;70;217;70;217;210;21;210;21;266</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1484</x><y>427</y><w>34</w><h>111</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;98</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1288</x><y>672</y><w>588</w><h>245</h></coordinates><panel_attributes>Atom
     111</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1484</x><y>343</y><w>748</w><h>279</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>735;21;735;70;217;70;217;210;21;210;21;266</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1484</x><y>511</y><w>34</w><h>111</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;98</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1288</x><y>756</y><w>588</w><h>245</h></coordinates><panel_attributes>Atom
    112112--
    113113sort: int*
     
    129129#DistanceToVector(const Vector &amp;origin) const: double
    130130#DistanceSquaredToVector(const Vector &amp;origin) const: double
    131 #IsInParallelepiped(const Vector offset, const double *parallelepiped) const: bool</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1379</x><y>427</y><w>83</w><h>258</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;182;70;182;70;245</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2226</x><y>665</y><w>504</w><h>210</h></coordinates><panel_attributes>TrajectoryParticle
     131#IsInParallelepiped(const Vector offset, const double *parallelepiped) const: bool</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1379</x><y>511</y><w>83</w><h>258</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;182;70;182;70;245</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2226</x><y>749</y><w>504</w><h>210</h></coordinates><panel_attributes>TrajectoryParticle
    132132--
    133133--
     
    147147#Thermostat_Berendsen(int Step, double ScaleTempFactor, double *ekin, config *configuration)
    148148#Thermostat_NoseHoover_init(int Step, double *delta_alpha)
    149 #Thermostat_NoseHoover_scale(int Step, double *ekin, config *configuration)</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2149</x><y>259</y><w>209</w><h>419</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;112;196;112;196;406</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1967</x><y>259</y><w>391</w><h>419</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;112;378;112;378;406</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1617</x><y>490</y><w>203</w><h>70</h></coordinates><panel_attributes>TrajectoryParticleInfo
     149#Thermostat_NoseHoover_scale(int Step, double *ekin, config *configuration)</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>2149</x><y>343</y><w>209</w><h>419</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;112;196;112;196;406</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1967</x><y>343</y><w>391</w><h>419</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;112;378;112;378;406</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1617</x><y>574</y><w>203</w><h>70</h></coordinates><panel_attributes>TrajectoryParticleInfo
    150150--
    151151Trajectory: struct {vector&lt;Vector&gt; R,U,V}
     
    153153--
    154154#TrajectoryParticleInfo()
    155 #~TrajectoryParticleInfo()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1757</x><y>539</y><w>601</w><h>139</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;105;588;105;588;126</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>539</y><w>34</w><h>146</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;133</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1519</x><y>574</y><w>244</w><h>111</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;56;231;56;231;98</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1736</x><y>364</y><w>147</w><h>112</h></coordinates><panel_attributes>TesselPoint
     155#~TrajectoryParticleInfo()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1757</x><y>623</y><w>601</w><h>139</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;105;588;105;588;126</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>623</y><w>34</w><h>146</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;133</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1519</x><y>658</y><w>244</w><h>111</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>21;21;21;56;231;56;231;98</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1736</x><y>448</y><w>147</w><h>112</h></coordinates><panel_attributes>TesselPoint
    156156--
    157157-id: Long
     
    163163Responsibilities
    164164-- Resp1
    165 *-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>455</y><w>146</w><h>230</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>133;21;133;175;21;175;21;217</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>588</y><w>398</w><h>97</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>385;21;385;42;21;42;21;84</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>259</y><w>398</w><h>426</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>385;21;385;168;196;168;196;371;21;371;21;413</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>259</y><w>209</w><h>426</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>196;21;196;371;21;371;21;413</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>833</x><y>770</y><w>357</w><h>224</h></coordinates><panel_attributes>Bond
     165*-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>539</y><w>146</w><h>230</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>133;21;133;175;21;175;21;217</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>672</y><w>398</w><h>97</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>385;21;385;42;21;42;21;84</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>343</y><w>398</w><h>426</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>385;21;385;168;196;168;196;371;21;371;21;413</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1729</x><y>343</y><w>209</w><h>426</h></coordinates><panel_attributes>lt=&lt;&lt;-</panel_attributes><additional_attributes>196;21;196;371;21;371;21;413</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>833</x><y>854</y><w>357</w><h>224</h></coordinates><panel_attributes>Bond
    166166--
    167167HydrogenBond: int
     
    182182#bond()
    183183#bond(atom *left, atom *right, const int degree=1, const int number=0)
    184 #~bond()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1834</x><y>623</y><w>107</w><h>125</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
    185 3</panel_attributes><additional_attributes>42;112;91;112;91;35;21;35;21;49</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1169</x><y>812</y><w>132</w><h>49</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
    186 2</panel_attributes><additional_attributes>21;35;119;35</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>770</x><y>658</y><w>111</w><h>167</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
    187 2</panel_attributes><additional_attributes>63;154;28;154;28;35;98;35;98;112</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1113</x><y>1246</y><w>504</w><h>168</h></coordinates><panel_attributes>BondGraph
     184#~bond()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1834</x><y>707</y><w>107</w><h>125</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
     1853</panel_attributes><additional_attributes>42;112;91;112;91;35;21;35;21;49</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1169</x><y>896</y><w>132</w><h>49</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
     1862</panel_attributes><additional_attributes>21;35;119;35</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>770</x><y>742</y><w>111</w><h>167</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
     1872</panel_attributes><additional_attributes>63;154;28;154;28;35;98;35;98;112</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1113</x><y>1330</y><w>504</w><h>168</h></coordinates><panel_attributes>BondGraph
    188188--
    189189max_distance: double
     
    199199                                                        double &amp;MinDistance, double &amp;MaxDistance, bool IsAngstroem)
    200200#CovalentMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker,
    201                                           double &amp;MinDistance, double &amp;MaxDistance, bool IsAngstroem)</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1596</x><y>1323</y><w>167</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;154;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1750</x><y>1281</y><w>147</w><h>133</h></coordinates><panel_attributes>MatrixContainer
     201                                          double &amp;MinDistance, double &amp;MaxDistance, bool IsAngstroem)</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1596</x><y>1407</y><w>167</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;154;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1750</x><y>1365</y><w>147</w><h>133</h></coordinates><panel_attributes>MatrixContainer
    202202--
    203203-id: Long
     
    209209Responsibilities
    210210-- Resp1
    211 *-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>0</x><y>455</y><w>511</w><h>1050</h></coordinates><panel_attributes>config
     211*-- Resp2*</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>0</x><y>539</y><w>511</w><h>1050</h></coordinates><panel_attributes>config
    212212--
    213213PsiType: int
     
    297297#SetDefaultPath(const char * const path);
    298298#InitThermostats();
    299 #ParseThermostats(class ConfigFileBuffer * const fb);</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>490</x><y>1344</y><w>636</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;623;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1596</x><y>0</y><w>121</w><h>139</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
    300 2</panel_attributes><additional_attributes>70;126;105;126;105;35;21;35;21;63</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2520</x><y>896</y><w>224</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Singleton&gt;&gt;
     299#ParseThermostats(class ConfigFileBuffer * const fb);</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>490</x><y>1428</y><w>636</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;623;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1596</x><y>84</y><w>121</w><h>139</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
     3002</panel_attributes><additional_attributes>70;126;105;126;105;35;21;35;21;63</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2520</x><y>980</y><w>224</w><h>140</h></coordinates><panel_attributes>&lt;&lt;Singleton&gt;&gt;
    301301errorLogger
    302302--
     
    310310#static setVerbosity(int verbosityLevel);
    311311#protected errorLogger()
    312 #protected ~errorLogger()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2093</x><y>980</y><w>364</w><h>35</h></coordinates><panel_attributes>KeyCompare
     312#protected ~errorLogger()</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>2093</x><y>1064</y><w>364</w><h>35</h></coordinates><panel_attributes>KeyCompare
    313313--
    314314--
    315315#operator() (const KeySet SubgraphA, const KeySet SubgraphB) const: bool
    316 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1169</x><y>1134</y><w>147</w><h>105</h></coordinates><panel_attributes>UniqueFragments
     316</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1169</x><y>1218</y><w>147</w><h>105</h></coordinates><panel_attributes>UniqueFragments
    317317--
    318318ANOVAOrder: int
     
    322322ShortestPathList: int *
    323323UsedList: bool **
    324 BondsPerSPCount: int *</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>490</x><y>1169</y><w>692</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>679;21;21;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1120</x><y>896</y><w>251</w><h>307</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>49;294;21;294;21;224;238;224;238;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>840</x><y>1043</y><w>245</w><h>28</h></coordinates><panel_attributes>Graph
     324BondsPerSPCount: int *</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>490</x><y>1253</y><w>692</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>679;21;21;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1120</x><y>980</y><w>251</w><h>307</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>49;294;21;294;21;224;238;224;238;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>840</x><y>1127</y><w>245</w><h>28</h></coordinates><panel_attributes>Graph
    325325{map &lt;KeySet, NumberValuePair, KeyCompare&gt;}
    326 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>861</x><y>1050</y><w>321</w><h>153</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>308;140;21;140;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>945</x><y>1106</y><w>56</w><h>28</h></coordinates><panel_attributes>KeySet
    327 {set&lt;int&gt;}</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>945</x><y>1113</y><w>237</w><h>90</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>224;77;21;77;21;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1085</x><y>973</y><w>99</w><h>230</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
    328 0...N X 0...N</panel_attributes><additional_attributes>84;217;56;217;56;112;21;112;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1736</x><y>2198</y><w>147</w><h>42</h></coordinates><panel_attributes>LSQ_params
     326</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>861</x><y>1134</y><w>321</w><h>153</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>308;140;21;140;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>945</x><y>1190</y><w>56</w><h>28</h></coordinates><panel_attributes>KeySet
     327{set&lt;int&gt;}</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>945</x><y>1197</y><w>237</w><h>90</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>224;77;21;77;21;21</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1085</x><y>1057</y><w>99</w><h>230</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-
     3280...N X 0...N</panel_attributes><additional_attributes>84;217;56;217;56;112;21;112;21;21</additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1736</x><y>2282</y><w>147</w><h>42</h></coordinates><panel_attributes>LSQ_params
    329329--
    330330vectors: const Vector **
    331331num: int
    332 </panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1043</x><y>182</y><w>147</w><h>35</h></coordinates><panel_attributes>lsq_params
    333 --
    334 x: gsl_vector *</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1169</x><y>182</y><w>118</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;105;21</additional_attributes></element></umlet_diagram>
     332</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Class</type><coordinates><x>1043</x><y>266</y><w>147</w><h>35</h></coordinates><panel_attributes>lsq_params
     333--
     334x: gsl_vector *</panel_attributes><additional_attributes></additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>1169</x><y>266</y><w>118</w><h>34</h></coordinates><panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes><additional_attributes>21;21;105;21</additional_attributes></element></umlet_diagram>
  • src/Actions/MapOfActions.cpp

    r51a5c8 rf0f1cc  
    4242#include "Actions/MoleculeAction/FillWithMoleculeAction.hpp"
    4343#include "Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp"
    44 #include "Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.hpp"
    4544#include "Actions/MoleculeAction/SaveAdjacencyAction.hpp"
    4645#include "Actions/MoleculeAction/SaveBondsAction.hpp"
    4746#include "Actions/MoleculeAction/SaveTemperatureAction.hpp"
    48 #include "Actions/MoleculeAction/SuspendInWaterAction.hpp"
    4947#include "Actions/MoleculeAction/TranslateAction.hpp"
    5048#include "Actions/MoleculeAction/VerletIntegrationAction.hpp"
     
    290288
    291289  // put action into each menu category
    292   MenuDescription["analysis"] = pair<std::string,std::string>("Analysis (pair correlation, volume)", "Analysis");
    293   MenuDescription["atom"] = pair<std::string,std::string>("Edit atoms", "Edit atoms");
    294   MenuDescription["command"] = pair<std::string,std::string>("Configuration", "Configuration");
    295   MenuDescription["fragmentation"] = pair<std::string,std::string>("Fragmentation", "Fragmentation");
    296   MenuDescription["molecule"] = pair<std::string,std::string>("Parse files into system", "Parse files");
    297   MenuDescription["parser"] = pair<std::string,std::string>("Edit molecules (load, parse, save)", "Edit molecules");
    298   MenuDescription["tesselation"] = pair<std::string,std::string>("Tesselate molecules", "Tesselate molecules");
    299   MenuDescription["world"] = pair<std::string,std::string>("Edit world", "Edit world");
    300 
    301290  MenuContainsActionMap.insert( pair<std::string, std::string> ("analysis", "molecular-volume") );
    302291  MenuContainsActionMap.insert( pair<std::string, std::string> ("analysis", "pair-correlation") );
     
    456445  new MoleculeFillWithMoleculeAction();
    457446  new MoleculeLinearInterpolationofTrajectoriesAction();
    458   new MoleculeRotateToPrincipalAxisSystemAction();
    459447  new MoleculeSaveAdjacencyAction();
    460448  new MoleculeSaveBondsAction();
    461449  new MoleculeSaveTemperatureAction();
    462   new MoleculeSuspendInWaterAction();
    463450  new MoleculeTranslateAction();
    464451  new MoleculeVerletIntegrationAction();
  • src/Actions/MapOfActions.hpp

    r51a5c8 rf0f1cc  
    145145
    146146  std::multimap <std::string, std::string> MenuContainsActionMap;
    147   std::map <std::string, std::pair<std::string,std::string> > MenuDescription;
    148147
    149148  // instantiates and puts all known actions into the ActionRegistry
  • src/Actions/MoleculeAction/SuspendInWaterAction.cpp

    r51a5c8 rf0f1cc  
    5555  double volume = 0.;
    5656
    57   dialog->queryDouble(NAME, &density, MapOfActions::getInstance().getDescription(NAME));
    58   dialog->queryMolecule("molecule-by-id", &mol, MapOfActions::getInstance().getDescription("molecule-by-id"));
     57  dialog->queryMolecule(NAME, &mol, MapOfActions::getInstance().getDescription(NAME));
     58  dialog->queryDouble("density", &density, MapOfActions::getInstance().getDescription("density"));
    5959
    6060  if(dialog->display()) {
  • src/Actions/Process.cpp

    r51a5c8 rf0f1cc  
    4141
    4242int Process::getCurrStep(){
     43  OBSERVE;
    4344  return currStep;
    4445}
    4546
    4647void Process::setCurrStep(int _currStep){
    47   OBSERVE;
    4848  currStep = _currStep;
    4949}
     
    5555    return 0;
    5656}
     57
    5758int Process::getMaxSteps(){
    5859  return maxSteps;
  • src/Actions/TesselationAction/ConvexEnvelopeAction.hpp

    r51a5c8 rf0f1cc  
    3131};
    3232
     33
    3334#endif // CONVEXENVELOPEACTION_HPP
  • src/Legacy/oldmenu.cpp

    r51a5c8 rf0f1cc  
    1010
    1111#include "Legacy/oldmenu.hpp"
    12 #include "analysis_bonds.hpp"
    1312#include "analysis_correlation.hpp"
    1413#include "World.hpp"
     
    510509  Log() << Verbose(0) << " f - calculate temperature from current velocity" << endl;
    511510  Log() << Verbose(0) << " g - output all temperatures per step from velocities" << endl;
    512   Log() << Verbose(0) << " h - count the number of hydrogen bonds" << endl;
    513511  Log() << Verbose(0) << "all else - go back" << endl;
    514512  Log() << Verbose(0) << "===============================================" << endl;
     
    599597        output->close();
    600598        delete(output);
    601       }
    602       break;
    603     case 'h':
    604       {
    605         int Z1;
    606         cout << "Please enter first interface element: ";
    607         cin >> Z1;
    608         const element * InterfaceElement = World::getInstance().getPeriode()->FindElement(Z1);
    609         int Z2;
    610         cout << "Please enter second interface element: ";
    611         cin >> Z2;
    612         const element * InterfaceElement2 = World::getInstance().getPeriode()->FindElement(Z2);
    613         cout << endl << "There are " << CountHydrogenBridgeBonds(World::getInstance().getMolecules(), InterfaceElement, InterfaceElement2) << " hydrogen bridges with connections to " << (InterfaceElement != 0 ? InterfaceElement->name : "None") << " and " << (InterfaceElement2 != 0 ? InterfaceElement2->name : "None") << "." << endl;
    614599      }
    615600      break;
  • src/Makefile.am

    r51a5c8 rf0f1cc  
    102102  Patterns/Singleton.hpp
    103103
    104 QTUIMOC_HEADER = UIElements/QT4/QTDialog.hpp \
    105                                  UIElements/QT4/QTMainWindow.hpp \
    106                                  UIElements/Menu/QT4/QTMenu.hpp \
    107                                  UIElements/Views/QT4/QTWorldView.hpp \
    108                                  UIElements/Views/QT4/GLMoleculeView.hpp \
    109                                  UIElements/Views/QT4/QTMoleculeView.hpp \
    110                                  UIElements/Views/QT4/QTStatusBar.hpp
    111  
    112 QTUIMOC_TARGETS = QTMainWindow.moc.cpp \
    113                       QTMenu.moc.cpp\
    114                       QTDialog.moc.cpp \
    115                       QTWorldView.moc.cpp \
    116                       GLMoleculeView.moc.cpp \
    117                       QTMoleculeView.moc.cpp \
    118                       QTStatusBar.moc.cpp
    119 
    120104DESCRIPTORSOURCE = Descriptors/AtomDescriptor.cpp \
    121105  Descriptors/AtomIdDescriptor.cpp \
     
    146130                                  Exceptions/SkewException.hpp \
    147131                                  Exceptions/ZeroVectorException.hpp
    148                                  
    149 QTUISOURCE = ${QTUIMOC_TARGETS} \
    150                          UIElements/QT4/QTMainWindow.cpp \
    151                          UIElements/QT4/QTDialog.cpp \
    152                          UIElements/QT4/QTUIFactory.cpp \
    153                          UIElements/Menu/QT4/QTMenu.cpp \
    154                          UIElements/Views/QT4/QTWorldView.cpp \
    155                          UIElements/Views/QT4/GLMoleculeView.cpp \
    156                          UIElements/Views/QT4/QTMoleculeView.cpp \
    157                          UIElements/Views/QT4/QTStatusBar.cpp
    158              
    159 QTUIHEADER = ${QTUIMOC_HEADER} UIElements/QT4/QTUIFactory.hpp
    160 
    161 QTUI_DEFS =
    162132
    163133SOURCE = \
     
    257227
    258228BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB)
    259 GUI_LIBS = ${QT_LDADD} ${QT_LIB_GUI} -lQtOpenGL ${GLU_LIBS}
    260229INCLUDES = -I$(top_srcdir)/src/unittests -I$(top_srcdir)/src/Actions -I$(top_srcdir)/src/UIElements
    261230
    262 noinst_LIBRARIES = libmolecuilder.a libgslwrapper.a libmenu.a libparser.a
    263 bin_PROGRAMS = molecuilder molecuildergui joiner analyzer
    264 
     231noinst_LIBRARIES = libmolecuilder.a libgslwrapper.a libparser.a
     232bin_PROGRAMS = molecuilder joiner analyzer
    265233molecuilderdir = ${bindir}
    266 
    267234libmolecuilder_a_SOURCES = ${SOURCE} ${HEADER}
    268 
    269 libmenu_a_SOURCES = ${UISOURCE} ${UIHEADER}
    270235libparser_a_SOURCES = ${PARSERSOURCE} ${PARSERHEADER}
    271236libgslwrapper_a_SOURCES = ${LINALGSOURCE} ${LINALGHEADER}
    272 
    273237molecuilder_DATA = elements.db valence.db orbitals.db Hbonddistance.db Hbondangle.db
    274 
    275 molecuilder_CXXFLAGS = $(BOOST_CPPFLAGS)
    276 #molecuilder_CXXFLAGS += -DNO_CACHING
    277 molecuilder_LDFLAGS = $(BOOST_LIB)
    278 molecuilder_SOURCES = ${LEGACYSOURCE} builder.cpp
    279 molecuilder_SOURCES += $(srcdir)/version.c
    280 molecuilder_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions.a libmolecuilder.a libparser.a libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
    281 
    282 #Stuff for building the GUI using QT
    283 molecuildergui_SOURCES = ${QTUISOURCE} ${LEGACYSOURCE} builder.cpp
    284 molecuildergui_SOURCES += $(srcdir)/version.c
    285 molecuildergui_CXXFLAGS = ${QT_CXXFLAGS} ${GLU_CXXFLAGS} -DUSE_GUI_QT
    286 molecuildergui_LDFLAGS = $(BOOST_LIB) ${QT_LDFLAGS} ${GLU_LDFLAGS}
    287 molecuildergui_LDADD = UIElements/libMolecuilderUI.a Actions/libMolecuilderActions.a libmolecuilder.a libparser.a libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}  ${GUI_LIBS}
    288 
     238molecuilder_LDFLAGS = $(BOOST_LDFLAGS)
     239molecuilder_SOURCES = builder.cpp
     240molecuilder_LDADD =  UIElements/libMolecuilderUI.a Actions/libMolecuilderActions.a libmolecuilder.a libparser.a libgslwrapper.a $(BOOST_LIB) ${BOOST_THREAD_LIB} ${BOOST_PROGRAM_OPTIONS_LIB}
    289241joiner_SOURCES = joiner.cpp datacreator.cpp parser.cpp datacreator.hpp helpers.hpp parser.hpp periodentafel.hpp
    290242joiner_LDADD = libmolecuilder.a $(BOOST_LIB) ${BOOST_THREAD_LIB}
    291 
    292243analyzer_SOURCES = analyzer.cpp datacreator.cpp parser.cpp helpers.hpp periodentafel.hpp parser.hpp datacreator.hpp
    293244analyzer_LDADD = libmolecuilder.a $(BOOST_LIB) ${BOOST_THREAD_LIB}
    294 
    295 #Rules needed for QT4
    296 # UI-Files are scattered throughout several subdirectories
    297 # Therfore `%'-rules do not seem to work
    298 #Quick fix to get it done otherwise
    299 ${QTUIMOC_TARGETS}: ${QTUIMOC_HEADER}
    300         list='$(QTUIMOC_HEADER)'; for header in $$list; do \
    301         echo "Making mocfile for $$header"; \
    302         target=`basename $$header | sed "s/\(.*\)\..*/\1.moc.cpp/"`;\
    303         $(MOC) $(srcdir)/$$header -o $$target \
    304         || eval $$failcom; \
    305         done;
    306 
    307 MOSTLYCLEANFILES = ${QTUIMOC_TARGETS}
    308        
    309 #EXTRA_DIST = ${molecuilder_DATA}
    310245
    311246FORCE:
     
    323258        echo "const char *ESPACKVersion = \"$(PACKAGE_NAME) -- git version: "`cat $(srcdir)/.git-version`"\";" > $@
    324259
    325 
     260molecuilder_SOURCES += $(srcdir)/version.c
  • src/UIElements/Dialog.cpp

    r51a5c8 rf0f1cc  
    3434
    3535bool Dialog::display(){
    36   if(checkAll()){
    37     setAll();
    38     return true;
    39   }
    40   else{
    41     return false;
    42   }
    43 }
    44 
    45 bool Dialog::checkAll(){
    4636  list<Query*>::iterator iter;
    4737  bool retval = true;
     
    5444    }
    5545  }
     46  if (retval){
     47    // if all queries succeeded we can set the targets to appropriate values
     48    for(iter=queries.begin(); iter!=queries.end(); iter++) {
     49      (*iter)->setResult();
     50    }
     51  }
    5652  return retval;
    57 }
    58 
    59 void Dialog::setAll(){
    60   list<Query*>::iterator iter;
    61   for(iter=queries.begin(); iter!=queries.end(); iter++) {
    62     (*iter)->setResult();
    63   }
    6453}
    6554
  • src/UIElements/Dialog.hpp

    r51a5c8 rf0f1cc  
    3636
    3737  virtual bool display();
    38 
    39   virtual bool checkAll();
    40   virtual void setAll();
    4138
    4239protected:
  • src/UIElements/MainWindow.cpp

    r51a5c8 rf0f1cc  
    1111
    1212MainWindow::MainWindow()
    13 {}
     13{
     14  // TODO Auto-generated constructor stub
     15
     16}
    1417
    1518MainWindow::~MainWindow()
    16 {}
     19{
     20  // TODO Auto-generated destructor stub
     21}
  • src/UIElements/TextUI/TextUIFactory.cpp

    r51a5c8 rf0f1cc  
    99#include "UIElements/TextUI/TextWindow.hpp"
    1010#include "UIElements/TextUI/TextDialog.hpp"
     11
    1112
    1213TextUIFactory::TextUIFactory()
  • src/UIElements/TextUI/TextUIFactory.hpp

    r51a5c8 rf0f1cc  
    1313class TextUIFactory : public UIFactory
    1414{
    15   friend class UIFactory;
     15friend class UIFactory;
    1616
    1717public:
  • src/UIElements/TextUI/TextWindow.cpp

    r51a5c8 rf0f1cc  
    2525#include "Views/StreamStringView.hpp"
    2626#include "Views/MethodStringView.hpp"
    27 #include "Helpers/MemDebug.hpp"
    2827
    2928#include "defs.hpp"
     
    7170  new ActionMenuItem('a',"set molecule (in)active",main_menu,setMoleculeAction);
    7271
    73   TextMenu *Menu = NULL;
    74   std::set <char> ShortcutList;
    75   for(map<std::string, pair<std::string,std::string> >::iterator iter = MapOfActions::getInstance().MenuDescription.begin(); iter != MapOfActions::getInstance().MenuDescription.end(); ++iter) {
    76     Menu = new TextMenu(Log() << Verbose(0), iter->second.second);
    77     NametoTextMenuMap.insert( pair <std::string, TextMenu *> (iter->first, Menu) );
    78     new SubMenuItem(getSuitableShortForm(ShortcutList,iter->first),iter->second.first.c_str(),main_menu,Menu);
    79   }
     72  TextMenu *AnalysisMenu = new TextMenu(Log() << Verbose(0), "Analysis");
     73  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("analysis", AnalysisMenu) );
     74  new SubMenuItem('A',"Analysis (pair correlation, volume)",main_menu,AnalysisMenu);
     75
     76  TextMenu *CommandMenu = new TextMenu(Log() << Verbose(0), "Configuration");
     77  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("command", CommandMenu) );
     78  new SubMenuItem('c',"configuration",main_menu,CommandMenu);
     79
     80  TextMenu *AtomMenu = new TextMenu(Log() << Verbose(0), "Atoms");
     81  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("atom", AtomMenu) );
     82  new SubMenuItem('e',"edit atoms",main_menu,AtomMenu);
     83
     84  TextMenu *FragmentationMenu = new TextMenu(Log() << Verbose(0), "Fragmentation");
     85  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("fragmentation", FragmentationMenu) );
     86  new SubMenuItem('f',"fragmentation",main_menu,FragmentationMenu);
     87
     88  TextMenu *ParserMenu = new TextMenu(Log() << Verbose(0), "Parse files");
     89  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("parser", ParserMenu) );
     90  new SubMenuItem('p',"parse files into system",main_menu,ParserMenu);
     91
     92  TextMenu *MoleculesMenu = new TextMenu(Log() << Verbose(0), "Edit Molecules");
     93  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("analysis", AnalysisMenu) );
     94  new SubMenuItem('m',"edit molecules (load, parse, save)",main_menu,MoleculesMenu);
     95
     96  TextMenu *TesselationMenu = new TextMenu(Log() << Verbose(0), "Tesselate Molecules");
     97  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("tesselation", TesselationMenu) );
     98  new SubMenuItem('t',"tesselate molecules",main_menu,TesselationMenu);
     99
     100  TextMenu *WorldMenu = new TextMenu(Log() << Verbose(0), "World");
     101  NametoTextMenuMap.insert( pair <std::string, TextMenu *> ("world", WorldMenu) );
     102  new SubMenuItem('w',"edit world",main_menu,WorldMenu);
    80103
    81104  new SeperatorItem(main_menu);
  • src/UIElements/UIFactory.cpp

    r51a5c8 rf0f1cc  
    1212#include "UIElements/UIFactory.hpp"
    1313#include "Helpers/Assert.hpp"
    14 #include "Helpers/MemDebug.hpp"
    1514
    1615using namespace std;
  • src/UIElements/UIFactory.hpp

    r51a5c8 rf0f1cc  
    3030  friend class Singleton<UIFactory,false>;
    3131public:
    32 
    3332  /**
    3433   * Produce some kind of main window, of whichever type was chosen when the factory was created
  • src/analysis_bonds.cpp

    r51a5c8 rf0f1cc  
    121121 * \param *molecules molecules to count bonds
    122122 * \param *InterfaceElement or NULL
    123  * \param *Interface2Element or NULL
    124  */
    125 int CountHydrogenBridgeBonds(MoleculeListClass *molecules, const element * InterfaceElement = NULL, const element * Interface2Element = NULL)
     123 */
     124int CountHydrogenBridgeBonds(MoleculeListClass *molecules, const element * InterfaceElement = NULL)
    126125{
    127126  int count = 0;
     
    129128  double Otherangle = 0.;
    130129  bool InterfaceFlag = false;
    131   bool Interface2Flag = false;
    132130  bool OtherHydrogenFlag = true;
    133131  for (MoleculeList::const_iterator MolWalker = molecules->ListOfMolecules.begin();MolWalker != molecules->ListOfMolecules.end(); ++MolWalker) {
     
    147145              OtherHydrogens = 0;
    148146              InterfaceFlag = (InterfaceElement == NULL);
    149               Interface2Flag = (Interface2Element == NULL);
    150147              for (BondList::const_iterator BondRunner = (*Runner)->ListOfBonds.begin(); BondRunner != (*Runner)->ListOfBonds.end(); BondRunner++) {
    151148                atom * const OtherAtom = (*BondRunner)->GetOtherAtom(*Runner);
     
    158155                }
    159156                InterfaceFlag = InterfaceFlag || (OtherAtom->type == InterfaceElement);
    160                 Interface2Flag = Interface2Flag || (OtherAtom->type == Interface2Element);
    161157              }
    162158              DoLog(1) && (Log() << Verbose(1) << "Otherangle is " << Otherangle << " for " << OtherHydrogens << " hydrogens." << endl);
     
    172168                  break;
    173169              }
    174               if (InterfaceFlag && Interface2Flag && OtherHydrogenFlag) {
     170              if (InterfaceFlag && OtherHydrogenFlag) {
    175171                // on this element (Walker) we check for bond to hydrogen, i.e. part of water molecule
    176172                for (BondList::const_iterator BondRunner = (*Walker)->ListOfBonds.begin(); BondRunner != (*Walker)->ListOfBonds.end(); BondRunner++) {
  • src/analysis_bonds.hpp

    r51a5c8 rf0f1cc  
    3333void MinMeanMaxBondDistanceBetweenElements(const molecule *mol, const element *type1, const element *type2, double &Min, double &Mean, double &Max);
    3434
    35 int CountHydrogenBridgeBonds(MoleculeListClass * const molecules, const element * InterfaceElement, const element * Interface2Element);
     35int CountHydrogenBridgeBonds(MoleculeListClass * const molecules, const element * InterfaceElement);
    3636int CountBondsOfTwo(MoleculeListClass * const molecules, const element * const first, const element * const second);
    3737int CountBondsOfThree(MoleculeListClass * const molecules, const element * const first, const element * const second, const element * const third);
  • src/boundary.cpp

    r51a5c8 rf0f1cc  
    10041004//  // Purges surplus triangles.
    10051005//  TesselStruct->RemoveDegeneratedTriangles();
    1006 //
    1007 //  // check envelope for consistency
    1008 //  status = CheckListOfBaselines(TesselStruct);
     1006
     1007  // check envelope for consistency
     1008  status = CheckListOfBaselines(TesselStruct);
    10091009
    10101010  cout << "before correction" << endl;
  • src/builder.cpp

    r51a5c8 rf0f1cc  
    6060#include "config.hpp"
    6161#include "log.hpp"
    62 #include "memoryusageobserver.hpp"
    63 #include "molecule.hpp"
    64 #include "periodentafel.hpp"
    65 #include "tesselationhelpers.hpp"
    66 #include "UIElements/UIFactory.hpp"
    67 #include "UIElements/TextUI/TextUIFactory.hpp"
    68 #include "UIElements/CommandLineUI/CommandLineUIFactory.hpp"
    69 #ifdef USE_GUI_QT
    70 #include "UIElements/QT4/QTUIFactory.hpp"
    71 #endif
    72 #include "UIElements/MainWindow.hpp"
    73 #include "UIElements/Dialog.hpp"
    74 #include "Menu/ActionMenuItem.hpp"
    7562#include "verbose.hpp"
    7663#include "World.hpp"
     
    159146      UIFactory::makeUserInterface("CommandLine");
    160147    } else {
    161       #ifdef USE_GUI_QT
    162         DoLog(0) && (Log() << Verbose(0) << "Setting UI to QT4." << endl);
    163         UIFactory::registerFactory(new QTUIFactory::description());
    164         UIFactory::makeUserInterface("QT4");
    165       #else
    166         DoLog(0) && (Log() << Verbose(0) << "Setting UI to Text." << endl);
    167         cout << ESPACKVersion << endl;
    168         UIFactory::registerFactory(new TextUIFactory::description());
    169         UIFactory::makeUserInterface("Text");
    170       #endif
     148      DoLog(0) && (Log() << Verbose(0) << "Setting UI to Text." << endl);
     149      UIFactory::registerFactory(new TextUIFactory::description());
     150      UIFactory::makeUserInterface("Text");
    171151    }
    172152  }
  • src/defs.hpp

    r51a5c8 rf0f1cc  
    8282#define STD_SEPERATOR_SPACER '-'
    8383
    84 #define MOLECUILDER_NAME "Molecuilder"
    85 
    8684#endif /*DEFS_HPP_*/
  • src/molecule.hpp

    r51a5c8 rf0f1cc  
    2929#include <string>
    3030
    31 #include "types.hpp"
     31#include "defs.hpp"
    3232#include "graph.hpp"
    3333#include "stackclass.hpp"
  • src/tesselation.cpp

    r51a5c8 rf0f1cc  
    231231{
    232232  Info FunctionInfo(__func__);
    233   double angle = CalculateConvexity();
    234   if (angle > -MYEPSILON) {
    235     DoLog(0) && (Log() << Verbose(0) << "ACCEPT: Angle is greater than pi: convex." << endl);
    236     return true;
    237   } else {
    238     DoLog(0) && (Log() << Verbose(0) << "REJECT: Angle is less than pi: concave." << endl);
    239     return false;
    240   }
    241 }
    242 
    243 
    244 /** Calculates the angle between two triangles with respect to their normal vector.
    245  * We sum the two angles of each height vector with respect to the center of the baseline.
    246  * \return angle > 0 then convex, if < 0 then concave
    247  */
    248 double BoundaryLineSet::CalculateConvexity() const
    249 {
    250   Info FunctionInfo(__func__);
    251233  Vector BaseLineCenter, BaseLineNormal, BaseLine, helper[2], NormalCheck;
    252234  // get the two triangles
     
    297279  BaseLineNormal.Scale(-1.);
    298280  double angle = GetAngle(helper[0], helper[1], BaseLineNormal);
    299   return (angle - M_PI);
     281  if ((angle - M_PI) > -MYEPSILON) {
     282    DoLog(0) && (Log() << Verbose(0) << "ACCEPT: Angle is greater than pi: convex." << endl);
     283    return true;
     284  } else {
     285    DoLog(0) && (Log() << Verbose(0) << "REJECT: Angle is less than pi: concave." << endl);
     286    return false;
     287  }
    300288}
    301289
     
    316304/** Returns other endpoint of the line.
    317305 * \param *point other endpoint
    318  * \return NULL - if endpoint not contained in BoundaryLineSet::lines, or pointer to BoundaryPointSet otherwise
     306 * \return NULL - if endpoint not contained in BoundaryLineSet, or pointer to BoundaryPointSet otherwise
    319307 */
    320308class BoundaryPointSet *BoundaryLineSet::GetOtherEndpoint(const BoundaryPointSet * const point) const
     
    327315  else
    328316    return NULL;
    329 }
    330 ;
    331 
    332 /** Returns other triangle of the line.
    333  * \param *point other endpoint
    334  * \return NULL - if triangle not contained in BoundaryLineSet::triangles, or pointer to BoundaryTriangleSet otherwise
    335  */
    336 class BoundaryTriangleSet *BoundaryLineSet::GetOtherTriangle(const BoundaryTriangleSet * const triangle) const
    337 {
    338   Info FunctionInfo(__func__);
    339   if (triangles.size() == 2) {
    340     for (TriangleMap::const_iterator TriangleRunner = triangles.begin(); TriangleRunner != triangles.end(); ++TriangleRunner)
    341       if (TriangleRunner->second != triangle)
    342         return TriangleRunner->second;
    343   }
    344   return NULL;
    345317}
    346318;
     
    689661;
    690662
    691 /** Returns the baseline which does not contain the given boundary point \a *point.
    692  * \param *point endpoint which is neither endpoint of the desired line
    693  * \return pointer to desired third baseline
    694  */
    695 class BoundaryLineSet *BoundaryTriangleSet::GetThirdLine(const BoundaryPointSet * const point) const
    696 {
    697   Info FunctionInfo(__func__);
    698   // sanity check
    699   if (!ContainsBoundaryPoint(point))
    700     return NULL;
    701   for (int i = 0; i < 3; i++)
    702     if (!lines[i]->ContainsBoundaryPoint(point))
    703       return lines[i];
    704   // actually, that' impossible :)
    705   return NULL;
    706 }
    707 ;
    708 
    709663/** Calculates the center point of the triangle.
    710664 * Is third of the sum of all endpoints.
     
    11561110    TesselPointList *ListofPoints = LC->GetPointsInsideSphere(RADIUS, (*VRunner));
    11571111
    1158     DoLog(1) && (Log() << Verbose(1) << "The following atoms are inside sphere at " << (*VRunner) << ":" << endl);
     1112    DoLog(1) && (Log() << Verbose(1) << "The following atoms are inside sphere at " << OtherOptCenter << ":" << endl);
    11591113    for (TesselPointList::const_iterator Runner = ListofPoints->begin(); Runner != ListofPoints->end(); ++Runner)
    1160       DoLog(1) && (Log() << Verbose(1) << "  " << *(*Runner) << " with distance " << (*Runner)->node->distance(*(*VRunner)) << "." << endl);
     1114      DoLog(1) && (Log() << Verbose(1) << "  " << *(*Runner) << " with distance " << (*Runner)->node->distance(OtherOptCenter) << "." << endl);
    11611115
    11621116    // remove baseline's endpoints and candidates
     
    11741128      DoeLog(1) && (eLog() << Verbose(1) << "External atoms inside of sphere at " << *(*VRunner) << ":" << endl);
    11751129      for (TesselPointList::const_iterator Runner = ListofPoints->begin(); Runner != ListofPoints->end(); ++Runner)
    1176         DoeLog(1) && (eLog() << Verbose(1) << "  " << *(*Runner) << " at distance " << setprecision(13) << (*Runner)->node->distance(*(*VRunner)) << setprecision(6) << "." << endl);
    1177 
    1178       // check with animate_sphere.tcl VMD script
    1179       if (ThirdPoint != NULL) {
    1180         DoeLog(1) && (eLog() << Verbose(1) << "Check by: animate_sphere 0 " << BaseLine->endpoints[0]->Nr + 1 << " " << BaseLine->endpoints[1]->Nr + 1 << " " << ThirdPoint->Nr + 1 << " " << RADIUS << " " << OldCenter[0] << " " << OldCenter[1] << " " << OldCenter[2] << " " << (*VRunner)->at(0) << " " << (*VRunner)->at(1) << " " << (*VRunner)->at(2) << endl);
    1181       } else {
    1182         DoeLog(1) && (eLog() << Verbose(1) << "Check by: ... missing third point ..." << endl);
    1183         DoeLog(1) && (eLog() << Verbose(1) << "Check by: animate_sphere 0 " << BaseLine->endpoints[0]->Nr + 1 << " " << BaseLine->endpoints[1]->Nr + 1 << " ??? " << RADIUS << " " << OldCenter[0] << " " << OldCenter[1] << " " << OldCenter[2] << " " << (*VRunner)->at(0) << " " << (*VRunner)->at(1) << " " << (*VRunner)->at(2) << endl);
    1184       }
     1130        DoeLog(1) && (eLog() << Verbose(1) << "  " << *(*Runner) << endl);
    11851131    }
    11861132    delete (ListofPoints);
    11871133
     1134    // check with animate_sphere.tcl VMD script
     1135    if (ThirdPoint != NULL) {
     1136      DoLog(1) && (Log() << Verbose(1) << "Check by: animate_sphere 0 " << BaseLine->endpoints[0]->Nr + 1 << " " << BaseLine->endpoints[1]->Nr + 1 << " " << ThirdPoint->Nr + 1 << " " << RADIUS << " " << OldCenter[0] << " " << OldCenter[1] << " " << OldCenter[2] << " " << (*VRunner)->at(0) << " " << (*VRunner)->at(1) << " " << (*VRunner)->at(2) << endl);
     1137    } else {
     1138      DoLog(1) && (Log() << Verbose(1) << "Check by: ... missing third point ..." << endl);
     1139      DoLog(1) && (Log() << Verbose(1) << "Check by: animate_sphere 0 " << BaseLine->endpoints[0]->Nr + 1 << " " << BaseLine->endpoints[1]->Nr + 1 << " ??? " << RADIUS << " " << OldCenter[0] << " " << OldCenter[1] << " " << OldCenter[2] << " " << (*VRunner)->at(0) << " " << (*VRunner)->at(1) << " " << (*VRunner)->at(2) << endl);
     1140    }
    11881141  }
    11891142  return flag;
     
    33373290                        }
    33383291                      } else {
    3339                         DoeLog(0) && (eLog() << Verbose(1) << "REJECT: Distance to center of circumcircle is not the same from each corner of the triangle: " << fabs(radius - otherradius) << endl);
     3292                        DoLog(1) && (Log() << Verbose(1) << "REJECT: Distance to center of circumcircle is not the same from each corner of the triangle: " << fabs(radius - otherradius) << endl);
    33403293                      }
    33413294                    } else {
     
    46374590
    46384591  DoLog(0) && (Log() << Verbose(0) << "FindAllDegeneratedTriangles() found " << DegeneratedTriangles->size() << " triangles:" << endl);
    4639   for (IndexToIndex::iterator it = DegeneratedTriangles->begin(); it != DegeneratedTriangles->end(); it++)
     4592  IndexToIndex::iterator it;
     4593  for (it = DegeneratedTriangles->begin(); it != DegeneratedTriangles->end(); it++)
    46404594    DoLog(0) && (Log() << Verbose(0) << (*it).first << " => " << (*it).second << endl);
    46414595
     
    46554609  int count = 0;
    46564610
    4657   // iterate over all degenerated triangles
    4658   for (IndexToIndex::iterator TriangleKeyRunner = DegeneratedTriangles->begin(); !DegeneratedTriangles->empty(); TriangleKeyRunner = DegeneratedTriangles->begin()) {
    4659     DoLog(0) && (Log() << Verbose(0) << "Checking presence of triangles " << TriangleKeyRunner->first << " and " << TriangleKeyRunner->second << "." << endl);
    4660     // both ways are stored in the map, only use one
    4661     if (TriangleKeyRunner->first > TriangleKeyRunner->second)
    4662       continue;
    4663 
    4664     // determine from the keys in the map the two _present_ triangles
     4611  for (IndexToIndex::iterator TriangleKeyRunner = DegeneratedTriangles->begin(); TriangleKeyRunner != DegeneratedTriangles->end(); ++TriangleKeyRunner) {
    46654612    finder = TrianglesOnBoundary.find(TriangleKeyRunner->first);
    46664613    if (finder != TrianglesOnBoundary.end())
    46674614      triangle = finder->second;
    46684615    else
    4669       continue;
     4616      break;
    46704617    finder = TrianglesOnBoundary.find(TriangleKeyRunner->second);
    46714618    if (finder != TrianglesOnBoundary.end())
    46724619      partnerTriangle = finder->second;
    46734620    else
    4674       continue;
    4675 
    4676     // determine which lines are shared by the two triangles
     4621      break;
     4622
    46774623    bool trianglesShareLine = false;
    46784624    for (int i = 0; i < 3; ++i)
  • src/tesselation.hpp

    r51a5c8 rf0f1cc  
    138138    bool ContainsBoundaryPoint(const BoundaryPointSet * const point) const;
    139139    bool CheckConvexityCriterion() const;
    140     double CalculateConvexity() const;
    141140    class BoundaryPointSet *GetOtherEndpoint(const BoundaryPointSet * const point) const;
    142     class BoundaryTriangleSet *GetOtherTriangle(const BoundaryTriangleSet * const triangle) const;
    143141
    144142    class BoundaryPointSet *endpoints[2];
     
    166164    bool ContainsBoundaryPoint(const TesselPoint * const point) const;
    167165    class BoundaryPointSet *GetThirdEndpoint(const BoundaryLineSet * const line) const;
    168     class BoundaryLineSet *GetThirdLine(const BoundaryPointSet * const point) const;
    169166    bool IsPresentTupel(const BoundaryPointSet * const Points[3]) const;
    170167    bool IsPresentTupel(const BoundaryTriangleSet * const T) const;
  • src/tesselationhelpers.cpp

    r51a5c8 rf0f1cc  
    1212#include "info.hpp"
    1313#include "linkedcell.hpp"
    14 #include "linearsystemofequations.hpp"
    1514#include "log.hpp"
    1615#include "tesselation.hpp"
     
    186185  beta = M_PI - SideC.Angle(SideA);
    187186  gamma = M_PI - SideA.Angle(SideB);
    188   Log() << Verbose(1) << "INFO: alpha = " << alpha/M_PI*180. << ", beta = " << beta/M_PI*180. << ", gamma = " << gamma/M_PI*180. << "." << endl;
     187  //Log() << Verbose(1) << "INFO: alpha = " << alpha/M_PI*180. << ", beta = " << beta/M_PI*180. << ", gamma = " << gamma/M_PI*180. << "." << endl;
    189188  if (fabs(M_PI - alpha - beta - gamma) > HULLEPSILON) {
    190189    DoeLog(2) && (eLog()<< Verbose(2) << "GetCenterofCircumcircle: Sum of angles " << (alpha+beta+gamma)/M_PI*180. << " > 180 degrees by " << fabs(M_PI - alpha - beta - gamma)/M_PI*180. << "!" << endl);
     
    199198  (*Center) += helper;
    200199  Center->Scale(1./(sin(2.*alpha) + sin(2.*beta) + sin(2.*gamma)));
    201   Log() << Verbose(1) << "INFO: Center (1st algo) is at " << *Center << "." << endl;
    202 
    203 //  LinearSystemOfEquations LSofEq(NDIM,NDIM);
    204 //  double *matrix = new double[NDIM*NDIM];
    205 //  matrix[0] = 0.;
    206 //  matrix[1] = a.DistanceSquared(b);
    207 //  matrix[2] = a.DistanceSquared(c);
    208 //  matrix[3] = a.DistanceSquared(b);
    209 //  matrix[4] = 0.;
    210 //  matrix[5] = b.DistanceSquared(c);
    211 //  matrix[6] = a.DistanceSquared(c);
    212 //  matrix[7] = b.DistanceSquared(c);
    213 //  matrix[8] = 0.;
    214 //  cout << "Matrix is: ";
    215 //  for (int i=0;i<NDIM*NDIM;i++)
    216 //    cout << matrix[i] << "\t";
    217 //  cout << endl;
    218 //  LSofEq.SetA(matrix);
    219 //  delete[](matrix);
    220 //  LSofEq.Setb(new Vector(1.,1.,1.));
    221 //  LSofEq.SetSymmetric(true);
    222 //  helper.Zero();
    223 //  if (!LSofEq.GetSolutionAsVector(helper)) {
    224 //    DoLog(0) && (eLog()<< Verbose(0) << "Could not solve the linear system in GetCenterofCircumCircle()!" << endl);
    225 //  }
    226 //  cout << "Solution is " << helper << endl;
    227   // is equivalent to the three lines below
    228   helper[0] = SideA.NormSquared()*(SideB.NormSquared()+SideC.NormSquared() - SideA.NormSquared());
    229   helper[1] = SideB.NormSquared()*(SideC.NormSquared()+SideA.NormSquared() - SideB.NormSquared());
    230   helper[2] = SideC.NormSquared()*(SideA.NormSquared()+SideB.NormSquared() - SideC.NormSquared());
    231 
    232   Center->Zero();
    233   *Center += helper[0] * a;
    234   *Center += helper[1] * b;
    235   *Center += helper[2] * c;
    236   Center->Scale(1./(helper[0]+helper[1]+helper[2]));
    237   Log() << Verbose(1) << "INFO: Center (2nd algo) is at " << *Center << "." << endl;
    238200};
    239201
     
    457419/** Calculates the volume of a general tetraeder.
    458420 * \param *a first vector
    459  * \param *b second vector
    460  * \param *c third vector
    461  * \param *d fourth vector
     421 * \param *a first vector
     422 * \param *a first vector
     423 * \param *a first vector
    462424 * \return \f$ \frac{1}{6} \cdot ((a-d) \times (a-c) \cdot  (a-b)) \f$
    463425 */
     
    477439  volume = 1./6. * fabs(Point.ScalarProduct(TetraederVector[2]));
    478440  return volume;
    479 };
    480 
    481 /** Calculates the area of a general triangle.
    482  * We use the Heron's formula of area, [Bronstein, S. 138]
    483  * \param &A first vector
    484  * \param &B second vector
    485  * \param &C third vector
    486  * \return \f$ \frac{1}{6} \cdot ((a-d) \times (a-c) \cdot  (a-b)) \f$
    487  */
    488 double CalculateAreaofGeneralTriangle(const Vector &A, const Vector &B, const Vector &C)
    489 {
    490   Info FunctionInfo(__func__);
    491 
    492   const double sidea = B.distance(C);
    493   const double sideb = A.distance(C);
    494   const double sidec = A.distance(B);
    495   const double s = (sidea+sideb+sidec)/2.;
    496 
    497   const double area = sqrt(s*(s-sidea)*(s-sideb)*(s-sidec));
    498   return area;
    499441};
    500442
     
    940882  class BoundaryPointSet *point = NULL;
    941883  class BoundaryLineSet *line = NULL;
    942   class BoundaryTriangleSet *triangle = NULL;
    943   double ConcavityPerLine = 0.;
    944   double ConcavityPerTriangle = 0.;
    945   double area = 0.;
    946   double totalarea = 0.;
    947 
     884
     885  // calculate remaining concavity
    948886  for (PointMap::const_iterator PointRunner = TesselStruct->PointsOnBoundary.begin(); PointRunner != TesselStruct->PointsOnBoundary.end(); PointRunner++) {
    949887    point = PointRunner->second;
    950888    DoLog(1) && (Log() << Verbose(1) << "INFO: Current point is " << *point << "." << endl);
    951 
    952     // calculate mean concavity over all connected line
    953     ConcavityPerLine = 0.;
     889    point->value = 0;
    954890    for (LineMap::iterator LineRunner = point->lines.begin(); LineRunner != point->lines.end(); LineRunner++) {
    955891      line = LineRunner->second;
    956892      //Log() << Verbose(1) << "INFO: Current line of point " << *point << " is " << *line << "." << endl;
    957       ConcavityPerLine -= line->CalculateConvexity();
    958     }
    959     ConcavityPerLine /= point->lines.size();
    960 
    961     // weigh with total area of the surrounding triangles
    962     totalarea  = 0.;
    963     TriangleSet *triangles = TesselStruct->GetAllTriangles(PointRunner->second);
    964     for (TriangleSet::iterator TriangleRunner = triangles->begin(); TriangleRunner != triangles->end(); ++TriangleRunner) {
    965       totalarea += CalculateAreaofGeneralTriangle(*(*TriangleRunner)->endpoints[0]->node->node, *(*TriangleRunner)->endpoints[1]->node->node, *(*TriangleRunner)->endpoints[2]->node->node);
    966     }
    967     ConcavityPerLine *= totalarea;
    968 
    969     // calculate mean concavity over all attached triangles
    970     ConcavityPerTriangle = 0.;
    971     for (TriangleSet::const_iterator TriangleRunner = triangles->begin(); TriangleRunner != triangles->end(); ++TriangleRunner) {
    972       line = (*TriangleRunner)->GetThirdLine(PointRunner->second);
    973       triangle = line->GetOtherTriangle(*TriangleRunner);
    974       area = CalculateAreaofGeneralTriangle(*triangle->endpoints[0]->node->node, *triangle->endpoints[1]->node->node, *triangle->endpoints[2]->node->node);
    975       area += CalculateAreaofGeneralTriangle(*(*TriangleRunner)->endpoints[0]->node->node, *(*TriangleRunner)->endpoints[1]->node->node, *(*TriangleRunner)->endpoints[2]->node->node);
    976       area *= -line->CalculateConvexity();
    977       if (area > 0)
    978         ConcavityPerTriangle += area;
    979 //      else
    980 //        ConcavityPerTriangle -= area;
    981     }
    982     ConcavityPerTriangle /= triangles->size()/totalarea;
    983     delete(triangles);
    984 
    985     // add up
    986     point->value = ConcavityPerLine + ConcavityPerTriangle;
    987   }
    988 };
    989 
    990 
    991 
    992 /** Calculates the concavity for each of the BoundaryPointSet's in a Tesselation.
    993  * Sets BoundaryPointSet::value equal to the nearest distance to convex envelope.
    994  * \param *out output stream for debugging
    995  * \param *TesselStruct pointer to Tesselation structure
    996  * \param *Convex pointer to convex Tesselation structure as reference
    997  */
    998 void CalculateConstrictionPerBoundaryPoint(const Tesselation * const TesselStruct, const Tesselation * const Convex)
    999 {
    1000   Info FunctionInfo(__func__);
    1001   double distance = 0.;
    1002 
    1003   for (PointMap::const_iterator PointRunner = TesselStruct->PointsOnBoundary.begin(); PointRunner != TesselStruct->PointsOnBoundary.end(); PointRunner++) {
    1004     DoeLog(1) && (eLog() << Verbose(1) << "INFO: Current point is " << * PointRunner->second << "." << endl);
    1005 
    1006     distance = 0.;
    1007     for (TriangleMap::const_iterator TriangleRunner = Convex->TrianglesOnBoundary.begin(); TriangleRunner != Convex->TrianglesOnBoundary.end(); TriangleRunner++) {
    1008       const double CurrentDistance = Convex->GetDistanceSquaredToTriangle(*PointRunner->second->node->node, TriangleRunner->second);
    1009       if (CurrentDistance < distance)
    1010         distance = CurrentDistance;
    1011     }
    1012 
    1013     PointRunner->second->value = distance;
    1014   }
    1015 };
     893      if (!line->CheckConvexityCriterion())
     894        point->value += 1;
     895    }
     896  }
     897};
     898
    1016899
    1017900/** Checks whether each BoundaryLineSet in the Tesselation has two triangles.
  • src/tesselationhelpers.hpp

    r51a5c8 rf0f1cc  
    4343/********************************************** definitions *********************************/
    4444
    45 #define HULLEPSILON 1e-9 //!< TODO: Get rid of HULLEPSILON, points to numerical instabilities
     45#define HULLEPSILON 1e-10
    4646
    4747/********************************************** declarations *******************************/
     
    5555bool existsIntersection(const Vector &point1, const Vector &point2, const Vector &point3, const Vector &point4);
    5656double CalculateVolumeofGeneralTetraeder(const Vector &a, const Vector &b, const Vector &c, const Vector &d);
    57 double CalculateAreaofGeneralTriangle(const Vector &A, const Vector &B, const Vector &C);
    5857double GetAngle(const Vector &point, const Vector &reference, const Vector &OrthogonalVector);
    5958
     
    6968void WriteVrmlFile(ofstream * const vrmlfile, const Tesselation * const Tess, const PointCloud * const cloud);
    7069void CalculateConcavityPerBoundaryPoint(const Tesselation * const TesselStruct);
    71 void CalculateConstrictionPerBoundaryPoint(const Tesselation * const TesselStruct, const Tesselation * const Convex);
    7270double DistanceToTrianglePlane(const Vector *x, const BoundaryTriangleSet * const triangle);
    7371
  • src/unittests/CountBondsUnitTest.cpp

    r51a5c8 rf0f1cc  
    154154  Translator  = Vector(3,0,0);
    155155  TestMolecule2->Translate(&Translator);
    156   CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    157   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, oxygen, NULL) );
     156  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL) );
     157  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, oxygen) );
    158158  //OutputTestMolecule(TestMolecule2, "testmolecule2-1.xyz");
    159159  Translator = Vector(-3,0,0);
     
    163163  Translator = Vector(0,3,0);
    164164  TestMolecule2->Translate(&Translator);
    165   CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     165  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL) );
    166166  //OutputTestMolecule(TestMolecule2, "testmolecule2-2.xyz");
    167167  Translator = Vector(0,-3,0);
     
    172172  TestMolecule2->Scale((const double ** const)&mirror);
    173173  TestMolecule2->Translate(&Translator);
    174   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     174  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL) );
    175175  //OutputTestMolecule(TestMolecule2, "testmolecule2-3.xyz");
    176176  Translator = Vector(0,3,0);
     
    181181  Translator = Vector(2,1,0);
    182182  TestMolecule2->Translate(&Translator);
    183   CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     183  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL) );
    184184  //OutputTestMolecule(TestMolecule2, "testmolecule2-4.xyz");
    185185  Translator = Vector(-2,-1,0);
     
    189189  Translator = Vector(0,0,3);
    190190  TestMolecule2->Translate(&Translator);
    191   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     191  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL) );
    192192  //OutputTestMolecule(TestMolecule2, "testmolecule2-5.xyz");
    193193  Translator = Vector(0,0,-3);
     
    198198  TestMolecule2->Scale((const double ** const)&mirror);
    199199  TestMolecule2->Translate(&Translator);
    200   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     200  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL) );
    201201  //OutputTestMolecule(TestMolecule2, "testmolecule2-6.xyz");
    202202  Translator = Vector(3,0,0);
     
    208208  TestMolecule2->Scale((const double ** const)&mirror);
    209209  TestMolecule2->Translate(&Translator);
    210   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     210  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL) );
    211211  //OutputTestMolecule(TestMolecule2, "testmolecule2-7.xyz");
    212212  Translator = Vector(-3,0,0);
     
    219219  TestMolecule2->Translate(&Translator);
    220220  //OutputTestMolecule(TestMolecule2, "testmolecule2-8.xyz");
    221   CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
     221  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL) );
    222222  Translator = Vector(0,-3,0);
    223223  TestMolecule2->Translate(&Translator);
  • src/unittests/TestRunnerMain.cpp

    r51a5c8 rf0f1cc  
    1717#include "../../../TestRunnerClient.h"
    1818#include "../../../TestRunnerClient.cpp"
     19#else
     20#include "UnitTestMain.cpp"
     21#endif
    1922
    20 #else
    21 
    22 #include "unittests/UnitTestMain.cpp"
    23 
    24 #endif /* HAVE_ECUT */
  • src/unittests/UnitTestMain.cpp

    r51a5c8 rf0f1cc  
    66 */
    77
     8#include <cppunit/CompilerOutputter.h>
     9#include <cppunit/extensions/TestFactoryRegistry.h>
     10#include <cppunit/ui/text/TestRunner.h>
     11
    812// include config.h
    913#ifdef HAVE_CONFIG_H
    1014#include <config.h>
    1115#endif
    12 
    13 #include <cppunit/CompilerOutputter.h>
    14 #include <cppunit/extensions/TestFactoryRegistry.h>
    15 #include <cppunit/ui/text/TestRunner.h>
    1616
    1717/********************************************** Main routine **************************************/
     
    3535  return wasSucessful ? 0 : 1;
    3636};
    37 
  • tests/Tesselations/heptan/1.5/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=23, E=64, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 18.7229
    5 -7.27e-07 -1.22006 -0.849545 18.7229
    6 -1.2492 0.921941 0.930455 18.7227
    7 -1.2492 0.921941 -0.849545 18.7227
    8 1.2492 0.921941 -0.849545 18.7222
    9 1.2492 0.921941 0.930455 27.0641
    10 -2.4985 -1.22006 -0.849545 19.9769
    11 -2.4985 -1.22006 0.930455 27.4727
    12 2.4985 -1.22006 0.930455 19.9769
    13 2.4985 -1.22006 -0.849545 27.4727
    14 -4.6377 -0.336759 0.0404545 21.541
    15 -3.7477 0.921941 0.930455 18.8853
    16 -3.7477 0.921941 -0.849545 18.8853
    17 4.6377 -0.336759 0.0404545 10.6618
    18 3.7477 0.921941 -0.849545 18.5406
    19 3.7477 0.921941 0.930455 12.1988
    20 -7.27e-07 -0.590759 0.0404545 23.0174
    21 -1.2492 0.292641 0.0404545 23.0167
    22 1.2492 0.292641 0.0404545 20.1632
    23 -2.4985 -0.590759 0.0404545 18.9798
    24 2.4985 -0.590759 0.0404545 18.9798
    25 -3.7477 0.292641 0.0404545 39.5267
    26 3.7477 0.292641 0.0404545 23.2512
     4-7.27e-07 -1.22006 0.930455 3
     5-7.27e-07 -1.22006 -0.849545 3
     6-1.2492 0.921941 0.930455 3
     7-1.2492 0.921941 -0.849545 3
     81.2492 0.921941 -0.849545 3
     91.2492 0.921941 0.930455 3
     10-2.4985 -1.22006 -0.849545 4
     11-2.4985 -1.22006 0.930455 4
     122.4985 -1.22006 0.930455 4
     132.4985 -1.22006 -0.849545 4
     14-4.6377 -0.336759 0.0404545 6
     15-3.7477 0.921941 0.930455 5
     16-3.7477 0.921941 -0.849545 5
     174.6377 -0.336759 0.0404545 4
     183.7477 0.921941 -0.849545 4
     193.7477 0.921941 0.930455 4
     20-7.27e-07 -0.590759 0.0404545 6
     21-1.2492 0.292641 0.0404545 6
     221.2492 0.292641 0.0404545 6
     23-2.4985 -0.590759 0.0404545 6
     242.4985 -0.590759 0.0404545 6
     25-3.7477 0.292641 0.0404545 12
     263.7477 0.292641 0.0404545 12
    2727
    282814 15 23
     
    38385 18 19
    39394 5 18
    40 6 18 19
    41 3 6 18
    42403 4 18
    43413 4 18
     423 18 19
     433 6 19
    44444 18 22
    45454 13 22
     
    484812 13 22
    494912 13 22
    50 6 19 23
    51 6 16 23
     5016 19 23
     516 16 19
     5214 16 23
     5314 16 23
     549 14 23
     559 16 23
    525611 13 22
    535711 13 22
     
    58628 11 22
    59638 12 22
    60 14 16 23
    61 14 16 23
    62 9 14 23
    63 9 16 23
     644 7 13
     652 4 7
     662 4 5
     672 5 10
     685 10 15
    64693 8 12
    65701 3 8
     
    67721 6 9
    68736 9 16
    69 4 7 13
    70 2 4 7
    71 2 4 5
    72 2 5 10
    73 5 10 15
    747410 14 21
    75759 10 21
     
    84842 17 20
    85852 7 20
     861 17 20
     871 8 20
    86887 8 20
    87897 8 20
    88907 11 20
    89918 11 20
    90 8 17 20
    91 1 8 17
  • tests/Tesselations/heptan/2.5/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/Tesselations/heptan/2/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/Tesselations/heptan/25/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/Tesselations/heptan/3.5/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/Tesselations/heptan/3/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/Tesselations/heptan/4/NonConvexEnvelope-heptan.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="heptan", N=16, E=28, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 -7.27e-07 -1.22006 0.930455 -17.4952
    5 -7.27e-07 -1.22006 -0.849545 -17.4952
    6 -1.2492 0.921941 0.930455 -19.6818
    7 -1.2492 0.921941 -0.849545 -15.323
    8 1.2492 0.921941 -0.849545 -17.495
    9 1.2492 0.921941 0.930455 -17.4951
    10 -2.4985 -1.22006 -0.849545 -13.1263
    11 -2.4985 -1.22006 0.930455 -10.8961
    12 2.4985 -1.22006 0.930455 -13.1263
    13 2.4985 -1.22006 -0.849545 -10.8961
    14 -4.6377 -0.336759 0.0404545 -9.35471
    15 -3.7477 0.921941 0.930455 -9.24444
    16 -3.7477 0.921941 -0.849545 -11.4805
    17 4.6377 -0.336759 0.0404545 -9.35473
    18 3.7477 0.921941 -0.849545 -11.4805
    19 3.7477 0.921941 0.930455 -9.24445
     4-7.27e-07 -1.22006 0.930455 0
     5-7.27e-07 -1.22006 -0.849545 0
     6-1.2492 0.921941 0.930455 0
     7-1.2492 0.921941 -0.849545 0
     81.2492 0.921941 -0.849545 0
     91.2492 0.921941 0.930455 0
     10-2.4985 -1.22006 -0.849545 0
     11-2.4985 -1.22006 0.930455 0
     122.4985 -1.22006 0.930455 0
     132.4985 -1.22006 -0.849545 0
     14-4.6377 -0.336759 0.0404545 0
     15-3.7477 0.921941 0.930455 0
     16-3.7477 0.921941 -0.849545 0
     174.6377 -0.336759 0.0404545 0
     183.7477 0.921941 -0.849545 0
     193.7477 0.921941 0.930455 0
    2020
    212114 15 16
     
    27273 12 13
    282811 12 13
    29 7 11 13
    30 4 7 13
    31 2 4 7
    32 2 4 5
    33 2 5 10
    34 5 10 15
    35 10 14 15
     298 11 12
     303 8 12
     311 3 8
     321 3 6
     331 6 9
     346 9 16
     359 14 16
    36369 10 14
    37372 9 10
     
    40401 7 8
    41417 8 11
    42 9 14 16
    43 6 9 16
    44 1 6 9
    45 1 3 6
    46 1 3 8
    47 3 8 12
    48 8 11 12
     4210 14 15
     435 10 15
     442 5 10
     452 4 5
     462 4 7
     474 7 13
     487 11 13
  • tests/regression/Tesselation/1/post/NonConvexEnvelope.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="test", N=8, E=12, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 9.78209 2.64589 2.64589 -9.24443
    5 9.78209 2.64589 4.42589 -11.4804
    6 10.672 3.90454 3.53589 -9.35464
    7 8.53279 4.78789 2.64589 -9.11459
    8 8.53279 4.78789 4.42589 -9.11459
    9 6.39363 3.90454 3.53589 -9.35431
    10 7.28359 2.64589 2.64589 -11.4803
    11 7.28359 2.64589 4.42589 -9.24433
     49.78209 2.64589 2.64589 0
     59.78209 2.64589 4.42589 0
     610.672 3.90454 3.53589 0
     78.53279 4.78789 2.64589 0
     88.53279 4.78789 4.42589 0
     96.39363 3.90454 3.53589 0
     107.28359 2.64589 2.64589 0
     117.28359 2.64589 4.42589 0
    1212
    13131 3 4
  • tests/regression/Tesselation/2/post/ConvexEnvelope.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="test", N=8, E=12, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 9.78209 2.64589 2.64589 -9.24443
    5 9.78209 2.64589 4.42589 -11.4804
    6 10.672 3.90454 3.53589 -9.35464
    7 8.53279 4.78789 2.64589 -9.11459
    8 8.53279 4.78789 4.42589 -9.11459
    9 6.39363 3.90454 3.53589 -9.35431
    10 7.28359 2.64589 2.64589 -11.4803
    11 7.28359 2.64589 4.42589 -9.24433
     49.78209 2.64589 2.64589 0
     59.78209 2.64589 4.42589 0
     610.672 3.90454 3.53589 0
     78.53279 4.78789 2.64589 0
     88.53279 4.78789 4.42589 0
     96.39363 3.90454 3.53589 0
     107.28359 2.64589 2.64589 0
     117.28359 2.64589 4.42589 0
    1212
    13131 3 4
  • tests/regression/Tesselation/2/post/NonConvexEnvelope.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="test", N=8, E=12, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 9.78209 2.64589 2.64589 -9.24443
    5 9.78209 2.64589 4.42589 -11.4804
    6 10.672 3.90454 3.53589 -9.35464
    7 8.53279 4.78789 2.64589 -9.11459
    8 8.53279 4.78789 4.42589 -9.11459
    9 6.39363 3.90454 3.53589 -9.35431
    10 7.28359 2.64589 2.64589 -11.4803
    11 7.28359 2.64589 4.42589 -9.24433
     49.78209 2.64589 2.64589 0
     59.78209 2.64589 4.42589 0
     610.672 3.90454 3.53589 0
     78.53279 4.78789 2.64589 0
     88.53279 4.78789 4.42589 0
     96.39363 3.90454 3.53589 0
     107.28359 2.64589 2.64589 0
     117.28359 2.64589 4.42589 0
    1212
    13131 3 4
  • tests/regression/Tesselation/3/post/NonConvexEnvelope.dat

    r51a5c8 rf0f1cc  
    22VARIABLES = "X" "Y" "Z" "U"
    33ZONE T="test", N=44, E=86, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
    4 6.9077 1.1106 0.1214 -6.99715
    5 0.3612 -3.628 1.323 6.00416
    6 0.4884 -3.5983 -0.4521 11.8428
    7 1.4985 -2.5112 0.5308 6.07951
    8 -1.9534 -3.5752 0.5362 -4.26914
    9 -1.1883 -0.199 1.5176 14.2992
    10 -0.7165 -1.6046 2.5129 6.2134
    11 1.7627 -1.4479 -0.8349 7.15053
    12 -1.003 -1.3584 -2.8848 32.043
    13 0.0217 -2.6629 -2.2008 16.8009
    14 -2.8885 -1.5706 1.7543 -1.77076
    15 -2.0579 -3.6765 -1.7622 -7.05319
    16 -2.9259 -2.1146 -1.7672 33.6663
    17 1.0353 0.1785 2.542 48.8869
    18 1.6325 -1.3323 1.8306 1.44108
    19 0.7271 1.177 0.3594 27.9872
    20 1.3374 -0.2942 -2.961 13.6459
    21 0.6036 1.0859 -2.1126 98.521
    22 -3.2034 -0.5041 -1.0881 8.44805
    23 -5.1809 -1.8679 0.9687 -6.07448
    24 -4.6025 -2.4721 -0.6025 -6.52057
    25 -4.3385 -3.4329 0.8725 -4.12716
    26 3.191 1.3217 -2.8354 -10.5968
    27 -4.0905 0.6312 1.6028 21.8745
    28 2.8131 1.4776 2.5103 -0.774194
    29 3.9137 2.2936 1.3739 -2.51806
    30 2.159 2.5738 1.2698 151.494
    31 3.6606 -0.4593 2.1396 2.60004
    32 3.2007 -1.4419 0.7311 2.29272
    33 -3.3002 2.3589 0.0094 461.065
    34 -4.377 1.6962 -1.2433 43.4649
    35 5.2593 1.4547 -1.7445 -6.26082
    36 4.6863 2.7674 -0.6775 -8.55931
    37 5.746 -0.9031 1.204 -1.29544
    38 5.1212 -0.8867 -0.4582 31.5177
    39 -5.2641 2.8314 1.4476 21.5516
    40 5.2727 1.6068 1.2828 -2.57271
    41 -6.2394 4.6427 0.0632 -9.24392
    42 -4.4738 4.5591 -0.1458 62.5211
    43 -5.5506 3.8964 -1.3985 -10.3613
    44 -6.7081 0.9923 0.6224 -7.08885
    45 -7.5442 2.5597 0.5118 -11.4252
    46 -6.8554 1.8134 -0.9499 3.80444
    47 7.1391 2.0447 0.0264 -7.88713
     46.9077 1.1106 0.1214 1
     50.3612 -3.628 1.323 1
     60.4884 -3.5983 -0.4521 3
     71.4985 -2.5112 0.5308 4
     8-1.9534 -3.5752 0.5362 2
     9-1.1883 -0.199 1.5176 3
     10-0.7165 -1.6046 2.5129 1
     111.7627 -1.4479 -0.8349 4
     12-1.003 -1.3584 -2.8848 2
     130.0217 -2.6629 -2.2008 1
     14-2.8885 -1.5706 1.7543 2
     15-2.0579 -3.6765 -1.7622 0
     16-2.9259 -2.1146 -1.7672 1
     171.0353 0.1785 2.542 3
     181.6325 -1.3323 1.8306 2
     190.7271 1.177 0.3594 3
     201.3374 -0.2942 -2.961 2
     210.6036 1.0859 -2.1126 3
     22-3.2034 -0.5041 -1.0881 3
     23-5.1809 -1.8679 0.9687 1
     24-4.6025 -2.4721 -0.6025 2
     25-4.3385 -3.4329 0.8725 0
     263.191 1.3217 -2.8354 1
     27-4.0905 0.6312 1.6028 3
     282.8131 1.4776 2.5103 0
     293.9137 2.2936 1.3739 0
     302.159 2.5738 1.2698 5
     313.6606 -0.4593 2.1396 2
     323.2007 -1.4419 0.7311 4
     33-3.3002 2.3589 0.0094 8
     34-4.377 1.6962 -1.2433 3
     355.2593 1.4547 -1.7445 0
     364.6863 2.7674 -0.6775 0
     375.746 -0.9031 1.204 0
     385.1212 -0.8867 -0.4582 4
     39-5.2641 2.8314 1.4476 0
     405.2727 1.6068 1.2828 2
     41-6.2394 4.6427 0.0632 0
     42-4.4738 4.5591 -0.1458 3
     43-5.5506 3.8964 -1.3985 0
     44-6.7081 0.9923 0.6224 2
     45-7.5442 2.5597 0.5118 0
     46-6.8554 1.8134 -0.9499 1
     477.1391 2.0447 0.0264 0
    4848
    49491 32 44
  • tests/regression/testsuite-filling.at

    r51a5c8 rf0f1cc  
    1818AT_KEYWORDS([filling])
    1919AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Filling/2/pre/test.conf .], 0)
    20 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -u 1.3 --molecule-by-id 0], 0, [stdout], [stderr])
     20AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -u 1.3], 0, [stdout], [stderr])
    2121#AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Filling/2/post/$file], 0, [ignore], [ignore])
    2222AT_CLEANUP
  • tests/regression/testsuite-molecules.at

    r51a5c8 rf0f1cc  
    6161AT_KEYWORDS([Molecules])
    6262AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/8/pre/test.* .], 0)
    63 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -m 0], 0, [stdout], [stderr])
     63AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -m 1], 0, [stdout], [stderr])
    6464#AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/8/post/$file], 0, [ignore], [ignore])
    6565AT_CLEANUP
Note: See TracChangeset for help on using the changeset viewer.