TriangleSmooth.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (C) 2004-2006 Rational Discovery LLC
00003 //
00004 //   @@ All Rights Reserved @@
00005 //  This file is part of the RDKit.
00006 //  The contents are covered by the terms of the BSD license
00007 //  which is included in the file license.txt, found at the root
00008 //  of the RDKit source tree.
00009 //
00010 #ifndef __RD_TRIANGLE_SMOOTH_H__
00011 #define __RD_TRIANGLE_SMOOTH_H__
00012 
00013 #include "BoundsMatrix.h"
00014 
00015 
00016 namespace DistGeom {
00017   //! Smooth the upper and lower bound in a metric matrix so that triangle 
00018   //! inequality is not violated
00019   /*!
00020     This an implementation of the O(N^3) algorithm given on pages 252-253 of 
00021     "Distance Geometry and Molecular Conformation" by G.M.Crippen and T.F.Havel
00022     Research Studies Press, 1988. There are other (slightly) more implementations
00023     (see pages 301-302 in the above book), but that is for later
00024 
00025     \param boundsMat  A pointer to the distance bounds matrix
00026 
00027   */
00028   bool triangleSmoothBounds(BoundsMatrix *boundsMat);
00029   //! \overload
00030   bool triangleSmoothBounds(BoundsMatPtr boundsMat);
00031 }
00032 
00033 #endif
00034