IMP logo
IMP Reference Guide  2.19.0
The Integrative Modeling Platform
algebra/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.1.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2023 IMP Inventors. All rights reserved.
10 
11 from __future__ import print_function, division, absolute_import
12 
13 
14 
15 from sys import version_info as _swig_python_version_info
16 import _IMP_algebra
17 
18 try:
19  import builtins as __builtin__
20 except ImportError:
21  import __builtin__
22 
23 def _swig_repr(self):
24  try:
25  strthis = "proxy of " + self.this.__repr__()
26  except __builtin__.Exception:
27  strthis = ""
28  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
29 
30 
31 def _swig_setattr_nondynamic_instance_variable(set):
32  def set_instance_attr(self, name, value):
33  if name == "this":
34  set(self, name, value)
35  elif name == "thisown":
36  self.this.own(value)
37  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
38  set(self, name, value)
39  else:
40  raise AttributeError("You cannot add instance attributes to %s" % self)
41  return set_instance_attr
42 
43 
44 def _swig_setattr_nondynamic_class_variable(set):
45  def set_class_attr(cls, name, value):
46  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
47  set(cls, name, value)
48  else:
49  raise AttributeError("You cannot add class attributes to %s" % cls)
50  return set_class_attr
51 
52 
53 def _swig_add_metaclass(metaclass):
54  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
55  def wrapper(cls):
56  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
57  return wrapper
58 
59 
60 class _SwigNonDynamicMeta(type):
61  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
62  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
63 
64 
65 import weakref
66 
67 class IMP_ALGEBRA_SwigPyIterator(object):
68  r"""Proxy of C++ swig::IMP_ALGEBRA_SwigPyIterator class."""
69 
70  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
71 
72  def __init__(self, *args, **kwargs):
73  raise AttributeError("No constructor defined - class is abstract")
74  __repr__ = _swig_repr
75  __swig_destroy__ = _IMP_algebra.delete_IMP_ALGEBRA_SwigPyIterator
76 
77  def value(self):
78  r"""value(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
79  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_value(self)
80 
81  def incr(self, n=1):
82  r"""incr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
83  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_incr(self, n)
84 
85  def decr(self, n=1):
86  r"""decr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
87  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_decr(self, n)
88 
89  def distance(self, x):
90  r"""distance(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t"""
91  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_distance(self, x)
92 
93  def equal(self, x):
94  r"""equal(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
95  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_equal(self, x)
96 
97  def copy(self):
98  r"""copy(IMP_ALGEBRA_SwigPyIterator self) -> IMP_ALGEBRA_SwigPyIterator"""
99  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_copy(self)
100 
101  def next(self):
102  r"""next(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
103  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_next(self)
104 
105  def __next__(self):
106  r"""__next__(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
107  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___next__(self)
108 
109  def previous(self):
110  r"""previous(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
111  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_previous(self)
112 
113  def advance(self, n):
114  r"""advance(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
115  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_advance(self, n)
116 
117  def __eq__(self, x):
118  r"""__eq__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
119  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___eq__(self, x)
120 
121  def __ne__(self, x):
122  r"""__ne__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
123  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___ne__(self, x)
124 
125  def __iadd__(self, n):
126  r"""__iadd__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
127  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___iadd__(self, n)
128 
129  def __isub__(self, n):
130  r"""__isub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
131  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___isub__(self, n)
132 
133  def __add__(self, n):
134  r"""__add__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
135  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___add__(self, n)
136 
137  def __sub__(self, *args):
138  r"""
139  __sub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator
140  __sub__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t
141  """
142  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___sub__(self, *args)
143  def __iter__(self):
144  return self
145 
146 # Register IMP_ALGEBRA_SwigPyIterator in _IMP_algebra:
147 _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_swigregister(IMP_ALGEBRA_SwigPyIterator)
148 
149 _value_types=[]
150 _object_types=[]
151 _raii_types=[]
152 _plural_types=[]
153 
154 IMP_DEBUG = _IMP_algebra.IMP_DEBUG
155 
156 IMP_RELEASE = _IMP_algebra.IMP_RELEASE
157 
158 IMP_SILENT = _IMP_algebra.IMP_SILENT
159 
160 IMP_PROGRESS = _IMP_algebra.IMP_PROGRESS
161 
162 IMP_TERSE = _IMP_algebra.IMP_TERSE
163 
164 IMP_VERBOSE = _IMP_algebra.IMP_VERBOSE
165 
166 IMP_MEMORY = _IMP_algebra.IMP_MEMORY
167 
168 IMP_NONE = _IMP_algebra.IMP_NONE
169 
170 IMP_USAGE = _IMP_algebra.IMP_USAGE
171 
172 IMP_INTERNAL = _IMP_algebra.IMP_INTERNAL
173 
174 IMP_KERNEL_HAS_LOG4CXX = _IMP_algebra.IMP_KERNEL_HAS_LOG4CXX
175 
176 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_algebra.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
177 
178 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_algebra.IMP_COMPILER_HAS_DEBUG_VECTOR
179 
180 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_algebra.IMP_COMPILER_HAS_RANDOM_SHUFFLE
181 
182 IMP_COMPILER_HAS_THREE_WAY = _IMP_algebra.IMP_COMPILER_HAS_THREE_WAY
183 
184 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_RANDOM
185 
186 IMP_KERNEL_HAS_NUMPY = _IMP_algebra.IMP_KERNEL_HAS_NUMPY
187 
188 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_algebra.IMP_KERNEL_HAS_GPERFTOOLS
189 
190 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
191 
192 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
193 
194 IMPKERNEL_SHOW_WARNINGS = _IMP_algebra.IMPKERNEL_SHOW_WARNINGS
195 
196 
197 import sys
198 class _DirectorObjects(object):
199  """@internal Simple class to keep references to director objects
200  to prevent premature deletion."""
201  def __init__(self):
202  self._objects = []
203  def register(self, obj):
204  """Take a reference to a director object; will only work for
205  refcounted C++ classes"""
206  if hasattr(obj, 'get_ref_count'):
207  self._objects.append(obj)
208  def cleanup(self):
209  """Only drop our reference and allow cleanup by Python if no other
210  Python references exist (we hold 3 references: one in self._objects,
211  one in x, and one in the argument list for getrefcount) *and* no
212  other C++ references exist (the Python object always holds one)"""
213  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
214  or x.get_ref_count() > 1]
215 # Do in two steps so the references are kept until the end of the
216 # function (deleting references may trigger a fresh call to this method)
217  self._objects = objs
218  def get_object_count(self):
219  """Get number of director objects (useful for testing only)"""
220  return len(self._objects)
221 _director_objects = _DirectorObjects()
222 
223 class _ostream(object):
224  r"""Proxy of C++ std::ostream class."""
225 
226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
227 
228  def __init__(self, *args, **kwargs):
229  raise AttributeError("No constructor defined")
230  __repr__ = _swig_repr
231 
232  def write(self, osa_buf):
233  r"""write(_ostream self, char const * osa_buf)"""
234  return _IMP_algebra._ostream_write(self, osa_buf)
235 
236 # Register _ostream in _IMP_algebra:
237 _IMP_algebra._ostream_swigregister(_ostream)
238 IMP_C_OPEN_BINARY = _IMP_algebra.IMP_C_OPEN_BINARY
239 
240 import IMP
241 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_FILESYSTEM
242 
243 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
244 
245 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_CGAL_HAS_BOOST_RANDOM
246 
247 IMP_CGAL_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_SYSTEM
248 
249 IMP_CGAL_HAS_NUMPY = _IMP_algebra.IMP_CGAL_HAS_NUMPY
250 
251 IMPCGAL_SHOW_WARNINGS = _IMP_algebra.IMPCGAL_SHOW_WARNINGS
252 
253 import IMP.cgal
254 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_IMP_CGAL
255 
256 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
257 
258 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
259 
260 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_RANDOM
261 
262 IMP_ALGEBRA_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_SYSTEM
263 
264 IMP_ALGEBRA_HAS_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_CGAL
265 
266 IMP_ALGEBRA_HAS_NUMPY = _IMP_algebra.IMP_ALGEBRA_HAS_NUMPY
267 
268 IMP_ALGEBRA_HAS_ANN = _IMP_algebra.IMP_ALGEBRA_HAS_ANN
269 
270 IMPALGEBRA_SHOW_WARNINGS = _IMP_algebra.IMPALGEBRA_SHOW_WARNINGS
271 
272 
273 def get_vector(v):
274  try:
275  return v.get_coordinates()
276  except:
277  return v
278 def get_sphere(v):
279  try:
280  return v.get_sphere()
281  except:
282  return v
283 
284 
285 _object_types.append("VectorKDMetric")
286 
287 
288 def _object_cast_to_VectorKDMetric(o):
289  r"""_object_cast_to_VectorKDMetric(Object o) -> VectorKDMetric"""
290  return _IMP_algebra._object_cast_to_VectorKDMetric(o)
291 
292 _object_types.append("EuclideanVectorKDMetric")
293 
294 
295 def _object_cast_to_EuclideanVectorKDMetric(o):
296  r"""_object_cast_to_EuclideanVectorKDMetric(Object o) -> EuclideanVectorKDMetric"""
297  return _IMP_algebra._object_cast_to_EuclideanVectorKDMetric(o)
298 
299 _object_types.append("MaxVectorKDMetric")
300 
301 
302 def _object_cast_to_MaxVectorKDMetric(o):
303  r"""_object_cast_to_MaxVectorKDMetric(Object o) -> MaxVectorKDMetric"""
304  return _IMP_algebra._object_cast_to_MaxVectorKDMetric(o)
305 
306 _object_types.append("DynamicNearestNeighbor3D")
307 
308 
309 def _object_cast_to_DynamicNearestNeighbor3D(o):
310  r"""_object_cast_to_DynamicNearestNeighbor3D(Object o) -> DynamicNearestNeighbor3D"""
311  return _IMP_algebra._object_cast_to_DynamicNearestNeighbor3D(o)
312 
313 Rotation2Ds=list
314 _plural_types.append("Rotation2Ds")
315 _value_types.append("Rotation2D")
316 
317 
318 Rotation3Ds=list
319 _plural_types.append("Rotation3Ds")
320 _value_types.append("Rotation3D")
321 
322 
323 Reflection3Ds=list
324 _plural_types.append("Reflection3Ds")
325 _value_types.append("Reflection3D")
326 
327 
328 Transformation2Ds=list
329 _plural_types.append("Transformation2Ds")
330 _value_types.append("Transformation2D")
331 
332 
333 Transformation3Ds=list
334 _plural_types.append("Transformation3Ds")
335 _value_types.append("Transformation3D")
336 
337 
338 SphericalVector3Ds=list
339 _plural_types.append("SphericalVector3Ds")
340 _value_types.append("SphericalVector3D")
341 
342 
343 Triangle3Ds=list
344 _plural_types.append("Triangle3Ds")
345 _value_types.append("Triangle3D")
346 
347 
348 Cone3Ds=list
349 _plural_types.append("Cone3Ds")
350 _value_types.append("Cone3D")
351 
352 
353 Cylinder3Ds=list
354 _plural_types.append("Cylinder3Ds")
355 _value_types.append("Cylinder3D")
356 
357 
358 Ellipsoid3Ds=list
359 _plural_types.append("Ellipsoid3Ds")
360 _value_types.append("Ellipsoid3D")
361 
362 
363 Line3Ds=list
364 _plural_types.append("Line3Ds")
365 _value_types.append("Line3D")
366 
367 
368 Plane3Ds=list
369 _plural_types.append("Plane3Ds")
370 _value_types.append("Plane3D")
371 
372 
373 Segment3Ds=list
374 _plural_types.append("Segment3Ds")
375 _value_types.append("Segment3D")
376 
377 
378 SpherePatch3Ds=list
379 _plural_types.append("SpherePatch3Ds")
380 _value_types.append("SpherePatch3D")
381 
382 
383 ConnollySurfacePoints=list
384 _plural_types.append("ConnollySurfacePoints")
385 _value_types.append("ConnollySurfacePoint")
386 
387 
388 Sphere1Ds=list
389 _plural_types.append("Sphere1Ds")
390 _value_types.append("Sphere1D")
391 
392 
393 Sphere2Ds=list
394 _plural_types.append("Sphere2Ds")
395 _value_types.append("Sphere2D")
396 
397 
398 Sphere3Ds=list
399 _plural_types.append("Sphere3Ds")
400 _value_types.append("Sphere3D")
401 
402 
403 Sphere4Ds=list
404 _plural_types.append("Sphere4Ds")
405 _value_types.append("Sphere4D")
406 
407 
408 Sphere5Ds=list
409 _plural_types.append("Sphere5Ds")
410 _value_types.append("Sphere5D")
411 
412 
413 Sphere6Ds=list
414 _plural_types.append("Sphere6Ds")
415 _value_types.append("Sphere6D")
416 
417 
418 Sphere1Ds=list
419 _plural_types.append("Sphere1Ds")
420 _value_types.append("SphereD<1>")
421 
422 
423 Sphere2Ds=list
424 _plural_types.append("Sphere2Ds")
425 _value_types.append("SphereD<2>")
426 
427 
428 Sphere3Ds=list
429 _plural_types.append("Sphere3Ds")
430 _value_types.append("SphereD<3>")
431 
432 
433 Sphere4Ds=list
434 _plural_types.append("Sphere4Ds")
435 _value_types.append("SphereD<4>")
436 
437 
438 Sphere5Ds=list
439 _plural_types.append("Sphere5Ds")
440 _value_types.append("SphereD<5>")
441 
442 
443 Sphere6Ds=list
444 _plural_types.append("Sphere6Ds")
445 _value_types.append("SphereD<6>")
446 
447 
448 SphereKDs=list
449 _plural_types.append("SphereKDs")
450 _value_types.append("SphereKD")
451 
452 
453 SphereKDs=list
454 _plural_types.append("SphereKDs")
455 _value_types.append("SphereD<-1>")
456 
457 
458 UnitSimplex1Ds=list
459 _plural_types.append("UnitSimplex1Ds")
460 _value_types.append("UnitSimplex1D")
461 
462 
463 UnitSimplex2Ds=list
464 _plural_types.append("UnitSimplex2Ds")
465 _value_types.append("UnitSimplex2D")
466 
467 
468 UnitSimplex3Ds=list
469 _plural_types.append("UnitSimplex3Ds")
470 _value_types.append("UnitSimplex3D")
471 
472 
473 UnitSimplex4Ds=list
474 _plural_types.append("UnitSimplex4Ds")
475 _value_types.append("UnitSimplex4D")
476 
477 
478 UnitSimplex5Ds=list
479 _plural_types.append("UnitSimplex5Ds")
480 _value_types.append("UnitSimplex5D")
481 
482 
483 UnitSimplex6Ds=list
484 _plural_types.append("UnitSimplex6Ds")
485 _value_types.append("UnitSimplex6D")
486 
487 
488 UnitSimplex1Ds=list
489 _plural_types.append("UnitSimplex1Ds")
490 _value_types.append("UnitSimplexD<1>")
491 
492 
493 UnitSimplex2Ds=list
494 _plural_types.append("UnitSimplex2Ds")
495 _value_types.append("UnitSimplexD<2>")
496 
497 
498 UnitSimplex3Ds=list
499 _plural_types.append("UnitSimplex3Ds")
500 _value_types.append("UnitSimplexD<3>")
501 
502 
503 UnitSimplex4Ds=list
504 _plural_types.append("UnitSimplex4Ds")
505 _value_types.append("UnitSimplexD<4>")
506 
507 
508 UnitSimplex5Ds=list
509 _plural_types.append("UnitSimplex5Ds")
510 _value_types.append("UnitSimplexD<5>")
511 
512 
513 UnitSimplex6Ds=list
514 _plural_types.append("UnitSimplex6Ds")
515 _value_types.append("UnitSimplexD<6>")
516 
517 
518 UnitSimplexKDs=list
519 _plural_types.append("UnitSimplexKDs")
520 _value_types.append("UnitSimplexKD")
521 
522 
523 UnitSimplexKDs=list
524 _plural_types.append("UnitSimplexKDs")
525 _value_types.append("UnitSimplexD<-1>")
526 
527 
528 BoundingBox1Ds=list
529 _plural_types.append("BoundingBox1Ds")
530 _value_types.append("BoundingBox1D")
531 
532 
533 BoundingBox2Ds=list
534 _plural_types.append("BoundingBox2Ds")
535 _value_types.append("BoundingBox2D")
536 
537 
538 BoundingBox3Ds=list
539 _plural_types.append("BoundingBox3Ds")
540 _value_types.append("BoundingBox3D")
541 
542 
543 BoundingBox4Ds=list
544 _plural_types.append("BoundingBox4Ds")
545 _value_types.append("BoundingBox4D")
546 
547 
548 BoundingBox5Ds=list
549 _plural_types.append("BoundingBox5Ds")
550 _value_types.append("BoundingBox5D")
551 
552 
553 BoundingBox6Ds=list
554 _plural_types.append("BoundingBox6Ds")
555 _value_types.append("BoundingBox6D")
556 
557 
558 BoundingBox1Ds=list
559 _plural_types.append("BoundingBox1Ds")
560 _value_types.append("BoundingBoxD<1>")
561 
562 
563 BoundingBox2Ds=list
564 _plural_types.append("BoundingBox2Ds")
565 _value_types.append("BoundingBoxD<2>")
566 
567 
568 BoundingBox3Ds=list
569 _plural_types.append("BoundingBox3Ds")
570 _value_types.append("BoundingBoxD<3>")
571 
572 
573 BoundingBox4Ds=list
574 _plural_types.append("BoundingBox4Ds")
575 _value_types.append("BoundingBoxD<4>")
576 
577 
578 BoundingBox5Ds=list
579 _plural_types.append("BoundingBox5Ds")
580 _value_types.append("BoundingBoxD<5>")
581 
582 
583 BoundingBox6Ds=list
584 _plural_types.append("BoundingBox6Ds")
585 _value_types.append("BoundingBoxD<6>")
586 
587 
588 BoundingBoxKDs=list
589 _plural_types.append("BoundingBoxKDs")
590 _value_types.append("BoundingBoxKD")
591 
592 
593 BoundingBoxKDs=list
594 _plural_types.append("BoundingBoxKDs")
595 _value_types.append("BoundingBoxD<-1>")
596 
597 
598 PrincipalComponentAnalysis1Ds=list
599 _plural_types.append("PrincipalComponentAnalysis1Ds")
600 _value_types.append("PrincipalComponentAnalysis1D")
601 
602 
603 PrincipalComponentAnalysis2Ds=list
604 _plural_types.append("PrincipalComponentAnalysis2Ds")
605 _value_types.append("PrincipalComponentAnalysis2D")
606 
607 
608 PrincipalComponentAnalysis3Ds=list
609 _plural_types.append("PrincipalComponentAnalysis3Ds")
610 _value_types.append("PrincipalComponentAnalysis3D")
611 
612 
613 PrincipalComponentAnalysis4Ds=list
614 _plural_types.append("PrincipalComponentAnalysis4Ds")
615 _value_types.append("PrincipalComponentAnalysis4D")
616 
617 
618 PrincipalComponentAnalysis5Ds=list
619 _plural_types.append("PrincipalComponentAnalysis5Ds")
620 _value_types.append("PrincipalComponentAnalysis5D")
621 
622 
623 PrincipalComponentAnalysis6Ds=list
624 _plural_types.append("PrincipalComponentAnalysis6Ds")
625 _value_types.append("PrincipalComponentAnalysis6D")
626 
627 
628 PrincipalComponentAnalysis1Ds=list
629 _plural_types.append("PrincipalComponentAnalysis1Ds")
630 _value_types.append("PrincipalComponentAnalysisD<1>")
631 
632 
633 PrincipalComponentAnalysis2Ds=list
634 _plural_types.append("PrincipalComponentAnalysis2Ds")
635 _value_types.append("PrincipalComponentAnalysisD<2>")
636 
637 
638 PrincipalComponentAnalysis3Ds=list
639 _plural_types.append("PrincipalComponentAnalysis3Ds")
640 _value_types.append("PrincipalComponentAnalysisD<3>")
641 
642 
643 PrincipalComponentAnalysis4Ds=list
644 _plural_types.append("PrincipalComponentAnalysis4Ds")
645 _value_types.append("PrincipalComponentAnalysisD<4>")
646 
647 
648 PrincipalComponentAnalysis5Ds=list
649 _plural_types.append("PrincipalComponentAnalysis5Ds")
650 _value_types.append("PrincipalComponentAnalysisD<5>")
651 
652 
653 PrincipalComponentAnalysis6Ds=list
654 _plural_types.append("PrincipalComponentAnalysis6Ds")
655 _value_types.append("PrincipalComponentAnalysisD<6>")
656 
657 
658 PrincipalComponentAnalysisKDs=list
659 _plural_types.append("PrincipalComponentAnalysisKDs")
660 _value_types.append("PrincipalComponentAnalysisKD")
661 
662 
663 PrincipalComponentAnalysisKDs=list
664 _plural_types.append("PrincipalComponentAnalysisKDs")
665 _value_types.append("PrincipalComponentAnalysisD<-1>")
666 
667 
668 _object_types.append("NearestNeighbor1D")
669 
670 
671 def _object_cast_to_NearestNeighbor1D(o):
672  r"""_object_cast_to_NearestNeighbor1D(Object o) -> NearestNeighbor1D"""
673  return _IMP_algebra._object_cast_to_NearestNeighbor1D(o)
674 
675 _object_types.append("NearestNeighbor2D")
676 
677 
678 def _object_cast_to_NearestNeighbor2D(o):
679  r"""_object_cast_to_NearestNeighbor2D(Object o) -> NearestNeighbor2D"""
680  return _IMP_algebra._object_cast_to_NearestNeighbor2D(o)
681 
682 _object_types.append("NearestNeighbor3D")
683 
684 
685 def _object_cast_to_NearestNeighbor3D(o):
686  r"""_object_cast_to_NearestNeighbor3D(Object o) -> NearestNeighbor3D"""
687  return _IMP_algebra._object_cast_to_NearestNeighbor3D(o)
688 
689 _object_types.append("NearestNeighbor4D")
690 
691 
692 def _object_cast_to_NearestNeighbor4D(o):
693  r"""_object_cast_to_NearestNeighbor4D(Object o) -> NearestNeighbor4D"""
694  return _IMP_algebra._object_cast_to_NearestNeighbor4D(o)
695 
696 _object_types.append("NearestNeighbor5D")
697 
698 
699 def _object_cast_to_NearestNeighbor5D(o):
700  r"""_object_cast_to_NearestNeighbor5D(Object o) -> NearestNeighbor5D"""
701  return _IMP_algebra._object_cast_to_NearestNeighbor5D(o)
702 
703 _object_types.append("NearestNeighbor6D")
704 
705 
706 def _object_cast_to_NearestNeighbor6D(o):
707  r"""_object_cast_to_NearestNeighbor6D(Object o) -> NearestNeighbor6D"""
708  return _IMP_algebra._object_cast_to_NearestNeighbor6D(o)
709 
710 _object_types.append("NearestNeighborKD")
711 
712 
713 def _object_cast_to_NearestNeighborKD(o):
714  r"""_object_cast_to_NearestNeighborKD(Object o) -> NearestNeighborKD"""
715  return _IMP_algebra._object_cast_to_NearestNeighborKD(o)
716 
717 ReferenceFrame3Ds=list
718 _plural_types.append("ReferenceFrame3Ds")
719 _value_types.append("ReferenceFrame3D")
720 
721 
722 Gaussian3Ds=list
723 _plural_types.append("Gaussian3Ds")
724 _value_types.append("Gaussian3D")
725 
726 
727 DefaultEmbedding1Ds=list
728 _plural_types.append("DefaultEmbedding1Ds")
729 _value_types.append("DefaultEmbedding1D")
730 
731 
732 DefaultEmbedding2Ds=list
733 _plural_types.append("DefaultEmbedding2Ds")
734 _value_types.append("DefaultEmbedding2D")
735 
736 
737 DefaultEmbedding3Ds=list
738 _plural_types.append("DefaultEmbedding3Ds")
739 _value_types.append("DefaultEmbedding3D")
740 
741 
742 DefaultEmbedding4Ds=list
743 _plural_types.append("DefaultEmbedding4Ds")
744 _value_types.append("DefaultEmbedding4D")
745 
746 
747 DefaultEmbedding5Ds=list
748 _plural_types.append("DefaultEmbedding5Ds")
749 _value_types.append("DefaultEmbedding5D")
750 
751 
752 DefaultEmbedding6Ds=list
753 _plural_types.append("DefaultEmbedding6Ds")
754 _value_types.append("DefaultEmbedding6D")
755 
756 
757 DefaultEmbedding1Ds=list
758 _plural_types.append("DefaultEmbedding1Ds")
759 _value_types.append("DefaultEmbeddingD<1>")
760 
761 
762 DefaultEmbedding2Ds=list
763 _plural_types.append("DefaultEmbedding2Ds")
764 _value_types.append("DefaultEmbeddingD<2>")
765 
766 
767 DefaultEmbedding3Ds=list
768 _plural_types.append("DefaultEmbedding3Ds")
769 _value_types.append("DefaultEmbeddingD<3>")
770 
771 
772 DefaultEmbedding4Ds=list
773 _plural_types.append("DefaultEmbedding4Ds")
774 _value_types.append("DefaultEmbeddingD<4>")
775 
776 
777 DefaultEmbedding5Ds=list
778 _plural_types.append("DefaultEmbedding5Ds")
779 _value_types.append("DefaultEmbeddingD<5>")
780 
781 
782 DefaultEmbedding6Ds=list
783 _plural_types.append("DefaultEmbedding6Ds")
784 _value_types.append("DefaultEmbeddingD<6>")
785 
786 
787 DefaultEmbeddingKDs=list
788 _plural_types.append("DefaultEmbeddingKDs")
789 _value_types.append("DefaultEmbeddingKD")
790 
791 
792 DefaultEmbeddingKDs=list
793 _plural_types.append("DefaultEmbeddingKDs")
794 _value_types.append("DefaultEmbeddingD<-1>")
795 
796 
797 LogEmbedding1Ds=list
798 _plural_types.append("LogEmbedding1Ds")
799 _value_types.append("LogEmbedding1D")
800 
801 
802 LogEmbedding2Ds=list
803 _plural_types.append("LogEmbedding2Ds")
804 _value_types.append("LogEmbedding2D")
805 
806 
807 LogEmbedding3Ds=list
808 _plural_types.append("LogEmbedding3Ds")
809 _value_types.append("LogEmbedding3D")
810 
811 
812 LogEmbedding4Ds=list
813 _plural_types.append("LogEmbedding4Ds")
814 _value_types.append("LogEmbedding4D")
815 
816 
817 LogEmbedding5Ds=list
818 _plural_types.append("LogEmbedding5Ds")
819 _value_types.append("LogEmbedding5D")
820 
821 
822 LogEmbedding6Ds=list
823 _plural_types.append("LogEmbedding6Ds")
824 _value_types.append("LogEmbedding6D")
825 
826 
827 LogEmbedding1Ds=list
828 _plural_types.append("LogEmbedding1Ds")
829 _value_types.append("LogEmbeddingD<1>")
830 
831 
832 LogEmbedding2Ds=list
833 _plural_types.append("LogEmbedding2Ds")
834 _value_types.append("LogEmbeddingD<2>")
835 
836 
837 LogEmbedding3Ds=list
838 _plural_types.append("LogEmbedding3Ds")
839 _value_types.append("LogEmbeddingD<3>")
840 
841 
842 LogEmbedding4Ds=list
843 _plural_types.append("LogEmbedding4Ds")
844 _value_types.append("LogEmbeddingD<4>")
845 
846 
847 LogEmbedding5Ds=list
848 _plural_types.append("LogEmbedding5Ds")
849 _value_types.append("LogEmbeddingD<5>")
850 
851 
852 LogEmbedding6Ds=list
853 _plural_types.append("LogEmbedding6Ds")
854 _value_types.append("LogEmbeddingD<6>")
855 
856 
857 LogEmbeddingKDs=list
858 _plural_types.append("LogEmbeddingKDs")
859 _value_types.append("LogEmbeddingKD")
860 
861 
862 LogEmbeddingKDs=list
863 _plural_types.append("LogEmbeddingKDs")
864 _value_types.append("LogEmbeddingD<-1>")
865 
866 
867 GridIndex1Ds=list
868 _plural_types.append("GridIndex1Ds")
869 _value_types.append("GridIndex1D")
870 
871 
872 GridIndex2Ds=list
873 _plural_types.append("GridIndex2Ds")
874 _value_types.append("GridIndex2D")
875 
876 
877 GridIndex3Ds=list
878 _plural_types.append("GridIndex3Ds")
879 _value_types.append("GridIndex3D")
880 
881 
882 GridIndex4Ds=list
883 _plural_types.append("GridIndex4Ds")
884 _value_types.append("GridIndex4D")
885 
886 
887 GridIndex5Ds=list
888 _plural_types.append("GridIndex5Ds")
889 _value_types.append("GridIndex5D")
890 
891 
892 GridIndex6Ds=list
893 _plural_types.append("GridIndex6Ds")
894 _value_types.append("GridIndex6D")
895 
896 
897 GridIndex1Ds=list
898 _plural_types.append("GridIndex1Ds")
899 _value_types.append("GridIndexD<1>")
900 
901 
902 GridIndex2Ds=list
903 _plural_types.append("GridIndex2Ds")
904 _value_types.append("GridIndexD<2>")
905 
906 
907 GridIndex3Ds=list
908 _plural_types.append("GridIndex3Ds")
909 _value_types.append("GridIndexD<3>")
910 
911 
912 GridIndex4Ds=list
913 _plural_types.append("GridIndex4Ds")
914 _value_types.append("GridIndexD<4>")
915 
916 
917 GridIndex5Ds=list
918 _plural_types.append("GridIndex5Ds")
919 _value_types.append("GridIndexD<5>")
920 
921 
922 GridIndex6Ds=list
923 _plural_types.append("GridIndex6Ds")
924 _value_types.append("GridIndexD<6>")
925 
926 
927 GridIndexKDs=list
928 _plural_types.append("GridIndexKDs")
929 _value_types.append("GridIndexKD")
930 
931 
932 GridIndexKDs=list
933 _plural_types.append("GridIndexKDs")
934 _value_types.append("GridIndexD<-1>")
935 
936 
937 ExtendedGridIndex1Ds=list
938 _plural_types.append("ExtendedGridIndex1Ds")
939 _value_types.append("ExtendedGridIndex1D")
940 
941 
942 ExtendedGridIndex2Ds=list
943 _plural_types.append("ExtendedGridIndex2Ds")
944 _value_types.append("ExtendedGridIndex2D")
945 
946 
947 ExtendedGridIndex3Ds=list
948 _plural_types.append("ExtendedGridIndex3Ds")
949 _value_types.append("ExtendedGridIndex3D")
950 
951 
952 ExtendedGridIndex4Ds=list
953 _plural_types.append("ExtendedGridIndex4Ds")
954 _value_types.append("ExtendedGridIndex4D")
955 
956 
957 ExtendedGridIndex5Ds=list
958 _plural_types.append("ExtendedGridIndex5Ds")
959 _value_types.append("ExtendedGridIndex5D")
960 
961 
962 ExtendedGridIndex6Ds=list
963 _plural_types.append("ExtendedGridIndex6Ds")
964 _value_types.append("ExtendedGridIndex6D")
965 
966 
967 ExtendedGridIndex1Ds=list
968 _plural_types.append("ExtendedGridIndex1Ds")
969 _value_types.append("ExtendedGridIndexD<1>")
970 
971 
972 ExtendedGridIndex2Ds=list
973 _plural_types.append("ExtendedGridIndex2Ds")
974 _value_types.append("ExtendedGridIndexD<2>")
975 
976 
977 ExtendedGridIndex3Ds=list
978 _plural_types.append("ExtendedGridIndex3Ds")
979 _value_types.append("ExtendedGridIndexD<3>")
980 
981 
982 ExtendedGridIndex4Ds=list
983 _plural_types.append("ExtendedGridIndex4Ds")
984 _value_types.append("ExtendedGridIndexD<4>")
985 
986 
987 ExtendedGridIndex5Ds=list
988 _plural_types.append("ExtendedGridIndex5Ds")
989 _value_types.append("ExtendedGridIndexD<5>")
990 
991 
992 ExtendedGridIndex6Ds=list
993 _plural_types.append("ExtendedGridIndex6Ds")
994 _value_types.append("ExtendedGridIndexD<6>")
995 
996 
997 ExtendedGridIndexKDs=list
998 _plural_types.append("ExtendedGridIndexKDs")
999 _value_types.append("ExtendedGridIndexKD")
1000 
1001 
1002 ExtendedGridIndexKDs=list
1003 _plural_types.append("ExtendedGridIndexKDs")
1004 _value_types.append("ExtendedGridIndexD<-1>")
1005 
1006 
1007 BoundedGridRange1Ds=list
1008 _plural_types.append("BoundedGridRange1Ds")
1009 _value_types.append("BoundedGridRange1D")
1010 
1011 
1012 BoundedGridRange2Ds=list
1013 _plural_types.append("BoundedGridRange2Ds")
1014 _value_types.append("BoundedGridRange2D")
1015 
1016 
1017 BoundedGridRange3Ds=list
1018 _plural_types.append("BoundedGridRange3Ds")
1019 _value_types.append("BoundedGridRange3D")
1020 
1021 
1022 BoundedGridRange4Ds=list
1023 _plural_types.append("BoundedGridRange4Ds")
1024 _value_types.append("BoundedGridRange4D")
1025 
1026 
1027 BoundedGridRange5Ds=list
1028 _plural_types.append("BoundedGridRange5Ds")
1029 _value_types.append("BoundedGridRange5D")
1030 
1031 
1032 BoundedGridRange6Ds=list
1033 _plural_types.append("BoundedGridRange6Ds")
1034 _value_types.append("BoundedGridRange6D")
1035 
1036 
1037 BoundedGridRange1Ds=list
1038 _plural_types.append("BoundedGridRange1Ds")
1039 _value_types.append("BoundedGridRangeD<1>")
1040 
1041 
1042 BoundedGridRange2Ds=list
1043 _plural_types.append("BoundedGridRange2Ds")
1044 _value_types.append("BoundedGridRangeD<2>")
1045 
1046 
1047 BoundedGridRange3Ds=list
1048 _plural_types.append("BoundedGridRange3Ds")
1049 _value_types.append("BoundedGridRangeD<3>")
1050 
1051 
1052 BoundedGridRange4Ds=list
1053 _plural_types.append("BoundedGridRange4Ds")
1054 _value_types.append("BoundedGridRangeD<4>")
1055 
1056 
1057 BoundedGridRange5Ds=list
1058 _plural_types.append("BoundedGridRange5Ds")
1059 _value_types.append("BoundedGridRangeD<5>")
1060 
1061 
1062 BoundedGridRange6Ds=list
1063 _plural_types.append("BoundedGridRange6Ds")
1064 _value_types.append("BoundedGridRangeD<6>")
1065 
1066 
1067 BoundedGridRangeKDs=list
1068 _plural_types.append("BoundedGridRangeKDs")
1069 _value_types.append("BoundedGridRangeKD")
1070 
1071 
1072 BoundedGridRangeKDs=list
1073 _plural_types.append("BoundedGridRangeKDs")
1074 _value_types.append("BoundedGridRangeD<-1>")
1075 
1076 
1077 UnboundedGridRange1Ds=list
1078 _plural_types.append("UnboundedGridRange1Ds")
1079 _value_types.append("UnboundedGridRange1D")
1080 
1081 
1082 UnboundedGridRange2Ds=list
1083 _plural_types.append("UnboundedGridRange2Ds")
1084 _value_types.append("UnboundedGridRange2D")
1085 
1086 
1087 UnboundedGridRange3Ds=list
1088 _plural_types.append("UnboundedGridRange3Ds")
1089 _value_types.append("UnboundedGridRange3D")
1090 
1091 
1092 UnboundedGridRange4Ds=list
1093 _plural_types.append("UnboundedGridRange4Ds")
1094 _value_types.append("UnboundedGridRange4D")
1095 
1096 
1097 UnboundedGridRange5Ds=list
1098 _plural_types.append("UnboundedGridRange5Ds")
1099 _value_types.append("UnboundedGridRange5D")
1100 
1101 
1102 UnboundedGridRange6Ds=list
1103 _plural_types.append("UnboundedGridRange6Ds")
1104 _value_types.append("UnboundedGridRange6D")
1105 
1106 
1107 UnboundedGridRange1Ds=list
1108 _plural_types.append("UnboundedGridRange1Ds")
1109 _value_types.append("UnboundedGridRangeD<1>")
1110 
1111 
1112 UnboundedGridRange2Ds=list
1113 _plural_types.append("UnboundedGridRange2Ds")
1114 _value_types.append("UnboundedGridRangeD<2>")
1115 
1116 
1117 UnboundedGridRange3Ds=list
1118 _plural_types.append("UnboundedGridRange3Ds")
1119 _value_types.append("UnboundedGridRangeD<3>")
1120 
1121 
1122 UnboundedGridRange4Ds=list
1123 _plural_types.append("UnboundedGridRange4Ds")
1124 _value_types.append("UnboundedGridRangeD<4>")
1125 
1126 
1127 UnboundedGridRange5Ds=list
1128 _plural_types.append("UnboundedGridRange5Ds")
1129 _value_types.append("UnboundedGridRangeD<5>")
1130 
1131 
1132 UnboundedGridRange6Ds=list
1133 _plural_types.append("UnboundedGridRange6Ds")
1134 _value_types.append("UnboundedGridRangeD<6>")
1135 
1136 
1137 UnboundedGridRangeKDs=list
1138 _plural_types.append("UnboundedGridRangeKDs")
1139 _value_types.append("UnboundedGridRangeKD")
1140 
1141 
1142 UnboundedGridRangeKDs=list
1143 _plural_types.append("UnboundedGridRangeKDs")
1144 _value_types.append("UnboundedGridRangeD<-1>")
1145 
1146 
1147 LinearFit2Ds=list
1148 _plural_types.append("LinearFit2Ds")
1149 _value_types.append("LinearFit2D")
1150 
1151 
1152 ParabolicFit2Ds=list
1153 _plural_types.append("ParabolicFit2Ds")
1154 _value_types.append("ParabolicFit2D")
1155 
1156 
1157 FixedXYZs=list
1158 _plural_types.append("FixedXYZs")
1159 _value_types.append("FixedXYZ")
1160 
1161 class _GeometricPrimitive1D(object):
1162  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 1 > class."""
1163 
1164  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1165 
1166  def __init__(self, *args, **kwargs):
1167  raise AttributeError("No constructor defined")
1168  __repr__ = _swig_repr
1169  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive1D
1170 
1171 # Register _GeometricPrimitive1D in _IMP_algebra:
1172 _IMP_algebra._GeometricPrimitive1D_swigregister(_GeometricPrimitive1D)
1173 class _GeometricPrimitive2D(object):
1174  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 2 > class."""
1175 
1176  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1177 
1178  def __init__(self, *args, **kwargs):
1179  raise AttributeError("No constructor defined")
1180  __repr__ = _swig_repr
1181  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive2D
1182 
1183 # Register _GeometricPrimitive2D in _IMP_algebra:
1184 _IMP_algebra._GeometricPrimitive2D_swigregister(_GeometricPrimitive2D)
1185 class _GeometricPrimitive3D(object):
1186  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 3 > class."""
1187 
1188  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1189 
1190  def __init__(self, *args, **kwargs):
1191  raise AttributeError("No constructor defined")
1192  __repr__ = _swig_repr
1193  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive3D
1194 
1195 # Register _GeometricPrimitive3D in _IMP_algebra:
1196 _IMP_algebra._GeometricPrimitive3D_swigregister(_GeometricPrimitive3D)
1197 class _GeometricPrimitive4D(object):
1198  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 4 > class."""
1199 
1200  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1201 
1202  def __init__(self, *args, **kwargs):
1203  raise AttributeError("No constructor defined")
1204  __repr__ = _swig_repr
1205  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive4D
1206 
1207 # Register _GeometricPrimitive4D in _IMP_algebra:
1208 _IMP_algebra._GeometricPrimitive4D_swigregister(_GeometricPrimitive4D)
1209 class _GeometricPrimitive5D(object):
1210  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 5 > class."""
1211 
1212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1213 
1214  def __init__(self, *args, **kwargs):
1215  raise AttributeError("No constructor defined")
1216  __repr__ = _swig_repr
1217  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive5D
1218 
1219 # Register _GeometricPrimitive5D in _IMP_algebra:
1220 _IMP_algebra._GeometricPrimitive5D_swigregister(_GeometricPrimitive5D)
1221 class _GeometricPrimitive6D(object):
1222  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 6 > class."""
1223 
1224  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1225 
1226  def __init__(self, *args, **kwargs):
1227  raise AttributeError("No constructor defined")
1228  __repr__ = _swig_repr
1229  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive6D
1230 
1231 # Register _GeometricPrimitive6D in _IMP_algebra:
1232 _IMP_algebra._GeometricPrimitive6D_swigregister(_GeometricPrimitive6D)
1233 class _GeometricPrimitiveKD(object):
1234  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< -1 > class."""
1235 
1236  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1237 
1238  def __init__(self, *args, **kwargs):
1239  raise AttributeError("No constructor defined")
1240  __repr__ = _swig_repr
1241  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitiveKD
1242 
1243 # Register _GeometricPrimitiveKD in _IMP_algebra:
1244 _IMP_algebra._GeometricPrimitiveKD_swigregister(_GeometricPrimitiveKD)
1245 
1246 Vector1Ds=list
1247 _plural_types.append("Vector1Ds")
1248 _value_types.append("Vector1D")
1249 
1250 
1251 Vector2Ds=list
1252 _plural_types.append("Vector2Ds")
1253 _value_types.append("Vector2D")
1254 
1255 
1256 Vector3Ds=list
1257 _plural_types.append("Vector3Ds")
1258 _value_types.append("Vector3D")
1259 
1260 
1261 Vector4Ds=list
1262 _plural_types.append("Vector4Ds")
1263 _value_types.append("Vector4D")
1264 
1265 
1266 Vector5Ds=list
1267 _plural_types.append("Vector5Ds")
1268 _value_types.append("Vector5D")
1269 
1270 
1271 Vector6Ds=list
1272 _plural_types.append("Vector6Ds")
1273 _value_types.append("Vector6D")
1274 
1275 
1276 Vector1Ds=list
1277 _plural_types.append("Vector1Ds")
1278 _value_types.append("VectorD<1>")
1279 
1280 
1281 Vector2Ds=list
1282 _plural_types.append("Vector2Ds")
1283 _value_types.append("VectorD<2>")
1284 
1285 
1286 Vector3Ds=list
1287 _plural_types.append("Vector3Ds")
1288 _value_types.append("VectorD<3>")
1289 
1290 
1291 Vector4Ds=list
1292 _plural_types.append("Vector4Ds")
1293 _value_types.append("VectorD<4>")
1294 
1295 
1296 Vector5Ds=list
1297 _plural_types.append("Vector5Ds")
1298 _value_types.append("VectorD<5>")
1299 
1300 
1301 Vector6Ds=list
1302 _plural_types.append("Vector6Ds")
1303 _value_types.append("VectorD<6>")
1304 
1305 
1306 VectorKDs=list
1307 _plural_types.append("VectorKDs")
1308 _value_types.append("VectorKD")
1309 
1310 
1311 VectorKDs=list
1312 _plural_types.append("VectorKDs")
1313 _value_types.append("VectorD<-1>")
1314 
1315 class _VectorBaseKD(_GeometricPrimitiveKD):
1316  r"""Proxy of C++ IMP::algebra::VectorBaseD< -1 > class."""
1317 
1318  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1319  __repr__ = _swig_repr
1320 
1321  def __init__(self):
1322  r"""__init__(_VectorBaseKD self) -> _VectorBaseKD"""
1323  _IMP_algebra._VectorBaseKD_swiginit(self, _IMP_algebra.new__VectorBaseKD())
1324 
1325  def get_scalar_product(self, o):
1326  r"""get_scalar_product(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1327  return _IMP_algebra._VectorBaseKD_get_scalar_product(self, o)
1328 
1329  def get_squared_magnitude(self):
1330  r"""get_squared_magnitude(_VectorBaseKD self) -> double"""
1331  return _IMP_algebra._VectorBaseKD_get_squared_magnitude(self)
1332 
1333  def get_magnitude(self):
1334  r"""get_magnitude(_VectorBaseKD self) -> double"""
1335  return _IMP_algebra._VectorBaseKD_get_magnitude(self)
1336 
1337  def __mul__(self, o):
1338  r"""__mul__(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1339  return _IMP_algebra._VectorBaseKD___mul__(self, o)
1340 
1341  def __iadd__(self, o):
1342  r"""__iadd__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1343  return _IMP_algebra._VectorBaseKD___iadd__(self, o)
1344 
1345  def __isub__(self, o):
1346  r"""__isub__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1347  return _IMP_algebra._VectorBaseKD___isub__(self, o)
1348 
1349  def __itruediv__(self, *args):
1350  return _IMP_algebra._VectorBaseKD___itruediv__(self, *args)
1351  __idiv__ = __itruediv__
1352 
1353 
1354 
1355  def __imul__(self, f):
1356  r"""__imul__(_VectorBaseKD self, double f) -> _VectorBaseKD"""
1357  return _IMP_algebra._VectorBaseKD___imul__(self, f)
1358 
1359  def show(self, *args):
1360  r"""
1361  show(_VectorBaseKD self, _ostream out, std::string delim, bool parens=True)
1362  show(_VectorBaseKD self, _ostream out=std::cout)
1363  """
1364  return _IMP_algebra._VectorBaseKD_show(self, *args)
1365 
1366  def get_dimension(self):
1367  r"""get_dimension(_VectorBaseKD self) -> unsigned int"""
1368  return _IMP_algebra._VectorBaseKD_get_dimension(self)
1369  __swig_destroy__ = _IMP_algebra.delete__VectorBaseKD
1370 
1371 # Register _VectorBaseKD in _IMP_algebra:
1372 _IMP_algebra._VectorBaseKD_swigregister(_VectorBaseKD)
1373 class _VectorBase1D(_GeometricPrimitive1D):
1374  r"""Proxy of C++ IMP::algebra::VectorBaseD< 1 > class."""
1375 
1376  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1377  __repr__ = _swig_repr
1378 
1379  def __init__(self):
1380  r"""__init__(_VectorBase1D self) -> _VectorBase1D"""
1381  _IMP_algebra._VectorBase1D_swiginit(self, _IMP_algebra.new__VectorBase1D())
1382 
1383  def get_scalar_product(self, o):
1384  r"""get_scalar_product(_VectorBase1D self, _VectorBase1D o) -> double"""
1385  return _IMP_algebra._VectorBase1D_get_scalar_product(self, o)
1386 
1387  def get_squared_magnitude(self):
1388  r"""get_squared_magnitude(_VectorBase1D self) -> double"""
1389  return _IMP_algebra._VectorBase1D_get_squared_magnitude(self)
1390 
1391  def get_magnitude(self):
1392  r"""get_magnitude(_VectorBase1D self) -> double"""
1393  return _IMP_algebra._VectorBase1D_get_magnitude(self)
1394 
1395  def __mul__(self, o):
1396  r"""__mul__(_VectorBase1D self, _VectorBase1D o) -> double"""
1397  return _IMP_algebra._VectorBase1D___mul__(self, o)
1398 
1399  def __iadd__(self, o):
1400  r"""__iadd__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1401  return _IMP_algebra._VectorBase1D___iadd__(self, o)
1402 
1403  def __isub__(self, o):
1404  r"""__isub__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1405  return _IMP_algebra._VectorBase1D___isub__(self, o)
1406 
1407  def __itruediv__(self, *args):
1408  return _IMP_algebra._VectorBase1D___itruediv__(self, *args)
1409  __idiv__ = __itruediv__
1410 
1411 
1412 
1413  def __imul__(self, f):
1414  r"""__imul__(_VectorBase1D self, double f) -> _VectorBase1D"""
1415  return _IMP_algebra._VectorBase1D___imul__(self, f)
1416 
1417  def show(self, *args):
1418  r"""
1419  show(_VectorBase1D self, _ostream out, std::string delim, bool parens=True)
1420  show(_VectorBase1D self, _ostream out=std::cout)
1421  """
1422  return _IMP_algebra._VectorBase1D_show(self, *args)
1423 
1424  def get_dimension(self):
1425  r"""get_dimension(_VectorBase1D self) -> unsigned int"""
1426  return _IMP_algebra._VectorBase1D_get_dimension(self)
1427  __swig_destroy__ = _IMP_algebra.delete__VectorBase1D
1428 
1429 # Register _VectorBase1D in _IMP_algebra:
1430 _IMP_algebra._VectorBase1D_swigregister(_VectorBase1D)
1431 class _VectorBase2D(_GeometricPrimitive2D):
1432  r"""Proxy of C++ IMP::algebra::VectorBaseD< 2 > class."""
1433 
1434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1435  __repr__ = _swig_repr
1436 
1437  def __init__(self):
1438  r"""__init__(_VectorBase2D self) -> _VectorBase2D"""
1439  _IMP_algebra._VectorBase2D_swiginit(self, _IMP_algebra.new__VectorBase2D())
1440 
1441  def get_scalar_product(self, o):
1442  r"""get_scalar_product(_VectorBase2D self, _VectorBase2D o) -> double"""
1443  return _IMP_algebra._VectorBase2D_get_scalar_product(self, o)
1444 
1445  def get_squared_magnitude(self):
1446  r"""get_squared_magnitude(_VectorBase2D self) -> double"""
1447  return _IMP_algebra._VectorBase2D_get_squared_magnitude(self)
1448 
1449  def get_magnitude(self):
1450  r"""get_magnitude(_VectorBase2D self) -> double"""
1451  return _IMP_algebra._VectorBase2D_get_magnitude(self)
1452 
1453  def __mul__(self, o):
1454  r"""__mul__(_VectorBase2D self, _VectorBase2D o) -> double"""
1455  return _IMP_algebra._VectorBase2D___mul__(self, o)
1456 
1457  def __iadd__(self, o):
1458  r"""__iadd__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1459  return _IMP_algebra._VectorBase2D___iadd__(self, o)
1460 
1461  def __isub__(self, o):
1462  r"""__isub__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1463  return _IMP_algebra._VectorBase2D___isub__(self, o)
1464 
1465  def __itruediv__(self, *args):
1466  return _IMP_algebra._VectorBase2D___itruediv__(self, *args)
1467  __idiv__ = __itruediv__
1468 
1469 
1470 
1471  def __imul__(self, f):
1472  r"""__imul__(_VectorBase2D self, double f) -> _VectorBase2D"""
1473  return _IMP_algebra._VectorBase2D___imul__(self, f)
1474 
1475  def show(self, *args):
1476  r"""
1477  show(_VectorBase2D self, _ostream out, std::string delim, bool parens=True)
1478  show(_VectorBase2D self, _ostream out=std::cout)
1479  """
1480  return _IMP_algebra._VectorBase2D_show(self, *args)
1481 
1482  def get_dimension(self):
1483  r"""get_dimension(_VectorBase2D self) -> unsigned int"""
1484  return _IMP_algebra._VectorBase2D_get_dimension(self)
1485  __swig_destroy__ = _IMP_algebra.delete__VectorBase2D
1486 
1487 # Register _VectorBase2D in _IMP_algebra:
1488 _IMP_algebra._VectorBase2D_swigregister(_VectorBase2D)
1489 class _VectorBase3D(_GeometricPrimitive3D):
1490  r"""Proxy of C++ IMP::algebra::VectorBaseD< 3 > class."""
1491 
1492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1493  __repr__ = _swig_repr
1494 
1495  def __init__(self):
1496  r"""__init__(_VectorBase3D self) -> _VectorBase3D"""
1497  _IMP_algebra._VectorBase3D_swiginit(self, _IMP_algebra.new__VectorBase3D())
1498 
1499  def get_scalar_product(self, o):
1500  r"""get_scalar_product(_VectorBase3D self, _VectorBase3D o) -> double"""
1501  return _IMP_algebra._VectorBase3D_get_scalar_product(self, o)
1502 
1503  def get_squared_magnitude(self):
1504  r"""get_squared_magnitude(_VectorBase3D self) -> double"""
1505  return _IMP_algebra._VectorBase3D_get_squared_magnitude(self)
1506 
1507  def get_magnitude(self):
1508  r"""get_magnitude(_VectorBase3D self) -> double"""
1509  return _IMP_algebra._VectorBase3D_get_magnitude(self)
1510 
1511  def __mul__(self, o):
1512  r"""__mul__(_VectorBase3D self, _VectorBase3D o) -> double"""
1513  return _IMP_algebra._VectorBase3D___mul__(self, o)
1514 
1515  def __iadd__(self, o):
1516  r"""__iadd__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1517  return _IMP_algebra._VectorBase3D___iadd__(self, o)
1518 
1519  def __isub__(self, o):
1520  r"""__isub__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1521  return _IMP_algebra._VectorBase3D___isub__(self, o)
1522 
1523  def __itruediv__(self, *args):
1524  return _IMP_algebra._VectorBase3D___itruediv__(self, *args)
1525  __idiv__ = __itruediv__
1526 
1527 
1528 
1529  def __imul__(self, f):
1530  r"""__imul__(_VectorBase3D self, double f) -> _VectorBase3D"""
1531  return _IMP_algebra._VectorBase3D___imul__(self, f)
1532 
1533  def show(self, *args):
1534  r"""
1535  show(_VectorBase3D self, _ostream out, std::string delim, bool parens=True)
1536  show(_VectorBase3D self, _ostream out=std::cout)
1537  """
1538  return _IMP_algebra._VectorBase3D_show(self, *args)
1539 
1540  def get_dimension(self):
1541  r"""get_dimension(_VectorBase3D self) -> unsigned int"""
1542  return _IMP_algebra._VectorBase3D_get_dimension(self)
1543  __swig_destroy__ = _IMP_algebra.delete__VectorBase3D
1544 
1545 # Register _VectorBase3D in _IMP_algebra:
1546 _IMP_algebra._VectorBase3D_swigregister(_VectorBase3D)
1547 class _VectorBase4D(_GeometricPrimitive4D):
1548  r"""Proxy of C++ IMP::algebra::VectorBaseD< 4 > class."""
1549 
1550  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1551  __repr__ = _swig_repr
1552 
1553  def __init__(self):
1554  r"""__init__(_VectorBase4D self) -> _VectorBase4D"""
1555  _IMP_algebra._VectorBase4D_swiginit(self, _IMP_algebra.new__VectorBase4D())
1556 
1557  def get_scalar_product(self, o):
1558  r"""get_scalar_product(_VectorBase4D self, _VectorBase4D o) -> double"""
1559  return _IMP_algebra._VectorBase4D_get_scalar_product(self, o)
1560 
1561  def get_squared_magnitude(self):
1562  r"""get_squared_magnitude(_VectorBase4D self) -> double"""
1563  return _IMP_algebra._VectorBase4D_get_squared_magnitude(self)
1564 
1565  def get_magnitude(self):
1566  r"""get_magnitude(_VectorBase4D self) -> double"""
1567  return _IMP_algebra._VectorBase4D_get_magnitude(self)
1568 
1569  def __mul__(self, o):
1570  r"""__mul__(_VectorBase4D self, _VectorBase4D o) -> double"""
1571  return _IMP_algebra._VectorBase4D___mul__(self, o)
1572 
1573  def __iadd__(self, o):
1574  r"""__iadd__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1575  return _IMP_algebra._VectorBase4D___iadd__(self, o)
1576 
1577  def __isub__(self, o):
1578  r"""__isub__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1579  return _IMP_algebra._VectorBase4D___isub__(self, o)
1580 
1581  def __itruediv__(self, *args):
1582  return _IMP_algebra._VectorBase4D___itruediv__(self, *args)
1583  __idiv__ = __itruediv__
1584 
1585 
1586 
1587  def __imul__(self, f):
1588  r"""__imul__(_VectorBase4D self, double f) -> _VectorBase4D"""
1589  return _IMP_algebra._VectorBase4D___imul__(self, f)
1590 
1591  def show(self, *args):
1592  r"""
1593  show(_VectorBase4D self, _ostream out, std::string delim, bool parens=True)
1594  show(_VectorBase4D self, _ostream out=std::cout)
1595  """
1596  return _IMP_algebra._VectorBase4D_show(self, *args)
1597 
1598  def get_dimension(self):
1599  r"""get_dimension(_VectorBase4D self) -> unsigned int"""
1600  return _IMP_algebra._VectorBase4D_get_dimension(self)
1601  __swig_destroy__ = _IMP_algebra.delete__VectorBase4D
1602 
1603 # Register _VectorBase4D in _IMP_algebra:
1604 _IMP_algebra._VectorBase4D_swigregister(_VectorBase4D)
1605 class _VectorBase5D(_GeometricPrimitive5D):
1606  r"""Proxy of C++ IMP::algebra::VectorBaseD< 5 > class."""
1607 
1608  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1609  __repr__ = _swig_repr
1610 
1611  def __init__(self):
1612  r"""__init__(_VectorBase5D self) -> _VectorBase5D"""
1613  _IMP_algebra._VectorBase5D_swiginit(self, _IMP_algebra.new__VectorBase5D())
1614 
1615  def get_scalar_product(self, o):
1616  r"""get_scalar_product(_VectorBase5D self, _VectorBase5D o) -> double"""
1617  return _IMP_algebra._VectorBase5D_get_scalar_product(self, o)
1618 
1619  def get_squared_magnitude(self):
1620  r"""get_squared_magnitude(_VectorBase5D self) -> double"""
1621  return _IMP_algebra._VectorBase5D_get_squared_magnitude(self)
1622 
1623  def get_magnitude(self):
1624  r"""get_magnitude(_VectorBase5D self) -> double"""
1625  return _IMP_algebra._VectorBase5D_get_magnitude(self)
1626 
1627  def __mul__(self, o):
1628  r"""__mul__(_VectorBase5D self, _VectorBase5D o) -> double"""
1629  return _IMP_algebra._VectorBase5D___mul__(self, o)
1630 
1631  def __iadd__(self, o):
1632  r"""__iadd__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1633  return _IMP_algebra._VectorBase5D___iadd__(self, o)
1634 
1635  def __isub__(self, o):
1636  r"""__isub__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1637  return _IMP_algebra._VectorBase5D___isub__(self, o)
1638 
1639  def __itruediv__(self, *args):
1640  return _IMP_algebra._VectorBase5D___itruediv__(self, *args)
1641  __idiv__ = __itruediv__
1642 
1643 
1644 
1645  def __imul__(self, f):
1646  r"""__imul__(_VectorBase5D self, double f) -> _VectorBase5D"""
1647  return _IMP_algebra._VectorBase5D___imul__(self, f)
1648 
1649  def show(self, *args):
1650  r"""
1651  show(_VectorBase5D self, _ostream out, std::string delim, bool parens=True)
1652  show(_VectorBase5D self, _ostream out=std::cout)
1653  """
1654  return _IMP_algebra._VectorBase5D_show(self, *args)
1655 
1656  def get_dimension(self):
1657  r"""get_dimension(_VectorBase5D self) -> unsigned int"""
1658  return _IMP_algebra._VectorBase5D_get_dimension(self)
1659  __swig_destroy__ = _IMP_algebra.delete__VectorBase5D
1660 
1661 # Register _VectorBase5D in _IMP_algebra:
1662 _IMP_algebra._VectorBase5D_swigregister(_VectorBase5D)
1663 class _VectorBase6D(_GeometricPrimitive6D):
1664  r"""Proxy of C++ IMP::algebra::VectorBaseD< 6 > class."""
1665 
1666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1667  __repr__ = _swig_repr
1668 
1669  def __init__(self):
1670  r"""__init__(_VectorBase6D self) -> _VectorBase6D"""
1671  _IMP_algebra._VectorBase6D_swiginit(self, _IMP_algebra.new__VectorBase6D())
1672 
1673  def get_scalar_product(self, o):
1674  r"""get_scalar_product(_VectorBase6D self, _VectorBase6D o) -> double"""
1675  return _IMP_algebra._VectorBase6D_get_scalar_product(self, o)
1676 
1677  def get_squared_magnitude(self):
1678  r"""get_squared_magnitude(_VectorBase6D self) -> double"""
1679  return _IMP_algebra._VectorBase6D_get_squared_magnitude(self)
1680 
1681  def get_magnitude(self):
1682  r"""get_magnitude(_VectorBase6D self) -> double"""
1683  return _IMP_algebra._VectorBase6D_get_magnitude(self)
1684 
1685  def __mul__(self, o):
1686  r"""__mul__(_VectorBase6D self, _VectorBase6D o) -> double"""
1687  return _IMP_algebra._VectorBase6D___mul__(self, o)
1688 
1689  def __iadd__(self, o):
1690  r"""__iadd__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1691  return _IMP_algebra._VectorBase6D___iadd__(self, o)
1692 
1693  def __isub__(self, o):
1694  r"""__isub__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1695  return _IMP_algebra._VectorBase6D___isub__(self, o)
1696 
1697  def __itruediv__(self, *args):
1698  return _IMP_algebra._VectorBase6D___itruediv__(self, *args)
1699  __idiv__ = __itruediv__
1700 
1701 
1702 
1703  def __imul__(self, f):
1704  r"""__imul__(_VectorBase6D self, double f) -> _VectorBase6D"""
1705  return _IMP_algebra._VectorBase6D___imul__(self, f)
1706 
1707  def show(self, *args):
1708  r"""
1709  show(_VectorBase6D self, _ostream out, std::string delim, bool parens=True)
1710  show(_VectorBase6D self, _ostream out=std::cout)
1711  """
1712  return _IMP_algebra._VectorBase6D_show(self, *args)
1713 
1714  def get_dimension(self):
1715  r"""get_dimension(_VectorBase6D self) -> unsigned int"""
1716  return _IMP_algebra._VectorBase6D_get_dimension(self)
1717  __swig_destroy__ = _IMP_algebra.delete__VectorBase6D
1718 
1719 # Register _VectorBase6D in _IMP_algebra:
1720 _IMP_algebra._VectorBase6D_swigregister(_VectorBase6D)
1721 
1722 def get_basis_vector_kd(D, coordinate):
1723  r"""get_basis_vector_kd(int D, unsigned int coordinate) -> VectorKD"""
1724  return _IMP_algebra.get_basis_vector_kd(D, coordinate)
1725 
1726 def get_zero_vector_kd(D):
1727  r"""get_zero_vector_kd(int D) -> VectorKD"""
1728  return _IMP_algebra.get_zero_vector_kd(D)
1729 
1730 def get_ones_vector_kd(D, v=1):
1731  r"""get_ones_vector_kd(unsigned int D, double v=1) -> VectorKD"""
1732  return _IMP_algebra.get_ones_vector_kd(D, v)
1733 
1734 def get_vector_product(p1, p2):
1735  r"""get_vector_product(Vector3D p1, Vector3D p2) -> Vector3D"""
1736  return _IMP_algebra.get_vector_product(p1, p2)
1737 
1738 def get_orthogonal_vector(v):
1739  r"""get_orthogonal_vector(Vector3D v) -> Vector3D"""
1740  return _IMP_algebra.get_orthogonal_vector(v)
1741 
1742 def get_centroid(ps):
1743  r"""get_centroid(IMP::algebra::Vector3Ds const & ps) -> Vector3D"""
1744  return _IMP_algebra.get_centroid(ps)
1745 
1746 def get_radius_of_gyration(ps):
1747  r"""get_radius_of_gyration(IMP::algebra::Vector3Ds const & ps) -> double"""
1748  return _IMP_algebra.get_radius_of_gyration(ps)
1749 class Rotation3D(_GeometricPrimitive3D):
1750  r"""Proxy of C++ IMP::algebra::Rotation3D class."""
1751 
1752  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1753 
1754  def __init__(self, *args):
1755  r"""
1756  __init__(Rotation3D self, Rotation3D rot) -> Rotation3D
1757  __init__(Rotation3D self, Vector4D v, bool assume_normalized=False) -> Rotation3D
1758  __init__(Rotation3D self) -> Rotation3D
1759  __init__(Rotation3D self, double a, double b, double c, double d) -> Rotation3D
1760  """
1761  _IMP_algebra.Rotation3D_swiginit(self, _IMP_algebra.new_Rotation3D(*args))
1762  __swig_destroy__ = _IMP_algebra.delete_Rotation3D
1763 
1764  def get_rotated_no_cache(self, o):
1765  r"""get_rotated_no_cache(Rotation3D self, Vector3D o) -> Vector3D"""
1766  return _IMP_algebra.Rotation3D_get_rotated_no_cache(self, o)
1767 
1768  def get_rotated_one_coordinate_no_cache(self, o, coord):
1769  r"""get_rotated_one_coordinate_no_cache(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1770  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate_no_cache(self, o, coord)
1771 
1772  def get_rotated(self, o):
1773  r"""get_rotated(Rotation3D self, Vector3D o) -> Vector3D"""
1774  return _IMP_algebra.Rotation3D_get_rotated(self, o)
1775 
1776  def get_rotated_adjoint(self, v, Dw):
1777  r"""get_rotated_adjoint(Rotation3D self, Vector3D v, Vector3D Dw) -> _RotatedVector3DAdjoint"""
1778  return _IMP_algebra.Rotation3D_get_rotated_adjoint(self, v, Dw)
1779 
1780  def get_rotated_one_coordinate(self, o, coord):
1781  r"""get_rotated_one_coordinate(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1782  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate(self, o, coord)
1783 
1784  def get_rotation_matrix_row(self, i):
1785  r"""get_rotation_matrix_row(Rotation3D self, int i) -> Vector3D"""
1786  return _IMP_algebra.Rotation3D_get_rotation_matrix_row(self, i)
1787 
1788  def show(self, *args):
1789  r"""show(Rotation3D self, _ostream out=std::cout)"""
1790  return _IMP_algebra.Rotation3D_show(self, *args)
1791 
1792  def get_inverse(self):
1793  r"""get_inverse(Rotation3D self) -> Rotation3D"""
1794  return _IMP_algebra.Rotation3D_get_inverse(self)
1795 
1796  def get_quaternion(self):
1797  r"""get_quaternion(Rotation3D self) -> Vector4D"""
1798  return _IMP_algebra.Rotation3D_get_quaternion(self)
1799 
1800  def __mul__(self, *args):
1801  r"""
1802  __mul__(Rotation3D self, Vector3D v) -> Vector3D
1803  __mul__(Rotation3D self, Rotation3D q) -> Rotation3D
1804  """
1805  return _IMP_algebra.Rotation3D___mul__(self, *args)
1806 
1807  def __truediv__(self, *args):
1808  return _IMP_algebra.Rotation3D___truediv__(self, *args)
1809  __div__ = __truediv__
1810 
1811 
1812 
1813  def get_gradient_of_rotated(self, v, i, wrt_unnorm=False):
1814  r"""get_gradient_of_rotated(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=False) -> Vector3D"""
1815  return _IMP_algebra.Rotation3D_get_gradient_of_rotated(self, v, i, wrt_unnorm)
1816 
1817  def get_derivative(self, v, i, wrt_unnorm=True):
1818  r"""get_derivative(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=True) -> Vector3D"""
1819  return _IMP_algebra.Rotation3D_get_derivative(self, v, i, wrt_unnorm)
1820 
1821  def get_jacobian_of_rotated(self, v, wrt_unnorm=False):
1822  r"""get_jacobian_of_rotated(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1823  return _IMP_algebra.Rotation3D_get_jacobian_of_rotated(self, v, wrt_unnorm)
1824 
1825  def get_gradient(self, v, wrt_unnorm=True):
1826  r"""get_gradient(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=True) -> Eigen::MatrixXd"""
1827  return _IMP_algebra.Rotation3D_get_gradient(self, v, wrt_unnorm)
1828 
1829  def get_is_valid(self):
1830  r"""get_is_valid(Rotation3D self) -> bool"""
1831  return _IMP_algebra.Rotation3D_get_is_valid(self)
1832 
1833  def __str__(self):
1834  r"""__str__(Rotation3D self) -> std::string"""
1835  return _IMP_algebra.Rotation3D___str__(self)
1836 
1837  def __repr__(self):
1838  r"""__repr__(Rotation3D self) -> std::string"""
1839  return _IMP_algebra.Rotation3D___repr__(self)
1840 
1841  def _get_as_binary(self):
1842  r"""_get_as_binary(Rotation3D self) -> PyObject *"""
1843  return _IMP_algebra.Rotation3D__get_as_binary(self)
1844 
1845  def _set_from_binary(self, p):
1846  r"""_set_from_binary(Rotation3D self, PyObject * p)"""
1847  return _IMP_algebra.Rotation3D__set_from_binary(self, p)
1848 
1849  def __getstate__(self):
1850  p = self._get_as_binary()
1851  if len(self.__dict__) > 1:
1852  d = self.__dict__.copy()
1853  del d['this']
1854  p = (d, p)
1855  return p
1856 
1857  def __setstate__(self, p):
1858  if not hasattr(self, 'this'):
1859  self.__init__()
1860  if isinstance(p, tuple):
1861  d, p = p
1862  self.__dict__.update(d)
1863  return self._set_from_binary(p)
1864 
1865 
1866  __truediv__ = __div__
1867 
1868 
1869 # Register Rotation3D in _IMP_algebra:
1870 _IMP_algebra.Rotation3D_swigregister(Rotation3D)
1871 
1872 def get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm=False):
1873  r"""get_jacobian_of_composed_wrt_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1874  return _IMP_algebra.get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm)
1875 
1876 def get_gradient_of_composed_with_respect_to_first(q, p, wrt_unnorm=True):
1877  r"""get_gradient_of_composed_with_respect_to_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=True) -> Eigen::MatrixXd"""
1878  return _IMP_algebra.get_gradient_of_composed_with_respect_to_first(q, p, wrt_unnorm)
1879 
1880 def get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm=False):
1881  r"""get_jacobian_of_composed_wrt_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1882  return _IMP_algebra.get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm)
1883 
1884 def get_gradient_of_composed_with_respect_to_second(q, p, wrt_unnorm=True):
1885  r"""get_gradient_of_composed_with_respect_to_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=True) -> Eigen::MatrixXd"""
1886  return _IMP_algebra.get_gradient_of_composed_with_respect_to_second(q, p, wrt_unnorm)
1887 
1889  r"""get_identity_rotation_3d() -> Rotation3D"""
1890  return _IMP_algebra.get_identity_rotation_3d()
1891 
1892 def get_rotation_about_normalized_axis(axis_norm, angle):
1893  r"""get_rotation_about_normalized_axis(Vector3D axis_norm, double angle) -> Rotation3D"""
1894  return _IMP_algebra.get_rotation_about_normalized_axis(axis_norm, angle)
1895 
1896 def get_rotation_about_axis(axis, angle):
1897  r"""get_rotation_about_axis(Vector3D axis, double angle) -> Rotation3D"""
1898  return _IMP_algebra.get_rotation_about_axis(axis, angle)
1899 
1901  r"""get_rotation_taking_first_to_second(Vector3D v1, Vector3D v2) -> Rotation3D"""
1902  return _IMP_algebra.get_rotation_taking_first_to_second(v1, v2)
1903 
1904 def get_rotation_from_matrix(*args):
1905  r"""
1906  get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) -> Rotation3D
1907  get_rotation_from_matrix(Eigen::Matrix3d m) -> Rotation3D
1908  """
1909  return _IMP_algebra.get_rotation_from_matrix(*args)
1910 
1911 def get_random_rotation_3d(*args):
1912  r"""
1913  get_random_rotation_3d() -> Rotation3D
1914  get_random_rotation_3d(Rotation3D center, double distance) -> Rotation3D
1915  """
1916  return _IMP_algebra.get_random_rotation_3d(*args)
1917 
1918 def get_uniform_cover_rotations_3d(num_points):
1919  r"""get_uniform_cover_rotations_3d(unsigned int num_points) -> IMP::algebra::Rotation3Ds"""
1920  return _IMP_algebra.get_uniform_cover_rotations_3d(num_points)
1921 
1923  r"""get_uniformly_sampled_rotations(double delta) -> IMP::algebra::Rotation3Ds"""
1924  return _IMP_algebra.get_uniformly_sampled_rotations(delta)
1925 
1927  r"""get_rotation_from_vector4d(Vector4D v) -> Rotation3D"""
1928  return _IMP_algebra.get_rotation_from_vector4d(v)
1929 
1930 def get_rotation_from_fixed_xyz(xr, yr, zr):
1931  r"""get_rotation_from_fixed_xyz(double xr, double yr, double zr) -> Rotation3D"""
1932  return _IMP_algebra.get_rotation_from_fixed_xyz(xr, yr, zr)
1933 
1934 def get_rotation_from_fixed_zxz(phi, theta, psi):
1935  r"""get_rotation_from_fixed_zxz(double phi, double theta, double psi) -> Rotation3D"""
1936  return _IMP_algebra.get_rotation_from_fixed_zxz(phi, theta, psi)
1937 
1938 def get_rotation_from_fixed_zyz(Rot, Tilt, Psi):
1939  r"""get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi) -> Rotation3D"""
1940  return _IMP_algebra.get_rotation_from_fixed_zyz(Rot, Tilt, Psi)
1941 class FixedXYZ(_GeometricPrimitive3D):
1942  r"""Proxy of C++ IMP::algebra::FixedXYZ class."""
1943 
1944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1945 
1946  def __init__(self, *args):
1947  r"""
1948  __init__(FixedXYZ self) -> FixedXYZ
1949  __init__(FixedXYZ self, double x, double y, double z) -> FixedXYZ
1950  """
1951  _IMP_algebra.FixedXYZ_swiginit(self, _IMP_algebra.new_FixedXYZ(*args))
1952 
1953  def get_x(self):
1954  r"""get_x(FixedXYZ self) -> double"""
1955  return _IMP_algebra.FixedXYZ_get_x(self)
1956 
1957  def get_y(self):
1958  r"""get_y(FixedXYZ self) -> double"""
1959  return _IMP_algebra.FixedXYZ_get_y(self)
1960 
1961  def get_z(self):
1962  r"""get_z(FixedXYZ self) -> double"""
1963  return _IMP_algebra.FixedXYZ_get_z(self)
1964 
1965  def show(self, *args):
1966  r"""show(FixedXYZ self, _ostream out=std::cout)"""
1967  return _IMP_algebra.FixedXYZ_show(self, *args)
1968 
1969  def __str__(self):
1970  r"""__str__(FixedXYZ self) -> std::string"""
1971  return _IMP_algebra.FixedXYZ___str__(self)
1972 
1973  def __repr__(self):
1974  r"""__repr__(FixedXYZ self) -> std::string"""
1975  return _IMP_algebra.FixedXYZ___repr__(self)
1976 
1977  def _get_as_binary(self):
1978  r"""_get_as_binary(FixedXYZ self) -> PyObject *"""
1979  return _IMP_algebra.FixedXYZ__get_as_binary(self)
1980 
1981  def _set_from_binary(self, p):
1982  r"""_set_from_binary(FixedXYZ self, PyObject * p)"""
1983  return _IMP_algebra.FixedXYZ__set_from_binary(self, p)
1984 
1985  def __getstate__(self):
1986  p = self._get_as_binary()
1987  if len(self.__dict__) > 1:
1988  d = self.__dict__.copy()
1989  del d['this']
1990  p = (d, p)
1991  return p
1992 
1993  def __setstate__(self, p):
1994  if not hasattr(self, 'this'):
1995  self.__init__()
1996  if isinstance(p, tuple):
1997  d, p = p
1998  self.__dict__.update(d)
1999  return self._set_from_binary(p)
2000 
2001  __swig_destroy__ = _IMP_algebra.delete_FixedXYZ
2002 
2003 # Register FixedXYZ in _IMP_algebra:
2004 _IMP_algebra.FixedXYZ_swigregister(FixedXYZ)
2005 
2007  r"""get_fixed_xyz_from_rotation(Rotation3D r) -> FixedXYZ"""
2008  return _IMP_algebra.get_fixed_xyz_from_rotation(r)
2009 
2010 def get_interpolated(a, b, f):
2011  r"""get_interpolated(Rotation3D a, Rotation3D b, double f) -> Rotation3D"""
2012  return _IMP_algebra.get_interpolated(a, b, f)
2013 
2014 def get_rotation_from_x_y_axes(x, y):
2015  r"""get_rotation_from_x_y_axes(Vector3D x, Vector3D y) -> Rotation3D"""
2016  return _IMP_algebra.get_rotation_from_x_y_axes(x, y)
2017 
2018 def get_axis_and_angle(rot):
2019  r"""get_axis_and_angle(Rotation3D rot) -> _AxisAnglePair"""
2020  return _IMP_algebra.get_axis_and_angle(rot)
2021 
2023  r"""get_unit_bounding_box_kd(unsigned int d) -> BoundingBoxKD"""
2024  return _IMP_algebra.get_unit_bounding_box_kd(d)
2025 
2026 def get_cube_kd(d, radius):
2027  r"""get_cube_kd(unsigned int d, double radius) -> BoundingBoxKD"""
2028  return _IMP_algebra.get_cube_kd(d, radius)
2029 
2030 def get_edges(arg1):
2031  r"""get_edges(BoundingBox3D arg1) -> IMP::IntPairs"""
2032  return _IMP_algebra.get_edges(arg1)
2033 class Transformation3D(_GeometricPrimitive3D):
2034  r"""Proxy of C++ IMP::algebra::Transformation3D class."""
2035 
2036  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2037 
2038  def __init__(self, *args):
2039  r"""
2040  __init__(Transformation3D self, Transformation3D arg2) -> Transformation3D
2041  __init__(Transformation3D self) -> Transformation3D
2042  __init__(Transformation3D self, Rotation3D r, Vector3D t=IMP::algebra::Vector3D(0, 0, 0)) -> Transformation3D
2043  __init__(Transformation3D self, Vector3D t) -> Transformation3D
2044  """
2045  _IMP_algebra.Transformation3D_swiginit(self, _IMP_algebra.new_Transformation3D(*args))
2046  __swig_destroy__ = _IMP_algebra.delete_Transformation3D
2047 
2048  def get_transformed(self, o):
2049  r"""get_transformed(Transformation3D self, Vector3D o) -> Vector3D"""
2050  return _IMP_algebra.Transformation3D_get_transformed(self, o)
2051 
2052  def get_transformed_adjoint(self, v, Dw):
2053  r"""get_transformed_adjoint(Transformation3D self, Vector3D v, Vector3D Dw) -> _TransformedVector3DAdjoint"""
2054  return _IMP_algebra.Transformation3D_get_transformed_adjoint(self, v, Dw)
2055 
2056  def __mul__(self, *args):
2057  r"""
2058  __mul__(Transformation3D self, Vector3D v) -> Vector3D
2059  __mul__(Transformation3D self, Transformation3D tr) -> Transformation3D
2060  """
2061  return _IMP_algebra.Transformation3D___mul__(self, *args)
2062 
2063  def __truediv__(self, *args):
2064  return _IMP_algebra.Transformation3D___truediv__(self, *args)
2065  __div__ = __truediv__
2066 
2067 
2068 
2069  def get_rotation(self):
2070  r"""get_rotation(Transformation3D self) -> Rotation3D"""
2071  return _IMP_algebra.Transformation3D_get_rotation(self)
2072 
2073  def get_translation(self):
2074  r"""get_translation(Transformation3D self) -> Vector3D"""
2075  return _IMP_algebra.Transformation3D_get_translation(self)
2076 
2077  def show(self, *args):
2078  r"""show(Transformation3D self, _ostream out=std::cout)"""
2079  return _IMP_algebra.Transformation3D_show(self, *args)
2080 
2081  def get_inverse(self):
2082  r"""get_inverse(Transformation3D self) -> Transformation3D"""
2083  return _IMP_algebra.Transformation3D_get_inverse(self)
2084 
2085  def get_is_valid(self):
2086  r"""get_is_valid(Transformation3D self) -> bool"""
2087  return _IMP_algebra.Transformation3D_get_is_valid(self)
2088 
2089  def __str__(self):
2090  r"""__str__(Transformation3D self) -> std::string"""
2091  return _IMP_algebra.Transformation3D___str__(self)
2092 
2093  def __repr__(self):
2094  r"""__repr__(Transformation3D self) -> std::string"""
2095  return _IMP_algebra.Transformation3D___repr__(self)
2096 
2097  def _get_as_binary(self):
2098  r"""_get_as_binary(Transformation3D self) -> PyObject *"""
2099  return _IMP_algebra.Transformation3D__get_as_binary(self)
2100 
2101  def _set_from_binary(self, p):
2102  r"""_set_from_binary(Transformation3D self, PyObject * p)"""
2103  return _IMP_algebra.Transformation3D__set_from_binary(self, p)
2104 
2105  def __getstate__(self):
2106  p = self._get_as_binary()
2107  if len(self.__dict__) > 1:
2108  d = self.__dict__.copy()
2109  del d['this']
2110  p = (d, p)
2111  return p
2112 
2113  def __setstate__(self, p):
2114  if not hasattr(self, 'this'):
2115  self.__init__()
2116  if isinstance(p, tuple):
2117  d, p = p
2118  self.__dict__.update(d)
2119  return self._set_from_binary(p)
2120 
2121 
2122  __truediv__ = __div__
2123 
2124 
2125 # Register Transformation3D in _IMP_algebra:
2126 _IMP_algebra.Transformation3D_swigregister(Transformation3D)
2127 
2129  r"""get_identity_transformation_3d() -> Transformation3D"""
2130  return _IMP_algebra.get_identity_transformation_3d()
2131 
2132 def compose_adjoint(*args):
2133  r"""
2134  compose_adjoint(Rotation3D A, Rotation3D B, Vector4D DC) -> _ComposeRotation3DAdjoint
2135  compose_adjoint(Transformation3D TA, Transformation3D TB, _Transformation3DAdjoint DTC) -> _ComposeTransformation3DAdjoint
2136  """
2137  return _IMP_algebra.compose_adjoint(*args)
2138 
2139 def get_transformation_3d(t2d):
2140  r"""get_transformation_3d(Transformation2D t2d) -> Transformation3D"""
2141  return _IMP_algebra.get_transformation_3d(t2d)
2142 
2143 def get_random_local_transformation(origin, max_translation=5., max_angle_in_rad=0.26):
2144  r"""get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26) -> Transformation3D"""
2145  return _IMP_algebra.get_random_local_transformation(origin, max_translation, max_angle_in_rad)
2146 class Rotation2D(_GeometricPrimitive2D):
2147  r"""Proxy of C++ IMP::algebra::Rotation2D class."""
2148 
2149  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2150 
2151  def __init__(self, *args):
2152  r"""
2153  __init__(Rotation2D self) -> Rotation2D
2154  __init__(Rotation2D self, double angle) -> Rotation2D
2155  """
2156  _IMP_algebra.Rotation2D_swiginit(self, _IMP_algebra.new_Rotation2D(*args))
2157 
2158  def get_rotated(self, *args):
2159  r"""
2160  get_rotated(Rotation2D self, Vector2D o) -> Vector2D
2161  get_rotated(Rotation2D self, double const x, double const y) -> Vector2D
2162  """
2163  return _IMP_algebra.Rotation2D_get_rotated(self, *args)
2164 
2165  def get_inverse(self):
2166  r"""get_inverse(Rotation2D self) -> Rotation2D"""
2167  return _IMP_algebra.Rotation2D_get_inverse(self)
2168 
2169  def set_angle(self, angle):
2170  r"""set_angle(Rotation2D self, double angle)"""
2171  return _IMP_algebra.Rotation2D_set_angle(self, angle)
2172 
2173  def get_angle(self):
2174  r"""get_angle(Rotation2D self) -> double"""
2175  return _IMP_algebra.Rotation2D_get_angle(self)
2176 
2177  def show(self, *args):
2178  r"""show(Rotation2D self, _ostream out=std::cout)"""
2179  return _IMP_algebra.Rotation2D_show(self, *args)
2180 
2181  def __str__(self):
2182  r"""__str__(Rotation2D self) -> std::string"""
2183  return _IMP_algebra.Rotation2D___str__(self)
2184 
2185  def __repr__(self):
2186  r"""__repr__(Rotation2D self) -> std::string"""
2187  return _IMP_algebra.Rotation2D___repr__(self)
2188 
2189  def _get_as_binary(self):
2190  r"""_get_as_binary(Rotation2D self) -> PyObject *"""
2191  return _IMP_algebra.Rotation2D__get_as_binary(self)
2192 
2193  def _set_from_binary(self, p):
2194  r"""_set_from_binary(Rotation2D self, PyObject * p)"""
2195  return _IMP_algebra.Rotation2D__set_from_binary(self, p)
2196 
2197  def __getstate__(self):
2198  p = self._get_as_binary()
2199  if len(self.__dict__) > 1:
2200  d = self.__dict__.copy()
2201  del d['this']
2202  p = (d, p)
2203  return p
2204 
2205  def __setstate__(self, p):
2206  if not hasattr(self, 'this'):
2207  self.__init__()
2208  if isinstance(p, tuple):
2209  d, p = p
2210  self.__dict__.update(d)
2211  return self._set_from_binary(p)
2212 
2213  __swig_destroy__ = _IMP_algebra.delete_Rotation2D
2214 
2215 # Register Rotation2D in _IMP_algebra:
2216 _IMP_algebra.Rotation2D_swigregister(Rotation2D)
2217 
2219  r"""get_identity_rotation_2d() -> Rotation2D"""
2220  return _IMP_algebra.get_identity_rotation_2d()
2221 
2223  r"""get_random_rotation_2d() -> Rotation2D"""
2224  return _IMP_algebra.get_random_rotation_2d()
2225 
2226 def get_rotation_to_x_axis(v):
2227  r"""get_rotation_to_x_axis(Vector2D v) -> Rotation2D"""
2228  return _IMP_algebra.get_rotation_to_x_axis(v)
2229 class Transformation2D(_GeometricPrimitive2D):
2230  r"""Proxy of C++ IMP::algebra::Transformation2D class."""
2231 
2232  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2233 
2234  def __init__(self, *args):
2235  r"""
2236  __init__(Transformation2D self, Transformation2D arg2) -> Transformation2D
2237  __init__(Transformation2D self) -> Transformation2D
2238  __init__(Transformation2D self, Rotation2D r, Vector2D t=IMP::algebra::Vector2D(0.0, 0.0)) -> Transformation2D
2239  __init__(Transformation2D self, Vector2D t) -> Transformation2D
2240  """
2241  _IMP_algebra.Transformation2D_swiginit(self, _IMP_algebra.new_Transformation2D(*args))
2242  __swig_destroy__ = _IMP_algebra.delete_Transformation2D
2243 
2244  def get_transformed(self, o):
2245  r"""get_transformed(Transformation2D self, Vector2D o) -> Vector2D"""
2246  return _IMP_algebra.Transformation2D_get_transformed(self, o)
2247 
2248  def __mul__(self, *args):
2249  r"""
2250  __mul__(Transformation2D self, Vector2D v) -> Vector2D
2251  __mul__(Transformation2D self, Transformation2D tr) -> Transformation2D
2252  """
2253  return _IMP_algebra.Transformation2D___mul__(self, *args)
2254 
2255  def __truediv__(self, *args):
2256  return _IMP_algebra.Transformation2D___truediv__(self, *args)
2257  __div__ = __truediv__
2258 
2259 
2260 
2261  def get_rotation(self):
2262  r"""get_rotation(Transformation2D self) -> Rotation2D"""
2263  return _IMP_algebra.Transformation2D_get_rotation(self)
2264 
2265  def set_rotation(self, angle):
2266  r"""set_rotation(Transformation2D self, double angle)"""
2267  return _IMP_algebra.Transformation2D_set_rotation(self, angle)
2268 
2269  def get_translation(self):
2270  r"""get_translation(Transformation2D self) -> Vector2D"""
2271  return _IMP_algebra.Transformation2D_get_translation(self)
2272 
2273  def set_translation(self, v):
2274  r"""set_translation(Transformation2D self, Vector2D v)"""
2275  return _IMP_algebra.Transformation2D_set_translation(self, v)
2276 
2277  def show(self, *args):
2278  r"""show(Transformation2D self, _ostream out=std::cout)"""
2279  return _IMP_algebra.Transformation2D_show(self, *args)
2280 
2281  def get_inverse(self):
2282  r"""get_inverse(Transformation2D self) -> Transformation2D"""
2283  return _IMP_algebra.Transformation2D_get_inverse(self)
2284 
2285  def __str__(self):
2286  r"""__str__(Transformation2D self) -> std::string"""
2287  return _IMP_algebra.Transformation2D___str__(self)
2288 
2289  def __repr__(self):
2290  r"""__repr__(Transformation2D self) -> std::string"""
2291  return _IMP_algebra.Transformation2D___repr__(self)
2292 
2293  def _get_as_binary(self):
2294  r"""_get_as_binary(Transformation2D self) -> PyObject *"""
2295  return _IMP_algebra.Transformation2D__get_as_binary(self)
2296 
2297  def _set_from_binary(self, p):
2298  r"""_set_from_binary(Transformation2D self, PyObject * p)"""
2299  return _IMP_algebra.Transformation2D__set_from_binary(self, p)
2300 
2301  def __getstate__(self):
2302  p = self._get_as_binary()
2303  if len(self.__dict__) > 1:
2304  d = self.__dict__.copy()
2305  del d['this']
2306  p = (d, p)
2307  return p
2308 
2309  def __setstate__(self, p):
2310  if not hasattr(self, 'this'):
2311  self.__init__()
2312  if isinstance(p, tuple):
2313  d, p = p
2314  self.__dict__.update(d)
2315  return self._set_from_binary(p)
2316 
2317 
2318  __truediv__ = __div__
2319 
2320 
2321 # Register Transformation2D in _IMP_algebra:
2322 _IMP_algebra.Transformation2D_swigregister(Transformation2D)
2323 
2325  r"""get_identity_transformation_2d() -> Transformation2D"""
2326  return _IMP_algebra.get_identity_transformation_2d()
2327 
2328 def get_rotation_about_point(*args):
2329  r"""
2330  get_rotation_about_point(Vector3D point, Rotation3D rotation) -> Transformation3D
2331  get_rotation_about_point(Vector2D point, Rotation2D rotation) -> Transformation2D
2332  """
2333  return _IMP_algebra.get_rotation_about_point(*args)
2334 
2335 def compose(*args):
2336  r"""
2337  compose(Rotation3D a, Rotation3D b) -> Rotation3D
2338  compose(Transformation3D a, Transformation3D b) -> Transformation3D
2339  compose(Rotation2D a, Rotation2D b) -> Rotation2D
2340  compose(Transformation2D a, Transformation2D b) -> Transformation2D
2341  """
2342  return _IMP_algebra.compose(*args)
2343 
2344 def get_unit_sphere_kd(d):
2345  r"""get_unit_sphere_kd(unsigned int d) -> SphereKD"""
2346  return _IMP_algebra.get_unit_sphere_kd(d)
2347 
2348 def get_enclosing_sphere(*args):
2349  r"""
2350  get_enclosing_sphere(IMP::algebra::Sphere3Ds const & ss) -> Sphere3D
2351  get_enclosing_sphere(IMP::algebra::Vector3Ds const & ss) -> Sphere3D
2352  """
2353  return _IMP_algebra.get_enclosing_sphere(*args)
2354 
2355 def get_ball_radius_from_volume_3d(volume):
2356  r"""get_ball_radius_from_volume_3d(double volume) -> double"""
2357  return _IMP_algebra.get_ball_radius_from_volume_3d(volume)
2358 
2360  r"""get_surface_area_and_volume(IMP::algebra::Sphere3Ds const & ss) -> IMP::FloatPair"""
2361  return _IMP_algebra.get_surface_area_and_volume(ss)
2362 
2363 def get_simplified_from_volume(_in, maximum_allowed_error_angstroms):
2364  r"""get_simplified_from_volume(IMP::algebra::Sphere3Ds _in, double maximum_allowed_error_angstroms) -> IMP::algebra::Sphere3Ds"""
2365  return _IMP_algebra.get_simplified_from_volume(_in, maximum_allowed_error_angstroms)
2366 
2367 def get_triangle_3d(s):
2368  r"""get_triangle_3d(UnitSimplex3D s) -> Triangle3D"""
2369  return _IMP_algebra.get_triangle_3d(s)
2370 class _UnitSimplexBaseKD(_GeometricPrimitiveKD):
2371  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< -1 > class."""
2372 
2373  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2374 
2375  def __init__(self, *args, **kwargs):
2376  raise AttributeError("No constructor defined - class is abstract")
2377  __repr__ = _swig_repr
2378 
2379  def get_dimension(self):
2380  r"""get_dimension(_UnitSimplexBaseKD self) -> int"""
2381  return _IMP_algebra._UnitSimplexBaseKD_get_dimension(self)
2382 
2383  def get_barycenter(self):
2384  r"""get_barycenter(_UnitSimplexBaseKD self) -> VectorKD"""
2385  return _IMP_algebra._UnitSimplexBaseKD_get_barycenter(self)
2386 
2387  def get_contains(self, *args):
2388  r"""get_contains(_UnitSimplexBaseKD self, VectorKD p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2389  return _IMP_algebra._UnitSimplexBaseKD_get_contains(self, *args)
2390  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBaseKD
2391 
2392 # Register _UnitSimplexBaseKD in _IMP_algebra:
2393 _IMP_algebra._UnitSimplexBaseKD_swigregister(_UnitSimplexBaseKD)
2394 class _UnitSimplexBase1D(_GeometricPrimitive1D):
2395  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 1 > class."""
2396 
2397  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2398 
2399  def __init__(self, *args, **kwargs):
2400  raise AttributeError("No constructor defined - class is abstract")
2401  __repr__ = _swig_repr
2402 
2403  def get_dimension(self):
2404  r"""get_dimension(_UnitSimplexBase1D self) -> int"""
2405  return _IMP_algebra._UnitSimplexBase1D_get_dimension(self)
2406 
2407  def get_barycenter(self):
2408  r"""get_barycenter(_UnitSimplexBase1D self) -> Vector1D"""
2409  return _IMP_algebra._UnitSimplexBase1D_get_barycenter(self)
2410 
2411  def get_contains(self, *args):
2412  r"""get_contains(_UnitSimplexBase1D self, Vector1D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2413  return _IMP_algebra._UnitSimplexBase1D_get_contains(self, *args)
2414  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase1D
2415 
2416 # Register _UnitSimplexBase1D in _IMP_algebra:
2417 _IMP_algebra._UnitSimplexBase1D_swigregister(_UnitSimplexBase1D)
2418 class _UnitSimplexBase2D(_GeometricPrimitive2D):
2419  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 2 > class."""
2420 
2421  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2422 
2423  def __init__(self, *args, **kwargs):
2424  raise AttributeError("No constructor defined - class is abstract")
2425  __repr__ = _swig_repr
2426 
2427  def get_dimension(self):
2428  r"""get_dimension(_UnitSimplexBase2D self) -> int"""
2429  return _IMP_algebra._UnitSimplexBase2D_get_dimension(self)
2430 
2431  def get_barycenter(self):
2432  r"""get_barycenter(_UnitSimplexBase2D self) -> Vector2D"""
2433  return _IMP_algebra._UnitSimplexBase2D_get_barycenter(self)
2434 
2435  def get_contains(self, *args):
2436  r"""get_contains(_UnitSimplexBase2D self, Vector2D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2437  return _IMP_algebra._UnitSimplexBase2D_get_contains(self, *args)
2438  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase2D
2439 
2440 # Register _UnitSimplexBase2D in _IMP_algebra:
2441 _IMP_algebra._UnitSimplexBase2D_swigregister(_UnitSimplexBase2D)
2442 class _UnitSimplexBase3D(_GeometricPrimitive3D):
2443  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 3 > class."""
2444 
2445  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2446 
2447  def __init__(self, *args, **kwargs):
2448  raise AttributeError("No constructor defined - class is abstract")
2449  __repr__ = _swig_repr
2450 
2451  def get_dimension(self):
2452  r"""get_dimension(_UnitSimplexBase3D self) -> int"""
2453  return _IMP_algebra._UnitSimplexBase3D_get_dimension(self)
2454 
2455  def get_barycenter(self):
2456  r"""get_barycenter(_UnitSimplexBase3D self) -> Vector3D"""
2457  return _IMP_algebra._UnitSimplexBase3D_get_barycenter(self)
2458 
2459  def get_contains(self, *args):
2460  r"""get_contains(_UnitSimplexBase3D self, Vector3D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2461  return _IMP_algebra._UnitSimplexBase3D_get_contains(self, *args)
2462  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase3D
2463 
2464 # Register _UnitSimplexBase3D in _IMP_algebra:
2465 _IMP_algebra._UnitSimplexBase3D_swigregister(_UnitSimplexBase3D)
2466 class _UnitSimplexBase4D(_GeometricPrimitive4D):
2467  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 4 > class."""
2468 
2469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2470 
2471  def __init__(self, *args, **kwargs):
2472  raise AttributeError("No constructor defined - class is abstract")
2473  __repr__ = _swig_repr
2474 
2475  def get_dimension(self):
2476  r"""get_dimension(_UnitSimplexBase4D self) -> int"""
2477  return _IMP_algebra._UnitSimplexBase4D_get_dimension(self)
2478 
2479  def get_barycenter(self):
2480  r"""get_barycenter(_UnitSimplexBase4D self) -> Vector4D"""
2481  return _IMP_algebra._UnitSimplexBase4D_get_barycenter(self)
2482 
2483  def get_contains(self, *args):
2484  r"""get_contains(_UnitSimplexBase4D self, Vector4D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2485  return _IMP_algebra._UnitSimplexBase4D_get_contains(self, *args)
2486  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase4D
2487 
2488 # Register _UnitSimplexBase4D in _IMP_algebra:
2489 _IMP_algebra._UnitSimplexBase4D_swigregister(_UnitSimplexBase4D)
2490 class _UnitSimplexBase5D(_GeometricPrimitive5D):
2491  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 5 > class."""
2492 
2493  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2494 
2495  def __init__(self, *args, **kwargs):
2496  raise AttributeError("No constructor defined - class is abstract")
2497  __repr__ = _swig_repr
2498 
2499  def get_dimension(self):
2500  r"""get_dimension(_UnitSimplexBase5D self) -> int"""
2501  return _IMP_algebra._UnitSimplexBase5D_get_dimension(self)
2502 
2503  def get_barycenter(self):
2504  r"""get_barycenter(_UnitSimplexBase5D self) -> Vector5D"""
2505  return _IMP_algebra._UnitSimplexBase5D_get_barycenter(self)
2506 
2507  def get_contains(self, *args):
2508  r"""get_contains(_UnitSimplexBase5D self, Vector5D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2509  return _IMP_algebra._UnitSimplexBase5D_get_contains(self, *args)
2510  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase5D
2511 
2512 # Register _UnitSimplexBase5D in _IMP_algebra:
2513 _IMP_algebra._UnitSimplexBase5D_swigregister(_UnitSimplexBase5D)
2514 class _UnitSimplexBase6D(_GeometricPrimitive6D):
2515  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 6 > class."""
2516 
2517  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2518 
2519  def __init__(self, *args, **kwargs):
2520  raise AttributeError("No constructor defined - class is abstract")
2521  __repr__ = _swig_repr
2522 
2523  def get_dimension(self):
2524  r"""get_dimension(_UnitSimplexBase6D self) -> int"""
2525  return _IMP_algebra._UnitSimplexBase6D_get_dimension(self)
2526 
2527  def get_barycenter(self):
2528  r"""get_barycenter(_UnitSimplexBase6D self) -> Vector6D"""
2529  return _IMP_algebra._UnitSimplexBase6D_get_barycenter(self)
2530 
2531  def get_contains(self, *args):
2532  r"""get_contains(_UnitSimplexBase6D self, Vector6D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2533  return _IMP_algebra._UnitSimplexBase6D_get_contains(self, *args)
2534  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase6D
2535 
2536 # Register _UnitSimplexBase6D in _IMP_algebra:
2537 _IMP_algebra._UnitSimplexBase6D_swigregister(_UnitSimplexBase6D)
2538 class Vector1D(_VectorBase1D):
2539  r"""Proxy of C++ IMP::algebra::VectorD< 1 > class."""
2540 
2541  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2542 
2543  def get_unit_vector(self):
2544  r"""get_unit_vector(Vector1D self) -> Vector1D"""
2545  return _IMP_algebra.Vector1D_get_unit_vector(self)
2546 
2547  def __truediv__(self, *args):
2548  return _IMP_algebra.Vector1D___truediv__(self, *args)
2549  __div__ = __truediv__
2550 
2551 
2552 
2553  def __neg__(self):
2554  r"""__neg__(Vector1D self) -> Vector1D"""
2555  return _IMP_algebra.Vector1D___neg__(self)
2556 
2557  def __sub__(self, o):
2558  r"""__sub__(Vector1D self, Vector1D o) -> Vector1D"""
2559  return _IMP_algebra.Vector1D___sub__(self, o)
2560 
2561  def __add__(self, ret):
2562  r"""__add__(Vector1D self, Vector1D ret) -> Vector1D"""
2563  return _IMP_algebra.Vector1D___add__(self, ret)
2564 
2565  def __mul__(self, *args):
2566  r"""
2567  __mul__(Vector1D self, double s) -> Vector1D
2568  __mul__(Vector1D self, Vector1D o) -> double
2569  """
2570  return _IMP_algebra.Vector1D___mul__(self, *args)
2571 
2572  def __init__(self, *args):
2573  r"""
2574  __init__(Vector1D self, IMP::Floats const & f) -> Vector1D
2575  __init__(Vector1D self) -> Vector1D
2576  __init__(Vector1D self, double x) -> Vector1D
2577  """
2578  _IMP_algebra.Vector1D_swiginit(self, _IMP_algebra.new_Vector1D(*args))
2579 
2580  def __iadd__(self, *args):
2581  _IMP_algebra.Vector1D___iadd__(self, *args)
2582  return self
2583 
2584 
2585 
2586  def __imul__(self, *args):
2587  _IMP_algebra.Vector1D___imul__(self, *args)
2588  return self
2589 
2590 
2591 
2592  def __idiv__(self, *args):
2593  _IMP_algebra.Vector1D___idiv__(self, *args)
2594  return self
2595 
2596 
2597 
2598  def __isub__(self, *args):
2599  _IMP_algebra.Vector1D___isub__(self, *args)
2600  return self
2601 
2602 
2603 
2604  def __len__(self):
2605  r"""__len__(Vector1D self) -> unsigned int"""
2606  return _IMP_algebra.Vector1D___len__(self)
2607 
2608  def __rmul__(self, f):
2609  r"""__rmul__(Vector1D self, double f) -> Vector1D"""
2610  return _IMP_algebra.Vector1D___rmul__(self, f)
2611 
2612  def __str__(self):
2613  r"""__str__(Vector1D self) -> std::string"""
2614  return _IMP_algebra.Vector1D___str__(self)
2615 
2616  def __repr__(self):
2617  r"""__repr__(Vector1D self) -> std::string"""
2618  return _IMP_algebra.Vector1D___repr__(self)
2619 
2620  def __cmp__(self, arg2):
2621  r"""__cmp__(Vector1D self, Vector1D arg2) -> int"""
2622  return _IMP_algebra.Vector1D___cmp__(self, arg2)
2623 
2624  def __eq__(self, arg2):
2625  r"""__eq__(Vector1D self, Vector1D arg2) -> bool"""
2626  return _IMP_algebra.Vector1D___eq__(self, arg2)
2627 
2628  __truediv__ = __div__
2629  __itruediv__ = __idiv__
2630 
2631 
2632  def _get_as_binary(self):
2633  r"""_get_as_binary(Vector1D self) -> PyObject *"""
2634  return _IMP_algebra.Vector1D__get_as_binary(self)
2635 
2636  def _set_from_binary(self, p):
2637  r"""_set_from_binary(Vector1D self, PyObject * p)"""
2638  return _IMP_algebra.Vector1D__set_from_binary(self, p)
2639 
2640  def __getstate__(self):
2641  p = self._get_as_binary()
2642  if len(self.__dict__) > 1:
2643  d = self.__dict__.copy()
2644  del d['this']
2645  p = (d, p)
2646  return p
2647 
2648  def __setstate__(self, p):
2649  if not hasattr(self, 'this'):
2650  self.__init__()
2651  if isinstance(p, tuple):
2652  d, p = p
2653  self.__dict__.update(d)
2654  return self._set_from_binary(p)
2655 
2656 
2657  def __getitem__(self, index):
2658  r"""__getitem__(Vector1D self, int index) -> double"""
2659  return _IMP_algebra.Vector1D___getitem__(self, index)
2660 
2661  def __setitem__(self, index, val):
2662  r"""__setitem__(Vector1D self, int index, double val)"""
2663  return _IMP_algebra.Vector1D___setitem__(self, index, val)
2664  __swig_destroy__ = _IMP_algebra.delete_Vector1D
2665 
2666 # Register Vector1D in _IMP_algebra:
2667 _IMP_algebra.Vector1D_swigregister(Vector1D)
2668 class Vector2D(_VectorBase2D):
2669  r"""Proxy of C++ IMP::algebra::VectorD< 2 > class."""
2670 
2671  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2672 
2673  def get_unit_vector(self):
2674  r"""get_unit_vector(Vector2D self) -> Vector2D"""
2675  return _IMP_algebra.Vector2D_get_unit_vector(self)
2676 
2677  def __truediv__(self, *args):
2678  return _IMP_algebra.Vector2D___truediv__(self, *args)
2679  __div__ = __truediv__
2680 
2681 
2682 
2683  def __neg__(self):
2684  r"""__neg__(Vector2D self) -> Vector2D"""
2685  return _IMP_algebra.Vector2D___neg__(self)
2686 
2687  def __sub__(self, o):
2688  r"""__sub__(Vector2D self, Vector2D o) -> Vector2D"""
2689  return _IMP_algebra.Vector2D___sub__(self, o)
2690 
2691  def __add__(self, ret):
2692  r"""__add__(Vector2D self, Vector2D ret) -> Vector2D"""
2693  return _IMP_algebra.Vector2D___add__(self, ret)
2694 
2695  def __mul__(self, *args):
2696  r"""
2697  __mul__(Vector2D self, double s) -> Vector2D
2698  __mul__(Vector2D self, Vector2D o) -> double
2699  """
2700  return _IMP_algebra.Vector2D___mul__(self, *args)
2701 
2702  def __init__(self, *args):
2703  r"""
2704  __init__(Vector2D self, IMP::Floats const & f) -> Vector2D
2705  __init__(Vector2D self) -> Vector2D
2706  __init__(Vector2D self, double x, double y) -> Vector2D
2707  """
2708  _IMP_algebra.Vector2D_swiginit(self, _IMP_algebra.new_Vector2D(*args))
2709 
2710  def __iadd__(self, *args):
2711  _IMP_algebra.Vector2D___iadd__(self, *args)
2712  return self
2713 
2714 
2715 
2716  def __imul__(self, *args):
2717  _IMP_algebra.Vector2D___imul__(self, *args)
2718  return self
2719 
2720 
2721 
2722  def __idiv__(self, *args):
2723  _IMP_algebra.Vector2D___idiv__(self, *args)
2724  return self
2725 
2726 
2727 
2728  def __isub__(self, *args):
2729  _IMP_algebra.Vector2D___isub__(self, *args)
2730  return self
2731 
2732 
2733 
2734  def __len__(self):
2735  r"""__len__(Vector2D self) -> unsigned int"""
2736  return _IMP_algebra.Vector2D___len__(self)
2737 
2738  def __rmul__(self, f):
2739  r"""__rmul__(Vector2D self, double f) -> Vector2D"""
2740  return _IMP_algebra.Vector2D___rmul__(self, f)
2741 
2742  def __str__(self):
2743  r"""__str__(Vector2D self) -> std::string"""
2744  return _IMP_algebra.Vector2D___str__(self)
2745 
2746  def __repr__(self):
2747  r"""__repr__(Vector2D self) -> std::string"""
2748  return _IMP_algebra.Vector2D___repr__(self)
2749 
2750  def __cmp__(self, arg2):
2751  r"""__cmp__(Vector2D self, Vector2D arg2) -> int"""
2752  return _IMP_algebra.Vector2D___cmp__(self, arg2)
2753 
2754  def __eq__(self, arg2):
2755  r"""__eq__(Vector2D self, Vector2D arg2) -> bool"""
2756  return _IMP_algebra.Vector2D___eq__(self, arg2)
2757 
2758  __truediv__ = __div__
2759  __itruediv__ = __idiv__
2760 
2761 
2762  def _get_as_binary(self):
2763  r"""_get_as_binary(Vector2D self) -> PyObject *"""
2764  return _IMP_algebra.Vector2D__get_as_binary(self)
2765 
2766  def _set_from_binary(self, p):
2767  r"""_set_from_binary(Vector2D self, PyObject * p)"""
2768  return _IMP_algebra.Vector2D__set_from_binary(self, p)
2769 
2770  def __getstate__(self):
2771  p = self._get_as_binary()
2772  if len(self.__dict__) > 1:
2773  d = self.__dict__.copy()
2774  del d['this']
2775  p = (d, p)
2776  return p
2777 
2778  def __setstate__(self, p):
2779  if not hasattr(self, 'this'):
2780  self.__init__()
2781  if isinstance(p, tuple):
2782  d, p = p
2783  self.__dict__.update(d)
2784  return self._set_from_binary(p)
2785 
2786 
2787  def __getitem__(self, index):
2788  r"""__getitem__(Vector2D self, int index) -> double"""
2789  return _IMP_algebra.Vector2D___getitem__(self, index)
2790 
2791  def __setitem__(self, index, val):
2792  r"""__setitem__(Vector2D self, int index, double val)"""
2793  return _IMP_algebra.Vector2D___setitem__(self, index, val)
2794  __swig_destroy__ = _IMP_algebra.delete_Vector2D
2795 
2796 # Register Vector2D in _IMP_algebra:
2797 _IMP_algebra.Vector2D_swigregister(Vector2D)
2798 class Vector3D(_VectorBase3D):
2799  r"""Proxy of C++ IMP::algebra::VectorD< 3 > class."""
2800 
2801  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2802 
2803  def get_unit_vector(self):
2804  r"""get_unit_vector(Vector3D self) -> Vector3D"""
2805  return _IMP_algebra.Vector3D_get_unit_vector(self)
2806 
2807  def __truediv__(self, *args):
2808  return _IMP_algebra.Vector3D___truediv__(self, *args)
2809  __div__ = __truediv__
2810 
2811 
2812 
2813  def __neg__(self):
2814  r"""__neg__(Vector3D self) -> Vector3D"""
2815  return _IMP_algebra.Vector3D___neg__(self)
2816 
2817  def __sub__(self, o):
2818  r"""__sub__(Vector3D self, Vector3D o) -> Vector3D"""
2819  return _IMP_algebra.Vector3D___sub__(self, o)
2820 
2821  def __add__(self, ret):
2822  r"""__add__(Vector3D self, Vector3D ret) -> Vector3D"""
2823  return _IMP_algebra.Vector3D___add__(self, ret)
2824 
2825  def __mul__(self, *args):
2826  r"""
2827  __mul__(Vector3D self, double s) -> Vector3D
2828  __mul__(Vector3D self, Vector3D o) -> double
2829  """
2830  return _IMP_algebra.Vector3D___mul__(self, *args)
2831 
2832  def __init__(self, *args):
2833  r"""
2834  __init__(Vector3D self, IMP::Floats const & f) -> Vector3D
2835  __init__(Vector3D self) -> Vector3D
2836  __init__(Vector3D self, double x, double y, double z) -> Vector3D
2837  """
2838  _IMP_algebra.Vector3D_swiginit(self, _IMP_algebra.new_Vector3D(*args))
2839 
2840  def __iadd__(self, *args):
2841  _IMP_algebra.Vector3D___iadd__(self, *args)
2842  return self
2843 
2844 
2845 
2846  def __imul__(self, *args):
2847  _IMP_algebra.Vector3D___imul__(self, *args)
2848  return self
2849 
2850 
2851 
2852  def __idiv__(self, *args):
2853  _IMP_algebra.Vector3D___idiv__(self, *args)
2854  return self
2855 
2856 
2857 
2858  def __isub__(self, *args):
2859  _IMP_algebra.Vector3D___isub__(self, *args)
2860  return self
2861 
2862 
2863 
2864  def __len__(self):
2865  r"""__len__(Vector3D self) -> unsigned int"""
2866  return _IMP_algebra.Vector3D___len__(self)
2867 
2868  def __rmul__(self, f):
2869  r"""__rmul__(Vector3D self, double f) -> Vector3D"""
2870  return _IMP_algebra.Vector3D___rmul__(self, f)
2871 
2872  def __str__(self):
2873  r"""__str__(Vector3D self) -> std::string"""
2874  return _IMP_algebra.Vector3D___str__(self)
2875 
2876  def __repr__(self):
2877  r"""__repr__(Vector3D self) -> std::string"""
2878  return _IMP_algebra.Vector3D___repr__(self)
2879 
2880  def __cmp__(self, arg2):
2881  r"""__cmp__(Vector3D self, Vector3D arg2) -> int"""
2882  return _IMP_algebra.Vector3D___cmp__(self, arg2)
2883 
2884  def __eq__(self, arg2):
2885  r"""__eq__(Vector3D self, Vector3D arg2) -> bool"""
2886  return _IMP_algebra.Vector3D___eq__(self, arg2)
2887 
2888  __truediv__ = __div__
2889  __itruediv__ = __idiv__
2890 
2891 
2892  def _get_as_binary(self):
2893  r"""_get_as_binary(Vector3D self) -> PyObject *"""
2894  return _IMP_algebra.Vector3D__get_as_binary(self)
2895 
2896  def _set_from_binary(self, p):
2897  r"""_set_from_binary(Vector3D self, PyObject * p)"""
2898  return _IMP_algebra.Vector3D__set_from_binary(self, p)
2899 
2900  def __getstate__(self):
2901  p = self._get_as_binary()
2902  if len(self.__dict__) > 1:
2903  d = self.__dict__.copy()
2904  del d['this']
2905  p = (d, p)
2906  return p
2907 
2908  def __setstate__(self, p):
2909  if not hasattr(self, 'this'):
2910  self.__init__()
2911  if isinstance(p, tuple):
2912  d, p = p
2913  self.__dict__.update(d)
2914  return self._set_from_binary(p)
2915 
2916 
2917  def __getitem__(self, index):
2918  r"""__getitem__(Vector3D self, int index) -> double"""
2919  return _IMP_algebra.Vector3D___getitem__(self, index)
2920 
2921  def __setitem__(self, index, val):
2922  r"""__setitem__(Vector3D self, int index, double val)"""
2923  return _IMP_algebra.Vector3D___setitem__(self, index, val)
2924  __swig_destroy__ = _IMP_algebra.delete_Vector3D
2925 
2926 # Register Vector3D in _IMP_algebra:
2927 _IMP_algebra.Vector3D_swigregister(Vector3D)
2928 class Vector4D(_VectorBase4D):
2929  r"""Proxy of C++ IMP::algebra::VectorD< 4 > class."""
2930 
2931  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2932 
2933  def get_unit_vector(self):
2934  r"""get_unit_vector(Vector4D self) -> Vector4D"""
2935  return _IMP_algebra.Vector4D_get_unit_vector(self)
2936 
2937  def __truediv__(self, *args):
2938  return _IMP_algebra.Vector4D___truediv__(self, *args)
2939  __div__ = __truediv__
2940 
2941 
2942 
2943  def __neg__(self):
2944  r"""__neg__(Vector4D self) -> Vector4D"""
2945  return _IMP_algebra.Vector4D___neg__(self)
2946 
2947  def __sub__(self, o):
2948  r"""__sub__(Vector4D self, Vector4D o) -> Vector4D"""
2949  return _IMP_algebra.Vector4D___sub__(self, o)
2950 
2951  def __add__(self, ret):
2952  r"""__add__(Vector4D self, Vector4D ret) -> Vector4D"""
2953  return _IMP_algebra.Vector4D___add__(self, ret)
2954 
2955  def __mul__(self, *args):
2956  r"""
2957  __mul__(Vector4D self, double s) -> Vector4D
2958  __mul__(Vector4D self, Vector4D o) -> double
2959  """
2960  return _IMP_algebra.Vector4D___mul__(self, *args)
2961 
2962  def __init__(self, *args):
2963  r"""
2964  __init__(Vector4D self, IMP::Floats const & f) -> Vector4D
2965  __init__(Vector4D self) -> Vector4D
2966  __init__(Vector4D self, double x0, double x1, double x2, double x3) -> Vector4D
2967  """
2968  _IMP_algebra.Vector4D_swiginit(self, _IMP_algebra.new_Vector4D(*args))
2969 
2970  def __iadd__(self, *args):
2971  _IMP_algebra.Vector4D___iadd__(self, *args)
2972  return self
2973 
2974 
2975 
2976  def __imul__(self, *args):
2977  _IMP_algebra.Vector4D___imul__(self, *args)
2978  return self
2979 
2980 
2981 
2982  def __idiv__(self, *args):
2983  _IMP_algebra.Vector4D___idiv__(self, *args)
2984  return self
2985 
2986 
2987 
2988  def __isub__(self, *args):
2989  _IMP_algebra.Vector4D___isub__(self, *args)
2990  return self
2991 
2992 
2993 
2994  def __len__(self):
2995  r"""__len__(Vector4D self) -> unsigned int"""
2996  return _IMP_algebra.Vector4D___len__(self)
2997 
2998  def __rmul__(self, f):
2999  r"""__rmul__(Vector4D self, double f) -> Vector4D"""
3000  return _IMP_algebra.Vector4D___rmul__(self, f)
3001 
3002  def __str__(self):
3003  r"""__str__(Vector4D self) -> std::string"""
3004  return _IMP_algebra.Vector4D___str__(self)
3005 
3006  def __repr__(self):
3007  r"""__repr__(Vector4D self) -> std::string"""
3008  return _IMP_algebra.Vector4D___repr__(self)
3009 
3010  def __cmp__(self, arg2):
3011  r"""__cmp__(Vector4D self, Vector4D arg2) -> int"""
3012  return _IMP_algebra.Vector4D___cmp__(self, arg2)
3013 
3014  def __eq__(self, arg2):
3015  r"""__eq__(Vector4D self, Vector4D arg2) -> bool"""
3016  return _IMP_algebra.Vector4D___eq__(self, arg2)
3017 
3018  __truediv__ = __div__
3019  __itruediv__ = __idiv__
3020 
3021 
3022  def _get_as_binary(self):
3023  r"""_get_as_binary(Vector4D self) -> PyObject *"""
3024  return _IMP_algebra.Vector4D__get_as_binary(self)
3025 
3026  def _set_from_binary(self, p):
3027  r"""_set_from_binary(Vector4D self, PyObject * p)"""
3028  return _IMP_algebra.Vector4D__set_from_binary(self, p)
3029 
3030  def __getstate__(self):
3031  p = self._get_as_binary()
3032  if len(self.__dict__) > 1:
3033  d = self.__dict__.copy()
3034  del d['this']
3035  p = (d, p)
3036  return p
3037 
3038  def __setstate__(self, p):
3039  if not hasattr(self, 'this'):
3040  self.__init__()
3041  if isinstance(p, tuple):
3042  d, p = p
3043  self.__dict__.update(d)
3044  return self._set_from_binary(p)
3045 
3046 
3047  def __getitem__(self, index):
3048  r"""__getitem__(Vector4D self, int index) -> double"""
3049  return _IMP_algebra.Vector4D___getitem__(self, index)
3050 
3051  def __setitem__(self, index, val):
3052  r"""__setitem__(Vector4D self, int index, double val)"""
3053  return _IMP_algebra.Vector4D___setitem__(self, index, val)
3054  __swig_destroy__ = _IMP_algebra.delete_Vector4D
3055 
3056 # Register Vector4D in _IMP_algebra:
3057 _IMP_algebra.Vector4D_swigregister(Vector4D)
3058 class Vector5D(_VectorBase5D):
3059  r"""Proxy of C++ IMP::algebra::VectorD< 5 > class."""
3060 
3061  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3062 
3063  def get_unit_vector(self):
3064  r"""get_unit_vector(Vector5D self) -> Vector5D"""
3065  return _IMP_algebra.Vector5D_get_unit_vector(self)
3066 
3067  def __truediv__(self, *args):
3068  return _IMP_algebra.Vector5D___truediv__(self, *args)
3069  __div__ = __truediv__
3070 
3071 
3072 
3073  def __neg__(self):
3074  r"""__neg__(Vector5D self) -> Vector5D"""
3075  return _IMP_algebra.Vector5D___neg__(self)
3076 
3077  def __sub__(self, o):
3078  r"""__sub__(Vector5D self, Vector5D o) -> Vector5D"""
3079  return _IMP_algebra.Vector5D___sub__(self, o)
3080 
3081  def __add__(self, ret):
3082  r"""__add__(Vector5D self, Vector5D ret) -> Vector5D"""
3083  return _IMP_algebra.Vector5D___add__(self, ret)
3084 
3085  def __mul__(self, *args):
3086  r"""
3087  __mul__(Vector5D self, double s) -> Vector5D
3088  __mul__(Vector5D self, Vector5D o) -> double
3089  """
3090  return _IMP_algebra.Vector5D___mul__(self, *args)
3091 
3092  def __init__(self, *args):
3093  r"""
3094  __init__(Vector5D self, IMP::Floats const & f) -> Vector5D
3095  __init__(Vector5D self) -> Vector5D
3096  __init__(Vector5D self, double x0, double x1, double x2, double x3, double x4) -> Vector5D
3097  """
3098  _IMP_algebra.Vector5D_swiginit(self, _IMP_algebra.new_Vector5D(*args))
3099 
3100  def __iadd__(self, *args):
3101  _IMP_algebra.Vector5D___iadd__(self, *args)
3102  return self
3103 
3104 
3105 
3106  def __imul__(self, *args):
3107  _IMP_algebra.Vector5D___imul__(self, *args)
3108  return self
3109 
3110 
3111 
3112  def __idiv__(self, *args):
3113  _IMP_algebra.Vector5D___idiv__(self, *args)
3114  return self
3115 
3116 
3117 
3118  def __isub__(self, *args):
3119  _IMP_algebra.Vector5D___isub__(self, *args)
3120  return self
3121 
3122 
3123 
3124  def __len__(self):
3125  r"""__len__(Vector5D self) -> unsigned int"""
3126  return _IMP_algebra.Vector5D___len__(self)
3127 
3128  def __rmul__(self, f):
3129  r"""__rmul__(Vector5D self, double f) -> Vector5D"""
3130  return _IMP_algebra.Vector5D___rmul__(self, f)
3131 
3132  def __str__(self):
3133  r"""__str__(Vector5D self) -> std::string"""
3134  return _IMP_algebra.Vector5D___str__(self)
3135 
3136  def __repr__(self):
3137  r"""__repr__(Vector5D self) -> std::string"""
3138  return _IMP_algebra.Vector5D___repr__(self)
3139 
3140  def __cmp__(self, arg2):
3141  r"""__cmp__(Vector5D self, Vector5D arg2) -> int"""
3142  return _IMP_algebra.Vector5D___cmp__(self, arg2)
3143 
3144  def __eq__(self, arg2):
3145  r"""__eq__(Vector5D self, Vector5D arg2) -> bool"""
3146  return _IMP_algebra.Vector5D___eq__(self, arg2)
3147 
3148  __truediv__ = __div__
3149  __itruediv__ = __idiv__
3150 
3151 
3152  def _get_as_binary(self):
3153  r"""_get_as_binary(Vector5D self) -> PyObject *"""
3154  return _IMP_algebra.Vector5D__get_as_binary(self)
3155 
3156  def _set_from_binary(self, p):
3157  r"""_set_from_binary(Vector5D self, PyObject * p)"""
3158  return _IMP_algebra.Vector5D__set_from_binary(self, p)
3159 
3160  def __getstate__(self):
3161  p = self._get_as_binary()
3162  if len(self.__dict__) > 1:
3163  d = self.__dict__.copy()
3164  del d['this']
3165  p = (d, p)
3166  return p
3167 
3168  def __setstate__(self, p):
3169  if not hasattr(self, 'this'):
3170  self.__init__()
3171  if isinstance(p, tuple):
3172  d, p = p
3173  self.__dict__.update(d)
3174  return self._set_from_binary(p)
3175 
3176 
3177  def __getitem__(self, index):
3178  r"""__getitem__(Vector5D self, int index) -> double"""
3179  return _IMP_algebra.Vector5D___getitem__(self, index)
3180 
3181  def __setitem__(self, index, val):
3182  r"""__setitem__(Vector5D self, int index, double val)"""
3183  return _IMP_algebra.Vector5D___setitem__(self, index, val)
3184  __swig_destroy__ = _IMP_algebra.delete_Vector5D
3185 
3186 # Register Vector5D in _IMP_algebra:
3187 _IMP_algebra.Vector5D_swigregister(Vector5D)
3188 class Vector6D(_VectorBase6D):
3189  r"""Proxy of C++ IMP::algebra::VectorD< 6 > class."""
3190 
3191  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3192 
3193  def get_unit_vector(self):
3194  r"""get_unit_vector(Vector6D self) -> Vector6D"""
3195  return _IMP_algebra.Vector6D_get_unit_vector(self)
3196 
3197  def __truediv__(self, *args):
3198  return _IMP_algebra.Vector6D___truediv__(self, *args)
3199  __div__ = __truediv__
3200 
3201 
3202 
3203  def __neg__(self):
3204  r"""__neg__(Vector6D self) -> Vector6D"""
3205  return _IMP_algebra.Vector6D___neg__(self)
3206 
3207  def __sub__(self, o):
3208  r"""__sub__(Vector6D self, Vector6D o) -> Vector6D"""
3209  return _IMP_algebra.Vector6D___sub__(self, o)
3210 
3211  def __add__(self, ret):
3212  r"""__add__(Vector6D self, Vector6D ret) -> Vector6D"""
3213  return _IMP_algebra.Vector6D___add__(self, ret)
3214 
3215  def __mul__(self, *args):
3216  r"""
3217  __mul__(Vector6D self, double s) -> Vector6D
3218  __mul__(Vector6D self, Vector6D o) -> double
3219  """
3220  return _IMP_algebra.Vector6D___mul__(self, *args)
3221 
3222  def __init__(self, *args):
3223  r"""
3224  __init__(Vector6D self, IMP::Floats const & f) -> Vector6D
3225  __init__(Vector6D self) -> Vector6D
3226  __init__(Vector6D self, double x0, double x1, double x2, double x3, double x4, double x5) -> Vector6D
3227  """
3228  _IMP_algebra.Vector6D_swiginit(self, _IMP_algebra.new_Vector6D(*args))
3229 
3230  def __iadd__(self, *args):
3231  _IMP_algebra.Vector6D___iadd__(self, *args)
3232  return self
3233 
3234 
3235 
3236  def __imul__(self, *args):
3237  _IMP_algebra.Vector6D___imul__(self, *args)
3238  return self
3239 
3240 
3241 
3242  def __idiv__(self, *args):
3243  _IMP_algebra.Vector6D___idiv__(self, *args)
3244  return self
3245 
3246 
3247 
3248  def __isub__(self, *args):
3249  _IMP_algebra.Vector6D___isub__(self, *args)
3250  return self
3251 
3252 
3253 
3254  def __len__(self):
3255  r"""__len__(Vector6D self) -> unsigned int"""
3256  return _IMP_algebra.Vector6D___len__(self)
3257 
3258  def __rmul__(self, f):
3259  r"""__rmul__(Vector6D self, double f) -> Vector6D"""
3260  return _IMP_algebra.Vector6D___rmul__(self, f)
3261 
3262  def __str__(self):
3263  r"""__str__(Vector6D self) -> std::string"""
3264  return _IMP_algebra.Vector6D___str__(self)
3265 
3266  def __repr__(self):
3267  r"""__repr__(Vector6D self) -> std::string"""
3268  return _IMP_algebra.Vector6D___repr__(self)
3269 
3270  def __cmp__(self, arg2):
3271  r"""__cmp__(Vector6D self, Vector6D arg2) -> int"""
3272  return _IMP_algebra.Vector6D___cmp__(self, arg2)
3273 
3274  def __eq__(self, arg2):
3275  r"""__eq__(Vector6D self, Vector6D arg2) -> bool"""
3276  return _IMP_algebra.Vector6D___eq__(self, arg2)
3277 
3278  __truediv__ = __div__
3279  __itruediv__ = __idiv__
3280 
3281 
3282  def _get_as_binary(self):
3283  r"""_get_as_binary(Vector6D self) -> PyObject *"""
3284  return _IMP_algebra.Vector6D__get_as_binary(self)
3285 
3286  def _set_from_binary(self, p):
3287  r"""_set_from_binary(Vector6D self, PyObject * p)"""
3288  return _IMP_algebra.Vector6D__set_from_binary(self, p)
3289 
3290  def __getstate__(self):
3291  p = self._get_as_binary()
3292  if len(self.__dict__) > 1:
3293  d = self.__dict__.copy()
3294  del d['this']
3295  p = (d, p)
3296  return p
3297 
3298  def __setstate__(self, p):
3299  if not hasattr(self, 'this'):
3300  self.__init__()
3301  if isinstance(p, tuple):
3302  d, p = p
3303  self.__dict__.update(d)
3304  return self._set_from_binary(p)
3305 
3306 
3307  def __getitem__(self, index):
3308  r"""__getitem__(Vector6D self, int index) -> double"""
3309  return _IMP_algebra.Vector6D___getitem__(self, index)
3310 
3311  def __setitem__(self, index, val):
3312  r"""__setitem__(Vector6D self, int index, double val)"""
3313  return _IMP_algebra.Vector6D___setitem__(self, index, val)
3314  __swig_destroy__ = _IMP_algebra.delete_Vector6D
3315 
3316 # Register Vector6D in _IMP_algebra:
3317 _IMP_algebra.Vector6D_swigregister(Vector6D)
3318 class VectorKD(_VectorBaseKD):
3319  r"""Proxy of C++ IMP::algebra::VectorD< -1 > class."""
3320 
3321  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3322 
3323  def get_unit_vector(self):
3324  r"""get_unit_vector(VectorKD self) -> VectorKD"""
3325  return _IMP_algebra.VectorKD_get_unit_vector(self)
3326 
3327  def __truediv__(self, *args):
3328  return _IMP_algebra.VectorKD___truediv__(self, *args)
3329  __div__ = __truediv__
3330 
3331 
3332 
3333  def __neg__(self):
3334  r"""__neg__(VectorKD self) -> VectorKD"""
3335  return _IMP_algebra.VectorKD___neg__(self)
3336 
3337  def __sub__(self, o):
3338  r"""__sub__(VectorKD self, VectorKD o) -> VectorKD"""
3339  return _IMP_algebra.VectorKD___sub__(self, o)
3340 
3341  def __add__(self, ret):
3342  r"""__add__(VectorKD self, VectorKD ret) -> VectorKD"""
3343  return _IMP_algebra.VectorKD___add__(self, ret)
3344 
3345  def __mul__(self, *args):
3346  r"""
3347  __mul__(VectorKD self, double s) -> VectorKD
3348  __mul__(VectorKD self, VectorKD o) -> double
3349  """
3350  return _IMP_algebra.VectorKD___mul__(self, *args)
3351 
3352  def __init__(self, *args):
3353  r"""
3354  __init__(VectorKD self, IMP::Floats const & f) -> VectorKD
3355  __init__(VectorKD self) -> VectorKD
3356  __init__(VectorKD self, double x0, double x1=std::numeric_limits< double >::max(), double x2=std::numeric_limits< double >::max(), double x3=std::numeric_limits< double >::max(), double x4=std::numeric_limits< double >::max(), double x5=std::numeric_limits< double >::max()) -> VectorKD
3357  """
3358  _IMP_algebra.VectorKD_swiginit(self, _IMP_algebra.new_VectorKD(*args))
3359 
3360  def __iadd__(self, *args):
3361  _IMP_algebra.VectorKD___iadd__(self, *args)
3362  return self
3363 
3364 
3365 
3366  def __imul__(self, *args):
3367  _IMP_algebra.VectorKD___imul__(self, *args)
3368  return self
3369 
3370 
3371 
3372  def __idiv__(self, *args):
3373  _IMP_algebra.VectorKD___idiv__(self, *args)
3374  return self
3375 
3376 
3377 
3378  def __isub__(self, *args):
3379  _IMP_algebra.VectorKD___isub__(self, *args)
3380  return self
3381 
3382 
3383 
3384  def __len__(self):
3385  r"""__len__(VectorKD self) -> unsigned int"""
3386  return _IMP_algebra.VectorKD___len__(self)
3387 
3388  def __rmul__(self, f):
3389  r"""__rmul__(VectorKD self, double f) -> VectorKD"""
3390  return _IMP_algebra.VectorKD___rmul__(self, f)
3391 
3392  def __str__(self):
3393  r"""__str__(VectorKD self) -> std::string"""
3394  return _IMP_algebra.VectorKD___str__(self)
3395 
3396  def __repr__(self):
3397  r"""__repr__(VectorKD self) -> std::string"""
3398  return _IMP_algebra.VectorKD___repr__(self)
3399 
3400  def __cmp__(self, arg2):
3401  r"""__cmp__(VectorKD self, VectorKD arg2) -> int"""
3402  return _IMP_algebra.VectorKD___cmp__(self, arg2)
3403 
3404  def __eq__(self, arg2):
3405  r"""__eq__(VectorKD self, VectorKD arg2) -> bool"""
3406  return _IMP_algebra.VectorKD___eq__(self, arg2)
3407 
3408  __truediv__ = __div__
3409  __itruediv__ = __idiv__
3410 
3411 
3412  def _get_as_binary(self):
3413  r"""_get_as_binary(VectorKD self) -> PyObject *"""
3414  return _IMP_algebra.VectorKD__get_as_binary(self)
3415 
3416  def _set_from_binary(self, p):
3417  r"""_set_from_binary(VectorKD self, PyObject * p)"""
3418  return _IMP_algebra.VectorKD__set_from_binary(self, p)
3419 
3420  def __getstate__(self):
3421  p = self._get_as_binary()
3422  if len(self.__dict__) > 1:
3423  d = self.__dict__.copy()
3424  del d['this']
3425  p = (d, p)
3426  return p
3427 
3428  def __setstate__(self, p):
3429  if not hasattr(self, 'this'):
3430  self.__init__()
3431  if isinstance(p, tuple):
3432  d, p = p
3433  self.__dict__.update(d)
3434  return self._set_from_binary(p)
3435 
3436 
3437  def __getitem__(self, index):
3438  r"""__getitem__(VectorKD self, int index) -> double"""
3439  return _IMP_algebra.VectorKD___getitem__(self, index)
3440 
3441  def __setitem__(self, index, val):
3442  r"""__setitem__(VectorKD self, int index, double val)"""
3443  return _IMP_algebra.VectorKD___setitem__(self, index, val)
3444  __swig_destroy__ = _IMP_algebra.delete_VectorKD
3445 
3446 # Register VectorKD in _IMP_algebra:
3447 _IMP_algebra.VectorKD_swigregister(VectorKD)
3448 class BoundingBox1D(object):
3449  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 1 > class."""
3450 
3451  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3452 
3453  def get_dimension(self):
3454  r"""get_dimension(BoundingBox1D self) -> unsigned int"""
3455  return _IMP_algebra.BoundingBox1D_get_dimension(self)
3456 
3457  def get_corner(self, i):
3458  r"""get_corner(BoundingBox1D self, unsigned int i) -> Vector1D"""
3459  return _IMP_algebra.BoundingBox1D_get_corner(self, i)
3460 
3461  def get_contains(self, *args):
3462  r"""
3463  get_contains(BoundingBox1D self, Vector1D o) -> bool
3464  get_contains(BoundingBox1D self, BoundingBox1D bb) -> bool
3465  """
3466  return _IMP_algebra.BoundingBox1D_get_contains(self, *args)
3467 
3468  def show(self, *args):
3469  r"""show(BoundingBox1D self, _ostream out=std::cout)"""
3470  return _IMP_algebra.BoundingBox1D_show(self, *args)
3471 
3472  def __str__(self):
3473  r"""__str__(BoundingBox1D self) -> std::string"""
3474  return _IMP_algebra.BoundingBox1D___str__(self)
3475 
3476  def __repr__(self):
3477  r"""__repr__(BoundingBox1D self) -> std::string"""
3478  return _IMP_algebra.BoundingBox1D___repr__(self)
3479 
3480  def __cmp__(self, arg2):
3481  r"""__cmp__(BoundingBox1D self, BoundingBox1D arg2) -> int"""
3482  return _IMP_algebra.BoundingBox1D___cmp__(self, arg2)
3483 
3484  def __eq__(self, arg2):
3485  r"""__eq__(BoundingBox1D self, BoundingBox1D arg2) -> bool"""
3486  return _IMP_algebra.BoundingBox1D___eq__(self, arg2)
3487 
3488  def __init__(self, *args):
3489  r"""
3490  __init__(BoundingBox1D self, unsigned int d) -> BoundingBox1D
3491  __init__(BoundingBox1D self, Vector1D lb, Vector1D ub) -> BoundingBox1D
3492  __init__(BoundingBox1D self, Vector1D v) -> BoundingBox1D
3493  __init__(BoundingBox1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & points) -> BoundingBox1D
3494  __init__(BoundingBox1D self) -> BoundingBox1D
3495  """
3496  _IMP_algebra.BoundingBox1D_swiginit(self, _IMP_algebra.new_BoundingBox1D(*args))
3497 
3498  def __getitem__(self, index):
3499  r"""__getitem__(BoundingBox1D self, unsigned int index) -> Vector1D"""
3500  return _IMP_algebra.BoundingBox1D___getitem__(self, index)
3501 
3502  def __iadd__(self, *args):
3503  _IMP_algebra.BoundingBox1D___iadd__(self, *args)
3504  return self
3505 
3506 
3507 
3508  def __len__(self):
3509  r"""__len__(BoundingBox1D self) -> unsigned int"""
3510  return _IMP_algebra.BoundingBox1D___len__(self)
3511 
3512  def __add__(self, *args):
3513  r"""
3514  __add__(BoundingBox1D self, BoundingBox1D o) -> BoundingBox1D
3515  __add__(BoundingBox1D self, Vector1D o) -> BoundingBox1D
3516  __add__(BoundingBox1D self, double o) -> BoundingBox1D
3517  """
3518  return _IMP_algebra.BoundingBox1D___add__(self, *args)
3519 
3520  def _get_as_binary(self):
3521  r"""_get_as_binary(BoundingBox1D self) -> PyObject *"""
3522  return _IMP_algebra.BoundingBox1D__get_as_binary(self)
3523 
3524  def _set_from_binary(self, p):
3525  r"""_set_from_binary(BoundingBox1D self, PyObject * p)"""
3526  return _IMP_algebra.BoundingBox1D__set_from_binary(self, p)
3527 
3528  def __getstate__(self):
3529  p = self._get_as_binary()
3530  if len(self.__dict__) > 1:
3531  d = self.__dict__.copy()
3532  del d['this']
3533  p = (d, p)
3534  return p
3535 
3536  def __setstate__(self, p):
3537  if not hasattr(self, 'this'):
3538  self.__init__()
3539  if isinstance(p, tuple):
3540  d, p = p
3541  self.__dict__.update(d)
3542  return self._set_from_binary(p)
3543 
3544  __swig_destroy__ = _IMP_algebra.delete_BoundingBox1D
3545 
3546 # Register BoundingBox1D in _IMP_algebra:
3547 _IMP_algebra.BoundingBox1D_swigregister(BoundingBox1D)
3548 class BoundingBox2D(object):
3549  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 2 > class."""
3550 
3551  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3552 
3553  def get_dimension(self):
3554  r"""get_dimension(BoundingBox2D self) -> unsigned int"""
3555  return _IMP_algebra.BoundingBox2D_get_dimension(self)
3556 
3557  def get_corner(self, i):
3558  r"""get_corner(BoundingBox2D self, unsigned int i) -> Vector2D"""
3559  return _IMP_algebra.BoundingBox2D_get_corner(self, i)
3560 
3561  def get_contains(self, *args):
3562  r"""
3563  get_contains(BoundingBox2D self, Vector2D o) -> bool
3564  get_contains(BoundingBox2D self, BoundingBox2D bb) -> bool
3565  """
3566  return _IMP_algebra.BoundingBox2D_get_contains(self, *args)
3567 
3568  def show(self, *args):
3569  r"""show(BoundingBox2D self, _ostream out=std::cout)"""
3570  return _IMP_algebra.BoundingBox2D_show(self, *args)
3571 
3572  def __str__(self):
3573  r"""__str__(BoundingBox2D self) -> std::string"""
3574  return _IMP_algebra.BoundingBox2D___str__(self)
3575 
3576  def __repr__(self):
3577  r"""__repr__(BoundingBox2D self) -> std::string"""
3578  return _IMP_algebra.BoundingBox2D___repr__(self)
3579 
3580  def __cmp__(self, arg2):
3581  r"""__cmp__(BoundingBox2D self, BoundingBox2D arg2) -> int"""
3582  return _IMP_algebra.BoundingBox2D___cmp__(self, arg2)
3583 
3584  def __eq__(self, arg2):
3585  r"""__eq__(BoundingBox2D self, BoundingBox2D arg2) -> bool"""
3586  return _IMP_algebra.BoundingBox2D___eq__(self, arg2)
3587 
3588  def __init__(self, *args):
3589  r"""
3590  __init__(BoundingBox2D self, unsigned int d) -> BoundingBox2D
3591  __init__(BoundingBox2D self, Vector2D lb, Vector2D ub) -> BoundingBox2D
3592  __init__(BoundingBox2D self, Vector2D v) -> BoundingBox2D
3593  __init__(BoundingBox2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & points) -> BoundingBox2D
3594  __init__(BoundingBox2D self) -> BoundingBox2D
3595  """
3596  _IMP_algebra.BoundingBox2D_swiginit(self, _IMP_algebra.new_BoundingBox2D(*args))
3597 
3598  def __getitem__(self, index):
3599  r"""__getitem__(BoundingBox2D self, unsigned int index) -> Vector2D"""
3600  return _IMP_algebra.BoundingBox2D___getitem__(self, index)
3601 
3602  def __iadd__(self, *args):
3603  _IMP_algebra.BoundingBox2D___iadd__(self, *args)
3604  return self
3605 
3606 
3607 
3608  def __len__(self):
3609  r"""__len__(BoundingBox2D self) -> unsigned int"""
3610  return _IMP_algebra.BoundingBox2D___len__(self)
3611 
3612  def __add__(self, *args):
3613  r"""
3614  __add__(BoundingBox2D self, BoundingBox2D o) -> BoundingBox2D
3615  __add__(BoundingBox2D self, Vector2D o) -> BoundingBox2D
3616  __add__(BoundingBox2D self, double o) -> BoundingBox2D
3617  """
3618  return _IMP_algebra.BoundingBox2D___add__(self, *args)
3619 
3620  def _get_as_binary(self):
3621  r"""_get_as_binary(BoundingBox2D self) -> PyObject *"""
3622  return _IMP_algebra.BoundingBox2D__get_as_binary(self)
3623 
3624  def _set_from_binary(self, p):
3625  r"""_set_from_binary(BoundingBox2D self, PyObject * p)"""
3626  return _IMP_algebra.BoundingBox2D__set_from_binary(self, p)
3627 
3628  def __getstate__(self):
3629  p = self._get_as_binary()
3630  if len(self.__dict__) > 1:
3631  d = self.__dict__.copy()
3632  del d['this']
3633  p = (d, p)
3634  return p
3635 
3636  def __setstate__(self, p):
3637  if not hasattr(self, 'this'):
3638  self.__init__()
3639  if isinstance(p, tuple):
3640  d, p = p
3641  self.__dict__.update(d)
3642  return self._set_from_binary(p)
3643 
3644  __swig_destroy__ = _IMP_algebra.delete_BoundingBox2D
3645 
3646 # Register BoundingBox2D in _IMP_algebra:
3647 _IMP_algebra.BoundingBox2D_swigregister(BoundingBox2D)
3648 class BoundingBox3D(object):
3649  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 3 > class."""
3650 
3651  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3652 
3653  def get_dimension(self):
3654  r"""get_dimension(BoundingBox3D self) -> unsigned int"""
3655  return _IMP_algebra.BoundingBox3D_get_dimension(self)
3656 
3657  def get_corner(self, i):
3658  r"""get_corner(BoundingBox3D self, unsigned int i) -> Vector3D"""
3659  return _IMP_algebra.BoundingBox3D_get_corner(self, i)
3660 
3661  def get_contains(self, *args):
3662  r"""
3663  get_contains(BoundingBox3D self, Vector3D o) -> bool
3664  get_contains(BoundingBox3D self, BoundingBox3D bb) -> bool
3665  """
3666  return _IMP_algebra.BoundingBox3D_get_contains(self, *args)
3667 
3668  def show(self, *args):
3669  r"""show(BoundingBox3D self, _ostream out=std::cout)"""
3670  return _IMP_algebra.BoundingBox3D_show(self, *args)
3671 
3672  def __str__(self):
3673  r"""__str__(BoundingBox3D self) -> std::string"""
3674  return _IMP_algebra.BoundingBox3D___str__(self)
3675 
3676  def __repr__(self):
3677  r"""__repr__(BoundingBox3D self) -> std::string"""
3678  return _IMP_algebra.BoundingBox3D___repr__(self)
3679 
3680  def __cmp__(self, arg2):
3681  r"""__cmp__(BoundingBox3D self, BoundingBox3D arg2) -> int"""
3682  return _IMP_algebra.BoundingBox3D___cmp__(self, arg2)
3683 
3684  def __eq__(self, arg2):
3685  r"""__eq__(BoundingBox3D self, BoundingBox3D arg2) -> bool"""
3686  return _IMP_algebra.BoundingBox3D___eq__(self, arg2)
3687 
3688  def __init__(self, *args):
3689  r"""
3690  __init__(BoundingBox3D self, unsigned int d) -> BoundingBox3D
3691  __init__(BoundingBox3D self, Vector3D lb, Vector3D ub) -> BoundingBox3D
3692  __init__(BoundingBox3D self, Vector3D v) -> BoundingBox3D
3693  __init__(BoundingBox3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & points) -> BoundingBox3D
3694  __init__(BoundingBox3D self) -> BoundingBox3D
3695  """
3696  _IMP_algebra.BoundingBox3D_swiginit(self, _IMP_algebra.new_BoundingBox3D(*args))
3697 
3698  def __getitem__(self, index):
3699  r"""__getitem__(BoundingBox3D self, unsigned int index) -> Vector3D"""
3700  return _IMP_algebra.BoundingBox3D___getitem__(self, index)
3701 
3702  def __iadd__(self, *args):
3703  _IMP_algebra.BoundingBox3D___iadd__(self, *args)
3704  return self
3705 
3706 
3707 
3708  def __len__(self):
3709  r"""__len__(BoundingBox3D self) -> unsigned int"""
3710  return _IMP_algebra.BoundingBox3D___len__(self)
3711 
3712  def __add__(self, *args):
3713  r"""
3714  __add__(BoundingBox3D self, BoundingBox3D o) -> BoundingBox3D
3715  __add__(BoundingBox3D self, Vector3D o) -> BoundingBox3D
3716  __add__(BoundingBox3D self, double o) -> BoundingBox3D
3717  """
3718  return _IMP_algebra.BoundingBox3D___add__(self, *args)
3719 
3720  def _get_as_binary(self):
3721  r"""_get_as_binary(BoundingBox3D self) -> PyObject *"""
3722  return _IMP_algebra.BoundingBox3D__get_as_binary(self)
3723 
3724  def _set_from_binary(self, p):
3725  r"""_set_from_binary(BoundingBox3D self, PyObject * p)"""
3726  return _IMP_algebra.BoundingBox3D__set_from_binary(self, p)
3727 
3728  def __getstate__(self):
3729  p = self._get_as_binary()
3730  if len(self.__dict__) > 1:
3731  d = self.__dict__.copy()
3732  del d['this']
3733  p = (d, p)
3734  return p
3735 
3736  def __setstate__(self, p):
3737  if not hasattr(self, 'this'):
3738  self.__init__()
3739  if isinstance(p, tuple):
3740  d, p = p
3741  self.__dict__.update(d)
3742  return self._set_from_binary(p)
3743 
3744  __swig_destroy__ = _IMP_algebra.delete_BoundingBox3D
3745 
3746 # Register BoundingBox3D in _IMP_algebra:
3747 _IMP_algebra.BoundingBox3D_swigregister(BoundingBox3D)
3748 class BoundingBox4D(object):
3749  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 4 > class."""
3750 
3751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3752 
3753  def get_dimension(self):
3754  r"""get_dimension(BoundingBox4D self) -> unsigned int"""
3755  return _IMP_algebra.BoundingBox4D_get_dimension(self)
3756 
3757  def get_corner(self, i):
3758  r"""get_corner(BoundingBox4D self, unsigned int i) -> Vector4D"""
3759  return _IMP_algebra.BoundingBox4D_get_corner(self, i)
3760 
3761  def get_contains(self, *args):
3762  r"""
3763  get_contains(BoundingBox4D self, Vector4D o) -> bool
3764  get_contains(BoundingBox4D self, BoundingBox4D bb) -> bool
3765  """
3766  return _IMP_algebra.BoundingBox4D_get_contains(self, *args)
3767 
3768  def show(self, *args):
3769  r"""show(BoundingBox4D self, _ostream out=std::cout)"""
3770  return _IMP_algebra.BoundingBox4D_show(self, *args)
3771 
3772  def __str__(self):
3773  r"""__str__(BoundingBox4D self) -> std::string"""
3774  return _IMP_algebra.BoundingBox4D___str__(self)
3775 
3776  def __repr__(self):
3777  r"""__repr__(BoundingBox4D self) -> std::string"""
3778  return _IMP_algebra.BoundingBox4D___repr__(self)
3779 
3780  def __cmp__(self, arg2):
3781  r"""__cmp__(BoundingBox4D self, BoundingBox4D arg2) -> int"""
3782  return _IMP_algebra.BoundingBox4D___cmp__(self, arg2)
3783 
3784  def __eq__(self, arg2):
3785  r"""__eq__(BoundingBox4D self, BoundingBox4D arg2) -> bool"""
3786  return _IMP_algebra.BoundingBox4D___eq__(self, arg2)
3787 
3788  def __init__(self, *args):
3789  r"""
3790  __init__(BoundingBox4D self, unsigned int d) -> BoundingBox4D
3791  __init__(BoundingBox4D self, Vector4D lb, Vector4D ub) -> BoundingBox4D
3792  __init__(BoundingBox4D self, Vector4D v) -> BoundingBox4D
3793  __init__(BoundingBox4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & points) -> BoundingBox4D
3794  __init__(BoundingBox4D self) -> BoundingBox4D
3795  """
3796  _IMP_algebra.BoundingBox4D_swiginit(self, _IMP_algebra.new_BoundingBox4D(*args))
3797 
3798  def __getitem__(self, index):
3799  r"""__getitem__(BoundingBox4D self, unsigned int index) -> Vector4D"""
3800  return _IMP_algebra.BoundingBox4D___getitem__(self, index)
3801 
3802  def __iadd__(self, *args):
3803  _IMP_algebra.BoundingBox4D___iadd__(self, *args)
3804  return self
3805 
3806 
3807 
3808  def __len__(self):
3809  r"""__len__(BoundingBox4D self) -> unsigned int"""
3810  return _IMP_algebra.BoundingBox4D___len__(self)
3811 
3812  def __add__(self, *args):
3813  r"""
3814  __add__(BoundingBox4D self, BoundingBox4D o) -> BoundingBox4D
3815  __add__(BoundingBox4D self, Vector4D o) -> BoundingBox4D
3816  __add__(BoundingBox4D self, double o) -> BoundingBox4D
3817  """
3818  return _IMP_algebra.BoundingBox4D___add__(self, *args)
3819 
3820  def _get_as_binary(self):
3821  r"""_get_as_binary(BoundingBox4D self) -> PyObject *"""
3822  return _IMP_algebra.BoundingBox4D__get_as_binary(self)
3823 
3824  def _set_from_binary(self, p):
3825  r"""_set_from_binary(BoundingBox4D self, PyObject * p)"""
3826  return _IMP_algebra.BoundingBox4D__set_from_binary(self, p)
3827 
3828  def __getstate__(self):
3829  p = self._get_as_binary()
3830  if len(self.__dict__) > 1:
3831  d = self.__dict__.copy()
3832  del d['this']
3833  p = (d, p)
3834  return p
3835 
3836  def __setstate__(self, p):
3837  if not hasattr(self, 'this'):
3838  self.__init__()
3839  if isinstance(p, tuple):
3840  d, p = p
3841  self.__dict__.update(d)
3842  return self._set_from_binary(p)
3843 
3844  __swig_destroy__ = _IMP_algebra.delete_BoundingBox4D
3845 
3846 # Register BoundingBox4D in _IMP_algebra:
3847 _IMP_algebra.BoundingBox4D_swigregister(BoundingBox4D)
3848 class BoundingBox5D(object):
3849  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 5 > class."""
3850 
3851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3852 
3853  def get_dimension(self):
3854  r"""get_dimension(BoundingBox5D self) -> unsigned int"""
3855  return _IMP_algebra.BoundingBox5D_get_dimension(self)
3856 
3857  def get_corner(self, i):
3858  r"""get_corner(BoundingBox5D self, unsigned int i) -> Vector5D"""
3859  return _IMP_algebra.BoundingBox5D_get_corner(self, i)
3860 
3861  def get_contains(self, *args):
3862  r"""
3863  get_contains(BoundingBox5D self, Vector5D o) -> bool
3864  get_contains(BoundingBox5D self, BoundingBox5D bb) -> bool
3865  """
3866  return _IMP_algebra.BoundingBox5D_get_contains(self, *args)
3867 
3868  def show(self, *args):
3869  r"""show(BoundingBox5D self, _ostream out=std::cout)"""
3870  return _IMP_algebra.BoundingBox5D_show(self, *args)
3871 
3872  def __str__(self):
3873  r"""__str__(BoundingBox5D self) -> std::string"""
3874  return _IMP_algebra.BoundingBox5D___str__(self)
3875 
3876  def __repr__(self):
3877  r"""__repr__(BoundingBox5D self) -> std::string"""
3878  return _IMP_algebra.BoundingBox5D___repr__(self)
3879 
3880  def __cmp__(self, arg2):
3881  r"""__cmp__(BoundingBox5D self, BoundingBox5D arg2) -> int"""
3882  return _IMP_algebra.BoundingBox5D___cmp__(self, arg2)
3883 
3884  def __eq__(self, arg2):
3885  r"""__eq__(BoundingBox5D self, BoundingBox5D arg2) -> bool"""
3886  return _IMP_algebra.BoundingBox5D___eq__(self, arg2)
3887 
3888  def __init__(self, *args):
3889  r"""
3890  __init__(BoundingBox5D self, unsigned int d) -> BoundingBox5D
3891  __init__(BoundingBox5D self, Vector5D lb, Vector5D ub) -> BoundingBox5D
3892  __init__(BoundingBox5D self, Vector5D v) -> BoundingBox5D
3893  __init__(BoundingBox5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & points) -> BoundingBox5D
3894  __init__(BoundingBox5D self) -> BoundingBox5D
3895  """
3896  _IMP_algebra.BoundingBox5D_swiginit(self, _IMP_algebra.new_BoundingBox5D(*args))
3897 
3898  def __getitem__(self, index):
3899  r"""__getitem__(BoundingBox5D self, unsigned int index) -> Vector5D"""
3900  return _IMP_algebra.BoundingBox5D___getitem__(self, index)
3901 
3902  def __iadd__(self, *args):
3903  _IMP_algebra.BoundingBox5D___iadd__(self, *args)
3904  return self
3905 
3906 
3907 
3908  def __len__(self):
3909  r"""__len__(BoundingBox5D self) -> unsigned int"""
3910  return _IMP_algebra.BoundingBox5D___len__(self)
3911 
3912  def __add__(self, *args):
3913  r"""
3914  __add__(BoundingBox5D self, BoundingBox5D o) -> BoundingBox5D
3915  __add__(BoundingBox5D self, Vector5D o) -> BoundingBox5D
3916  __add__(BoundingBox5D self, double o) -> BoundingBox5D
3917  """
3918  return _IMP_algebra.BoundingBox5D___add__(self, *args)
3919 
3920  def _get_as_binary(self):
3921  r"""_get_as_binary(BoundingBox5D self) -> PyObject *"""
3922  return _IMP_algebra.BoundingBox5D__get_as_binary(self)
3923 
3924  def _set_from_binary(self, p):
3925  r"""_set_from_binary(BoundingBox5D self, PyObject * p)"""
3926  return _IMP_algebra.BoundingBox5D__set_from_binary(self, p)
3927 
3928  def __getstate__(self):
3929  p = self._get_as_binary()
3930  if len(self.__dict__) > 1:
3931  d = self.__dict__.copy()
3932  del d['this']
3933  p = (d, p)
3934  return p
3935 
3936  def __setstate__(self, p):
3937  if not hasattr(self, 'this'):
3938  self.__init__()
3939  if isinstance(p, tuple):
3940  d, p = p
3941  self.__dict__.update(d)
3942  return self._set_from_binary(p)
3943 
3944  __swig_destroy__ = _IMP_algebra.delete_BoundingBox5D
3945 
3946 # Register BoundingBox5D in _IMP_algebra:
3947 _IMP_algebra.BoundingBox5D_swigregister(BoundingBox5D)
3948 class BoundingBox6D(object):
3949  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 6 > class."""
3950 
3951  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3952 
3953  def get_dimension(self):
3954  r"""get_dimension(BoundingBox6D self) -> unsigned int"""
3955  return _IMP_algebra.BoundingBox6D_get_dimension(self)
3956 
3957  def get_corner(self, i):
3958  r"""get_corner(BoundingBox6D self, unsigned int i) -> Vector6D"""
3959  return _IMP_algebra.BoundingBox6D_get_corner(self, i)
3960 
3961  def get_contains(self, *args):
3962  r"""
3963  get_contains(BoundingBox6D self, Vector6D o) -> bool
3964  get_contains(BoundingBox6D self, BoundingBox6D bb) -> bool
3965  """
3966  return _IMP_algebra.BoundingBox6D_get_contains(self, *args)
3967 
3968  def show(self, *args):
3969  r"""show(BoundingBox6D self, _ostream out=std::cout)"""
3970  return _IMP_algebra.BoundingBox6D_show(self, *args)
3971 
3972  def __str__(self):
3973  r"""__str__(BoundingBox6D self) -> std::string"""
3974  return _IMP_algebra.BoundingBox6D___str__(self)
3975 
3976  def __repr__(self):
3977  r"""__repr__(BoundingBox6D self) -> std::string"""
3978  return _IMP_algebra.BoundingBox6D___repr__(self)
3979 
3980  def __cmp__(self, arg2):
3981  r"""__cmp__(BoundingBox6D self, BoundingBox6D arg2) -> int"""
3982  return _IMP_algebra.BoundingBox6D___cmp__(self, arg2)
3983 
3984  def __eq__(self, arg2):
3985  r"""__eq__(BoundingBox6D self, BoundingBox6D arg2) -> bool"""
3986  return _IMP_algebra.BoundingBox6D___eq__(self, arg2)
3987 
3988  def __init__(self, *args):
3989  r"""
3990  __init__(BoundingBox6D self, unsigned int d) -> BoundingBox6D
3991  __init__(BoundingBox6D self, Vector6D lb, Vector6D ub) -> BoundingBox6D
3992  __init__(BoundingBox6D self, Vector6D v) -> BoundingBox6D
3993  __init__(BoundingBox6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & points) -> BoundingBox6D
3994  __init__(BoundingBox6D self) -> BoundingBox6D
3995  """
3996  _IMP_algebra.BoundingBox6D_swiginit(self, _IMP_algebra.new_BoundingBox6D(*args))
3997 
3998  def __getitem__(self, index):
3999  r"""__getitem__(BoundingBox6D self, unsigned int index) -> Vector6D"""
4000  return _IMP_algebra.BoundingBox6D___getitem__(self, index)
4001 
4002  def __iadd__(self, *args):
4003  _IMP_algebra.BoundingBox6D___iadd__(self, *args)
4004  return self
4005 
4006 
4007 
4008  def __len__(self):
4009  r"""__len__(BoundingBox6D self) -> unsigned int"""
4010  return _IMP_algebra.BoundingBox6D___len__(self)
4011 
4012  def __add__(self, *args):
4013  r"""
4014  __add__(BoundingBox6D self, BoundingBox6D o) -> BoundingBox6D
4015  __add__(BoundingBox6D self, Vector6D o) -> BoundingBox6D
4016  __add__(BoundingBox6D self, double o) -> BoundingBox6D
4017  """
4018  return _IMP_algebra.BoundingBox6D___add__(self, *args)
4019 
4020  def _get_as_binary(self):
4021  r"""_get_as_binary(BoundingBox6D self) -> PyObject *"""
4022  return _IMP_algebra.BoundingBox6D__get_as_binary(self)
4023 
4024  def _set_from_binary(self, p):
4025  r"""_set_from_binary(BoundingBox6D self, PyObject * p)"""
4026  return _IMP_algebra.BoundingBox6D__set_from_binary(self, p)
4027 
4028  def __getstate__(self):
4029  p = self._get_as_binary()
4030  if len(self.__dict__) > 1:
4031  d = self.__dict__.copy()
4032  del d['this']
4033  p = (d, p)
4034  return p
4035 
4036  def __setstate__(self, p):
4037  if not hasattr(self, 'this'):
4038  self.__init__()
4039  if isinstance(p, tuple):
4040  d, p = p
4041  self.__dict__.update(d)
4042  return self._set_from_binary(p)
4043 
4044  __swig_destroy__ = _IMP_algebra.delete_BoundingBox6D
4045 
4046 # Register BoundingBox6D in _IMP_algebra:
4047 _IMP_algebra.BoundingBox6D_swigregister(BoundingBox6D)
4048 class BoundingBoxKD(object):
4049  r"""Proxy of C++ IMP::algebra::BoundingBoxD< -1 > class."""
4050 
4051  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4052 
4053  def get_dimension(self):
4054  r"""get_dimension(BoundingBoxKD self) -> unsigned int"""
4055  return _IMP_algebra.BoundingBoxKD_get_dimension(self)
4056 
4057  def get_corner(self, i):
4058  r"""get_corner(BoundingBoxKD self, unsigned int i) -> VectorKD"""
4059  return _IMP_algebra.BoundingBoxKD_get_corner(self, i)
4060 
4061  def get_contains(self, *args):
4062  r"""
4063  get_contains(BoundingBoxKD self, VectorKD o) -> bool
4064  get_contains(BoundingBoxKD self, BoundingBoxKD bb) -> bool
4065  """
4066  return _IMP_algebra.BoundingBoxKD_get_contains(self, *args)
4067 
4068  def show(self, *args):
4069  r"""show(BoundingBoxKD self, _ostream out=std::cout)"""
4070  return _IMP_algebra.BoundingBoxKD_show(self, *args)
4071 
4072  def __str__(self):
4073  r"""__str__(BoundingBoxKD self) -> std::string"""
4074  return _IMP_algebra.BoundingBoxKD___str__(self)
4075 
4076  def __repr__(self):
4077  r"""__repr__(BoundingBoxKD self) -> std::string"""
4078  return _IMP_algebra.BoundingBoxKD___repr__(self)
4079 
4080  def __cmp__(self, arg2):
4081  r"""__cmp__(BoundingBoxKD self, BoundingBoxKD arg2) -> int"""
4082  return _IMP_algebra.BoundingBoxKD___cmp__(self, arg2)
4083 
4084  def __eq__(self, arg2):
4085  r"""__eq__(BoundingBoxKD self, BoundingBoxKD arg2) -> bool"""
4086  return _IMP_algebra.BoundingBoxKD___eq__(self, arg2)
4087 
4088  def __init__(self, *args):
4089  r"""
4090  __init__(BoundingBoxKD self, unsigned int d) -> BoundingBoxKD
4091  __init__(BoundingBoxKD self, VectorKD lb, VectorKD ub) -> BoundingBoxKD
4092  __init__(BoundingBoxKD self, VectorKD v) -> BoundingBoxKD
4093  __init__(BoundingBoxKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & points) -> BoundingBoxKD
4094  __init__(BoundingBoxKD self) -> BoundingBoxKD
4095  """
4096  _IMP_algebra.BoundingBoxKD_swiginit(self, _IMP_algebra.new_BoundingBoxKD(*args))
4097 
4098  def __getitem__(self, index):
4099  r"""__getitem__(BoundingBoxKD self, unsigned int index) -> VectorKD"""
4100  return _IMP_algebra.BoundingBoxKD___getitem__(self, index)
4101 
4102  def __iadd__(self, *args):
4103  _IMP_algebra.BoundingBoxKD___iadd__(self, *args)
4104  return self
4105 
4106 
4107 
4108  def __len__(self):
4109  r"""__len__(BoundingBoxKD self) -> unsigned int"""
4110  return _IMP_algebra.BoundingBoxKD___len__(self)
4111 
4112  def __add__(self, *args):
4113  r"""
4114  __add__(BoundingBoxKD self, BoundingBoxKD o) -> BoundingBoxKD
4115  __add__(BoundingBoxKD self, VectorKD o) -> BoundingBoxKD
4116  __add__(BoundingBoxKD self, double o) -> BoundingBoxKD
4117  """
4118  return _IMP_algebra.BoundingBoxKD___add__(self, *args)
4119 
4120  def _get_as_binary(self):
4121  r"""_get_as_binary(BoundingBoxKD self) -> PyObject *"""
4122  return _IMP_algebra.BoundingBoxKD__get_as_binary(self)
4123 
4124  def _set_from_binary(self, p):
4125  r"""_set_from_binary(BoundingBoxKD self, PyObject * p)"""
4126  return _IMP_algebra.BoundingBoxKD__set_from_binary(self, p)
4127 
4128  def __getstate__(self):
4129  p = self._get_as_binary()
4130  if len(self.__dict__) > 1:
4131  d = self.__dict__.copy()
4132  del d['this']
4133  p = (d, p)
4134  return p
4135 
4136  def __setstate__(self, p):
4137  if not hasattr(self, 'this'):
4138  self.__init__()
4139  if isinstance(p, tuple):
4140  d, p = p
4141  self.__dict__.update(d)
4142  return self._set_from_binary(p)
4143 
4144  __swig_destroy__ = _IMP_algebra.delete_BoundingBoxKD
4145 
4146 # Register BoundingBoxKD in _IMP_algebra:
4147 _IMP_algebra.BoundingBoxKD_swigregister(BoundingBoxKD)
4148 class Sphere1D(_GeometricPrimitive1D):
4149  r"""Proxy of C++ IMP::algebra::SphereD< 1 > class."""
4150 
4151  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4152 
4153  def __init__(self, *args):
4154  r"""
4155  __init__(Sphere1D self) -> Sphere1D
4156  __init__(Sphere1D self, Vector1D center, double radius) -> Sphere1D
4157  """
4158  _IMP_algebra.Sphere1D_swiginit(self, _IMP_algebra.new_Sphere1D(*args))
4159 
4160  def get_radius(self):
4161  r"""get_radius(Sphere1D self) -> double"""
4162  return _IMP_algebra.Sphere1D_get_radius(self)
4163 
4164  def get_center(self):
4165  r"""get_center(Sphere1D self) -> Vector1D"""
4166  return _IMP_algebra.Sphere1D_get_center(self)
4167 
4168  def get_contains(self, *args):
4169  r"""
4170  get_contains(Sphere1D self, Sphere1D o) -> bool
4171  get_contains(Sphere1D self, Vector1D p) -> bool
4172  """
4173  return _IMP_algebra.Sphere1D_get_contains(self, *args)
4174 
4175  def show(self, *args):
4176  r"""show(Sphere1D self, _ostream out=std::cout)"""
4177  return _IMP_algebra.Sphere1D_show(self, *args)
4178 
4179  def get_dimension(self):
4180  r"""get_dimension(Sphere1D self) -> unsigned int"""
4181  return _IMP_algebra.Sphere1D_get_dimension(self)
4182 
4183  def __str__(self):
4184  r"""__str__(Sphere1D self) -> std::string"""
4185  return _IMP_algebra.Sphere1D___str__(self)
4186 
4187  def __repr__(self):
4188  r"""__repr__(Sphere1D self) -> std::string"""
4189  return _IMP_algebra.Sphere1D___repr__(self)
4190 
4191  def __cmp__(self, arg2):
4192  r"""__cmp__(Sphere1D self, Sphere1D arg2) -> int"""
4193  return _IMP_algebra.Sphere1D___cmp__(self, arg2)
4194 
4195  def __eq__(self, arg2):
4196  r"""__eq__(Sphere1D self, Sphere1D arg2) -> bool"""
4197  return _IMP_algebra.Sphere1D___eq__(self, arg2)
4198 
4199  def _get_as_binary(self):
4200  r"""_get_as_binary(Sphere1D self) -> PyObject *"""
4201  return _IMP_algebra.Sphere1D__get_as_binary(self)
4202 
4203  def _set_from_binary(self, p):
4204  r"""_set_from_binary(Sphere1D self, PyObject * p)"""
4205  return _IMP_algebra.Sphere1D__set_from_binary(self, p)
4206 
4207  def __getstate__(self):
4208  p = self._get_as_binary()
4209  if len(self.__dict__) > 1:
4210  d = self.__dict__.copy()
4211  del d['this']
4212  p = (d, p)
4213  return p
4214 
4215  def __setstate__(self, p):
4216  if not hasattr(self, 'this'):
4217  self.__init__()
4218  if isinstance(p, tuple):
4219  d, p = p
4220  self.__dict__.update(d)
4221  return self._set_from_binary(p)
4222 
4223  __swig_destroy__ = _IMP_algebra.delete_Sphere1D
4224 
4225 # Register Sphere1D in _IMP_algebra:
4226 _IMP_algebra.Sphere1D_swigregister(Sphere1D)
4227 class Sphere2D(_GeometricPrimitive2D):
4228  r"""Proxy of C++ IMP::algebra::SphereD< 2 > class."""
4229 
4230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4231 
4232  def __init__(self, *args):
4233  r"""
4234  __init__(Sphere2D self) -> Sphere2D
4235  __init__(Sphere2D self, Vector2D center, double radius) -> Sphere2D
4236  """
4237  _IMP_algebra.Sphere2D_swiginit(self, _IMP_algebra.new_Sphere2D(*args))
4238 
4239  def get_radius(self):
4240  r"""get_radius(Sphere2D self) -> double"""
4241  return _IMP_algebra.Sphere2D_get_radius(self)
4242 
4243  def get_center(self):
4244  r"""get_center(Sphere2D self) -> Vector2D"""
4245  return _IMP_algebra.Sphere2D_get_center(self)
4246 
4247  def get_contains(self, *args):
4248  r"""
4249  get_contains(Sphere2D self, Sphere2D o) -> bool
4250  get_contains(Sphere2D self, Vector2D p) -> bool
4251  """
4252  return _IMP_algebra.Sphere2D_get_contains(self, *args)
4253 
4254  def show(self, *args):
4255  r"""show(Sphere2D self, _ostream out=std::cout)"""
4256  return _IMP_algebra.Sphere2D_show(self, *args)
4257 
4258  def get_dimension(self):
4259  r"""get_dimension(Sphere2D self) -> unsigned int"""
4260  return _IMP_algebra.Sphere2D_get_dimension(self)
4261 
4262  def __str__(self):
4263  r"""__str__(Sphere2D self) -> std::string"""
4264  return _IMP_algebra.Sphere2D___str__(self)
4265 
4266  def __repr__(self):
4267  r"""__repr__(Sphere2D self) -> std::string"""
4268  return _IMP_algebra.Sphere2D___repr__(self)
4269 
4270  def __cmp__(self, arg2):
4271  r"""__cmp__(Sphere2D self, Sphere2D arg2) -> int"""
4272  return _IMP_algebra.Sphere2D___cmp__(self, arg2)
4273 
4274  def __eq__(self, arg2):
4275  r"""__eq__(Sphere2D self, Sphere2D arg2) -> bool"""
4276  return _IMP_algebra.Sphere2D___eq__(self, arg2)
4277 
4278  def _get_as_binary(self):
4279  r"""_get_as_binary(Sphere2D self) -> PyObject *"""
4280  return _IMP_algebra.Sphere2D__get_as_binary(self)
4281 
4282  def _set_from_binary(self, p):
4283  r"""_set_from_binary(Sphere2D self, PyObject * p)"""
4284  return _IMP_algebra.Sphere2D__set_from_binary(self, p)
4285 
4286  def __getstate__(self):
4287  p = self._get_as_binary()
4288  if len(self.__dict__) > 1:
4289  d = self.__dict__.copy()
4290  del d['this']
4291  p = (d, p)
4292  return p
4293 
4294  def __setstate__(self, p):
4295  if not hasattr(self, 'this'):
4296  self.__init__()
4297  if isinstance(p, tuple):
4298  d, p = p
4299  self.__dict__.update(d)
4300  return self._set_from_binary(p)
4301 
4302  __swig_destroy__ = _IMP_algebra.delete_Sphere2D
4303 
4304 # Register Sphere2D in _IMP_algebra:
4305 _IMP_algebra.Sphere2D_swigregister(Sphere2D)
4306 class Sphere3D(_GeometricPrimitive3D):
4307  r"""Proxy of C++ IMP::algebra::SphereD< 3 > class."""
4308 
4309  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4310 
4311  def __init__(self, *args):
4312  r"""
4313  __init__(Sphere3D self) -> Sphere3D
4314  __init__(Sphere3D self, Vector3D center, double radius) -> Sphere3D
4315  """
4316  _IMP_algebra.Sphere3D_swiginit(self, _IMP_algebra.new_Sphere3D(*args))
4317 
4318  def get_radius(self):
4319  r"""get_radius(Sphere3D self) -> double"""
4320  return _IMP_algebra.Sphere3D_get_radius(self)
4321 
4322  def get_center(self):
4323  r"""get_center(Sphere3D self) -> Vector3D"""
4324  return _IMP_algebra.Sphere3D_get_center(self)
4325 
4326  def get_contains(self, *args):
4327  r"""
4328  get_contains(Sphere3D self, Sphere3D o) -> bool
4329  get_contains(Sphere3D self, Vector3D p) -> bool
4330  """
4331  return _IMP_algebra.Sphere3D_get_contains(self, *args)
4332 
4333  def show(self, *args):
4334  r"""show(Sphere3D self, _ostream out=std::cout)"""
4335  return _IMP_algebra.Sphere3D_show(self, *args)
4336 
4337  def get_dimension(self):
4338  r"""get_dimension(Sphere3D self) -> unsigned int"""
4339  return _IMP_algebra.Sphere3D_get_dimension(self)
4340 
4341  def __str__(self):
4342  r"""__str__(Sphere3D self) -> std::string"""
4343  return _IMP_algebra.Sphere3D___str__(self)
4344 
4345  def __repr__(self):
4346  r"""__repr__(Sphere3D self) -> std::string"""
4347  return _IMP_algebra.Sphere3D___repr__(self)
4348 
4349  def __cmp__(self, arg2):
4350  r"""__cmp__(Sphere3D self, Sphere3D arg2) -> int"""
4351  return _IMP_algebra.Sphere3D___cmp__(self, arg2)
4352 
4353  def __eq__(self, arg2):
4354  r"""__eq__(Sphere3D self, Sphere3D arg2) -> bool"""
4355  return _IMP_algebra.Sphere3D___eq__(self, arg2)
4356 
4357  def _get_as_binary(self):
4358  r"""_get_as_binary(Sphere3D self) -> PyObject *"""
4359  return _IMP_algebra.Sphere3D__get_as_binary(self)
4360 
4361  def _set_from_binary(self, p):
4362  r"""_set_from_binary(Sphere3D self, PyObject * p)"""
4363  return _IMP_algebra.Sphere3D__set_from_binary(self, p)
4364 
4365  def __getstate__(self):
4366  p = self._get_as_binary()
4367  if len(self.__dict__) > 1:
4368  d = self.__dict__.copy()
4369  del d['this']
4370  p = (d, p)
4371  return p
4372 
4373  def __setstate__(self, p):
4374  if not hasattr(self, 'this'):
4375  self.__init__()
4376  if isinstance(p, tuple):
4377  d, p = p
4378  self.__dict__.update(d)
4379  return self._set_from_binary(p)
4380 
4381  __swig_destroy__ = _IMP_algebra.delete_Sphere3D
4382 
4383 # Register Sphere3D in _IMP_algebra:
4384 _IMP_algebra.Sphere3D_swigregister(Sphere3D)
4385 class Sphere4D(_GeometricPrimitive4D):
4386  r"""Proxy of C++ IMP::algebra::SphereD< 4 > class."""
4387 
4388  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4389 
4390  def __init__(self, *args):
4391  r"""
4392  __init__(Sphere4D self) -> Sphere4D
4393  __init__(Sphere4D self, Vector4D center, double radius) -> Sphere4D
4394  """
4395  _IMP_algebra.Sphere4D_swiginit(self, _IMP_algebra.new_Sphere4D(*args))
4396 
4397  def get_radius(self):
4398  r"""get_radius(Sphere4D self) -> double"""
4399  return _IMP_algebra.Sphere4D_get_radius(self)
4400 
4401  def get_center(self):
4402  r"""get_center(Sphere4D self) -> Vector4D"""
4403  return _IMP_algebra.Sphere4D_get_center(self)
4404 
4405  def get_contains(self, *args):
4406  r"""
4407  get_contains(Sphere4D self, Sphere4D o) -> bool
4408  get_contains(Sphere4D self, Vector4D p) -> bool
4409  """
4410  return _IMP_algebra.Sphere4D_get_contains(self, *args)
4411 
4412  def show(self, *args):
4413  r"""show(Sphere4D self, _ostream out=std::cout)"""
4414  return _IMP_algebra.Sphere4D_show(self, *args)
4415 
4416  def get_dimension(self):
4417  r"""get_dimension(Sphere4D self) -> unsigned int"""
4418  return _IMP_algebra.Sphere4D_get_dimension(self)
4419 
4420  def __str__(self):
4421  r"""__str__(Sphere4D self) -> std::string"""
4422  return _IMP_algebra.Sphere4D___str__(self)
4423 
4424  def __repr__(self):
4425  r"""__repr__(Sphere4D self) -> std::string"""
4426  return _IMP_algebra.Sphere4D___repr__(self)
4427 
4428  def __cmp__(self, arg2):
4429  r"""__cmp__(Sphere4D self, Sphere4D arg2) -> int"""
4430  return _IMP_algebra.Sphere4D___cmp__(self, arg2)
4431 
4432  def __eq__(self, arg2):
4433  r"""__eq__(Sphere4D self, Sphere4D arg2) -> bool"""
4434  return _IMP_algebra.Sphere4D___eq__(self, arg2)
4435 
4436  def _get_as_binary(self):
4437  r"""_get_as_binary(Sphere4D self) -> PyObject *"""
4438  return _IMP_algebra.Sphere4D__get_as_binary(self)
4439 
4440  def _set_from_binary(self, p):
4441  r"""_set_from_binary(Sphere4D self, PyObject * p)"""
4442  return _IMP_algebra.Sphere4D__set_from_binary(self, p)
4443 
4444  def __getstate__(self):
4445  p = self._get_as_binary()
4446  if len(self.__dict__) > 1:
4447  d = self.__dict__.copy()
4448  del d['this']
4449  p = (d, p)
4450  return p
4451 
4452  def __setstate__(self, p):
4453  if not hasattr(self, 'this'):
4454  self.__init__()
4455  if isinstance(p, tuple):
4456  d, p = p
4457  self.__dict__.update(d)
4458  return self._set_from_binary(p)
4459 
4460  __swig_destroy__ = _IMP_algebra.delete_Sphere4D
4461 
4462 # Register Sphere4D in _IMP_algebra:
4463 _IMP_algebra.Sphere4D_swigregister(Sphere4D)
4464 class Sphere5D(_GeometricPrimitive5D):
4465  r"""Proxy of C++ IMP::algebra::SphereD< 5 > class."""
4466 
4467  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4468 
4469  def __init__(self, *args):
4470  r"""
4471  __init__(Sphere5D self) -> Sphere5D
4472  __init__(Sphere5D self, Vector5D center, double radius) -> Sphere5D
4473  """
4474  _IMP_algebra.Sphere5D_swiginit(self, _IMP_algebra.new_Sphere5D(*args))
4475 
4476  def get_radius(self):
4477  r"""get_radius(Sphere5D self) -> double"""
4478  return _IMP_algebra.Sphere5D_get_radius(self)
4479 
4480  def get_center(self):
4481  r"""get_center(Sphere5D self) -> Vector5D"""
4482  return _IMP_algebra.Sphere5D_get_center(self)
4483 
4484  def get_contains(self, *args):
4485  r"""
4486  get_contains(Sphere5D self, Sphere5D o) -> bool
4487  get_contains(Sphere5D self, Vector5D p) -> bool
4488  """
4489  return _IMP_algebra.Sphere5D_get_contains(self, *args)
4490 
4491  def show(self, *args):
4492  r"""show(Sphere5D self, _ostream out=std::cout)"""
4493  return _IMP_algebra.Sphere5D_show(self, *args)
4494 
4495  def get_dimension(self):
4496  r"""get_dimension(Sphere5D self) -> unsigned int"""
4497  return _IMP_algebra.Sphere5D_get_dimension(self)
4498 
4499  def __str__(self):
4500  r"""__str__(Sphere5D self) -> std::string"""
4501  return _IMP_algebra.Sphere5D___str__(self)
4502 
4503  def __repr__(self):
4504  r"""__repr__(Sphere5D self) -> std::string"""
4505  return _IMP_algebra.Sphere5D___repr__(self)
4506 
4507  def __cmp__(self, arg2):
4508  r"""__cmp__(Sphere5D self, Sphere5D arg2) -> int"""
4509  return _IMP_algebra.Sphere5D___cmp__(self, arg2)
4510 
4511  def __eq__(self, arg2):
4512  r"""__eq__(Sphere5D self, Sphere5D arg2) -> bool"""
4513  return _IMP_algebra.Sphere5D___eq__(self, arg2)
4514 
4515  def _get_as_binary(self):
4516  r"""_get_as_binary(Sphere5D self) -> PyObject *"""
4517  return _IMP_algebra.Sphere5D__get_as_binary(self)
4518 
4519  def _set_from_binary(self, p):
4520  r"""_set_from_binary(Sphere5D self, PyObject * p)"""
4521  return _IMP_algebra.Sphere5D__set_from_binary(self, p)
4522 
4523  def __getstate__(self):
4524  p = self._get_as_binary()
4525  if len(self.__dict__) > 1:
4526  d = self.__dict__.copy()
4527  del d['this']
4528  p = (d, p)
4529  return p
4530 
4531  def __setstate__(self, p):
4532  if not hasattr(self, 'this'):
4533  self.__init__()
4534  if isinstance(p, tuple):
4535  d, p = p
4536  self.__dict__.update(d)
4537  return self._set_from_binary(p)
4538 
4539  __swig_destroy__ = _IMP_algebra.delete_Sphere5D
4540 
4541 # Register Sphere5D in _IMP_algebra:
4542 _IMP_algebra.Sphere5D_swigregister(Sphere5D)
4543 class Sphere6D(_GeometricPrimitive6D):
4544  r"""Proxy of C++ IMP::algebra::SphereD< 6 > class."""
4545 
4546  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4547 
4548  def __init__(self, *args):
4549  r"""
4550  __init__(Sphere6D self) -> Sphere6D
4551  __init__(Sphere6D self, Vector6D center, double radius) -> Sphere6D
4552  """
4553  _IMP_algebra.Sphere6D_swiginit(self, _IMP_algebra.new_Sphere6D(*args))
4554 
4555  def get_radius(self):
4556  r"""get_radius(Sphere6D self) -> double"""
4557  return _IMP_algebra.Sphere6D_get_radius(self)
4558 
4559  def get_center(self):
4560  r"""get_center(Sphere6D self) -> Vector6D"""
4561  return _IMP_algebra.Sphere6D_get_center(self)
4562 
4563  def get_contains(self, *args):
4564  r"""
4565  get_contains(Sphere6D self, Sphere6D o) -> bool
4566  get_contains(Sphere6D self, Vector6D p) -> bool
4567  """
4568  return _IMP_algebra.Sphere6D_get_contains(self, *args)
4569 
4570  def show(self, *args):
4571  r"""show(Sphere6D self, _ostream out=std::cout)"""
4572  return _IMP_algebra.Sphere6D_show(self, *args)
4573 
4574  def get_dimension(self):
4575  r"""get_dimension(Sphere6D self) -> unsigned int"""
4576  return _IMP_algebra.Sphere6D_get_dimension(self)
4577 
4578  def __str__(self):
4579  r"""__str__(Sphere6D self) -> std::string"""
4580  return _IMP_algebra.Sphere6D___str__(self)
4581 
4582  def __repr__(self):
4583  r"""__repr__(Sphere6D self) -> std::string"""
4584  return _IMP_algebra.Sphere6D___repr__(self)
4585 
4586  def __cmp__(self, arg2):
4587  r"""__cmp__(Sphere6D self, Sphere6D arg2) -> int"""
4588  return _IMP_algebra.Sphere6D___cmp__(self, arg2)
4589 
4590  def __eq__(self, arg2):
4591  r"""__eq__(Sphere6D self, Sphere6D arg2) -> bool"""
4592  return _IMP_algebra.Sphere6D___eq__(self, arg2)
4593 
4594  def _get_as_binary(self):
4595  r"""_get_as_binary(Sphere6D self) -> PyObject *"""
4596  return _IMP_algebra.Sphere6D__get_as_binary(self)
4597 
4598  def _set_from_binary(self, p):
4599  r"""_set_from_binary(Sphere6D self, PyObject * p)"""
4600  return _IMP_algebra.Sphere6D__set_from_binary(self, p)
4601 
4602  def __getstate__(self):
4603  p = self._get_as_binary()
4604  if len(self.__dict__) > 1:
4605  d = self.__dict__.copy()
4606  del d['this']
4607  p = (d, p)
4608  return p
4609 
4610  def __setstate__(self, p):
4611  if not hasattr(self, 'this'):
4612  self.__init__()
4613  if isinstance(p, tuple):
4614  d, p = p
4615  self.__dict__.update(d)
4616  return self._set_from_binary(p)
4617 
4618  __swig_destroy__ = _IMP_algebra.delete_Sphere6D
4619 
4620 # Register Sphere6D in _IMP_algebra:
4621 _IMP_algebra.Sphere6D_swigregister(Sphere6D)
4622 class SphereKD(_GeometricPrimitiveKD):
4623  r"""Proxy of C++ IMP::algebra::SphereD< -1 > class."""
4624 
4625  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4626 
4627  def __init__(self, *args):
4628  r"""
4629  __init__(SphereKD self) -> SphereKD
4630  __init__(SphereKD self, VectorKD center, double radius) -> SphereKD
4631  """
4632  _IMP_algebra.SphereKD_swiginit(self, _IMP_algebra.new_SphereKD(*args))
4633 
4634  def get_radius(self):
4635  r"""get_radius(SphereKD self) -> double"""
4636  return _IMP_algebra.SphereKD_get_radius(self)
4637 
4638  def get_center(self):
4639  r"""get_center(SphereKD self) -> VectorKD"""
4640  return _IMP_algebra.SphereKD_get_center(self)
4641 
4642  def get_contains(self, *args):
4643  r"""
4644  get_contains(SphereKD self, SphereKD o) -> bool
4645  get_contains(SphereKD self, VectorKD p) -> bool
4646  """
4647  return _IMP_algebra.SphereKD_get_contains(self, *args)
4648 
4649  def show(self, *args):
4650  r"""show(SphereKD self, _ostream out=std::cout)"""
4651  return _IMP_algebra.SphereKD_show(self, *args)
4652 
4653  def get_dimension(self):
4654  r"""get_dimension(SphereKD self) -> unsigned int"""
4655  return _IMP_algebra.SphereKD_get_dimension(self)
4656 
4657  def __str__(self):
4658  r"""__str__(SphereKD self) -> std::string"""
4659  return _IMP_algebra.SphereKD___str__(self)
4660 
4661  def __repr__(self):
4662  r"""__repr__(SphereKD self) -> std::string"""
4663  return _IMP_algebra.SphereKD___repr__(self)
4664 
4665  def __cmp__(self, arg2):
4666  r"""__cmp__(SphereKD self, SphereKD arg2) -> int"""
4667  return _IMP_algebra.SphereKD___cmp__(self, arg2)
4668 
4669  def __eq__(self, arg2):
4670  r"""__eq__(SphereKD self, SphereKD arg2) -> bool"""
4671  return _IMP_algebra.SphereKD___eq__(self, arg2)
4672 
4673  def _get_as_binary(self):
4674  r"""_get_as_binary(SphereKD self) -> PyObject *"""
4675  return _IMP_algebra.SphereKD__get_as_binary(self)
4676 
4677  def _set_from_binary(self, p):
4678  r"""_set_from_binary(SphereKD self, PyObject * p)"""
4679  return _IMP_algebra.SphereKD__set_from_binary(self, p)
4680 
4681  def __getstate__(self):
4682  p = self._get_as_binary()
4683  if len(self.__dict__) > 1:
4684  d = self.__dict__.copy()
4685  del d['this']
4686  p = (d, p)
4687  return p
4688 
4689  def __setstate__(self, p):
4690  if not hasattr(self, 'this'):
4691  self.__init__()
4692  if isinstance(p, tuple):
4693  d, p = p
4694  self.__dict__.update(d)
4695  return self._set_from_binary(p)
4696 
4697  __swig_destroy__ = _IMP_algebra.delete_SphereKD
4698 
4699 # Register SphereKD in _IMP_algebra:
4700 _IMP_algebra.SphereKD_swigregister(SphereKD)
4701 class UnitSimplex1D(_UnitSimplexBase1D):
4702  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 1 > class."""
4703 
4704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4705 
4706  def __init__(self):
4707  r"""__init__(UnitSimplex1D self) -> UnitSimplex1D"""
4708  _IMP_algebra.UnitSimplex1D_swiginit(self, _IMP_algebra.new_UnitSimplex1D())
4709 
4710  def show(self, *args):
4711  r"""show(UnitSimplex1D self, _ostream out=std::cout)"""
4712  return _IMP_algebra.UnitSimplex1D_show(self, *args)
4713 
4714  def __str__(self):
4715  r"""__str__(UnitSimplex1D self) -> std::string"""
4716  return _IMP_algebra.UnitSimplex1D___str__(self)
4717 
4718  def __repr__(self):
4719  r"""__repr__(UnitSimplex1D self) -> std::string"""
4720  return _IMP_algebra.UnitSimplex1D___repr__(self)
4721 
4722  def __cmp__(self, arg2):
4723  r"""__cmp__(UnitSimplex1D self, UnitSimplex1D arg2) -> int"""
4724  return _IMP_algebra.UnitSimplex1D___cmp__(self, arg2)
4725 
4726  def __eq__(self, arg2):
4727  r"""__eq__(UnitSimplex1D self, UnitSimplex1D arg2) -> bool"""
4728  return _IMP_algebra.UnitSimplex1D___eq__(self, arg2)
4729 
4730  def _get_as_binary(self):
4731  r"""_get_as_binary(UnitSimplex1D self) -> PyObject *"""
4732  return _IMP_algebra.UnitSimplex1D__get_as_binary(self)
4733 
4734  def _set_from_binary(self, p):
4735  r"""_set_from_binary(UnitSimplex1D self, PyObject * p)"""
4736  return _IMP_algebra.UnitSimplex1D__set_from_binary(self, p)
4737 
4738  def __getstate__(self):
4739  p = self._get_as_binary()
4740  if len(self.__dict__) > 1:
4741  d = self.__dict__.copy()
4742  del d['this']
4743  p = (d, p)
4744  return p
4745 
4746  def __setstate__(self, p):
4747  if not hasattr(self, 'this'):
4748  self.__init__()
4749  if isinstance(p, tuple):
4750  d, p = p
4751  self.__dict__.update(d)
4752  return self._set_from_binary(p)
4753 
4754  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex1D
4755 
4756 # Register UnitSimplex1D in _IMP_algebra:
4757 _IMP_algebra.UnitSimplex1D_swigregister(UnitSimplex1D)
4758 class UnitSimplex2D(_UnitSimplexBase2D):
4759  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 2 > class."""
4760 
4761  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4762 
4763  def __init__(self):
4764  r"""__init__(UnitSimplex2D self) -> UnitSimplex2D"""
4765  _IMP_algebra.UnitSimplex2D_swiginit(self, _IMP_algebra.new_UnitSimplex2D())
4766 
4767  def show(self, *args):
4768  r"""show(UnitSimplex2D self, _ostream out=std::cout)"""
4769  return _IMP_algebra.UnitSimplex2D_show(self, *args)
4770 
4771  def __str__(self):
4772  r"""__str__(UnitSimplex2D self) -> std::string"""
4773  return _IMP_algebra.UnitSimplex2D___str__(self)
4774 
4775  def __repr__(self):
4776  r"""__repr__(UnitSimplex2D self) -> std::string"""
4777  return _IMP_algebra.UnitSimplex2D___repr__(self)
4778 
4779  def __cmp__(self, arg2):
4780  r"""__cmp__(UnitSimplex2D self, UnitSimplex2D arg2) -> int"""
4781  return _IMP_algebra.UnitSimplex2D___cmp__(self, arg2)
4782 
4783  def __eq__(self, arg2):
4784  r"""__eq__(UnitSimplex2D self, UnitSimplex2D arg2) -> bool"""
4785  return _IMP_algebra.UnitSimplex2D___eq__(self, arg2)
4786 
4787  def _get_as_binary(self):
4788  r"""_get_as_binary(UnitSimplex2D self) -> PyObject *"""
4789  return _IMP_algebra.UnitSimplex2D__get_as_binary(self)
4790 
4791  def _set_from_binary(self, p):
4792  r"""_set_from_binary(UnitSimplex2D self, PyObject * p)"""
4793  return _IMP_algebra.UnitSimplex2D__set_from_binary(self, p)
4794 
4795  def __getstate__(self):
4796  p = self._get_as_binary()
4797  if len(self.__dict__) > 1:
4798  d = self.__dict__.copy()
4799  del d['this']
4800  p = (d, p)
4801  return p
4802 
4803  def __setstate__(self, p):
4804  if not hasattr(self, 'this'):
4805  self.__init__()
4806  if isinstance(p, tuple):
4807  d, p = p
4808  self.__dict__.update(d)
4809  return self._set_from_binary(p)
4810 
4811  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex2D
4812 
4813 # Register UnitSimplex2D in _IMP_algebra:
4814 _IMP_algebra.UnitSimplex2D_swigregister(UnitSimplex2D)
4815 class UnitSimplex3D(_UnitSimplexBase3D):
4816  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 3 > class."""
4817 
4818  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4819 
4820  def __init__(self):
4821  r"""__init__(UnitSimplex3D self) -> UnitSimplex3D"""
4822  _IMP_algebra.UnitSimplex3D_swiginit(self, _IMP_algebra.new_UnitSimplex3D())
4823 
4824  def show(self, *args):
4825  r"""show(UnitSimplex3D self, _ostream out=std::cout)"""
4826  return _IMP_algebra.UnitSimplex3D_show(self, *args)
4827 
4828  def __str__(self):
4829  r"""__str__(UnitSimplex3D self) -> std::string"""
4830  return _IMP_algebra.UnitSimplex3D___str__(self)
4831 
4832  def __repr__(self):
4833  r"""__repr__(UnitSimplex3D self) -> std::string"""
4834  return _IMP_algebra.UnitSimplex3D___repr__(self)
4835 
4836  def __cmp__(self, arg2):
4837  r"""__cmp__(UnitSimplex3D self, UnitSimplex3D arg2) -> int"""
4838  return _IMP_algebra.UnitSimplex3D___cmp__(self, arg2)
4839 
4840  def __eq__(self, arg2):
4841  r"""__eq__(UnitSimplex3D self, UnitSimplex3D arg2) -> bool"""
4842  return _IMP_algebra.UnitSimplex3D___eq__(self, arg2)
4843 
4844  def _get_as_binary(self):
4845  r"""_get_as_binary(UnitSimplex3D self) -> PyObject *"""
4846  return _IMP_algebra.UnitSimplex3D__get_as_binary(self)
4847 
4848  def _set_from_binary(self, p):
4849  r"""_set_from_binary(UnitSimplex3D self, PyObject * p)"""
4850  return _IMP_algebra.UnitSimplex3D__set_from_binary(self, p)
4851 
4852  def __getstate__(self):
4853  p = self._get_as_binary()
4854  if len(self.__dict__) > 1:
4855  d = self.__dict__.copy()
4856  del d['this']
4857  p = (d, p)
4858  return p
4859 
4860  def __setstate__(self, p):
4861  if not hasattr(self, 'this'):
4862  self.__init__()
4863  if isinstance(p, tuple):
4864  d, p = p
4865  self.__dict__.update(d)
4866  return self._set_from_binary(p)
4867 
4868  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex3D
4869 
4870 # Register UnitSimplex3D in _IMP_algebra:
4871 _IMP_algebra.UnitSimplex3D_swigregister(UnitSimplex3D)
4872 class UnitSimplex4D(_UnitSimplexBase4D):
4873  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 4 > class."""
4874 
4875  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4876 
4877  def __init__(self):
4878  r"""__init__(UnitSimplex4D self) -> UnitSimplex4D"""
4879  _IMP_algebra.UnitSimplex4D_swiginit(self, _IMP_algebra.new_UnitSimplex4D())
4880 
4881  def show(self, *args):
4882  r"""show(UnitSimplex4D self, _ostream out=std::cout)"""
4883  return _IMP_algebra.UnitSimplex4D_show(self, *args)
4884 
4885  def __str__(self):
4886  r"""__str__(UnitSimplex4D self) -> std::string"""
4887  return _IMP_algebra.UnitSimplex4D___str__(self)
4888 
4889  def __repr__(self):
4890  r"""__repr__(UnitSimplex4D self) -> std::string"""
4891  return _IMP_algebra.UnitSimplex4D___repr__(self)
4892 
4893  def __cmp__(self, arg2):
4894  r"""__cmp__(UnitSimplex4D self, UnitSimplex4D arg2) -> int"""
4895  return _IMP_algebra.UnitSimplex4D___cmp__(self, arg2)
4896 
4897  def __eq__(self, arg2):
4898  r"""__eq__(UnitSimplex4D self, UnitSimplex4D arg2) -> bool"""
4899  return _IMP_algebra.UnitSimplex4D___eq__(self, arg2)
4900 
4901  def _get_as_binary(self):
4902  r"""_get_as_binary(UnitSimplex4D self) -> PyObject *"""
4903  return _IMP_algebra.UnitSimplex4D__get_as_binary(self)
4904 
4905  def _set_from_binary(self, p):
4906  r"""_set_from_binary(UnitSimplex4D self, PyObject * p)"""
4907  return _IMP_algebra.UnitSimplex4D__set_from_binary(self, p)
4908 
4909  def __getstate__(self):
4910  p = self._get_as_binary()
4911  if len(self.__dict__) > 1:
4912  d = self.__dict__.copy()
4913  del d['this']
4914  p = (d, p)
4915  return p
4916 
4917  def __setstate__(self, p):
4918  if not hasattr(self, 'this'):
4919  self.__init__()
4920  if isinstance(p, tuple):
4921  d, p = p
4922  self.__dict__.update(d)
4923  return self._set_from_binary(p)
4924 
4925  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex4D
4926 
4927 # Register UnitSimplex4D in _IMP_algebra:
4928 _IMP_algebra.UnitSimplex4D_swigregister(UnitSimplex4D)
4929 class UnitSimplex5D(_UnitSimplexBase5D):
4930  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 5 > class."""
4931 
4932  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4933 
4934  def __init__(self):
4935  r"""__init__(UnitSimplex5D self) -> UnitSimplex5D"""
4936  _IMP_algebra.UnitSimplex5D_swiginit(self, _IMP_algebra.new_UnitSimplex5D())
4937 
4938  def show(self, *args):
4939  r"""show(UnitSimplex5D self, _ostream out=std::cout)"""
4940  return _IMP_algebra.UnitSimplex5D_show(self, *args)
4941 
4942  def __str__(self):
4943  r"""__str__(UnitSimplex5D self) -> std::string"""
4944  return _IMP_algebra.UnitSimplex5D___str__(self)
4945 
4946  def __repr__(self):
4947  r"""__repr__(UnitSimplex5D self) -> std::string"""
4948  return _IMP_algebra.UnitSimplex5D___repr__(self)
4949 
4950  def __cmp__(self, arg2):
4951  r"""__cmp__(UnitSimplex5D self, UnitSimplex5D arg2) -> int"""
4952  return _IMP_algebra.UnitSimplex5D___cmp__(self, arg2)
4953 
4954  def __eq__(self, arg2):
4955  r"""__eq__(UnitSimplex5D self, UnitSimplex5D arg2) -> bool"""
4956  return _IMP_algebra.UnitSimplex5D___eq__(self, arg2)
4957 
4958  def _get_as_binary(self):
4959  r"""_get_as_binary(UnitSimplex5D self) -> PyObject *"""
4960  return _IMP_algebra.UnitSimplex5D__get_as_binary(self)
4961 
4962  def _set_from_binary(self, p):
4963  r"""_set_from_binary(UnitSimplex5D self, PyObject * p)"""
4964  return _IMP_algebra.UnitSimplex5D__set_from_binary(self, p)
4965 
4966  def __getstate__(self):
4967  p = self._get_as_binary()
4968  if len(self.__dict__) > 1:
4969  d = self.__dict__.copy()
4970  del d['this']
4971  p = (d, p)
4972  return p
4973 
4974  def __setstate__(self, p):
4975  if not hasattr(self, 'this'):
4976  self.__init__()
4977  if isinstance(p, tuple):
4978  d, p = p
4979  self.__dict__.update(d)
4980  return self._set_from_binary(p)
4981 
4982  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex5D
4983 
4984 # Register UnitSimplex5D in _IMP_algebra:
4985 _IMP_algebra.UnitSimplex5D_swigregister(UnitSimplex5D)
4986 class UnitSimplex6D(_UnitSimplexBase6D):
4987  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 6 > class."""
4988 
4989  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4990 
4991  def __init__(self):
4992  r"""__init__(UnitSimplex6D self) -> UnitSimplex6D"""
4993  _IMP_algebra.UnitSimplex6D_swiginit(self, _IMP_algebra.new_UnitSimplex6D())
4994 
4995  def show(self, *args):
4996  r"""show(UnitSimplex6D self, _ostream out=std::cout)"""
4997  return _IMP_algebra.UnitSimplex6D_show(self, *args)
4998 
4999  def __str__(self):
5000  r"""__str__(UnitSimplex6D self) -> std::string"""
5001  return _IMP_algebra.UnitSimplex6D___str__(self)
5002 
5003  def __repr__(self):
5004  r"""__repr__(UnitSimplex6D self) -> std::string"""
5005  return _IMP_algebra.UnitSimplex6D___repr__(self)
5006 
5007  def __cmp__(self, arg2):
5008  r"""__cmp__(UnitSimplex6D self, UnitSimplex6D arg2) -> int"""
5009  return _IMP_algebra.UnitSimplex6D___cmp__(self, arg2)
5010 
5011  def __eq__(self, arg2):
5012  r"""__eq__(UnitSimplex6D self, UnitSimplex6D arg2) -> bool"""
5013  return _IMP_algebra.UnitSimplex6D___eq__(self, arg2)
5014 
5015  def _get_as_binary(self):
5016  r"""_get_as_binary(UnitSimplex6D self) -> PyObject *"""
5017  return _IMP_algebra.UnitSimplex6D__get_as_binary(self)
5018 
5019  def _set_from_binary(self, p):
5020  r"""_set_from_binary(UnitSimplex6D self, PyObject * p)"""
5021  return _IMP_algebra.UnitSimplex6D__set_from_binary(self, p)
5022 
5023  def __getstate__(self):
5024  p = self._get_as_binary()
5025  if len(self.__dict__) > 1:
5026  d = self.__dict__.copy()
5027  del d['this']
5028  p = (d, p)
5029  return p
5030 
5031  def __setstate__(self, p):
5032  if not hasattr(self, 'this'):
5033  self.__init__()
5034  if isinstance(p, tuple):
5035  d, p = p
5036  self.__dict__.update(d)
5037  return self._set_from_binary(p)
5038 
5039  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex6D
5040 
5041 # Register UnitSimplex6D in _IMP_algebra:
5042 _IMP_algebra.UnitSimplex6D_swigregister(UnitSimplex6D)
5043 class UnitSimplexKD(_UnitSimplexBaseKD):
5044  r"""Proxy of C++ IMP::algebra::UnitSimplexD< -1 > class."""
5045 
5046  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5047  __repr__ = _swig_repr
5048 
5049  def __init__(self, d=1):
5050  r"""__init__(UnitSimplexKD self, int d=1) -> UnitSimplexKD"""
5051  _IMP_algebra.UnitSimplexKD_swiginit(self, _IMP_algebra.new_UnitSimplexKD(d))
5052 
5053  def show(self, *args):
5054  r"""show(UnitSimplexKD self, _ostream out=std::cout)"""
5055  return _IMP_algebra.UnitSimplexKD_show(self, *args)
5056 
5057  def _get_as_binary(self):
5058  r"""_get_as_binary(UnitSimplexKD self) -> PyObject *"""
5059  return _IMP_algebra.UnitSimplexKD__get_as_binary(self)
5060 
5061  def _set_from_binary(self, p):
5062  r"""_set_from_binary(UnitSimplexKD self, PyObject * p)"""
5063  return _IMP_algebra.UnitSimplexKD__set_from_binary(self, p)
5064 
5065  def __getstate__(self):
5066  p = self._get_as_binary()
5067  if len(self.__dict__) > 1:
5068  d = self.__dict__.copy()
5069  del d['this']
5070  p = (d, p)
5071  return p
5072 
5073  def __setstate__(self, p):
5074  if not hasattr(self, 'this'):
5075  self.__init__()
5076  if isinstance(p, tuple):
5077  d, p = p
5078  self.__dict__.update(d)
5079  return self._set_from_binary(p)
5080 
5081  __swig_destroy__ = _IMP_algebra.delete_UnitSimplexKD
5082 
5083 # Register UnitSimplexKD in _IMP_algebra:
5084 _IMP_algebra.UnitSimplexKD_swigregister(UnitSimplexKD)
5085 class ReferenceFrame3D(object):
5086  r"""Proxy of C++ IMP::algebra::ReferenceFrame3D class."""
5087 
5088  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5089 
5090  def __init__(self, *args):
5091  r"""
5092  __init__(ReferenceFrame3D self, ReferenceFrame3D arg2) -> ReferenceFrame3D
5093  __init__(ReferenceFrame3D self) -> ReferenceFrame3D
5094  __init__(ReferenceFrame3D self, Transformation3D tr) -> ReferenceFrame3D
5095  """
5096  _IMP_algebra.ReferenceFrame3D_swiginit(self, _IMP_algebra.new_ReferenceFrame3D(*args))
5097  __swig_destroy__ = _IMP_algebra.delete_ReferenceFrame3D
5098 
5099  def get_transformation_to(self):
5100  r"""get_transformation_to(ReferenceFrame3D self) -> Transformation3D"""
5101  return _IMP_algebra.ReferenceFrame3D_get_transformation_to(self)
5102 
5103  def get_transformation_from(self):
5104  r"""get_transformation_from(ReferenceFrame3D self) -> Transformation3D"""
5105  return _IMP_algebra.ReferenceFrame3D_get_transformation_from(self)
5106 
5107  def get_global_coordinates(self, v):
5108  r"""get_global_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5109  return _IMP_algebra.ReferenceFrame3D_get_global_coordinates(self, v)
5110 
5111  def get_local_coordinates(self, v):
5112  r"""get_local_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5113  return _IMP_algebra.ReferenceFrame3D_get_local_coordinates(self, v)
5114 
5115  def get_global_reference_frame(self, v):
5116  r"""get_global_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5117  return _IMP_algebra.ReferenceFrame3D_get_global_reference_frame(self, v)
5118 
5119  def get_local_reference_frame(self, v):
5120  r"""get_local_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5121  return _IMP_algebra.ReferenceFrame3D_get_local_reference_frame(self, v)
5122 
5123  def show(self, *args):
5124  r"""show(ReferenceFrame3D self, _ostream out=std::cout)"""
5125  return _IMP_algebra.ReferenceFrame3D_show(self, *args)
5126 
5127  def __str__(self):
5128  r"""__str__(ReferenceFrame3D self) -> std::string"""
5129  return _IMP_algebra.ReferenceFrame3D___str__(self)
5130 
5131  def __repr__(self):
5132  r"""__repr__(ReferenceFrame3D self) -> std::string"""
5133  return _IMP_algebra.ReferenceFrame3D___repr__(self)
5134 
5135  def _get_as_binary(self):
5136  r"""_get_as_binary(ReferenceFrame3D self) -> PyObject *"""
5137  return _IMP_algebra.ReferenceFrame3D__get_as_binary(self)
5138 
5139  def _set_from_binary(self, p):
5140  r"""_set_from_binary(ReferenceFrame3D self, PyObject * p)"""
5141  return _IMP_algebra.ReferenceFrame3D__set_from_binary(self, p)
5142 
5143  def __getstate__(self):
5144  p = self._get_as_binary()
5145  if len(self.__dict__) > 1:
5146  d = self.__dict__.copy()
5147  del d['this']
5148  p = (d, p)
5149  return p
5150 
5151  def __setstate__(self, p):
5152  if not hasattr(self, 'this'):
5153  self.__init__()
5154  if isinstance(p, tuple):
5155  d, p = p
5156  self.__dict__.update(d)
5157  return self._set_from_binary(p)
5158 
5159 
5160 # Register ReferenceFrame3D in _IMP_algebra:
5161 _IMP_algebra.ReferenceFrame3D_swigregister(ReferenceFrame3D)
5162 
5163 def get_transformed(*args):
5164  r"""
5165  get_transformed(BoundingBox3D bb, Transformation3D tr) -> BoundingBox3D
5166  get_transformed(Line3D l, Transformation3D tr) -> Line3D
5167  get_transformed(ReferenceFrame3D rf, Transformation3D tr) -> ReferenceFrame3D
5168  """
5169  return _IMP_algebra.get_transformed(*args)
5170 
5171 def get_transformation_from_first_to_second(a, b):
5172  r"""get_transformation_from_first_to_second(ReferenceFrame3D a, ReferenceFrame3D b) -> Transformation3D"""
5173  return _IMP_algebra.get_transformation_from_first_to_second(a, b)
5174 class SphericalVector3D(_GeometricPrimitive3D):
5175  r"""Proxy of C++ IMP::algebra::SphericalVector3D class."""
5176 
5177  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5178 
5179  def __init__(self, *args):
5180  r"""
5181  __init__(SphericalVector3D self) -> SphericalVector3D
5182  __init__(SphericalVector3D self, Vector3D v) -> SphericalVector3D
5183  __init__(SphericalVector3D self, double r, double theta, double psi, bool apply_check=True) -> SphericalVector3D
5184  """
5185  _IMP_algebra.SphericalVector3D_swiginit(self, _IMP_algebra.new_SphericalVector3D(*args))
5186 
5187  def get_cartesian_coordinates(self):
5188  r"""get_cartesian_coordinates(SphericalVector3D self) -> Vector3D"""
5189  return _IMP_algebra.SphericalVector3D_get_cartesian_coordinates(self)
5190 
5191  def show(self, *args):
5192  r"""show(SphericalVector3D self, _ostream out=std::cout)"""
5193  return _IMP_algebra.SphericalVector3D_show(self, *args)
5194 
5195  def __str__(self):
5196  r"""__str__(SphericalVector3D self) -> std::string"""
5197  return _IMP_algebra.SphericalVector3D___str__(self)
5198 
5199  def __repr__(self):
5200  r"""__repr__(SphericalVector3D self) -> std::string"""
5201  return _IMP_algebra.SphericalVector3D___repr__(self)
5202 
5203  def _get_as_binary(self):
5204  r"""_get_as_binary(SphericalVector3D self) -> PyObject *"""
5205  return _IMP_algebra.SphericalVector3D__get_as_binary(self)
5206 
5207  def _set_from_binary(self, p):
5208  r"""_set_from_binary(SphericalVector3D self, PyObject * p)"""
5209  return _IMP_algebra.SphericalVector3D__set_from_binary(self, p)
5210 
5211  def __getstate__(self):
5212  p = self._get_as_binary()
5213  if len(self.__dict__) > 1:
5214  d = self.__dict__.copy()
5215  del d['this']
5216  p = (d, p)
5217  return p
5218 
5219  def __setstate__(self, p):
5220  if not hasattr(self, 'this'):
5221  self.__init__()
5222  if isinstance(p, tuple):
5223  d, p = p
5224  self.__dict__.update(d)
5225  return self._set_from_binary(p)
5226 
5227 
5228  def __getitem__(self, index):
5229  r"""__getitem__(SphericalVector3D self, unsigned int index) -> double"""
5230  return _IMP_algebra.SphericalVector3D___getitem__(self, index)
5231 
5232  def __setitem__(self, index, val):
5233  r"""__setitem__(SphericalVector3D self, unsigned int index, double val)"""
5234  return _IMP_algebra.SphericalVector3D___setitem__(self, index, val)
5235  __swig_destroy__ = _IMP_algebra.delete_SphericalVector3D
5236 
5237 # Register SphericalVector3D in _IMP_algebra:
5238 _IMP_algebra.SphericalVector3D_swigregister(SphericalVector3D)
5239 
5240 def get_alignments_from_first_to_second(pca1, pca2):
5241  r"""get_alignments_from_first_to_second(PrincipalComponentAnalysis3D pca1, PrincipalComponentAnalysis3D pca2) -> IMP::algebra::Transformation3Ds"""
5242  return _IMP_algebra.get_alignments_from_first_to_second(pca1, pca2)
5243 class Line3D(_GeometricPrimitive3D):
5244  r"""Proxy of C++ IMP::algebra::Line3D class."""
5245 
5246  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5247 
5248  def __init__(self, *args):
5249  r"""
5250  __init__(Line3D self) -> Line3D
5251  __init__(Line3D self, Vector3D direction, Vector3D point_on_line) -> Line3D
5252  __init__(Line3D self, Segment3D s) -> Line3D
5253  """
5254  _IMP_algebra.Line3D_swiginit(self, _IMP_algebra.new_Line3D(*args))
5255 
5256  def get_direction(self):
5257  r"""get_direction(Line3D self) -> Vector3D"""
5258  return _IMP_algebra.Line3D_get_direction(self)
5259 
5260  def get_point_on_line(self):
5261  r"""get_point_on_line(Line3D self) -> Vector3D"""
5262  return _IMP_algebra.Line3D_get_point_on_line(self)
5263 
5264  def get_moment(self, *args):
5265  r"""
5266  get_moment(Line3D self) -> Vector3D
5267  get_moment(Line3D self, Vector3D v) -> Vector3D
5268  """
5269  return _IMP_algebra.Line3D_get_moment(self, *args)
5270 
5271  def get_reciprocal_product(self, l):
5272  r"""get_reciprocal_product(Line3D self, Line3D l) -> double"""
5273  return _IMP_algebra.Line3D_get_reciprocal_product(self, l)
5274 
5275  def get_opposite(self):
5276  r"""get_opposite(Line3D self) -> Line3D"""
5277  return _IMP_algebra.Line3D_get_opposite(self)
5278 
5279  def get_segment_starting_at(self, v, d):
5280  r"""get_segment_starting_at(Line3D self, Vector3D v, double d) -> Segment3D"""
5281  return _IMP_algebra.Line3D_get_segment_starting_at(self, v, d)
5282 
5283  def show(self, *args):
5284  r"""show(Line3D self, _ostream out=std::cout)"""
5285  return _IMP_algebra.Line3D_show(self, *args)
5286 
5287  def __str__(self):
5288  r"""__str__(Line3D self) -> std::string"""
5289  return _IMP_algebra.Line3D___str__(self)
5290 
5291  def __repr__(self):
5292  r"""__repr__(Line3D self) -> std::string"""
5293  return _IMP_algebra.Line3D___repr__(self)
5294 
5295  def _get_as_binary(self):
5296  r"""_get_as_binary(Line3D self) -> PyObject *"""
5297  return _IMP_algebra.Line3D__get_as_binary(self)
5298 
5299  def _set_from_binary(self, p):
5300  r"""_set_from_binary(Line3D self, PyObject * p)"""
5301  return _IMP_algebra.Line3D__set_from_binary(self, p)
5302 
5303  def __getstate__(self):
5304  p = self._get_as_binary()
5305  if len(self.__dict__) > 1:
5306  d = self.__dict__.copy()
5307  del d['this']
5308  p = (d, p)
5309  return p
5310 
5311  def __setstate__(self, p):
5312  if not hasattr(self, 'this'):
5313  self.__init__()
5314  if isinstance(p, tuple):
5315  d, p = p
5316  self.__dict__.update(d)
5317  return self._set_from_binary(p)
5318 
5319  __swig_destroy__ = _IMP_algebra.delete_Line3D
5320 
5321 # Register Line3D in _IMP_algebra:
5322 _IMP_algebra.Line3D_swigregister(Line3D)
5323 
5324 def get_line_3d_geometry(g):
5325  r"""get_line_3d_geometry(Line3D g) -> Line3D"""
5326  return _IMP_algebra.get_line_3d_geometry(g)
5327 
5328 def get_angle(a, b):
5329  r"""get_angle(Line3D a, Line3D b) -> double"""
5330  return _IMP_algebra.get_angle(a, b)
5331 
5333  r"""get_segment_connecting_first_to_second(Line3D a, Line3D b) -> Segment3D"""
5334  return _IMP_algebra.get_segment_connecting_first_to_second(a, b)
5335 class Segment3D(_GeometricPrimitive3D):
5336  r"""Proxy of C++ IMP::algebra::Segment3D class."""
5337 
5338  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5339 
5340  def __init__(self, *args):
5341  r"""
5342  __init__(Segment3D self) -> Segment3D
5343  __init__(Segment3D self, Vector3D start, Vector3D end) -> Segment3D
5344  """
5345  _IMP_algebra.Segment3D_swiginit(self, _IMP_algebra.new_Segment3D(*args))
5346 
5347  def get_point(self, i):
5348  if i < 0 or i >= 2:
5349  raise IMP.UsageException("Invalid point index")
5350  return _IMP_algebra.Segment3D_get_point(self, i)
5351 
5352 
5353 
5354  def get_middle_point(self):
5355  r"""get_middle_point(Segment3D self) -> Vector3D"""
5356  return _IMP_algebra.Segment3D_get_middle_point(self)
5357 
5358  def get_direction(self):
5359  r"""get_direction(Segment3D self) -> Vector3D"""
5360  return _IMP_algebra.Segment3D_get_direction(self)
5361 
5362  def get_length(self):
5363  r"""get_length(Segment3D self) -> double"""
5364  return _IMP_algebra.Segment3D_get_length(self)
5365 
5366  def show(self, *args):
5367  r"""show(Segment3D self, _ostream out=std::cout)"""
5368  return _IMP_algebra.Segment3D_show(self, *args)
5369 
5370  def __str__(self):
5371  r"""__str__(Segment3D self) -> std::string"""
5372  return _IMP_algebra.Segment3D___str__(self)
5373 
5374  def __repr__(self):
5375  r"""__repr__(Segment3D self) -> std::string"""
5376  return _IMP_algebra.Segment3D___repr__(self)
5377 
5378  def _get_as_binary(self):
5379  r"""_get_as_binary(Segment3D self) -> PyObject *"""
5380  return _IMP_algebra.Segment3D__get_as_binary(self)
5381 
5382  def _set_from_binary(self, p):
5383  r"""_set_from_binary(Segment3D self, PyObject * p)"""
5384  return _IMP_algebra.Segment3D__set_from_binary(self, p)
5385 
5386  def __getstate__(self):
5387  p = self._get_as_binary()
5388  if len(self.__dict__) > 1:
5389  d = self.__dict__.copy()
5390  del d['this']
5391  p = (d, p)
5392  return p
5393 
5394  def __setstate__(self, p):
5395  if not hasattr(self, 'this'):
5396  self.__init__()
5397  if isinstance(p, tuple):
5398  d, p = p
5399  self.__dict__.update(d)
5400  return self._set_from_binary(p)
5401 
5402  __swig_destroy__ = _IMP_algebra.delete_Segment3D
5403 
5404 # Register Segment3D in _IMP_algebra:
5405 _IMP_algebra.Segment3D_swigregister(Segment3D)
5406 
5407 def get_segment_3d_geometry(g):
5408  r"""get_segment_3d_geometry(Segment3D g) -> Segment3D"""
5409  return _IMP_algebra.get_segment_3d_geometry(g)
5410 
5412  r"""get_relative_projection_on_segment(Segment3D s, Vector3D p) -> double"""
5413  return _IMP_algebra.get_relative_projection_on_segment(s, p)
5414 class Triangle3D(_GeometricPrimitive3D):
5415  r"""Proxy of C++ IMP::algebra::Triangle3D class."""
5416 
5417  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5418 
5419  def __init__(self, *args):
5420  r"""
5421  __init__(Triangle3D self) -> Triangle3D
5422  __init__(Triangle3D self, Vector3D p1, Vector3D p2, Vector3D p3) -> Triangle3D
5423  """
5424  _IMP_algebra.Triangle3D_swiginit(self, _IMP_algebra.new_Triangle3D(*args))
5425 
5426  def get_point(self, i):
5427  r"""get_point(Triangle3D self, unsigned int i) -> Vector3D"""
5428  return _IMP_algebra.Triangle3D_get_point(self, i)
5429 
5430  def show(self, *args):
5431  r"""show(Triangle3D self, _ostream out=std::cout)"""
5432  return _IMP_algebra.Triangle3D_show(self, *args)
5433 
5434  def get_edge_lengths(self):
5435  r"""get_edge_lengths(Triangle3D self) -> IMP::Floats"""
5436  return _IMP_algebra.Triangle3D_get_edge_lengths(self)
5437 
5438  def __str__(self):
5439  r"""__str__(Triangle3D self) -> std::string"""
5440  return _IMP_algebra.Triangle3D___str__(self)
5441 
5442  def __repr__(self):
5443  r"""__repr__(Triangle3D self) -> std::string"""
5444  return _IMP_algebra.Triangle3D___repr__(self)
5445 
5446  def _get_as_binary(self):
5447  r"""_get_as_binary(Triangle3D self) -> PyObject *"""
5448  return _IMP_algebra.Triangle3D__get_as_binary(self)
5449 
5450  def _set_from_binary(self, p):
5451  r"""_set_from_binary(Triangle3D self, PyObject * p)"""
5452  return _IMP_algebra.Triangle3D__set_from_binary(self, p)
5453 
5454  def __getstate__(self):
5455  p = self._get_as_binary()
5456  if len(self.__dict__) > 1:
5457  d = self.__dict__.copy()
5458  del d['this']
5459  p = (d, p)
5460  return p
5461 
5462  def __setstate__(self, p):
5463  if not hasattr(self, 'this'):
5464  self.__init__()
5465  if isinstance(p, tuple):
5466  d, p = p
5467  self.__dict__.update(d)
5468  return self._set_from_binary(p)
5469 
5470  __swig_destroy__ = _IMP_algebra.delete_Triangle3D
5471 
5472 # Register Triangle3D in _IMP_algebra:
5473 _IMP_algebra.Triangle3D_swigregister(Triangle3D)
5474 
5475 def get_largest_triangle(points):
5476  r"""get_largest_triangle(IMP::algebra::Vector3Ds const & points) -> Triangle3D"""
5477  return _IMP_algebra.get_largest_triangle(points)
5478 
5479 def get_transformation_from_first_triangle_to_second(first_tri, second_tri):
5480  r"""get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri) -> Transformation3D"""
5481  return _IMP_algebra.get_transformation_from_first_triangle_to_second(first_tri, second_tri)
5482 
5483 def get_are_colinear(p1, p2, p3):
5484  r"""get_are_colinear(Vector3D p1, Vector3D p2, Vector3D p3) -> bool"""
5485  return _IMP_algebra.get_are_colinear(p1, p2, p3)
5486 class LinearFit2D(_GeometricPrimitive2D):
5487  r"""Proxy of C++ IMP::algebra::LinearFit2D class."""
5488 
5489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5490 
5491  def __init__(self, *args):
5492  r"""
5493  __init__(LinearFit2D self) -> LinearFit2D
5494  __init__(LinearFit2D self, IMP::algebra::Vector2Ds const & data, IMP::Floats const & error_bars=IMP::Floats()) -> LinearFit2D
5495  """
5496  _IMP_algebra.LinearFit2D_swiginit(self, _IMP_algebra.new_LinearFit2D(*args))
5497 
5498  def get_fit_error(self):
5499  r"""get_fit_error(LinearFit2D self) -> double"""
5500  return _IMP_algebra.LinearFit2D_get_fit_error(self)
5501 
5502  def get_a(self):
5503  r"""get_a(LinearFit2D self) -> double"""
5504  return _IMP_algebra.LinearFit2D_get_a(self)
5505 
5506  def get_b(self):
5507  r"""get_b(LinearFit2D self) -> double"""
5508  return _IMP_algebra.LinearFit2D_get_b(self)
5509 
5510  def show(self, *args):
5511  r"""show(LinearFit2D self, _ostream out=std::cout)"""
5512  return _IMP_algebra.LinearFit2D_show(self, *args)
5513 
5514  def __str__(self):
5515  r"""__str__(LinearFit2D self) -> std::string"""
5516  return _IMP_algebra.LinearFit2D___str__(self)
5517 
5518  def __repr__(self):
5519  r"""__repr__(LinearFit2D self) -> std::string"""
5520  return _IMP_algebra.LinearFit2D___repr__(self)
5521 
5522  def _get_as_binary(self):
5523  r"""_get_as_binary(LinearFit2D self) -> PyObject *"""
5524  return _IMP_algebra.LinearFit2D__get_as_binary(self)
5525 
5526  def _set_from_binary(self, p):
5527  r"""_set_from_binary(LinearFit2D self, PyObject * p)"""
5528  return _IMP_algebra.LinearFit2D__set_from_binary(self, p)
5529 
5530  def __getstate__(self):
5531  p = self._get_as_binary()
5532  if len(self.__dict__) > 1:
5533  d = self.__dict__.copy()
5534  del d['this']
5535  p = (d, p)
5536  return p
5537 
5538  def __setstate__(self, p):
5539  if not hasattr(self, 'this'):
5540  self.__init__()
5541  if isinstance(p, tuple):
5542  d, p = p
5543  self.__dict__.update(d)
5544  return self._set_from_binary(p)
5545 
5546  __swig_destroy__ = _IMP_algebra.delete_LinearFit2D
5547 
5548 # Register LinearFit2D in _IMP_algebra:
5549 _IMP_algebra.LinearFit2D_swigregister(LinearFit2D)
5550 class ParabolicFit2D(_GeometricPrimitive2D):
5551  r"""Proxy of C++ IMP::algebra::ParabolicFit2D class."""
5552 
5553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5554 
5555  def __init__(self, *args):
5556  r"""
5557  __init__(ParabolicFit2D self) -> ParabolicFit2D
5558  __init__(ParabolicFit2D self, IMP::algebra::Vector2Ds const & data) -> ParabolicFit2D
5559  """
5560  _IMP_algebra.ParabolicFit2D_swiginit(self, _IMP_algebra.new_ParabolicFit2D(*args))
5561 
5562  def get_fit_error(self):
5563  r"""get_fit_error(ParabolicFit2D self) -> double"""
5564  return _IMP_algebra.ParabolicFit2D_get_fit_error(self)
5565 
5566  def get_a(self):
5567  r"""get_a(ParabolicFit2D self) -> double"""
5568  return _IMP_algebra.ParabolicFit2D_get_a(self)
5569 
5570  def get_b(self):
5571  r"""get_b(ParabolicFit2D self) -> double"""
5572  return _IMP_algebra.ParabolicFit2D_get_b(self)
5573 
5574  def get_c(self):
5575  r"""get_c(ParabolicFit2D self) -> double"""
5576  return _IMP_algebra.ParabolicFit2D_get_c(self)
5577 
5578  def show(self, *args):
5579  r"""show(ParabolicFit2D self, _ostream out=std::cout)"""
5580  return _IMP_algebra.ParabolicFit2D_show(self, *args)
5581 
5582  def __str__(self):
5583  r"""__str__(ParabolicFit2D self) -> std::string"""
5584  return _IMP_algebra.ParabolicFit2D___str__(self)
5585 
5586  def __repr__(self):
5587  r"""__repr__(ParabolicFit2D self) -> std::string"""
5588  return _IMP_algebra.ParabolicFit2D___repr__(self)
5589 
5590  def _get_as_binary(self):
5591  r"""_get_as_binary(ParabolicFit2D self) -> PyObject *"""
5592  return _IMP_algebra.ParabolicFit2D__get_as_binary(self)
5593 
5594  def _set_from_binary(self, p):
5595  r"""_set_from_binary(ParabolicFit2D self, PyObject * p)"""
5596  return _IMP_algebra.ParabolicFit2D__set_from_binary(self, p)
5597 
5598  def __getstate__(self):
5599  p = self._get_as_binary()
5600  if len(self.__dict__) > 1:
5601  d = self.__dict__.copy()
5602  del d['this']
5603  p = (d, p)
5604  return p
5605 
5606  def __setstate__(self, p):
5607  if not hasattr(self, 'this'):
5608  self.__init__()
5609  if isinstance(p, tuple):
5610  d, p = p
5611  self.__dict__.update(d)
5612  return self._set_from_binary(p)
5613 
5614  __swig_destroy__ = _IMP_algebra.delete_ParabolicFit2D
5615 
5616 # Register ParabolicFit2D in _IMP_algebra:
5617 _IMP_algebra.ParabolicFit2D_swigregister(ParabolicFit2D)
5618 class Plane3D(_GeometricPrimitive3D):
5619  r"""Proxy of C++ IMP::algebra::Plane3D class."""
5620 
5621  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5622 
5623  def __init__(self, *args):
5624  r"""
5625  __init__(Plane3D self) -> Plane3D
5626  __init__(Plane3D self, Vector3D point_on_plane, Vector3D normal_to_plane) -> Plane3D
5627  __init__(Plane3D self, double distance_to_plane, Vector3D normal_to_plane) -> Plane3D
5628  """
5629  _IMP_algebra.Plane3D_swiginit(self, _IMP_algebra.new_Plane3D(*args))
5630 
5631  def get_point_on_plane(self):
5632  r"""get_point_on_plane(Plane3D self) -> Vector3D"""
5633  return _IMP_algebra.Plane3D_get_point_on_plane(self)
5634 
5635  def get_normal(self):
5636  r"""get_normal(Plane3D self) -> Vector3D"""
5637  return _IMP_algebra.Plane3D_get_normal(self)
5638 
5639  def get_projected(self, p):
5640  r"""get_projected(Plane3D self, Vector3D p) -> Vector3D"""
5641  return _IMP_algebra.Plane3D_get_projected(self, p)
5642 
5643  def get_is_above(self, p):
5644  r"""get_is_above(Plane3D self, Vector3D p) -> bool"""
5645  return _IMP_algebra.Plane3D_get_is_above(self, p)
5646 
5647  def get_is_below(self, p):
5648  r"""get_is_below(Plane3D self, Vector3D p) -> bool"""
5649  return _IMP_algebra.Plane3D_get_is_below(self, p)
5650 
5651  def get_height(self, p):
5652  r"""get_height(Plane3D self, Vector3D p) -> double"""
5653  return _IMP_algebra.Plane3D_get_height(self, p)
5654 
5655  def show(self, *args):
5656  r"""show(Plane3D self, _ostream out=std::cout)"""
5657  return _IMP_algebra.Plane3D_show(self, *args)
5658 
5659  def get_opposite(self):
5660  r"""get_opposite(Plane3D self) -> Plane3D"""
5661  return _IMP_algebra.Plane3D_get_opposite(self)
5662 
5663  def get_distance_from_origin(self):
5664  r"""get_distance_from_origin(Plane3D self) -> double"""
5665  return _IMP_algebra.Plane3D_get_distance_from_origin(self)
5666 
5667  def __str__(self):
5668  r"""__str__(Plane3D self) -> std::string"""
5669  return _IMP_algebra.Plane3D___str__(self)
5670 
5671  def __repr__(self):
5672  r"""__repr__(Plane3D self) -> std::string"""
5673  return _IMP_algebra.Plane3D___repr__(self)
5674 
5675  def _get_as_binary(self):
5676  r"""_get_as_binary(Plane3D self) -> PyObject *"""
5677  return _IMP_algebra.Plane3D__get_as_binary(self)
5678 
5679  def _set_from_binary(self, p):
5680  r"""_set_from_binary(Plane3D self, PyObject * p)"""
5681  return _IMP_algebra.Plane3D__set_from_binary(self, p)
5682 
5683  def __getstate__(self):
5684  p = self._get_as_binary()
5685  if len(self.__dict__) > 1:
5686  d = self.__dict__.copy()
5687  del d['this']
5688  p = (d, p)
5689  return p
5690 
5691  def __setstate__(self, p):
5692  if not hasattr(self, 'this'):
5693  self.__init__()
5694  if isinstance(p, tuple):
5695  d, p = p
5696  self.__dict__.update(d)
5697  return self._set_from_binary(p)
5698 
5699  __swig_destroy__ = _IMP_algebra.delete_Plane3D
5700 
5701 # Register Plane3D in _IMP_algebra:
5702 _IMP_algebra.Plane3D_swigregister(Plane3D)
5703 
5704 def get_reflected(pln, p):
5705  r"""get_reflected(Plane3D pln, Vector3D p) -> Vector3D"""
5706  return _IMP_algebra.get_reflected(pln, p)
5707 
5708 def get_plane_3d_geometry(g):
5709  r"""get_plane_3d_geometry(Plane3D g) -> Plane3D"""
5710  return _IMP_algebra.get_plane_3d_geometry(g)
5711 class Reflection3D(_GeometricPrimitive3D):
5712  r"""Proxy of C++ IMP::algebra::Reflection3D class."""
5713 
5714  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5715 
5716  def __init__(self, *args):
5717  r"""
5718  __init__(Reflection3D self) -> Reflection3D
5719  __init__(Reflection3D self, Plane3D pl) -> Reflection3D
5720  """
5721  _IMP_algebra.Reflection3D_swiginit(self, _IMP_algebra.new_Reflection3D(*args))
5722 
5723  def get_reflected(self, v):
5724  r"""get_reflected(Reflection3D self, Vector3D v) -> Vector3D"""
5725  return _IMP_algebra.Reflection3D_get_reflected(self, v)
5726 
5727  def show(self, *args):
5728  r"""show(Reflection3D self, _ostream out=std::cout)"""
5729  return _IMP_algebra.Reflection3D_show(self, *args)
5730 
5731  def __str__(self):
5732  r"""__str__(Reflection3D self) -> std::string"""
5733  return _IMP_algebra.Reflection3D___str__(self)
5734 
5735  def __repr__(self):
5736  r"""__repr__(Reflection3D self) -> std::string"""
5737  return _IMP_algebra.Reflection3D___repr__(self)
5738 
5739  def _get_as_binary(self):
5740  r"""_get_as_binary(Reflection3D self) -> PyObject *"""
5741  return _IMP_algebra.Reflection3D__get_as_binary(self)
5742 
5743  def _set_from_binary(self, p):
5744  r"""_set_from_binary(Reflection3D self, PyObject * p)"""
5745  return _IMP_algebra.Reflection3D__set_from_binary(self, p)
5746 
5747  def __getstate__(self):
5748  p = self._get_as_binary()
5749  if len(self.__dict__) > 1:
5750  d = self.__dict__.copy()
5751  del d['this']
5752  p = (d, p)
5753  return p
5754 
5755  def __setstate__(self, p):
5756  if not hasattr(self, 'this'):
5757  self.__init__()
5758  if isinstance(p, tuple):
5759  d, p = p
5760  self.__dict__.update(d)
5761  return self._set_from_binary(p)
5762 
5763  __swig_destroy__ = _IMP_algebra.delete_Reflection3D
5764 
5765 # Register Reflection3D in _IMP_algebra:
5766 _IMP_algebra.Reflection3D_swigregister(Reflection3D)
5767 class Cylinder3D(_GeometricPrimitive3D):
5768  r"""Proxy of C++ IMP::algebra::Cylinder3D class."""
5769 
5770  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5771 
5772  def __init__(self, *args):
5773  r"""
5774  __init__(Cylinder3D self) -> Cylinder3D
5775  __init__(Cylinder3D self, Segment3D s, double radius) -> Cylinder3D
5776  """
5777  _IMP_algebra.Cylinder3D_swiginit(self, _IMP_algebra.new_Cylinder3D(*args))
5778 
5779  def get_radius(self):
5780  r"""get_radius(Cylinder3D self) -> double"""
5781  return _IMP_algebra.Cylinder3D_get_radius(self)
5782 
5783  def get_segment(self):
5784  r"""get_segment(Cylinder3D self) -> Segment3D"""
5785  return _IMP_algebra.Cylinder3D_get_segment(self)
5786 
5787  def get_surface_point_at(self, relative_height, angle):
5788  r"""get_surface_point_at(Cylinder3D self, double relative_height, double angle) -> Vector3D"""
5789  return _IMP_algebra.Cylinder3D_get_surface_point_at(self, relative_height, angle)
5790 
5791  def get_inner_point_at(self, relative_height, relative_radius, angle):
5792  r"""get_inner_point_at(Cylinder3D self, double relative_height, double relative_radius, double angle) -> Vector3D"""
5793  return _IMP_algebra.Cylinder3D_get_inner_point_at(self, relative_height, relative_radius, angle)
5794 
5795  def show(self, *args):
5796  r"""show(Cylinder3D self, _ostream out=std::cout)"""
5797  return _IMP_algebra.Cylinder3D_show(self, *args)
5798 
5799  def __str__(self):
5800  r"""__str__(Cylinder3D self) -> std::string"""
5801  return _IMP_algebra.Cylinder3D___str__(self)
5802 
5803  def __repr__(self):
5804  r"""__repr__(Cylinder3D self) -> std::string"""
5805  return _IMP_algebra.Cylinder3D___repr__(self)
5806 
5807  def _get_as_binary(self):
5808  r"""_get_as_binary(Cylinder3D self) -> PyObject *"""
5809  return _IMP_algebra.Cylinder3D__get_as_binary(self)
5810 
5811  def _set_from_binary(self, p):
5812  r"""_set_from_binary(Cylinder3D self, PyObject * p)"""
5813  return _IMP_algebra.Cylinder3D__set_from_binary(self, p)
5814 
5815  def __getstate__(self):
5816  p = self._get_as_binary()
5817  if len(self.__dict__) > 1:
5818  d = self.__dict__.copy()
5819  del d['this']
5820  p = (d, p)
5821  return p
5822 
5823  def __setstate__(self, p):
5824  if not hasattr(self, 'this'):
5825  self.__init__()
5826  if isinstance(p, tuple):
5827  d, p = p
5828  self.__dict__.update(d)
5829  return self._set_from_binary(p)
5830 
5831  __swig_destroy__ = _IMP_algebra.delete_Cylinder3D
5832 
5833 # Register Cylinder3D in _IMP_algebra:
5834 _IMP_algebra.Cylinder3D_swigregister(Cylinder3D)
5835 
5836 def get_cylinder_3d_geometry(g):
5837  r"""get_cylinder_3d_geometry(Cylinder3D g) -> Cylinder3D"""
5838  return _IMP_algebra.get_cylinder_3d_geometry(g)
5839 class Ellipsoid3D(_GeometricPrimitive3D):
5840  r"""Proxy of C++ IMP::algebra::Ellipsoid3D class."""
5841 
5842  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5843 
5844  def __init__(self, *args):
5845  r"""
5846  __init__(Ellipsoid3D self) -> Ellipsoid3D
5847  __init__(Ellipsoid3D self, ReferenceFrame3D rf, Vector3D radii) -> Ellipsoid3D
5848  __init__(Ellipsoid3D self, Vector3D center, double radius_x, double radius_y, double radius_z, Rotation3D rot) -> Ellipsoid3D
5849  """
5850  _IMP_algebra.Ellipsoid3D_swiginit(self, _IMP_algebra.new_Ellipsoid3D(*args))
5851 
5852  def get_radii(self):
5853  r"""get_radii(Ellipsoid3D self) -> Vector3D"""
5854  return _IMP_algebra.Ellipsoid3D_get_radii(self)
5855 
5856  def get_reference_frame(self):
5857  r"""get_reference_frame(Ellipsoid3D self) -> ReferenceFrame3D"""
5858  return _IMP_algebra.Ellipsoid3D_get_reference_frame(self)
5859 
5860  def show(self, *args):
5861  r"""show(Ellipsoid3D self, _ostream out=std::cout)"""
5862  return _IMP_algebra.Ellipsoid3D_show(self, *args)
5863 
5864  def __str__(self):
5865  r"""__str__(Ellipsoid3D self) -> std::string"""
5866  return _IMP_algebra.Ellipsoid3D___str__(self)
5867 
5868  def __repr__(self):
5869  r"""__repr__(Ellipsoid3D self) -> std::string"""
5870  return _IMP_algebra.Ellipsoid3D___repr__(self)
5871 
5872  def _get_as_binary(self):
5873  r"""_get_as_binary(Ellipsoid3D self) -> PyObject *"""
5874  return _IMP_algebra.Ellipsoid3D__get_as_binary(self)
5875 
5876  def _set_from_binary(self, p):
5877  r"""_set_from_binary(Ellipsoid3D self, PyObject * p)"""
5878  return _IMP_algebra.Ellipsoid3D__set_from_binary(self, p)
5879 
5880  def __getstate__(self):
5881  p = self._get_as_binary()
5882  if len(self.__dict__) > 1:
5883  d = self.__dict__.copy()
5884  del d['this']
5885  p = (d, p)
5886  return p
5887 
5888  def __setstate__(self, p):
5889  if not hasattr(self, 'this'):
5890  self.__init__()
5891  if isinstance(p, tuple):
5892  d, p = p
5893  self.__dict__.update(d)
5894  return self._set_from_binary(p)
5895 
5896  __swig_destroy__ = _IMP_algebra.delete_Ellipsoid3D
5897 
5898 # Register Ellipsoid3D in _IMP_algebra:
5899 _IMP_algebra.Ellipsoid3D_swigregister(Ellipsoid3D)
5900 
5901 def get_ellipsoid_3d_geometry(g):
5902  r"""get_ellipsoid_3d_geometry(Ellipsoid3D g) -> Ellipsoid3D"""
5903  return _IMP_algebra.get_ellipsoid_3d_geometry(g)
5904 class ConnollySurfacePoint(object):
5905  r"""Proxy of C++ IMP::algebra::ConnollySurfacePoint class."""
5906 
5907  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5908 
5909  def __init__(self, *args):
5910  r"""
5911  __init__(ConnollySurfacePoint self) -> ConnollySurfacePoint
5912  __init__(ConnollySurfacePoint self, int a0, int a1, int a2, Vector3D sp, float a, Vector3D n) -> ConnollySurfacePoint
5913  """
5914  _IMP_algebra.ConnollySurfacePoint_swiginit(self, _IMP_algebra.new_ConnollySurfacePoint(*args))
5915 
5916  def get_atom(self, i):
5917  r"""get_atom(ConnollySurfacePoint self, unsigned int i) -> int"""
5918  return _IMP_algebra.ConnollySurfacePoint_get_atom(self, i)
5919 
5920  def get_surface_point(self):
5921  r"""get_surface_point(ConnollySurfacePoint self) -> Vector3D"""
5922  return _IMP_algebra.ConnollySurfacePoint_get_surface_point(self)
5923 
5924  def get_area(self):
5925  r"""get_area(ConnollySurfacePoint self) -> double"""
5926  return _IMP_algebra.ConnollySurfacePoint_get_area(self)
5927 
5928  def get_normal(self):
5929  r"""get_normal(ConnollySurfacePoint self) -> Vector3D"""
5930  return _IMP_algebra.ConnollySurfacePoint_get_normal(self)
5931 
5932  def show(self, *args):
5933  r"""show(ConnollySurfacePoint self, _ostream out=std::cout)"""
5934  return _IMP_algebra.ConnollySurfacePoint_show(self, *args)
5935 
5936  def __str__(self):
5937  r"""__str__(ConnollySurfacePoint self) -> std::string"""
5938  return _IMP_algebra.ConnollySurfacePoint___str__(self)
5939 
5940  def __repr__(self):
5941  r"""__repr__(ConnollySurfacePoint self) -> std::string"""
5942  return _IMP_algebra.ConnollySurfacePoint___repr__(self)
5943 
5944  def _get_as_binary(self):
5945  r"""_get_as_binary(ConnollySurfacePoint self) -> PyObject *"""
5946  return _IMP_algebra.ConnollySurfacePoint__get_as_binary(self)
5947 
5948  def _set_from_binary(self, p):
5949  r"""_set_from_binary(ConnollySurfacePoint self, PyObject * p)"""
5950  return _IMP_algebra.ConnollySurfacePoint__set_from_binary(self, p)
5951 
5952  def __getstate__(self):
5953  p = self._get_as_binary()
5954  if len(self.__dict__) > 1:
5955  d = self.__dict__.copy()
5956  del d['this']
5957  p = (d, p)
5958  return p
5959 
5960  def __setstate__(self, p):
5961  if not hasattr(self, 'this'):
5962  self.__init__()
5963  if isinstance(p, tuple):
5964  d, p = p
5965  self.__dict__.update(d)
5966  return self._set_from_binary(p)
5967 
5968  __swig_destroy__ = _IMP_algebra.delete_ConnollySurfacePoint
5969 
5970 # Register ConnollySurfacePoint in _IMP_algebra:
5971 _IMP_algebra.ConnollySurfacePoint_swigregister(ConnollySurfacePoint)
5972 
5973 def get_connolly_surface(spheres, density, probe_radius):
5974  r"""get_connolly_surface(IMP::algebra::Sphere3Ds const & spheres, double density, double probe_radius) -> IMP::algebra::ConnollySurfacePoints"""
5975  return _IMP_algebra.get_connolly_surface(spheres, density, probe_radius)
5976 class LogEmbedding3D(object):
5977  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 3 > class."""
5978 
5979  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5980 
5981  def __init__(self, *args):
5982  r"""
5983  __init__(LogEmbedding3D self, Vector3D origin, Vector3D cell, Vector3D base) -> LogEmbedding3D
5984  __init__(LogEmbedding3D self, BoundingBox3D bb, Vector3D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding3D
5985  __init__(LogEmbedding3D self, Vector3D arg2, Vector3D arg3) -> LogEmbedding3D
5986  __init__(LogEmbedding3D self) -> LogEmbedding3D
5987  """
5988  _IMP_algebra.LogEmbedding3D_swiginit(self, _IMP_algebra.new_LogEmbedding3D(*args))
5989 
5990  def set_origin(self, o):
5991  r"""set_origin(LogEmbedding3D self, Vector3D o)"""
5992  return _IMP_algebra.LogEmbedding3D_set_origin(self, o)
5993 
5994  def get_origin(self):
5995  r"""get_origin(LogEmbedding3D self) -> Vector3D"""
5996  return _IMP_algebra.LogEmbedding3D_get_origin(self)
5997 
5998  def get_dimension(self):
5999  r"""get_dimension(LogEmbedding3D self) -> unsigned int"""
6000  return _IMP_algebra.LogEmbedding3D_get_dimension(self)
6001 
6002  def set_unit_cell(self, *args):
6003  r"""
6004  set_unit_cell(LogEmbedding3D self, Vector3D o, Vector3D base)
6005  set_unit_cell(LogEmbedding3D self, Vector3D o)
6006  """
6007  return _IMP_algebra.LogEmbedding3D_set_unit_cell(self, *args)
6008 
6009  def get_unit_cell(self):
6010  r"""get_unit_cell(LogEmbedding3D self) -> Vector3D"""
6011  return _IMP_algebra.LogEmbedding3D_get_unit_cell(self)
6012 
6013  def get_extended_index(self, o):
6014  r"""get_extended_index(LogEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
6015  return _IMP_algebra.LogEmbedding3D_get_extended_index(self, o)
6016 
6017  def get_index(self, o):
6018  r"""get_index(LogEmbedding3D self, Vector3D o) -> GridIndex3D"""
6019  return _IMP_algebra.LogEmbedding3D_get_index(self, o)
6020 
6021  def get_center(self, *args):
6022  r"""
6023  get_center(LogEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
6024  get_center(LogEmbedding3D self, GridIndex3D ei) -> Vector3D
6025  """
6026  return _IMP_algebra.LogEmbedding3D_get_center(self, *args)
6027 
6028  def get_bounding_box(self, *args):
6029  r"""
6030  get_bounding_box(LogEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
6031  get_bounding_box(LogEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
6032  """
6033  return _IMP_algebra.LogEmbedding3D_get_bounding_box(self, *args)
6034 
6035  def show(self, *args):
6036  r"""show(LogEmbedding3D self, _ostream out=std::cout)"""
6037  return _IMP_algebra.LogEmbedding3D_show(self, *args)
6038 
6039  def __str__(self):
6040  r"""__str__(LogEmbedding3D self) -> std::string"""
6041  return _IMP_algebra.LogEmbedding3D___str__(self)
6042 
6043  def __repr__(self):
6044  r"""__repr__(LogEmbedding3D self) -> std::string"""
6045  return _IMP_algebra.LogEmbedding3D___repr__(self)
6046 
6047  def __cmp__(self, arg2):
6048  r"""__cmp__(LogEmbedding3D self, LogEmbedding3D arg2) -> int"""
6049  return _IMP_algebra.LogEmbedding3D___cmp__(self, arg2)
6050 
6051  def __eq__(self, arg2):
6052  r"""__eq__(LogEmbedding3D self, LogEmbedding3D arg2) -> bool"""
6053  return _IMP_algebra.LogEmbedding3D___eq__(self, arg2)
6054 
6055  def _get_as_binary(self):
6056  r"""_get_as_binary(LogEmbedding3D self) -> PyObject *"""
6057  return _IMP_algebra.LogEmbedding3D__get_as_binary(self)
6058 
6059  def _set_from_binary(self, p):
6060  r"""_set_from_binary(LogEmbedding3D self, PyObject * p)"""
6061  return _IMP_algebra.LogEmbedding3D__set_from_binary(self, p)
6062 
6063  def __getstate__(self):
6064  p = self._get_as_binary()
6065  if len(self.__dict__) > 1:
6066  d = self.__dict__.copy()
6067  del d['this']
6068  p = (d, p)
6069  return p
6070 
6071  def __setstate__(self, p):
6072  if not hasattr(self, 'this'):
6073  self.__init__()
6074  if isinstance(p, tuple):
6075  d, p = p
6076  self.__dict__.update(d)
6077  return self._set_from_binary(p)
6078 
6079  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding3D
6080 
6081 # Register LogEmbedding3D in _IMP_algebra:
6082 _IMP_algebra.LogEmbedding3D_swigregister(LogEmbedding3D)
6083 class LogEmbeddingKD(object):
6084  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< -1 > class."""
6085 
6086  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6087 
6088  def __init__(self, *args):
6089  r"""
6090  __init__(LogEmbeddingKD self, VectorKD origin, VectorKD cell, VectorKD base) -> LogEmbeddingKD
6091  __init__(LogEmbeddingKD self, BoundingBoxKD bb, VectorKD bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbeddingKD
6092  __init__(LogEmbeddingKD self, VectorKD arg2, VectorKD arg3) -> LogEmbeddingKD
6093  __init__(LogEmbeddingKD self) -> LogEmbeddingKD
6094  """
6095  _IMP_algebra.LogEmbeddingKD_swiginit(self, _IMP_algebra.new_LogEmbeddingKD(*args))
6096 
6097  def set_origin(self, o):
6098  r"""set_origin(LogEmbeddingKD self, VectorKD o)"""
6099  return _IMP_algebra.LogEmbeddingKD_set_origin(self, o)
6100 
6101  def get_origin(self):
6102  r"""get_origin(LogEmbeddingKD self) -> VectorKD"""
6103  return _IMP_algebra.LogEmbeddingKD_get_origin(self)
6104 
6105  def get_dimension(self):
6106  r"""get_dimension(LogEmbeddingKD self) -> unsigned int"""
6107  return _IMP_algebra.LogEmbeddingKD_get_dimension(self)
6108 
6109  def set_unit_cell(self, *args):
6110  r"""
6111  set_unit_cell(LogEmbeddingKD self, VectorKD o, VectorKD base)
6112  set_unit_cell(LogEmbeddingKD self, VectorKD o)
6113  """
6114  return _IMP_algebra.LogEmbeddingKD_set_unit_cell(self, *args)
6115 
6116  def get_unit_cell(self):
6117  r"""get_unit_cell(LogEmbeddingKD self) -> VectorKD"""
6118  return _IMP_algebra.LogEmbeddingKD_get_unit_cell(self)
6119 
6120  def get_extended_index(self, o):
6121  r"""get_extended_index(LogEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
6122  return _IMP_algebra.LogEmbeddingKD_get_extended_index(self, o)
6123 
6124  def get_index(self, o):
6125  r"""get_index(LogEmbeddingKD self, VectorKD o) -> GridIndexKD"""
6126  return _IMP_algebra.LogEmbeddingKD_get_index(self, o)
6127 
6128  def get_center(self, *args):
6129  r"""
6130  get_center(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
6131  get_center(LogEmbeddingKD self, GridIndexKD ei) -> VectorKD
6132  """
6133  return _IMP_algebra.LogEmbeddingKD_get_center(self, *args)
6134 
6135  def get_bounding_box(self, *args):
6136  r"""
6137  get_bounding_box(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
6138  get_bounding_box(LogEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
6139  """
6140  return _IMP_algebra.LogEmbeddingKD_get_bounding_box(self, *args)
6141 
6142  def show(self, *args):
6143  r"""show(LogEmbeddingKD self, _ostream out=std::cout)"""
6144  return _IMP_algebra.LogEmbeddingKD_show(self, *args)
6145 
6146  def __str__(self):
6147  r"""__str__(LogEmbeddingKD self) -> std::string"""
6148  return _IMP_algebra.LogEmbeddingKD___str__(self)
6149 
6150  def __repr__(self):
6151  r"""__repr__(LogEmbeddingKD self) -> std::string"""
6152  return _IMP_algebra.LogEmbeddingKD___repr__(self)
6153 
6154  def __cmp__(self, arg2):
6155  r"""__cmp__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> int"""
6156  return _IMP_algebra.LogEmbeddingKD___cmp__(self, arg2)
6157 
6158  def __eq__(self, arg2):
6159  r"""__eq__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> bool"""
6160  return _IMP_algebra.LogEmbeddingKD___eq__(self, arg2)
6161 
6162  def _get_as_binary(self):
6163  r"""_get_as_binary(LogEmbeddingKD self) -> PyObject *"""
6164  return _IMP_algebra.LogEmbeddingKD__get_as_binary(self)
6165 
6166  def _set_from_binary(self, p):
6167  r"""_set_from_binary(LogEmbeddingKD self, PyObject * p)"""
6168  return _IMP_algebra.LogEmbeddingKD__set_from_binary(self, p)
6169 
6170  def __getstate__(self):
6171  p = self._get_as_binary()
6172  if len(self.__dict__) > 1:
6173  d = self.__dict__.copy()
6174  del d['this']
6175  p = (d, p)
6176  return p
6177 
6178  def __setstate__(self, p):
6179  if not hasattr(self, 'this'):
6180  self.__init__()
6181  if isinstance(p, tuple):
6182  d, p = p
6183  self.__dict__.update(d)
6184  return self._set_from_binary(p)
6185 
6186  __swig_destroy__ = _IMP_algebra.delete_LogEmbeddingKD
6187 
6188 # Register LogEmbeddingKD in _IMP_algebra:
6189 _IMP_algebra.LogEmbeddingKD_swigregister(LogEmbeddingKD)
6190 class DenseFloatLogGridKD(object):
6191  r"""Proxy of C++ IMP::algebra::DenseFloatLogGridKD class."""
6192 
6193  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6194 
6195  def __init__(self, sz, le):
6196  r"""__init__(DenseFloatLogGridKD self, IMP::Ints const & sz, LogEmbeddingKD le) -> DenseFloatLogGridKD"""
6197  _IMP_algebra.DenseFloatLogGridKD_swiginit(self, _IMP_algebra.new_DenseFloatLogGridKD(sz, le))
6198 
6199  def add_voxel(self, i, q):
6200  r"""add_voxel(DenseFloatLogGridKD self, ExtendedGridIndexKD i, float const & q) -> GridIndexKD"""
6201  return _IMP_algebra.DenseFloatLogGridKD_add_voxel(self, i, q)
6202 
6203  def __getitem__(self, *args):
6204  r"""
6205  __getitem__(DenseFloatLogGridKD self, GridIndexKD i) -> float
6206  __getitem__(DenseFloatLogGridKD self, VectorKD i) -> float
6207  """
6208  return _IMP_algebra.DenseFloatLogGridKD___getitem__(self, *args)
6209 
6210  def __setitem__(self, *args):
6211  r"""
6212  __setitem__(DenseFloatLogGridKD self, GridIndexKD i, float const & q)
6213  __setitem__(DenseFloatLogGridKD self, VectorKD i, float const & q)
6214  """
6215  return _IMP_algebra.DenseFloatLogGridKD___setitem__(self, *args)
6216 
6217  def get_bounding_box(self, *args):
6218  r"""
6219  get_bounding_box(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6220  get_bounding_box(DenseFloatLogGridKD self) -> BoundingBoxKD
6221  """
6222  return _IMP_algebra.DenseFloatLogGridKD_get_bounding_box(self, *args)
6223 
6224  def get_indexes(self, *args):
6225  r"""
6226  get_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >
6227  get_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >
6228  """
6229  return _IMP_algebra.DenseFloatLogGridKD_get_indexes(self, *args)
6230 
6231  def get_all_indexes(self):
6232  r"""get_all_indexes(DenseFloatLogGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
6233  return _IMP_algebra.DenseFloatLogGridKD_get_all_indexes(self)
6234 
6235  def get_extended_indexes(self, *args):
6236  r"""
6237  get_extended_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >
6238  get_extended_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >
6239  """
6240  return _IMP_algebra.DenseFloatLogGridKD_get_extended_indexes(self, *args)
6241 
6242  def get_center(self, *args):
6243  r"""
6244  get_center(DenseFloatLogGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6245  get_center(DenseFloatLogGridKD self, GridIndexKD ei) -> VectorKD
6246  """
6247  return _IMP_algebra.DenseFloatLogGridKD_get_center(self, *args)
6248 
6249  def get_extended_index(self, v):
6250  r"""get_extended_index(DenseFloatLogGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6251  return _IMP_algebra.DenseFloatLogGridKD_get_extended_index(self, v)
6252 
6253  def get_index(self, v):
6254  r"""get_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6255  return _IMP_algebra.DenseFloatLogGridKD_get_index(self, v)
6256 
6257  def get_origin(self):
6258  r"""get_origin(DenseFloatLogGridKD self) -> VectorKD"""
6259  return _IMP_algebra.DenseFloatLogGridKD_get_origin(self)
6260 
6261  def get_dimension(self):
6262  r"""get_dimension(DenseFloatLogGridKD self) -> unsigned int"""
6263  return _IMP_algebra.DenseFloatLogGridKD_get_dimension(self)
6264 
6265  def get_unit_cell(self):
6266  r"""get_unit_cell(DenseFloatLogGridKD self) -> VectorKD"""
6267  return _IMP_algebra.DenseFloatLogGridKD_get_unit_cell(self)
6268 
6269  def get_has_index(self, v):
6270  r"""get_has_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> bool"""
6271  return _IMP_algebra.DenseFloatLogGridKD_get_has_index(self, v)
6272 
6273  def __str__(self):
6274  r"""__str__(DenseFloatLogGridKD self) -> std::string"""
6275  return _IMP_algebra.DenseFloatLogGridKD___str__(self)
6276 
6277  def __repr__(self):
6278  r"""__repr__(DenseFloatLogGridKD self) -> std::string"""
6279  return _IMP_algebra.DenseFloatLogGridKD___repr__(self)
6280 
6281  def show(self, *args):
6282  r"""show(DenseFloatLogGridKD self, _ostream out=std::cout)"""
6283  return _IMP_algebra.DenseFloatLogGridKD_show(self, *args)
6284  __swig_destroy__ = _IMP_algebra.delete_DenseFloatLogGridKD
6285 
6286 # Register DenseFloatLogGridKD in _IMP_algebra:
6287 _IMP_algebra.DenseFloatLogGridKD_swigregister(DenseFloatLogGridKD)
6288 class DenseIntLogGrid3D(object):
6289  r"""Proxy of C++ IMP::algebra::DenseIntLogGrid3D class."""
6290 
6291  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6292 
6293  def __init__(self, sz, le):
6294  r"""__init__(DenseIntLogGrid3D self, IMP::Ints const & sz, LogEmbedding3D le) -> DenseIntLogGrid3D"""
6295  _IMP_algebra.DenseIntLogGrid3D_swiginit(self, _IMP_algebra.new_DenseIntLogGrid3D(sz, le))
6296 
6297  def add_voxel(self, i, q):
6298  r"""add_voxel(DenseIntLogGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6299  return _IMP_algebra.DenseIntLogGrid3D_add_voxel(self, i, q)
6300 
6301  def __getitem__(self, *args):
6302  r"""
6303  __getitem__(DenseIntLogGrid3D self, GridIndex3D i) -> int
6304  __getitem__(DenseIntLogGrid3D self, Vector3D i) -> int
6305  """
6306  return _IMP_algebra.DenseIntLogGrid3D___getitem__(self, *args)
6307 
6308  def __setitem__(self, *args):
6309  r"""
6310  __setitem__(DenseIntLogGrid3D self, GridIndex3D i, int const & q)
6311  __setitem__(DenseIntLogGrid3D self, Vector3D i, int const & q)
6312  """
6313  return _IMP_algebra.DenseIntLogGrid3D___setitem__(self, *args)
6314 
6315  def get_bounding_box(self, *args):
6316  r"""
6317  get_bounding_box(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6318  get_bounding_box(DenseIntLogGrid3D self) -> BoundingBox3D
6319  """
6320  return _IMP_algebra.DenseIntLogGrid3D_get_bounding_box(self, *args)
6321 
6322  def get_indexes(self, *args):
6323  r"""
6324  get_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6325  get_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6326  """
6327  return _IMP_algebra.DenseIntLogGrid3D_get_indexes(self, *args)
6328 
6329  def get_all_indexes(self):
6330  r"""get_all_indexes(DenseIntLogGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6331  return _IMP_algebra.DenseIntLogGrid3D_get_all_indexes(self)
6332 
6333  def get_extended_indexes(self, *args):
6334  r"""
6335  get_extended_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6336  get_extended_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6337  """
6338  return _IMP_algebra.DenseIntLogGrid3D_get_extended_indexes(self, *args)
6339 
6340  def get_center(self, *args):
6341  r"""
6342  get_center(DenseIntLogGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6343  get_center(DenseIntLogGrid3D self, GridIndex3D ei) -> Vector3D
6344  """
6345  return _IMP_algebra.DenseIntLogGrid3D_get_center(self, *args)
6346 
6347  def get_extended_index(self, v):
6348  r"""get_extended_index(DenseIntLogGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6349  return _IMP_algebra.DenseIntLogGrid3D_get_extended_index(self, v)
6350 
6351  def get_index(self, v):
6352  r"""get_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6353  return _IMP_algebra.DenseIntLogGrid3D_get_index(self, v)
6354 
6355  def get_origin(self):
6356  r"""get_origin(DenseIntLogGrid3D self) -> Vector3D"""
6357  return _IMP_algebra.DenseIntLogGrid3D_get_origin(self)
6358 
6359  def get_dimension(self):
6360  r"""get_dimension(DenseIntLogGrid3D self) -> unsigned int"""
6361  return _IMP_algebra.DenseIntLogGrid3D_get_dimension(self)
6362 
6363  def get_unit_cell(self):
6364  r"""get_unit_cell(DenseIntLogGrid3D self) -> Vector3D"""
6365  return _IMP_algebra.DenseIntLogGrid3D_get_unit_cell(self)
6366 
6367  def get_has_index(self, v):
6368  r"""get_has_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> bool"""
6369  return _IMP_algebra.DenseIntLogGrid3D_get_has_index(self, v)
6370 
6371  def __str__(self):
6372  r"""__str__(DenseIntLogGrid3D self) -> std::string"""
6373  return _IMP_algebra.DenseIntLogGrid3D___str__(self)
6374 
6375  def __repr__(self):
6376  r"""__repr__(DenseIntLogGrid3D self) -> std::string"""
6377  return _IMP_algebra.DenseIntLogGrid3D___repr__(self)
6378 
6379  def show(self, *args):
6380  r"""show(DenseIntLogGrid3D self, _ostream out=std::cout)"""
6381  return _IMP_algebra.DenseIntLogGrid3D_show(self, *args)
6382  __swig_destroy__ = _IMP_algebra.delete_DenseIntLogGrid3D
6383 
6384 # Register DenseIntLogGrid3D in _IMP_algebra:
6385 _IMP_algebra.DenseIntLogGrid3D_swigregister(DenseIntLogGrid3D)
6386 class DenseDoubleGrid3D(object):
6387  r"""Proxy of C++ IMP::algebra::DenseGrid3D< double > class."""
6388 
6389  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6390 
6391  def __init__(self, *args):
6392  r"""
6393  __init__(DenseDoubleGrid3D self, double side, BoundingBox3D bb, double _def=double()) -> DenseDoubleGrid3D
6394  __init__(DenseDoubleGrid3D self) -> DenseDoubleGrid3D
6395  """
6396  _IMP_algebra.DenseDoubleGrid3D_swiginit(self, _IMP_algebra.new_DenseDoubleGrid3D(*args))
6397 
6398  def add_voxel(self, i, q):
6399  r"""add_voxel(DenseDoubleGrid3D self, ExtendedGridIndex3D i, double const & q) -> GridIndex3D"""
6400  return _IMP_algebra.DenseDoubleGrid3D_add_voxel(self, i, q)
6401 
6402  def __getitem__(self, *args):
6403  r"""
6404  __getitem__(DenseDoubleGrid3D self, GridIndex3D i) -> double
6405  __getitem__(DenseDoubleGrid3D self, Vector3D i) -> double
6406  """
6407  return _IMP_algebra.DenseDoubleGrid3D___getitem__(self, *args)
6408 
6409  def __setitem__(self, *args):
6410  r"""
6411  __setitem__(DenseDoubleGrid3D self, GridIndex3D i, double const & q)
6412  __setitem__(DenseDoubleGrid3D self, Vector3D i, double const & q)
6413  """
6414  return _IMP_algebra.DenseDoubleGrid3D___setitem__(self, *args)
6415 
6416  def get_bounding_box(self, *args):
6417  r"""
6418  get_bounding_box(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6419  get_bounding_box(DenseDoubleGrid3D self) -> BoundingBox3D
6420  """
6421  return _IMP_algebra.DenseDoubleGrid3D_get_bounding_box(self, *args)
6422 
6423  def get_indexes(self, *args):
6424  r"""
6425  get_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6426  get_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6427  """
6428  return _IMP_algebra.DenseDoubleGrid3D_get_indexes(self, *args)
6429 
6430  def get_all_indexes(self):
6431  r"""get_all_indexes(DenseDoubleGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6432  return _IMP_algebra.DenseDoubleGrid3D_get_all_indexes(self)
6433 
6434  def get_extended_indexes(self, *args):
6435  r"""
6436  get_extended_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6437  get_extended_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6438  """
6439  return _IMP_algebra.DenseDoubleGrid3D_get_extended_indexes(self, *args)
6440 
6441  def get_center(self, *args):
6442  r"""
6443  get_center(DenseDoubleGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6444  get_center(DenseDoubleGrid3D self, GridIndex3D ei) -> Vector3D
6445  """
6446  return _IMP_algebra.DenseDoubleGrid3D_get_center(self, *args)
6447 
6448  def get_extended_index(self, v):
6449  r"""get_extended_index(DenseDoubleGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6450  return _IMP_algebra.DenseDoubleGrid3D_get_extended_index(self, v)
6451 
6452  def get_index(self, v):
6453  r"""get_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6454  return _IMP_algebra.DenseDoubleGrid3D_get_index(self, v)
6455 
6456  def get_origin(self):
6457  r"""get_origin(DenseDoubleGrid3D self) -> Vector3D"""
6458  return _IMP_algebra.DenseDoubleGrid3D_get_origin(self)
6459 
6460  def get_dimension(self):
6461  r"""get_dimension(DenseDoubleGrid3D self) -> unsigned int"""
6462  return _IMP_algebra.DenseDoubleGrid3D_get_dimension(self)
6463 
6464  def get_unit_cell(self):
6465  r"""get_unit_cell(DenseDoubleGrid3D self) -> Vector3D"""
6466  return _IMP_algebra.DenseDoubleGrid3D_get_unit_cell(self)
6467 
6468  def get_has_index(self, v):
6469  r"""get_has_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> bool"""
6470  return _IMP_algebra.DenseDoubleGrid3D_get_has_index(self, v)
6471 
6472  def __str__(self):
6473  r"""__str__(DenseDoubleGrid3D self) -> std::string"""
6474  return _IMP_algebra.DenseDoubleGrid3D___str__(self)
6475 
6476  def __repr__(self):
6477  r"""__repr__(DenseDoubleGrid3D self) -> std::string"""
6478  return _IMP_algebra.DenseDoubleGrid3D___repr__(self)
6479 
6480  def show(self, *args):
6481  r"""show(DenseDoubleGrid3D self, _ostream out=std::cout)"""
6482  return _IMP_algebra.DenseDoubleGrid3D_show(self, *args)
6483  __swig_destroy__ = _IMP_algebra.delete_DenseDoubleGrid3D
6484 
6485 # Register DenseDoubleGrid3D in _IMP_algebra:
6486 _IMP_algebra.DenseDoubleGrid3D_swigregister(DenseDoubleGrid3D)
6487 class DenseFloatGrid3D(object):
6488  r"""Proxy of C++ IMP::algebra::DenseGrid3D< float > class."""
6489 
6490  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6491 
6492  def __init__(self, *args):
6493  r"""
6494  __init__(DenseFloatGrid3D self, double side, BoundingBox3D bb, float _def=float()) -> DenseFloatGrid3D
6495  __init__(DenseFloatGrid3D self) -> DenseFloatGrid3D
6496  """
6497  _IMP_algebra.DenseFloatGrid3D_swiginit(self, _IMP_algebra.new_DenseFloatGrid3D(*args))
6498 
6499  def add_voxel(self, i, q):
6500  r"""add_voxel(DenseFloatGrid3D self, ExtendedGridIndex3D i, float const & q) -> GridIndex3D"""
6501  return _IMP_algebra.DenseFloatGrid3D_add_voxel(self, i, q)
6502 
6503  def __getitem__(self, *args):
6504  r"""
6505  __getitem__(DenseFloatGrid3D self, GridIndex3D i) -> float
6506  __getitem__(DenseFloatGrid3D self, Vector3D i) -> float
6507  """
6508  return _IMP_algebra.DenseFloatGrid3D___getitem__(self, *args)
6509 
6510  def __setitem__(self, *args):
6511  r"""
6512  __setitem__(DenseFloatGrid3D self, GridIndex3D i, float const & q)
6513  __setitem__(DenseFloatGrid3D self, Vector3D i, float const & q)
6514  """
6515  return _IMP_algebra.DenseFloatGrid3D___setitem__(self, *args)
6516 
6517  def get_bounding_box(self, *args):
6518  r"""
6519  get_bounding_box(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6520  get_bounding_box(DenseFloatGrid3D self) -> BoundingBox3D
6521  """
6522  return _IMP_algebra.DenseFloatGrid3D_get_bounding_box(self, *args)
6523 
6524  def get_indexes(self, *args):
6525  r"""
6526  get_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6527  get_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6528  """
6529  return _IMP_algebra.DenseFloatGrid3D_get_indexes(self, *args)
6530 
6531  def get_all_indexes(self):
6532  r"""get_all_indexes(DenseFloatGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6533  return _IMP_algebra.DenseFloatGrid3D_get_all_indexes(self)
6534 
6535  def get_extended_indexes(self, *args):
6536  r"""
6537  get_extended_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6538  get_extended_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6539  """
6540  return _IMP_algebra.DenseFloatGrid3D_get_extended_indexes(self, *args)
6541 
6542  def get_center(self, *args):
6543  r"""
6544  get_center(DenseFloatGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6545  get_center(DenseFloatGrid3D self, GridIndex3D ei) -> Vector3D
6546  """
6547  return _IMP_algebra.DenseFloatGrid3D_get_center(self, *args)
6548 
6549  def get_extended_index(self, v):
6550  r"""get_extended_index(DenseFloatGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6551  return _IMP_algebra.DenseFloatGrid3D_get_extended_index(self, v)
6552 
6553  def get_index(self, v):
6554  r"""get_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6555  return _IMP_algebra.DenseFloatGrid3D_get_index(self, v)
6556 
6557  def get_origin(self):
6558  r"""get_origin(DenseFloatGrid3D self) -> Vector3D"""
6559  return _IMP_algebra.DenseFloatGrid3D_get_origin(self)
6560 
6561  def get_dimension(self):
6562  r"""get_dimension(DenseFloatGrid3D self) -> unsigned int"""
6563  return _IMP_algebra.DenseFloatGrid3D_get_dimension(self)
6564 
6565  def get_unit_cell(self):
6566  r"""get_unit_cell(DenseFloatGrid3D self) -> Vector3D"""
6567  return _IMP_algebra.DenseFloatGrid3D_get_unit_cell(self)
6568 
6569  def get_has_index(self, v):
6570  r"""get_has_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> bool"""
6571  return _IMP_algebra.DenseFloatGrid3D_get_has_index(self, v)
6572 
6573  def __str__(self):
6574  r"""__str__(DenseFloatGrid3D self) -> std::string"""
6575  return _IMP_algebra.DenseFloatGrid3D___str__(self)
6576 
6577  def __repr__(self):
6578  r"""__repr__(DenseFloatGrid3D self) -> std::string"""
6579  return _IMP_algebra.DenseFloatGrid3D___repr__(self)
6580 
6581  def show(self, *args):
6582  r"""show(DenseFloatGrid3D self, _ostream out=std::cout)"""
6583  return _IMP_algebra.DenseFloatGrid3D_show(self, *args)
6584  __swig_destroy__ = _IMP_algebra.delete_DenseFloatGrid3D
6585 
6586 # Register DenseFloatGrid3D in _IMP_algebra:
6587 _IMP_algebra.DenseFloatGrid3D_swigregister(DenseFloatGrid3D)
6588 class SparseUnboundedIntGrid3D(object):
6589  r"""Proxy of C++ IMP::algebra::SparseUnboundedGrid3D< int > class."""
6590 
6591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6592 
6593  def __init__(self, *args):
6594  r"""
6595  __init__(SparseUnboundedIntGrid3D self, double side, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6596  __init__(SparseUnboundedIntGrid3D self, Vector3D sides, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6597  __init__(SparseUnboundedIntGrid3D self) -> SparseUnboundedIntGrid3D
6598  """
6599  _IMP_algebra.SparseUnboundedIntGrid3D_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGrid3D(*args))
6600 
6601  def add_voxel(self, i, q):
6602  r"""add_voxel(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6603  return _IMP_algebra.SparseUnboundedIntGrid3D_add_voxel(self, i, q)
6604 
6605  def __getitem__(self, *args):
6606  r"""
6607  __getitem__(SparseUnboundedIntGrid3D self, GridIndex3D i) -> int
6608  __getitem__(SparseUnboundedIntGrid3D self, Vector3D i) -> int
6609  """
6610  return _IMP_algebra.SparseUnboundedIntGrid3D___getitem__(self, *args)
6611 
6612  def __setitem__(self, *args):
6613  r"""
6614  __setitem__(SparseUnboundedIntGrid3D self, GridIndex3D i, int const & q)
6615  __setitem__(SparseUnboundedIntGrid3D self, Vector3D i, int const & q)
6616  """
6617  return _IMP_algebra.SparseUnboundedIntGrid3D___setitem__(self, *args)
6618 
6619  def get_bounding_box(self, *args):
6620  r"""
6621  get_bounding_box(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6622  get_bounding_box(SparseUnboundedIntGrid3D self) -> BoundingBox3D
6623  """
6624  return _IMP_algebra.SparseUnboundedIntGrid3D_get_bounding_box(self, *args)
6625 
6626  def get_indexes(self, *args):
6627  r"""
6628  get_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6629  get_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >
6630  """
6631  return _IMP_algebra.SparseUnboundedIntGrid3D_get_indexes(self, *args)
6632 
6633  def get_all_indexes(self):
6634  r"""get_all_indexes(SparseUnboundedIntGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6635  return _IMP_algebra.SparseUnboundedIntGrid3D_get_all_indexes(self)
6636 
6637  def get_extended_indexes(self, *args):
6638  r"""
6639  get_extended_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6640  get_extended_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >
6641  """
6642  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_indexes(self, *args)
6643 
6644  def get_center(self, *args):
6645  r"""
6646  get_center(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6647  get_center(SparseUnboundedIntGrid3D self, GridIndex3D ei) -> Vector3D
6648  """
6649  return _IMP_algebra.SparseUnboundedIntGrid3D_get_center(self, *args)
6650 
6651  def get_extended_index(self, v):
6652  r"""get_extended_index(SparseUnboundedIntGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6653  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_index(self, v)
6654 
6655  def get_index(self, v):
6656  r"""get_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6657  return _IMP_algebra.SparseUnboundedIntGrid3D_get_index(self, v)
6658 
6659  def get_origin(self):
6660  r"""get_origin(SparseUnboundedIntGrid3D self) -> Vector3D"""
6661  return _IMP_algebra.SparseUnboundedIntGrid3D_get_origin(self)
6662 
6663  def get_dimension(self):
6664  r"""get_dimension(SparseUnboundedIntGrid3D self) -> unsigned int"""
6665  return _IMP_algebra.SparseUnboundedIntGrid3D_get_dimension(self)
6666 
6667  def get_unit_cell(self):
6668  r"""get_unit_cell(SparseUnboundedIntGrid3D self) -> Vector3D"""
6669  return _IMP_algebra.SparseUnboundedIntGrid3D_get_unit_cell(self)
6670 
6671  def get_has_index(self, v):
6672  r"""get_has_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> bool"""
6673  return _IMP_algebra.SparseUnboundedIntGrid3D_get_has_index(self, v)
6674 
6675  def __str__(self):
6676  r"""__str__(SparseUnboundedIntGrid3D self) -> std::string"""
6677  return _IMP_algebra.SparseUnboundedIntGrid3D___str__(self)
6678 
6679  def __repr__(self):
6680  r"""__repr__(SparseUnboundedIntGrid3D self) -> std::string"""
6681  return _IMP_algebra.SparseUnboundedIntGrid3D___repr__(self)
6682 
6683  def show(self, *args):
6684  r"""show(SparseUnboundedIntGrid3D self, _ostream out=std::cout)"""
6685  return _IMP_algebra.SparseUnboundedIntGrid3D_show(self, *args)
6686  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGrid3D
6687 
6688 # Register SparseUnboundedIntGrid3D in _IMP_algebra:
6689 _IMP_algebra.SparseUnboundedIntGrid3D_swigregister(SparseUnboundedIntGrid3D)
6690 class SparseUnboundedIntGridKD(object):
6691  r"""Proxy of C++ IMP::algebra::SparseUnboundedGridD< -1,int > class."""
6692 
6693  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6694 
6695  def __init__(self, *args):
6696  r"""
6697  __init__(SparseUnboundedIntGridKD self, double side, VectorKD origin, int _def=int()) -> SparseUnboundedIntGridKD
6698  __init__(SparseUnboundedIntGridKD self) -> SparseUnboundedIntGridKD
6699  """
6700  _IMP_algebra.SparseUnboundedIntGridKD_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGridKD(*args))
6701 
6702  def add_voxel(self, i, q):
6703  r"""add_voxel(SparseUnboundedIntGridKD self, ExtendedGridIndexKD i, int const & q) -> GridIndexKD"""
6704  return _IMP_algebra.SparseUnboundedIntGridKD_add_voxel(self, i, q)
6705 
6706  def __getitem__(self, *args):
6707  r"""
6708  __getitem__(SparseUnboundedIntGridKD self, GridIndexKD i) -> int
6709  __getitem__(SparseUnboundedIntGridKD self, VectorKD i) -> int
6710  """
6711  return _IMP_algebra.SparseUnboundedIntGridKD___getitem__(self, *args)
6712 
6713  def __setitem__(self, *args):
6714  r"""
6715  __setitem__(SparseUnboundedIntGridKD self, GridIndexKD i, int const & q)
6716  __setitem__(SparseUnboundedIntGridKD self, VectorKD i, int const & q)
6717  """
6718  return _IMP_algebra.SparseUnboundedIntGridKD___setitem__(self, *args)
6719 
6720  def get_bounding_box(self, *args):
6721  r"""
6722  get_bounding_box(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6723  get_bounding_box(SparseUnboundedIntGridKD self) -> BoundingBoxKD
6724  """
6725  return _IMP_algebra.SparseUnboundedIntGridKD_get_bounding_box(self, *args)
6726 
6727  def get_indexes(self, *args):
6728  r"""
6729  get_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >
6730  get_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >
6731  """
6732  return _IMP_algebra.SparseUnboundedIntGridKD_get_indexes(self, *args)
6733 
6734  def get_all_indexes(self):
6735  r"""get_all_indexes(SparseUnboundedIntGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
6736  return _IMP_algebra.SparseUnboundedIntGridKD_get_all_indexes(self)
6737 
6738  def get_extended_indexes(self, *args):
6739  r"""
6740  get_extended_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >
6741  get_extended_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >
6742  """
6743  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_indexes(self, *args)
6744 
6745  def get_center(self, *args):
6746  r"""
6747  get_center(SparseUnboundedIntGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6748  get_center(SparseUnboundedIntGridKD self, GridIndexKD ei) -> VectorKD
6749  """
6750  return _IMP_algebra.SparseUnboundedIntGridKD_get_center(self, *args)
6751 
6752  def get_extended_index(self, v):
6753  r"""get_extended_index(SparseUnboundedIntGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6754  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_index(self, v)
6755 
6756  def get_index(self, v):
6757  r"""get_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6758  return _IMP_algebra.SparseUnboundedIntGridKD_get_index(self, v)
6759 
6760  def get_origin(self):
6761  r"""get_origin(SparseUnboundedIntGridKD self) -> VectorKD"""
6762  return _IMP_algebra.SparseUnboundedIntGridKD_get_origin(self)
6763 
6764  def get_dimension(self):
6765  r"""get_dimension(SparseUnboundedIntGridKD self) -> unsigned int"""
6766  return _IMP_algebra.SparseUnboundedIntGridKD_get_dimension(self)
6767 
6768  def get_unit_cell(self):
6769  r"""get_unit_cell(SparseUnboundedIntGridKD self) -> VectorKD"""
6770  return _IMP_algebra.SparseUnboundedIntGridKD_get_unit_cell(self)
6771 
6772  def get_has_index(self, v):
6773  r"""get_has_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> bool"""
6774  return _IMP_algebra.SparseUnboundedIntGridKD_get_has_index(self, v)
6775 
6776  def __str__(self):
6777  r"""__str__(SparseUnboundedIntGridKD self) -> std::string"""
6778  return _IMP_algebra.SparseUnboundedIntGridKD___str__(self)
6779 
6780  def __repr__(self):
6781  r"""__repr__(SparseUnboundedIntGridKD self) -> std::string"""
6782  return _IMP_algebra.SparseUnboundedIntGridKD___repr__(self)
6783 
6784  def show(self, *args):
6785  r"""show(SparseUnboundedIntGridKD self, _ostream out=std::cout)"""
6786  return _IMP_algebra.SparseUnboundedIntGridKD_show(self, *args)
6787  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGridKD
6788 
6789 # Register SparseUnboundedIntGridKD in _IMP_algebra:
6790 _IMP_algebra.SparseUnboundedIntGridKD_swigregister(SparseUnboundedIntGridKD)
6791 class GridIndex1D(IMP._Value):
6792  r"""Proxy of C++ IMP::algebra::GridIndexD< 1 > class."""
6793 
6794  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6795 
6796  def __init__(self, *args):
6797  r"""
6798  __init__(GridIndex1D self) -> GridIndex1D
6799  __init__(GridIndex1D self, int x) -> GridIndex1D
6800  __init__(GridIndex1D self, int x, int y) -> GridIndex1D
6801  __init__(GridIndex1D self, int x, int y, int z) -> GridIndex1D
6802  __init__(GridIndex1D self, int i, int j, int k, int l) -> GridIndex1D
6803  __init__(GridIndex1D self, int i, int j, int k, int l, int m) -> GridIndex1D
6804  __init__(GridIndex1D self, int i, int j, int k, int l, int m, int n) -> GridIndex1D
6805  """
6806  _IMP_algebra.GridIndex1D_swiginit(self, _IMP_algebra.new_GridIndex1D(*args))
6807 
6808  def get_dimension(self):
6809  r"""get_dimension(GridIndex1D self) -> unsigned int"""
6810  return _IMP_algebra.GridIndex1D_get_dimension(self)
6811 
6812  def __getitem__(self, i):
6813  r"""__getitem__(GridIndex1D self, unsigned int i) -> int const &"""
6814  return _IMP_algebra.GridIndex1D___getitem__(self, i)
6815 
6816  def show(self, *args):
6817  r"""show(GridIndex1D self, _ostream out=std::cout)"""
6818  return _IMP_algebra.GridIndex1D_show(self, *args)
6819 
6820  def __len__(self):
6821  r"""__len__(GridIndex1D self) -> unsigned int"""
6822  return _IMP_algebra.GridIndex1D___len__(self)
6823 
6824  def __cmp__(self, o):
6825  r"""__cmp__(GridIndex1D self, GridIndex1D o) -> int"""
6826  return _IMP_algebra.GridIndex1D___cmp__(self, o)
6827 
6828  def __eq__(self, o):
6829  r"""__eq__(GridIndex1D self, GridIndex1D o) -> bool"""
6830  return _IMP_algebra.GridIndex1D___eq__(self, o)
6831 
6832  def __ne__(self, o):
6833  r"""__ne__(GridIndex1D self, GridIndex1D o) -> bool"""
6834  return _IMP_algebra.GridIndex1D___ne__(self, o)
6835 
6836  def __lt__(self, o):
6837  r"""__lt__(GridIndex1D self, GridIndex1D o) -> bool"""
6838  return _IMP_algebra.GridIndex1D___lt__(self, o)
6839 
6840  def __gt__(self, o):
6841  r"""__gt__(GridIndex1D self, GridIndex1D o) -> bool"""
6842  return _IMP_algebra.GridIndex1D___gt__(self, o)
6843 
6844  def __ge__(self, o):
6845  r"""__ge__(GridIndex1D self, GridIndex1D o) -> bool"""
6846  return _IMP_algebra.GridIndex1D___ge__(self, o)
6847 
6848  def __le__(self, o):
6849  r"""__le__(GridIndex1D self, GridIndex1D o) -> bool"""
6850  return _IMP_algebra.GridIndex1D___le__(self, o)
6851 
6852  def __hash__(self):
6853  r"""__hash__(GridIndex1D self) -> std::size_t"""
6854  return _IMP_algebra.GridIndex1D___hash__(self)
6855 
6856  def __str__(self):
6857  r"""__str__(GridIndex1D self) -> std::string"""
6858  return _IMP_algebra.GridIndex1D___str__(self)
6859 
6860  def __repr__(self):
6861  r"""__repr__(GridIndex1D self) -> std::string"""
6862  return _IMP_algebra.GridIndex1D___repr__(self)
6863 
6864  def _get_as_binary(self):
6865  r"""_get_as_binary(GridIndex1D self) -> PyObject *"""
6866  return _IMP_algebra.GridIndex1D__get_as_binary(self)
6867 
6868  def _set_from_binary(self, p):
6869  r"""_set_from_binary(GridIndex1D self, PyObject * p)"""
6870  return _IMP_algebra.GridIndex1D__set_from_binary(self, p)
6871 
6872  def __getstate__(self):
6873  p = self._get_as_binary()
6874  if len(self.__dict__) > 1:
6875  d = self.__dict__.copy()
6876  del d['this']
6877  p = (d, p)
6878  return p
6879 
6880  def __setstate__(self, p):
6881  if not hasattr(self, 'this'):
6882  self.__init__()
6883  if isinstance(p, tuple):
6884  d, p = p
6885  self.__dict__.update(d)
6886  return self._set_from_binary(p)
6887 
6888  __swig_destroy__ = _IMP_algebra.delete_GridIndex1D
6889 
6890 # Register GridIndex1D in _IMP_algebra:
6891 _IMP_algebra.GridIndex1D_swigregister(GridIndex1D)
6892 class GridIndex2D(IMP._Value):
6893  r"""Proxy of C++ IMP::algebra::GridIndexD< 2 > class."""
6894 
6895  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6896 
6897  def __init__(self, *args):
6898  r"""
6899  __init__(GridIndex2D self) -> GridIndex2D
6900  __init__(GridIndex2D self, int x) -> GridIndex2D
6901  __init__(GridIndex2D self, int x, int y) -> GridIndex2D
6902  __init__(GridIndex2D self, int x, int y, int z) -> GridIndex2D
6903  __init__(GridIndex2D self, int i, int j, int k, int l) -> GridIndex2D
6904  __init__(GridIndex2D self, int i, int j, int k, int l, int m) -> GridIndex2D
6905  __init__(GridIndex2D self, int i, int j, int k, int l, int m, int n) -> GridIndex2D
6906  """
6907  _IMP_algebra.GridIndex2D_swiginit(self, _IMP_algebra.new_GridIndex2D(*args))
6908 
6909  def get_dimension(self):
6910  r"""get_dimension(GridIndex2D self) -> unsigned int"""
6911  return _IMP_algebra.GridIndex2D_get_dimension(self)
6912 
6913  def __getitem__(self, i):
6914  r"""__getitem__(GridIndex2D self, unsigned int i) -> int const &"""
6915  return _IMP_algebra.GridIndex2D___getitem__(self, i)
6916 
6917  def show(self, *args):
6918  r"""show(GridIndex2D self, _ostream out=std::cout)"""
6919  return _IMP_algebra.GridIndex2D_show(self, *args)
6920 
6921  def __len__(self):
6922  r"""__len__(GridIndex2D self) -> unsigned int"""
6923  return _IMP_algebra.GridIndex2D___len__(self)
6924 
6925  def __cmp__(self, o):
6926  r"""__cmp__(GridIndex2D self, GridIndex2D o) -> int"""
6927  return _IMP_algebra.GridIndex2D___cmp__(self, o)
6928 
6929  def __eq__(self, o):
6930  r"""__eq__(GridIndex2D self, GridIndex2D o) -> bool"""
6931  return _IMP_algebra.GridIndex2D___eq__(self, o)
6932 
6933  def __ne__(self, o):
6934  r"""__ne__(GridIndex2D self, GridIndex2D o) -> bool"""
6935  return _IMP_algebra.GridIndex2D___ne__(self, o)
6936 
6937  def __lt__(self, o):
6938  r"""__lt__(GridIndex2D self, GridIndex2D o) -> bool"""
6939  return _IMP_algebra.GridIndex2D___lt__(self, o)
6940 
6941  def __gt__(self, o):
6942  r"""__gt__(GridIndex2D self, GridIndex2D o) -> bool"""
6943  return _IMP_algebra.GridIndex2D___gt__(self, o)
6944 
6945  def __ge__(self, o):
6946  r"""__ge__(GridIndex2D self, GridIndex2D o) -> bool"""
6947  return _IMP_algebra.GridIndex2D___ge__(self, o)
6948 
6949  def __le__(self, o):
6950  r"""__le__(GridIndex2D self, GridIndex2D o) -> bool"""
6951  return _IMP_algebra.GridIndex2D___le__(self, o)
6952 
6953  def __hash__(self):
6954  r"""__hash__(GridIndex2D self) -> std::size_t"""
6955  return _IMP_algebra.GridIndex2D___hash__(self)
6956 
6957  def __str__(self):
6958  r"""__str__(GridIndex2D self) -> std::string"""
6959  return _IMP_algebra.GridIndex2D___str__(self)
6960 
6961  def __repr__(self):
6962  r"""__repr__(GridIndex2D self) -> std::string"""
6963  return _IMP_algebra.GridIndex2D___repr__(self)
6964 
6965  def _get_as_binary(self):
6966  r"""_get_as_binary(GridIndex2D self) -> PyObject *"""
6967  return _IMP_algebra.GridIndex2D__get_as_binary(self)
6968 
6969  def _set_from_binary(self, p):
6970  r"""_set_from_binary(GridIndex2D self, PyObject * p)"""
6971  return _IMP_algebra.GridIndex2D__set_from_binary(self, p)
6972 
6973  def __getstate__(self):
6974  p = self._get_as_binary()
6975  if len(self.__dict__) > 1:
6976  d = self.__dict__.copy()
6977  del d['this']
6978  p = (d, p)
6979  return p
6980 
6981  def __setstate__(self, p):
6982  if not hasattr(self, 'this'):
6983  self.__init__()
6984  if isinstance(p, tuple):
6985  d, p = p
6986  self.__dict__.update(d)
6987  return self._set_from_binary(p)
6988 
6989  __swig_destroy__ = _IMP_algebra.delete_GridIndex2D
6990 
6991 # Register GridIndex2D in _IMP_algebra:
6992 _IMP_algebra.GridIndex2D_swigregister(GridIndex2D)
6993 class GridIndex3D(IMP._Value):
6994  r"""Proxy of C++ IMP::algebra::GridIndexD< 3 > class."""
6995 
6996  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6997 
6998  def __init__(self, *args):
6999  r"""
7000  __init__(GridIndex3D self) -> GridIndex3D
7001  __init__(GridIndex3D self, int x) -> GridIndex3D
7002  __init__(GridIndex3D self, int x, int y) -> GridIndex3D
7003  __init__(GridIndex3D self, int x, int y, int z) -> GridIndex3D
7004  __init__(GridIndex3D self, int i, int j, int k, int l) -> GridIndex3D
7005  __init__(GridIndex3D self, int i, int j, int k, int l, int m) -> GridIndex3D
7006  __init__(GridIndex3D self, int i, int j, int k, int l, int m, int n) -> GridIndex3D
7007  """
7008  _IMP_algebra.GridIndex3D_swiginit(self, _IMP_algebra.new_GridIndex3D(*args))
7009 
7010  def get_dimension(self):
7011  r"""get_dimension(GridIndex3D self) -> unsigned int"""
7012  return _IMP_algebra.GridIndex3D_get_dimension(self)
7013 
7014  def __getitem__(self, i):
7015  r"""__getitem__(GridIndex3D self, unsigned int i) -> int const &"""
7016  return _IMP_algebra.GridIndex3D___getitem__(self, i)
7017 
7018  def show(self, *args):
7019  r"""show(GridIndex3D self, _ostream out=std::cout)"""
7020  return _IMP_algebra.GridIndex3D_show(self, *args)
7021 
7022  def __len__(self):
7023  r"""__len__(GridIndex3D self) -> unsigned int"""
7024  return _IMP_algebra.GridIndex3D___len__(self)
7025 
7026  def __cmp__(self, o):
7027  r"""__cmp__(GridIndex3D self, GridIndex3D o) -> int"""
7028  return _IMP_algebra.GridIndex3D___cmp__(self, o)
7029 
7030  def __eq__(self, o):
7031  r"""__eq__(GridIndex3D self, GridIndex3D o) -> bool"""
7032  return _IMP_algebra.GridIndex3D___eq__(self, o)
7033 
7034  def __ne__(self, o):
7035  r"""__ne__(GridIndex3D self, GridIndex3D o) -> bool"""
7036  return _IMP_algebra.GridIndex3D___ne__(self, o)
7037 
7038  def __lt__(self, o):
7039  r"""__lt__(GridIndex3D self, GridIndex3D o) -> bool"""
7040  return _IMP_algebra.GridIndex3D___lt__(self, o)
7041 
7042  def __gt__(self, o):
7043  r"""__gt__(GridIndex3D self, GridIndex3D o) -> bool"""
7044  return _IMP_algebra.GridIndex3D___gt__(self, o)
7045 
7046  def __ge__(self, o):
7047  r"""__ge__(GridIndex3D self, GridIndex3D o) -> bool"""
7048  return _IMP_algebra.GridIndex3D___ge__(self, o)
7049 
7050  def __le__(self, o):
7051  r"""__le__(GridIndex3D self, GridIndex3D o) -> bool"""
7052  return _IMP_algebra.GridIndex3D___le__(self, o)
7053 
7054  def __hash__(self):
7055  r"""__hash__(GridIndex3D self) -> std::size_t"""
7056  return _IMP_algebra.GridIndex3D___hash__(self)
7057 
7058  def __str__(self):
7059  r"""__str__(GridIndex3D self) -> std::string"""
7060  return _IMP_algebra.GridIndex3D___str__(self)
7061 
7062  def __repr__(self):
7063  r"""__repr__(GridIndex3D self) -> std::string"""
7064  return _IMP_algebra.GridIndex3D___repr__(self)
7065 
7066  def _get_as_binary(self):
7067  r"""_get_as_binary(GridIndex3D self) -> PyObject *"""
7068  return _IMP_algebra.GridIndex3D__get_as_binary(self)
7069 
7070  def _set_from_binary(self, p):
7071  r"""_set_from_binary(GridIndex3D self, PyObject * p)"""
7072  return _IMP_algebra.GridIndex3D__set_from_binary(self, p)
7073 
7074  def __getstate__(self):
7075  p = self._get_as_binary()
7076  if len(self.__dict__) > 1:
7077  d = self.__dict__.copy()
7078  del d['this']
7079  p = (d, p)
7080  return p
7081 
7082  def __setstate__(self, p):
7083  if not hasattr(self, 'this'):
7084  self.__init__()
7085  if isinstance(p, tuple):
7086  d, p = p
7087  self.__dict__.update(d)
7088  return self._set_from_binary(p)
7089 
7090  __swig_destroy__ = _IMP_algebra.delete_GridIndex3D
7091 
7092 # Register GridIndex3D in _IMP_algebra:
7093 _IMP_algebra.GridIndex3D_swigregister(GridIndex3D)
7094 class GridIndex4D(IMP._Value):
7095  r"""Proxy of C++ IMP::algebra::GridIndexD< 4 > class."""
7096 
7097  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7098 
7099  def __init__(self, *args):
7100  r"""
7101  __init__(GridIndex4D self) -> GridIndex4D
7102  __init__(GridIndex4D self, int x) -> GridIndex4D
7103  __init__(GridIndex4D self, int x, int y) -> GridIndex4D
7104  __init__(GridIndex4D self, int x, int y, int z) -> GridIndex4D
7105  __init__(GridIndex4D self, int i, int j, int k, int l) -> GridIndex4D
7106  __init__(GridIndex4D self, int i, int j, int k, int l, int m) -> GridIndex4D
7107  __init__(GridIndex4D self, int i, int j, int k, int l, int m, int n) -> GridIndex4D
7108  """
7109  _IMP_algebra.GridIndex4D_swiginit(self, _IMP_algebra.new_GridIndex4D(*args))
7110 
7111  def get_dimension(self):
7112  r"""get_dimension(GridIndex4D self) -> unsigned int"""
7113  return _IMP_algebra.GridIndex4D_get_dimension(self)
7114 
7115  def __getitem__(self, i):
7116  r"""__getitem__(GridIndex4D self, unsigned int i) -> int const &"""
7117  return _IMP_algebra.GridIndex4D___getitem__(self, i)
7118 
7119  def show(self, *args):
7120  r"""show(GridIndex4D self, _ostream out=std::cout)"""
7121  return _IMP_algebra.GridIndex4D_show(self, *args)
7122 
7123  def __len__(self):
7124  r"""__len__(GridIndex4D self) -> unsigned int"""
7125  return _IMP_algebra.GridIndex4D___len__(self)
7126 
7127  def __cmp__(self, o):
7128  r"""__cmp__(GridIndex4D self, GridIndex4D o) -> int"""
7129  return _IMP_algebra.GridIndex4D___cmp__(self, o)
7130 
7131  def __eq__(self, o):
7132  r"""__eq__(GridIndex4D self, GridIndex4D o) -> bool"""
7133  return _IMP_algebra.GridIndex4D___eq__(self, o)
7134 
7135  def __ne__(self, o):
7136  r"""__ne__(GridIndex4D self, GridIndex4D o) -> bool"""
7137  return _IMP_algebra.GridIndex4D___ne__(self, o)
7138 
7139  def __lt__(self, o):
7140  r"""__lt__(GridIndex4D self, GridIndex4D o) -> bool"""
7141  return _IMP_algebra.GridIndex4D___lt__(self, o)
7142 
7143  def __gt__(self, o):
7144  r"""__gt__(GridIndex4D self, GridIndex4D o) -> bool"""
7145  return _IMP_algebra.GridIndex4D___gt__(self, o)
7146 
7147  def __ge__(self, o):
7148  r"""__ge__(GridIndex4D self, GridIndex4D o) -> bool"""
7149  return _IMP_algebra.GridIndex4D___ge__(self, o)
7150 
7151  def __le__(self, o):
7152  r"""__le__(GridIndex4D self, GridIndex4D o) -> bool"""
7153  return _IMP_algebra.GridIndex4D___le__(self, o)
7154 
7155  def __hash__(self):
7156  r"""__hash__(GridIndex4D self) -> std::size_t"""
7157  return _IMP_algebra.GridIndex4D___hash__(self)
7158 
7159  def __str__(self):
7160  r"""__str__(GridIndex4D self) -> std::string"""
7161  return _IMP_algebra.GridIndex4D___str__(self)
7162 
7163  def __repr__(self):
7164  r"""__repr__(GridIndex4D self) -> std::string"""
7165  return _IMP_algebra.GridIndex4D___repr__(self)
7166 
7167  def _get_as_binary(self):
7168  r"""_get_as_binary(GridIndex4D self) -> PyObject *"""
7169  return _IMP_algebra.GridIndex4D__get_as_binary(self)
7170 
7171  def _set_from_binary(self, p):
7172  r"""_set_from_binary(GridIndex4D self, PyObject * p)"""
7173  return _IMP_algebra.GridIndex4D__set_from_binary(self, p)
7174 
7175  def __getstate__(self):
7176  p = self._get_as_binary()
7177  if len(self.__dict__) > 1:
7178  d = self.__dict__.copy()
7179  del d['this']
7180  p = (d, p)
7181  return p
7182 
7183  def __setstate__(self, p):
7184  if not hasattr(self, 'this'):
7185  self.__init__()
7186  if isinstance(p, tuple):
7187  d, p = p
7188  self.__dict__.update(d)
7189  return self._set_from_binary(p)
7190 
7191  __swig_destroy__ = _IMP_algebra.delete_GridIndex4D
7192 
7193 # Register GridIndex4D in _IMP_algebra:
7194 _IMP_algebra.GridIndex4D_swigregister(GridIndex4D)
7195 class GridIndex5D(IMP._Value):
7196  r"""Proxy of C++ IMP::algebra::GridIndexD< 5 > class."""
7197 
7198  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7199 
7200  def __init__(self, *args):
7201  r"""
7202  __init__(GridIndex5D self) -> GridIndex5D
7203  __init__(GridIndex5D self, int x) -> GridIndex5D
7204  __init__(GridIndex5D self, int x, int y) -> GridIndex5D
7205  __init__(GridIndex5D self, int x, int y, int z) -> GridIndex5D
7206  __init__(GridIndex5D self, int i, int j, int k, int l) -> GridIndex5D
7207  __init__(GridIndex5D self, int i, int j, int k, int l, int m) -> GridIndex5D
7208  __init__(GridIndex5D self, int i, int j, int k, int l, int m, int n) -> GridIndex5D
7209  """
7210  _IMP_algebra.GridIndex5D_swiginit(self, _IMP_algebra.new_GridIndex5D(*args))
7211 
7212  def get_dimension(self):
7213  r"""get_dimension(GridIndex5D self) -> unsigned int"""
7214  return _IMP_algebra.GridIndex5D_get_dimension(self)
7215 
7216  def __getitem__(self, i):
7217  r"""__getitem__(GridIndex5D self, unsigned int i) -> int const &"""
7218  return _IMP_algebra.GridIndex5D___getitem__(self, i)
7219 
7220  def show(self, *args):
7221  r"""show(GridIndex5D self, _ostream out=std::cout)"""
7222  return _IMP_algebra.GridIndex5D_show(self, *args)
7223 
7224  def __len__(self):
7225  r"""__len__(GridIndex5D self) -> unsigned int"""
7226  return _IMP_algebra.GridIndex5D___len__(self)
7227 
7228  def __cmp__(self, o):
7229  r"""__cmp__(GridIndex5D self, GridIndex5D o) -> int"""
7230  return _IMP_algebra.GridIndex5D___cmp__(self, o)
7231 
7232  def __eq__(self, o):
7233  r"""__eq__(GridIndex5D self, GridIndex5D o) -> bool"""
7234  return _IMP_algebra.GridIndex5D___eq__(self, o)
7235 
7236  def __ne__(self, o):
7237  r"""__ne__(GridIndex5D self, GridIndex5D o) -> bool"""
7238  return _IMP_algebra.GridIndex5D___ne__(self, o)
7239 
7240  def __lt__(self, o):
7241  r"""__lt__(GridIndex5D self, GridIndex5D o) -> bool"""
7242  return _IMP_algebra.GridIndex5D___lt__(self, o)
7243 
7244  def __gt__(self, o):
7245  r"""__gt__(GridIndex5D self, GridIndex5D o) -> bool"""
7246  return _IMP_algebra.GridIndex5D___gt__(self, o)
7247 
7248  def __ge__(self, o):
7249  r"""__ge__(GridIndex5D self, GridIndex5D o) -> bool"""
7250  return _IMP_algebra.GridIndex5D___ge__(self, o)
7251 
7252  def __le__(self, o):
7253  r"""__le__(GridIndex5D self, GridIndex5D o) -> bool"""
7254  return _IMP_algebra.GridIndex5D___le__(self, o)
7255 
7256  def __hash__(self):
7257  r"""__hash__(GridIndex5D self) -> std::size_t"""
7258  return _IMP_algebra.GridIndex5D___hash__(self)
7259 
7260  def __str__(self):
7261  r"""__str__(GridIndex5D self) -> std::string"""
7262  return _IMP_algebra.GridIndex5D___str__(self)
7263 
7264  def __repr__(self):
7265  r"""__repr__(GridIndex5D self) -> std::string"""
7266  return _IMP_algebra.GridIndex5D___repr__(self)
7267 
7268  def _get_as_binary(self):
7269  r"""_get_as_binary(GridIndex5D self) -> PyObject *"""
7270  return _IMP_algebra.GridIndex5D__get_as_binary(self)
7271 
7272  def _set_from_binary(self, p):
7273  r"""_set_from_binary(GridIndex5D self, PyObject * p)"""
7274  return _IMP_algebra.GridIndex5D__set_from_binary(self, p)
7275 
7276  def __getstate__(self):
7277  p = self._get_as_binary()
7278  if len(self.__dict__) > 1:
7279  d = self.__dict__.copy()
7280  del d['this']
7281  p = (d, p)
7282  return p
7283 
7284  def __setstate__(self, p):
7285  if not hasattr(self, 'this'):
7286  self.__init__()
7287  if isinstance(p, tuple):
7288  d, p = p
7289  self.__dict__.update(d)
7290  return self._set_from_binary(p)
7291 
7292  __swig_destroy__ = _IMP_algebra.delete_GridIndex5D
7293 
7294 # Register GridIndex5D in _IMP_algebra:
7295 _IMP_algebra.GridIndex5D_swigregister(GridIndex5D)
7296 class GridIndex6D(IMP._Value):
7297  r"""Proxy of C++ IMP::algebra::GridIndexD< 6 > class."""
7298 
7299  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7300 
7301  def __init__(self, *args):
7302  r"""
7303  __init__(GridIndex6D self) -> GridIndex6D
7304  __init__(GridIndex6D self, int x) -> GridIndex6D
7305  __init__(GridIndex6D self, int x, int y) -> GridIndex6D
7306  __init__(GridIndex6D self, int x, int y, int z) -> GridIndex6D
7307  __init__(GridIndex6D self, int i, int j, int k, int l) -> GridIndex6D
7308  __init__(GridIndex6D self, int i, int j, int k, int l, int m) -> GridIndex6D
7309  __init__(GridIndex6D self, int i, int j, int k, int l, int m, int n) -> GridIndex6D
7310  """
7311  _IMP_algebra.GridIndex6D_swiginit(self, _IMP_algebra.new_GridIndex6D(*args))
7312 
7313  def get_dimension(self):
7314  r"""get_dimension(GridIndex6D self) -> unsigned int"""
7315  return _IMP_algebra.GridIndex6D_get_dimension(self)
7316 
7317  def __getitem__(self, i):
7318  r"""__getitem__(GridIndex6D self, unsigned int i) -> int const &"""
7319  return _IMP_algebra.GridIndex6D___getitem__(self, i)
7320 
7321  def show(self, *args):
7322  r"""show(GridIndex6D self, _ostream out=std::cout)"""
7323  return _IMP_algebra.GridIndex6D_show(self, *args)
7324 
7325  def __len__(self):
7326  r"""__len__(GridIndex6D self) -> unsigned int"""
7327  return _IMP_algebra.GridIndex6D___len__(self)
7328 
7329  def __cmp__(self, o):
7330  r"""__cmp__(GridIndex6D self, GridIndex6D o) -> int"""
7331  return _IMP_algebra.GridIndex6D___cmp__(self, o)
7332 
7333  def __eq__(self, o):
7334  r"""__eq__(GridIndex6D self, GridIndex6D o) -> bool"""
7335  return _IMP_algebra.GridIndex6D___eq__(self, o)
7336 
7337  def __ne__(self, o):
7338  r"""__ne__(GridIndex6D self, GridIndex6D o) -> bool"""
7339  return _IMP_algebra.GridIndex6D___ne__(self, o)
7340 
7341  def __lt__(self, o):
7342  r"""__lt__(GridIndex6D self, GridIndex6D o) -> bool"""
7343  return _IMP_algebra.GridIndex6D___lt__(self, o)
7344 
7345  def __gt__(self, o):
7346  r"""__gt__(GridIndex6D self, GridIndex6D o) -> bool"""
7347  return _IMP_algebra.GridIndex6D___gt__(self, o)
7348 
7349  def __ge__(self, o):
7350  r"""__ge__(GridIndex6D self, GridIndex6D o) -> bool"""
7351  return _IMP_algebra.GridIndex6D___ge__(self, o)
7352 
7353  def __le__(self, o):
7354  r"""__le__(GridIndex6D self, GridIndex6D o) -> bool"""
7355  return _IMP_algebra.GridIndex6D___le__(self, o)
7356 
7357  def __hash__(self):
7358  r"""__hash__(GridIndex6D self) -> std::size_t"""
7359  return _IMP_algebra.GridIndex6D___hash__(self)
7360 
7361  def __str__(self):
7362  r"""__str__(GridIndex6D self) -> std::string"""
7363  return _IMP_algebra.GridIndex6D___str__(self)
7364 
7365  def __repr__(self):
7366  r"""__repr__(GridIndex6D self) -> std::string"""
7367  return _IMP_algebra.GridIndex6D___repr__(self)
7368 
7369  def _get_as_binary(self):
7370  r"""_get_as_binary(GridIndex6D self) -> PyObject *"""
7371  return _IMP_algebra.GridIndex6D__get_as_binary(self)
7372 
7373  def _set_from_binary(self, p):
7374  r"""_set_from_binary(GridIndex6D self, PyObject * p)"""
7375  return _IMP_algebra.GridIndex6D__set_from_binary(self, p)
7376 
7377  def __getstate__(self):
7378  p = self._get_as_binary()
7379  if len(self.__dict__) > 1:
7380  d = self.__dict__.copy()
7381  del d['this']
7382  p = (d, p)
7383  return p
7384 
7385  def __setstate__(self, p):
7386  if not hasattr(self, 'this'):
7387  self.__init__()
7388  if isinstance(p, tuple):
7389  d, p = p
7390  self.__dict__.update(d)
7391  return self._set_from_binary(p)
7392 
7393  __swig_destroy__ = _IMP_algebra.delete_GridIndex6D
7394 
7395 # Register GridIndex6D in _IMP_algebra:
7396 _IMP_algebra.GridIndex6D_swigregister(GridIndex6D)
7397 class GridIndexKD(IMP._Value):
7398  r"""Proxy of C++ IMP::algebra::GridIndexD< -1 > class."""
7399 
7400  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7401 
7402  def __init__(self, *args):
7403  r"""
7404  __init__(GridIndexKD self) -> GridIndexKD
7405  __init__(GridIndexKD self, int x) -> GridIndexKD
7406  __init__(GridIndexKD self, int x, int y) -> GridIndexKD
7407  __init__(GridIndexKD self, int x, int y, int z) -> GridIndexKD
7408  __init__(GridIndexKD self, int i, int j, int k, int l) -> GridIndexKD
7409  __init__(GridIndexKD self, int i, int j, int k, int l, int m) -> GridIndexKD
7410  __init__(GridIndexKD self, int i, int j, int k, int l, int m, int n) -> GridIndexKD
7411  """
7412  _IMP_algebra.GridIndexKD_swiginit(self, _IMP_algebra.new_GridIndexKD(*args))
7413 
7414  def get_dimension(self):
7415  r"""get_dimension(GridIndexKD self) -> unsigned int"""
7416  return _IMP_algebra.GridIndexKD_get_dimension(self)
7417 
7418  def __getitem__(self, i):
7419  r"""__getitem__(GridIndexKD self, unsigned int i) -> int const &"""
7420  return _IMP_algebra.GridIndexKD___getitem__(self, i)
7421 
7422  def show(self, *args):
7423  r"""show(GridIndexKD self, _ostream out=std::cout)"""
7424  return _IMP_algebra.GridIndexKD_show(self, *args)
7425 
7426  def __len__(self):
7427  r"""__len__(GridIndexKD self) -> unsigned int"""
7428  return _IMP_algebra.GridIndexKD___len__(self)
7429 
7430  def __cmp__(self, o):
7431  r"""__cmp__(GridIndexKD self, GridIndexKD o) -> int"""
7432  return _IMP_algebra.GridIndexKD___cmp__(self, o)
7433 
7434  def __eq__(self, o):
7435  r"""__eq__(GridIndexKD self, GridIndexKD o) -> bool"""
7436  return _IMP_algebra.GridIndexKD___eq__(self, o)
7437 
7438  def __ne__(self, o):
7439  r"""__ne__(GridIndexKD self, GridIndexKD o) -> bool"""
7440  return _IMP_algebra.GridIndexKD___ne__(self, o)
7441 
7442  def __lt__(self, o):
7443  r"""__lt__(GridIndexKD self, GridIndexKD o) -> bool"""
7444  return _IMP_algebra.GridIndexKD___lt__(self, o)
7445 
7446  def __gt__(self, o):
7447  r"""__gt__(GridIndexKD self, GridIndexKD o) -> bool"""
7448  return _IMP_algebra.GridIndexKD___gt__(self, o)
7449 
7450  def __ge__(self, o):
7451  r"""__ge__(GridIndexKD self, GridIndexKD o) -> bool"""
7452  return _IMP_algebra.GridIndexKD___ge__(self, o)
7453 
7454  def __le__(self, o):
7455  r"""__le__(GridIndexKD self, GridIndexKD o) -> bool"""
7456  return _IMP_algebra.GridIndexKD___le__(self, o)
7457 
7458  def __hash__(self):
7459  r"""__hash__(GridIndexKD self) -> std::size_t"""
7460  return _IMP_algebra.GridIndexKD___hash__(self)
7461 
7462  def __str__(self):
7463  r"""__str__(GridIndexKD self) -> std::string"""
7464  return _IMP_algebra.GridIndexKD___str__(self)
7465 
7466  def __repr__(self):
7467  r"""__repr__(GridIndexKD self) -> std::string"""
7468  return _IMP_algebra.GridIndexKD___repr__(self)
7469 
7470  def _get_as_binary(self):
7471  r"""_get_as_binary(GridIndexKD self) -> PyObject *"""
7472  return _IMP_algebra.GridIndexKD__get_as_binary(self)
7473 
7474  def _set_from_binary(self, p):
7475  r"""_set_from_binary(GridIndexKD self, PyObject * p)"""
7476  return _IMP_algebra.GridIndexKD__set_from_binary(self, p)
7477 
7478  def __getstate__(self):
7479  p = self._get_as_binary()
7480  if len(self.__dict__) > 1:
7481  d = self.__dict__.copy()
7482  del d['this']
7483  p = (d, p)
7484  return p
7485 
7486  def __setstate__(self, p):
7487  if not hasattr(self, 'this'):
7488  self.__init__()
7489  if isinstance(p, tuple):
7490  d, p = p
7491  self.__dict__.update(d)
7492  return self._set_from_binary(p)
7493 
7494  __swig_destroy__ = _IMP_algebra.delete_GridIndexKD
7495 
7496 # Register GridIndexKD in _IMP_algebra:
7497 _IMP_algebra.GridIndexKD_swigregister(GridIndexKD)
7498 class ExtendedGridIndex1D(IMP._Value):
7499  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 1 > class."""
7500 
7501  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7502 
7503  def __init__(self, *args):
7504  r"""
7505  __init__(ExtendedGridIndex1D self, IMP::Ints vals) -> ExtendedGridIndex1D
7506  __init__(ExtendedGridIndex1D self, int x) -> ExtendedGridIndex1D
7507  __init__(ExtendedGridIndex1D self, int x, int y) -> ExtendedGridIndex1D
7508  __init__(ExtendedGridIndex1D self, int x, int y, int z) -> ExtendedGridIndex1D
7509  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l) -> ExtendedGridIndex1D
7510  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex1D
7511  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex1D
7512  __init__(ExtendedGridIndex1D self) -> ExtendedGridIndex1D
7513  """
7514  _IMP_algebra.ExtendedGridIndex1D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex1D(*args))
7515 
7516  def get_dimension(self):
7517  r"""get_dimension(ExtendedGridIndex1D self) -> unsigned int"""
7518  return _IMP_algebra.ExtendedGridIndex1D_get_dimension(self)
7519 
7520  def __cmp__(self, o):
7521  r"""__cmp__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> int"""
7522  return _IMP_algebra.ExtendedGridIndex1D___cmp__(self, o)
7523 
7524  def __eq__(self, o):
7525  r"""__eq__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7526  return _IMP_algebra.ExtendedGridIndex1D___eq__(self, o)
7527 
7528  def __ne__(self, o):
7529  r"""__ne__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7530  return _IMP_algebra.ExtendedGridIndex1D___ne__(self, o)
7531 
7532  def __lt__(self, o):
7533  r"""__lt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7534  return _IMP_algebra.ExtendedGridIndex1D___lt__(self, o)
7535 
7536  def __gt__(self, o):
7537  r"""__gt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7538  return _IMP_algebra.ExtendedGridIndex1D___gt__(self, o)
7539 
7540  def __ge__(self, o):
7541  r"""__ge__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7542  return _IMP_algebra.ExtendedGridIndex1D___ge__(self, o)
7543 
7544  def __le__(self, o):
7545  r"""__le__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7546  return _IMP_algebra.ExtendedGridIndex1D___le__(self, o)
7547 
7548  def __setitem__(self, i, v):
7549  r"""__setitem__(ExtendedGridIndex1D self, unsigned int i, int const & v)"""
7550  return _IMP_algebra.ExtendedGridIndex1D___setitem__(self, i, v)
7551 
7552  def __getitem__(self, i):
7553  r"""__getitem__(ExtendedGridIndex1D self, unsigned int i) -> int const &"""
7554  return _IMP_algebra.ExtendedGridIndex1D___getitem__(self, i)
7555 
7556  def show(self, *args):
7557  r"""show(ExtendedGridIndex1D self, _ostream out=std::cout)"""
7558  return _IMP_algebra.ExtendedGridIndex1D_show(self, *args)
7559 
7560  def __len__(self):
7561  r"""__len__(ExtendedGridIndex1D self) -> unsigned int"""
7562  return _IMP_algebra.ExtendedGridIndex1D___len__(self)
7563 
7564  def __hash__(self):
7565  r"""__hash__(ExtendedGridIndex1D self) -> std::size_t"""
7566  return _IMP_algebra.ExtendedGridIndex1D___hash__(self)
7567 
7568  def get_uniform_offset(self, ii):
7569  r"""get_uniform_offset(ExtendedGridIndex1D self, int ii) -> ExtendedGridIndex1D"""
7570  return _IMP_algebra.ExtendedGridIndex1D_get_uniform_offset(self, ii)
7571 
7572  def get_offset(self, i, j, k):
7573  r"""get_offset(ExtendedGridIndex1D self, int i, int j, int k) -> ExtendedGridIndex1D"""
7574  return _IMP_algebra.ExtendedGridIndex1D_get_offset(self, i, j, k)
7575 
7576  def __str__(self):
7577  r"""__str__(ExtendedGridIndex1D self) -> std::string"""
7578  return _IMP_algebra.ExtendedGridIndex1D___str__(self)
7579 
7580  def __repr__(self):
7581  r"""__repr__(ExtendedGridIndex1D self) -> std::string"""
7582  return _IMP_algebra.ExtendedGridIndex1D___repr__(self)
7583 
7584  def _get_as_binary(self):
7585  r"""_get_as_binary(ExtendedGridIndex1D self) -> PyObject *"""
7586  return _IMP_algebra.ExtendedGridIndex1D__get_as_binary(self)
7587 
7588  def _set_from_binary(self, p):
7589  r"""_set_from_binary(ExtendedGridIndex1D self, PyObject * p)"""
7590  return _IMP_algebra.ExtendedGridIndex1D__set_from_binary(self, p)
7591 
7592  def __getstate__(self):
7593  p = self._get_as_binary()
7594  if len(self.__dict__) > 1:
7595  d = self.__dict__.copy()
7596  del d['this']
7597  p = (d, p)
7598  return p
7599 
7600  def __setstate__(self, p):
7601  if not hasattr(self, 'this'):
7602  self.__init__()
7603  if isinstance(p, tuple):
7604  d, p = p
7605  self.__dict__.update(d)
7606  return self._set_from_binary(p)
7607 
7608  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex1D
7609 
7610 # Register ExtendedGridIndex1D in _IMP_algebra:
7611 _IMP_algebra.ExtendedGridIndex1D_swigregister(ExtendedGridIndex1D)
7612 class ExtendedGridIndex2D(IMP._Value):
7613  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 2 > class."""
7614 
7615  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7616 
7617  def __init__(self, *args):
7618  r"""
7619  __init__(ExtendedGridIndex2D self, IMP::Ints vals) -> ExtendedGridIndex2D
7620  __init__(ExtendedGridIndex2D self, int x) -> ExtendedGridIndex2D
7621  __init__(ExtendedGridIndex2D self, int x, int y) -> ExtendedGridIndex2D
7622  __init__(ExtendedGridIndex2D self, int x, int y, int z) -> ExtendedGridIndex2D
7623  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l) -> ExtendedGridIndex2D
7624  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex2D
7625  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex2D
7626  __init__(ExtendedGridIndex2D self) -> ExtendedGridIndex2D
7627  """
7628  _IMP_algebra.ExtendedGridIndex2D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex2D(*args))
7629 
7630  def get_dimension(self):
7631  r"""get_dimension(ExtendedGridIndex2D self) -> unsigned int"""
7632  return _IMP_algebra.ExtendedGridIndex2D_get_dimension(self)
7633 
7634  def __cmp__(self, o):
7635  r"""__cmp__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> int"""
7636  return _IMP_algebra.ExtendedGridIndex2D___cmp__(self, o)
7637 
7638  def __eq__(self, o):
7639  r"""__eq__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7640  return _IMP_algebra.ExtendedGridIndex2D___eq__(self, o)
7641 
7642  def __ne__(self, o):
7643  r"""__ne__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7644  return _IMP_algebra.ExtendedGridIndex2D___ne__(self, o)
7645 
7646  def __lt__(self, o):
7647  r"""__lt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7648  return _IMP_algebra.ExtendedGridIndex2D___lt__(self, o)
7649 
7650  def __gt__(self, o):
7651  r"""__gt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7652  return _IMP_algebra.ExtendedGridIndex2D___gt__(self, o)
7653 
7654  def __ge__(self, o):
7655  r"""__ge__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7656  return _IMP_algebra.ExtendedGridIndex2D___ge__(self, o)
7657 
7658  def __le__(self, o):
7659  r"""__le__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7660  return _IMP_algebra.ExtendedGridIndex2D___le__(self, o)
7661 
7662  def __setitem__(self, i, v):
7663  r"""__setitem__(ExtendedGridIndex2D self, unsigned int i, int const & v)"""
7664  return _IMP_algebra.ExtendedGridIndex2D___setitem__(self, i, v)
7665 
7666  def __getitem__(self, i):
7667  r"""__getitem__(ExtendedGridIndex2D self, unsigned int i) -> int const &"""
7668  return _IMP_algebra.ExtendedGridIndex2D___getitem__(self, i)
7669 
7670  def show(self, *args):
7671  r"""show(ExtendedGridIndex2D self, _ostream out=std::cout)"""
7672  return _IMP_algebra.ExtendedGridIndex2D_show(self, *args)
7673 
7674  def __len__(self):
7675  r"""__len__(ExtendedGridIndex2D self) -> unsigned int"""
7676  return _IMP_algebra.ExtendedGridIndex2D___len__(self)
7677 
7678  def __hash__(self):
7679  r"""__hash__(ExtendedGridIndex2D self) -> std::size_t"""
7680  return _IMP_algebra.ExtendedGridIndex2D___hash__(self)
7681 
7682  def get_uniform_offset(self, ii):
7683  r"""get_uniform_offset(ExtendedGridIndex2D self, int ii) -> ExtendedGridIndex2D"""
7684  return _IMP_algebra.ExtendedGridIndex2D_get_uniform_offset(self, ii)
7685 
7686  def get_offset(self, i, j, k):
7687  r"""get_offset(ExtendedGridIndex2D self, int i, int j, int k) -> ExtendedGridIndex2D"""
7688  return _IMP_algebra.ExtendedGridIndex2D_get_offset(self, i, j, k)
7689 
7690  def __str__(self):
7691  r"""__str__(ExtendedGridIndex2D self) -> std::string"""
7692  return _IMP_algebra.ExtendedGridIndex2D___str__(self)
7693 
7694  def __repr__(self):
7695  r"""__repr__(ExtendedGridIndex2D self) -> std::string"""
7696  return _IMP_algebra.ExtendedGridIndex2D___repr__(self)
7697 
7698  def _get_as_binary(self):
7699  r"""_get_as_binary(ExtendedGridIndex2D self) -> PyObject *"""
7700  return _IMP_algebra.ExtendedGridIndex2D__get_as_binary(self)
7701 
7702  def _set_from_binary(self, p):
7703  r"""_set_from_binary(ExtendedGridIndex2D self, PyObject * p)"""
7704  return _IMP_algebra.ExtendedGridIndex2D__set_from_binary(self, p)
7705 
7706  def __getstate__(self):
7707  p = self._get_as_binary()
7708  if len(self.__dict__) > 1:
7709  d = self.__dict__.copy()
7710  del d['this']
7711  p = (d, p)
7712  return p
7713 
7714  def __setstate__(self, p):
7715  if not hasattr(self, 'this'):
7716  self.__init__()
7717  if isinstance(p, tuple):
7718  d, p = p
7719  self.__dict__.update(d)
7720  return self._set_from_binary(p)
7721 
7722  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex2D
7723 
7724 # Register ExtendedGridIndex2D in _IMP_algebra:
7725 _IMP_algebra.ExtendedGridIndex2D_swigregister(ExtendedGridIndex2D)
7726 class ExtendedGridIndex3D(IMP._Value):
7727  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 3 > class."""
7728 
7729  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7730 
7731  def __init__(self, *args):
7732  r"""
7733  __init__(ExtendedGridIndex3D self, IMP::Ints vals) -> ExtendedGridIndex3D
7734  __init__(ExtendedGridIndex3D self, int x) -> ExtendedGridIndex3D
7735  __init__(ExtendedGridIndex3D self, int x, int y) -> ExtendedGridIndex3D
7736  __init__(ExtendedGridIndex3D self, int x, int y, int z) -> ExtendedGridIndex3D
7737  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l) -> ExtendedGridIndex3D
7738  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex3D
7739  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex3D
7740  __init__(ExtendedGridIndex3D self) -> ExtendedGridIndex3D
7741  """
7742  _IMP_algebra.ExtendedGridIndex3D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex3D(*args))
7743 
7744  def get_dimension(self):
7745  r"""get_dimension(ExtendedGridIndex3D self) -> unsigned int"""
7746  return _IMP_algebra.ExtendedGridIndex3D_get_dimension(self)
7747 
7748  def __cmp__(self, o):
7749  r"""__cmp__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> int"""
7750  return _IMP_algebra.ExtendedGridIndex3D___cmp__(self, o)
7751 
7752  def __eq__(self, o):
7753  r"""__eq__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7754  return _IMP_algebra.ExtendedGridIndex3D___eq__(self, o)
7755 
7756  def __ne__(self, o):
7757  r"""__ne__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7758  return _IMP_algebra.ExtendedGridIndex3D___ne__(self, o)
7759 
7760  def __lt__(self, o):
7761  r"""__lt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7762  return _IMP_algebra.ExtendedGridIndex3D___lt__(self, o)
7763 
7764  def __gt__(self, o):
7765  r"""__gt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7766  return _IMP_algebra.ExtendedGridIndex3D___gt__(self, o)
7767 
7768  def __ge__(self, o):
7769  r"""__ge__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7770  return _IMP_algebra.ExtendedGridIndex3D___ge__(self, o)
7771 
7772  def __le__(self, o):
7773  r"""__le__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7774  return _IMP_algebra.ExtendedGridIndex3D___le__(self, o)
7775 
7776  def __setitem__(self, i, v):
7777  r"""__setitem__(ExtendedGridIndex3D self, unsigned int i, int const & v)"""
7778  return _IMP_algebra.ExtendedGridIndex3D___setitem__(self, i, v)
7779 
7780  def __getitem__(self, i):
7781  r"""__getitem__(ExtendedGridIndex3D self, unsigned int i) -> int const &"""
7782  return _IMP_algebra.ExtendedGridIndex3D___getitem__(self, i)
7783 
7784  def show(self, *args):
7785  r"""show(ExtendedGridIndex3D self, _ostream out=std::cout)"""
7786  return _IMP_algebra.ExtendedGridIndex3D_show(self, *args)
7787 
7788  def __len__(self):
7789  r"""__len__(ExtendedGridIndex3D self) -> unsigned int"""
7790  return _IMP_algebra.ExtendedGridIndex3D___len__(self)
7791 
7792  def __hash__(self):
7793  r"""__hash__(ExtendedGridIndex3D self) -> std::size_t"""
7794  return _IMP_algebra.ExtendedGridIndex3D___hash__(self)
7795 
7796  def get_uniform_offset(self, ii):
7797  r"""get_uniform_offset(ExtendedGridIndex3D self, int ii) -> ExtendedGridIndex3D"""
7798  return _IMP_algebra.ExtendedGridIndex3D_get_uniform_offset(self, ii)
7799 
7800  def get_offset(self, i, j, k):
7801  r"""get_offset(ExtendedGridIndex3D self, int i, int j, int k) -> ExtendedGridIndex3D"""
7802  return _IMP_algebra.ExtendedGridIndex3D_get_offset(self, i, j, k)
7803 
7804  def __str__(self):
7805  r"""__str__(ExtendedGridIndex3D self) -> std::string"""
7806  return _IMP_algebra.ExtendedGridIndex3D___str__(self)
7807 
7808  def __repr__(self):
7809  r"""__repr__(ExtendedGridIndex3D self) -> std::string"""
7810  return _IMP_algebra.ExtendedGridIndex3D___repr__(self)
7811 
7812  def _get_as_binary(self):
7813  r"""_get_as_binary(ExtendedGridIndex3D self) -> PyObject *"""
7814  return _IMP_algebra.ExtendedGridIndex3D__get_as_binary(self)
7815 
7816  def _set_from_binary(self, p):
7817  r"""_set_from_binary(ExtendedGridIndex3D self, PyObject * p)"""
7818  return _IMP_algebra.ExtendedGridIndex3D__set_from_binary(self, p)
7819 
7820  def __getstate__(self):
7821  p = self._get_as_binary()
7822  if len(self.__dict__) > 1:
7823  d = self.__dict__.copy()
7824  del d['this']
7825  p = (d, p)
7826  return p
7827 
7828  def __setstate__(self, p):
7829  if not hasattr(self, 'this'):
7830  self.__init__()
7831  if isinstance(p, tuple):
7832  d, p = p
7833  self.__dict__.update(d)
7834  return self._set_from_binary(p)
7835 
7836  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex3D
7837 
7838 # Register ExtendedGridIndex3D in _IMP_algebra:
7839 _IMP_algebra.ExtendedGridIndex3D_swigregister(ExtendedGridIndex3D)
7840 class ExtendedGridIndex4D(IMP._Value):
7841  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 4 > class."""
7842 
7843  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7844 
7845  def __init__(self, *args):
7846  r"""
7847  __init__(ExtendedGridIndex4D self, IMP::Ints vals) -> ExtendedGridIndex4D
7848  __init__(ExtendedGridIndex4D self, int x) -> ExtendedGridIndex4D
7849  __init__(ExtendedGridIndex4D self, int x, int y) -> ExtendedGridIndex4D
7850  __init__(ExtendedGridIndex4D self, int x, int y, int z) -> ExtendedGridIndex4D
7851  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l) -> ExtendedGridIndex4D
7852  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex4D
7853  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex4D
7854  __init__(ExtendedGridIndex4D self) -> ExtendedGridIndex4D
7855  """
7856  _IMP_algebra.ExtendedGridIndex4D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex4D(*args))
7857 
7858  def get_dimension(self):
7859  r"""get_dimension(ExtendedGridIndex4D self) -> unsigned int"""
7860  return _IMP_algebra.ExtendedGridIndex4D_get_dimension(self)
7861 
7862  def __cmp__(self, o):
7863  r"""__cmp__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> int"""
7864  return _IMP_algebra.ExtendedGridIndex4D___cmp__(self, o)
7865 
7866  def __eq__(self, o):
7867  r"""__eq__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7868  return _IMP_algebra.ExtendedGridIndex4D___eq__(self, o)
7869 
7870  def __ne__(self, o):
7871  r"""__ne__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7872  return _IMP_algebra.ExtendedGridIndex4D___ne__(self, o)
7873 
7874  def __lt__(self, o):
7875  r"""__lt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7876  return _IMP_algebra.ExtendedGridIndex4D___lt__(self, o)
7877 
7878  def __gt__(self, o):
7879  r"""__gt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7880  return _IMP_algebra.ExtendedGridIndex4D___gt__(self, o)
7881 
7882  def __ge__(self, o):
7883  r"""__ge__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7884  return _IMP_algebra.ExtendedGridIndex4D___ge__(self, o)
7885 
7886  def __le__(self, o):
7887  r"""__le__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7888  return _IMP_algebra.ExtendedGridIndex4D___le__(self, o)
7889 
7890  def __setitem__(self, i, v):
7891  r"""__setitem__(ExtendedGridIndex4D self, unsigned int i, int const & v)"""
7892  return _IMP_algebra.ExtendedGridIndex4D___setitem__(self, i, v)
7893 
7894  def __getitem__(self, i):
7895  r"""__getitem__(ExtendedGridIndex4D self, unsigned int i) -> int const &"""
7896  return _IMP_algebra.ExtendedGridIndex4D___getitem__(self, i)
7897 
7898  def show(self, *args):
7899  r"""show(ExtendedGridIndex4D self, _ostream out=std::cout)"""
7900  return _IMP_algebra.ExtendedGridIndex4D_show(self, *args)
7901 
7902  def __len__(self):
7903  r"""__len__(ExtendedGridIndex4D self) -> unsigned int"""
7904  return _IMP_algebra.ExtendedGridIndex4D___len__(self)
7905 
7906  def __hash__(self):
7907  r"""__hash__(ExtendedGridIndex4D self) -> std::size_t"""
7908  return _IMP_algebra.ExtendedGridIndex4D___hash__(self)
7909 
7910  def get_uniform_offset(self, ii):
7911  r"""get_uniform_offset(ExtendedGridIndex4D self, int ii) -> ExtendedGridIndex4D"""
7912  return _IMP_algebra.ExtendedGridIndex4D_get_uniform_offset(self, ii)
7913 
7914  def get_offset(self, i, j, k):
7915  r"""get_offset(ExtendedGridIndex4D self, int i, int j, int k) -> ExtendedGridIndex4D"""
7916  return _IMP_algebra.ExtendedGridIndex4D_get_offset(self, i, j, k)
7917 
7918  def __str__(self):
7919  r"""__str__(ExtendedGridIndex4D self) -> std::string"""
7920  return _IMP_algebra.ExtendedGridIndex4D___str__(self)
7921 
7922  def __repr__(self):
7923  r"""__repr__(ExtendedGridIndex4D self) -> std::string"""
7924  return _IMP_algebra.ExtendedGridIndex4D___repr__(self)
7925 
7926  def _get_as_binary(self):
7927  r"""_get_as_binary(ExtendedGridIndex4D self) -> PyObject *"""
7928  return _IMP_algebra.ExtendedGridIndex4D__get_as_binary(self)
7929 
7930  def _set_from_binary(self, p):
7931  r"""_set_from_binary(ExtendedGridIndex4D self, PyObject * p)"""
7932  return _IMP_algebra.ExtendedGridIndex4D__set_from_binary(self, p)
7933 
7934  def __getstate__(self):
7935  p = self._get_as_binary()
7936  if len(self.__dict__) > 1:
7937  d = self.__dict__.copy()
7938  del d['this']
7939  p = (d, p)
7940  return p
7941 
7942  def __setstate__(self, p):
7943  if not hasattr(self, 'this'):
7944  self.__init__()
7945  if isinstance(p, tuple):
7946  d, p = p
7947  self.__dict__.update(d)
7948  return self._set_from_binary(p)
7949 
7950  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex4D
7951 
7952 # Register ExtendedGridIndex4D in _IMP_algebra:
7953 _IMP_algebra.ExtendedGridIndex4D_swigregister(ExtendedGridIndex4D)
7954 class ExtendedGridIndex5D(IMP._Value):
7955  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 5 > class."""
7956 
7957  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7958 
7959  def __init__(self, *args):
7960  r"""
7961  __init__(ExtendedGridIndex5D self, IMP::Ints vals) -> ExtendedGridIndex5D
7962  __init__(ExtendedGridIndex5D self, int x) -> ExtendedGridIndex5D
7963  __init__(ExtendedGridIndex5D self, int x, int y) -> ExtendedGridIndex5D
7964  __init__(ExtendedGridIndex5D self, int x, int y, int z) -> ExtendedGridIndex5D
7965  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l) -> ExtendedGridIndex5D
7966  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex5D
7967  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex5D
7968  __init__(ExtendedGridIndex5D self) -> ExtendedGridIndex5D
7969  """
7970  _IMP_algebra.ExtendedGridIndex5D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex5D(*args))
7971 
7972  def get_dimension(self):
7973  r"""get_dimension(ExtendedGridIndex5D self) -> unsigned int"""
7974  return _IMP_algebra.ExtendedGridIndex5D_get_dimension(self)
7975 
7976  def __cmp__(self, o):
7977  r"""__cmp__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> int"""
7978  return _IMP_algebra.ExtendedGridIndex5D___cmp__(self, o)
7979 
7980  def __eq__(self, o):
7981  r"""__eq__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7982  return _IMP_algebra.ExtendedGridIndex5D___eq__(self, o)
7983 
7984  def __ne__(self, o):
7985  r"""__ne__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7986  return _IMP_algebra.ExtendedGridIndex5D___ne__(self, o)
7987 
7988  def __lt__(self, o):
7989  r"""__lt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7990  return _IMP_algebra.ExtendedGridIndex5D___lt__(self, o)
7991 
7992  def __gt__(self, o):
7993  r"""__gt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7994  return _IMP_algebra.ExtendedGridIndex5D___gt__(self, o)
7995 
7996  def __ge__(self, o):
7997  r"""__ge__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7998  return _IMP_algebra.ExtendedGridIndex5D___ge__(self, o)
7999 
8000  def __le__(self, o):
8001  r"""__le__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8002  return _IMP_algebra.ExtendedGridIndex5D___le__(self, o)
8003 
8004  def __setitem__(self, i, v):
8005  r"""__setitem__(ExtendedGridIndex5D self, unsigned int i, int const & v)"""
8006  return _IMP_algebra.ExtendedGridIndex5D___setitem__(self, i, v)
8007 
8008  def __getitem__(self, i):
8009  r"""__getitem__(ExtendedGridIndex5D self, unsigned int i) -> int const &"""
8010  return _IMP_algebra.ExtendedGridIndex5D___getitem__(self, i)
8011 
8012  def show(self, *args):
8013  r"""show(ExtendedGridIndex5D self, _ostream out=std::cout)"""
8014  return _IMP_algebra.ExtendedGridIndex5D_show(self, *args)
8015 
8016  def __len__(self):
8017  r"""__len__(ExtendedGridIndex5D self) -> unsigned int"""
8018  return _IMP_algebra.ExtendedGridIndex5D___len__(self)
8019 
8020  def __hash__(self):
8021  r"""__hash__(ExtendedGridIndex5D self) -> std::size_t"""
8022  return _IMP_algebra.ExtendedGridIndex5D___hash__(self)
8023 
8024  def get_uniform_offset(self, ii):
8025  r"""get_uniform_offset(ExtendedGridIndex5D self, int ii) -> ExtendedGridIndex5D"""
8026  return _IMP_algebra.ExtendedGridIndex5D_get_uniform_offset(self, ii)
8027 
8028  def get_offset(self, i, j, k):
8029  r"""get_offset(ExtendedGridIndex5D self, int i, int j, int k) -> ExtendedGridIndex5D"""
8030  return _IMP_algebra.ExtendedGridIndex5D_get_offset(self, i, j, k)
8031 
8032  def __str__(self):
8033  r"""__str__(ExtendedGridIndex5D self) -> std::string"""
8034  return _IMP_algebra.ExtendedGridIndex5D___str__(self)
8035 
8036  def __repr__(self):
8037  r"""__repr__(ExtendedGridIndex5D self) -> std::string"""
8038  return _IMP_algebra.ExtendedGridIndex5D___repr__(self)
8039 
8040  def _get_as_binary(self):
8041  r"""_get_as_binary(ExtendedGridIndex5D self) -> PyObject *"""
8042  return _IMP_algebra.ExtendedGridIndex5D__get_as_binary(self)
8043 
8044  def _set_from_binary(self, p):
8045  r"""_set_from_binary(ExtendedGridIndex5D self, PyObject * p)"""
8046  return _IMP_algebra.ExtendedGridIndex5D__set_from_binary(self, p)
8047 
8048  def __getstate__(self):
8049  p = self._get_as_binary()
8050  if len(self.__dict__) > 1:
8051  d = self.__dict__.copy()
8052  del d['this']
8053  p = (d, p)
8054  return p
8055 
8056  def __setstate__(self, p):
8057  if not hasattr(self, 'this'):
8058  self.__init__()
8059  if isinstance(p, tuple):
8060  d, p = p
8061  self.__dict__.update(d)
8062  return self._set_from_binary(p)
8063 
8064  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex5D
8065 
8066 # Register ExtendedGridIndex5D in _IMP_algebra:
8067 _IMP_algebra.ExtendedGridIndex5D_swigregister(ExtendedGridIndex5D)
8068 class ExtendedGridIndex6D(IMP._Value):
8069  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 6 > class."""
8070 
8071  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8072 
8073  def __init__(self, *args):
8074  r"""
8075  __init__(ExtendedGridIndex6D self, IMP::Ints vals) -> ExtendedGridIndex6D
8076  __init__(ExtendedGridIndex6D self, int x) -> ExtendedGridIndex6D
8077  __init__(ExtendedGridIndex6D self, int x, int y) -> ExtendedGridIndex6D
8078  __init__(ExtendedGridIndex6D self, int x, int y, int z) -> ExtendedGridIndex6D
8079  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l) -> ExtendedGridIndex6D
8080  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex6D
8081  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex6D
8082  __init__(ExtendedGridIndex6D self) -> ExtendedGridIndex6D
8083  """
8084  _IMP_algebra.ExtendedGridIndex6D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex6D(*args))
8085 
8086  def get_dimension(self):
8087  r"""get_dimension(ExtendedGridIndex6D self) -> unsigned int"""
8088  return _IMP_algebra.ExtendedGridIndex6D_get_dimension(self)
8089 
8090  def __cmp__(self, o):
8091  r"""__cmp__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> int"""
8092  return _IMP_algebra.ExtendedGridIndex6D___cmp__(self, o)
8093 
8094  def __eq__(self, o):
8095  r"""__eq__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8096  return _IMP_algebra.ExtendedGridIndex6D___eq__(self, o)
8097 
8098  def __ne__(self, o):
8099  r"""__ne__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8100  return _IMP_algebra.ExtendedGridIndex6D___ne__(self, o)
8101 
8102  def __lt__(self, o):
8103  r"""__lt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8104  return _IMP_algebra.ExtendedGridIndex6D___lt__(self, o)
8105 
8106  def __gt__(self, o):
8107  r"""__gt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8108  return _IMP_algebra.ExtendedGridIndex6D___gt__(self, o)
8109 
8110  def __ge__(self, o):
8111  r"""__ge__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8112  return _IMP_algebra.ExtendedGridIndex6D___ge__(self, o)
8113 
8114  def __le__(self, o):
8115  r"""__le__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8116  return _IMP_algebra.ExtendedGridIndex6D___le__(self, o)
8117 
8118  def __setitem__(self, i, v):
8119  r"""__setitem__(ExtendedGridIndex6D self, unsigned int i, int const & v)"""
8120  return _IMP_algebra.ExtendedGridIndex6D___setitem__(self, i, v)
8121 
8122  def __getitem__(self, i):
8123  r"""__getitem__(ExtendedGridIndex6D self, unsigned int i) -> int const &"""
8124  return _IMP_algebra.ExtendedGridIndex6D___getitem__(self, i)
8125 
8126  def show(self, *args):
8127  r"""show(ExtendedGridIndex6D self, _ostream out=std::cout)"""
8128  return _IMP_algebra.ExtendedGridIndex6D_show(self, *args)
8129 
8130  def __len__(self):
8131  r"""__len__(ExtendedGridIndex6D self) -> unsigned int"""
8132  return _IMP_algebra.ExtendedGridIndex6D___len__(self)
8133 
8134  def __hash__(self):
8135  r"""__hash__(ExtendedGridIndex6D self) -> std::size_t"""
8136  return _IMP_algebra.ExtendedGridIndex6D___hash__(self)
8137 
8138  def get_uniform_offset(self, ii):
8139  r"""get_uniform_offset(ExtendedGridIndex6D self, int ii) -> ExtendedGridIndex6D"""
8140  return _IMP_algebra.ExtendedGridIndex6D_get_uniform_offset(self, ii)
8141 
8142  def get_offset(self, i, j, k):
8143  r"""get_offset(ExtendedGridIndex6D self, int i, int j, int k) -> ExtendedGridIndex6D"""
8144  return _IMP_algebra.ExtendedGridIndex6D_get_offset(self, i, j, k)
8145 
8146  def __str__(self):
8147  r"""__str__(ExtendedGridIndex6D self) -> std::string"""
8148  return _IMP_algebra.ExtendedGridIndex6D___str__(self)
8149 
8150  def __repr__(self):
8151  r"""__repr__(ExtendedGridIndex6D self) -> std::string"""
8152  return _IMP_algebra.ExtendedGridIndex6D___repr__(self)
8153 
8154  def _get_as_binary(self):
8155  r"""_get_as_binary(ExtendedGridIndex6D self) -> PyObject *"""
8156  return _IMP_algebra.ExtendedGridIndex6D__get_as_binary(self)
8157 
8158  def _set_from_binary(self, p):
8159  r"""_set_from_binary(ExtendedGridIndex6D self, PyObject * p)"""
8160  return _IMP_algebra.ExtendedGridIndex6D__set_from_binary(self, p)
8161 
8162  def __getstate__(self):
8163  p = self._get_as_binary()
8164  if len(self.__dict__) > 1:
8165  d = self.__dict__.copy()
8166  del d['this']
8167  p = (d, p)
8168  return p
8169 
8170  def __setstate__(self, p):
8171  if not hasattr(self, 'this'):
8172  self.__init__()
8173  if isinstance(p, tuple):
8174  d, p = p
8175  self.__dict__.update(d)
8176  return self._set_from_binary(p)
8177 
8178  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex6D
8179 
8180 # Register ExtendedGridIndex6D in _IMP_algebra:
8181 _IMP_algebra.ExtendedGridIndex6D_swigregister(ExtendedGridIndex6D)
8182 class ExtendedGridIndexKD(IMP._Value):
8183  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< -1 > class."""
8184 
8185  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8186 
8187  def __init__(self, *args):
8188  r"""
8189  __init__(ExtendedGridIndexKD self, IMP::Ints vals) -> ExtendedGridIndexKD
8190  __init__(ExtendedGridIndexKD self, int x) -> ExtendedGridIndexKD
8191  __init__(ExtendedGridIndexKD self, int x, int y) -> ExtendedGridIndexKD
8192  __init__(ExtendedGridIndexKD self, int x, int y, int z) -> ExtendedGridIndexKD
8193  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l) -> ExtendedGridIndexKD
8194  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m) -> ExtendedGridIndexKD
8195  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndexKD
8196  __init__(ExtendedGridIndexKD self) -> ExtendedGridIndexKD
8197  """
8198  _IMP_algebra.ExtendedGridIndexKD_swiginit(self, _IMP_algebra.new_ExtendedGridIndexKD(*args))
8199 
8200  def get_dimension(self):
8201  r"""get_dimension(ExtendedGridIndexKD self) -> unsigned int"""
8202  return _IMP_algebra.ExtendedGridIndexKD_get_dimension(self)
8203 
8204  def __cmp__(self, o):
8205  r"""__cmp__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> int"""
8206  return _IMP_algebra.ExtendedGridIndexKD___cmp__(self, o)
8207 
8208  def __eq__(self, o):
8209  r"""__eq__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8210  return _IMP_algebra.ExtendedGridIndexKD___eq__(self, o)
8211 
8212  def __ne__(self, o):
8213  r"""__ne__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8214  return _IMP_algebra.ExtendedGridIndexKD___ne__(self, o)
8215 
8216  def __lt__(self, o):
8217  r"""__lt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8218  return _IMP_algebra.ExtendedGridIndexKD___lt__(self, o)
8219 
8220  def __gt__(self, o):
8221  r"""__gt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8222  return _IMP_algebra.ExtendedGridIndexKD___gt__(self, o)
8223 
8224  def __ge__(self, o):
8225  r"""__ge__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8226  return _IMP_algebra.ExtendedGridIndexKD___ge__(self, o)
8227 
8228  def __le__(self, o):
8229  r"""__le__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8230  return _IMP_algebra.ExtendedGridIndexKD___le__(self, o)
8231 
8232  def __setitem__(self, i, v):
8233  r"""__setitem__(ExtendedGridIndexKD self, unsigned int i, int const & v)"""
8234  return _IMP_algebra.ExtendedGridIndexKD___setitem__(self, i, v)
8235 
8236  def __getitem__(self, i):
8237  r"""__getitem__(ExtendedGridIndexKD self, unsigned int i) -> int const &"""
8238  return _IMP_algebra.ExtendedGridIndexKD___getitem__(self, i)
8239 
8240  def show(self, *args):
8241  r"""show(ExtendedGridIndexKD self, _ostream out=std::cout)"""
8242  return _IMP_algebra.ExtendedGridIndexKD_show(self, *args)
8243 
8244  def __len__(self):
8245  r"""__len__(ExtendedGridIndexKD self) -> unsigned int"""
8246  return _IMP_algebra.ExtendedGridIndexKD___len__(self)
8247 
8248  def __hash__(self):
8249  r"""__hash__(ExtendedGridIndexKD self) -> std::size_t"""
8250  return _IMP_algebra.ExtendedGridIndexKD___hash__(self)
8251 
8252  def get_uniform_offset(self, ii):
8253  r"""get_uniform_offset(ExtendedGridIndexKD self, int ii) -> ExtendedGridIndexKD"""
8254  return _IMP_algebra.ExtendedGridIndexKD_get_uniform_offset(self, ii)
8255 
8256  def get_offset(self, i, j, k):
8257  r"""get_offset(ExtendedGridIndexKD self, int i, int j, int k) -> ExtendedGridIndexKD"""
8258  return _IMP_algebra.ExtendedGridIndexKD_get_offset(self, i, j, k)
8259 
8260  def __str__(self):
8261  r"""__str__(ExtendedGridIndexKD self) -> std::string"""
8262  return _IMP_algebra.ExtendedGridIndexKD___str__(self)
8263 
8264  def __repr__(self):
8265  r"""__repr__(ExtendedGridIndexKD self) -> std::string"""
8266  return _IMP_algebra.ExtendedGridIndexKD___repr__(self)
8267 
8268  def _get_as_binary(self):
8269  r"""_get_as_binary(ExtendedGridIndexKD self) -> PyObject *"""
8270  return _IMP_algebra.ExtendedGridIndexKD__get_as_binary(self)
8271 
8272  def _set_from_binary(self, p):
8273  r"""_set_from_binary(ExtendedGridIndexKD self, PyObject * p)"""
8274  return _IMP_algebra.ExtendedGridIndexKD__set_from_binary(self, p)
8275 
8276  def __getstate__(self):
8277  p = self._get_as_binary()
8278  if len(self.__dict__) > 1:
8279  d = self.__dict__.copy()
8280  del d['this']
8281  p = (d, p)
8282  return p
8283 
8284  def __setstate__(self, p):
8285  if not hasattr(self, 'this'):
8286  self.__init__()
8287  if isinstance(p, tuple):
8288  d, p = p
8289  self.__dict__.update(d)
8290  return self._set_from_binary(p)
8291 
8292  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndexKD
8293 
8294 # Register ExtendedGridIndexKD in _IMP_algebra:
8295 _IMP_algebra.ExtendedGridIndexKD_swigregister(ExtendedGridIndexKD)
8296 class BoundedGridRange1D(object):
8297  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 1 > class."""
8298 
8299  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8300 
8301  @staticmethod
8302  def get_is_bounded():
8303  r"""get_is_bounded() -> bool"""
8304  return _IMP_algebra.BoundedGridRange1D_get_is_bounded()
8305 
8306  def __init__(self, *args):
8307  r"""
8308  __init__(BoundedGridRange1D self) -> BoundedGridRange1D
8309  __init__(BoundedGridRange1D self, IMP::Ints const & counts) -> BoundedGridRange1D
8310  """
8311  _IMP_algebra.BoundedGridRange1D_swiginit(self, _IMP_algebra.new_BoundedGridRange1D(*args))
8312 
8313  def get_number_of_voxels(self, *args):
8314  r"""
8315  get_number_of_voxels(BoundedGridRange1D self, unsigned int i) -> unsigned int
8316  get_number_of_voxels(BoundedGridRange1D self) -> unsigned int
8317  """
8318  return _IMP_algebra.BoundedGridRange1D_get_number_of_voxels(self, *args)
8319 
8320  def get_end_index(self):
8321  r"""get_end_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8322  return _IMP_algebra.BoundedGridRange1D_get_end_index(self)
8323 
8324  def show(self, *args):
8325  r"""show(BoundedGridRange1D self, _ostream out=std::cout)"""
8326  return _IMP_algebra.BoundedGridRange1D_show(self, *args)
8327 
8328  def get_all_indexes(self):
8329  r"""get_all_indexes(BoundedGridRange1D self) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8330  return _IMP_algebra.BoundedGridRange1D_get_all_indexes(self)
8331 
8332  def get_indexes(self, lb, ub):
8333  r"""get_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8334  return _IMP_algebra.BoundedGridRange1D_get_indexes(self, lb, ub)
8335 
8336  def get_extended_indexes(self, lb, ub):
8337  r"""get_extended_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
8338  return _IMP_algebra.BoundedGridRange1D_get_extended_indexes(self, lb, ub)
8339 
8340  def get_index(self, v):
8341  r"""get_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> GridIndex1D"""
8342  return _IMP_algebra.BoundedGridRange1D_get_index(self, v)
8343 
8344  def get_has_index(self, v):
8345  r"""get_has_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> bool"""
8346  return _IMP_algebra.BoundedGridRange1D_get_has_index(self, v)
8347 
8348  def get_minimum_extended_index(self):
8349  r"""get_minimum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8350  return _IMP_algebra.BoundedGridRange1D_get_minimum_extended_index(self)
8351 
8352  def get_maximum_extended_index(self):
8353  r"""get_maximum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8354  return _IMP_algebra.BoundedGridRange1D_get_maximum_extended_index(self)
8355 
8356  def __str__(self):
8357  r"""__str__(BoundedGridRange1D self) -> std::string"""
8358  return _IMP_algebra.BoundedGridRange1D___str__(self)
8359 
8360  def __repr__(self):
8361  r"""__repr__(BoundedGridRange1D self) -> std::string"""
8362  return _IMP_algebra.BoundedGridRange1D___repr__(self)
8363 
8364  def __cmp__(self, arg2):
8365  r"""__cmp__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> int"""
8366  return _IMP_algebra.BoundedGridRange1D___cmp__(self, arg2)
8367 
8368  def __eq__(self, arg2):
8369  r"""__eq__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> bool"""
8370  return _IMP_algebra.BoundedGridRange1D___eq__(self, arg2)
8371 
8372  def _get_as_binary(self):
8373  r"""_get_as_binary(BoundedGridRange1D self) -> PyObject *"""
8374  return _IMP_algebra.BoundedGridRange1D__get_as_binary(self)
8375 
8376  def _set_from_binary(self, p):
8377  r"""_set_from_binary(BoundedGridRange1D self, PyObject * p)"""
8378  return _IMP_algebra.BoundedGridRange1D__set_from_binary(self, p)
8379 
8380  def __getstate__(self):
8381  p = self._get_as_binary()
8382  if len(self.__dict__) > 1:
8383  d = self.__dict__.copy()
8384  del d['this']
8385  p = (d, p)
8386  return p
8387 
8388  def __setstate__(self, p):
8389  if not hasattr(self, 'this'):
8390  self.__init__()
8391  if isinstance(p, tuple):
8392  d, p = p
8393  self.__dict__.update(d)
8394  return self._set_from_binary(p)
8395 
8396  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange1D
8397 
8398 # Register BoundedGridRange1D in _IMP_algebra:
8399 _IMP_algebra.BoundedGridRange1D_swigregister(BoundedGridRange1D)
8400 class BoundedGridRange2D(object):
8401  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 2 > class."""
8402 
8403  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8404 
8405  @staticmethod
8406  def get_is_bounded():
8407  r"""get_is_bounded() -> bool"""
8408  return _IMP_algebra.BoundedGridRange2D_get_is_bounded()
8409 
8410  def __init__(self, *args):
8411  r"""
8412  __init__(BoundedGridRange2D self) -> BoundedGridRange2D
8413  __init__(BoundedGridRange2D self, IMP::Ints const & counts) -> BoundedGridRange2D
8414  """
8415  _IMP_algebra.BoundedGridRange2D_swiginit(self, _IMP_algebra.new_BoundedGridRange2D(*args))
8416 
8417  def get_number_of_voxels(self, *args):
8418  r"""
8419  get_number_of_voxels(BoundedGridRange2D self, unsigned int i) -> unsigned int
8420  get_number_of_voxels(BoundedGridRange2D self) -> unsigned int
8421  """
8422  return _IMP_algebra.BoundedGridRange2D_get_number_of_voxels(self, *args)
8423 
8424  def get_end_index(self):
8425  r"""get_end_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8426  return _IMP_algebra.BoundedGridRange2D_get_end_index(self)
8427 
8428  def show(self, *args):
8429  r"""show(BoundedGridRange2D self, _ostream out=std::cout)"""
8430  return _IMP_algebra.BoundedGridRange2D_show(self, *args)
8431 
8432  def get_all_indexes(self):
8433  r"""get_all_indexes(BoundedGridRange2D self) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8434  return _IMP_algebra.BoundedGridRange2D_get_all_indexes(self)
8435 
8436  def get_indexes(self, lb, ub):
8437  r"""get_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8438  return _IMP_algebra.BoundedGridRange2D_get_indexes(self, lb, ub)
8439 
8440  def get_extended_indexes(self, lb, ub):
8441  r"""get_extended_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
8442  return _IMP_algebra.BoundedGridRange2D_get_extended_indexes(self, lb, ub)
8443 
8444  def get_index(self, v):
8445  r"""get_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> GridIndex2D"""
8446  return _IMP_algebra.BoundedGridRange2D_get_index(self, v)
8447 
8448  def get_has_index(self, v):
8449  r"""get_has_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> bool"""
8450  return _IMP_algebra.BoundedGridRange2D_get_has_index(self, v)
8451 
8452  def get_minimum_extended_index(self):
8453  r"""get_minimum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8454  return _IMP_algebra.BoundedGridRange2D_get_minimum_extended_index(self)
8455 
8456  def get_maximum_extended_index(self):
8457  r"""get_maximum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8458  return _IMP_algebra.BoundedGridRange2D_get_maximum_extended_index(self)
8459 
8460  def __str__(self):
8461  r"""__str__(BoundedGridRange2D self) -> std::string"""
8462  return _IMP_algebra.BoundedGridRange2D___str__(self)
8463 
8464  def __repr__(self):
8465  r"""__repr__(BoundedGridRange2D self) -> std::string"""
8466  return _IMP_algebra.BoundedGridRange2D___repr__(self)
8467 
8468  def __cmp__(self, arg2):
8469  r"""__cmp__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> int"""
8470  return _IMP_algebra.BoundedGridRange2D___cmp__(self, arg2)
8471 
8472  def __eq__(self, arg2):
8473  r"""__eq__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> bool"""
8474  return _IMP_algebra.BoundedGridRange2D___eq__(self, arg2)
8475 
8476  def _get_as_binary(self):
8477  r"""_get_as_binary(BoundedGridRange2D self) -> PyObject *"""
8478  return _IMP_algebra.BoundedGridRange2D__get_as_binary(self)
8479 
8480  def _set_from_binary(self, p):
8481  r"""_set_from_binary(BoundedGridRange2D self, PyObject * p)"""
8482  return _IMP_algebra.BoundedGridRange2D__set_from_binary(self, p)
8483 
8484  def __getstate__(self):
8485  p = self._get_as_binary()
8486  if len(self.__dict__) > 1:
8487  d = self.__dict__.copy()
8488  del d['this']
8489  p = (d, p)
8490  return p
8491 
8492  def __setstate__(self, p):
8493  if not hasattr(self, 'this'):
8494  self.__init__()
8495  if isinstance(p, tuple):
8496  d, p = p
8497  self.__dict__.update(d)
8498  return self._set_from_binary(p)
8499 
8500  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange2D
8501 
8502 # Register BoundedGridRange2D in _IMP_algebra:
8503 _IMP_algebra.BoundedGridRange2D_swigregister(BoundedGridRange2D)
8504 class BoundedGridRange3D(object):
8505  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 3 > class."""
8506 
8507  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8508 
8509  @staticmethod
8510  def get_is_bounded():
8511  r"""get_is_bounded() -> bool"""
8512  return _IMP_algebra.BoundedGridRange3D_get_is_bounded()
8513 
8514  def __init__(self, *args):
8515  r"""
8516  __init__(BoundedGridRange3D self) -> BoundedGridRange3D
8517  __init__(BoundedGridRange3D self, IMP::Ints const & counts) -> BoundedGridRange3D
8518  """
8519  _IMP_algebra.BoundedGridRange3D_swiginit(self, _IMP_algebra.new_BoundedGridRange3D(*args))
8520 
8521  def get_number_of_voxels(self, *args):
8522  r"""
8523  get_number_of_voxels(BoundedGridRange3D self, unsigned int i) -> unsigned int
8524  get_number_of_voxels(BoundedGridRange3D self) -> unsigned int
8525  """
8526  return _IMP_algebra.BoundedGridRange3D_get_number_of_voxels(self, *args)
8527 
8528  def get_end_index(self):
8529  r"""get_end_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8530  return _IMP_algebra.BoundedGridRange3D_get_end_index(self)
8531 
8532  def show(self, *args):
8533  r"""show(BoundedGridRange3D self, _ostream out=std::cout)"""
8534  return _IMP_algebra.BoundedGridRange3D_show(self, *args)
8535 
8536  def get_all_indexes(self):
8537  r"""get_all_indexes(BoundedGridRange3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8538  return _IMP_algebra.BoundedGridRange3D_get_all_indexes(self)
8539 
8540  def get_indexes(self, lb, ub):
8541  r"""get_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8542  return _IMP_algebra.BoundedGridRange3D_get_indexes(self, lb, ub)
8543 
8544  def get_extended_indexes(self, lb, ub):
8545  r"""get_extended_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
8546  return _IMP_algebra.BoundedGridRange3D_get_extended_indexes(self, lb, ub)
8547 
8548  def get_index(self, v):
8549  r"""get_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
8550  return _IMP_algebra.BoundedGridRange3D_get_index(self, v)
8551 
8552  def get_has_index(self, v):
8553  r"""get_has_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> bool"""
8554  return _IMP_algebra.BoundedGridRange3D_get_has_index(self, v)
8555 
8556  def get_minimum_extended_index(self):
8557  r"""get_minimum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8558  return _IMP_algebra.BoundedGridRange3D_get_minimum_extended_index(self)
8559 
8560  def get_maximum_extended_index(self):
8561  r"""get_maximum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8562  return _IMP_algebra.BoundedGridRange3D_get_maximum_extended_index(self)
8563 
8564  def __str__(self):
8565  r"""__str__(BoundedGridRange3D self) -> std::string"""
8566  return _IMP_algebra.BoundedGridRange3D___str__(self)
8567 
8568  def __repr__(self):
8569  r"""__repr__(BoundedGridRange3D self) -> std::string"""
8570  return _IMP_algebra.BoundedGridRange3D___repr__(self)
8571 
8572  def __cmp__(self, arg2):
8573  r"""__cmp__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> int"""
8574  return _IMP_algebra.BoundedGridRange3D___cmp__(self, arg2)
8575 
8576  def __eq__(self, arg2):
8577  r"""__eq__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> bool"""
8578  return _IMP_algebra.BoundedGridRange3D___eq__(self, arg2)
8579 
8580  def _get_as_binary(self):
8581  r"""_get_as_binary(BoundedGridRange3D self) -> PyObject *"""
8582  return _IMP_algebra.BoundedGridRange3D__get_as_binary(self)
8583 
8584  def _set_from_binary(self, p):
8585  r"""_set_from_binary(BoundedGridRange3D self, PyObject * p)"""
8586  return _IMP_algebra.BoundedGridRange3D__set_from_binary(self, p)
8587 
8588  def __getstate__(self):
8589  p = self._get_as_binary()
8590  if len(self.__dict__) > 1:
8591  d = self.__dict__.copy()
8592  del d['this']
8593  p = (d, p)
8594  return p
8595 
8596  def __setstate__(self, p):
8597  if not hasattr(self, 'this'):
8598  self.__init__()
8599  if isinstance(p, tuple):
8600  d, p = p
8601  self.__dict__.update(d)
8602  return self._set_from_binary(p)
8603 
8604  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange3D
8605 
8606 # Register BoundedGridRange3D in _IMP_algebra:
8607 _IMP_algebra.BoundedGridRange3D_swigregister(BoundedGridRange3D)
8608 class BoundedGridRange4D(object):
8609  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 4 > class."""
8610 
8611  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8612 
8613  @staticmethod
8614  def get_is_bounded():
8615  r"""get_is_bounded() -> bool"""
8616  return _IMP_algebra.BoundedGridRange4D_get_is_bounded()
8617 
8618  def __init__(self, *args):
8619  r"""
8620  __init__(BoundedGridRange4D self) -> BoundedGridRange4D
8621  __init__(BoundedGridRange4D self, IMP::Ints const & counts) -> BoundedGridRange4D
8622  """
8623  _IMP_algebra.BoundedGridRange4D_swiginit(self, _IMP_algebra.new_BoundedGridRange4D(*args))
8624 
8625  def get_number_of_voxels(self, *args):
8626  r"""
8627  get_number_of_voxels(BoundedGridRange4D self, unsigned int i) -> unsigned int
8628  get_number_of_voxels(BoundedGridRange4D self) -> unsigned int
8629  """
8630  return _IMP_algebra.BoundedGridRange4D_get_number_of_voxels(self, *args)
8631 
8632  def get_end_index(self):
8633  r"""get_end_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8634  return _IMP_algebra.BoundedGridRange4D_get_end_index(self)
8635 
8636  def show(self, *args):
8637  r"""show(BoundedGridRange4D self, _ostream out=std::cout)"""
8638  return _IMP_algebra.BoundedGridRange4D_show(self, *args)
8639 
8640  def get_all_indexes(self):
8641  r"""get_all_indexes(BoundedGridRange4D self) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8642  return _IMP_algebra.BoundedGridRange4D_get_all_indexes(self)
8643 
8644  def get_indexes(self, lb, ub):
8645  r"""get_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8646  return _IMP_algebra.BoundedGridRange4D_get_indexes(self, lb, ub)
8647 
8648  def get_extended_indexes(self, lb, ub):
8649  r"""get_extended_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
8650  return _IMP_algebra.BoundedGridRange4D_get_extended_indexes(self, lb, ub)
8651 
8652  def get_index(self, v):
8653  r"""get_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> GridIndex4D"""
8654  return _IMP_algebra.BoundedGridRange4D_get_index(self, v)
8655 
8656  def get_has_index(self, v):
8657  r"""get_has_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> bool"""
8658  return _IMP_algebra.BoundedGridRange4D_get_has_index(self, v)
8659 
8660  def get_minimum_extended_index(self):
8661  r"""get_minimum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8662  return _IMP_algebra.BoundedGridRange4D_get_minimum_extended_index(self)
8663 
8664  def get_maximum_extended_index(self):
8665  r"""get_maximum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8666  return _IMP_algebra.BoundedGridRange4D_get_maximum_extended_index(self)
8667 
8668  def __str__(self):
8669  r"""__str__(BoundedGridRange4D self) -> std::string"""
8670  return _IMP_algebra.BoundedGridRange4D___str__(self)
8671 
8672  def __repr__(self):
8673  r"""__repr__(BoundedGridRange4D self) -> std::string"""
8674  return _IMP_algebra.BoundedGridRange4D___repr__(self)
8675 
8676  def __cmp__(self, arg2):
8677  r"""__cmp__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> int"""
8678  return _IMP_algebra.BoundedGridRange4D___cmp__(self, arg2)
8679 
8680  def __eq__(self, arg2):
8681  r"""__eq__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> bool"""
8682  return _IMP_algebra.BoundedGridRange4D___eq__(self, arg2)
8683 
8684  def _get_as_binary(self):
8685  r"""_get_as_binary(BoundedGridRange4D self) -> PyObject *"""
8686  return _IMP_algebra.BoundedGridRange4D__get_as_binary(self)
8687 
8688  def _set_from_binary(self, p):
8689  r"""_set_from_binary(BoundedGridRange4D self, PyObject * p)"""
8690  return _IMP_algebra.BoundedGridRange4D__set_from_binary(self, p)
8691 
8692  def __getstate__(self):
8693  p = self._get_as_binary()
8694  if len(self.__dict__) > 1:
8695  d = self.__dict__.copy()
8696  del d['this']
8697  p = (d, p)
8698  return p
8699 
8700  def __setstate__(self, p):
8701  if not hasattr(self, 'this'):
8702  self.__init__()
8703  if isinstance(p, tuple):
8704  d, p = p
8705  self.__dict__.update(d)
8706  return self._set_from_binary(p)
8707 
8708  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange4D
8709 
8710 # Register BoundedGridRange4D in _IMP_algebra:
8711 _IMP_algebra.BoundedGridRange4D_swigregister(BoundedGridRange4D)
8712 class BoundedGridRange5D(object):
8713  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 5 > class."""
8714 
8715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8716 
8717  @staticmethod
8718  def get_is_bounded():
8719  r"""get_is_bounded() -> bool"""
8720  return _IMP_algebra.BoundedGridRange5D_get_is_bounded()
8721 
8722  def __init__(self, *args):
8723  r"""
8724  __init__(BoundedGridRange5D self) -> BoundedGridRange5D
8725  __init__(BoundedGridRange5D self, IMP::Ints const & counts) -> BoundedGridRange5D
8726  """
8727  _IMP_algebra.BoundedGridRange5D_swiginit(self, _IMP_algebra.new_BoundedGridRange5D(*args))
8728 
8729  def get_number_of_voxels(self, *args):
8730  r"""
8731  get_number_of_voxels(BoundedGridRange5D self, unsigned int i) -> unsigned int
8732  get_number_of_voxels(BoundedGridRange5D self) -> unsigned int
8733  """
8734  return _IMP_algebra.BoundedGridRange5D_get_number_of_voxels(self, *args)
8735 
8736  def get_end_index(self):
8737  r"""get_end_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8738  return _IMP_algebra.BoundedGridRange5D_get_end_index(self)
8739 
8740  def show(self, *args):
8741  r"""show(BoundedGridRange5D self, _ostream out=std::cout)"""
8742  return _IMP_algebra.BoundedGridRange5D_show(self, *args)
8743 
8744  def get_all_indexes(self):
8745  r"""get_all_indexes(BoundedGridRange5D self) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8746  return _IMP_algebra.BoundedGridRange5D_get_all_indexes(self)
8747 
8748  def get_indexes(self, lb, ub):
8749  r"""get_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8750  return _IMP_algebra.BoundedGridRange5D_get_indexes(self, lb, ub)
8751 
8752  def get_extended_indexes(self, lb, ub):
8753  r"""get_extended_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
8754  return _IMP_algebra.BoundedGridRange5D_get_extended_indexes(self, lb, ub)
8755 
8756  def get_index(self, v):
8757  r"""get_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> GridIndex5D"""
8758  return _IMP_algebra.BoundedGridRange5D_get_index(self, v)
8759 
8760  def get_has_index(self, v):
8761  r"""get_has_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> bool"""
8762  return _IMP_algebra.BoundedGridRange5D_get_has_index(self, v)
8763 
8764  def get_minimum_extended_index(self):
8765  r"""get_minimum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8766  return _IMP_algebra.BoundedGridRange5D_get_minimum_extended_index(self)
8767 
8768  def get_maximum_extended_index(self):
8769  r"""get_maximum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8770  return _IMP_algebra.BoundedGridRange5D_get_maximum_extended_index(self)
8771 
8772  def __str__(self):
8773  r"""__str__(BoundedGridRange5D self) -> std::string"""
8774  return _IMP_algebra.BoundedGridRange5D___str__(self)
8775 
8776  def __repr__(self):
8777  r"""__repr__(BoundedGridRange5D self) -> std::string"""
8778  return _IMP_algebra.BoundedGridRange5D___repr__(self)
8779 
8780  def __cmp__(self, arg2):
8781  r"""__cmp__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> int"""
8782  return _IMP_algebra.BoundedGridRange5D___cmp__(self, arg2)
8783 
8784  def __eq__(self, arg2):
8785  r"""__eq__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> bool"""
8786  return _IMP_algebra.BoundedGridRange5D___eq__(self, arg2)
8787 
8788  def _get_as_binary(self):
8789  r"""_get_as_binary(BoundedGridRange5D self) -> PyObject *"""
8790  return _IMP_algebra.BoundedGridRange5D__get_as_binary(self)
8791 
8792  def _set_from_binary(self, p):
8793  r"""_set_from_binary(BoundedGridRange5D self, PyObject * p)"""
8794  return _IMP_algebra.BoundedGridRange5D__set_from_binary(self, p)
8795 
8796  def __getstate__(self):
8797  p = self._get_as_binary()
8798  if len(self.__dict__) > 1:
8799  d = self.__dict__.copy()
8800  del d['this']
8801  p = (d, p)
8802  return p
8803 
8804  def __setstate__(self, p):
8805  if not hasattr(self, 'this'):
8806  self.__init__()
8807  if isinstance(p, tuple):
8808  d, p = p
8809  self.__dict__.update(d)
8810  return self._set_from_binary(p)
8811 
8812  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange5D
8813 
8814 # Register BoundedGridRange5D in _IMP_algebra:
8815 _IMP_algebra.BoundedGridRange5D_swigregister(BoundedGridRange5D)
8816 class BoundedGridRange6D(object):
8817  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 6 > class."""
8818 
8819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8820 
8821  @staticmethod
8822  def get_is_bounded():
8823  r"""get_is_bounded() -> bool"""
8824  return _IMP_algebra.BoundedGridRange6D_get_is_bounded()
8825 
8826  def __init__(self, *args):
8827  r"""
8828  __init__(BoundedGridRange6D self) -> BoundedGridRange6D
8829  __init__(BoundedGridRange6D self, IMP::Ints const & counts) -> BoundedGridRange6D
8830  """
8831  _IMP_algebra.BoundedGridRange6D_swiginit(self, _IMP_algebra.new_BoundedGridRange6D(*args))
8832 
8833  def get_number_of_voxels(self, *args):
8834  r"""
8835  get_number_of_voxels(BoundedGridRange6D self, unsigned int i) -> unsigned int
8836  get_number_of_voxels(BoundedGridRange6D self) -> unsigned int
8837  """
8838  return _IMP_algebra.BoundedGridRange6D_get_number_of_voxels(self, *args)
8839 
8840  def get_end_index(self):
8841  r"""get_end_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8842  return _IMP_algebra.BoundedGridRange6D_get_end_index(self)
8843 
8844  def show(self, *args):
8845  r"""show(BoundedGridRange6D self, _ostream out=std::cout)"""
8846  return _IMP_algebra.BoundedGridRange6D_show(self, *args)
8847 
8848  def get_all_indexes(self):
8849  r"""get_all_indexes(BoundedGridRange6D self) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8850  return _IMP_algebra.BoundedGridRange6D_get_all_indexes(self)
8851 
8852  def get_indexes(self, lb, ub):
8853  r"""get_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8854  return _IMP_algebra.BoundedGridRange6D_get_indexes(self, lb, ub)
8855 
8856  def get_extended_indexes(self, lb, ub):
8857  r"""get_extended_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
8858  return _IMP_algebra.BoundedGridRange6D_get_extended_indexes(self, lb, ub)
8859 
8860  def get_index(self, v):
8861  r"""get_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> GridIndex6D"""
8862  return _IMP_algebra.BoundedGridRange6D_get_index(self, v)
8863 
8864  def get_has_index(self, v):
8865  r"""get_has_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> bool"""
8866  return _IMP_algebra.BoundedGridRange6D_get_has_index(self, v)
8867 
8868  def get_minimum_extended_index(self):
8869  r"""get_minimum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8870  return _IMP_algebra.BoundedGridRange6D_get_minimum_extended_index(self)
8871 
8872  def get_maximum_extended_index(self):
8873  r"""get_maximum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8874  return _IMP_algebra.BoundedGridRange6D_get_maximum_extended_index(self)
8875 
8876  def __str__(self):
8877  r"""__str__(BoundedGridRange6D self) -> std::string"""
8878  return _IMP_algebra.BoundedGridRange6D___str__(self)
8879 
8880  def __repr__(self):
8881  r"""__repr__(BoundedGridRange6D self) -> std::string"""
8882  return _IMP_algebra.BoundedGridRange6D___repr__(self)
8883 
8884  def __cmp__(self, arg2):
8885  r"""__cmp__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> int"""
8886  return _IMP_algebra.BoundedGridRange6D___cmp__(self, arg2)
8887 
8888  def __eq__(self, arg2):
8889  r"""__eq__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> bool"""
8890  return _IMP_algebra.BoundedGridRange6D___eq__(self, arg2)
8891 
8892  def _get_as_binary(self):
8893  r"""_get_as_binary(BoundedGridRange6D self) -> PyObject *"""
8894  return _IMP_algebra.BoundedGridRange6D__get_as_binary(self)
8895 
8896  def _set_from_binary(self, p):
8897  r"""_set_from_binary(BoundedGridRange6D self, PyObject * p)"""
8898  return _IMP_algebra.BoundedGridRange6D__set_from_binary(self, p)
8899 
8900  def __getstate__(self):
8901  p = self._get_as_binary()
8902  if len(self.__dict__) > 1:
8903  d = self.__dict__.copy()
8904  del d['this']
8905  p = (d, p)
8906  return p
8907 
8908  def __setstate__(self, p):
8909  if not hasattr(self, 'this'):
8910  self.__init__()
8911  if isinstance(p, tuple):
8912  d, p = p
8913  self.__dict__.update(d)
8914  return self._set_from_binary(p)
8915 
8916  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange6D
8917 
8918 # Register BoundedGridRange6D in _IMP_algebra:
8919 _IMP_algebra.BoundedGridRange6D_swigregister(BoundedGridRange6D)
8920 class BoundedGridRangeKD(object):
8921  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< -1 > class."""
8922 
8923  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8924 
8925  @staticmethod
8926  def get_is_bounded():
8927  r"""get_is_bounded() -> bool"""
8928  return _IMP_algebra.BoundedGridRangeKD_get_is_bounded()
8929 
8930  def __init__(self, *args):
8931  r"""
8932  __init__(BoundedGridRangeKD self) -> BoundedGridRangeKD
8933  __init__(BoundedGridRangeKD self, IMP::Ints const & counts) -> BoundedGridRangeKD
8934  """
8935  _IMP_algebra.BoundedGridRangeKD_swiginit(self, _IMP_algebra.new_BoundedGridRangeKD(*args))
8936 
8937  def get_number_of_voxels(self, *args):
8938  r"""
8939  get_number_of_voxels(BoundedGridRangeKD self, unsigned int i) -> unsigned int
8940  get_number_of_voxels(BoundedGridRangeKD self) -> unsigned int
8941  """
8942  return _IMP_algebra.BoundedGridRangeKD_get_number_of_voxels(self, *args)
8943 
8944  def get_end_index(self):
8945  r"""get_end_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8946  return _IMP_algebra.BoundedGridRangeKD_get_end_index(self)
8947 
8948  def show(self, *args):
8949  r"""show(BoundedGridRangeKD self, _ostream out=std::cout)"""
8950  return _IMP_algebra.BoundedGridRangeKD_show(self, *args)
8951 
8952  def get_all_indexes(self):
8953  r"""get_all_indexes(BoundedGridRangeKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8954  return _IMP_algebra.BoundedGridRangeKD_get_all_indexes(self)
8955 
8956  def get_indexes(self, lb, ub):
8957  r"""get_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8958  return _IMP_algebra.BoundedGridRangeKD_get_indexes(self, lb, ub)
8959 
8960  def get_extended_indexes(self, lb, ub):
8961  r"""get_extended_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
8962  return _IMP_algebra.BoundedGridRangeKD_get_extended_indexes(self, lb, ub)
8963 
8964  def get_index(self, v):
8965  r"""get_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
8966  return _IMP_algebra.BoundedGridRangeKD_get_index(self, v)
8967 
8968  def get_has_index(self, v):
8969  r"""get_has_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> bool"""
8970  return _IMP_algebra.BoundedGridRangeKD_get_has_index(self, v)
8971 
8972  def get_minimum_extended_index(self):
8973  r"""get_minimum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8974  return _IMP_algebra.BoundedGridRangeKD_get_minimum_extended_index(self)
8975 
8976  def get_maximum_extended_index(self):
8977  r"""get_maximum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8978  return _IMP_algebra.BoundedGridRangeKD_get_maximum_extended_index(self)
8979 
8980  def __str__(self):
8981  r"""__str__(BoundedGridRangeKD self) -> std::string"""
8982  return _IMP_algebra.BoundedGridRangeKD___str__(self)
8983 
8984  def __repr__(self):
8985  r"""__repr__(BoundedGridRangeKD self) -> std::string"""
8986  return _IMP_algebra.BoundedGridRangeKD___repr__(self)
8987 
8988  def __cmp__(self, arg2):
8989  r"""__cmp__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> int"""
8990  return _IMP_algebra.BoundedGridRangeKD___cmp__(self, arg2)
8991 
8992  def __eq__(self, arg2):
8993  r"""__eq__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> bool"""
8994  return _IMP_algebra.BoundedGridRangeKD___eq__(self, arg2)
8995 
8996  def _get_as_binary(self):
8997  r"""_get_as_binary(BoundedGridRangeKD self) -> PyObject *"""
8998  return _IMP_algebra.BoundedGridRangeKD__get_as_binary(self)
8999 
9000  def _set_from_binary(self, p):
9001  r"""_set_from_binary(BoundedGridRangeKD self, PyObject * p)"""
9002  return _IMP_algebra.BoundedGridRangeKD__set_from_binary(self, p)
9003 
9004  def __getstate__(self):
9005  p = self._get_as_binary()
9006  if len(self.__dict__) > 1:
9007  d = self.__dict__.copy()
9008  del d['this']
9009  p = (d, p)
9010  return p
9011 
9012  def __setstate__(self, p):
9013  if not hasattr(self, 'this'):
9014  self.__init__()
9015  if isinstance(p, tuple):
9016  d, p = p
9017  self.__dict__.update(d)
9018  return self._set_from_binary(p)
9019 
9020  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRangeKD
9021 
9022 # Register BoundedGridRangeKD in _IMP_algebra:
9023 _IMP_algebra.BoundedGridRangeKD_swigregister(BoundedGridRangeKD)
9024 class UnboundedGridRange1D(object):
9025  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 1 > class."""
9026 
9027  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9028 
9029  def __init__(self, *args):
9030  r"""
9031  __init__(UnboundedGridRange1D self) -> UnboundedGridRange1D
9032  __init__(UnboundedGridRange1D self, IMP::Ints const & arg2) -> UnboundedGridRange1D
9033  """
9034  _IMP_algebra.UnboundedGridRange1D_swiginit(self, _IMP_algebra.new_UnboundedGridRange1D(*args))
9035 
9036  def set_number_of_voxels(self, arg2):
9037  r"""set_number_of_voxels(UnboundedGridRange1D self, IMP::Ints arg2)"""
9038  return _IMP_algebra.UnboundedGridRange1D_set_number_of_voxels(self, arg2)
9039 
9040  def get_number_of_voxels(self, arg2):
9041  r"""get_number_of_voxels(UnboundedGridRange1D self, int arg2) -> unsigned int"""
9042  return _IMP_algebra.UnboundedGridRange1D_get_number_of_voxels(self, arg2)
9043 
9044  @staticmethod
9045  def get_is_bounded():
9046  r"""get_is_bounded() -> bool"""
9047  return _IMP_algebra.UnboundedGridRange1D_get_is_bounded()
9048 
9049  def get_has_index(self, arg2):
9050  r"""get_has_index(UnboundedGridRange1D self, ExtendedGridIndex1D arg2) -> bool"""
9051  return _IMP_algebra.UnboundedGridRange1D_get_has_index(self, arg2)
9052 
9053  def show(self, *args):
9054  r"""show(UnboundedGridRange1D self, _ostream out=std::cout)"""
9055  return _IMP_algebra.UnboundedGridRange1D_show(self, *args)
9056 
9057  def get_extended_indexes(self, lb, ub):
9058  r"""get_extended_indexes(UnboundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
9059  return _IMP_algebra.UnboundedGridRange1D_get_extended_indexes(self, lb, ub)
9060 
9061  def __str__(self):
9062  r"""__str__(UnboundedGridRange1D self) -> std::string"""
9063  return _IMP_algebra.UnboundedGridRange1D___str__(self)
9064 
9065  def __repr__(self):
9066  r"""__repr__(UnboundedGridRange1D self) -> std::string"""
9067  return _IMP_algebra.UnboundedGridRange1D___repr__(self)
9068 
9069  def __cmp__(self, arg2):
9070  r"""__cmp__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> int"""
9071  return _IMP_algebra.UnboundedGridRange1D___cmp__(self, arg2)
9072 
9073  def __eq__(self, arg2):
9074  r"""__eq__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> bool"""
9075  return _IMP_algebra.UnboundedGridRange1D___eq__(self, arg2)
9076 
9077  def _get_as_binary(self):
9078  r"""_get_as_binary(UnboundedGridRange1D self) -> PyObject *"""
9079  return _IMP_algebra.UnboundedGridRange1D__get_as_binary(self)
9080 
9081  def _set_from_binary(self, p):
9082  r"""_set_from_binary(UnboundedGridRange1D self, PyObject * p)"""
9083  return _IMP_algebra.UnboundedGridRange1D__set_from_binary(self, p)
9084 
9085  def __getstate__(self):
9086  p = self._get_as_binary()
9087  if len(self.__dict__) > 1:
9088  d = self.__dict__.copy()
9089  del d['this']
9090  p = (d, p)
9091  return p
9092 
9093  def __setstate__(self, p):
9094  if not hasattr(self, 'this'):
9095  self.__init__()
9096  if isinstance(p, tuple):
9097  d, p = p
9098  self.__dict__.update(d)
9099  return self._set_from_binary(p)
9100 
9101  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange1D
9102 
9103 # Register UnboundedGridRange1D in _IMP_algebra:
9104 _IMP_algebra.UnboundedGridRange1D_swigregister(UnboundedGridRange1D)
9105 class UnboundedGridRange2D(object):
9106  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 2 > class."""
9107 
9108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9109 
9110  def __init__(self, *args):
9111  r"""
9112  __init__(UnboundedGridRange2D self) -> UnboundedGridRange2D
9113  __init__(UnboundedGridRange2D self, IMP::Ints const & arg2) -> UnboundedGridRange2D
9114  """
9115  _IMP_algebra.UnboundedGridRange2D_swiginit(self, _IMP_algebra.new_UnboundedGridRange2D(*args))
9116 
9117  def set_number_of_voxels(self, arg2):
9118  r"""set_number_of_voxels(UnboundedGridRange2D self, IMP::Ints arg2)"""
9119  return _IMP_algebra.UnboundedGridRange2D_set_number_of_voxels(self, arg2)
9120 
9121  def get_number_of_voxels(self, arg2):
9122  r"""get_number_of_voxels(UnboundedGridRange2D self, int arg2) -> unsigned int"""
9123  return _IMP_algebra.UnboundedGridRange2D_get_number_of_voxels(self, arg2)
9124 
9125  @staticmethod
9126  def get_is_bounded():
9127  r"""get_is_bounded() -> bool"""
9128  return _IMP_algebra.UnboundedGridRange2D_get_is_bounded()
9129 
9130  def get_has_index(self, arg2):
9131  r"""get_has_index(UnboundedGridRange2D self, ExtendedGridIndex2D arg2) -> bool"""
9132  return _IMP_algebra.UnboundedGridRange2D_get_has_index(self, arg2)
9133 
9134  def show(self, *args):
9135  r"""show(UnboundedGridRange2D self, _ostream out=std::cout)"""
9136  return _IMP_algebra.UnboundedGridRange2D_show(self, *args)
9137 
9138  def get_extended_indexes(self, lb, ub):
9139  r"""get_extended_indexes(UnboundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
9140  return _IMP_algebra.UnboundedGridRange2D_get_extended_indexes(self, lb, ub)
9141 
9142  def __str__(self):
9143  r"""__str__(UnboundedGridRange2D self) -> std::string"""
9144  return _IMP_algebra.UnboundedGridRange2D___str__(self)
9145 
9146  def __repr__(self):
9147  r"""__repr__(UnboundedGridRange2D self) -> std::string"""
9148  return _IMP_algebra.UnboundedGridRange2D___repr__(self)
9149 
9150  def __cmp__(self, arg2):
9151  r"""__cmp__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> int"""
9152  return _IMP_algebra.UnboundedGridRange2D___cmp__(self, arg2)
9153 
9154  def __eq__(self, arg2):
9155  r"""__eq__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> bool"""
9156  return _IMP_algebra.UnboundedGridRange2D___eq__(self, arg2)
9157 
9158  def _get_as_binary(self):
9159  r"""_get_as_binary(UnboundedGridRange2D self) -> PyObject *"""
9160  return _IMP_algebra.UnboundedGridRange2D__get_as_binary(self)
9161 
9162  def _set_from_binary(self, p):
9163  r"""_set_from_binary(UnboundedGridRange2D self, PyObject * p)"""
9164  return _IMP_algebra.UnboundedGridRange2D__set_from_binary(self, p)
9165 
9166  def __getstate__(self):
9167  p = self._get_as_binary()
9168  if len(self.__dict__) > 1:
9169  d = self.__dict__.copy()
9170  del d['this']
9171  p = (d, p)
9172  return p
9173 
9174  def __setstate__(self, p):
9175  if not hasattr(self, 'this'):
9176  self.__init__()
9177  if isinstance(p, tuple):
9178  d, p = p
9179  self.__dict__.update(d)
9180  return self._set_from_binary(p)
9181 
9182  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange2D
9183 
9184 # Register UnboundedGridRange2D in _IMP_algebra:
9185 _IMP_algebra.UnboundedGridRange2D_swigregister(UnboundedGridRange2D)
9186 class UnboundedGridRange3D(object):
9187  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 3 > class."""
9188 
9189  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9190 
9191  def __init__(self, *args):
9192  r"""
9193  __init__(UnboundedGridRange3D self) -> UnboundedGridRange3D
9194  __init__(UnboundedGridRange3D self, IMP::Ints const & arg2) -> UnboundedGridRange3D
9195  """
9196  _IMP_algebra.UnboundedGridRange3D_swiginit(self, _IMP_algebra.new_UnboundedGridRange3D(*args))
9197 
9198  def set_number_of_voxels(self, arg2):
9199  r"""set_number_of_voxels(UnboundedGridRange3D self, IMP::Ints arg2)"""
9200  return _IMP_algebra.UnboundedGridRange3D_set_number_of_voxels(self, arg2)
9201 
9202  def get_number_of_voxels(self, arg2):
9203  r"""get_number_of_voxels(UnboundedGridRange3D self, int arg2) -> unsigned int"""
9204  return _IMP_algebra.UnboundedGridRange3D_get_number_of_voxels(self, arg2)
9205 
9206  @staticmethod
9207  def get_is_bounded():
9208  r"""get_is_bounded() -> bool"""
9209  return _IMP_algebra.UnboundedGridRange3D_get_is_bounded()
9210 
9211  def get_has_index(self, arg2):
9212  r"""get_has_index(UnboundedGridRange3D self, ExtendedGridIndex3D arg2) -> bool"""
9213  return _IMP_algebra.UnboundedGridRange3D_get_has_index(self, arg2)
9214 
9215  def show(self, *args):
9216  r"""show(UnboundedGridRange3D self, _ostream out=std::cout)"""
9217  return _IMP_algebra.UnboundedGridRange3D_show(self, *args)
9218 
9219  def get_extended_indexes(self, lb, ub):
9220  r"""get_extended_indexes(UnboundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
9221  return _IMP_algebra.UnboundedGridRange3D_get_extended_indexes(self, lb, ub)
9222 
9223  def __str__(self):
9224  r"""__str__(UnboundedGridRange3D self) -> std::string"""
9225  return _IMP_algebra.UnboundedGridRange3D___str__(self)
9226 
9227  def __repr__(self):
9228  r"""__repr__(UnboundedGridRange3D self) -> std::string"""
9229  return _IMP_algebra.UnboundedGridRange3D___repr__(self)
9230 
9231  def __cmp__(self, arg2):
9232  r"""__cmp__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> int"""
9233  return _IMP_algebra.UnboundedGridRange3D___cmp__(self, arg2)
9234 
9235  def __eq__(self, arg2):
9236  r"""__eq__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> bool"""
9237  return _IMP_algebra.UnboundedGridRange3D___eq__(self, arg2)
9238 
9239  def _get_as_binary(self):
9240  r"""_get_as_binary(UnboundedGridRange3D self) -> PyObject *"""
9241  return _IMP_algebra.UnboundedGridRange3D__get_as_binary(self)
9242 
9243  def _set_from_binary(self, p):
9244  r"""_set_from_binary(UnboundedGridRange3D self, PyObject * p)"""
9245  return _IMP_algebra.UnboundedGridRange3D__set_from_binary(self, p)
9246 
9247  def __getstate__(self):
9248  p = self._get_as_binary()
9249  if len(self.__dict__) > 1:
9250  d = self.__dict__.copy()
9251  del d['this']
9252  p = (d, p)
9253  return p
9254 
9255  def __setstate__(self, p):
9256  if not hasattr(self, 'this'):
9257  self.__init__()
9258  if isinstance(p, tuple):
9259  d, p = p
9260  self.__dict__.update(d)
9261  return self._set_from_binary(p)
9262 
9263  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange3D
9264 
9265 # Register UnboundedGridRange3D in _IMP_algebra:
9266 _IMP_algebra.UnboundedGridRange3D_swigregister(UnboundedGridRange3D)
9267 class UnboundedGridRange4D(object):
9268  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 4 > class."""
9269 
9270  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9271 
9272  def __init__(self, *args):
9273  r"""
9274  __init__(UnboundedGridRange4D self) -> UnboundedGridRange4D
9275  __init__(UnboundedGridRange4D self, IMP::Ints const & arg2) -> UnboundedGridRange4D
9276  """
9277  _IMP_algebra.UnboundedGridRange4D_swiginit(self, _IMP_algebra.new_UnboundedGridRange4D(*args))
9278 
9279  def set_number_of_voxels(self, arg2):
9280  r"""set_number_of_voxels(UnboundedGridRange4D self, IMP::Ints arg2)"""
9281  return _IMP_algebra.UnboundedGridRange4D_set_number_of_voxels(self, arg2)
9282 
9283  def get_number_of_voxels(self, arg2):
9284  r"""get_number_of_voxels(UnboundedGridRange4D self, int arg2) -> unsigned int"""
9285  return _IMP_algebra.UnboundedGridRange4D_get_number_of_voxels(self, arg2)
9286 
9287  @staticmethod
9288  def get_is_bounded():
9289  r"""get_is_bounded() -> bool"""
9290  return _IMP_algebra.UnboundedGridRange4D_get_is_bounded()
9291 
9292  def get_has_index(self, arg2):
9293  r"""get_has_index(UnboundedGridRange4D self, ExtendedGridIndex4D arg2) -> bool"""
9294  return _IMP_algebra.UnboundedGridRange4D_get_has_index(self, arg2)
9295 
9296  def show(self, *args):
9297  r"""show(UnboundedGridRange4D self, _ostream out=std::cout)"""
9298  return _IMP_algebra.UnboundedGridRange4D_show(self, *args)
9299 
9300  def get_extended_indexes(self, lb, ub):
9301  r"""get_extended_indexes(UnboundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
9302  return _IMP_algebra.UnboundedGridRange4D_get_extended_indexes(self, lb, ub)
9303 
9304  def __str__(self):
9305  r"""__str__(UnboundedGridRange4D self) -> std::string"""
9306  return _IMP_algebra.UnboundedGridRange4D___str__(self)
9307 
9308  def __repr__(self):
9309  r"""__repr__(UnboundedGridRange4D self) -> std::string"""
9310  return _IMP_algebra.UnboundedGridRange4D___repr__(self)
9311 
9312  def __cmp__(self, arg2):
9313  r"""__cmp__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> int"""
9314  return _IMP_algebra.UnboundedGridRange4D___cmp__(self, arg2)
9315 
9316  def __eq__(self, arg2):
9317  r"""__eq__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> bool"""
9318  return _IMP_algebra.UnboundedGridRange4D___eq__(self, arg2)
9319 
9320  def _get_as_binary(self):
9321  r"""_get_as_binary(UnboundedGridRange4D self) -> PyObject *"""
9322  return _IMP_algebra.UnboundedGridRange4D__get_as_binary(self)
9323 
9324  def _set_from_binary(self, p):
9325  r"""_set_from_binary(UnboundedGridRange4D self, PyObject * p)"""
9326  return _IMP_algebra.UnboundedGridRange4D__set_from_binary(self, p)
9327 
9328  def __getstate__(self):
9329  p = self._get_as_binary()
9330  if len(self.__dict__) > 1:
9331  d = self.__dict__.copy()
9332  del d['this']
9333  p = (d, p)
9334  return p
9335 
9336  def __setstate__(self, p):
9337  if not hasattr(self, 'this'):
9338  self.__init__()
9339  if isinstance(p, tuple):
9340  d, p = p
9341  self.__dict__.update(d)
9342  return self._set_from_binary(p)
9343 
9344  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange4D
9345 
9346 # Register UnboundedGridRange4D in _IMP_algebra:
9347 _IMP_algebra.UnboundedGridRange4D_swigregister(UnboundedGridRange4D)
9348 class UnboundedGridRange5D(object):
9349  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 5 > class."""
9350 
9351  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9352 
9353  def __init__(self, *args):
9354  r"""
9355  __init__(UnboundedGridRange5D self) -> UnboundedGridRange5D
9356  __init__(UnboundedGridRange5D self, IMP::Ints const & arg2) -> UnboundedGridRange5D
9357  """
9358  _IMP_algebra.UnboundedGridRange5D_swiginit(self, _IMP_algebra.new_UnboundedGridRange5D(*args))
9359 
9360  def set_number_of_voxels(self, arg2):
9361  r"""set_number_of_voxels(UnboundedGridRange5D self, IMP::Ints arg2)"""
9362  return _IMP_algebra.UnboundedGridRange5D_set_number_of_voxels(self, arg2)
9363 
9364  def get_number_of_voxels(self, arg2):
9365  r"""get_number_of_voxels(UnboundedGridRange5D self, int arg2) -> unsigned int"""
9366  return _IMP_algebra.UnboundedGridRange5D_get_number_of_voxels(self, arg2)
9367 
9368  @staticmethod
9369  def get_is_bounded():
9370  r"""get_is_bounded() -> bool"""
9371  return _IMP_algebra.UnboundedGridRange5D_get_is_bounded()
9372 
9373  def get_has_index(self, arg2):
9374  r"""get_has_index(UnboundedGridRange5D self, ExtendedGridIndex5D arg2) -> bool"""
9375  return _IMP_algebra.UnboundedGridRange5D_get_has_index(self, arg2)
9376 
9377  def show(self, *args):
9378  r"""show(UnboundedGridRange5D self, _ostream out=std::cout)"""
9379  return _IMP_algebra.UnboundedGridRange5D_show(self, *args)
9380 
9381  def get_extended_indexes(self, lb, ub):
9382  r"""get_extended_indexes(UnboundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
9383  return _IMP_algebra.UnboundedGridRange5D_get_extended_indexes(self, lb, ub)
9384 
9385  def __str__(self):
9386  r"""__str__(UnboundedGridRange5D self) -> std::string"""
9387  return _IMP_algebra.UnboundedGridRange5D___str__(self)
9388 
9389  def __repr__(self):
9390  r"""__repr__(UnboundedGridRange5D self) -> std::string"""
9391  return _IMP_algebra.UnboundedGridRange5D___repr__(self)
9392 
9393  def __cmp__(self, arg2):
9394  r"""__cmp__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> int"""
9395  return _IMP_algebra.UnboundedGridRange5D___cmp__(self, arg2)
9396 
9397  def __eq__(self, arg2):
9398  r"""__eq__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> bool"""
9399  return _IMP_algebra.UnboundedGridRange5D___eq__(self, arg2)
9400 
9401  def _get_as_binary(self):
9402  r"""_get_as_binary(UnboundedGridRange5D self) -> PyObject *"""
9403  return _IMP_algebra.UnboundedGridRange5D__get_as_binary(self)
9404 
9405  def _set_from_binary(self, p):
9406  r"""_set_from_binary(UnboundedGridRange5D self, PyObject * p)"""
9407  return _IMP_algebra.UnboundedGridRange5D__set_from_binary(self, p)
9408 
9409  def __getstate__(self):
9410  p = self._get_as_binary()
9411  if len(self.__dict__) > 1:
9412  d = self.__dict__.copy()
9413  del d['this']
9414  p = (d, p)
9415  return p
9416 
9417  def __setstate__(self, p):
9418  if not hasattr(self, 'this'):
9419  self.__init__()
9420  if isinstance(p, tuple):
9421  d, p = p
9422  self.__dict__.update(d)
9423  return self._set_from_binary(p)
9424 
9425  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange5D
9426 
9427 # Register UnboundedGridRange5D in _IMP_algebra:
9428 _IMP_algebra.UnboundedGridRange5D_swigregister(UnboundedGridRange5D)
9429 class UnboundedGridRange6D(object):
9430  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 6 > class."""
9431 
9432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9433 
9434  def __init__(self, *args):
9435  r"""
9436  __init__(UnboundedGridRange6D self) -> UnboundedGridRange6D
9437  __init__(UnboundedGridRange6D self, IMP::Ints const & arg2) -> UnboundedGridRange6D
9438  """
9439  _IMP_algebra.UnboundedGridRange6D_swiginit(self, _IMP_algebra.new_UnboundedGridRange6D(*args))
9440 
9441  def set_number_of_voxels(self, arg2):
9442  r"""set_number_of_voxels(UnboundedGridRange6D self, IMP::Ints arg2)"""
9443  return _IMP_algebra.UnboundedGridRange6D_set_number_of_voxels(self, arg2)
9444 
9445  def get_number_of_voxels(self, arg2):
9446  r"""get_number_of_voxels(UnboundedGridRange6D self, int arg2) -> unsigned int"""
9447  return _IMP_algebra.UnboundedGridRange6D_get_number_of_voxels(self, arg2)
9448 
9449  @staticmethod
9450  def get_is_bounded():
9451  r"""get_is_bounded() -> bool"""
9452  return _IMP_algebra.UnboundedGridRange6D_get_is_bounded()
9453 
9454  def get_has_index(self, arg2):
9455  r"""get_has_index(UnboundedGridRange6D self, ExtendedGridIndex6D arg2) -> bool"""
9456  return _IMP_algebra.UnboundedGridRange6D_get_has_index(self, arg2)
9457 
9458  def show(self, *args):
9459  r"""show(UnboundedGridRange6D self, _ostream out=std::cout)"""
9460  return _IMP_algebra.UnboundedGridRange6D_show(self, *args)
9461 
9462  def get_extended_indexes(self, lb, ub):
9463  r"""get_extended_indexes(UnboundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
9464  return _IMP_algebra.UnboundedGridRange6D_get_extended_indexes(self, lb, ub)
9465 
9466  def __str__(self):
9467  r"""__str__(UnboundedGridRange6D self) -> std::string"""
9468  return _IMP_algebra.UnboundedGridRange6D___str__(self)
9469 
9470  def __repr__(self):
9471  r"""__repr__(UnboundedGridRange6D self) -> std::string"""
9472  return _IMP_algebra.UnboundedGridRange6D___repr__(self)
9473 
9474  def __cmp__(self, arg2):
9475  r"""__cmp__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> int"""
9476  return _IMP_algebra.UnboundedGridRange6D___cmp__(self, arg2)
9477 
9478  def __eq__(self, arg2):
9479  r"""__eq__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> bool"""
9480  return _IMP_algebra.UnboundedGridRange6D___eq__(self, arg2)
9481 
9482  def _get_as_binary(self):
9483  r"""_get_as_binary(UnboundedGridRange6D self) -> PyObject *"""
9484  return _IMP_algebra.UnboundedGridRange6D__get_as_binary(self)
9485 
9486  def _set_from_binary(self, p):
9487  r"""_set_from_binary(UnboundedGridRange6D self, PyObject * p)"""
9488  return _IMP_algebra.UnboundedGridRange6D__set_from_binary(self, p)
9489 
9490  def __getstate__(self):
9491  p = self._get_as_binary()
9492  if len(self.__dict__) > 1:
9493  d = self.__dict__.copy()
9494  del d['this']
9495  p = (d, p)
9496  return p
9497 
9498  def __setstate__(self, p):
9499  if not hasattr(self, 'this'):
9500  self.__init__()
9501  if isinstance(p, tuple):
9502  d, p = p
9503  self.__dict__.update(d)
9504  return self._set_from_binary(p)
9505 
9506  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange6D
9507 
9508 # Register UnboundedGridRange6D in _IMP_algebra:
9509 _IMP_algebra.UnboundedGridRange6D_swigregister(UnboundedGridRange6D)
9510 class UnboundedGridRangeKD(object):
9511  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< -1 > class."""
9512 
9513  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9514 
9515  def __init__(self, *args):
9516  r"""
9517  __init__(UnboundedGridRangeKD self) -> UnboundedGridRangeKD
9518  __init__(UnboundedGridRangeKD self, IMP::Ints const & arg2) -> UnboundedGridRangeKD
9519  """
9520  _IMP_algebra.UnboundedGridRangeKD_swiginit(self, _IMP_algebra.new_UnboundedGridRangeKD(*args))
9521 
9522  def set_number_of_voxels(self, arg2):
9523  r"""set_number_of_voxels(UnboundedGridRangeKD self, IMP::Ints arg2)"""
9524  return _IMP_algebra.UnboundedGridRangeKD_set_number_of_voxels(self, arg2)
9525 
9526  def get_number_of_voxels(self, arg2):
9527  r"""get_number_of_voxels(UnboundedGridRangeKD self, int arg2) -> unsigned int"""
9528  return _IMP_algebra.UnboundedGridRangeKD_get_number_of_voxels(self, arg2)
9529 
9530  @staticmethod
9531  def get_is_bounded():
9532  r"""get_is_bounded() -> bool"""
9533  return _IMP_algebra.UnboundedGridRangeKD_get_is_bounded()
9534 
9535  def get_has_index(self, arg2):
9536  r"""get_has_index(UnboundedGridRangeKD self, ExtendedGridIndexKD arg2) -> bool"""
9537  return _IMP_algebra.UnboundedGridRangeKD_get_has_index(self, arg2)
9538 
9539  def show(self, *args):
9540  r"""show(UnboundedGridRangeKD self, _ostream out=std::cout)"""
9541  return _IMP_algebra.UnboundedGridRangeKD_show(self, *args)
9542 
9543  def get_extended_indexes(self, lb, ub):
9544  r"""get_extended_indexes(UnboundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
9545  return _IMP_algebra.UnboundedGridRangeKD_get_extended_indexes(self, lb, ub)
9546 
9547  def __str__(self):
9548  r"""__str__(UnboundedGridRangeKD self) -> std::string"""
9549  return _IMP_algebra.UnboundedGridRangeKD___str__(self)
9550 
9551  def __repr__(self):
9552  r"""__repr__(UnboundedGridRangeKD self) -> std::string"""
9553  return _IMP_algebra.UnboundedGridRangeKD___repr__(self)
9554 
9555  def __cmp__(self, arg2):
9556  r"""__cmp__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> int"""
9557  return _IMP_algebra.UnboundedGridRangeKD___cmp__(self, arg2)
9558 
9559  def __eq__(self, arg2):
9560  r"""__eq__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> bool"""
9561  return _IMP_algebra.UnboundedGridRangeKD___eq__(self, arg2)
9562 
9563  def _get_as_binary(self):
9564  r"""_get_as_binary(UnboundedGridRangeKD self) -> PyObject *"""
9565  return _IMP_algebra.UnboundedGridRangeKD__get_as_binary(self)
9566 
9567  def _set_from_binary(self, p):
9568  r"""_set_from_binary(UnboundedGridRangeKD self, PyObject * p)"""
9569  return _IMP_algebra.UnboundedGridRangeKD__set_from_binary(self, p)
9570 
9571  def __getstate__(self):
9572  p = self._get_as_binary()
9573  if len(self.__dict__) > 1:
9574  d = self.__dict__.copy()
9575  del d['this']
9576  p = (d, p)
9577  return p
9578 
9579  def __setstate__(self, p):
9580  if not hasattr(self, 'this'):
9581  self.__init__()
9582  if isinstance(p, tuple):
9583  d, p = p
9584  self.__dict__.update(d)
9585  return self._set_from_binary(p)
9586 
9587  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRangeKD
9588 
9589 # Register UnboundedGridRangeKD in _IMP_algebra:
9590 _IMP_algebra.UnboundedGridRangeKD_swigregister(UnboundedGridRangeKD)
9591 class DefaultEmbedding1D(object):
9592  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 1 > class."""
9593 
9594  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9595 
9596  def __init__(self, *args):
9597  r"""
9598  __init__(DefaultEmbedding1D self, Vector1D origin, Vector1D cell) -> DefaultEmbedding1D
9599  __init__(DefaultEmbedding1D self) -> DefaultEmbedding1D
9600  """
9601  _IMP_algebra.DefaultEmbedding1D_swiginit(self, _IMP_algebra.new_DefaultEmbedding1D(*args))
9602 
9603  def set_origin(self, o):
9604  r"""set_origin(DefaultEmbedding1D self, Vector1D o)"""
9605  return _IMP_algebra.DefaultEmbedding1D_set_origin(self, o)
9606 
9607  def get_origin(self):
9608  r"""get_origin(DefaultEmbedding1D self) -> Vector1D"""
9609  return _IMP_algebra.DefaultEmbedding1D_get_origin(self)
9610 
9611  def get_dimension(self):
9612  r"""get_dimension(DefaultEmbedding1D self) -> unsigned int"""
9613  return _IMP_algebra.DefaultEmbedding1D_get_dimension(self)
9614 
9615  def set_unit_cell(self, o):
9616  r"""set_unit_cell(DefaultEmbedding1D self, Vector1D o)"""
9617  return _IMP_algebra.DefaultEmbedding1D_set_unit_cell(self, o)
9618 
9619  def get_inverse_unit_cell(self):
9620  r"""get_inverse_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9621  return _IMP_algebra.DefaultEmbedding1D_get_inverse_unit_cell(self)
9622 
9623  def get_unit_cell(self):
9624  r"""get_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9625  return _IMP_algebra.DefaultEmbedding1D_get_unit_cell(self)
9626 
9627  def get_extended_index(self, o):
9628  r"""get_extended_index(DefaultEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
9629  return _IMP_algebra.DefaultEmbedding1D_get_extended_index(self, o)
9630 
9631  def get_index(self, o):
9632  r"""get_index(DefaultEmbedding1D self, Vector1D o) -> GridIndex1D"""
9633  return _IMP_algebra.DefaultEmbedding1D_get_index(self, o)
9634 
9635  def get_center(self, *args):
9636  r"""
9637  get_center(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
9638  get_center(DefaultEmbedding1D self, GridIndex1D ei) -> Vector1D
9639  """
9640  return _IMP_algebra.DefaultEmbedding1D_get_center(self, *args)
9641 
9642  def get_bounding_box(self, *args):
9643  r"""
9644  get_bounding_box(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
9645  get_bounding_box(DefaultEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
9646  """
9647  return _IMP_algebra.DefaultEmbedding1D_get_bounding_box(self, *args)
9648 
9649  def show(self, *args):
9650  r"""show(DefaultEmbedding1D self, _ostream out=std::cout)"""
9651  return _IMP_algebra.DefaultEmbedding1D_show(self, *args)
9652 
9653  def __str__(self):
9654  r"""__str__(DefaultEmbedding1D self) -> std::string"""
9655  return _IMP_algebra.DefaultEmbedding1D___str__(self)
9656 
9657  def __repr__(self):
9658  r"""__repr__(DefaultEmbedding1D self) -> std::string"""
9659  return _IMP_algebra.DefaultEmbedding1D___repr__(self)
9660 
9661  def __cmp__(self, arg2):
9662  r"""__cmp__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> int"""
9663  return _IMP_algebra.DefaultEmbedding1D___cmp__(self, arg2)
9664 
9665  def __eq__(self, arg2):
9666  r"""__eq__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> bool"""
9667  return _IMP_algebra.DefaultEmbedding1D___eq__(self, arg2)
9668 
9669  def _get_as_binary(self):
9670  r"""_get_as_binary(DefaultEmbedding1D self) -> PyObject *"""
9671  return _IMP_algebra.DefaultEmbedding1D__get_as_binary(self)
9672 
9673  def _set_from_binary(self, p):
9674  r"""_set_from_binary(DefaultEmbedding1D self, PyObject * p)"""
9675  return _IMP_algebra.DefaultEmbedding1D__set_from_binary(self, p)
9676 
9677  def __getstate__(self):
9678  p = self._get_as_binary()
9679  if len(self.__dict__) > 1:
9680  d = self.__dict__.copy()
9681  del d['this']
9682  p = (d, p)
9683  return p
9684 
9685  def __setstate__(self, p):
9686  if not hasattr(self, 'this'):
9687  self.__init__()
9688  if isinstance(p, tuple):
9689  d, p = p
9690  self.__dict__.update(d)
9691  return self._set_from_binary(p)
9692 
9693  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding1D
9694 
9695 # Register DefaultEmbedding1D in _IMP_algebra:
9696 _IMP_algebra.DefaultEmbedding1D_swigregister(DefaultEmbedding1D)
9697 class DefaultEmbedding2D(object):
9698  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 2 > class."""
9699 
9700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9701 
9702  def __init__(self, *args):
9703  r"""
9704  __init__(DefaultEmbedding2D self, Vector2D origin, Vector2D cell) -> DefaultEmbedding2D
9705  __init__(DefaultEmbedding2D self) -> DefaultEmbedding2D
9706  """
9707  _IMP_algebra.DefaultEmbedding2D_swiginit(self, _IMP_algebra.new_DefaultEmbedding2D(*args))
9708 
9709  def set_origin(self, o):
9710  r"""set_origin(DefaultEmbedding2D self, Vector2D o)"""
9711  return _IMP_algebra.DefaultEmbedding2D_set_origin(self, o)
9712 
9713  def get_origin(self):
9714  r"""get_origin(DefaultEmbedding2D self) -> Vector2D"""
9715  return _IMP_algebra.DefaultEmbedding2D_get_origin(self)
9716 
9717  def get_dimension(self):
9718  r"""get_dimension(DefaultEmbedding2D self) -> unsigned int"""
9719  return _IMP_algebra.DefaultEmbedding2D_get_dimension(self)
9720 
9721  def set_unit_cell(self, o):
9722  r"""set_unit_cell(DefaultEmbedding2D self, Vector2D o)"""
9723  return _IMP_algebra.DefaultEmbedding2D_set_unit_cell(self, o)
9724 
9725  def get_inverse_unit_cell(self):
9726  r"""get_inverse_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9727  return _IMP_algebra.DefaultEmbedding2D_get_inverse_unit_cell(self)
9728 
9729  def get_unit_cell(self):
9730  r"""get_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9731  return _IMP_algebra.DefaultEmbedding2D_get_unit_cell(self)
9732 
9733  def get_extended_index(self, o):
9734  r"""get_extended_index(DefaultEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
9735  return _IMP_algebra.DefaultEmbedding2D_get_extended_index(self, o)
9736 
9737  def get_index(self, o):
9738  r"""get_index(DefaultEmbedding2D self, Vector2D o) -> GridIndex2D"""
9739  return _IMP_algebra.DefaultEmbedding2D_get_index(self, o)
9740 
9741  def get_center(self, *args):
9742  r"""
9743  get_center(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
9744  get_center(DefaultEmbedding2D self, GridIndex2D ei) -> Vector2D
9745  """
9746  return _IMP_algebra.DefaultEmbedding2D_get_center(self, *args)
9747 
9748  def get_bounding_box(self, *args):
9749  r"""
9750  get_bounding_box(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
9751  get_bounding_box(DefaultEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
9752  """
9753  return _IMP_algebra.DefaultEmbedding2D_get_bounding_box(self, *args)
9754 
9755  def show(self, *args):
9756  r"""show(DefaultEmbedding2D self, _ostream out=std::cout)"""
9757  return _IMP_algebra.DefaultEmbedding2D_show(self, *args)
9758 
9759  def __str__(self):
9760  r"""__str__(DefaultEmbedding2D self) -> std::string"""
9761  return _IMP_algebra.DefaultEmbedding2D___str__(self)
9762 
9763  def __repr__(self):
9764  r"""__repr__(DefaultEmbedding2D self) -> std::string"""
9765  return _IMP_algebra.DefaultEmbedding2D___repr__(self)
9766 
9767  def __cmp__(self, arg2):
9768  r"""__cmp__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> int"""
9769  return _IMP_algebra.DefaultEmbedding2D___cmp__(self, arg2)
9770 
9771  def __eq__(self, arg2):
9772  r"""__eq__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> bool"""
9773  return _IMP_algebra.DefaultEmbedding2D___eq__(self, arg2)
9774 
9775  def _get_as_binary(self):
9776  r"""_get_as_binary(DefaultEmbedding2D self) -> PyObject *"""
9777  return _IMP_algebra.DefaultEmbedding2D__get_as_binary(self)
9778 
9779  def _set_from_binary(self, p):
9780  r"""_set_from_binary(DefaultEmbedding2D self, PyObject * p)"""
9781  return _IMP_algebra.DefaultEmbedding2D__set_from_binary(self, p)
9782 
9783  def __getstate__(self):
9784  p = self._get_as_binary()
9785  if len(self.__dict__) > 1:
9786  d = self.__dict__.copy()
9787  del d['this']
9788  p = (d, p)
9789  return p
9790 
9791  def __setstate__(self, p):
9792  if not hasattr(self, 'this'):
9793  self.__init__()
9794  if isinstance(p, tuple):
9795  d, p = p
9796  self.__dict__.update(d)
9797  return self._set_from_binary(p)
9798 
9799  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding2D
9800 
9801 # Register DefaultEmbedding2D in _IMP_algebra:
9802 _IMP_algebra.DefaultEmbedding2D_swigregister(DefaultEmbedding2D)
9803 class DefaultEmbedding3D(object):
9804  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 3 > class."""
9805 
9806  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9807 
9808  def __init__(self, *args):
9809  r"""
9810  __init__(DefaultEmbedding3D self, Vector3D origin, Vector3D cell) -> DefaultEmbedding3D
9811  __init__(DefaultEmbedding3D self) -> DefaultEmbedding3D
9812  """
9813  _IMP_algebra.DefaultEmbedding3D_swiginit(self, _IMP_algebra.new_DefaultEmbedding3D(*args))
9814 
9815  def set_origin(self, o):
9816  r"""set_origin(DefaultEmbedding3D self, Vector3D o)"""
9817  return _IMP_algebra.DefaultEmbedding3D_set_origin(self, o)
9818 
9819  def get_origin(self):
9820  r"""get_origin(DefaultEmbedding3D self) -> Vector3D"""
9821  return _IMP_algebra.DefaultEmbedding3D_get_origin(self)
9822 
9823  def get_dimension(self):
9824  r"""get_dimension(DefaultEmbedding3D self) -> unsigned int"""
9825  return _IMP_algebra.DefaultEmbedding3D_get_dimension(self)
9826 
9827  def set_unit_cell(self, o):
9828  r"""set_unit_cell(DefaultEmbedding3D self, Vector3D o)"""
9829  return _IMP_algebra.DefaultEmbedding3D_set_unit_cell(self, o)
9830 
9831  def get_inverse_unit_cell(self):
9832  r"""get_inverse_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9833  return _IMP_algebra.DefaultEmbedding3D_get_inverse_unit_cell(self)
9834 
9835  def get_unit_cell(self):
9836  r"""get_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9837  return _IMP_algebra.DefaultEmbedding3D_get_unit_cell(self)
9838 
9839  def get_extended_index(self, o):
9840  r"""get_extended_index(DefaultEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
9841  return _IMP_algebra.DefaultEmbedding3D_get_extended_index(self, o)
9842 
9843  def get_index(self, o):
9844  r"""get_index(DefaultEmbedding3D self, Vector3D o) -> GridIndex3D"""
9845  return _IMP_algebra.DefaultEmbedding3D_get_index(self, o)
9846 
9847  def get_center(self, *args):
9848  r"""
9849  get_center(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
9850  get_center(DefaultEmbedding3D self, GridIndex3D ei) -> Vector3D
9851  """
9852  return _IMP_algebra.DefaultEmbedding3D_get_center(self, *args)
9853 
9854  def get_bounding_box(self, *args):
9855  r"""
9856  get_bounding_box(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
9857  get_bounding_box(DefaultEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
9858  """
9859  return _IMP_algebra.DefaultEmbedding3D_get_bounding_box(self, *args)
9860 
9861  def show(self, *args):
9862  r"""show(DefaultEmbedding3D self, _ostream out=std::cout)"""
9863  return _IMP_algebra.DefaultEmbedding3D_show(self, *args)
9864 
9865  def __str__(self):
9866  r"""__str__(DefaultEmbedding3D self) -> std::string"""
9867  return _IMP_algebra.DefaultEmbedding3D___str__(self)
9868 
9869  def __repr__(self):
9870  r"""__repr__(DefaultEmbedding3D self) -> std::string"""
9871  return _IMP_algebra.DefaultEmbedding3D___repr__(self)
9872 
9873  def __cmp__(self, arg2):
9874  r"""__cmp__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> int"""
9875  return _IMP_algebra.DefaultEmbedding3D___cmp__(self, arg2)
9876 
9877  def __eq__(self, arg2):
9878  r"""__eq__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> bool"""
9879  return _IMP_algebra.DefaultEmbedding3D___eq__(self, arg2)
9880 
9881  def _get_as_binary(self):
9882  r"""_get_as_binary(DefaultEmbedding3D self) -> PyObject *"""
9883  return _IMP_algebra.DefaultEmbedding3D__get_as_binary(self)
9884 
9885  def _set_from_binary(self, p):
9886  r"""_set_from_binary(DefaultEmbedding3D self, PyObject * p)"""
9887  return _IMP_algebra.DefaultEmbedding3D__set_from_binary(self, p)
9888 
9889  def __getstate__(self):
9890  p = self._get_as_binary()
9891  if len(self.__dict__) > 1:
9892  d = self.__dict__.copy()
9893  del d['this']
9894  p = (d, p)
9895  return p
9896 
9897  def __setstate__(self, p):
9898  if not hasattr(self, 'this'):
9899  self.__init__()
9900  if isinstance(p, tuple):
9901  d, p = p
9902  self.__dict__.update(d)
9903  return self._set_from_binary(p)
9904 
9905  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding3D
9906 
9907 # Register DefaultEmbedding3D in _IMP_algebra:
9908 _IMP_algebra.DefaultEmbedding3D_swigregister(DefaultEmbedding3D)
9909 class DefaultEmbedding4D(object):
9910  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 4 > class."""
9911 
9912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9913 
9914  def __init__(self, *args):
9915  r"""
9916  __init__(DefaultEmbedding4D self, Vector4D origin, Vector4D cell) -> DefaultEmbedding4D
9917  __init__(DefaultEmbedding4D self) -> DefaultEmbedding4D
9918  """
9919  _IMP_algebra.DefaultEmbedding4D_swiginit(self, _IMP_algebra.new_DefaultEmbedding4D(*args))
9920 
9921  def set_origin(self, o):
9922  r"""set_origin(DefaultEmbedding4D self, Vector4D o)"""
9923  return _IMP_algebra.DefaultEmbedding4D_set_origin(self, o)
9924 
9925  def get_origin(self):
9926  r"""get_origin(DefaultEmbedding4D self) -> Vector4D"""
9927  return _IMP_algebra.DefaultEmbedding4D_get_origin(self)
9928 
9929  def get_dimension(self):
9930  r"""get_dimension(DefaultEmbedding4D self) -> unsigned int"""
9931  return _IMP_algebra.DefaultEmbedding4D_get_dimension(self)
9932 
9933  def set_unit_cell(self, o):
9934  r"""set_unit_cell(DefaultEmbedding4D self, Vector4D o)"""
9935  return _IMP_algebra.DefaultEmbedding4D_set_unit_cell(self, o)
9936 
9937  def get_inverse_unit_cell(self):
9938  r"""get_inverse_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9939  return _IMP_algebra.DefaultEmbedding4D_get_inverse_unit_cell(self)
9940 
9941  def get_unit_cell(self):
9942  r"""get_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9943  return _IMP_algebra.DefaultEmbedding4D_get_unit_cell(self)
9944 
9945  def get_extended_index(self, o):
9946  r"""get_extended_index(DefaultEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
9947  return _IMP_algebra.DefaultEmbedding4D_get_extended_index(self, o)
9948 
9949  def get_index(self, o):
9950  r"""get_index(DefaultEmbedding4D self, Vector4D o) -> GridIndex4D"""
9951  return _IMP_algebra.DefaultEmbedding4D_get_index(self, o)
9952 
9953  def get_center(self, *args):
9954  r"""
9955  get_center(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
9956  get_center(DefaultEmbedding4D self, GridIndex4D ei) -> Vector4D
9957  """
9958  return _IMP_algebra.DefaultEmbedding4D_get_center(self, *args)
9959 
9960  def get_bounding_box(self, *args):
9961  r"""
9962  get_bounding_box(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
9963  get_bounding_box(DefaultEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
9964  """
9965  return _IMP_algebra.DefaultEmbedding4D_get_bounding_box(self, *args)
9966 
9967  def show(self, *args):
9968  r"""show(DefaultEmbedding4D self, _ostream out=std::cout)"""
9969  return _IMP_algebra.DefaultEmbedding4D_show(self, *args)
9970 
9971  def __str__(self):
9972  r"""__str__(DefaultEmbedding4D self) -> std::string"""
9973  return _IMP_algebra.DefaultEmbedding4D___str__(self)
9974 
9975  def __repr__(self):
9976  r"""__repr__(DefaultEmbedding4D self) -> std::string"""
9977  return _IMP_algebra.DefaultEmbedding4D___repr__(self)
9978 
9979  def __cmp__(self, arg2):
9980  r"""__cmp__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> int"""
9981  return _IMP_algebra.DefaultEmbedding4D___cmp__(self, arg2)
9982 
9983  def __eq__(self, arg2):
9984  r"""__eq__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> bool"""
9985  return _IMP_algebra.DefaultEmbedding4D___eq__(self, arg2)
9986 
9987  def _get_as_binary(self):
9988  r"""_get_as_binary(DefaultEmbedding4D self) -> PyObject *"""
9989  return _IMP_algebra.DefaultEmbedding4D__get_as_binary(self)
9990 
9991  def _set_from_binary(self, p):
9992  r"""_set_from_binary(DefaultEmbedding4D self, PyObject * p)"""
9993  return _IMP_algebra.DefaultEmbedding4D__set_from_binary(self, p)
9994 
9995  def __getstate__(self):
9996  p = self._get_as_binary()
9997  if len(self.__dict__) > 1:
9998  d = self.__dict__.copy()
9999  del d['this']
10000  p = (d, p)
10001  return p
10002 
10003  def __setstate__(self, p):
10004  if not hasattr(self, 'this'):
10005  self.__init__()
10006  if isinstance(p, tuple):
10007  d, p = p
10008  self.__dict__.update(d)
10009  return self._set_from_binary(p)
10010 
10011  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding4D
10012 
10013 # Register DefaultEmbedding4D in _IMP_algebra:
10014 _IMP_algebra.DefaultEmbedding4D_swigregister(DefaultEmbedding4D)
10015 class DefaultEmbedding5D(object):
10016  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 5 > class."""
10017 
10018  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10019 
10020  def __init__(self, *args):
10021  r"""
10022  __init__(DefaultEmbedding5D self, Vector5D origin, Vector5D cell) -> DefaultEmbedding5D
10023  __init__(DefaultEmbedding5D self) -> DefaultEmbedding5D
10024  """
10025  _IMP_algebra.DefaultEmbedding5D_swiginit(self, _IMP_algebra.new_DefaultEmbedding5D(*args))
10026 
10027  def set_origin(self, o):
10028  r"""set_origin(DefaultEmbedding5D self, Vector5D o)"""
10029  return _IMP_algebra.DefaultEmbedding5D_set_origin(self, o)
10030 
10031  def get_origin(self):
10032  r"""get_origin(DefaultEmbedding5D self) -> Vector5D"""
10033  return _IMP_algebra.DefaultEmbedding5D_get_origin(self)
10034 
10035  def get_dimension(self):
10036  r"""get_dimension(DefaultEmbedding5D self) -> unsigned int"""
10037  return _IMP_algebra.DefaultEmbedding5D_get_dimension(self)
10038 
10039  def set_unit_cell(self, o):
10040  r"""set_unit_cell(DefaultEmbedding5D self, Vector5D o)"""
10041  return _IMP_algebra.DefaultEmbedding5D_set_unit_cell(self, o)
10042 
10043  def get_inverse_unit_cell(self):
10044  r"""get_inverse_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10045  return _IMP_algebra.DefaultEmbedding5D_get_inverse_unit_cell(self)
10046 
10047  def get_unit_cell(self):
10048  r"""get_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10049  return _IMP_algebra.DefaultEmbedding5D_get_unit_cell(self)
10050 
10051  def get_extended_index(self, o):
10052  r"""get_extended_index(DefaultEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10053  return _IMP_algebra.DefaultEmbedding5D_get_extended_index(self, o)
10054 
10055  def get_index(self, o):
10056  r"""get_index(DefaultEmbedding5D self, Vector5D o) -> GridIndex5D"""
10057  return _IMP_algebra.DefaultEmbedding5D_get_index(self, o)
10058 
10059  def get_center(self, *args):
10060  r"""
10061  get_center(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10062  get_center(DefaultEmbedding5D self, GridIndex5D ei) -> Vector5D
10063  """
10064  return _IMP_algebra.DefaultEmbedding5D_get_center(self, *args)
10065 
10066  def get_bounding_box(self, *args):
10067  r"""
10068  get_bounding_box(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10069  get_bounding_box(DefaultEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10070  """
10071  return _IMP_algebra.DefaultEmbedding5D_get_bounding_box(self, *args)
10072 
10073  def show(self, *args):
10074  r"""show(DefaultEmbedding5D self, _ostream out=std::cout)"""
10075  return _IMP_algebra.DefaultEmbedding5D_show(self, *args)
10076 
10077  def __str__(self):
10078  r"""__str__(DefaultEmbedding5D self) -> std::string"""
10079  return _IMP_algebra.DefaultEmbedding5D___str__(self)
10080 
10081  def __repr__(self):
10082  r"""__repr__(DefaultEmbedding5D self) -> std::string"""
10083  return _IMP_algebra.DefaultEmbedding5D___repr__(self)
10084 
10085  def __cmp__(self, arg2):
10086  r"""__cmp__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> int"""
10087  return _IMP_algebra.DefaultEmbedding5D___cmp__(self, arg2)
10088 
10089  def __eq__(self, arg2):
10090  r"""__eq__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> bool"""
10091  return _IMP_algebra.DefaultEmbedding5D___eq__(self, arg2)
10092 
10093  def _get_as_binary(self):
10094  r"""_get_as_binary(DefaultEmbedding5D self) -> PyObject *"""
10095  return _IMP_algebra.DefaultEmbedding5D__get_as_binary(self)
10096 
10097  def _set_from_binary(self, p):
10098  r"""_set_from_binary(DefaultEmbedding5D self, PyObject * p)"""
10099  return _IMP_algebra.DefaultEmbedding5D__set_from_binary(self, p)
10100 
10101  def __getstate__(self):
10102  p = self._get_as_binary()
10103  if len(self.__dict__) > 1:
10104  d = self.__dict__.copy()
10105  del d['this']
10106  p = (d, p)
10107  return p
10108 
10109  def __setstate__(self, p):
10110  if not hasattr(self, 'this'):
10111  self.__init__()
10112  if isinstance(p, tuple):
10113  d, p = p
10114  self.__dict__.update(d)
10115  return self._set_from_binary(p)
10116 
10117  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding5D
10118 
10119 # Register DefaultEmbedding5D in _IMP_algebra:
10120 _IMP_algebra.DefaultEmbedding5D_swigregister(DefaultEmbedding5D)
10121 class DefaultEmbedding6D(object):
10122  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 6 > class."""
10123 
10124  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10125 
10126  def __init__(self, *args):
10127  r"""
10128  __init__(DefaultEmbedding6D self, Vector6D origin, Vector6D cell) -> DefaultEmbedding6D
10129  __init__(DefaultEmbedding6D self) -> DefaultEmbedding6D
10130  """
10131  _IMP_algebra.DefaultEmbedding6D_swiginit(self, _IMP_algebra.new_DefaultEmbedding6D(*args))
10132 
10133  def set_origin(self, o):
10134  r"""set_origin(DefaultEmbedding6D self, Vector6D o)"""
10135  return _IMP_algebra.DefaultEmbedding6D_set_origin(self, o)
10136 
10137  def get_origin(self):
10138  r"""get_origin(DefaultEmbedding6D self) -> Vector6D"""
10139  return _IMP_algebra.DefaultEmbedding6D_get_origin(self)
10140 
10141  def get_dimension(self):
10142  r"""get_dimension(DefaultEmbedding6D self) -> unsigned int"""
10143  return _IMP_algebra.DefaultEmbedding6D_get_dimension(self)
10144 
10145  def set_unit_cell(self, o):
10146  r"""set_unit_cell(DefaultEmbedding6D self, Vector6D o)"""
10147  return _IMP_algebra.DefaultEmbedding6D_set_unit_cell(self, o)
10148 
10149  def get_inverse_unit_cell(self):
10150  r"""get_inverse_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10151  return _IMP_algebra.DefaultEmbedding6D_get_inverse_unit_cell(self)
10152 
10153  def get_unit_cell(self):
10154  r"""get_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10155  return _IMP_algebra.DefaultEmbedding6D_get_unit_cell(self)
10156 
10157  def get_extended_index(self, o):
10158  r"""get_extended_index(DefaultEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10159  return _IMP_algebra.DefaultEmbedding6D_get_extended_index(self, o)
10160 
10161  def get_index(self, o):
10162  r"""get_index(DefaultEmbedding6D self, Vector6D o) -> GridIndex6D"""
10163  return _IMP_algebra.DefaultEmbedding6D_get_index(self, o)
10164 
10165  def get_center(self, *args):
10166  r"""
10167  get_center(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10168  get_center(DefaultEmbedding6D self, GridIndex6D ei) -> Vector6D
10169  """
10170  return _IMP_algebra.DefaultEmbedding6D_get_center(self, *args)
10171 
10172  def get_bounding_box(self, *args):
10173  r"""
10174  get_bounding_box(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10175  get_bounding_box(DefaultEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10176  """
10177  return _IMP_algebra.DefaultEmbedding6D_get_bounding_box(self, *args)
10178 
10179  def show(self, *args):
10180  r"""show(DefaultEmbedding6D self, _ostream out=std::cout)"""
10181  return _IMP_algebra.DefaultEmbedding6D_show(self, *args)
10182 
10183  def __str__(self):
10184  r"""__str__(DefaultEmbedding6D self) -> std::string"""
10185  return _IMP_algebra.DefaultEmbedding6D___str__(self)
10186 
10187  def __repr__(self):
10188  r"""__repr__(DefaultEmbedding6D self) -> std::string"""
10189  return _IMP_algebra.DefaultEmbedding6D___repr__(self)
10190 
10191  def __cmp__(self, arg2):
10192  r"""__cmp__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> int"""
10193  return _IMP_algebra.DefaultEmbedding6D___cmp__(self, arg2)
10194 
10195  def __eq__(self, arg2):
10196  r"""__eq__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> bool"""
10197  return _IMP_algebra.DefaultEmbedding6D___eq__(self, arg2)
10198 
10199  def _get_as_binary(self):
10200  r"""_get_as_binary(DefaultEmbedding6D self) -> PyObject *"""
10201  return _IMP_algebra.DefaultEmbedding6D__get_as_binary(self)
10202 
10203  def _set_from_binary(self, p):
10204  r"""_set_from_binary(DefaultEmbedding6D self, PyObject * p)"""
10205  return _IMP_algebra.DefaultEmbedding6D__set_from_binary(self, p)
10206 
10207  def __getstate__(self):
10208  p = self._get_as_binary()
10209  if len(self.__dict__) > 1:
10210  d = self.__dict__.copy()
10211  del d['this']
10212  p = (d, p)
10213  return p
10214 
10215  def __setstate__(self, p):
10216  if not hasattr(self, 'this'):
10217  self.__init__()
10218  if isinstance(p, tuple):
10219  d, p = p
10220  self.__dict__.update(d)
10221  return self._set_from_binary(p)
10222 
10223  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding6D
10224 
10225 # Register DefaultEmbedding6D in _IMP_algebra:
10226 _IMP_algebra.DefaultEmbedding6D_swigregister(DefaultEmbedding6D)
10227 class DefaultEmbeddingKD(object):
10228  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< -1 > class."""
10229 
10230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10231 
10232  def __init__(self, *args):
10233  r"""
10234  __init__(DefaultEmbeddingKD self, VectorKD origin, VectorKD cell) -> DefaultEmbeddingKD
10235  __init__(DefaultEmbeddingKD self) -> DefaultEmbeddingKD
10236  """
10237  _IMP_algebra.DefaultEmbeddingKD_swiginit(self, _IMP_algebra.new_DefaultEmbeddingKD(*args))
10238 
10239  def set_origin(self, o):
10240  r"""set_origin(DefaultEmbeddingKD self, VectorKD o)"""
10241  return _IMP_algebra.DefaultEmbeddingKD_set_origin(self, o)
10242 
10243  def get_origin(self):
10244  r"""get_origin(DefaultEmbeddingKD self) -> VectorKD"""
10245  return _IMP_algebra.DefaultEmbeddingKD_get_origin(self)
10246 
10247  def get_dimension(self):
10248  r"""get_dimension(DefaultEmbeddingKD self) -> unsigned int"""
10249  return _IMP_algebra.DefaultEmbeddingKD_get_dimension(self)
10250 
10251  def set_unit_cell(self, o):
10252  r"""set_unit_cell(DefaultEmbeddingKD self, VectorKD o)"""
10253  return _IMP_algebra.DefaultEmbeddingKD_set_unit_cell(self, o)
10254 
10255  def get_inverse_unit_cell(self):
10256  r"""get_inverse_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10257  return _IMP_algebra.DefaultEmbeddingKD_get_inverse_unit_cell(self)
10258 
10259  def get_unit_cell(self):
10260  r"""get_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10261  return _IMP_algebra.DefaultEmbeddingKD_get_unit_cell(self)
10262 
10263  def get_extended_index(self, o):
10264  r"""get_extended_index(DefaultEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
10265  return _IMP_algebra.DefaultEmbeddingKD_get_extended_index(self, o)
10266 
10267  def get_index(self, o):
10268  r"""get_index(DefaultEmbeddingKD self, VectorKD o) -> GridIndexKD"""
10269  return _IMP_algebra.DefaultEmbeddingKD_get_index(self, o)
10270 
10271  def get_center(self, *args):
10272  r"""
10273  get_center(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
10274  get_center(DefaultEmbeddingKD self, GridIndexKD ei) -> VectorKD
10275  """
10276  return _IMP_algebra.DefaultEmbeddingKD_get_center(self, *args)
10277 
10278  def get_bounding_box(self, *args):
10279  r"""
10280  get_bounding_box(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
10281  get_bounding_box(DefaultEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
10282  """
10283  return _IMP_algebra.DefaultEmbeddingKD_get_bounding_box(self, *args)
10284 
10285  def show(self, *args):
10286  r"""show(DefaultEmbeddingKD self, _ostream out=std::cout)"""
10287  return _IMP_algebra.DefaultEmbeddingKD_show(self, *args)
10288 
10289  def __str__(self):
10290  r"""__str__(DefaultEmbeddingKD self) -> std::string"""
10291  return _IMP_algebra.DefaultEmbeddingKD___str__(self)
10292 
10293  def __repr__(self):
10294  r"""__repr__(DefaultEmbeddingKD self) -> std::string"""
10295  return _IMP_algebra.DefaultEmbeddingKD___repr__(self)
10296 
10297  def __cmp__(self, arg2):
10298  r"""__cmp__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> int"""
10299  return _IMP_algebra.DefaultEmbeddingKD___cmp__(self, arg2)
10300 
10301  def __eq__(self, arg2):
10302  r"""__eq__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> bool"""
10303  return _IMP_algebra.DefaultEmbeddingKD___eq__(self, arg2)
10304 
10305  def _get_as_binary(self):
10306  r"""_get_as_binary(DefaultEmbeddingKD self) -> PyObject *"""
10307  return _IMP_algebra.DefaultEmbeddingKD__get_as_binary(self)
10308 
10309  def _set_from_binary(self, p):
10310  r"""_set_from_binary(DefaultEmbeddingKD self, PyObject * p)"""
10311  return _IMP_algebra.DefaultEmbeddingKD__set_from_binary(self, p)
10312 
10313  def __getstate__(self):
10314  p = self._get_as_binary()
10315  if len(self.__dict__) > 1:
10316  d = self.__dict__.copy()
10317  del d['this']
10318  p = (d, p)
10319  return p
10320 
10321  def __setstate__(self, p):
10322  if not hasattr(self, 'this'):
10323  self.__init__()
10324  if isinstance(p, tuple):
10325  d, p = p
10326  self.__dict__.update(d)
10327  return self._set_from_binary(p)
10328 
10329  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbeddingKD
10330 
10331 # Register DefaultEmbeddingKD in _IMP_algebra:
10332 _IMP_algebra.DefaultEmbeddingKD_swigregister(DefaultEmbeddingKD)
10333 class LogEmbedding1D(object):
10334  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 1 > class."""
10335 
10336  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10337 
10338  def __init__(self, *args):
10339  r"""
10340  __init__(LogEmbedding1D self, Vector1D origin, Vector1D cell, Vector1D base) -> LogEmbedding1D
10341  __init__(LogEmbedding1D self, BoundingBox1D bb, Vector1D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding1D
10342  __init__(LogEmbedding1D self, Vector1D arg2, Vector1D arg3) -> LogEmbedding1D
10343  __init__(LogEmbedding1D self) -> LogEmbedding1D
10344  """
10345  _IMP_algebra.LogEmbedding1D_swiginit(self, _IMP_algebra.new_LogEmbedding1D(*args))
10346 
10347  def set_origin(self, o):
10348  r"""set_origin(LogEmbedding1D self, Vector1D o)"""
10349  return _IMP_algebra.LogEmbedding1D_set_origin(self, o)
10350 
10351  def get_origin(self):
10352  r"""get_origin(LogEmbedding1D self) -> Vector1D"""
10353  return _IMP_algebra.LogEmbedding1D_get_origin(self)
10354 
10355  def get_dimension(self):
10356  r"""get_dimension(LogEmbedding1D self) -> unsigned int"""
10357  return _IMP_algebra.LogEmbedding1D_get_dimension(self)
10358 
10359  def set_unit_cell(self, *args):
10360  r"""
10361  set_unit_cell(LogEmbedding1D self, Vector1D o, Vector1D base)
10362  set_unit_cell(LogEmbedding1D self, Vector1D o)
10363  """
10364  return _IMP_algebra.LogEmbedding1D_set_unit_cell(self, *args)
10365 
10366  def get_unit_cell(self):
10367  r"""get_unit_cell(LogEmbedding1D self) -> Vector1D"""
10368  return _IMP_algebra.LogEmbedding1D_get_unit_cell(self)
10369 
10370  def get_extended_index(self, o):
10371  r"""get_extended_index(LogEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
10372  return _IMP_algebra.LogEmbedding1D_get_extended_index(self, o)
10373 
10374  def get_index(self, o):
10375  r"""get_index(LogEmbedding1D self, Vector1D o) -> GridIndex1D"""
10376  return _IMP_algebra.LogEmbedding1D_get_index(self, o)
10377 
10378  def get_center(self, *args):
10379  r"""
10380  get_center(LogEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
10381  get_center(LogEmbedding1D self, GridIndex1D ei) -> Vector1D
10382  """
10383  return _IMP_algebra.LogEmbedding1D_get_center(self, *args)
10384 
10385  def get_bounding_box(self, *args):
10386  r"""
10387  get_bounding_box(LogEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
10388  get_bounding_box(LogEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
10389  """
10390  return _IMP_algebra.LogEmbedding1D_get_bounding_box(self, *args)
10391 
10392  def show(self, *args):
10393  r"""show(LogEmbedding1D self, _ostream out=std::cout)"""
10394  return _IMP_algebra.LogEmbedding1D_show(self, *args)
10395 
10396  def __str__(self):
10397  r"""__str__(LogEmbedding1D self) -> std::string"""
10398  return _IMP_algebra.LogEmbedding1D___str__(self)
10399 
10400  def __repr__(self):
10401  r"""__repr__(LogEmbedding1D self) -> std::string"""
10402  return _IMP_algebra.LogEmbedding1D___repr__(self)
10403 
10404  def __cmp__(self, arg2):
10405  r"""__cmp__(LogEmbedding1D self, LogEmbedding1D arg2) -> int"""
10406  return _IMP_algebra.LogEmbedding1D___cmp__(self, arg2)
10407 
10408  def __eq__(self, arg2):
10409  r"""__eq__(LogEmbedding1D self, LogEmbedding1D arg2) -> bool"""
10410  return _IMP_algebra.LogEmbedding1D___eq__(self, arg2)
10411 
10412  def _get_as_binary(self):
10413  r"""_get_as_binary(LogEmbedding1D self) -> PyObject *"""
10414  return _IMP_algebra.LogEmbedding1D__get_as_binary(self)
10415 
10416  def _set_from_binary(self, p):
10417  r"""_set_from_binary(LogEmbedding1D self, PyObject * p)"""
10418  return _IMP_algebra.LogEmbedding1D__set_from_binary(self, p)
10419 
10420  def __getstate__(self):
10421  p = self._get_as_binary()
10422  if len(self.__dict__) > 1:
10423  d = self.__dict__.copy()
10424  del d['this']
10425  p = (d, p)
10426  return p
10427 
10428  def __setstate__(self, p):
10429  if not hasattr(self, 'this'):
10430  self.__init__()
10431  if isinstance(p, tuple):
10432  d, p = p
10433  self.__dict__.update(d)
10434  return self._set_from_binary(p)
10435 
10436  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding1D
10437 
10438 # Register LogEmbedding1D in _IMP_algebra:
10439 _IMP_algebra.LogEmbedding1D_swigregister(LogEmbedding1D)
10440 class LogEmbedding2D(object):
10441  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 2 > class."""
10442 
10443  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10444 
10445  def __init__(self, *args):
10446  r"""
10447  __init__(LogEmbedding2D self, Vector2D origin, Vector2D cell, Vector2D base) -> LogEmbedding2D
10448  __init__(LogEmbedding2D self, BoundingBox2D bb, Vector2D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding2D
10449  __init__(LogEmbedding2D self, Vector2D arg2, Vector2D arg3) -> LogEmbedding2D
10450  __init__(LogEmbedding2D self) -> LogEmbedding2D
10451  """
10452  _IMP_algebra.LogEmbedding2D_swiginit(self, _IMP_algebra.new_LogEmbedding2D(*args))
10453 
10454  def set_origin(self, o):
10455  r"""set_origin(LogEmbedding2D self, Vector2D o)"""
10456  return _IMP_algebra.LogEmbedding2D_set_origin(self, o)
10457 
10458  def get_origin(self):
10459  r"""get_origin(LogEmbedding2D self) -> Vector2D"""
10460  return _IMP_algebra.LogEmbedding2D_get_origin(self)
10461 
10462  def get_dimension(self):
10463  r"""get_dimension(LogEmbedding2D self) -> unsigned int"""
10464  return _IMP_algebra.LogEmbedding2D_get_dimension(self)
10465 
10466  def set_unit_cell(self, *args):
10467  r"""
10468  set_unit_cell(LogEmbedding2D self, Vector2D o, Vector2D base)
10469  set_unit_cell(LogEmbedding2D self, Vector2D o)
10470  """
10471  return _IMP_algebra.LogEmbedding2D_set_unit_cell(self, *args)
10472 
10473  def get_unit_cell(self):
10474  r"""get_unit_cell(LogEmbedding2D self) -> Vector2D"""
10475  return _IMP_algebra.LogEmbedding2D_get_unit_cell(self)
10476 
10477  def get_extended_index(self, o):
10478  r"""get_extended_index(LogEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
10479  return _IMP_algebra.LogEmbedding2D_get_extended_index(self, o)
10480 
10481  def get_index(self, o):
10482  r"""get_index(LogEmbedding2D self, Vector2D o) -> GridIndex2D"""
10483  return _IMP_algebra.LogEmbedding2D_get_index(self, o)
10484 
10485  def get_center(self, *args):
10486  r"""
10487  get_center(LogEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
10488  get_center(LogEmbedding2D self, GridIndex2D ei) -> Vector2D
10489  """
10490  return _IMP_algebra.LogEmbedding2D_get_center(self, *args)
10491 
10492  def get_bounding_box(self, *args):
10493  r"""
10494  get_bounding_box(LogEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
10495  get_bounding_box(LogEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
10496  """
10497  return _IMP_algebra.LogEmbedding2D_get_bounding_box(self, *args)
10498 
10499  def show(self, *args):
10500  r"""show(LogEmbedding2D self, _ostream out=std::cout)"""
10501  return _IMP_algebra.LogEmbedding2D_show(self, *args)
10502 
10503  def __str__(self):
10504  r"""__str__(LogEmbedding2D self) -> std::string"""
10505  return _IMP_algebra.LogEmbedding2D___str__(self)
10506 
10507  def __repr__(self):
10508  r"""__repr__(LogEmbedding2D self) -> std::string"""
10509  return _IMP_algebra.LogEmbedding2D___repr__(self)
10510 
10511  def __cmp__(self, arg2):
10512  r"""__cmp__(LogEmbedding2D self, LogEmbedding2D arg2) -> int"""
10513  return _IMP_algebra.LogEmbedding2D___cmp__(self, arg2)
10514 
10515  def __eq__(self, arg2):
10516  r"""__eq__(LogEmbedding2D self, LogEmbedding2D arg2) -> bool"""
10517  return _IMP_algebra.LogEmbedding2D___eq__(self, arg2)
10518 
10519  def _get_as_binary(self):
10520  r"""_get_as_binary(LogEmbedding2D self) -> PyObject *"""
10521  return _IMP_algebra.LogEmbedding2D__get_as_binary(self)
10522 
10523  def _set_from_binary(self, p):
10524  r"""_set_from_binary(LogEmbedding2D self, PyObject * p)"""
10525  return _IMP_algebra.LogEmbedding2D__set_from_binary(self, p)
10526 
10527  def __getstate__(self):
10528  p = self._get_as_binary()
10529  if len(self.__dict__) > 1:
10530  d = self.__dict__.copy()
10531  del d['this']
10532  p = (d, p)
10533  return p
10534 
10535  def __setstate__(self, p):
10536  if not hasattr(self, 'this'):
10537  self.__init__()
10538  if isinstance(p, tuple):
10539  d, p = p
10540  self.__dict__.update(d)
10541  return self._set_from_binary(p)
10542 
10543  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding2D
10544 
10545 # Register LogEmbedding2D in _IMP_algebra:
10546 _IMP_algebra.LogEmbedding2D_swigregister(LogEmbedding2D)
10547 class LogEmbedding4D(object):
10548  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 4 > class."""
10549 
10550  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10551 
10552  def __init__(self, *args):
10553  r"""
10554  __init__(LogEmbedding4D self, Vector4D origin, Vector4D cell, Vector4D base) -> LogEmbedding4D
10555  __init__(LogEmbedding4D self, BoundingBox4D bb, Vector4D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding4D
10556  __init__(LogEmbedding4D self, Vector4D arg2, Vector4D arg3) -> LogEmbedding4D
10557  __init__(LogEmbedding4D self) -> LogEmbedding4D
10558  """
10559  _IMP_algebra.LogEmbedding4D_swiginit(self, _IMP_algebra.new_LogEmbedding4D(*args))
10560 
10561  def set_origin(self, o):
10562  r"""set_origin(LogEmbedding4D self, Vector4D o)"""
10563  return _IMP_algebra.LogEmbedding4D_set_origin(self, o)
10564 
10565  def get_origin(self):
10566  r"""get_origin(LogEmbedding4D self) -> Vector4D"""
10567  return _IMP_algebra.LogEmbedding4D_get_origin(self)
10568 
10569  def get_dimension(self):
10570  r"""get_dimension(LogEmbedding4D self) -> unsigned int"""
10571  return _IMP_algebra.LogEmbedding4D_get_dimension(self)
10572 
10573  def set_unit_cell(self, *args):
10574  r"""
10575  set_unit_cell(LogEmbedding4D self, Vector4D o, Vector4D base)
10576  set_unit_cell(LogEmbedding4D self, Vector4D o)
10577  """
10578  return _IMP_algebra.LogEmbedding4D_set_unit_cell(self, *args)
10579 
10580  def get_unit_cell(self):
10581  r"""get_unit_cell(LogEmbedding4D self) -> Vector4D"""
10582  return _IMP_algebra.LogEmbedding4D_get_unit_cell(self)
10583 
10584  def get_extended_index(self, o):
10585  r"""get_extended_index(LogEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
10586  return _IMP_algebra.LogEmbedding4D_get_extended_index(self, o)
10587 
10588  def get_index(self, o):
10589  r"""get_index(LogEmbedding4D self, Vector4D o) -> GridIndex4D"""
10590  return _IMP_algebra.LogEmbedding4D_get_index(self, o)
10591 
10592  def get_center(self, *args):
10593  r"""
10594  get_center(LogEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
10595  get_center(LogEmbedding4D self, GridIndex4D ei) -> Vector4D
10596  """
10597  return _IMP_algebra.LogEmbedding4D_get_center(self, *args)
10598 
10599  def get_bounding_box(self, *args):
10600  r"""
10601  get_bounding_box(LogEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
10602  get_bounding_box(LogEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
10603  """
10604  return _IMP_algebra.LogEmbedding4D_get_bounding_box(self, *args)
10605 
10606  def show(self, *args):
10607  r"""show(LogEmbedding4D self, _ostream out=std::cout)"""
10608  return _IMP_algebra.LogEmbedding4D_show(self, *args)
10609 
10610  def __str__(self):
10611  r"""__str__(LogEmbedding4D self) -> std::string"""
10612  return _IMP_algebra.LogEmbedding4D___str__(self)
10613 
10614  def __repr__(self):
10615  r"""__repr__(LogEmbedding4D self) -> std::string"""
10616  return _IMP_algebra.LogEmbedding4D___repr__(self)
10617 
10618  def __cmp__(self, arg2):
10619  r"""__cmp__(LogEmbedding4D self, LogEmbedding4D arg2) -> int"""
10620  return _IMP_algebra.LogEmbedding4D___cmp__(self, arg2)
10621 
10622  def __eq__(self, arg2):
10623  r"""__eq__(LogEmbedding4D self, LogEmbedding4D arg2) -> bool"""
10624  return _IMP_algebra.LogEmbedding4D___eq__(self, arg2)
10625 
10626  def _get_as_binary(self):
10627  r"""_get_as_binary(LogEmbedding4D self) -> PyObject *"""
10628  return _IMP_algebra.LogEmbedding4D__get_as_binary(self)
10629 
10630  def _set_from_binary(self, p):
10631  r"""_set_from_binary(LogEmbedding4D self, PyObject * p)"""
10632  return _IMP_algebra.LogEmbedding4D__set_from_binary(self, p)
10633 
10634  def __getstate__(self):
10635  p = self._get_as_binary()
10636  if len(self.__dict__) > 1:
10637  d = self.__dict__.copy()
10638  del d['this']
10639  p = (d, p)
10640  return p
10641 
10642  def __setstate__(self, p):
10643  if not hasattr(self, 'this'):
10644  self.__init__()
10645  if isinstance(p, tuple):
10646  d, p = p
10647  self.__dict__.update(d)
10648  return self._set_from_binary(p)
10649 
10650  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding4D
10651 
10652 # Register LogEmbedding4D in _IMP_algebra:
10653 _IMP_algebra.LogEmbedding4D_swigregister(LogEmbedding4D)
10654 class LogEmbedding5D(object):
10655  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 5 > class."""
10656 
10657  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10658 
10659  def __init__(self, *args):
10660  r"""
10661  __init__(LogEmbedding5D self, Vector5D origin, Vector5D cell, Vector5D base) -> LogEmbedding5D
10662  __init__(LogEmbedding5D self, BoundingBox5D bb, Vector5D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding5D
10663  __init__(LogEmbedding5D self, Vector5D arg2, Vector5D arg3) -> LogEmbedding5D
10664  __init__(LogEmbedding5D self) -> LogEmbedding5D
10665  """
10666  _IMP_algebra.LogEmbedding5D_swiginit(self, _IMP_algebra.new_LogEmbedding5D(*args))
10667 
10668  def set_origin(self, o):
10669  r"""set_origin(LogEmbedding5D self, Vector5D o)"""
10670  return _IMP_algebra.LogEmbedding5D_set_origin(self, o)
10671 
10672  def get_origin(self):
10673  r"""get_origin(LogEmbedding5D self) -> Vector5D"""
10674  return _IMP_algebra.LogEmbedding5D_get_origin(self)
10675 
10676  def get_dimension(self):
10677  r"""get_dimension(LogEmbedding5D self) -> unsigned int"""
10678  return _IMP_algebra.LogEmbedding5D_get_dimension(self)
10679 
10680  def set_unit_cell(self, *args):
10681  r"""
10682  set_unit_cell(LogEmbedding5D self, Vector5D o, Vector5D base)
10683  set_unit_cell(LogEmbedding5D self, Vector5D o)
10684  """
10685  return _IMP_algebra.LogEmbedding5D_set_unit_cell(self, *args)
10686 
10687  def get_unit_cell(self):
10688  r"""get_unit_cell(LogEmbedding5D self) -> Vector5D"""
10689  return _IMP_algebra.LogEmbedding5D_get_unit_cell(self)
10690 
10691  def get_extended_index(self, o):
10692  r"""get_extended_index(LogEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10693  return _IMP_algebra.LogEmbedding5D_get_extended_index(self, o)
10694 
10695  def get_index(self, o):
10696  r"""get_index(LogEmbedding5D self, Vector5D o) -> GridIndex5D"""
10697  return _IMP_algebra.LogEmbedding5D_get_index(self, o)
10698 
10699  def get_center(self, *args):
10700  r"""
10701  get_center(LogEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10702  get_center(LogEmbedding5D self, GridIndex5D ei) -> Vector5D
10703  """
10704  return _IMP_algebra.LogEmbedding5D_get_center(self, *args)
10705 
10706  def get_bounding_box(self, *args):
10707  r"""
10708  get_bounding_box(LogEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10709  get_bounding_box(LogEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10710  """
10711  return _IMP_algebra.LogEmbedding5D_get_bounding_box(self, *args)
10712 
10713  def show(self, *args):
10714  r"""show(LogEmbedding5D self, _ostream out=std::cout)"""
10715  return _IMP_algebra.LogEmbedding5D_show(self, *args)
10716 
10717  def __str__(self):
10718  r"""__str__(LogEmbedding5D self) -> std::string"""
10719  return _IMP_algebra.LogEmbedding5D___str__(self)
10720 
10721  def __repr__(self):
10722  r"""__repr__(LogEmbedding5D self) -> std::string"""
10723  return _IMP_algebra.LogEmbedding5D___repr__(self)
10724 
10725  def __cmp__(self, arg2):
10726  r"""__cmp__(LogEmbedding5D self, LogEmbedding5D arg2) -> int"""
10727  return _IMP_algebra.LogEmbedding5D___cmp__(self, arg2)
10728 
10729  def __eq__(self, arg2):
10730  r"""__eq__(LogEmbedding5D self, LogEmbedding5D arg2) -> bool"""
10731  return _IMP_algebra.LogEmbedding5D___eq__(self, arg2)
10732 
10733  def _get_as_binary(self):
10734  r"""_get_as_binary(LogEmbedding5D self) -> PyObject *"""
10735  return _IMP_algebra.LogEmbedding5D__get_as_binary(self)
10736 
10737  def _set_from_binary(self, p):
10738  r"""_set_from_binary(LogEmbedding5D self, PyObject * p)"""
10739  return _IMP_algebra.LogEmbedding5D__set_from_binary(self, p)
10740 
10741  def __getstate__(self):
10742  p = self._get_as_binary()
10743  if len(self.__dict__) > 1:
10744  d = self.__dict__.copy()
10745  del d['this']
10746  p = (d, p)
10747  return p
10748 
10749  def __setstate__(self, p):
10750  if not hasattr(self, 'this'):
10751  self.__init__()
10752  if isinstance(p, tuple):
10753  d, p = p
10754  self.__dict__.update(d)
10755  return self._set_from_binary(p)
10756 
10757  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding5D
10758 
10759 # Register LogEmbedding5D in _IMP_algebra:
10760 _IMP_algebra.LogEmbedding5D_swigregister(LogEmbedding5D)
10761 class LogEmbedding6D(object):
10762  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 6 > class."""
10763 
10764  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10765 
10766  def __init__(self, *args):
10767  r"""
10768  __init__(LogEmbedding6D self, Vector6D origin, Vector6D cell, Vector6D base) -> LogEmbedding6D
10769  __init__(LogEmbedding6D self, BoundingBox6D bb, Vector6D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding6D
10770  __init__(LogEmbedding6D self, Vector6D arg2, Vector6D arg3) -> LogEmbedding6D
10771  __init__(LogEmbedding6D self) -> LogEmbedding6D
10772  """
10773  _IMP_algebra.LogEmbedding6D_swiginit(self, _IMP_algebra.new_LogEmbedding6D(*args))
10774 
10775  def set_origin(self, o):
10776  r"""set_origin(LogEmbedding6D self, Vector6D o)"""
10777  return _IMP_algebra.LogEmbedding6D_set_origin(self, o)
10778 
10779  def get_origin(self):
10780  r"""get_origin(LogEmbedding6D self) -> Vector6D"""
10781  return _IMP_algebra.LogEmbedding6D_get_origin(self)
10782 
10783  def get_dimension(self):
10784  r"""get_dimension(LogEmbedding6D self) -> unsigned int"""
10785  return _IMP_algebra.LogEmbedding6D_get_dimension(self)
10786 
10787  def set_unit_cell(self, *args):
10788  r"""
10789  set_unit_cell(LogEmbedding6D self, Vector6D o, Vector6D base)
10790  set_unit_cell(LogEmbedding6D self, Vector6D o)
10791  """
10792  return _IMP_algebra.LogEmbedding6D_set_unit_cell(self, *args)
10793 
10794  def get_unit_cell(self):
10795  r"""get_unit_cell(LogEmbedding6D self) -> Vector6D"""
10796  return _IMP_algebra.LogEmbedding6D_get_unit_cell(self)
10797 
10798  def get_extended_index(self, o):
10799  r"""get_extended_index(LogEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10800  return _IMP_algebra.LogEmbedding6D_get_extended_index(self, o)
10801 
10802  def get_index(self, o):
10803  r"""get_index(LogEmbedding6D self, Vector6D o) -> GridIndex6D"""
10804  return _IMP_algebra.LogEmbedding6D_get_index(self, o)
10805 
10806  def get_center(self, *args):
10807  r"""
10808  get_center(LogEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10809  get_center(LogEmbedding6D self, GridIndex6D ei) -> Vector6D
10810  """
10811  return _IMP_algebra.LogEmbedding6D_get_center(self, *args)
10812 
10813  def get_bounding_box(self, *args):
10814  r"""
10815  get_bounding_box(LogEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10816  get_bounding_box(LogEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10817  """
10818  return _IMP_algebra.LogEmbedding6D_get_bounding_box(self, *args)
10819 
10820  def show(self, *args):
10821  r"""show(LogEmbedding6D self, _ostream out=std::cout)"""
10822  return _IMP_algebra.LogEmbedding6D_show(self, *args)
10823 
10824  def __str__(self):
10825  r"""__str__(LogEmbedding6D self) -> std::string"""
10826  return _IMP_algebra.LogEmbedding6D___str__(self)
10827 
10828  def __repr__(self):
10829  r"""__repr__(LogEmbedding6D self) -> std::string"""
10830  return _IMP_algebra.LogEmbedding6D___repr__(self)
10831 
10832  def __cmp__(self, arg2):
10833  r"""__cmp__(LogEmbedding6D self, LogEmbedding6D arg2) -> int"""
10834  return _IMP_algebra.LogEmbedding6D___cmp__(self, arg2)
10835 
10836  def __eq__(self, arg2):
10837  r"""__eq__(LogEmbedding6D self, LogEmbedding6D arg2) -> bool"""
10838  return _IMP_algebra.LogEmbedding6D___eq__(self, arg2)
10839 
10840  def _get_as_binary(self):
10841  r"""_get_as_binary(LogEmbedding6D self) -> PyObject *"""
10842  return _IMP_algebra.LogEmbedding6D__get_as_binary(self)
10843 
10844  def _set_from_binary(self, p):
10845  r"""_set_from_binary(LogEmbedding6D self, PyObject * p)"""
10846  return _IMP_algebra.LogEmbedding6D__set_from_binary(self, p)
10847 
10848  def __getstate__(self):
10849  p = self._get_as_binary()
10850  if len(self.__dict__) > 1:
10851  d = self.__dict__.copy()
10852  del d['this']
10853  p = (d, p)
10854  return p
10855 
10856  def __setstate__(self, p):
10857  if not hasattr(self, 'this'):
10858  self.__init__()
10859  if isinstance(p, tuple):
10860  d, p = p
10861  self.__dict__.update(d)
10862  return self._set_from_binary(p)
10863 
10864  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding6D
10865 
10866 # Register LogEmbedding6D in _IMP_algebra:
10867 _IMP_algebra.LogEmbedding6D_swigregister(LogEmbedding6D)
10868 class SpherePatch3D(_GeometricPrimitive3D):
10869  r"""Proxy of C++ IMP::algebra::SpherePatch3D class."""
10870 
10871  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10872 
10873  def __init__(self, *args):
10874  r"""
10875  __init__(SpherePatch3D self) -> SpherePatch3D
10876  __init__(SpherePatch3D self, Sphere3D sph, Plane3D crossing_plane) -> SpherePatch3D
10877  """
10878  _IMP_algebra.SpherePatch3D_swiginit(self, _IMP_algebra.new_SpherePatch3D(*args))
10879 
10880  def get_contains(self, p):
10881  r"""get_contains(SpherePatch3D self, Vector3D p) -> bool"""
10882  return _IMP_algebra.SpherePatch3D_get_contains(self, p)
10883 
10884  def get_plane(self):
10885  r"""get_plane(SpherePatch3D self) -> Plane3D"""
10886  return _IMP_algebra.SpherePatch3D_get_plane(self)
10887 
10888  def get_sphere(self):
10889  r"""get_sphere(SpherePatch3D self) -> Sphere3D"""
10890  return _IMP_algebra.SpherePatch3D_get_sphere(self)
10891 
10892  def show(self, *args):
10893  r"""show(SpherePatch3D self, _ostream out=std::cout)"""
10894  return _IMP_algebra.SpherePatch3D_show(self, *args)
10895 
10896  def get_boundary_point(self):
10897  r"""get_boundary_point(SpherePatch3D self) -> Vector3D"""
10898  return _IMP_algebra.SpherePatch3D_get_boundary_point(self)
10899 
10900  def __str__(self):
10901  r"""__str__(SpherePatch3D self) -> std::string"""
10902  return _IMP_algebra.SpherePatch3D___str__(self)
10903 
10904  def __repr__(self):
10905  r"""__repr__(SpherePatch3D self) -> std::string"""
10906  return _IMP_algebra.SpherePatch3D___repr__(self)
10907 
10908  def _get_as_binary(self):
10909  r"""_get_as_binary(SpherePatch3D self) -> PyObject *"""
10910  return _IMP_algebra.SpherePatch3D__get_as_binary(self)
10911 
10912  def _set_from_binary(self, p):
10913  r"""_set_from_binary(SpherePatch3D self, PyObject * p)"""
10914  return _IMP_algebra.SpherePatch3D__set_from_binary(self, p)
10915 
10916  def __getstate__(self):
10917  p = self._get_as_binary()
10918  if len(self.__dict__) > 1:
10919  d = self.__dict__.copy()
10920  del d['this']
10921  p = (d, p)
10922  return p
10923 
10924  def __setstate__(self, p):
10925  if not hasattr(self, 'this'):
10926  self.__init__()
10927  if isinstance(p, tuple):
10928  d, p = p
10929  self.__dict__.update(d)
10930  return self._set_from_binary(p)
10931 
10932  __swig_destroy__ = _IMP_algebra.delete_SpherePatch3D
10933 
10934 # Register SpherePatch3D in _IMP_algebra:
10935 _IMP_algebra.SpherePatch3D_swigregister(SpherePatch3D)
10936 
10937 def get_area(*args):
10938  r"""
10939  get_area(Plane3D g) -> double
10940  get_area(SpherePatch3D g) -> double
10941  """
10942  return _IMP_algebra.get_area(*args)
10943 
10944 def get_sphere_patch_3d_geometry(g):
10945  r"""get_sphere_patch_3d_geometry(SpherePatch3D g) -> SpherePatch3D"""
10946  return _IMP_algebra.get_sphere_patch_3d_geometry(g)
10947 class Cone3D(_GeometricPrimitive3D):
10948  r"""Proxy of C++ IMP::algebra::Cone3D class."""
10949 
10950  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10951 
10952  def __init__(self, *args):
10953  r"""
10954  __init__(Cone3D self) -> Cone3D
10955  __init__(Cone3D self, Segment3D s, double radius) -> Cone3D
10956  """
10957  _IMP_algebra.Cone3D_swiginit(self, _IMP_algebra.new_Cone3D(*args))
10958 
10959  def get_tip(self):
10960  r"""get_tip(Cone3D self) -> Vector3D"""
10961  return _IMP_algebra.Cone3D_get_tip(self)
10962 
10963  def get_direction(self):
10964  r"""get_direction(Cone3D self) -> Vector3D"""
10965  return _IMP_algebra.Cone3D_get_direction(self)
10966 
10967  def get_height(self):
10968  r"""get_height(Cone3D self) -> double"""
10969  return _IMP_algebra.Cone3D_get_height(self)
10970 
10971  def get_angle(self):
10972  r"""get_angle(Cone3D self) -> double"""
10973  return _IMP_algebra.Cone3D_get_angle(self)
10974 
10975  def get_radius(self):
10976  r"""get_radius(Cone3D self) -> double"""
10977  return _IMP_algebra.Cone3D_get_radius(self)
10978 
10979  def get_contains(self, v):
10980  r"""get_contains(Cone3D self, Vector3D v) -> bool"""
10981  return _IMP_algebra.Cone3D_get_contains(self, v)
10982 
10983  def get_base_plane(self):
10984  r"""get_base_plane(Cone3D self) -> Plane3D"""
10985  return _IMP_algebra.Cone3D_get_base_plane(self)
10986 
10987  def show(self, *args):
10988  r"""show(Cone3D self, _ostream out=std::cout)"""
10989  return _IMP_algebra.Cone3D_show(self, *args)
10990 
10991  def __str__(self):
10992  r"""__str__(Cone3D self) -> std::string"""
10993  return _IMP_algebra.Cone3D___str__(self)
10994 
10995  def __repr__(self):
10996  r"""__repr__(Cone3D self) -> std::string"""
10997  return _IMP_algebra.Cone3D___repr__(self)
10998 
10999  def _get_as_binary(self):
11000  r"""_get_as_binary(Cone3D self) -> PyObject *"""
11001  return _IMP_algebra.Cone3D__get_as_binary(self)
11002 
11003  def _set_from_binary(self, p):
11004  r"""_set_from_binary(Cone3D self, PyObject * p)"""
11005  return _IMP_algebra.Cone3D__set_from_binary(self, p)
11006 
11007  def __getstate__(self):
11008  p = self._get_as_binary()
11009  if len(self.__dict__) > 1:
11010  d = self.__dict__.copy()
11011  del d['this']
11012  p = (d, p)
11013  return p
11014 
11015  def __setstate__(self, p):
11016  if not hasattr(self, 'this'):
11017  self.__init__()
11018  if isinstance(p, tuple):
11019  d, p = p
11020  self.__dict__.update(d)
11021  return self._set_from_binary(p)
11022 
11023  __swig_destroy__ = _IMP_algebra.delete_Cone3D
11024 
11025 # Register Cone3D in _IMP_algebra:
11026 _IMP_algebra.Cone3D_swigregister(Cone3D)
11027 
11028 def get_surface_area(*args):
11029  r"""
11030  get_surface_area(BoundingBox3D g) -> double
11031  get_surface_area(Sphere3D g) -> double
11032  get_surface_area(Cylinder3D g) -> double
11033  get_surface_area(Ellipsoid3D g) -> double
11034  get_surface_area(Cone3D g) -> double
11035  """
11036  return _IMP_algebra.get_surface_area(*args)
11037 
11038 def get_volume(*args):
11039  r"""
11040  get_volume(BoundingBox3D g) -> double
11041  get_volume(Sphere3D g) -> double
11042  get_volume(Cylinder3D g) -> double
11043  get_volume(Ellipsoid3D g) -> double
11044  get_volume(Cone3D g) -> double
11045  """
11046  return _IMP_algebra.get_volume(*args)
11047 
11048 def get_cone_3d_geometry(g):
11049  r"""get_cone_3d_geometry(Cone3D g) -> Cone3D"""
11050  return _IMP_algebra.get_cone_3d_geometry(g)
11051 
11052 def write_pts(vs, out):
11053  r"""write_pts(IMP::algebra::Vector3Ds const & vs, TextOutput out)"""
11054  return _IMP_algebra.write_pts(vs, out)
11055 
11056 def read_pts(input):
11057  r"""read_pts(TextInput input) -> IMP::algebra::Vector3Ds"""
11058  return _IMP_algebra.read_pts(input)
11059 
11060 def write_spheres(vs, out):
11061  r"""write_spheres(IMP::algebra::Sphere3Ds const & vs, TextOutput out)"""
11062  return _IMP_algebra.write_spheres(vs, out)
11063 
11064 def read_spheres(input):
11065  r"""read_spheres(TextInput input) -> IMP::algebra::Sphere3Ds"""
11066  return _IMP_algebra.read_spheres(input)
11067 
11069  r"""get_random_vector_on_unit_sphere() -> Vector3D"""
11070  return _IMP_algebra.get_random_vector_on_unit_sphere()
11071 
11072 def get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle):
11073  r"""get_grid_surface_cover(Cylinder3D cyl, int number_of_cycles, int number_of_points_on_cycle) -> IMP::algebra::Vector3Ds"""
11074  return _IMP_algebra.get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle)
11075 
11076 def get_random_chain(*args):
11077  r"""get_random_chain(unsigned int n, double r, Vector3D start=IMP::algebra::Vector3D(0, 0, 0), IMP::algebra::Sphere3Ds const & obstacles=IMP::algebra::Sphere3Ds()) -> IMP::algebra::Vector3Ds"""
11078  return _IMP_algebra.get_random_chain(*args)
11079 
11080 def reversed_read(dest, size, nitems, f, reverse):
11081  r"""reversed_read(void * dest, size_t size, size_t nitems, std::ifstream & f, bool reverse)"""
11082  return _IMP_algebra.reversed_read(dest, size, nitems, f, reverse)
11083 
11084 def reversed_write(src, size, nitems, f, reverse=False):
11085  r"""reversed_write(void const * src, size_t size, size_t nitems, std::ofstream & f, bool reverse=False)"""
11086  return _IMP_algebra.reversed_write(src, size, nitems, f, reverse)
11087 
11088 def get_is_big_endian():
11089  r"""get_is_big_endian() -> bool"""
11090  return _IMP_algebra.get_is_big_endian()
11091 
11092 def get_is_little_endian():
11093  r"""get_is_little_endian() -> bool"""
11094  return _IMP_algebra.get_is_little_endian()
11095 
11096 def get_shortest_segment(*args):
11097  r"""
11098  get_shortest_segment(Segment3D s, Vector3D p) -> Segment3D
11099  get_shortest_segment(Segment3D sa, Segment3D sb) -> Segment3D
11100  """
11101  return _IMP_algebra.get_shortest_segment(*args)
11102 class DynamicNearestNeighbor3D(IMP.Object):
11103  r"""Proxy of C++ IMP::algebra::DynamicNearestNeighbor3D class."""
11104 
11105  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11106 
11107  def __init__(self, vs, query_estimate=1):
11108  r"""__init__(DynamicNearestNeighbor3D self, IMP::algebra::Vector3Ds const & vs, double query_estimate=1) -> DynamicNearestNeighbor3D"""
11109  _IMP_algebra.DynamicNearestNeighbor3D_swiginit(self, _IMP_algebra.new_DynamicNearestNeighbor3D(vs, query_estimate))
11110 
11111  def get_in_ball(self, id, distance):
11112  r"""get_in_ball(DynamicNearestNeighbor3D self, int id, double distance) -> IMP::Ints"""
11113  return _IMP_algebra.DynamicNearestNeighbor3D_get_in_ball(self, id, distance)
11114 
11115  def set_coordinates(self, id, nc):
11116  r"""set_coordinates(DynamicNearestNeighbor3D self, int id, Vector3D nc)"""
11117  return _IMP_algebra.DynamicNearestNeighbor3D_set_coordinates(self, id, nc)
11118 
11119  def get_version_info(self):
11120  r"""get_version_info(DynamicNearestNeighbor3D self) -> VersionInfo"""
11121  return _IMP_algebra.DynamicNearestNeighbor3D_get_version_info(self)
11122  __swig_destroy__ = _IMP_algebra.delete_DynamicNearestNeighbor3D
11123 
11124  def __str__(self):
11125  r"""__str__(DynamicNearestNeighbor3D self) -> std::string"""
11126  return _IMP_algebra.DynamicNearestNeighbor3D___str__(self)
11127 
11128  def __repr__(self):
11129  r"""__repr__(DynamicNearestNeighbor3D self) -> std::string"""
11130  return _IMP_algebra.DynamicNearestNeighbor3D___repr__(self)
11131 
11132  @staticmethod
11133  def get_from(o):
11134  return _object_cast_to_DynamicNearestNeighbor3D(o)
11135 
11136 
11137 # Register DynamicNearestNeighbor3D in _IMP_algebra:
11138 _IMP_algebra.DynamicNearestNeighbor3D_swigregister(DynamicNearestNeighbor3D)
11139 class VectorKDMetric(IMP.Object):
11140  r"""Proxy of C++ IMP::algebra::VectorKDMetric class."""
11141 
11142  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11143 
11144  def __init__(self, name):
11145  r"""__init__(VectorKDMetric self, std::string name) -> VectorKDMetric"""
11146  if self.__class__ == VectorKDMetric:
11147  _self = None
11148  else:
11149  _self = self
11150  _IMP_algebra.VectorKDMetric_swiginit(self, _IMP_algebra.new_VectorKDMetric(_self, name))
11151 
11152  if self.__class__ != VectorKDMetric:
11153  _director_objects.register(self)
11154 
11155 
11156 
11157 
11158  def get_distance(self, a, b):
11159  r"""get_distance(VectorKDMetric self, VectorKD a, VectorKD b) -> double"""
11160  return _IMP_algebra.VectorKDMetric_get_distance(self, a, b)
11161 
11162  def get_centroid(self, vs):
11163  r"""get_centroid(VectorKDMetric self, IMP::algebra::VectorKDs const & vs) -> VectorKD"""
11164  return _IMP_algebra.VectorKDMetric_get_centroid(self, vs)
11165 
11166  def __str__(self):
11167  r"""__str__(VectorKDMetric self) -> std::string"""
11168  return _IMP_algebra.VectorKDMetric___str__(self)
11169 
11170  def __repr__(self):
11171  r"""__repr__(VectorKDMetric self) -> std::string"""
11172  return _IMP_algebra.VectorKDMetric___repr__(self)
11173 
11174  @staticmethod
11175  def get_from(o):
11176  return _object_cast_to_VectorKDMetric(o)
11177 
11178 
11179  def get_type_name(self):
11180  return self.__class__.__name__
11181  def do_show(self, out):
11182  pass
11183  def get_version_info(self):
11184  if"IMP::algebra" == "IMP":
11185  return VersionInfo(self.__module__,
11186  __import__(self.__module__).get_module_version())
11187  else:
11188  return IMP.VersionInfo(self.__module__,
11189  __import__(self.__module__).get_module_version())
11190  @staticmethod
11191  def get_from(o):
11192  return _object_cast_to_VectorKDMetric(o)
11193 
11194  __swig_destroy__ = _IMP_algebra.delete_VectorKDMetric
11195  def __disown__(self):
11196  self.this.disown()
11197  _IMP_algebra.disown_VectorKDMetric(self)
11198  return weakref.proxy(self)
11199 
11200  def do_destroy(self):
11201  r"""do_destroy(VectorKDMetric self)"""
11202  return _IMP_algebra.VectorKDMetric_do_destroy(self)
11203 
11204 # Register VectorKDMetric in _IMP_algebra:
11205 _IMP_algebra.VectorKDMetric_swigregister(VectorKDMetric)
11206 class EuclideanVectorKDMetric(VectorKDMetric):
11207  r"""Proxy of C++ IMP::algebra::EuclideanVectorKDMetric class."""
11208 
11209  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11210 
11211  def __init__(self, *args):
11212  r"""__init__(EuclideanVectorKDMetric self, std::string name="EuclideanVectorKDMetric%1%") -> EuclideanVectorKDMetric"""
11213  _IMP_algebra.EuclideanVectorKDMetric_swiginit(self, _IMP_algebra.new_EuclideanVectorKDMetric(*args))
11214 
11215  def get_version_info(self):
11216  r"""get_version_info(EuclideanVectorKDMetric self) -> VersionInfo"""
11217  return _IMP_algebra.EuclideanVectorKDMetric_get_version_info(self)
11218  __swig_destroy__ = _IMP_algebra.delete_EuclideanVectorKDMetric
11219 
11220  def __str__(self):
11221  r"""__str__(EuclideanVectorKDMetric self) -> std::string"""
11222  return _IMP_algebra.EuclideanVectorKDMetric___str__(self)
11223 
11224  def __repr__(self):
11225  r"""__repr__(EuclideanVectorKDMetric self) -> std::string"""
11226  return _IMP_algebra.EuclideanVectorKDMetric___repr__(self)
11227 
11228  @staticmethod
11229  def get_from(o):
11230  return _object_cast_to_EuclideanVectorKDMetric(o)
11231 
11232 
11233 # Register EuclideanVectorKDMetric in _IMP_algebra:
11234 _IMP_algebra.EuclideanVectorKDMetric_swigregister(EuclideanVectorKDMetric)
11235 class MaxVectorKDMetric(VectorKDMetric):
11236  r"""Proxy of C++ IMP::algebra::MaxVectorKDMetric class."""
11237 
11238  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11239 
11240  def __init__(self, *args):
11241  r"""__init__(MaxVectorKDMetric self, std::string name="MaxVectorKDMetric%1%") -> MaxVectorKDMetric"""
11242  _IMP_algebra.MaxVectorKDMetric_swiginit(self, _IMP_algebra.new_MaxVectorKDMetric(*args))
11243 
11244  def get_version_info(self):
11245  r"""get_version_info(MaxVectorKDMetric self) -> VersionInfo"""
11246  return _IMP_algebra.MaxVectorKDMetric_get_version_info(self)
11247  __swig_destroy__ = _IMP_algebra.delete_MaxVectorKDMetric
11248 
11249  def __str__(self):
11250  r"""__str__(MaxVectorKDMetric self) -> std::string"""
11251  return _IMP_algebra.MaxVectorKDMetric___str__(self)
11252 
11253  def __repr__(self):
11254  r"""__repr__(MaxVectorKDMetric self) -> std::string"""
11255  return _IMP_algebra.MaxVectorKDMetric___repr__(self)
11256 
11257  @staticmethod
11258  def get_from(o):
11259  return _object_cast_to_MaxVectorKDMetric(o)
11260 
11261 
11262 # Register MaxVectorKDMetric in _IMP_algebra:
11263 _IMP_algebra.MaxVectorKDMetric_swigregister(MaxVectorKDMetric)
11264 class Gaussian3D(_GeometricPrimitive3D):
11265  r"""Proxy of C++ IMP::algebra::Gaussian3D class."""
11266 
11267  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11268 
11269  def __init__(self, *args):
11270  r"""
11271  __init__(Gaussian3D self) -> Gaussian3D
11272  __init__(Gaussian3D self, ReferenceFrame3D tr, Vector3D variances) -> Gaussian3D
11273  """
11274  _IMP_algebra.Gaussian3D_swiginit(self, _IMP_algebra.new_Gaussian3D(*args))
11275 
11276  def get_reference_frame(self):
11277  r"""get_reference_frame(Gaussian3D self) -> ReferenceFrame3D"""
11278  return _IMP_algebra.Gaussian3D_get_reference_frame(self)
11279 
11280  def get_variances(self):
11281  r"""get_variances(Gaussian3D self) -> Vector3D"""
11282  return _IMP_algebra.Gaussian3D_get_variances(self)
11283 
11284  def get_center(self):
11285  r"""get_center(Gaussian3D self) -> Vector3D"""
11286  return _IMP_algebra.Gaussian3D_get_center(self)
11287 
11288  def show(self, *args):
11289  r"""show(Gaussian3D self, _ostream out=std::cout)"""
11290  return _IMP_algebra.Gaussian3D_show(self, *args)
11291 
11292  def __str__(self):
11293  r"""__str__(Gaussian3D self) -> std::string"""
11294  return _IMP_algebra.Gaussian3D___str__(self)
11295 
11296  def __repr__(self):
11297  r"""__repr__(Gaussian3D self) -> std::string"""
11298  return _IMP_algebra.Gaussian3D___repr__(self)
11299 
11300  def _get_as_binary(self):
11301  r"""_get_as_binary(Gaussian3D self) -> PyObject *"""
11302  return _IMP_algebra.Gaussian3D__get_as_binary(self)
11303 
11304  def _set_from_binary(self, p):
11305  r"""_set_from_binary(Gaussian3D self, PyObject * p)"""
11306  return _IMP_algebra.Gaussian3D__set_from_binary(self, p)
11307 
11308  def __getstate__(self):
11309  p = self._get_as_binary()
11310  if len(self.__dict__) > 1:
11311  d = self.__dict__.copy()
11312  del d['this']
11313  p = (d, p)
11314  return p
11315 
11316  def __setstate__(self, p):
11317  if not hasattr(self, 'this'):
11318  self.__init__()
11319  if isinstance(p, tuple):
11320  d, p = p
11321  self.__dict__.update(d)
11322  return self._set_from_binary(p)
11323 
11324  __swig_destroy__ = _IMP_algebra.delete_Gaussian3D
11325 
11326 # Register Gaussian3D in _IMP_algebra:
11327 _IMP_algebra.Gaussian3D_swigregister(Gaussian3D)
11328 
11329 def get_covariance(g):
11330  r"""get_covariance(Gaussian3D g) -> Eigen::Matrix3d"""
11331  return _IMP_algebra.get_covariance(g)
11332 
11333 def get_gaussian_from_covariance(covariance, center):
11334  r"""get_gaussian_from_covariance(Eigen::Matrix3d const & covariance, Vector3D center) -> Gaussian3D"""
11335  return _IMP_algebra.get_gaussian_from_covariance(covariance, center)
11336 
11337 def get_rasterized(gmm, weights, cell_width, bb):
11338  r"""get_rasterized(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb) -> DenseDoubleGrid3D"""
11339  return _IMP_algebra.get_rasterized(gmm, weights, cell_width, bb)
11340 
11341 def get_rasterized_fast(gmm, weights, cell_width, bb, factor=2.5):
11342  r"""get_rasterized_fast(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb, double factor=2.5) -> DenseDoubleGrid3D"""
11343  return _IMP_algebra.get_rasterized_fast(gmm, weights, cell_width, bb, factor)
11344 
11345 def _pass_matrix_xf(m):
11346  r"""_pass_matrix_xf(Eigen::MatrixXf const & m) -> Eigen::MatrixXf"""
11347  return _IMP_algebra._pass_matrix_xf(m)
11348 
11349 def _pass_matrix_xd(m):
11350  r"""_pass_matrix_xd(Eigen::MatrixXd const & m) -> Eigen::MatrixXd"""
11351  return _IMP_algebra._pass_matrix_xd(m)
11352 
11353 def _pass_matrix_3d(m):
11354  r"""_pass_matrix_3d(Eigen::Matrix3d const & m) -> Eigen::Matrix3d"""
11355  return _IMP_algebra._pass_matrix_3d(m)
11356 
11357 def _pass_array_xd(m):
11358  r"""_pass_array_xd(Eigen::ArrayXXd const & m) -> Eigen::ArrayXXd"""
11359  return _IMP_algebra._pass_array_xd(m)
11360 
11361 def _pass_vector_xd(m):
11362  r"""_pass_vector_xd(Eigen::VectorXd const & m) -> Eigen::VectorXd"""
11363  return _IMP_algebra._pass_vector_xd(m)
11364 class NearestNeighbor1D(IMP.Object):
11365  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 1 > class."""
11366 
11367  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11368 
11369  def __init__(self, vs, epsilon=0):
11370  r"""__init__(NearestNeighbor1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & vs, double epsilon=0) -> NearestNeighbor1D"""
11371  _IMP_algebra.NearestNeighbor1D_swiginit(self, _IMP_algebra.new_NearestNeighbor1D(vs, epsilon))
11372 
11373  def set_query_log(self, fname):
11374  r"""set_query_log(NearestNeighbor1D self, std::string fname)"""
11375  return _IMP_algebra.NearestNeighbor1D_set_query_log(self, fname)
11376 
11377  def get_nearest_neighbor(self, *args):
11378  r"""
11379  get_nearest_neighbor(NearestNeighbor1D self, Vector1D q) -> unsigned int
11380  get_nearest_neighbor(NearestNeighbor1D self, unsigned int i) -> unsigned int
11381  """
11382  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbor(self, *args)
11383 
11384  def get_nearest_neighbors(self, *args):
11385  r"""
11386  get_nearest_neighbors(NearestNeighbor1D self, unsigned int i, unsigned int k) -> IMP::Ints
11387  get_nearest_neighbors(NearestNeighbor1D self, Vector1D v, unsigned int k) -> IMP::Ints
11388  """
11389  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbors(self, *args)
11390 
11391  def get_in_ball(self, *args):
11392  r"""
11393  get_in_ball(NearestNeighbor1D self, unsigned int i, double distance) -> IMP::Ints
11394  get_in_ball(NearestNeighbor1D self, Vector1D pt, double distance) -> IMP::Ints
11395  """
11396  return _IMP_algebra.NearestNeighbor1D_get_in_ball(self, *args)
11397 
11398  def get_version_info(self):
11399  r"""get_version_info(NearestNeighbor1D self) -> VersionInfo"""
11400  return _IMP_algebra.NearestNeighbor1D_get_version_info(self)
11401  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor1D
11402 
11403  def __str__(self):
11404  r"""__str__(NearestNeighbor1D self) -> std::string"""
11405  return _IMP_algebra.NearestNeighbor1D___str__(self)
11406 
11407  def __repr__(self):
11408  r"""__repr__(NearestNeighbor1D self) -> std::string"""
11409  return _IMP_algebra.NearestNeighbor1D___repr__(self)
11410 
11411  @staticmethod
11412  def get_from(o):
11413  return _object_cast_to_NearestNeighborD(o)
11414 
11415 
11416 # Register NearestNeighbor1D in _IMP_algebra:
11417 _IMP_algebra.NearestNeighbor1D_swigregister(NearestNeighbor1D)
11418 class NearestNeighbor2D(IMP.Object):
11419  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 2 > class."""
11420 
11421  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11422 
11423  def __init__(self, vs, epsilon=0):
11424  r"""__init__(NearestNeighbor2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & vs, double epsilon=0) -> NearestNeighbor2D"""
11425  _IMP_algebra.NearestNeighbor2D_swiginit(self, _IMP_algebra.new_NearestNeighbor2D(vs, epsilon))
11426 
11427  def set_query_log(self, fname):
11428  r"""set_query_log(NearestNeighbor2D self, std::string fname)"""
11429  return _IMP_algebra.NearestNeighbor2D_set_query_log(self, fname)
11430 
11431  def get_nearest_neighbor(self, *args):
11432  r"""
11433  get_nearest_neighbor(NearestNeighbor2D self, Vector2D q) -> unsigned int
11434  get_nearest_neighbor(NearestNeighbor2D self, unsigned int i) -> unsigned int
11435  """
11436  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbor(self, *args)
11437 
11438  def get_nearest_neighbors(self, *args):
11439  r"""
11440  get_nearest_neighbors(NearestNeighbor2D self, unsigned int i, unsigned int k) -> IMP::Ints
11441  get_nearest_neighbors(NearestNeighbor2D self, Vector2D v, unsigned int k) -> IMP::Ints
11442  """
11443  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbors(self, *args)
11444 
11445  def get_in_ball(self, *args):
11446  r"""
11447  get_in_ball(NearestNeighbor2D self, unsigned int i, double distance) -> IMP::Ints
11448  get_in_ball(NearestNeighbor2D self, Vector2D pt, double distance) -> IMP::Ints
11449  """
11450  return _IMP_algebra.NearestNeighbor2D_get_in_ball(self, *args)
11451 
11452  def get_version_info(self):
11453  r"""get_version_info(NearestNeighbor2D self) -> VersionInfo"""
11454  return _IMP_algebra.NearestNeighbor2D_get_version_info(self)
11455  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor2D
11456 
11457  def __str__(self):
11458  r"""__str__(NearestNeighbor2D self) -> std::string"""
11459  return _IMP_algebra.NearestNeighbor2D___str__(self)
11460 
11461  def __repr__(self):
11462  r"""__repr__(NearestNeighbor2D self) -> std::string"""
11463  return _IMP_algebra.NearestNeighbor2D___repr__(self)
11464 
11465  @staticmethod
11466  def get_from(o):
11467  return _object_cast_to_NearestNeighborD(o)
11468 
11469 
11470 # Register NearestNeighbor2D in _IMP_algebra:
11471 _IMP_algebra.NearestNeighbor2D_swigregister(NearestNeighbor2D)
11472 class NearestNeighbor3D(IMP.Object):
11473  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 3 > class."""
11474 
11475  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11476 
11477  def __init__(self, vs, epsilon=0):
11478  r"""__init__(NearestNeighbor3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & vs, double epsilon=0) -> NearestNeighbor3D"""
11479  _IMP_algebra.NearestNeighbor3D_swiginit(self, _IMP_algebra.new_NearestNeighbor3D(vs, epsilon))
11480 
11481  def set_query_log(self, fname):
11482  r"""set_query_log(NearestNeighbor3D self, std::string fname)"""
11483  return _IMP_algebra.NearestNeighbor3D_set_query_log(self, fname)
11484 
11485  def get_nearest_neighbor(self, *args):
11486  r"""
11487  get_nearest_neighbor(NearestNeighbor3D self, Vector3D q) -> unsigned int
11488  get_nearest_neighbor(NearestNeighbor3D self, unsigned int i) -> unsigned int
11489  """
11490  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbor(self, *args)
11491 
11492  def get_nearest_neighbors(self, *args):
11493  r"""
11494  get_nearest_neighbors(NearestNeighbor3D self, unsigned int i, unsigned int k) -> IMP::Ints
11495  get_nearest_neighbors(NearestNeighbor3D self, Vector3D v, unsigned int k) -> IMP::Ints
11496  """
11497  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbors(self, *args)
11498 
11499  def get_in_ball(self, *args):
11500  r"""
11501  get_in_ball(NearestNeighbor3D self, unsigned int i, double distance) -> IMP::Ints
11502  get_in_ball(NearestNeighbor3D self, Vector3D pt, double distance) -> IMP::Ints
11503  """
11504  return _IMP_algebra.NearestNeighbor3D_get_in_ball(self, *args)
11505 
11506  def get_version_info(self):
11507  r"""get_version_info(NearestNeighbor3D self) -> VersionInfo"""
11508  return _IMP_algebra.NearestNeighbor3D_get_version_info(self)
11509  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor3D
11510 
11511  def __str__(self):
11512  r"""__str__(NearestNeighbor3D self) -> std::string"""
11513  return _IMP_algebra.NearestNeighbor3D___str__(self)
11514 
11515  def __repr__(self):
11516  r"""__repr__(NearestNeighbor3D self) -> std::string"""
11517  return _IMP_algebra.NearestNeighbor3D___repr__(self)
11518 
11519  @staticmethod
11520  def get_from(o):
11521  return _object_cast_to_NearestNeighborD(o)
11522 
11523 
11524 # Register NearestNeighbor3D in _IMP_algebra:
11525 _IMP_algebra.NearestNeighbor3D_swigregister(NearestNeighbor3D)
11526 class NearestNeighbor4D(IMP.Object):
11527  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 4 > class."""
11528 
11529  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11530 
11531  def __init__(self, vs, epsilon=0):
11532  r"""__init__(NearestNeighbor4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & vs, double epsilon=0) -> NearestNeighbor4D"""
11533  _IMP_algebra.NearestNeighbor4D_swiginit(self, _IMP_algebra.new_NearestNeighbor4D(vs, epsilon))
11534 
11535  def set_query_log(self, fname):
11536  r"""set_query_log(NearestNeighbor4D self, std::string fname)"""
11537  return _IMP_algebra.NearestNeighbor4D_set_query_log(self, fname)
11538 
11539  def get_nearest_neighbor(self, *args):
11540  r"""
11541  get_nearest_neighbor(NearestNeighbor4D self, Vector4D q) -> unsigned int
11542  get_nearest_neighbor(NearestNeighbor4D self, unsigned int i) -> unsigned int
11543  """
11544  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbor(self, *args)
11545 
11546  def get_nearest_neighbors(self, *args):
11547  r"""
11548  get_nearest_neighbors(NearestNeighbor4D self, unsigned int i, unsigned int k) -> IMP::Ints
11549  get_nearest_neighbors(NearestNeighbor4D self, Vector4D v, unsigned int k) -> IMP::Ints
11550  """
11551  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbors(self, *args)
11552 
11553  def get_in_ball(self, *args):
11554  r"""
11555  get_in_ball(NearestNeighbor4D self, unsigned int i, double distance) -> IMP::Ints
11556  get_in_ball(NearestNeighbor4D self, Vector4D pt, double distance) -> IMP::Ints
11557  """
11558  return _IMP_algebra.NearestNeighbor4D_get_in_ball(self, *args)
11559 
11560  def get_version_info(self):
11561  r"""get_version_info(NearestNeighbor4D self) -> VersionInfo"""
11562  return _IMP_algebra.NearestNeighbor4D_get_version_info(self)
11563  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor4D
11564 
11565  def __str__(self):
11566  r"""__str__(NearestNeighbor4D self) -> std::string"""
11567  return _IMP_algebra.NearestNeighbor4D___str__(self)
11568 
11569  def __repr__(self):
11570  r"""__repr__(NearestNeighbor4D self) -> std::string"""
11571  return _IMP_algebra.NearestNeighbor4D___repr__(self)
11572 
11573  @staticmethod
11574  def get_from(o):
11575  return _object_cast_to_NearestNeighborD(o)
11576 
11577 
11578 # Register NearestNeighbor4D in _IMP_algebra:
11579 _IMP_algebra.NearestNeighbor4D_swigregister(NearestNeighbor4D)
11580 class NearestNeighbor5D(IMP.Object):
11581  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 5 > class."""
11582 
11583  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11584 
11585  def __init__(self, vs, epsilon=0):
11586  r"""__init__(NearestNeighbor5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & vs, double epsilon=0) -> NearestNeighbor5D"""
11587  _IMP_algebra.NearestNeighbor5D_swiginit(self, _IMP_algebra.new_NearestNeighbor5D(vs, epsilon))
11588 
11589  def set_query_log(self, fname):
11590  r"""set_query_log(NearestNeighbor5D self, std::string fname)"""
11591  return _IMP_algebra.NearestNeighbor5D_set_query_log(self, fname)
11592 
11593  def get_nearest_neighbor(self, *args):
11594  r"""
11595  get_nearest_neighbor(NearestNeighbor5D self, Vector5D q) -> unsigned int
11596  get_nearest_neighbor(NearestNeighbor5D self, unsigned int i) -> unsigned int
11597  """
11598  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbor(self, *args)
11599 
11600  def get_nearest_neighbors(self, *args):
11601  r"""
11602  get_nearest_neighbors(NearestNeighbor5D self, unsigned int i, unsigned int k) -> IMP::Ints
11603  get_nearest_neighbors(NearestNeighbor5D self, Vector5D v, unsigned int k) -> IMP::Ints
11604  """
11605  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbors(self, *args)
11606 
11607  def get_in_ball(self, *args):
11608  r"""
11609  get_in_ball(NearestNeighbor5D self, unsigned int i, double distance) -> IMP::Ints
11610  get_in_ball(NearestNeighbor5D self, Vector5D pt, double distance) -> IMP::Ints
11611  """
11612  return _IMP_algebra.NearestNeighbor5D_get_in_ball(self, *args)
11613 
11614  def get_version_info(self):
11615  r"""get_version_info(NearestNeighbor5D self) -> VersionInfo"""
11616  return _IMP_algebra.NearestNeighbor5D_get_version_info(self)
11617  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor5D
11618 
11619  def __str__(self):
11620  r"""__str__(NearestNeighbor5D self) -> std::string"""
11621  return _IMP_algebra.NearestNeighbor5D___str__(self)
11622 
11623  def __repr__(self):
11624  r"""__repr__(NearestNeighbor5D self) -> std::string"""
11625  return _IMP_algebra.NearestNeighbor5D___repr__(self)
11626 
11627  @staticmethod
11628  def get_from(o):
11629  return _object_cast_to_NearestNeighborD(o)
11630 
11631 
11632 # Register NearestNeighbor5D in _IMP_algebra:
11633 _IMP_algebra.NearestNeighbor5D_swigregister(NearestNeighbor5D)
11634 class NearestNeighbor6D(IMP.Object):
11635  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 6 > class."""
11636 
11637  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11638 
11639  def __init__(self, vs, epsilon=0):
11640  r"""__init__(NearestNeighbor6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & vs, double epsilon=0) -> NearestNeighbor6D"""
11641  _IMP_algebra.NearestNeighbor6D_swiginit(self, _IMP_algebra.new_NearestNeighbor6D(vs, epsilon))
11642 
11643  def set_query_log(self, fname):
11644  r"""set_query_log(NearestNeighbor6D self, std::string fname)"""
11645  return _IMP_algebra.NearestNeighbor6D_set_query_log(self, fname)
11646 
11647  def get_nearest_neighbor(self, *args):
11648  r"""
11649  get_nearest_neighbor(NearestNeighbor6D self, Vector6D q) -> unsigned int
11650  get_nearest_neighbor(NearestNeighbor6D self, unsigned int i) -> unsigned int
11651  """
11652  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbor(self, *args)
11653 
11654  def get_nearest_neighbors(self, *args):
11655  r"""
11656  get_nearest_neighbors(NearestNeighbor6D self, unsigned int i, unsigned int k) -> IMP::Ints
11657  get_nearest_neighbors(NearestNeighbor6D self, Vector6D v, unsigned int k) -> IMP::Ints
11658  """
11659  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbors(self, *args)
11660 
11661  def get_in_ball(self, *args):
11662  r"""
11663  get_in_ball(NearestNeighbor6D self, unsigned int i, double distance) -> IMP::Ints
11664  get_in_ball(NearestNeighbor6D self, Vector6D pt, double distance) -> IMP::Ints
11665  """
11666  return _IMP_algebra.NearestNeighbor6D_get_in_ball(self, *args)
11667 
11668  def get_version_info(self):
11669  r"""get_version_info(NearestNeighbor6D self) -> VersionInfo"""
11670  return _IMP_algebra.NearestNeighbor6D_get_version_info(self)
11671  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor6D
11672 
11673  def __str__(self):
11674  r"""__str__(NearestNeighbor6D self) -> std::string"""
11675  return _IMP_algebra.NearestNeighbor6D___str__(self)
11676 
11677  def __repr__(self):
11678  r"""__repr__(NearestNeighbor6D self) -> std::string"""
11679  return _IMP_algebra.NearestNeighbor6D___repr__(self)
11680 
11681  @staticmethod
11682  def get_from(o):
11683  return _object_cast_to_NearestNeighborD(o)
11684 
11685 
11686 # Register NearestNeighbor6D in _IMP_algebra:
11687 _IMP_algebra.NearestNeighbor6D_swigregister(NearestNeighbor6D)
11688 class NearestNeighborKD(IMP.Object):
11689  r"""Proxy of C++ IMP::algebra::NearestNeighborD< -1 > class."""
11690 
11691  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11692 
11693  def __init__(self, vs, epsilon=0):
11694  r"""__init__(NearestNeighborKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & vs, double epsilon=0) -> NearestNeighborKD"""
11695  _IMP_algebra.NearestNeighborKD_swiginit(self, _IMP_algebra.new_NearestNeighborKD(vs, epsilon))
11696 
11697  def set_query_log(self, fname):
11698  r"""set_query_log(NearestNeighborKD self, std::string fname)"""
11699  return _IMP_algebra.NearestNeighborKD_set_query_log(self, fname)
11700 
11701  def get_nearest_neighbor(self, *args):
11702  r"""
11703  get_nearest_neighbor(NearestNeighborKD self, VectorKD q) -> unsigned int
11704  get_nearest_neighbor(NearestNeighborKD self, unsigned int i) -> unsigned int
11705  """
11706  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbor(self, *args)
11707 
11708  def get_nearest_neighbors(self, *args):
11709  r"""
11710  get_nearest_neighbors(NearestNeighborKD self, unsigned int i, unsigned int k) -> IMP::Ints
11711  get_nearest_neighbors(NearestNeighborKD self, VectorKD v, unsigned int k) -> IMP::Ints
11712  """
11713  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbors(self, *args)
11714 
11715  def get_in_ball(self, *args):
11716  r"""
11717  get_in_ball(NearestNeighborKD self, unsigned int i, double distance) -> IMP::Ints
11718  get_in_ball(NearestNeighborKD self, VectorKD pt, double distance) -> IMP::Ints
11719  """
11720  return _IMP_algebra.NearestNeighborKD_get_in_ball(self, *args)
11721 
11722  def get_version_info(self):
11723  r"""get_version_info(NearestNeighborKD self) -> VersionInfo"""
11724  return _IMP_algebra.NearestNeighborKD_get_version_info(self)
11725  __swig_destroy__ = _IMP_algebra.delete_NearestNeighborKD
11726 
11727  def __str__(self):
11728  r"""__str__(NearestNeighborKD self) -> std::string"""
11729  return _IMP_algebra.NearestNeighborKD___str__(self)
11730 
11731  def __repr__(self):
11732  r"""__repr__(NearestNeighborKD self) -> std::string"""
11733  return _IMP_algebra.NearestNeighborKD___repr__(self)
11734 
11735  @staticmethod
11736  def get_from(o):
11737  return _object_cast_to_NearestNeighborD(o)
11738 
11739 
11740 # Register NearestNeighborKD in _IMP_algebra:
11741 _IMP_algebra.NearestNeighborKD_swigregister(NearestNeighborKD)
11742 
11743 def get_transformation_aligning_pair(set_from, set_to):
11744  r"""get_transformation_aligning_pair(IMP::algebra::Vector2Ds const & set_from, IMP::algebra::Vector2Ds const & set_to) -> Transformation2D"""
11745  return _IMP_algebra.get_transformation_aligning_pair(set_from, set_to)
11746 class PrincipalComponentAnalysis1D(_GeometricPrimitive1D):
11747  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 1 > class."""
11748 
11749  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11750 
11751  def __init__(self, *args):
11752  r"""
11753  __init__(PrincipalComponentAnalysis1D self) -> PrincipalComponentAnalysis1D
11754  __init__(PrincipalComponentAnalysis1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & pcs, Vector1D values, Vector1D centroid) -> PrincipalComponentAnalysis1D
11755  """
11756  _IMP_algebra.PrincipalComponentAnalysis1D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis1D(*args))
11757 
11758  def get_principal_components(self):
11759  r"""get_principal_components(PrincipalComponentAnalysis1D self) -> IMP::Vector< IMP::algebra::VectorD< 1 > >"""
11760  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_components(self)
11761 
11762  def get_principal_component(self, i):
11763  r"""get_principal_component(PrincipalComponentAnalysis1D self, unsigned int i) -> Vector1D"""
11764  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_component(self, i)
11765 
11766  def get_principal_values(self):
11767  r"""get_principal_values(PrincipalComponentAnalysis1D self) -> Vector1D"""
11768  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_values(self)
11769 
11770  def get_principal_value(self, i):
11771  r"""get_principal_value(PrincipalComponentAnalysis1D self, unsigned int i) -> double"""
11772  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_value(self, i)
11773 
11774  def get_centroid(self):
11775  r"""get_centroid(PrincipalComponentAnalysis1D self) -> Vector1D"""
11776  return _IMP_algebra.PrincipalComponentAnalysis1D_get_centroid(self)
11777 
11778  def set_centroid(self, cntr):
11779  r"""set_centroid(PrincipalComponentAnalysis1D self, Vector1D cntr)"""
11780  return _IMP_algebra.PrincipalComponentAnalysis1D_set_centroid(self, cntr)
11781 
11782  def show(self, *args):
11783  r"""show(PrincipalComponentAnalysis1D self, _ostream out=std::cout)"""
11784  return _IMP_algebra.PrincipalComponentAnalysis1D_show(self, *args)
11785 
11786  def __cmp__(self, o):
11787  r"""__cmp__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> int"""
11788  return _IMP_algebra.PrincipalComponentAnalysis1D___cmp__(self, o)
11789 
11790  def __eq__(self, o):
11791  r"""__eq__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11792  return _IMP_algebra.PrincipalComponentAnalysis1D___eq__(self, o)
11793 
11794  def __ne__(self, o):
11795  r"""__ne__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11796  return _IMP_algebra.PrincipalComponentAnalysis1D___ne__(self, o)
11797 
11798  def __lt__(self, o):
11799  r"""__lt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11800  return _IMP_algebra.PrincipalComponentAnalysis1D___lt__(self, o)
11801 
11802  def __gt__(self, o):
11803  r"""__gt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11804  return _IMP_algebra.PrincipalComponentAnalysis1D___gt__(self, o)
11805 
11806  def __ge__(self, o):
11807  r"""__ge__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11808  return _IMP_algebra.PrincipalComponentAnalysis1D___ge__(self, o)
11809 
11810  def __le__(self, o):
11811  r"""__le__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11812  return _IMP_algebra.PrincipalComponentAnalysis1D___le__(self, o)
11813 
11814  def __str__(self):
11815  r"""__str__(PrincipalComponentAnalysis1D self) -> std::string"""
11816  return _IMP_algebra.PrincipalComponentAnalysis1D___str__(self)
11817 
11818  def __repr__(self):
11819  r"""__repr__(PrincipalComponentAnalysis1D self) -> std::string"""
11820  return _IMP_algebra.PrincipalComponentAnalysis1D___repr__(self)
11821 
11822  def _get_as_binary(self):
11823  r"""_get_as_binary(PrincipalComponentAnalysis1D self) -> PyObject *"""
11824  return _IMP_algebra.PrincipalComponentAnalysis1D__get_as_binary(self)
11825 
11826  def _set_from_binary(self, p):
11827  r"""_set_from_binary(PrincipalComponentAnalysis1D self, PyObject * p)"""
11828  return _IMP_algebra.PrincipalComponentAnalysis1D__set_from_binary(self, p)
11829 
11830  def __getstate__(self):
11831  p = self._get_as_binary()
11832  if len(self.__dict__) > 1:
11833  d = self.__dict__.copy()
11834  del d['this']
11835  p = (d, p)
11836  return p
11837 
11838  def __setstate__(self, p):
11839  if not hasattr(self, 'this'):
11840  self.__init__()
11841  if isinstance(p, tuple):
11842  d, p = p
11843  self.__dict__.update(d)
11844  return self._set_from_binary(p)
11845 
11846  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis1D
11847 
11848 # Register PrincipalComponentAnalysis1D in _IMP_algebra:
11849 _IMP_algebra.PrincipalComponentAnalysis1D_swigregister(PrincipalComponentAnalysis1D)
11850 class PrincipalComponentAnalysis2D(_GeometricPrimitive2D):
11851  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 2 > class."""
11852 
11853  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11854 
11855  def __init__(self, *args):
11856  r"""
11857  __init__(PrincipalComponentAnalysis2D self) -> PrincipalComponentAnalysis2D
11858  __init__(PrincipalComponentAnalysis2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & pcs, Vector2D values, Vector2D centroid) -> PrincipalComponentAnalysis2D
11859  """
11860  _IMP_algebra.PrincipalComponentAnalysis2D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis2D(*args))
11861 
11862  def get_principal_components(self):
11863  r"""get_principal_components(PrincipalComponentAnalysis2D self) -> IMP::Vector< IMP::algebra::VectorD< 2 > >"""
11864  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_components(self)
11865 
11866  def get_principal_component(self, i):
11867  r"""get_principal_component(PrincipalComponentAnalysis2D self, unsigned int i) -> Vector2D"""
11868  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_component(self, i)
11869 
11870  def get_principal_values(self):
11871  r"""get_principal_values(PrincipalComponentAnalysis2D self) -> Vector2D"""
11872  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_values(self)
11873 
11874  def get_principal_value(self, i):
11875  r"""get_principal_value(PrincipalComponentAnalysis2D self, unsigned int i) -> double"""
11876  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_value(self, i)
11877 
11878  def get_centroid(self):
11879  r"""get_centroid(PrincipalComponentAnalysis2D self) -> Vector2D"""
11880  return _IMP_algebra.PrincipalComponentAnalysis2D_get_centroid(self)
11881 
11882  def set_centroid(self, cntr):
11883  r"""set_centroid(PrincipalComponentAnalysis2D self, Vector2D cntr)"""
11884  return _IMP_algebra.PrincipalComponentAnalysis2D_set_centroid(self, cntr)
11885 
11886  def show(self, *args):
11887  r"""show(PrincipalComponentAnalysis2D self, _ostream out=std::cout)"""
11888  return _IMP_algebra.PrincipalComponentAnalysis2D_show(self, *args)
11889 
11890  def __cmp__(self, o):
11891  r"""__cmp__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> int"""
11892  return _IMP_algebra.PrincipalComponentAnalysis2D___cmp__(self, o)
11893 
11894  def __eq__(self, o):
11895  r"""__eq__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11896  return _IMP_algebra.PrincipalComponentAnalysis2D___eq__(self, o)
11897 
11898  def __ne__(self, o):
11899  r"""__ne__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11900  return _IMP_algebra.PrincipalComponentAnalysis2D___ne__(self, o)
11901 
11902  def __lt__(self, o):
11903  r"""__lt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11904  return _IMP_algebra.PrincipalComponentAnalysis2D___lt__(self, o)
11905 
11906  def __gt__(self, o):
11907  r"""__gt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11908  return _IMP_algebra.PrincipalComponentAnalysis2D___gt__(self, o)
11909 
11910  def __ge__(self, o):
11911  r"""__ge__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11912  return _IMP_algebra.PrincipalComponentAnalysis2D___ge__(self, o)
11913 
11914  def __le__(self, o):
11915  r"""__le__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11916  return _IMP_algebra.PrincipalComponentAnalysis2D___le__(self, o)
11917 
11918  def __str__(self):
11919  r"""__str__(PrincipalComponentAnalysis2D self) -> std::string"""
11920  return _IMP_algebra.PrincipalComponentAnalysis2D___str__(self)
11921 
11922  def __repr__(self):
11923  r"""__repr__(PrincipalComponentAnalysis2D self) -> std::string"""
11924  return _IMP_algebra.PrincipalComponentAnalysis2D___repr__(self)
11925 
11926  def _get_as_binary(self):
11927  r"""_get_as_binary(PrincipalComponentAnalysis2D self) -> PyObject *"""
11928  return _IMP_algebra.PrincipalComponentAnalysis2D__get_as_binary(self)
11929 
11930  def _set_from_binary(self, p):
11931  r"""_set_from_binary(PrincipalComponentAnalysis2D self, PyObject * p)"""
11932  return _IMP_algebra.PrincipalComponentAnalysis2D__set_from_binary(self, p)
11933 
11934  def __getstate__(self):
11935  p = self._get_as_binary()
11936  if len(self.__dict__) > 1:
11937  d = self.__dict__.copy()
11938  del d['this']
11939  p = (d, p)
11940  return p
11941 
11942  def __setstate__(self, p):
11943  if not hasattr(self, 'this'):
11944  self.__init__()
11945  if isinstance(p, tuple):
11946  d, p = p
11947  self.__dict__.update(d)
11948  return self._set_from_binary(p)
11949 
11950  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis2D
11951 
11952 # Register PrincipalComponentAnalysis2D in _IMP_algebra:
11953 _IMP_algebra.PrincipalComponentAnalysis2D_swigregister(PrincipalComponentAnalysis2D)
11954 class PrincipalComponentAnalysis3D(_GeometricPrimitive3D):
11955  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 3 > class."""
11956 
11957  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11958 
11959  def __init__(self, *args):
11960  r"""
11961  __init__(PrincipalComponentAnalysis3D self) -> PrincipalComponentAnalysis3D
11962  __init__(PrincipalComponentAnalysis3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & pcs, Vector3D values, Vector3D centroid) -> PrincipalComponentAnalysis3D
11963  """
11964  _IMP_algebra.PrincipalComponentAnalysis3D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis3D(*args))
11965 
11966  def get_principal_components(self):
11967  r"""get_principal_components(PrincipalComponentAnalysis3D self) -> IMP::Vector< IMP::algebra::VectorD< 3 > >"""
11968  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_components(self)
11969 
11970  def get_principal_component(self, i):
11971  r"""get_principal_component(PrincipalComponentAnalysis3D self, unsigned int i) -> Vector3D"""
11972  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_component(self, i)
11973 
11974  def get_principal_values(self):
11975  r"""get_principal_values(PrincipalComponentAnalysis3D self) -> Vector3D"""
11976  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_values(self)
11977 
11978  def get_principal_value(self, i):
11979  r"""get_principal_value(PrincipalComponentAnalysis3D self, unsigned int i) -> double"""
11980  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_value(self, i)
11981 
11982  def get_centroid(self):
11983  r"""get_centroid(PrincipalComponentAnalysis3D self) -> Vector3D"""
11984  return _IMP_algebra.PrincipalComponentAnalysis3D_get_centroid(self)
11985 
11986  def set_centroid(self, cntr):
11987  r"""set_centroid(PrincipalComponentAnalysis3D self, Vector3D cntr)"""
11988  return _IMP_algebra.PrincipalComponentAnalysis3D_set_centroid(self, cntr)
11989 
11990  def show(self, *args):
11991  r"""show(PrincipalComponentAnalysis3D self, _ostream out=std::cout)"""
11992  return _IMP_algebra.PrincipalComponentAnalysis3D_show(self, *args)
11993 
11994  def __cmp__(self, o):
11995  r"""__cmp__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> int"""
11996  return _IMP_algebra.PrincipalComponentAnalysis3D___cmp__(self, o)
11997 
11998  def __eq__(self, o):
11999  r"""__eq__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12000  return _IMP_algebra.PrincipalComponentAnalysis3D___eq__(self, o)
12001 
12002  def __ne__(self, o):
12003  r"""__ne__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12004  return _IMP_algebra.PrincipalComponentAnalysis3D___ne__(self, o)
12005 
12006  def __lt__(self, o):
12007  r"""__lt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12008  return _IMP_algebra.PrincipalComponentAnalysis3D___lt__(self, o)
12009 
12010  def __gt__(self, o):
12011  r"""__gt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12012  return _IMP_algebra.PrincipalComponentAnalysis3D___gt__(self, o)
12013 
12014  def __ge__(self, o):
12015  r"""__ge__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12016  return _IMP_algebra.PrincipalComponentAnalysis3D___ge__(self, o)
12017 
12018  def __le__(self, o):
12019  r"""__le__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12020  return _IMP_algebra.PrincipalComponentAnalysis3D___le__(self, o)
12021 
12022  def __str__(self):
12023  r"""__str__(PrincipalComponentAnalysis3D self) -> std::string"""
12024  return _IMP_algebra.PrincipalComponentAnalysis3D___str__(self)
12025 
12026  def __repr__(self):
12027  r"""__repr__(PrincipalComponentAnalysis3D self) -> std::string"""
12028  return _IMP_algebra.PrincipalComponentAnalysis3D___repr__(self)
12029 
12030  def _get_as_binary(self):
12031  r"""_get_as_binary(PrincipalComponentAnalysis3D self) -> PyObject *"""
12032  return _IMP_algebra.PrincipalComponentAnalysis3D__get_as_binary(self)
12033 
12034  def _set_from_binary(self, p):
12035  r"""_set_from_binary(PrincipalComponentAnalysis3D self, PyObject * p)"""
12036  return _IMP_algebra.PrincipalComponentAnalysis3D__set_from_binary(self, p)
12037 
12038  def __getstate__(self):
12039  p = self._get_as_binary()
12040  if len(self.__dict__) > 1:
12041  d = self.__dict__.copy()
12042  del d['this']
12043  p = (d, p)
12044  return p
12045 
12046  def __setstate__(self, p):
12047  if not hasattr(self, 'this'):
12048  self.__init__()
12049  if isinstance(p, tuple):
12050  d, p = p
12051  self.__dict__.update(d)
12052  return self._set_from_binary(p)
12053 
12054  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis3D
12055 
12056 # Register PrincipalComponentAnalysis3D in _IMP_algebra:
12057 _IMP_algebra.PrincipalComponentAnalysis3D_swigregister(PrincipalComponentAnalysis3D)
12058 class PrincipalComponentAnalysis4D(_GeometricPrimitive4D):
12059  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 4 > class."""
12060 
12061  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12062 
12063  def __init__(self, *args):
12064  r"""
12065  __init__(PrincipalComponentAnalysis4D self) -> PrincipalComponentAnalysis4D
12066  __init__(PrincipalComponentAnalysis4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & pcs, Vector4D values, Vector4D centroid) -> PrincipalComponentAnalysis4D
12067  """
12068  _IMP_algebra.PrincipalComponentAnalysis4D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis4D(*args))
12069 
12070  def get_principal_components(self):
12071  r"""get_principal_components(PrincipalComponentAnalysis4D self) -> IMP::Vector< IMP::algebra::VectorD< 4 > >"""
12072  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_components(self)
12073 
12074  def get_principal_component(self, i):
12075  r"""get_principal_component(PrincipalComponentAnalysis4D self, unsigned int i) -> Vector4D"""
12076  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_component(self, i)
12077 
12078  def get_principal_values(self):
12079  r"""get_principal_values(PrincipalComponentAnalysis4D self) -> Vector4D"""
12080  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_values(self)
12081 
12082  def get_principal_value(self, i):
12083  r"""get_principal_value(PrincipalComponentAnalysis4D self, unsigned int i) -> double"""
12084  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_value(self, i)
12085 
12086  def get_centroid(self):
12087  r"""get_centroid(PrincipalComponentAnalysis4D self) -> Vector4D"""
12088  return _IMP_algebra.PrincipalComponentAnalysis4D_get_centroid(self)
12089 
12090  def set_centroid(self, cntr):
12091  r"""set_centroid(PrincipalComponentAnalysis4D self, Vector4D cntr)"""
12092  return _IMP_algebra.PrincipalComponentAnalysis4D_set_centroid(self, cntr)
12093 
12094  def show(self, *args):
12095  r"""show(PrincipalComponentAnalysis4D self, _ostream out=std::cout)"""
12096  return _IMP_algebra.PrincipalComponentAnalysis4D_show(self, *args)
12097 
12098  def __cmp__(self, o):
12099  r"""__cmp__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> int"""
12100  return _IMP_algebra.PrincipalComponentAnalysis4D___cmp__(self, o)
12101 
12102  def __eq__(self, o):
12103  r"""__eq__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12104  return _IMP_algebra.PrincipalComponentAnalysis4D___eq__(self, o)
12105 
12106  def __ne__(self, o):
12107  r"""__ne__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12108  return _IMP_algebra.PrincipalComponentAnalysis4D___ne__(self, o)
12109 
12110  def __lt__(self, o):
12111  r"""__lt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12112  return _IMP_algebra.PrincipalComponentAnalysis4D___lt__(self, o)
12113 
12114  def __gt__(self, o):
12115  r"""__gt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12116  return _IMP_algebra.PrincipalComponentAnalysis4D___gt__(self, o)
12117 
12118  def __ge__(self, o):
12119  r"""__ge__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12120  return _IMP_algebra.PrincipalComponentAnalysis4D___ge__(self, o)
12121 
12122  def __le__(self, o):
12123  r"""__le__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12124  return _IMP_algebra.PrincipalComponentAnalysis4D___le__(self, o)
12125 
12126  def __str__(self):
12127  r"""__str__(PrincipalComponentAnalysis4D self) -> std::string"""
12128  return _IMP_algebra.PrincipalComponentAnalysis4D___str__(self)
12129 
12130  def __repr__(self):
12131  r"""__repr__(PrincipalComponentAnalysis4D self) -> std::string"""
12132  return _IMP_algebra.PrincipalComponentAnalysis4D___repr__(self)
12133 
12134  def _get_as_binary(self):
12135  r"""_get_as_binary(PrincipalComponentAnalysis4D self) -> PyObject *"""
12136  return _IMP_algebra.PrincipalComponentAnalysis4D__get_as_binary(self)
12137 
12138  def _set_from_binary(self, p):
12139  r"""_set_from_binary(PrincipalComponentAnalysis4D self, PyObject * p)"""
12140  return _IMP_algebra.PrincipalComponentAnalysis4D__set_from_binary(self, p)
12141 
12142  def __getstate__(self):
12143  p = self._get_as_binary()
12144  if len(self.__dict__) > 1:
12145  d = self.__dict__.copy()
12146  del d['this']
12147  p = (d, p)
12148  return p
12149 
12150  def __setstate__(self, p):
12151  if not hasattr(self, 'this'):
12152  self.__init__()
12153  if isinstance(p, tuple):
12154  d, p = p
12155  self.__dict__.update(d)
12156  return self._set_from_binary(p)
12157 
12158  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis4D
12159 
12160 # Register PrincipalComponentAnalysis4D in _IMP_algebra:
12161 _IMP_algebra.PrincipalComponentAnalysis4D_swigregister(PrincipalComponentAnalysis4D)
12162 class PrincipalComponentAnalysis5D(_GeometricPrimitive5D):
12163  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 5 > class."""
12164 
12165  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12166 
12167  def __init__(self, *args):
12168  r"""
12169  __init__(PrincipalComponentAnalysis5D self) -> PrincipalComponentAnalysis5D
12170  __init__(PrincipalComponentAnalysis5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & pcs, Vector5D values, Vector5D centroid) -> PrincipalComponentAnalysis5D
12171  """
12172  _IMP_algebra.PrincipalComponentAnalysis5D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis5D(*args))
12173 
12174  def get_principal_components(self):
12175  r"""get_principal_components(PrincipalComponentAnalysis5D self) -> IMP::Vector< IMP::algebra::VectorD< 5 > >"""
12176  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_components(self)
12177 
12178  def get_principal_component(self, i):
12179  r"""get_principal_component(PrincipalComponentAnalysis5D self, unsigned int i) -> Vector5D"""
12180  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_component(self, i)
12181 
12182  def get_principal_values(self):
12183  r"""get_principal_values(PrincipalComponentAnalysis5D self) -> Vector5D"""
12184  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_values(self)
12185 
12186  def get_principal_value(self, i):
12187  r"""get_principal_value(PrincipalComponentAnalysis5D self, unsigned int i) -> double"""
12188  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_value(self, i)
12189 
12190  def get_centroid(self):
12191  r"""get_centroid(PrincipalComponentAnalysis5D self) -> Vector5D"""
12192  return _IMP_algebra.PrincipalComponentAnalysis5D_get_centroid(self)
12193 
12194  def set_centroid(self, cntr):
12195  r"""set_centroid(PrincipalComponentAnalysis5D self, Vector5D cntr)"""
12196  return _IMP_algebra.PrincipalComponentAnalysis5D_set_centroid(self, cntr)
12197 
12198  def show(self, *args):
12199  r"""show(PrincipalComponentAnalysis5D self, _ostream out=std::cout)"""
12200  return _IMP_algebra.PrincipalComponentAnalysis5D_show(self, *args)
12201 
12202  def __cmp__(self, o):
12203  r"""__cmp__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> int"""
12204  return _IMP_algebra.PrincipalComponentAnalysis5D___cmp__(self, o)
12205 
12206  def __eq__(self, o):
12207  r"""__eq__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12208  return _IMP_algebra.PrincipalComponentAnalysis5D___eq__(self, o)
12209 
12210  def __ne__(self, o):
12211  r"""__ne__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12212  return _IMP_algebra.PrincipalComponentAnalysis5D___ne__(self, o)
12213 
12214  def __lt__(self, o):
12215  r"""__lt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12216  return _IMP_algebra.PrincipalComponentAnalysis5D___lt__(self, o)
12217 
12218  def __gt__(self, o):
12219  r"""__gt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12220  return _IMP_algebra.PrincipalComponentAnalysis5D___gt__(self, o)
12221 
12222  def __ge__(self, o):
12223  r"""__ge__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12224  return _IMP_algebra.PrincipalComponentAnalysis5D___ge__(self, o)
12225 
12226  def __le__(self, o):
12227  r"""__le__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12228  return _IMP_algebra.PrincipalComponentAnalysis5D___le__(self, o)
12229 
12230  def __str__(self):
12231  r"""__str__(PrincipalComponentAnalysis5D self) -> std::string"""
12232  return _IMP_algebra.PrincipalComponentAnalysis5D___str__(self)
12233 
12234  def __repr__(self):
12235  r"""__repr__(PrincipalComponentAnalysis5D self) -> std::string"""
12236  return _IMP_algebra.PrincipalComponentAnalysis5D___repr__(self)
12237 
12238  def _get_as_binary(self):
12239  r"""_get_as_binary(PrincipalComponentAnalysis5D self) -> PyObject *"""
12240  return _IMP_algebra.PrincipalComponentAnalysis5D__get_as_binary(self)
12241 
12242  def _set_from_binary(self, p):
12243  r"""_set_from_binary(PrincipalComponentAnalysis5D self, PyObject * p)"""
12244  return _IMP_algebra.PrincipalComponentAnalysis5D__set_from_binary(self, p)
12245 
12246  def __getstate__(self):
12247  p = self._get_as_binary()
12248  if len(self.__dict__) > 1:
12249  d = self.__dict__.copy()
12250  del d['this']
12251  p = (d, p)
12252  return p
12253 
12254  def __setstate__(self, p):
12255  if not hasattr(self, 'this'):
12256  self.__init__()
12257  if isinstance(p, tuple):
12258  d, p = p
12259  self.__dict__.update(d)
12260  return self._set_from_binary(p)
12261 
12262  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis5D
12263 
12264 # Register PrincipalComponentAnalysis5D in _IMP_algebra:
12265 _IMP_algebra.PrincipalComponentAnalysis5D_swigregister(PrincipalComponentAnalysis5D)
12266 class PrincipalComponentAnalysis6D(_GeometricPrimitive6D):
12267  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 6 > class."""
12268 
12269  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12270 
12271  def __init__(self, *args):
12272  r"""
12273  __init__(PrincipalComponentAnalysis6D self) -> PrincipalComponentAnalysis6D
12274  __init__(PrincipalComponentAnalysis6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & pcs, Vector6D values, Vector6D centroid) -> PrincipalComponentAnalysis6D
12275  """
12276  _IMP_algebra.PrincipalComponentAnalysis6D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis6D(*args))
12277 
12278  def get_principal_components(self):
12279  r"""get_principal_components(PrincipalComponentAnalysis6D self) -> IMP::Vector< IMP::algebra::VectorD< 6 > >"""
12280  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_components(self)
12281 
12282  def get_principal_component(self, i):
12283  r"""get_principal_component(PrincipalComponentAnalysis6D self, unsigned int i) -> Vector6D"""
12284  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_component(self, i)
12285 
12286  def get_principal_values(self):
12287  r"""get_principal_values(PrincipalComponentAnalysis6D self) -> Vector6D"""
12288  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_values(self)
12289 
12290  def get_principal_value(self, i):
12291  r"""get_principal_value(PrincipalComponentAnalysis6D self, unsigned int i) -> double"""
12292  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_value(self, i)
12293 
12294  def get_centroid(self):
12295  r"""get_centroid(PrincipalComponentAnalysis6D self) -> Vector6D"""
12296  return _IMP_algebra.PrincipalComponentAnalysis6D_get_centroid(self)
12297 
12298  def set_centroid(self, cntr):
12299  r"""set_centroid(PrincipalComponentAnalysis6D self, Vector6D cntr)"""
12300  return _IMP_algebra.PrincipalComponentAnalysis6D_set_centroid(self, cntr)
12301 
12302  def show(self, *args):
12303  r"""show(PrincipalComponentAnalysis6D self, _ostream out=std::cout)"""
12304  return _IMP_algebra.PrincipalComponentAnalysis6D_show(self, *args)
12305 
12306  def __cmp__(self, o):
12307  r"""__cmp__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> int"""
12308  return _IMP_algebra.PrincipalComponentAnalysis6D___cmp__(self, o)
12309 
12310  def __eq__(self, o):
12311  r"""__eq__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12312  return _IMP_algebra.PrincipalComponentAnalysis6D___eq__(self, o)
12313 
12314  def __ne__(self, o):
12315  r"""__ne__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12316  return _IMP_algebra.PrincipalComponentAnalysis6D___ne__(self, o)
12317 
12318  def __lt__(self, o):
12319  r"""__lt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12320  return _IMP_algebra.PrincipalComponentAnalysis6D___lt__(self, o)
12321 
12322  def __gt__(self, o):
12323  r"""__gt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12324  return _IMP_algebra.PrincipalComponentAnalysis6D___gt__(self, o)
12325 
12326  def __ge__(self, o):
12327  r"""__ge__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12328  return _IMP_algebra.PrincipalComponentAnalysis6D___ge__(self, o)
12329 
12330  def __le__(self, o):
12331  r"""__le__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12332  return _IMP_algebra.PrincipalComponentAnalysis6D___le__(self, o)
12333 
12334  def __str__(self):
12335  r"""__str__(PrincipalComponentAnalysis6D self) -> std::string"""
12336  return _IMP_algebra.PrincipalComponentAnalysis6D___str__(self)
12337 
12338  def __repr__(self):
12339  r"""__repr__(PrincipalComponentAnalysis6D self) -> std::string"""
12340  return _IMP_algebra.PrincipalComponentAnalysis6D___repr__(self)
12341 
12342  def _get_as_binary(self):
12343  r"""_get_as_binary(PrincipalComponentAnalysis6D self) -> PyObject *"""
12344  return _IMP_algebra.PrincipalComponentAnalysis6D__get_as_binary(self)
12345 
12346  def _set_from_binary(self, p):
12347  r"""_set_from_binary(PrincipalComponentAnalysis6D self, PyObject * p)"""
12348  return _IMP_algebra.PrincipalComponentAnalysis6D__set_from_binary(self, p)
12349 
12350  def __getstate__(self):
12351  p = self._get_as_binary()
12352  if len(self.__dict__) > 1:
12353  d = self.__dict__.copy()
12354  del d['this']
12355  p = (d, p)
12356  return p
12357 
12358  def __setstate__(self, p):
12359  if not hasattr(self, 'this'):
12360  self.__init__()
12361  if isinstance(p, tuple):
12362  d, p = p
12363  self.__dict__.update(d)
12364  return self._set_from_binary(p)
12365 
12366  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis6D
12367 
12368 # Register PrincipalComponentAnalysis6D in _IMP_algebra:
12369 _IMP_algebra.PrincipalComponentAnalysis6D_swigregister(PrincipalComponentAnalysis6D)
12370 class PrincipalComponentAnalysisKD(_GeometricPrimitiveKD):
12371  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< -1 > class."""
12372 
12373  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12374 
12375  def __init__(self, *args):
12376  r"""
12377  __init__(PrincipalComponentAnalysisKD self) -> PrincipalComponentAnalysisKD
12378  __init__(PrincipalComponentAnalysisKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & pcs, VectorKD values, VectorKD centroid) -> PrincipalComponentAnalysisKD
12379  """
12380  _IMP_algebra.PrincipalComponentAnalysisKD_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysisKD(*args))
12381 
12382  def get_principal_components(self):
12383  r"""get_principal_components(PrincipalComponentAnalysisKD self) -> IMP::Vector< IMP::algebra::VectorD< -1 > >"""
12384  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_components(self)
12385 
12386  def get_principal_component(self, i):
12387  r"""get_principal_component(PrincipalComponentAnalysisKD self, unsigned int i) -> VectorKD"""
12388  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_component(self, i)
12389 
12390  def get_principal_values(self):
12391  r"""get_principal_values(PrincipalComponentAnalysisKD self) -> VectorKD"""
12392  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_values(self)
12393 
12394  def get_principal_value(self, i):
12395  r"""get_principal_value(PrincipalComponentAnalysisKD self, unsigned int i) -> double"""
12396  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_value(self, i)
12397 
12398  def get_centroid(self):
12399  r"""get_centroid(PrincipalComponentAnalysisKD self) -> VectorKD"""
12400  return _IMP_algebra.PrincipalComponentAnalysisKD_get_centroid(self)
12401 
12402  def set_centroid(self, cntr):
12403  r"""set_centroid(PrincipalComponentAnalysisKD self, VectorKD cntr)"""
12404  return _IMP_algebra.PrincipalComponentAnalysisKD_set_centroid(self, cntr)
12405 
12406  def show(self, *args):
12407  r"""show(PrincipalComponentAnalysisKD self, _ostream out=std::cout)"""
12408  return _IMP_algebra.PrincipalComponentAnalysisKD_show(self, *args)
12409 
12410  def __cmp__(self, o):
12411  r"""__cmp__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> int"""
12412  return _IMP_algebra.PrincipalComponentAnalysisKD___cmp__(self, o)
12413 
12414  def __eq__(self, o):
12415  r"""__eq__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12416  return _IMP_algebra.PrincipalComponentAnalysisKD___eq__(self, o)
12417 
12418  def __ne__(self, o):
12419  r"""__ne__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12420  return _IMP_algebra.PrincipalComponentAnalysisKD___ne__(self, o)
12421 
12422  def __lt__(self, o):
12423  r"""__lt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12424  return _IMP_algebra.PrincipalComponentAnalysisKD___lt__(self, o)
12425 
12426  def __gt__(self, o):
12427  r"""__gt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12428  return _IMP_algebra.PrincipalComponentAnalysisKD___gt__(self, o)
12429 
12430  def __ge__(self, o):
12431  r"""__ge__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12432  return _IMP_algebra.PrincipalComponentAnalysisKD___ge__(self, o)
12433 
12434  def __le__(self, o):
12435  r"""__le__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12436  return _IMP_algebra.PrincipalComponentAnalysisKD___le__(self, o)
12437 
12438  def __str__(self):
12439  r"""__str__(PrincipalComponentAnalysisKD self) -> std::string"""
12440  return _IMP_algebra.PrincipalComponentAnalysisKD___str__(self)
12441 
12442  def __repr__(self):
12443  r"""__repr__(PrincipalComponentAnalysisKD self) -> std::string"""
12444  return _IMP_algebra.PrincipalComponentAnalysisKD___repr__(self)
12445 
12446  def _get_as_binary(self):
12447  r"""_get_as_binary(PrincipalComponentAnalysisKD self) -> PyObject *"""
12448  return _IMP_algebra.PrincipalComponentAnalysisKD__get_as_binary(self)
12449 
12450  def _set_from_binary(self, p):
12451  r"""_set_from_binary(PrincipalComponentAnalysisKD self, PyObject * p)"""
12452  return _IMP_algebra.PrincipalComponentAnalysisKD__set_from_binary(self, p)
12453 
12454  def __getstate__(self):
12455  p = self._get_as_binary()
12456  if len(self.__dict__) > 1:
12457  d = self.__dict__.copy()
12458  del d['this']
12459  p = (d, p)
12460  return p
12461 
12462  def __setstate__(self, p):
12463  if not hasattr(self, 'this'):
12464  self.__init__()
12465  if isinstance(p, tuple):
12466  d, p = p
12467  self.__dict__.update(d)
12468  return self._set_from_binary(p)
12469 
12470  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysisKD
12471 
12472 # Register PrincipalComponentAnalysisKD in _IMP_algebra:
12473 _IMP_algebra.PrincipalComponentAnalysisKD_swigregister(PrincipalComponentAnalysisKD)
12474 
12475 def get_principal_components(*args):
12476  r"""
12477  get_principal_components(IMP::Vector< IMP::algebra::Vector1D > const & a) -> PrincipalComponentAnalysis1D
12478  get_principal_components(IMP::Vector< IMP::algebra::Vector2D > const & a) -> PrincipalComponentAnalysis2D
12479  get_principal_components(IMP::Vector< IMP::algebra::Vector3D > const & a) -> PrincipalComponentAnalysis3D
12480  get_principal_components(IMP::Vector< IMP::algebra::Vector4D > const & a) -> PrincipalComponentAnalysis4D
12481  get_principal_components(IMP::Vector< IMP::algebra::Vector5D > const & a) -> PrincipalComponentAnalysis5D
12482  get_principal_components(IMP::Vector< IMP::algebra::Vector6D > const & a) -> PrincipalComponentAnalysis6D
12483  get_principal_components(IMP::Vector< IMP::algebra::VectorKD > const & a) -> PrincipalComponentAnalysisKD
12484  """
12485  return _IMP_algebra.get_principal_components(*args)
12486 
12487 def get_distance(*args):
12488  r"""
12489  get_distance(Rotation3D r0, Rotation3D r1) -> double
12490  get_distance(Line3D s, Vector3D p) -> double
12491  get_distance(Line3D a, Line3D b) -> double
12492  get_distance(Segment3D s, Vector3D p) -> double
12493  get_distance(Segment3D a, Segment3D b) -> double
12494  get_distance(Plane3D pln, Vector3D p) -> double
12495  get_distance(Vector1D a, Vector1D b) -> double
12496  get_distance(Vector2D a, Vector2D b) -> double
12497  get_distance(Vector3D a, Vector3D b) -> double
12498  get_distance(Vector4D a, Vector4D b) -> double
12499  get_distance(Vector5D a, Vector5D b) -> double
12500  get_distance(Vector6D a, Vector6D b) -> double
12501  get_distance(VectorKD a, VectorKD b) -> double
12502  get_distance(Sphere1D a, Sphere1D b) -> double
12503  get_distance(Sphere2D a, Sphere2D b) -> double
12504  get_distance(Sphere3D a, Sphere3D b) -> double
12505  get_distance(Sphere4D a, Sphere4D b) -> double
12506  get_distance(Sphere5D a, Sphere5D b) -> double
12507  get_distance(Sphere6D a, Sphere6D b) -> double
12508  get_distance(SphereKD a, SphereKD b) -> double
12509  """
12510  return _IMP_algebra.get_distance(*args)
12511 
12512 def get_squared_distance(*args):
12513  r"""
12514  get_squared_distance(Vector1D a, Vector1D b) -> double
12515  get_squared_distance(Vector2D a, Vector2D b) -> double
12516  get_squared_distance(Vector3D a, Vector3D b) -> double
12517  get_squared_distance(Vector4D a, Vector4D b) -> double
12518  get_squared_distance(Vector5D a, Vector5D b) -> double
12519  get_squared_distance(Vector6D a, Vector6D b) -> double
12520  get_squared_distance(VectorKD a, VectorKD b) -> double
12521  """
12522  return _IMP_algebra.get_squared_distance(*args)
12523 
12524 def get_basis_vector_1d(coordinate):
12525  r"""get_basis_vector_1d(unsigned int coordinate) -> Vector1D"""
12526  return _IMP_algebra.get_basis_vector_1d(coordinate)
12527 
12528 def get_basis_vector_2d(coordinate):
12529  r"""get_basis_vector_2d(unsigned int coordinate) -> Vector2D"""
12530  return _IMP_algebra.get_basis_vector_2d(coordinate)
12531 
12532 def get_basis_vector_3d(coordinate):
12533  r"""get_basis_vector_3d(unsigned int coordinate) -> Vector3D"""
12534  return _IMP_algebra.get_basis_vector_3d(coordinate)
12535 
12536 def get_basis_vector_4d(coordinate):
12537  r"""get_basis_vector_4d(unsigned int coordinate) -> Vector4D"""
12538  return _IMP_algebra.get_basis_vector_4d(coordinate)
12539 
12540 def get_basis_vector_5d(coordinate):
12541  r"""get_basis_vector_5d(unsigned int coordinate) -> Vector5D"""
12542  return _IMP_algebra.get_basis_vector_5d(coordinate)
12543 
12544 def get_basis_vector_6d(coordinate):
12545  r"""get_basis_vector_6d(unsigned int coordinate) -> Vector6D"""
12546  return _IMP_algebra.get_basis_vector_6d(coordinate)
12547 
12548 def get_zero_vector_1d():
12549  r"""get_zero_vector_1d() -> Vector1D"""
12550  return _IMP_algebra.get_zero_vector_1d()
12551 
12552 def get_zero_vector_2d():
12553  r"""get_zero_vector_2d() -> Vector2D"""
12554  return _IMP_algebra.get_zero_vector_2d()
12555 
12556 def get_zero_vector_3d():
12557  r"""get_zero_vector_3d() -> Vector3D"""
12558  return _IMP_algebra.get_zero_vector_3d()
12559 
12560 def get_zero_vector_4d():
12561  r"""get_zero_vector_4d() -> Vector4D"""
12562  return _IMP_algebra.get_zero_vector_4d()
12563 
12564 def get_zero_vector_5d():
12565  r"""get_zero_vector_5d() -> Vector5D"""
12566  return _IMP_algebra.get_zero_vector_5d()
12567 
12568 def get_zero_vector_6d():
12569  r"""get_zero_vector_6d() -> Vector6D"""
12570  return _IMP_algebra.get_zero_vector_6d()
12571 
12572 def get_ones_vector_1d(v=1):
12573  r"""get_ones_vector_1d(double v=1) -> Vector1D"""
12574  return _IMP_algebra.get_ones_vector_1d(v)
12575 
12576 def get_ones_vector_2d(v=1):
12577  r"""get_ones_vector_2d(double v=1) -> Vector2D"""
12578  return _IMP_algebra.get_ones_vector_2d(v)
12579 
12580 def get_ones_vector_3d(v=1):
12581  r"""get_ones_vector_3d(double v=1) -> Vector3D"""
12582  return _IMP_algebra.get_ones_vector_3d(v)
12583 
12584 def get_ones_vector_4d(v=1):
12585  r"""get_ones_vector_4d(double v=1) -> Vector4D"""
12586  return _IMP_algebra.get_ones_vector_4d(v)
12587 
12588 def get_ones_vector_5d(v=1):
12589  r"""get_ones_vector_5d(double v=1) -> Vector5D"""
12590  return _IMP_algebra.get_ones_vector_5d(v)
12591 
12592 def get_ones_vector_6d(v=1):
12593  r"""get_ones_vector_6d(double v=1) -> Vector6D"""
12594  return _IMP_algebra.get_ones_vector_6d(v)
12595 
12596 def get_unit_bounding_box_1d():
12597  r"""get_unit_bounding_box_1d() -> BoundingBox1D"""
12598  return _IMP_algebra.get_unit_bounding_box_1d()
12599 
12600 def get_unit_bounding_box_2d():
12601  r"""get_unit_bounding_box_2d() -> BoundingBox2D"""
12602  return _IMP_algebra.get_unit_bounding_box_2d()
12603 
12604 def get_unit_bounding_box_3d():
12605  r"""get_unit_bounding_box_3d() -> BoundingBox3D"""
12606  return _IMP_algebra.get_unit_bounding_box_3d()
12607 
12608 def get_unit_bounding_box_4d():
12609  r"""get_unit_bounding_box_4d() -> BoundingBox4D"""
12610  return _IMP_algebra.get_unit_bounding_box_4d()
12611 
12612 def get_unit_bounding_box_5d():
12613  r"""get_unit_bounding_box_5d() -> BoundingBox5D"""
12614  return _IMP_algebra.get_unit_bounding_box_5d()
12615 
12616 def get_unit_bounding_box_6d():
12617  r"""get_unit_bounding_box_6d() -> BoundingBox6D"""
12618  return _IMP_algebra.get_unit_bounding_box_6d()
12619 
12620 def get_cube_1d(radius):
12621  r"""get_cube_1d(double radius) -> BoundingBox1D"""
12622  return _IMP_algebra.get_cube_1d(radius)
12623 
12624 def get_cube_2d(radius):
12625  r"""get_cube_2d(double radius) -> BoundingBox2D"""
12626  return _IMP_algebra.get_cube_2d(radius)
12627 
12628 def get_cube_3d(radius):
12629  r"""get_cube_3d(double radius) -> BoundingBox3D"""
12630  return _IMP_algebra.get_cube_3d(radius)
12631 
12632 def get_cube_4d(radius):
12633  r"""get_cube_4d(double radius) -> BoundingBox4D"""
12634  return _IMP_algebra.get_cube_4d(radius)
12635 
12636 def get_cube_5d(radius):
12637  r"""get_cube_5d(double radius) -> BoundingBox5D"""
12638  return _IMP_algebra.get_cube_5d(radius)
12639 
12640 def get_cube_6d(radius):
12641  r"""get_cube_6d(double radius) -> BoundingBox6D"""
12642  return _IMP_algebra.get_cube_6d(radius)
12643 
12644 def get_unit_sphere_1d():
12645  r"""get_unit_sphere_1d() -> Sphere1D"""
12646  return _IMP_algebra.get_unit_sphere_1d()
12647 
12648 def get_unit_sphere_2d():
12649  r"""get_unit_sphere_2d() -> Sphere2D"""
12650  return _IMP_algebra.get_unit_sphere_2d()
12651 
12652 def get_unit_sphere_3d():
12653  r"""get_unit_sphere_3d() -> Sphere3D"""
12654  return _IMP_algebra.get_unit_sphere_3d()
12655 
12656 def get_unit_sphere_4d():
12657  r"""get_unit_sphere_4d() -> Sphere4D"""
12658  return _IMP_algebra.get_unit_sphere_4d()
12659 
12660 def get_unit_sphere_5d():
12661  r"""get_unit_sphere_5d() -> Sphere5D"""
12662  return _IMP_algebra.get_unit_sphere_5d()
12663 
12664 def get_unit_sphere_6d():
12665  r"""get_unit_sphere_6d() -> Sphere6D"""
12666  return _IMP_algebra.get_unit_sphere_6d()
12667 
12668 def get_interiors_intersect(*args):
12669  r"""
12670  get_interiors_intersect(Sphere1D a, Sphere1D b) -> bool
12671  get_interiors_intersect(Sphere2D a, Sphere2D b) -> bool
12672  get_interiors_intersect(Sphere3D a, Sphere3D b) -> bool
12673  get_interiors_intersect(Sphere4D a, Sphere4D b) -> bool
12674  get_interiors_intersect(Sphere5D a, Sphere5D b) -> bool
12675  get_interiors_intersect(Sphere6D a, Sphere6D b) -> bool
12676  get_interiors_intersect(SphereKD a, SphereKD b) -> bool
12677  get_interiors_intersect(BoundingBox1D a, BoundingBox1D b) -> bool
12678  get_interiors_intersect(BoundingBox2D a, BoundingBox2D b) -> bool
12679  get_interiors_intersect(BoundingBox3D a, BoundingBox3D b) -> bool
12680  get_interiors_intersect(BoundingBox4D a, BoundingBox4D b) -> bool
12681  get_interiors_intersect(BoundingBox5D a, BoundingBox5D b) -> bool
12682  get_interiors_intersect(BoundingBox6D a, BoundingBox6D b) -> bool
12683  get_interiors_intersect(BoundingBoxKD a, BoundingBoxKD b) -> bool
12684  """
12685  return _IMP_algebra.get_interiors_intersect(*args)
12686 
12687 def get_random_vector_on(*args):
12688  r"""
12689  get_random_vector_on(Sphere1D a) -> Vector1D
12690  get_random_vector_on(Sphere2D a) -> Vector2D
12691  get_random_vector_on(Sphere3D a) -> Vector3D
12692  get_random_vector_on(Sphere4D a) -> Vector4D
12693  get_random_vector_on(Sphere5D a) -> Vector5D
12694  get_random_vector_on(Sphere6D a) -> Vector6D
12695  get_random_vector_on(SphereKD a) -> VectorKD
12696  get_random_vector_on(UnitSimplex1D a) -> Vector1D
12697  get_random_vector_on(UnitSimplex2D a) -> Vector2D
12698  get_random_vector_on(UnitSimplex3D a) -> Vector3D
12699  get_random_vector_on(UnitSimplex4D a) -> Vector4D
12700  get_random_vector_on(UnitSimplex5D a) -> Vector5D
12701  get_random_vector_on(UnitSimplex6D a) -> Vector6D
12702  get_random_vector_on(UnitSimplexKD a) -> VectorKD
12703  get_random_vector_on(BoundingBox1D a) -> Vector1D
12704  get_random_vector_on(BoundingBox2D a) -> Vector2D
12705  get_random_vector_on(BoundingBox3D a) -> Vector3D
12706  get_random_vector_on(BoundingBox4D a) -> Vector4D
12707  get_random_vector_on(BoundingBox5D a) -> Vector5D
12708  get_random_vector_on(BoundingBox6D a) -> Vector6D
12709  get_random_vector_on(BoundingBoxKD a) -> VectorKD
12710  """
12711  return _IMP_algebra.get_random_vector_on(*args)
12712 
12713 def get_random_vector_in(*args):
12714  r"""
12715  get_random_vector_in(Cylinder3D c) -> Vector3D
12716  get_random_vector_in(Sphere1D a) -> Vector1D
12717  get_random_vector_in(Sphere2D a) -> Vector2D
12718  get_random_vector_in(Sphere3D a) -> Vector3D
12719  get_random_vector_in(Sphere4D a) -> Vector4D
12720  get_random_vector_in(Sphere5D a) -> Vector5D
12721  get_random_vector_in(Sphere6D a) -> Vector6D
12722  get_random_vector_in(SphereKD a) -> VectorKD
12723  get_random_vector_in(BoundingBox1D a) -> Vector1D
12724  get_random_vector_in(BoundingBox2D a) -> Vector2D
12725  get_random_vector_in(BoundingBox3D a) -> Vector3D
12726  get_random_vector_in(BoundingBox4D a) -> Vector4D
12727  get_random_vector_in(BoundingBox5D a) -> Vector5D
12728  get_random_vector_in(BoundingBox6D a) -> Vector6D
12729  get_random_vector_in(BoundingBoxKD a) -> VectorKD
12730  """
12731  return _IMP_algebra.get_random_vector_in(*args)
12732 
12733 def get_intersection(*args):
12734  r"""
12735  get_intersection(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12736  get_intersection(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12737  get_intersection(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12738  get_intersection(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12739  get_intersection(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12740  get_intersection(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12741  get_intersection(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12742  """
12743  return _IMP_algebra.get_intersection(*args)
12744 
12745 def get_union(*args):
12746  r"""
12747  get_union(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12748  get_union(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12749  get_union(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12750  get_union(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12751  get_union(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12752  get_union(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12753  get_union(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12754  """
12755  return _IMP_algebra.get_union(*args)
12756 
12757 def get_bounding_box(*args):
12758  r"""
12759  get_bounding_box(Line3D g) -> BoundingBox3D
12760  get_bounding_box(Segment3D g) -> BoundingBox3D
12761  get_bounding_box(Plane3D g) -> BoundingBox3D
12762  get_bounding_box(Cylinder3D g) -> BoundingBox3D
12763  get_bounding_box(Ellipsoid3D g) -> BoundingBox3D
12764  get_bounding_box(SpherePatch3D g) -> BoundingBox3D
12765  get_bounding_box(Cone3D g) -> BoundingBox3D
12766  get_bounding_box(Sphere1D a) -> BoundingBox1D
12767  get_bounding_box(Sphere2D a) -> BoundingBox2D
12768  get_bounding_box(Sphere3D a) -> BoundingBox3D
12769  get_bounding_box(Sphere4D a) -> BoundingBox4D
12770  get_bounding_box(Sphere5D a) -> BoundingBox5D
12771  get_bounding_box(Sphere6D a) -> BoundingBox6D
12772  get_bounding_box(SphereKD a) -> BoundingBoxKD
12773  """
12774  return _IMP_algebra.get_bounding_box(*args)
12775 
12776 def get_uniform_surface_cover(*args):
12777  r"""
12778  get_uniform_surface_cover(Cylinder3D cyl, int number_of_points) -> IMP::algebra::Vector3Ds
12779  get_uniform_surface_cover(SpherePatch3D sph, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12780  get_uniform_surface_cover(Cone3D cone, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12781  get_uniform_surface_cover(IMP::algebra::Sphere3Ds const & _in, double points_per_square_angstrom) -> IMP::algebra::Vector3Ds
12782  get_uniform_surface_cover(Sphere1D a, unsigned int const & b) -> IMP::algebra::Vector1Ds
12783  get_uniform_surface_cover(Sphere2D a, unsigned int const & b) -> IMP::algebra::Vector2Ds
12784  get_uniform_surface_cover(Sphere3D a, unsigned int const & b) -> IMP::algebra::Vector3Ds
12785  get_uniform_surface_cover(Sphere4D a, unsigned int const & b) -> IMP::algebra::Vector4Ds
12786  get_uniform_surface_cover(Sphere5D a, unsigned int const & b) -> IMP::algebra::Vector5Ds
12787  get_uniform_surface_cover(Sphere6D a, unsigned int const & b) -> IMP::algebra::Vector6Ds
12788  get_uniform_surface_cover(SphereKD a, unsigned int const & b) -> IMP::algebra::VectorKDs
12789  """
12790  return _IMP_algebra.get_uniform_surface_cover(*args)
12791 
12793  r"""
12794  get_grid_interior_cover_by_spacing(BoundingBox1D a, double const & b) -> IMP::algebra::Vector1Ds
12795  get_grid_interior_cover_by_spacing(BoundingBox2D a, double const & b) -> IMP::algebra::Vector2Ds
12796  get_grid_interior_cover_by_spacing(BoundingBox3D a, double const & b) -> IMP::algebra::Vector3Ds
12797  get_grid_interior_cover_by_spacing(BoundingBox4D a, double const & b) -> IMP::algebra::Vector4Ds
12798  get_grid_interior_cover_by_spacing(BoundingBox5D a, double const & b) -> IMP::algebra::Vector5Ds
12799  get_grid_interior_cover_by_spacing(BoundingBox6D a, double const & b) -> IMP::algebra::Vector6Ds
12800  get_grid_interior_cover_by_spacing(BoundingBoxKD a, double const & b) -> IMP::algebra::VectorKDs
12801  """
12802  return _IMP_algebra.get_grid_interior_cover_by_spacing(*args)
12803 
12804 def get_projected(*args):
12805  r"""
12806  get_projected(Line3D l, Vector3D p) -> Vector3D
12807  get_projected(Line3D l, Segment3D s) -> Segment3D
12808  get_projected(UnitSimplex1D a, Vector1D b) -> Vector1D
12809  get_projected(UnitSimplex2D a, Vector2D b) -> Vector2D
12810  get_projected(UnitSimplex3D a, Vector3D b) -> Vector3D
12811  get_projected(UnitSimplex4D a, Vector4D b) -> Vector4D
12812  get_projected(UnitSimplex5D a, Vector5D b) -> Vector5D
12813  get_projected(UnitSimplex6D a, Vector6D b) -> Vector6D
12814  get_projected(UnitSimplexKD a, VectorKD b) -> VectorKD
12815  """
12816  return _IMP_algebra.get_projected(*args)
12817 
12818 def get_vertices(*args):
12819  r"""
12820  get_vertices(BoundingBox1D a) -> IMP::Vector< IMP::algebra::Vector1D >
12821  get_vertices(BoundingBox2D a) -> IMP::Vector< IMP::algebra::Vector2D >
12822  get_vertices(BoundingBox3D a) -> IMP::Vector< IMP::algebra::Vector3D >
12823  get_vertices(BoundingBox4D a) -> IMP::Vector< IMP::algebra::Vector4D >
12824  get_vertices(BoundingBox5D a) -> IMP::Vector< IMP::algebra::Vector5D >
12825  get_vertices(BoundingBox6D a) -> IMP::Vector< IMP::algebra::Vector6D >
12826  get_vertices(BoundingBoxKD a) -> IMP::Vector< IMP::algebra::VectorKD >
12827  get_vertices(UnitSimplex1D a) -> IMP::Vector< IMP::algebra::Vector1D >
12828  get_vertices(UnitSimplex2D a) -> IMP::Vector< IMP::algebra::Vector2D >
12829  get_vertices(UnitSimplex3D a) -> IMP::Vector< IMP::algebra::Vector3D >
12830  get_vertices(UnitSimplex4D a) -> IMP::Vector< IMP::algebra::Vector4D >
12831  get_vertices(UnitSimplex5D a) -> IMP::Vector< IMP::algebra::Vector5D >
12832  get_vertices(UnitSimplex6D a) -> IMP::Vector< IMP::algebra::Vector6D >
12833  get_vertices(UnitSimplexKD a) -> IMP::Vector< IMP::algebra::VectorKD >
12834  """
12835  return _IMP_algebra.get_vertices(*args)
12836 
12837 def get_increasing_from_embedded(*args):
12838  r"""
12839  get_increasing_from_embedded(UnitSimplex1D a, Vector1D b) -> Vector1D
12840  get_increasing_from_embedded(UnitSimplex2D a, Vector2D b) -> Vector2D
12841  get_increasing_from_embedded(UnitSimplex3D a, Vector3D b) -> Vector3D
12842  get_increasing_from_embedded(UnitSimplex4D a, Vector4D b) -> Vector4D
12843  get_increasing_from_embedded(UnitSimplex5D a, Vector5D b) -> Vector5D
12844  get_increasing_from_embedded(UnitSimplex6D a, Vector6D b) -> Vector6D
12845  get_increasing_from_embedded(UnitSimplexKD a, VectorKD b) -> VectorKD
12846  """
12847  return _IMP_algebra.get_increasing_from_embedded(*args)
12848 
12849 def get_embedded_from_increasing(*args):
12850  r"""
12851  get_embedded_from_increasing(UnitSimplex1D a, Vector1D b) -> Vector1D
12852  get_embedded_from_increasing(UnitSimplex2D a, Vector2D b) -> Vector2D
12853  get_embedded_from_increasing(UnitSimplex3D a, Vector3D b) -> Vector3D
12854  get_embedded_from_increasing(UnitSimplex4D a, Vector4D b) -> Vector4D
12855  get_embedded_from_increasing(UnitSimplex5D a, Vector5D b) -> Vector5D
12856  get_embedded_from_increasing(UnitSimplex6D a, Vector6D b) -> Vector6D
12857  get_embedded_from_increasing(UnitSimplexKD a, VectorKD b) -> VectorKD
12858  """
12859  return _IMP_algebra.get_embedded_from_increasing(*args)
12860 class _AxisAnglePair(object):
12861  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,double > class."""
12862 
12863  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12864  __repr__ = _swig_repr
12865 
12866  def __init__(self, *args):
12867  r"""
12868  __init__(_AxisAnglePair self) -> _AxisAnglePair
12869  __init__(_AxisAnglePair self, Vector3D first, double second) -> _AxisAnglePair
12870  __init__(_AxisAnglePair self, _AxisAnglePair other) -> _AxisAnglePair
12871  """
12872  _IMP_algebra._AxisAnglePair_swiginit(self, _IMP_algebra.new__AxisAnglePair(*args))
12873  first = property(_IMP_algebra._AxisAnglePair_first_get, _IMP_algebra._AxisAnglePair_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12874  second = property(_IMP_algebra._AxisAnglePair_second_get, _IMP_algebra._AxisAnglePair_second_set, doc=r"""second : double""")
12875  def __len__(self):
12876  return 2
12877  def __repr__(self):
12878  return str((self.first, self.second))
12879  def __getitem__(self, index):
12880  if not (index % 2):
12881  return self.first
12882  else:
12883  return self.second
12884  def __setitem__(self, index, val):
12885  if not (index % 2):
12886  self.first = val
12887  else:
12888  self.second = val
12889  __swig_destroy__ = _IMP_algebra.delete__AxisAnglePair
12890 
12891 # Register _AxisAnglePair in _IMP_algebra:
12892 _IMP_algebra._AxisAnglePair_swigregister(_AxisAnglePair)
12893 
12895  r"""get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 > > const & source, IMP::Vector< IMP::algebra::VectorD< 3 > > const & target) -> Transformation3D"""
12896  return _IMP_algebra.get_transformation_aligning_first_to_second(source, target)
12897 class _RotatedVector3DAdjoint(object):
12898  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,IMP::algebra::VectorD< 4 > > class."""
12899 
12900  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12901  __repr__ = _swig_repr
12902 
12903  def __init__(self, *args):
12904  r"""
12905  __init__(_RotatedVector3DAdjoint self) -> _RotatedVector3DAdjoint
12906  __init__(_RotatedVector3DAdjoint self, Vector3D first, Vector4D second) -> _RotatedVector3DAdjoint
12907  __init__(_RotatedVector3DAdjoint self, _RotatedVector3DAdjoint other) -> _RotatedVector3DAdjoint
12908  """
12909  _IMP_algebra._RotatedVector3DAdjoint_swiginit(self, _IMP_algebra.new__RotatedVector3DAdjoint(*args))
12910  first = property(_IMP_algebra._RotatedVector3DAdjoint_first_get, _IMP_algebra._RotatedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12911  second = property(_IMP_algebra._RotatedVector3DAdjoint_second_get, _IMP_algebra._RotatedVector3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
12912  def __len__(self):
12913  return 2
12914  def __repr__(self):
12915  return str((self.first, self.second))
12916  def __getitem__(self, index):
12917  if not (index % 2):
12918  return self.first
12919  else:
12920  return self.second
12921  def __setitem__(self, index, val):
12922  if not (index % 2):
12923  self.first = val
12924  else:
12925  self.second = val
12926  __swig_destroy__ = _IMP_algebra.delete__RotatedVector3DAdjoint
12927 
12928 # Register _RotatedVector3DAdjoint in _IMP_algebra:
12929 _IMP_algebra._RotatedVector3DAdjoint_swigregister(_RotatedVector3DAdjoint)
12930 class _ComposeRotation3DAdjoint(object):
12931  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 4 > > class."""
12932 
12933  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12934  __repr__ = _swig_repr
12935 
12936  def __init__(self, *args):
12937  r"""
12938  __init__(_ComposeRotation3DAdjoint self) -> _ComposeRotation3DAdjoint
12939  __init__(_ComposeRotation3DAdjoint self, Vector4D first, Vector4D second) -> _ComposeRotation3DAdjoint
12940  __init__(_ComposeRotation3DAdjoint self, _ComposeRotation3DAdjoint other) -> _ComposeRotation3DAdjoint
12941  """
12942  _IMP_algebra._ComposeRotation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeRotation3DAdjoint(*args))
12943  first = property(_IMP_algebra._ComposeRotation3DAdjoint_first_get, _IMP_algebra._ComposeRotation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
12944  second = property(_IMP_algebra._ComposeRotation3DAdjoint_second_get, _IMP_algebra._ComposeRotation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
12945  def __len__(self):
12946  return 2
12947  def __repr__(self):
12948  return str((self.first, self.second))
12949  def __getitem__(self, index):
12950  if not (index % 2):
12951  return self.first
12952  else:
12953  return self.second
12954  def __setitem__(self, index, val):
12955  if not (index % 2):
12956  self.first = val
12957  else:
12958  self.second = val
12959  __swig_destroy__ = _IMP_algebra.delete__ComposeRotation3DAdjoint
12960 
12961 # Register _ComposeRotation3DAdjoint in _IMP_algebra:
12962 _IMP_algebra._ComposeRotation3DAdjoint_swigregister(_ComposeRotation3DAdjoint)
12963 class _Transformation3DAdjoint(object):
12964  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > class."""
12965 
12966  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12967  __repr__ = _swig_repr
12968 
12969  def __init__(self, *args):
12970  r"""
12971  __init__(_Transformation3DAdjoint self) -> _Transformation3DAdjoint
12972  __init__(_Transformation3DAdjoint self, Vector4D first, Vector3D second) -> _Transformation3DAdjoint
12973  __init__(_Transformation3DAdjoint self, _Transformation3DAdjoint other) -> _Transformation3DAdjoint
12974  """
12975  _IMP_algebra._Transformation3DAdjoint_swiginit(self, _IMP_algebra.new__Transformation3DAdjoint(*args))
12976  first = property(_IMP_algebra._Transformation3DAdjoint_first_get, _IMP_algebra._Transformation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
12977  second = property(_IMP_algebra._Transformation3DAdjoint_second_get, _IMP_algebra._Transformation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(3)>""")
12978  def __len__(self):
12979  return 2
12980  def __repr__(self):
12981  return str((self.first, self.second))
12982  def __getitem__(self, index):
12983  if not (index % 2):
12984  return self.first
12985  else:
12986  return self.second
12987  def __setitem__(self, index, val):
12988  if not (index % 2):
12989  self.first = val
12990  else:
12991  self.second = val
12992  __swig_destroy__ = _IMP_algebra.delete__Transformation3DAdjoint
12993 
12994 # Register _Transformation3DAdjoint in _IMP_algebra:
12995 _IMP_algebra._Transformation3DAdjoint_swigregister(_Transformation3DAdjoint)
12996 class _TransformedVector3DAdjoint(object):
12997  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > > class."""
12998 
12999  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13000  __repr__ = _swig_repr
13001 
13002  def __init__(self, *args):
13003  r"""
13004  __init__(_TransformedVector3DAdjoint self) -> _TransformedVector3DAdjoint
13005  __init__(_TransformedVector3DAdjoint self, Vector3D first, _Transformation3DAdjoint second) -> _TransformedVector3DAdjoint
13006  __init__(_TransformedVector3DAdjoint self, _TransformedVector3DAdjoint other) -> _TransformedVector3DAdjoint
13007  """
13008  _IMP_algebra._TransformedVector3DAdjoint_swiginit(self, _IMP_algebra.new__TransformedVector3DAdjoint(*args))
13009  first = property(_IMP_algebra._TransformedVector3DAdjoint_first_get, _IMP_algebra._TransformedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
13010  second = property(_IMP_algebra._TransformedVector3DAdjoint_second_get, _IMP_algebra._TransformedVector3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::algebra::VectorD<(4)>,IMP::algebra::VectorD<(3)>)>""")
13011  def __len__(self):
13012  return 2
13013  def __repr__(self):
13014  return str((self.first, self.second))
13015  def __getitem__(self, index):
13016  if not (index % 2):
13017  return self.first
13018  else:
13019  return self.second
13020  def __setitem__(self, index, val):
13021  if not (index % 2):
13022  self.first = val
13023  else:
13024  self.second = val
13025  __swig_destroy__ = _IMP_algebra.delete__TransformedVector3DAdjoint
13026 
13027 # Register _TransformedVector3DAdjoint in _IMP_algebra:
13028 _IMP_algebra._TransformedVector3DAdjoint_swigregister(_TransformedVector3DAdjoint)
13029 class _ComposeTransformation3DAdjoint(object):
13030  r"""Proxy of C++ std::pair< std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > >,std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > > class."""
13031 
13032  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13033  __repr__ = _swig_repr
13034 
13035  def __init__(self, *args):
13036  r"""
13037  __init__(_ComposeTransformation3DAdjoint self) -> _ComposeTransformation3DAdjoint
13038  __init__(_ComposeTransformation3DAdjoint self, _Transformation3DAdjoint first, _Transformation3DAdjoint second) -> _ComposeTransformation3DAdjoint
13039  __init__(_ComposeTransformation3DAdjoint self, _ComposeTransformation3DAdjoint other) -> _ComposeTransformation3DAdjoint
13040  """
13041  _IMP_algebra._ComposeTransformation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeTransformation3DAdjoint(*args))
13042  first = property(_IMP_algebra._ComposeTransformation3DAdjoint_first_get, _IMP_algebra._ComposeTransformation3DAdjoint_first_set, doc=r"""first : std::pair<(IMP::algebra::VectorD<(4)>,IMP::algebra::VectorD<(3)>)>""")
13043  second = property(_IMP_algebra._ComposeTransformation3DAdjoint_second_get, _IMP_algebra._ComposeTransformation3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::algebra::VectorD<(4)>,IMP::algebra::VectorD<(3)>)>""")
13044  def __len__(self):
13045  return 2
13046  def __repr__(self):
13047  return str((self.first, self.second))
13048  def __getitem__(self, index):
13049  if not (index % 2):
13050  return self.first
13051  else:
13052  return self.second
13053  def __setitem__(self, index, val):
13054  if not (index % 2):
13055  self.first = val
13056  else:
13057  self.second = val
13058  __swig_destroy__ = _IMP_algebra.delete__ComposeTransformation3DAdjoint
13059 
13060 # Register _ComposeTransformation3DAdjoint in _IMP_algebra:
13061 _IMP_algebra._ComposeTransformation3DAdjoint_swigregister(_ComposeTransformation3DAdjoint)
13062 
13063 def get_rmsd_transforming_first(tr, v0, v1):
13064  r"""get_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13065  return _IMP_algebra.get_rmsd_transforming_first(tr, v0, v1)
13066 
13067 def get_rmsd(v0, v1):
13068  r"""get_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13069  return _IMP_algebra.get_rmsd(v0, v1)
13070 
13071 def get_weighted_rmsd_transforming_first(tr, v0, v1, weights):
13072  r"""get_weighted_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13073  return _IMP_algebra.get_weighted_rmsd_transforming_first(tr, v0, v1, weights)
13074 
13075 def get_weighted_rmsd(v0, v1, weights):
13076  r"""get_weighted_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13077  return _IMP_algebra.get_weighted_rmsd(v0, v1, weights)
13078 
13079 LinearFit=LinearFit2D
13080 ParabolicFit=ParabolicFit2D
13081 
13082 
13083 def get_module_version():
13084  r"""get_module_version() -> std::string const"""
13085  return _IMP_algebra.get_module_version()
13086 
13087 def get_example_path(fname):
13088  r"""get_example_path(std::string fname) -> std::string"""
13089  return _IMP_algebra.get_example_path(fname)
13090 
13091 def get_data_path(fname):
13092  r"""get_data_path(std::string fname) -> std::string"""
13093  return _IMP_algebra.get_data_path(fname)
13094 
13095 from . import _version_check
13096 _version_check.check_version(get_module_version())
13097 __version__ = get_module_version()
13098 
13099 
bool get_is_big_endian()
Returns 1 if machine is big endian else 0.
BoundingBoxD<-1 > BoundingBoxKD
Typedef for Python.
Definition: BoundingBoxD.h:183
Rotation3D get_rotation_about_normalized_axis(const Vector3D &axis_norm, double angle)
Definition: Rotation3D.h:410
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Definition: Surface.h:129
Transformation2D get_transformation_aligning_pair(const Vector2Ds &set_from, const Vector2Ds &set_to)
Grid3D< float, DenseGridStorage3D< float > > DenseFloatGrid3D
SphereD< 4 > Sphere4D
Typedef for Python.
Definition: SphereD.h:104
SphereD< 3 > Sphere3D
Typedef for Python.
Definition: SphereD.h:104
VectorD< D > get_random_vector_on(const BoundingBoxD< D > &bb)
Generate a random vector on a box with uniform density.
void write_pts(const Vector3Ds &vs, TextOutput out)
Write a set of 3D vectors to a file.
Grid3D< int, SparseGridStorage3D< int, UnboundedGridStorage3D > > SparseUnboundedIntGrid3D
Rotation3D get_rotation_from_x_y_axes(const Vector3D &x, const Vector3D &y)
VectorD< 6 > Vector6D
Definition: VectorD.h:437
BoundingBoxD< 3 > BoundingBox3D
Typedef for Python.
Definition: BoundingBoxD.h:183
Rotation3D get_rotation_from_fixed_xyz(double xr, double yr, double zr)
Initialize a rotation in x-y-z order from three angles.
VectorD< 2 > Vector2D
Definition: VectorD.h:421
void compose_adjoint(const Rotation3D &A, const Rotation3D &B, Vector4D DC, Rotation3DAdjoint *DA, Rotation3DAdjoint *DB)
Get adjoint of inputs to compose from adjoint of output.
VectorD< 3 > get_random_vector_on_unit_sphere()
DenseGrid3D< double > get_rasterized(const Gaussian3Ds &gmm, const Floats &weights, double cell_width, const BoundingBox3D &bb)
Rasterize the Gaussians to a grid.
Vector3Ds get_random_chain(unsigned int n, double r, const Vector3D &start=Vector3D(0, 0, 0), const Sphere3Ds &obstacles=Sphere3Ds())
Generate a random chain with no collisions.
VectorD< D > get_zero_vector_kd(int Di)
Return a dynamically sized vector of zeros.
Definition: VectorD.h:280
Rotation2D compose(const Rotation2D &a, const Rotation2D &b)
Compose two rotations a and b.
Definition: Rotation2D.h:121
Sphere3D get_enclosing_sphere(const Sphere3Ds &ss)
Return a sphere containing the listed spheres.
VectorD< 5 > Vector5D
Definition: VectorD.h:433
Vector< VectorD< D > > get_uniform_surface_cover(const SphereD< D > &s, unsigned int n)
Generate a set of vectors which covers a sphere uniformly.
algebra::Rotation3Ds get_uniformly_sampled_rotations(double delta)
Generates a nondegenerate set of Euler angles with a delta resolution.
Vector< VectorD< D > > get_vertices(const BoundingBoxD< D > &bb)
Return a list of the 2^D bounding points for the bounding box.
Definition: BoundingBoxD.h:281
bool get_is_little_endian()
Returns 1 if machine is little endian else 0.
Triangle3D get_largest_triangle(const Vector3Ds &points)
Return the largest triangle defined by 3 points from the input.
An exception for an invalid usage of IMP.
Definition: exception.h:122
Make CGAL functionality available to IMP.
Gaussian3D get_gaussian_from_covariance(const Eigen::Matrix3d &covariance, const Vector3D &center)
Return a Gaussian centered at the origin from a covariance matrix.
IntPairs get_edges(const BoundingBoxD< 3 > &)
Return the edges of the box as indices into the vertices list.
Definition: BoundingBoxD.h:314
double get_area(const Geometry &)
Compute the area of any surface object.
BoundingBoxD< 5 > BoundingBox5D
Typedef for Python.
Definition: BoundingBoxD.h:183
SphereD< 2 > Sphere2D
Typedef for Python.
Definition: SphereD.h:104
BoundingBoxD< D > get_union(BoundingBoxD< D > a, const BoundingBoxD< D > &b)
Return the union bounding box.
Definition: BoundingBoxD.h:261
double get_squared_distance(const VectorD< D > &v1, const VectorD< D > &v2)
Compute the squared distance between two vectors.
Definition: VectorD.h:205
VT get_unit_vector(VT vt)
Returns a unit vector pointing at the same direction as this vector.
Definition: VectorBaseD.h:251
Transformation3D get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri)
Return a transformation between two triangles.
double get_ball_radius_from_volume_3d(double volume)
Return the radius of a sphere with a given volume.
Definition: Sphere3D.h:35
double get_weighted_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2, const Floats &weights)
Vector3D get_reflected(const Plane3D &pln, const Vector3D &p)
Return the point reflected about the plane.
Definition: Plane3D.h:76
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
Grid3D< double, DenseGridStorage3D< double > > DenseDoubleGrid3D
Atom get_atom(Residue rd, AtomType at)
Return a particle atom from the residue.
Eigen::MatrixXd get_jacobian_of_composed_wrt_first(const Rotation3D &q, const Rotation3D &p, bool wrt_unnorm=false)
Get gradient of quaternion product with respect to first quaternion.
VectorD< D > get_basis_vector_kd(int Di, unsigned int coordinate)
Return the basis vector for the given coordinate.
Definition: VectorD.h:240
double get_angle(const Line3D &a, const Line3D &b)
Get angle in radians between two lines around their closest points.
VectorD< 4 > Vector4D
Definition: VectorD.h:429
VectorD< D > get_ones_vector_kd(unsigned int Di, double v=1)
Return a vector of ones (or another constant)
Definition: VectorD.h:313
BoundingBoxD< 2 > BoundingBox2D
Typedef for Python.
Definition: BoundingBoxD.h:183
Rotation3D get_rotation_about_axis(const Vector3D &axis, double angle)
Generate a Rotation3D object from a rotation around an axis.
Definition: Rotation3D.h:436
Segment3D get_shortest_segment(const Segment3D &s, const Vector3D &p)
Vector3Ds read_pts(TextInput input)
Read a set of 3D vectors from a file.
BoundingBoxD< D > get_intersection(const BoundingBoxD< D > &a, const BoundingBoxD< D > &b)
Return the intersecting bounding box.
Definition: BoundingBoxD.h:230
IMP::algebra::Transformation3D get_transformation_aligning_first_to_second(const Vector3DsOrXYZs0 &source, const Vector3DsOrXYZs1 &target)
Compute the rigid transform bringing the first point set to the second.
Transformation2D get_rotation_about_point(const Vector2D &point, const Rotation2D &rotation)
Generate a Transformation2D object from a rotation around a point.
double get_volume(const BoundingBoxD< D > &bb)
See BoundingBoxD.
Definition: BoundingBoxD.h:170
Rotation3D get_random_rotation_3d()
Pick a rotation at random from all possible rotations.
Vector3D get_vector_product(const Vector3D &p1, const Vector3D &p2)
Return the vector product (cross product) of two vectors.
Definition: Vector3D.h:31
bool get_interiors_intersect(const BoundingBoxD< D > &a, const BoundingBoxD< D > &b)
Return true if they intersect.
Definition: BoundingBoxD.h:216
VectorD< D > get_increasing_from_embedded(const UnitSimplexD< D > &s, const VectorD< D > &p)
Convert point on simplex from embedded to increasing coordinates.
Definition: UnitSimplexD.h:148
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
VectorD< D > get_embedded_from_increasing(const UnitSimplexD< D > &s, const VectorD< D > &p)
Convert point on simplex from increasing to embedded coordinates.
Definition: UnitSimplexD.h:162
FixedXYZ get_fixed_xyz_from_rotation(const Rotation3D &r)
The inverse of rotation_from_fixed_xyz()
bool get_are_colinear(const Vector3D &p1, const Vector3D &p2, const Vector3D &p3)
Return true if the three points are co-linear.
BoundingBoxD< 4 > BoundingBox4D
Typedef for Python.
Definition: BoundingBoxD.h:183
Rotation2D get_identity_rotation_2d()
Build an identity rotation in 2D.
Definition: Rotation2D.h:103
Sphere3Ds read_spheres(TextInput input)
Read a set of 3D spheres from a file.
Vector3D get_projected(const Line3D &l, const Vector3D &p)
Project a point onto the line.
Rotation3D get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi)
Generate a rotation object from Euler Angles.
SphereD< 6 > Sphere6D
Typedef for Python.
Definition: SphereD.h:104
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
VectorD< D > get_random_vector_in(const BoundingBoxD< D > &bb)
Generate a random vector in a box with uniform density.
SphereD< 5 > Sphere5D
Typedef for Python.
Definition: SphereD.h:104
BoundingBoxD<-1 > get_unit_bounding_box_kd(unsigned int d)
Box with radius one.
Definition: BoundingBoxD.h:194
Version and module information for Objects.
Definition: VersionInfo.h:29
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:77
std::pair< Vector3D, double > get_axis_and_angle(const Rotation3D &rot)
Decompose a Rotation3D object into a rotation around an axis.
VectorD< 1 > Vector1D
Definition: VectorD.h:417
FloatPair get_surface_area_and_volume(const algebra::Sphere3Ds &ss)
Get surface area & volume of the union of the balls bounded by the spheres.
Transformation3Ds get_alignments_from_first_to_second(const PrincipalComponentAnalysisD< 3 > &pca1, const PrincipalComponentAnalysisD< 3 > &pca2)
Get all alignments of the first principal component system to the second one.
SphereD< 1 > Sphere1D
Typedef for Python.
Definition: SphereD.h:104
Rotation3D get_interpolated(const Rotation3D &a, const Rotation3D &b, double f)
Interpolate between two rotations.
Definition: Rotation3D.h:630
Rotation3D get_rotation_from_vector4d(const VectorD< 4 > &v)
Compute a rotation from an unnormalized quaternion.
Definition: Rotation3D.h:503
BoundingBoxD<-1 > get_cube_kd(unsigned int d, double radius)
Cube with radius of length side.
Definition: BoundingBoxD.h:208
Rotation3D get_rotation_taking_first_to_second(const Vector3D &v1, const Vector3D &v2)
Create a rotation from the first vector to the second one.
Rotation3Ds get_uniform_cover_rotations_3d(unsigned int num_points)
Cover the space of rotations evenly.
PrincipalComponentAnalysisD< D > get_principal_components(const Vector< VectorD< D > > &ps)
Perform principal components analysis on a set of vectors.
Rotation2D get_rotation_to_x_axis(const Vector2D &v)
Definition: Rotation2D.h:113
Vector3D get_centroid(const Vector3Ds &ps)
Return the centroid of a set of vectors.
Definition: Vector3D.h:68
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Transformation3D get_identity_transformation_3d()
Return a transformation that does not do anything.
Eigen::MatrixXd get_jacobian_of_composed_wrt_second(const Rotation3D &q, const Rotation3D &p, bool wrt_unnorm=false)
Get Jacobian of quaternion product with respect to second quaternion.
void reversed_read(void *dest, size_t size, size_t nitems, std::ifstream &f, bool reverse)
Reads from file in normal or reverse order.
Rotation3D get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22)
Generate a Rotation3D object from a rotation matrix.
Transformation3D get_transformation_3d(const Transformation2D &t2d)
Build a 3D transformation from a 2D one.
double get_relative_projection_on_segment(const Segment3D &s, const algebra::Vector3D &p)
Return the 'relative' projection of a point p onto the line that contains s.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Eigen::Matrix3d get_covariance(const Gaussian3D &g)
VectorD< 3 > Vector3D
Definition: VectorD.h:425
Rotation3D get_identity_rotation_3d()
Return a rotation that does not do anything.
Definition: Rotation3D.h:371
void write_spheres(const Sphere3Ds &vs, TextOutput out)
Write a set of 3D spheres to a file.
Sphere3Ds get_simplified_from_volume(Sphere3Ds in, double maximum_allowed_error_angstroms)
Get a set of balls that approximates the surface of the passed set.
void reversed_write(const void *src, size_t size, size_t nitems, std::ofstream &f, bool reverse=false)
Writes to a file in normal or reversed order.
algebra::Segment3D get_segment_connecting_first_to_second(const Line3D &a, const Line3D &b)
Get shortest possible segment from the first line to the second.
Vector< VectorD< D > > get_grid_interior_cover_by_spacing(const BoundingBoxD< D > &bb, double s)
DenseGrid3D< double > get_rasterized_fast(const Gaussian3Ds &gmm, const Floats &weights, double cell_width, const BoundingBox3D &bb, double factor=2.5)
Rasterize the Gaussians to a grid.
Vector3D get_orthogonal_vector(const Vector3D &v)
Return a vector that is perpendicular to the given vector.
Definition: Vector3D.h:51
double get_surface_area(const Geometry &)
Compute the surface area of any volumetric object.
double get_rmsd_transforming_first(const Transformation3D &tr, const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Calculate the root mean square deviation between two sets of 3D points.
VectorD<-1 > VectorKD
Definition: VectorD.h:441
BoundingBoxD< 6 > BoundingBox6D
Typedef for Python.
Definition: BoundingBoxD.h:183
SphereD<-1 > SphereKD
Typedef for Python.
Definition: SphereD.h:104
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
Vector3Ds get_grid_surface_cover(const Cylinder3D &cyl, int number_of_cycles, int number_of_points_on_cycle)
Generate a grid of 3d points on a cylinder surface.
Rotation3D get_rotation_from_fixed_zxz(double phi, double theta, double psi)
Initialize a rotation from Euler angles.
BoundingBoxD< 1 > BoundingBox1D
Typedef for Python.
Definition: BoundingBoxD.h:183
double get_distance(const Line3D &s, const Vector3D &p)
Get closest distance between a line and a point.
Transformation3D get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26)
Get a local transformation.
Transformation2D get_identity_transformation_2d()
Return a transformation that does not do anything.
std::string get_module_version()
Return the version of this module, as a string.
ConnollySurfacePoints get_connolly_surface(const algebra::Sphere3Ds &spheres, double density, double probe_radius)
Rotation2D get_random_rotation_2d()
Build an identity rotation in 2D.
Definition: Rotation2D.h:106