Chemical Data Processing Library C++ API - Version 1.4.0
MMFF94InteractionData.hpp
Go to the documentation of this file.
1 /*
2  * MMFF94InteractionData.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_FORCEFIELD_MMFF94INTERACTIONDATA_HPP
30 #define CDPL_FORCEFIELD_MMFF94INTERACTIONDATA_HPP
31 
32 #include <memory>
33 
42 
43 
44 namespace CDPL
45 {
46 
47  namespace ForceField
48  {
49 
60  {
61 
62  public:
64  typedef std::shared_ptr<MMFF94InteractionData> SharedPointer;
65 
71 
77 
83 
89 
95 
101 
107 
113 
119 
125 
131 
137 
143 
149 
153  void clear();
154 
159  void swap(MMFF94InteractionData& ia_data);
160 
161  private:
162  MMFF94BondStretchingInteractionList bondStretchingData;
163  MMFF94AngleBendingInteractionList angleBendingData;
164  MMFF94StretchBendInteractionList stretchBendData;
166  MMFF94TorsionInteractionList torsionData;
167  MMFF94ElectrostaticInteractionList electrostaticData;
168  MMFF94VanDerWaalsInteractionList vanDerWaalsData;
169  };
170  } // namespace ForceField
171 } // namespace CDPL
172 
173 #endif // CDPL_FORCEFIELD_MMFF94INTERACTIONDATA_HPP
Definition of the preprocessor macro CDPL_FORCEFIELD_API.
#define CDPL_FORCEFIELD_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Declaration of type CDPL::ForceField::MMFF94AngleBendingInteractionList.
Declaration of type CDPL::ForceField::MMFF94BondStretchingInteractionList.
Declaration of type CDPL::ForceField::MMFF94ElectrostaticInteractionList.
Declaration of type CDPL::ForceField::MMFF94OutOfPlaneBendingInteractionList.
Declaration of type CDPL::ForceField::MMFF94StretchBendInteractionList.
Declaration of type CDPL::ForceField::MMFF94TorsionInteractionList.
Declaration of type CDPL::ForceField::MMFF94VanDerWaalsInteractionList.
Container holding the full set of MMFF94 interaction parameters for a molecular graph.
Definition: MMFF94InteractionData.hpp:60
MMFF94OutOfPlaneBendingInteractionList & getOutOfPlaneBendingInteractions()
Returns the list of MMFF94 out-of-plane bending interactions.
void swap(MMFF94InteractionData &ia_data)
Swaps the contents (all interaction lists) of this instance with ia_data.
const MMFF94BondStretchingInteractionList & getBondStretchingInteractions() const
Returns the list of MMFF94 bond-stretching interactions.
MMFF94VanDerWaalsInteractionList & getVanDerWaalsInteractions()
Returns the list of MMFF94 Van der Waals interactions.
MMFF94StretchBendInteractionList & getStretchBendInteractions()
Returns the list of MMFF94 stretch-bend interactions.
void clear()
Removes all stored interactions from every interaction list.
MMFF94AngleBendingInteractionList & getAngleBendingInteractions()
Returns the list of MMFF94 angle-bending interactions.
MMFF94ElectrostaticInteractionList & getElectrostaticInteractions()
Returns the list of MMFF94 electrostatic interactions.
const MMFF94ElectrostaticInteractionList & getElectrostaticInteractions() const
Returns the list of MMFF94 electrostatic interactions.
std::shared_ptr< MMFF94InteractionData > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94InteractionData instances.
Definition: MMFF94InteractionData.hpp:64
const MMFF94VanDerWaalsInteractionList & getVanDerWaalsInteractions() const
Returns the list of MMFF94 Van der Waals interactions.
MMFF94TorsionInteractionList & getTorsionInteractions()
Returns the list of MMFF94 torsion interactions.
const MMFF94AngleBendingInteractionList & getAngleBendingInteractions() const
Returns the list of MMFF94 angle-bending interactions.
const MMFF94TorsionInteractionList & getTorsionInteractions() const
Returns the list of MMFF94 torsion interactions.
MMFF94BondStretchingInteractionList & getBondStretchingInteractions()
Returns the list of MMFF94 bond-stretching interactions.
const MMFF94StretchBendInteractionList & getStretchBendInteractions() const
Returns the list of MMFF94 stretch-bend interactions.
const MMFF94OutOfPlaneBendingInteractionList & getOutOfPlaneBendingInteractions() const
Returns the list of MMFF94 out-of-plane bending interactions.
The namespace of the Chemical Data Processing Library.