source: molecuilder/src/bondgraph.hpp@ 08b88b

Last change on this file since 08b88b was 08b88b, checked in by Frederik Heber <heber@…>, 16 years ago

Fixing not created adjacency list, partially fixing subgraph dissection in config::Load()

  • CreateAdjacencyList() was called with zero bonddistance.
  • this was due to max_distance not being initialised in the constructor to 0 and subsequently not set if Bond Length Table was not found.
  • new function SetMaxDistanceToMaxOfCovalentRadii() which sets the max_distance to twice the max of covalent radii of all elements.
  • config::Load() - atoms in copied molecule (by DepthFirstSearchAnalysis()) are made their own father (and originals are removed).
  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 * bondgraph.hpp
3 *
4 * Created on: Oct 29, 2009
5 * Author: heber
6 */
7
8#ifndef BONDGRAPH_HPP_
9#define BONDGRAPH_HPP_
10
11using namespace std;
12
13/*********************************************** includes ***********************************/
14
15// include config.h
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include <iostream>
21
22/****************************************** forward declarations *****************************/
23
24class molecule;
25class periodentafel;
26class MatrixContainer;
27
28/********************************************** definitions *********************************/
29
30/********************************************** declarations *******************************/
31
32
33class BondGraph {
34public:
35 BondGraph(bool IsA);
36 ~BondGraph();
37 bool LoadBondLengthTable(ofstream * const out, const string &filename);
38 bool ConstructBondGraph(ofstream * const out, molecule * const mol);
39 double GetBondLength(int firstelement, int secondelement);
40 double SetMaxDistanceToMaxOfCovalentRadii(ofstream * const out, const periodentafel * const periode);
41
42 void BondLengthMatrixMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker, double &MinDistance, double &MaxDistance, bool IsAngstroem);
43 void CovalentMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker, double &MinDistance, double &MaxDistance, bool IsAngstroem);
44
45private:
46 MatrixContainer *BondLengthMatrix;
47 double max_distance;
48 bool IsAngstroem;
49};
50
51#endif /* BONDGRAPH_HPP_ */
Note: See TracBrowser for help on using the repository browser.