/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
- * David van der Spoel, Berk Hess, Erik Lindahl, and including many
- * others, as listed in the AUTHORS file in the top-level source
- * directory and at http://www.gromacs.org.
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
*
* GROMACS is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
#include <boost/scoped_ptr.hpp>
-#include "../legacyheaders/typedefs.h"
+#include "gromacs/onlinehelp/helptopicinterface.h"
+#include "gromacs/selection/indexutil.h"
+#include "gromacs/selection/selection.h" // For gmx::SelectionList
+#include "gromacs/selection/selectioncollection.h"
+#include "gromacs/utility/uniqueptr.h"
-#include "../onlinehelp/helptopicinterface.h"
-#include "../utility/uniqueptr.h"
-#include "indexutil.h"
#include "poscalc.h"
-#include "selection.h" // For gmx::SelectionList
-#include "selectioncollection.h"
#include "selelem.h"
+struct gmx_sel_mempool_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
+
namespace gmx
{
/** Topology for the collection. */
t_topology *top;
/** Index group that contains all the atoms. */
- struct gmx_ana_index_t gall;
+ gmx_ana_index_t gall;
/** Memory pool used for selection evaluation. */
- struct gmx_sel_mempool_t *mempool;
+ gmx_sel_mempool_t *mempool;
//! Parser symbol table.
boost::scoped_ptr<gmx::SelectionParserSymbolTable> symtab;
//! Root of help topic tree (NULL is no help yet requested).
std::string rpost_;
//! Default output position type for selections.
std::string spost_;
+ //! Largest atom index needed by the selections for evaluation.
+ int maxAtomIndex_;
/*! \brief
* Debugging level for the collection.
*
gmx_ana_indexgrps_t *grps_;
};
-/*! \internal \brief
+/*! \internal
+ * \brief
* Implements selection evaluation.
*
* This class is used to implement SelectionCollection::evaluate() and