IMP logo
IMP Reference Guide  2.22.0
The Integrative Modeling Platform
algebra/python_only.h
Go to the documentation of this file.
1 /**
2  * \file IMP/algebra/python_only.h
3  * \brief Functionality only available in Python.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPALGEBRA_PYTHON_ONLY_H
10 #define IMPALGEBRA_PYTHON_ONLY_H
11 
12 #include <IMP/algebra/algebra_config.h>
13 
14 IMPALGEBRA_BEGIN_NAMESPACE
15 
16 /** \name Python Only
17  The following functions are only available in Python as the
18  equivalent C++ functionality is provided via template
19  functions or in other ways that don't directly map to
20  Python.
21  @{
22 */
23 #ifdef IMP_DOXYGEN
24 /*Sphere2D get_unit_sphere_2d();
25 Sphere3D get_unit_sphere_3d();
26 Sphere4D get_unit_sphere_4d();;
27 bool get_interiors_intersect(const Sphere2D&a, const Sphere2D &b);
28 bool get_interiors_intersect(const Sphere3D&a, const Sphere3D &b);
29 bool get_interiors_intersect(const Sphere4D&a, const Sphere4D &b);
30 double get_distance(const Sphere2D&a, const Sphere2D &b);
31 double get_distance(const Sphere3D&a, const Sphere3D &b);
32 double get_distance(const Sphere4D&a, const Sphere4D &b);
33 Vector2D get_random_vector_on(const Sphere2D &s);
34 Vector2D get_random_vector_on(const BoundingBox2D &s);
35 Vector3D get_random_vector_on(const Sphere3D &s);
36 Vector3D get_random_vector_on(const BoundingBox3D &s);
37 Vector4D get_random_vector_on(const Sphere4D &s);
38 Vector4D get_random_vector_on(const BoundingBox4D &s);
39 Vector2D get_random_vector_in(const Sphere2D &s);
40 Vector2D get_random_vector_in(const BoundingBox2D &s);
41 Vector3D get_random_vector_in(const Sphere3D &s);
42 Vector3D get_random_vector_in(const BoundingBox3D &s);
43 Vector4D get_random_vector_in(const Sphere4D &s);
44 Vector4D get_random_vector_in(const BoundingBox4D &s);
45 Vector2Ds get_uniform_surface_cover(const Sphere2D &s,
46  unsigned int n);
47 Vector3Ds get_uniform_surface_cover(const Sphere3D &s,
48  unsigned int n);
49 Vector<Vector4D > get_uniform_surface_cover(const Sphere4D &s,
50  unsigned int n);
51 BoundingBox2D get_bounding_box(const Sphere2D &s);
52 BoundingBox3D get_bounding_box(const Sphere3D &s);
53 BoundingBox4D get_bounding_box(const Sphere4D &s);
54 
55 Vector2D get_basis_vector_2d();
56 Vector3D get_basis_vector_3d();
57 Vector4D get_basis_vector_4d();
58 Vector2D get_zero_vector_2d();
59 Vector3D get_zero_vector_3d();
60 Vector4D get_zero_vector_4d();
61 Vector2D get_ones_vector_2d();
62 Vector3D get_ones_vector_3d();
63 Vector4D get_ones_vector_4d();
64 BoundingBox2D get_unit_bounding_box_2d();
65 BoundingBox3D get_unit_bounding_box_3d();
66 BoundingBox4D get_unit_bounding_box_4d();
67 class SparseIntGrid3D;
68 class SparseUnboundedIntGrid3D;
69 class DenseDoubleGrid3D;
70 class DenseFloatGrid3D;
71 */
72 
73 /** Equivalent to
74 \code
75 IMP::algebra::get_transformation_aligning_first_to_second(a,b);
76 \endcode
77  */
79  Vector3Ds b);
80 
81 /** A sparse grid of integers over a bounded region of space.
82  */
83 typedef Grid3D<int, SparseGridStorage3D<int, BoundedGridStorage3D> >
85 /** A sparse grid of integers over all of space.
86  */
87 typedef Grid3D<int, SparseGridStorage3D<int, UnboundedGridStorage3D> >
89 /** A grid of doubles over a region of space.
90  */
91 typedef Grid3D<double, DenseGridStorage3D<double> > DenseDoubleGrid3D;
92 /** A grid of floats over a region of space.
93  */
94 typedef Grid3D<float, DenseGridStorage3D<float> > DenseFloatGrid3D;
95 #endif
96 /** @} */
97 
98 IMPALGEBRA_END_NAMESPACE
99 
100 #endif /* IMPALGEBRA_PYTHON_ONLY_H */
Grid3D< float, DenseGridStorage3D< float > > DenseFloatGrid3D
Grid3D< int, SparseGridStorage3D< int, UnboundedGridStorage3D > > SparseUnboundedIntGrid3D
Vector< VectorD< 3 > > Vector3Ds
Definition: VectorD.h:410
Grid3D< double, DenseGridStorage3D< double > > DenseDoubleGrid3D
Grid3D< int, SparseGridStorage3D< int, BoundedGridStorage3D > > SparseIntGrid3D
Transformation3D get_transformation_aligning_first_to_second(Vector3Ds a, Vector3Ds b)