Skip to content

Commit a573648

Browse files
committed
Merge for 2.17.0 release
2 parents 29d961d + a25a47b commit a573648

File tree

1,894 files changed

+7347
-6032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,894 files changed

+7347
-6032
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,28 @@ jobs:
1010
runs-on: ${{ matrix.os }}
1111
strategy:
1212
matrix:
13-
python-version: ["2.7", "3.6"]
14-
os: [ubuntu-18.04]
13+
python-version: ["3.8"]
14+
os: [ubuntu-20.04]
1515
compiler: [gcc]
1616
env:
1717
CC: ${{ matrix.compiler }}
18-
PY2: ${{ startsWith(matrix.python-version, 2) && 'on' || 'off' }}
1918
steps:
2019
- uses: actions/checkout@v2
2120
- name: Install dependencies
2221
run: |
2322
sudo apt-get update -qq
24-
sudo apt-get install -qq libboost-all-dev swig libhdf5-serial-dev libeigen3-dev \
23+
sudo apt-get install -qq libboost-all-dev swig libhdf5-dev libeigen3-dev \
2524
cmake libcgal-dev libcgal-qt5-dev \
26-
libfftw3-dev libopencv-dev libgsl0-dev libann-dev \
25+
libfftw3-dev libopencv-dev libgsl-dev libann-dev \
2726
libprotobuf-dev protobuf-compiler \
28-
libopenmpi-dev
29-
if [ "${{ env.PY2 }}" == "on" ]
30-
then
31-
sudo apt-get install -qq python-dev python-numpy python-protobuf \
32-
python-nose python-pip python-biopython
33-
export PIP=pip2
34-
else
35-
sudo apt-get install -qq python3-dev python3-numpy python3-protobuf \
36-
python3-nose python3-pip python3-biopython
37-
export PIP=pip3
38-
fi
39-
$PIP install codecov
27+
libopenmpi-dev python3-dev python3-numpy python3-protobuf \
28+
python3-nose python3-pip python3-biopython
29+
pip3 install codecov
4030
- name: Set up git
4131
run: ./setup_git.py
4232
- name: Build IMP
4333
run: |
4434
mkdir build
4535
cd build
46-
cmake .. -DUSE_PYTHON2=${{ env.PY2 }} -DCMAKE_CXX_FLAGS="${{ env.CXXFLAGS }}" -DCGAL_DIR=/usr/lib/x86_64-linux-gnu/cmake/CGAL/
36+
cmake .. -DUSE_PYTHON2=OFF -DCMAKE_CXX_FLAGS="${{ env.CXXFLAGS }}" -DCGAL_DIR=/usr/lib/x86_64-linux-gnu/cmake/CGAL/
4737
make -k -j 2

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
[submodule "components/pathway_mapping"]
55
path = components/pathway_mapping
66
url = https://github.com/salilab/pathway_mapping.git
7+
[submodule "components/metamodeling"]
8+
path = components/metamodeling
9+
url = https://github.com/salilab/metamodeling.git
710
[submodule "modules/pmi1"]
811
path = modules/pmi1
912
url = https://github.com/salilab/pmi.git

ChangeLog.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
ChangeLog {#changelog}
22
=========
33

4+
# 2.17.0 - 2022-06-23 # {#changelog_2_17_0}
5+
- IMP::atom::Selection no longer checks that the passed hierarchies are valid,
6+
as this can be quite computationally expensive. If in doubt, call
7+
IMP::atom::Hierarchy::get_is_valid() on each one first.
8+
- The IMP::em::CoarseCC class has been removed. Use similarly-named free
9+
functions instead to calculate coarse cross correlation.
10+
- The Windows .exe installer no longer supports Python 2 (it works with
11+
Python 3.6 through 3.10).
12+
- Binary packages are now provided for Ubuntu 22.04 LTS, Jammy Jellyfish
13+
and RedHat Enterprise Linux 9 (and variants, such as Rocky or Alma).
14+
- IMP now requires a C++11 compiler and SWIG 3 (or later) to build. Most
15+
recent compilers should support C++11, such as gcc, clang
16+
or MS Visual Studio 2012 or later. Various IMP macro and header workarounds
17+
for pre-C++11 environments are thus no longer needed and are deprecated:
18+
`IMP_NULLPTR`, `IMP_NULLPTR_T`, `IMP_OVERRIDE`, `IMP_FINAL`, `IMP_UNIQUE_PTR`,
19+
`IMP_FOREACH`, `IMP/nullptr.h`, and `IMP/nullptr_macros.h`.
20+
- The IMP::core::IncrementalScoringFunction class is now deprecated. Use
21+
IMP::core::MonteCarlo::set_score_moved or
22+
IMP::ScoringFunction::evaluate_moved instead.
23+
- A new application of IMP is now available:
24+
- [Integrative modeling of nanobody binding modes to the SARS-CoV-2 Spike protein](https://integrativemodeling.org/systems/nbspike)
25+
426
# 2.16.0 - 2021-12-16 # {#changelog_2_16_0}
527
- OpenCubicSpline now throws a ValueException for out-of-range values, to
628
be consistent with ClosedCubicSpline (previously it threw ModelException).

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ new shell.
3333
Copyright and License information
3434
=================================
3535

36-
IMP is Copyright 2007-2021 IMP Inventors. The IMP Inventors are
36+
IMP is Copyright 2007-2022 IMP Inventors. The IMP Inventors are
3737
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
3838
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
3939
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.16.0
1+
2.17.0

cmake_modules/IMPFindC++11.cmake

Lines changed: 44 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,54 @@
1-
if(NOT DEFINED IMP_CXX11)
2-
set(IMP_CXX11 1 CACHE BOOL "Whether to use C++11 if possible")
3-
endif()
4-
51
# Put flags in a cmake variable so we can set them before running compiler
62
# checks (elsewhere in the build)
73
set(IMP_CXX11_FLAGS "" CACHE INTERNAL "Flags to enable C++11 support" FORCE)
84

9-
if(IMP_CXX11)
10-
if (APPLE)
11-
execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION)
12-
string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
13-
endif()
5+
if (APPLE)
6+
execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION)
7+
string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
8+
endif()
149

15-
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
16-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE
17-
GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
18-
message(STATUS "GCC version: ${GCC_VERSION}")
19-
if (GCC_VERSION VERSION_GREATER 6.1 OR GCC_VERSION VERSION_EQUAL 6.1)
20-
# gcc 6.1 and up use C++14 by default, so no explicit switch required
21-
# (in fact adding --std=c++11 will break compilation of packages that
22-
# require C++14 features, like CGAL 5).
23-
message(STATUS "Using g++ C++11 (or later) support")
24-
elseif (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
25-
message(STATUS "Enabling g++ C++11 support")
26-
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
27-
elseif (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
28-
message(STATUS "Enabling g++ C++0x support")
29-
set(IMP_CXX11_FLAGS "--std=c++0x" CACHE INTERNAL "" FORCE)
30-
endif()
31-
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
32-
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
33-
OUTPUT_VARIABLE CLANG_VERSION)
34-
if(CLANG_VERSION MATCHES "clang version ([0-9.]+)")
35-
set(CLANG_VERSION ${CMAKE_MATCH_1})
36-
endif()
37-
message(STATUS "clang version: ${CLANG_VERSION}")
38-
# Modern clang (6 or later) uses C++14 by default; don't force older C++11
39-
if(CLANG_VERSION VERSION_GREATER 6.0)
40-
message(STATUS "Using clang C++11 (or later) support")
41-
# c++11's std::move (which boost/CGAL use) doesn't work until
42-
# OS X 10.9 (Darwin version 13)
43-
elseif(APPLE AND DARWIN_VERSION LESS 13)
44-
message(STATUS "Disabling C++11 for mac os < 10.9")
45-
elseif(BOOST_VERSION LESS 105000)
46-
message(STATUS "Disabling C++11 due to clang and older boost")
47-
else()
48-
message(STATUS "Enabling clang C++11 support")
49-
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
50-
endif()
51-
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
52-
message(STATUS "Using MSVC C++11 support")
10+
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
11+
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE
12+
GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
13+
message(STATUS "GCC version: ${GCC_VERSION}")
14+
if (GCC_VERSION VERSION_GREATER 6.1 OR GCC_VERSION VERSION_EQUAL 6.1)
15+
# gcc 6.1 and up use C++14 by default, so no explicit switch required
16+
# (in fact adding --std=c++11 will break compilation of packages that
17+
# require C++14 features, like CGAL 5).
18+
message(STATUS "Using g++ C++11 (or later) support")
19+
elseif (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
20+
message(STATUS "Enabling g++ C++11 support")
21+
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
22+
elseif (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
23+
message(STATUS "Enabling g++ C++0x support")
24+
set(IMP_CXX11_FLAGS "--std=c++0x" CACHE INTERNAL "" FORCE)
25+
else()
26+
message(FATAL_ERROR "IMP requires a C++11 compiler, but this GCC appears to be too old to support C++11")
27+
endif()
28+
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
29+
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
30+
OUTPUT_VARIABLE CLANG_VERSION)
31+
if(CLANG_VERSION MATCHES "clang version ([0-9.]+)")
32+
set(CLANG_VERSION ${CMAKE_MATCH_1})
33+
endif()
34+
message(STATUS "clang version: ${CLANG_VERSION}")
35+
# Modern clang (6 or later) uses C++14 by default; don't force older C++11
36+
if(CLANG_VERSION VERSION_GREATER 6.0)
37+
message(STATUS "Using clang C++11 (or later) support")
38+
# c++11's std::move (which boost/CGAL use) doesn't work until
39+
# OS X 10.9 (Darwin version 13)
40+
elseif(APPLE AND DARWIN_VERSION LESS 13)
41+
message(FATAL_ERROR "IMP requires a C++11 compiler, but this version of OS X is too old to properly support C++11")
42+
elseif(BOOST_VERSION LESS 105000)
43+
message(FATAL_ERROR "IMP requires a C++11 compiler, but this version of Boost is too old to properly support C++11")
5344
else()
54-
message(STATUS "Unknown compiler, not sure what to do about C++11")
45+
message(STATUS "Enabling clang C++11 support")
46+
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
5547
endif()
48+
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
49+
message(STATUS "Using MSVC C++11 support")
50+
else()
51+
message(STATUS "Unknown compiler, not sure what to do about C++11")
5652
endif()
5753

5854
if(IMP_CXX11_FLAGS)

components/metamodeling

Submodule metamodeling added at 0d4e523

doc/doxygen/header.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
$mathjax
1515
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
1616
$extrastylesheet
17-
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous" />
17+
<link href="//integrativemodeling.org/fontawesome6/css/fontawesome.min.css" rel="stylesheet" type="text/css" >
18+
<link href="//integrativemodeling.org/fontawesome6/css/brands.min.css" rel="stylesheet" type="text/css" >
1819
<link href="//integrativemodeling.org/imp.css" rel="stylesheet" type="text/css"/>
1920
</head>
2021
<body>

doc/manual/bugs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ To report a bug, [open an issue at GitHub](https://github.com/salilab/imp/issues
55
You can also [email us](https://integrativemodeling.org/contact.html), but
66
GitHub issues are preferred because we won't forget about them.
77

8-
If you write code to fix a bug, [reference the issue number in the commit message](https://help.github.com/articles/closing-issues-via-commit-messages/).
8+
If you write code to fix a bug, [reference the issue number in the commit message](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
99
This makes it a lot easier to look back at old issues and figure out how they
1010
were resolved. (If the code you write does not fix the bug but only relates
1111
to it, for example if you write a test case that demonstrates the problem,

doc/manual/code_conventions.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,8 @@ As a result, such functions do not need to obey all the coding conventions
121121
(but we recommend that they do).
122122

123123
# C++ 11 {#codeconv_cxx11}
124-
%IMP now turns on C++ 11 support when it can. However, since compilers
125-
are still quite variable in which C++ 11 features they support, it is
126-
not advisable to use them directly in %IMP code at this point. To aid
127-
in their use when practical we provide several helper macros:
128-
- `IMP_OVERRIDE` inserts the `override` keyword when available
129-
- `IMP_FINAL` inserts the `final` keyword when available
130-
131-
More will come.
124+
Latest %IMP requires a compiler that supports C++ 11, unlike older versions.
125+
Thus, C++ 11 features, such as the `override`, `final`, `auto` and `nullptr`
126+
keywords, and range-based for loops, can be used where appropriate.
127+
The old compatibility macros (such as `IMP_OVERRIDE`, `IMP_FINAL`,
128+
`IMP_NULLPTR` and `IMP_FOREACH`) should no longer be used.

doc/manual/dependencies.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ When the graph changes, it must be updated. This is done by simply invalidating
1111
- a new IMP::ModelObject is created that has a non-empty IMP::ModelObject::get_outputs().
1212
- when IMP::Model::set_has_dependencies(false) is called to deliberately invalidate all dependencies
1313

14-
Each IMP::ModelObject has a bit for whether it's dependencies are valid (IMP::ModelObject::get_has_dependencies()). Its dependencies will be updated any time they are needed (particularly when its IMP::ModelObject::get_required_score_states() method is called. This occurs by having the IMP::Model create the dependency graph if needed and then for each input
14+
Each IMP::ModelObject has a bit for whether its dependencies are valid (IMP::ModelObject::get_has_dependencies()). Its dependencies will be updated any time they are needed (particularly when its IMP::ModelObject::get_required_score_states() method is called. This occurs by having the IMP::Model create the dependency graph if needed and then for each input
1515
- add its IMP::ModelObject::get_required_score_state() to the list
1616
- if it is an IMP::ScoreState, add it to the list.
1717

18-
As a special case, the IMP::core::IncrementalScoringFunction has to take action after its dependencies are updated. This is because it keeps track of which restraints depend on which of the IMP::Particle instances that it is keeping track of. To do this, the IMP::ModelObject::do_set_has_dependencies() is called after dependencies are set up. IMP::core::IncrementalScoringFunction uses that function to compute its dependencies.
18+
Code can often be made more efficient by caching any data structures that are
19+
derived from the dependency graph, since this graph rarely changes in many
20+
common workflows. To aid in this, use the IMP::Model::get_dependencies_updated()
21+
method, which returns the model age when the graph was last updated.

doc/manual/devsetup.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tasks, you will need to [work with git](@ref faq_git) and make a copy of the
1111
used to [build IMP from source](@ref installation_download).
1212

1313
1. Make a copy (fork) of the [IMP repository](https://github.com/salilab/imp).
14-
There is an [excellent help page at GitHub](https://help.github.com/articles/fork-a-repo/)
14+
There is an [excellent help page at GitHub](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
1515
that explains this in detail.
1616

1717
2. Build %IMP [as previously described](@ref installation_download) - the only
@@ -22,7 +22,7 @@ used to [build IMP from source](@ref installation_download).
2222
3. Make your changes to %IMP (described in more detail below).
2323

2424
4. When you are finished with your changes,
25-
[open a pull request](https://help.github.com/articles/using-pull-requests/)
25+
[open a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
2626
to get it incorporated into the main %IMP repository.
2727

2828
\note There are other ways of working with %IMP. For %example, if you are

doc/manual/installation.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@ to see if the code is currently stable enough for your purposes.
2222

2323
In order to build %IMP from source, you will need:
2424

25+
- A C++ compiler that supports the C++11 standard, such as gcc, clang,
26+
or Microsoft Visual Studio 2012 or later.
2527
- [CMake](https://cmake.org) (2.8.12 or later; 3.14 or later is recommended)
2628
- [Boost](https://www.boost.org) (1.53 or later; Boost.Iostreams must be built
2729
with its [zlib filter enabled](https://www.boost.org/doc/libs/1_67_0/libs/iostreams/doc/installation.html))
2830
- [Eigen](https://eigen.tuxfamily.org/) (3.0 or later)
2931
- [HDF5](https://support.hdfgroup.org/HDF5/) (1.8 or later; 1.10 or 1.12
3032
should also work)
3133
- [Python](https://www.python.org) (2.7 or later, or any version of Python 3)
32-
- [SWIG](http://www.swig.org) (1.3.40 or later; 2.0.4 or later is needed
33-
if you want to use Python 3)
34+
- [SWIG](http://www.swig.org) (3 or later)
3435

3536
The following prerequisites are _optional_; without them some parts of %IMP
3637
will not build, and some will not function optimally.
@@ -58,7 +59,7 @@ will not build, and some will not function optimally.
5859
- [Protobuf](https://github.com/google/protobuf): needed to use the
5960
IMP.npctransport module.
6061
- An [MPI](@ref IMP::mpi) library is needed to use the IMP.mpi module.
61-
- The [scipy](http://www.scipy.org/scipylib/download.html),
62+
- The [scipy](https://scipy.org/download/),
6263
[scikit-learn](http://scikit-learn.org/stable/install.html),
6364
and [matplotlib](http://matplotlib.org/downloads.html)
6465
Python libraries are also recommended.

doc/manual/licenses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Copyright and licenses {#licenses}
22
======================
33

4-
%IMP is Copyright 2007-2021 %IMP Inventors. The %IMP Inventors are
4+
%IMP is Copyright 2007-2022 %IMP Inventors. The %IMP Inventors are
55
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
66
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
77
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.

doc/manual/scm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ following:
2020

2121
- Periodically run `git pull` to get latest 'upstream' changes into your
2222
copy (if you [made a fork](@ref devsetup), you should also periodically
23-
[sync it with the main repository](https://help.github.com/articles/syncing-a-fork/).
23+
[sync it with the main repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork).
2424
`git imp update` is similar but will also show you any new entries from
2525
the changelog.
2626

modules/algebra/benchmark/benchmark_grid_traversal.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
2+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
33
*/
44
#include <IMP/benchmark/benchmark_config.h>
55
#include <IMP/benchmark/benchmark_macros.h>

modules/algebra/benchmark/benchmark_knn.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
2+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
33
*/
44

55
#include <IMP/algebra.h>

modules/algebra/benchmark/benchmark_rotate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
2+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
33
*/
44
#include <IMP/algebra.h>
55
#include <boost/timer.hpp>

modules/algebra/benchmark/benchmark_surface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
2+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
33
*/
44

55
#include <IMP/algebra/connolly_surface.h>

modules/algebra/examples/grid.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \example grid.cpp
33
* \brief Show some of the basics of using a grid from C++.
44
*
5-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
5+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
66
*
77
*/
88
#include <IMP/algebra/standard_grids.h>
@@ -26,7 +26,7 @@ int main(int argc, char *argv[]) {
2626
double> Grid;
2727
Grid grid(1, bb, 0);
2828
// fill it with a gradient
29-
IMP_FOREACH(Grid::Index i, grid.get_all_indexes()) {
29+
for(Grid::Index i : grid.get_all_indexes()) {
3030
IMP::algebra::Vector3D c = grid.get_center(i);
3131
grid[i] = IMP::algebra::get_distance(c, IMP::algebra::Vector3D(10, 10, 10));
3232
}

modules/algebra/include/BoundingBoxD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* \file IMP/algebra/BoundingBoxD.h \brief A bounding box in D dimensions.
33
*
4-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
4+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
55
*
66
*/
77

modules/algebra/include/Cone3D.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file IMP/algebra/Cone3D.h
33
* \brief Represent a cone in 3D.
44
*
5-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
5+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
66
*/
77

88
#ifndef IMPALGEBRA_CONE_3D_H

modules/algebra/include/Cylinder3D.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file IMP/algebra/Cylinder3D.h
33
* \brief Represent a cylinder in 3D.
44
*
5-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
5+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
66
*/
77

88
#ifndef IMPALGEBRA_CYLINDER_3D_H

modules/algebra/include/Ellipsoid3D.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* \file IMP/algebra/Ellipsoid3D.h \brief Simple 3D ellipsoid class.
33
*
4-
* Copyright 2007-2021 IMP Inventors. All rights reserved.
4+
* Copyright 2007-2022 IMP Inventors. All rights reserved.
55
*
66
*/
77

0 commit comments

Comments
 (0)