IMP logo
IMP Reference Guide  develop.50fdd7fa33,2025/08/31
The Integrative Modeling Platform
algebra/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.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-2025 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 from sys import version_info as _swig_python_version_info
15 import _IMP_algebra
16 
17 try:
18  import builtins as __builtin__
19 except ImportError:
20  import __builtin__
21 
22 def _swig_repr(self):
23  try:
24  strthis = "proxy of " + self.this.__repr__()
25  except __builtin__.Exception:
26  strthis = ""
27  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
28 
29 
30 def _swig_setattr_nondynamic_instance_variable(set):
31  def set_instance_attr(self, name, value):
32  if name == "this":
33  set(self, name, value)
34  elif name == "thisown":
35  self.this.own(value)
36  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
37  set(self, name, value)
38  else:
39  raise AttributeError("You cannot add instance attributes to %s" % self)
40  return set_instance_attr
41 
42 
43 def _swig_setattr_nondynamic_class_variable(set):
44  def set_class_attr(cls, name, value):
45  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
46  set(cls, name, value)
47  else:
48  raise AttributeError("You cannot add class attributes to %s" % cls)
49  return set_class_attr
50 
51 
52 def _swig_add_metaclass(metaclass):
53  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
54  def wrapper(cls):
55  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
56  return wrapper
57 
58 
59 class _SwigNonDynamicMeta(type):
60  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
61  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
62 
63 
64 import weakref
65 
66 class IMP_ALGEBRA_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_ALGEBRA_SwigPyIterator class."""
68 
69  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
70 
71  def __init__(self, *args, **kwargs):
72  raise AttributeError("No constructor defined - class is abstract")
73  __repr__ = _swig_repr
74  __swig_destroy__ = _IMP_algebra.delete_IMP_ALGEBRA_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
78  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
82  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
86  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
94  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_ALGEBRA_SwigPyIterator self) -> IMP_ALGEBRA_SwigPyIterator"""
98  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
102  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
106  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
110  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
114  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
118  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
122  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
126  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
130  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
134  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator
139  __sub__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_ALGEBRA_SwigPyIterator in _IMP_algebra:
146 _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_swigregister(IMP_ALGEBRA_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_algebra.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_algebra.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_algebra.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_algebra.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_algebra.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_algebra.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_algebra.IMP_MEMORY
166 
167 IMP_NONE = _IMP_algebra.IMP_NONE
168 
169 IMP_USAGE = _IMP_algebra.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_algebra.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_algebra.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_algebra.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_algebra.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_algebra.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_algebra.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_algebra.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_algebra.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_algebra.IMPKERNEL_SHOW_WARNINGS
196 
197 
198 import sys
199 class _DirectorObjects:
200  """@internal Simple class to keep references to director objects
201  to prevent premature deletion."""
202  def __init__(self):
203  self._objects = []
204  def register(self, obj):
205  """Take a reference to a director object; will only work for
206  refcounted C++ classes"""
207  if hasattr(obj, 'get_ref_count'):
208  self._objects.append(obj)
209  def cleanup(self):
210  """Only drop our reference and allow cleanup by Python if no other
211  Python references exist (we hold 3 references: one in self._objects,
212  one in x, and one in the argument list for getrefcount) *and* no
213  other C++ references exist (the Python object always holds one)"""
214  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
215  or x.get_ref_count() > 1]
216 # Do in two steps so the references are kept until the end of the
217 # function (deleting references may trigger a fresh call to this method)
218  self._objects = objs
219  def get_object_count(self):
220  """Get number of director objects (useful for testing only)"""
221  return len(self._objects)
222 _director_objects = _DirectorObjects()
223 
224 class _ostream(object):
225  r"""Proxy of C++ std::ostream class."""
226 
227  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
228 
229  def __init__(self, *args, **kwargs):
230  raise AttributeError("No constructor defined")
231  __repr__ = _swig_repr
232 
233  def write(self, osa_buf):
234  r"""write(_ostream self, char const * osa_buf)"""
235  return _IMP_algebra._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_algebra:
238 _IMP_algebra._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_algebra.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_algebra.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_algebra.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_algebra.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_algebra.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_algebra.IMPALGEBRA_SHOW_WARNINGS
268 
269 
270 def get_vector(v):
271  try:
272  return v.get_coordinates()
273  except:
274  return v
275 def get_sphere(v):
276  try:
277  return v.get_sphere()
278  except:
279  return v
280 
281 
282 _object_types.append("VectorKDMetric")
283 
284 
285 def _object_cast_to_VectorKDMetric(o):
286  r"""_object_cast_to_VectorKDMetric(Object o) -> VectorKDMetric"""
287  return _IMP_algebra._object_cast_to_VectorKDMetric(o)
288 
289 _object_types.append("EuclideanVectorKDMetric")
290 
291 
292 def _object_cast_to_EuclideanVectorKDMetric(o):
293  r"""_object_cast_to_EuclideanVectorKDMetric(Object o) -> EuclideanVectorKDMetric"""
294  return _IMP_algebra._object_cast_to_EuclideanVectorKDMetric(o)
295 
296 _object_types.append("MaxVectorKDMetric")
297 
298 
299 def _object_cast_to_MaxVectorKDMetric(o):
300  r"""_object_cast_to_MaxVectorKDMetric(Object o) -> MaxVectorKDMetric"""
301  return _IMP_algebra._object_cast_to_MaxVectorKDMetric(o)
302 
303 _object_types.append("DynamicNearestNeighbor3D")
304 
305 
306 def _object_cast_to_DynamicNearestNeighbor3D(o):
307  r"""_object_cast_to_DynamicNearestNeighbor3D(Object o) -> DynamicNearestNeighbor3D"""
308  return _IMP_algebra._object_cast_to_DynamicNearestNeighbor3D(o)
309 
310 Rotation2Ds=list
311 _plural_types.append("Rotation2Ds")
312 _value_types.append("Rotation2D")
313 
314 
315 Rotation3Ds=list
316 _plural_types.append("Rotation3Ds")
317 _value_types.append("Rotation3D")
318 
319 
320 Reflection3Ds=list
321 _plural_types.append("Reflection3Ds")
322 _value_types.append("Reflection3D")
323 
324 
325 Transformation2Ds=list
326 _plural_types.append("Transformation2Ds")
327 _value_types.append("Transformation2D")
328 
329 
330 Transformation3Ds=list
331 _plural_types.append("Transformation3Ds")
332 _value_types.append("Transformation3D")
333 
334 
335 SphericalVector3Ds=list
336 _plural_types.append("SphericalVector3Ds")
337 _value_types.append("SphericalVector3D")
338 
339 
340 Triangle3Ds=list
341 _plural_types.append("Triangle3Ds")
342 _value_types.append("Triangle3D")
343 
344 
345 Cone3Ds=list
346 _plural_types.append("Cone3Ds")
347 _value_types.append("Cone3D")
348 
349 
350 Cylinder3Ds=list
351 _plural_types.append("Cylinder3Ds")
352 _value_types.append("Cylinder3D")
353 
354 
355 Ellipsoid3Ds=list
356 _plural_types.append("Ellipsoid3Ds")
357 _value_types.append("Ellipsoid3D")
358 
359 
360 Line3Ds=list
361 _plural_types.append("Line3Ds")
362 _value_types.append("Line3D")
363 
364 
365 Plane3Ds=list
366 _plural_types.append("Plane3Ds")
367 _value_types.append("Plane3D")
368 
369 
370 Segment3Ds=list
371 _plural_types.append("Segment3Ds")
372 _value_types.append("Segment3D")
373 
374 
375 SpherePatch3Ds=list
376 _plural_types.append("SpherePatch3Ds")
377 _value_types.append("SpherePatch3D")
378 
379 
380 ConnollySurfacePoints=list
381 _plural_types.append("ConnollySurfacePoints")
382 _value_types.append("ConnollySurfacePoint")
383 
384 
385 Sphere1Ds=list
386 _plural_types.append("Sphere1Ds")
387 _value_types.append("Sphere1D")
388 
389 
390 Sphere2Ds=list
391 _plural_types.append("Sphere2Ds")
392 _value_types.append("Sphere2D")
393 
394 
395 Sphere3Ds=list
396 _plural_types.append("Sphere3Ds")
397 _value_types.append("Sphere3D")
398 
399 
400 Sphere4Ds=list
401 _plural_types.append("Sphere4Ds")
402 _value_types.append("Sphere4D")
403 
404 
405 Sphere5Ds=list
406 _plural_types.append("Sphere5Ds")
407 _value_types.append("Sphere5D")
408 
409 
410 Sphere6Ds=list
411 _plural_types.append("Sphere6Ds")
412 _value_types.append("Sphere6D")
413 
414 
415 Sphere1Ds=list
416 _plural_types.append("Sphere1Ds")
417 _value_types.append("SphereD<1>")
418 
419 
420 Sphere2Ds=list
421 _plural_types.append("Sphere2Ds")
422 _value_types.append("SphereD<2>")
423 
424 
425 Sphere3Ds=list
426 _plural_types.append("Sphere3Ds")
427 _value_types.append("SphereD<3>")
428 
429 
430 Sphere4Ds=list
431 _plural_types.append("Sphere4Ds")
432 _value_types.append("SphereD<4>")
433 
434 
435 Sphere5Ds=list
436 _plural_types.append("Sphere5Ds")
437 _value_types.append("SphereD<5>")
438 
439 
440 Sphere6Ds=list
441 _plural_types.append("Sphere6Ds")
442 _value_types.append("SphereD<6>")
443 
444 
445 SphereKDs=list
446 _plural_types.append("SphereKDs")
447 _value_types.append("SphereKD")
448 
449 
450 SphereKDs=list
451 _plural_types.append("SphereKDs")
452 _value_types.append("SphereD<-1>")
453 
454 
455 UnitSimplex1Ds=list
456 _plural_types.append("UnitSimplex1Ds")
457 _value_types.append("UnitSimplex1D")
458 
459 
460 UnitSimplex2Ds=list
461 _plural_types.append("UnitSimplex2Ds")
462 _value_types.append("UnitSimplex2D")
463 
464 
465 UnitSimplex3Ds=list
466 _plural_types.append("UnitSimplex3Ds")
467 _value_types.append("UnitSimplex3D")
468 
469 
470 UnitSimplex4Ds=list
471 _plural_types.append("UnitSimplex4Ds")
472 _value_types.append("UnitSimplex4D")
473 
474 
475 UnitSimplex5Ds=list
476 _plural_types.append("UnitSimplex5Ds")
477 _value_types.append("UnitSimplex5D")
478 
479 
480 UnitSimplex6Ds=list
481 _plural_types.append("UnitSimplex6Ds")
482 _value_types.append("UnitSimplex6D")
483 
484 
485 UnitSimplex1Ds=list
486 _plural_types.append("UnitSimplex1Ds")
487 _value_types.append("UnitSimplexD<1>")
488 
489 
490 UnitSimplex2Ds=list
491 _plural_types.append("UnitSimplex2Ds")
492 _value_types.append("UnitSimplexD<2>")
493 
494 
495 UnitSimplex3Ds=list
496 _plural_types.append("UnitSimplex3Ds")
497 _value_types.append("UnitSimplexD<3>")
498 
499 
500 UnitSimplex4Ds=list
501 _plural_types.append("UnitSimplex4Ds")
502 _value_types.append("UnitSimplexD<4>")
503 
504 
505 UnitSimplex5Ds=list
506 _plural_types.append("UnitSimplex5Ds")
507 _value_types.append("UnitSimplexD<5>")
508 
509 
510 UnitSimplex6Ds=list
511 _plural_types.append("UnitSimplex6Ds")
512 _value_types.append("UnitSimplexD<6>")
513 
514 
515 UnitSimplexKDs=list
516 _plural_types.append("UnitSimplexKDs")
517 _value_types.append("UnitSimplexKD")
518 
519 
520 UnitSimplexKDs=list
521 _plural_types.append("UnitSimplexKDs")
522 _value_types.append("UnitSimplexD<-1>")
523 
524 
525 BoundingBox1Ds=list
526 _plural_types.append("BoundingBox1Ds")
527 _value_types.append("BoundingBox1D")
528 
529 
530 BoundingBox2Ds=list
531 _plural_types.append("BoundingBox2Ds")
532 _value_types.append("BoundingBox2D")
533 
534 
535 BoundingBox3Ds=list
536 _plural_types.append("BoundingBox3Ds")
537 _value_types.append("BoundingBox3D")
538 
539 
540 BoundingBox4Ds=list
541 _plural_types.append("BoundingBox4Ds")
542 _value_types.append("BoundingBox4D")
543 
544 
545 BoundingBox5Ds=list
546 _plural_types.append("BoundingBox5Ds")
547 _value_types.append("BoundingBox5D")
548 
549 
550 BoundingBox6Ds=list
551 _plural_types.append("BoundingBox6Ds")
552 _value_types.append("BoundingBox6D")
553 
554 
555 BoundingBox1Ds=list
556 _plural_types.append("BoundingBox1Ds")
557 _value_types.append("BoundingBoxD<1>")
558 
559 
560 BoundingBox2Ds=list
561 _plural_types.append("BoundingBox2Ds")
562 _value_types.append("BoundingBoxD<2>")
563 
564 
565 BoundingBox3Ds=list
566 _plural_types.append("BoundingBox3Ds")
567 _value_types.append("BoundingBoxD<3>")
568 
569 
570 BoundingBox4Ds=list
571 _plural_types.append("BoundingBox4Ds")
572 _value_types.append("BoundingBoxD<4>")
573 
574 
575 BoundingBox5Ds=list
576 _plural_types.append("BoundingBox5Ds")
577 _value_types.append("BoundingBoxD<5>")
578 
579 
580 BoundingBox6Ds=list
581 _plural_types.append("BoundingBox6Ds")
582 _value_types.append("BoundingBoxD<6>")
583 
584 
585 BoundingBoxKDs=list
586 _plural_types.append("BoundingBoxKDs")
587 _value_types.append("BoundingBoxKD")
588 
589 
590 BoundingBoxKDs=list
591 _plural_types.append("BoundingBoxKDs")
592 _value_types.append("BoundingBoxD<-1>")
593 
594 
595 PrincipalComponentAnalysis1Ds=list
596 _plural_types.append("PrincipalComponentAnalysis1Ds")
597 _value_types.append("PrincipalComponentAnalysis1D")
598 
599 
600 PrincipalComponentAnalysis2Ds=list
601 _plural_types.append("PrincipalComponentAnalysis2Ds")
602 _value_types.append("PrincipalComponentAnalysis2D")
603 
604 
605 PrincipalComponentAnalysis3Ds=list
606 _plural_types.append("PrincipalComponentAnalysis3Ds")
607 _value_types.append("PrincipalComponentAnalysis3D")
608 
609 
610 PrincipalComponentAnalysis4Ds=list
611 _plural_types.append("PrincipalComponentAnalysis4Ds")
612 _value_types.append("PrincipalComponentAnalysis4D")
613 
614 
615 PrincipalComponentAnalysis5Ds=list
616 _plural_types.append("PrincipalComponentAnalysis5Ds")
617 _value_types.append("PrincipalComponentAnalysis5D")
618 
619 
620 PrincipalComponentAnalysis6Ds=list
621 _plural_types.append("PrincipalComponentAnalysis6Ds")
622 _value_types.append("PrincipalComponentAnalysis6D")
623 
624 
625 PrincipalComponentAnalysis1Ds=list
626 _plural_types.append("PrincipalComponentAnalysis1Ds")
627 _value_types.append("PrincipalComponentAnalysisD<1>")
628 
629 
630 PrincipalComponentAnalysis2Ds=list
631 _plural_types.append("PrincipalComponentAnalysis2Ds")
632 _value_types.append("PrincipalComponentAnalysisD<2>")
633 
634 
635 PrincipalComponentAnalysis3Ds=list
636 _plural_types.append("PrincipalComponentAnalysis3Ds")
637 _value_types.append("PrincipalComponentAnalysisD<3>")
638 
639 
640 PrincipalComponentAnalysis4Ds=list
641 _plural_types.append("PrincipalComponentAnalysis4Ds")
642 _value_types.append("PrincipalComponentAnalysisD<4>")
643 
644 
645 PrincipalComponentAnalysis5Ds=list
646 _plural_types.append("PrincipalComponentAnalysis5Ds")
647 _value_types.append("PrincipalComponentAnalysisD<5>")
648 
649 
650 PrincipalComponentAnalysis6Ds=list
651 _plural_types.append("PrincipalComponentAnalysis6Ds")
652 _value_types.append("PrincipalComponentAnalysisD<6>")
653 
654 
655 PrincipalComponentAnalysisKDs=list
656 _plural_types.append("PrincipalComponentAnalysisKDs")
657 _value_types.append("PrincipalComponentAnalysisKD")
658 
659 
660 PrincipalComponentAnalysisKDs=list
661 _plural_types.append("PrincipalComponentAnalysisKDs")
662 _value_types.append("PrincipalComponentAnalysisD<-1>")
663 
664 
665 _object_types.append("NearestNeighbor1D")
666 
667 
668 def _object_cast_to_NearestNeighbor1D(o):
669  r"""_object_cast_to_NearestNeighbor1D(Object o) -> NearestNeighbor1D"""
670  return _IMP_algebra._object_cast_to_NearestNeighbor1D(o)
671 
672 _object_types.append("NearestNeighbor2D")
673 
674 
675 def _object_cast_to_NearestNeighbor2D(o):
676  r"""_object_cast_to_NearestNeighbor2D(Object o) -> NearestNeighbor2D"""
677  return _IMP_algebra._object_cast_to_NearestNeighbor2D(o)
678 
679 _object_types.append("NearestNeighbor3D")
680 
681 
682 def _object_cast_to_NearestNeighbor3D(o):
683  r"""_object_cast_to_NearestNeighbor3D(Object o) -> NearestNeighbor3D"""
684  return _IMP_algebra._object_cast_to_NearestNeighbor3D(o)
685 
686 _object_types.append("NearestNeighbor4D")
687 
688 
689 def _object_cast_to_NearestNeighbor4D(o):
690  r"""_object_cast_to_NearestNeighbor4D(Object o) -> NearestNeighbor4D"""
691  return _IMP_algebra._object_cast_to_NearestNeighbor4D(o)
692 
693 _object_types.append("NearestNeighbor5D")
694 
695 
696 def _object_cast_to_NearestNeighbor5D(o):
697  r"""_object_cast_to_NearestNeighbor5D(Object o) -> NearestNeighbor5D"""
698  return _IMP_algebra._object_cast_to_NearestNeighbor5D(o)
699 
700 _object_types.append("NearestNeighbor6D")
701 
702 
703 def _object_cast_to_NearestNeighbor6D(o):
704  r"""_object_cast_to_NearestNeighbor6D(Object o) -> NearestNeighbor6D"""
705  return _IMP_algebra._object_cast_to_NearestNeighbor6D(o)
706 
707 _object_types.append("NearestNeighborKD")
708 
709 
710 def _object_cast_to_NearestNeighborKD(o):
711  r"""_object_cast_to_NearestNeighborKD(Object o) -> NearestNeighborKD"""
712  return _IMP_algebra._object_cast_to_NearestNeighborKD(o)
713 
714 ReferenceFrame3Ds=list
715 _plural_types.append("ReferenceFrame3Ds")
716 _value_types.append("ReferenceFrame3D")
717 
718 
719 Gaussian3Ds=list
720 _plural_types.append("Gaussian3Ds")
721 _value_types.append("Gaussian3D")
722 
723 
724 DefaultEmbedding1Ds=list
725 _plural_types.append("DefaultEmbedding1Ds")
726 _value_types.append("DefaultEmbedding1D")
727 
728 
729 DefaultEmbedding2Ds=list
730 _plural_types.append("DefaultEmbedding2Ds")
731 _value_types.append("DefaultEmbedding2D")
732 
733 
734 DefaultEmbedding3Ds=list
735 _plural_types.append("DefaultEmbedding3Ds")
736 _value_types.append("DefaultEmbedding3D")
737 
738 
739 DefaultEmbedding4Ds=list
740 _plural_types.append("DefaultEmbedding4Ds")
741 _value_types.append("DefaultEmbedding4D")
742 
743 
744 DefaultEmbedding5Ds=list
745 _plural_types.append("DefaultEmbedding5Ds")
746 _value_types.append("DefaultEmbedding5D")
747 
748 
749 DefaultEmbedding6Ds=list
750 _plural_types.append("DefaultEmbedding6Ds")
751 _value_types.append("DefaultEmbedding6D")
752 
753 
754 DefaultEmbedding1Ds=list
755 _plural_types.append("DefaultEmbedding1Ds")
756 _value_types.append("DefaultEmbeddingD<1>")
757 
758 
759 DefaultEmbedding2Ds=list
760 _plural_types.append("DefaultEmbedding2Ds")
761 _value_types.append("DefaultEmbeddingD<2>")
762 
763 
764 DefaultEmbedding3Ds=list
765 _plural_types.append("DefaultEmbedding3Ds")
766 _value_types.append("DefaultEmbeddingD<3>")
767 
768 
769 DefaultEmbedding4Ds=list
770 _plural_types.append("DefaultEmbedding4Ds")
771 _value_types.append("DefaultEmbeddingD<4>")
772 
773 
774 DefaultEmbedding5Ds=list
775 _plural_types.append("DefaultEmbedding5Ds")
776 _value_types.append("DefaultEmbeddingD<5>")
777 
778 
779 DefaultEmbedding6Ds=list
780 _plural_types.append("DefaultEmbedding6Ds")
781 _value_types.append("DefaultEmbeddingD<6>")
782 
783 
784 DefaultEmbeddingKDs=list
785 _plural_types.append("DefaultEmbeddingKDs")
786 _value_types.append("DefaultEmbeddingKD")
787 
788 
789 DefaultEmbeddingKDs=list
790 _plural_types.append("DefaultEmbeddingKDs")
791 _value_types.append("DefaultEmbeddingD<-1>")
792 
793 
794 LogEmbedding1Ds=list
795 _plural_types.append("LogEmbedding1Ds")
796 _value_types.append("LogEmbedding1D")
797 
798 
799 LogEmbedding2Ds=list
800 _plural_types.append("LogEmbedding2Ds")
801 _value_types.append("LogEmbedding2D")
802 
803 
804 LogEmbedding3Ds=list
805 _plural_types.append("LogEmbedding3Ds")
806 _value_types.append("LogEmbedding3D")
807 
808 
809 LogEmbedding4Ds=list
810 _plural_types.append("LogEmbedding4Ds")
811 _value_types.append("LogEmbedding4D")
812 
813 
814 LogEmbedding5Ds=list
815 _plural_types.append("LogEmbedding5Ds")
816 _value_types.append("LogEmbedding5D")
817 
818 
819 LogEmbedding6Ds=list
820 _plural_types.append("LogEmbedding6Ds")
821 _value_types.append("LogEmbedding6D")
822 
823 
824 LogEmbedding1Ds=list
825 _plural_types.append("LogEmbedding1Ds")
826 _value_types.append("LogEmbeddingD<1>")
827 
828 
829 LogEmbedding2Ds=list
830 _plural_types.append("LogEmbedding2Ds")
831 _value_types.append("LogEmbeddingD<2>")
832 
833 
834 LogEmbedding3Ds=list
835 _plural_types.append("LogEmbedding3Ds")
836 _value_types.append("LogEmbeddingD<3>")
837 
838 
839 LogEmbedding4Ds=list
840 _plural_types.append("LogEmbedding4Ds")
841 _value_types.append("LogEmbeddingD<4>")
842 
843 
844 LogEmbedding5Ds=list
845 _plural_types.append("LogEmbedding5Ds")
846 _value_types.append("LogEmbeddingD<5>")
847 
848 
849 LogEmbedding6Ds=list
850 _plural_types.append("LogEmbedding6Ds")
851 _value_types.append("LogEmbeddingD<6>")
852 
853 
854 LogEmbeddingKDs=list
855 _plural_types.append("LogEmbeddingKDs")
856 _value_types.append("LogEmbeddingKD")
857 
858 
859 LogEmbeddingKDs=list
860 _plural_types.append("LogEmbeddingKDs")
861 _value_types.append("LogEmbeddingD<-1>")
862 
863 
864 GridIndex1Ds=list
865 _plural_types.append("GridIndex1Ds")
866 _value_types.append("GridIndex1D")
867 
868 
869 GridIndex2Ds=list
870 _plural_types.append("GridIndex2Ds")
871 _value_types.append("GridIndex2D")
872 
873 
874 GridIndex3Ds=list
875 _plural_types.append("GridIndex3Ds")
876 _value_types.append("GridIndex3D")
877 
878 
879 GridIndex4Ds=list
880 _plural_types.append("GridIndex4Ds")
881 _value_types.append("GridIndex4D")
882 
883 
884 GridIndex5Ds=list
885 _plural_types.append("GridIndex5Ds")
886 _value_types.append("GridIndex5D")
887 
888 
889 GridIndex6Ds=list
890 _plural_types.append("GridIndex6Ds")
891 _value_types.append("GridIndex6D")
892 
893 
894 GridIndex1Ds=list
895 _plural_types.append("GridIndex1Ds")
896 _value_types.append("GridIndexD<1>")
897 
898 
899 GridIndex2Ds=list
900 _plural_types.append("GridIndex2Ds")
901 _value_types.append("GridIndexD<2>")
902 
903 
904 GridIndex3Ds=list
905 _plural_types.append("GridIndex3Ds")
906 _value_types.append("GridIndexD<3>")
907 
908 
909 GridIndex4Ds=list
910 _plural_types.append("GridIndex4Ds")
911 _value_types.append("GridIndexD<4>")
912 
913 
914 GridIndex5Ds=list
915 _plural_types.append("GridIndex5Ds")
916 _value_types.append("GridIndexD<5>")
917 
918 
919 GridIndex6Ds=list
920 _plural_types.append("GridIndex6Ds")
921 _value_types.append("GridIndexD<6>")
922 
923 
924 GridIndexKDs=list
925 _plural_types.append("GridIndexKDs")
926 _value_types.append("GridIndexKD")
927 
928 
929 GridIndexKDs=list
930 _plural_types.append("GridIndexKDs")
931 _value_types.append("GridIndexD<-1>")
932 
933 
934 ExtendedGridIndex1Ds=list
935 _plural_types.append("ExtendedGridIndex1Ds")
936 _value_types.append("ExtendedGridIndex1D")
937 
938 
939 ExtendedGridIndex2Ds=list
940 _plural_types.append("ExtendedGridIndex2Ds")
941 _value_types.append("ExtendedGridIndex2D")
942 
943 
944 ExtendedGridIndex3Ds=list
945 _plural_types.append("ExtendedGridIndex3Ds")
946 _value_types.append("ExtendedGridIndex3D")
947 
948 
949 ExtendedGridIndex4Ds=list
950 _plural_types.append("ExtendedGridIndex4Ds")
951 _value_types.append("ExtendedGridIndex4D")
952 
953 
954 ExtendedGridIndex5Ds=list
955 _plural_types.append("ExtendedGridIndex5Ds")
956 _value_types.append("ExtendedGridIndex5D")
957 
958 
959 ExtendedGridIndex6Ds=list
960 _plural_types.append("ExtendedGridIndex6Ds")
961 _value_types.append("ExtendedGridIndex6D")
962 
963 
964 ExtendedGridIndex1Ds=list
965 _plural_types.append("ExtendedGridIndex1Ds")
966 _value_types.append("ExtendedGridIndexD<1>")
967 
968 
969 ExtendedGridIndex2Ds=list
970 _plural_types.append("ExtendedGridIndex2Ds")
971 _value_types.append("ExtendedGridIndexD<2>")
972 
973 
974 ExtendedGridIndex3Ds=list
975 _plural_types.append("ExtendedGridIndex3Ds")
976 _value_types.append("ExtendedGridIndexD<3>")
977 
978 
979 ExtendedGridIndex4Ds=list
980 _plural_types.append("ExtendedGridIndex4Ds")
981 _value_types.append("ExtendedGridIndexD<4>")
982 
983 
984 ExtendedGridIndex5Ds=list
985 _plural_types.append("ExtendedGridIndex5Ds")
986 _value_types.append("ExtendedGridIndexD<5>")
987 
988 
989 ExtendedGridIndex6Ds=list
990 _plural_types.append("ExtendedGridIndex6Ds")
991 _value_types.append("ExtendedGridIndexD<6>")
992 
993 
994 ExtendedGridIndexKDs=list
995 _plural_types.append("ExtendedGridIndexKDs")
996 _value_types.append("ExtendedGridIndexKD")
997 
998 
999 ExtendedGridIndexKDs=list
1000 _plural_types.append("ExtendedGridIndexKDs")
1001 _value_types.append("ExtendedGridIndexD<-1>")
1002 
1003 
1004 BoundedGridRange1Ds=list
1005 _plural_types.append("BoundedGridRange1Ds")
1006 _value_types.append("BoundedGridRange1D")
1007 
1008 
1009 BoundedGridRange2Ds=list
1010 _plural_types.append("BoundedGridRange2Ds")
1011 _value_types.append("BoundedGridRange2D")
1012 
1013 
1014 BoundedGridRange3Ds=list
1015 _plural_types.append("BoundedGridRange3Ds")
1016 _value_types.append("BoundedGridRange3D")
1017 
1018 
1019 BoundedGridRange4Ds=list
1020 _plural_types.append("BoundedGridRange4Ds")
1021 _value_types.append("BoundedGridRange4D")
1022 
1023 
1024 BoundedGridRange5Ds=list
1025 _plural_types.append("BoundedGridRange5Ds")
1026 _value_types.append("BoundedGridRange5D")
1027 
1028 
1029 BoundedGridRange6Ds=list
1030 _plural_types.append("BoundedGridRange6Ds")
1031 _value_types.append("BoundedGridRange6D")
1032 
1033 
1034 BoundedGridRange1Ds=list
1035 _plural_types.append("BoundedGridRange1Ds")
1036 _value_types.append("BoundedGridRangeD<1>")
1037 
1038 
1039 BoundedGridRange2Ds=list
1040 _plural_types.append("BoundedGridRange2Ds")
1041 _value_types.append("BoundedGridRangeD<2>")
1042 
1043 
1044 BoundedGridRange3Ds=list
1045 _plural_types.append("BoundedGridRange3Ds")
1046 _value_types.append("BoundedGridRangeD<3>")
1047 
1048 
1049 BoundedGridRange4Ds=list
1050 _plural_types.append("BoundedGridRange4Ds")
1051 _value_types.append("BoundedGridRangeD<4>")
1052 
1053 
1054 BoundedGridRange5Ds=list
1055 _plural_types.append("BoundedGridRange5Ds")
1056 _value_types.append("BoundedGridRangeD<5>")
1057 
1058 
1059 BoundedGridRange6Ds=list
1060 _plural_types.append("BoundedGridRange6Ds")
1061 _value_types.append("BoundedGridRangeD<6>")
1062 
1063 
1064 BoundedGridRangeKDs=list
1065 _plural_types.append("BoundedGridRangeKDs")
1066 _value_types.append("BoundedGridRangeKD")
1067 
1068 
1069 BoundedGridRangeKDs=list
1070 _plural_types.append("BoundedGridRangeKDs")
1071 _value_types.append("BoundedGridRangeD<-1>")
1072 
1073 
1074 UnboundedGridRange1Ds=list
1075 _plural_types.append("UnboundedGridRange1Ds")
1076 _value_types.append("UnboundedGridRange1D")
1077 
1078 
1079 UnboundedGridRange2Ds=list
1080 _plural_types.append("UnboundedGridRange2Ds")
1081 _value_types.append("UnboundedGridRange2D")
1082 
1083 
1084 UnboundedGridRange3Ds=list
1085 _plural_types.append("UnboundedGridRange3Ds")
1086 _value_types.append("UnboundedGridRange3D")
1087 
1088 
1089 UnboundedGridRange4Ds=list
1090 _plural_types.append("UnboundedGridRange4Ds")
1091 _value_types.append("UnboundedGridRange4D")
1092 
1093 
1094 UnboundedGridRange5Ds=list
1095 _plural_types.append("UnboundedGridRange5Ds")
1096 _value_types.append("UnboundedGridRange5D")
1097 
1098 
1099 UnboundedGridRange6Ds=list
1100 _plural_types.append("UnboundedGridRange6Ds")
1101 _value_types.append("UnboundedGridRange6D")
1102 
1103 
1104 UnboundedGridRange1Ds=list
1105 _plural_types.append("UnboundedGridRange1Ds")
1106 _value_types.append("UnboundedGridRangeD<1>")
1107 
1108 
1109 UnboundedGridRange2Ds=list
1110 _plural_types.append("UnboundedGridRange2Ds")
1111 _value_types.append("UnboundedGridRangeD<2>")
1112 
1113 
1114 UnboundedGridRange3Ds=list
1115 _plural_types.append("UnboundedGridRange3Ds")
1116 _value_types.append("UnboundedGridRangeD<3>")
1117 
1118 
1119 UnboundedGridRange4Ds=list
1120 _plural_types.append("UnboundedGridRange4Ds")
1121 _value_types.append("UnboundedGridRangeD<4>")
1122 
1123 
1124 UnboundedGridRange5Ds=list
1125 _plural_types.append("UnboundedGridRange5Ds")
1126 _value_types.append("UnboundedGridRangeD<5>")
1127 
1128 
1129 UnboundedGridRange6Ds=list
1130 _plural_types.append("UnboundedGridRange6Ds")
1131 _value_types.append("UnboundedGridRangeD<6>")
1132 
1133 
1134 UnboundedGridRangeKDs=list
1135 _plural_types.append("UnboundedGridRangeKDs")
1136 _value_types.append("UnboundedGridRangeKD")
1137 
1138 
1139 UnboundedGridRangeKDs=list
1140 _plural_types.append("UnboundedGridRangeKDs")
1141 _value_types.append("UnboundedGridRangeD<-1>")
1142 
1143 
1144 LinearFit2Ds=list
1145 _plural_types.append("LinearFit2Ds")
1146 _value_types.append("LinearFit2D")
1147 
1148 
1149 ParabolicFit2Ds=list
1150 _plural_types.append("ParabolicFit2Ds")
1151 _value_types.append("ParabolicFit2D")
1152 
1153 
1154 FixedXYZs=list
1155 _plural_types.append("FixedXYZs")
1156 _value_types.append("FixedXYZ")
1157 
1158 class _GeometricPrimitive1D(object):
1159  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 1 > class."""
1160 
1161  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1162 
1163  def __init__(self, *args, **kwargs):
1164  raise AttributeError("No constructor defined")
1165  __repr__ = _swig_repr
1166  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive1D
1167 
1168 # Register _GeometricPrimitive1D in _IMP_algebra:
1169 _IMP_algebra._GeometricPrimitive1D_swigregister(_GeometricPrimitive1D)
1170 class _GeometricPrimitive2D(object):
1171  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 2 > class."""
1172 
1173  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1174 
1175  def __init__(self, *args, **kwargs):
1176  raise AttributeError("No constructor defined")
1177  __repr__ = _swig_repr
1178  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive2D
1179 
1180 # Register _GeometricPrimitive2D in _IMP_algebra:
1181 _IMP_algebra._GeometricPrimitive2D_swigregister(_GeometricPrimitive2D)
1182 class _GeometricPrimitive3D(object):
1183  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 3 > class."""
1184 
1185  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1186 
1187  def __init__(self, *args, **kwargs):
1188  raise AttributeError("No constructor defined")
1189  __repr__ = _swig_repr
1190  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive3D
1191 
1192 # Register _GeometricPrimitive3D in _IMP_algebra:
1193 _IMP_algebra._GeometricPrimitive3D_swigregister(_GeometricPrimitive3D)
1194 class _GeometricPrimitive4D(object):
1195  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 4 > class."""
1196 
1197  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1198 
1199  def __init__(self, *args, **kwargs):
1200  raise AttributeError("No constructor defined")
1201  __repr__ = _swig_repr
1202  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive4D
1203 
1204 # Register _GeometricPrimitive4D in _IMP_algebra:
1205 _IMP_algebra._GeometricPrimitive4D_swigregister(_GeometricPrimitive4D)
1206 class _GeometricPrimitive5D(object):
1207  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 5 > class."""
1208 
1209  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1210 
1211  def __init__(self, *args, **kwargs):
1212  raise AttributeError("No constructor defined")
1213  __repr__ = _swig_repr
1214  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive5D
1215 
1216 # Register _GeometricPrimitive5D in _IMP_algebra:
1217 _IMP_algebra._GeometricPrimitive5D_swigregister(_GeometricPrimitive5D)
1218 class _GeometricPrimitive6D(object):
1219  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 6 > class."""
1220 
1221  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1222 
1223  def __init__(self, *args, **kwargs):
1224  raise AttributeError("No constructor defined")
1225  __repr__ = _swig_repr
1226  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive6D
1227 
1228 # Register _GeometricPrimitive6D in _IMP_algebra:
1229 _IMP_algebra._GeometricPrimitive6D_swigregister(_GeometricPrimitive6D)
1230 class _GeometricPrimitiveKD(object):
1231  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< -1 > class."""
1232 
1233  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1234 
1235  def __init__(self, *args, **kwargs):
1236  raise AttributeError("No constructor defined")
1237  __repr__ = _swig_repr
1238  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitiveKD
1239 
1240 # Register _GeometricPrimitiveKD in _IMP_algebra:
1241 _IMP_algebra._GeometricPrimitiveKD_swigregister(_GeometricPrimitiveKD)
1242 
1243 Vector1Ds=list
1244 _plural_types.append("Vector1Ds")
1245 _value_types.append("Vector1D")
1246 
1247 
1248 Vector2Ds=list
1249 _plural_types.append("Vector2Ds")
1250 _value_types.append("Vector2D")
1251 
1252 
1253 Vector3Ds=list
1254 _plural_types.append("Vector3Ds")
1255 _value_types.append("Vector3D")
1256 
1257 
1258 Vector4Ds=list
1259 _plural_types.append("Vector4Ds")
1260 _value_types.append("Vector4D")
1261 
1262 
1263 Vector5Ds=list
1264 _plural_types.append("Vector5Ds")
1265 _value_types.append("Vector5D")
1266 
1267 
1268 Vector6Ds=list
1269 _plural_types.append("Vector6Ds")
1270 _value_types.append("Vector6D")
1271 
1272 
1273 Vector1Ds=list
1274 _plural_types.append("Vector1Ds")
1275 _value_types.append("VectorD<1>")
1276 
1277 
1278 Vector2Ds=list
1279 _plural_types.append("Vector2Ds")
1280 _value_types.append("VectorD<2>")
1281 
1282 
1283 Vector3Ds=list
1284 _plural_types.append("Vector3Ds")
1285 _value_types.append("VectorD<3>")
1286 
1287 
1288 Vector4Ds=list
1289 _plural_types.append("Vector4Ds")
1290 _value_types.append("VectorD<4>")
1291 
1292 
1293 Vector5Ds=list
1294 _plural_types.append("Vector5Ds")
1295 _value_types.append("VectorD<5>")
1296 
1297 
1298 Vector6Ds=list
1299 _plural_types.append("Vector6Ds")
1300 _value_types.append("VectorD<6>")
1301 
1302 
1303 VectorKDs=list
1304 _plural_types.append("VectorKDs")
1305 _value_types.append("VectorKD")
1306 
1307 
1308 VectorKDs=list
1309 _plural_types.append("VectorKDs")
1310 _value_types.append("VectorD<-1>")
1311 
1312 class _VectorBaseKD(_GeometricPrimitiveKD):
1313  r"""Proxy of C++ IMP::algebra::VectorBaseD< -1 > class."""
1314 
1315  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1316  __repr__ = _swig_repr
1317 
1318  def __init__(self):
1319  r"""__init__(_VectorBaseKD self) -> _VectorBaseKD"""
1320  _IMP_algebra._VectorBaseKD_swiginit(self, _IMP_algebra.new__VectorBaseKD())
1321 
1322  def get_scalar_product(self, o):
1323  r"""get_scalar_product(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1324  return _IMP_algebra._VectorBaseKD_get_scalar_product(self, o)
1325 
1326  def get_squared_magnitude(self):
1327  r"""get_squared_magnitude(_VectorBaseKD self) -> double"""
1328  return _IMP_algebra._VectorBaseKD_get_squared_magnitude(self)
1329 
1330  def get_magnitude(self):
1331  r"""get_magnitude(_VectorBaseKD self) -> double"""
1332  return _IMP_algebra._VectorBaseKD_get_magnitude(self)
1333 
1334  def get_distance(self, o):
1335  r"""get_distance(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1336  return _IMP_algebra._VectorBaseKD_get_distance(self, o)
1337 
1338  def __mul__(self, o):
1339  r"""__mul__(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1340  return _IMP_algebra._VectorBaseKD___mul__(self, o)
1341 
1342  def __iadd__(self, o):
1343  r"""__iadd__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1344  return _IMP_algebra._VectorBaseKD___iadd__(self, o)
1345 
1346  def __isub__(self, o):
1347  r"""__isub__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1348  return _IMP_algebra._VectorBaseKD___isub__(self, o)
1349 
1350  def __itruediv__(self, *args):
1351  return _IMP_algebra._VectorBaseKD___itruediv__(self, *args)
1352  __idiv__ = __itruediv__
1353 
1354 
1355 
1356  def __imul__(self, f):
1357  r"""__imul__(_VectorBaseKD self, double f) -> _VectorBaseKD"""
1358  return _IMP_algebra._VectorBaseKD___imul__(self, f)
1359 
1360  def show(self, *args):
1361  r"""
1362  show(_VectorBaseKD self, _ostream out, std::string delim, bool parens=True)
1363  show(_VectorBaseKD self, _ostream out=std::cout)
1364  """
1365  return _IMP_algebra._VectorBaseKD_show(self, *args)
1366 
1367  def get_dimension(self):
1368  r"""get_dimension(_VectorBaseKD self) -> unsigned int"""
1369  return _IMP_algebra._VectorBaseKD_get_dimension(self)
1370  __swig_destroy__ = _IMP_algebra.delete__VectorBaseKD
1371 
1372 # Register _VectorBaseKD in _IMP_algebra:
1373 _IMP_algebra._VectorBaseKD_swigregister(_VectorBaseKD)
1374 class _VectorBase1D(_GeometricPrimitive1D):
1375  r"""Proxy of C++ IMP::algebra::VectorBaseD< 1 > class."""
1376 
1377  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1378  __repr__ = _swig_repr
1379 
1380  def __init__(self):
1381  r"""__init__(_VectorBase1D self) -> _VectorBase1D"""
1382  _IMP_algebra._VectorBase1D_swiginit(self, _IMP_algebra.new__VectorBase1D())
1383 
1384  def get_scalar_product(self, o):
1385  r"""get_scalar_product(_VectorBase1D self, _VectorBase1D o) -> double"""
1386  return _IMP_algebra._VectorBase1D_get_scalar_product(self, o)
1387 
1388  def get_squared_magnitude(self):
1389  r"""get_squared_magnitude(_VectorBase1D self) -> double"""
1390  return _IMP_algebra._VectorBase1D_get_squared_magnitude(self)
1391 
1392  def get_magnitude(self):
1393  r"""get_magnitude(_VectorBase1D self) -> double"""
1394  return _IMP_algebra._VectorBase1D_get_magnitude(self)
1395 
1396  def get_distance(self, o):
1397  r"""get_distance(_VectorBase1D self, _VectorBase1D o) -> double"""
1398  return _IMP_algebra._VectorBase1D_get_distance(self, o)
1399 
1400  def __mul__(self, o):
1401  r"""__mul__(_VectorBase1D self, _VectorBase1D o) -> double"""
1402  return _IMP_algebra._VectorBase1D___mul__(self, o)
1403 
1404  def __iadd__(self, o):
1405  r"""__iadd__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1406  return _IMP_algebra._VectorBase1D___iadd__(self, o)
1407 
1408  def __isub__(self, o):
1409  r"""__isub__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1410  return _IMP_algebra._VectorBase1D___isub__(self, o)
1411 
1412  def __itruediv__(self, *args):
1413  return _IMP_algebra._VectorBase1D___itruediv__(self, *args)
1414  __idiv__ = __itruediv__
1415 
1416 
1417 
1418  def __imul__(self, f):
1419  r"""__imul__(_VectorBase1D self, double f) -> _VectorBase1D"""
1420  return _IMP_algebra._VectorBase1D___imul__(self, f)
1421 
1422  def show(self, *args):
1423  r"""
1424  show(_VectorBase1D self, _ostream out, std::string delim, bool parens=True)
1425  show(_VectorBase1D self, _ostream out=std::cout)
1426  """
1427  return _IMP_algebra._VectorBase1D_show(self, *args)
1428 
1429  def get_dimension(self):
1430  r"""get_dimension(_VectorBase1D self) -> unsigned int"""
1431  return _IMP_algebra._VectorBase1D_get_dimension(self)
1432  __swig_destroy__ = _IMP_algebra.delete__VectorBase1D
1433 
1434 # Register _VectorBase1D in _IMP_algebra:
1435 _IMP_algebra._VectorBase1D_swigregister(_VectorBase1D)
1436 class _VectorBase2D(_GeometricPrimitive2D):
1437  r"""Proxy of C++ IMP::algebra::VectorBaseD< 2 > class."""
1438 
1439  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1440  __repr__ = _swig_repr
1441 
1442  def __init__(self):
1443  r"""__init__(_VectorBase2D self) -> _VectorBase2D"""
1444  _IMP_algebra._VectorBase2D_swiginit(self, _IMP_algebra.new__VectorBase2D())
1445 
1446  def get_scalar_product(self, o):
1447  r"""get_scalar_product(_VectorBase2D self, _VectorBase2D o) -> double"""
1448  return _IMP_algebra._VectorBase2D_get_scalar_product(self, o)
1449 
1450  def get_squared_magnitude(self):
1451  r"""get_squared_magnitude(_VectorBase2D self) -> double"""
1452  return _IMP_algebra._VectorBase2D_get_squared_magnitude(self)
1453 
1454  def get_magnitude(self):
1455  r"""get_magnitude(_VectorBase2D self) -> double"""
1456  return _IMP_algebra._VectorBase2D_get_magnitude(self)
1457 
1458  def get_distance(self, o):
1459  r"""get_distance(_VectorBase2D self, _VectorBase2D o) -> double"""
1460  return _IMP_algebra._VectorBase2D_get_distance(self, o)
1461 
1462  def __mul__(self, o):
1463  r"""__mul__(_VectorBase2D self, _VectorBase2D o) -> double"""
1464  return _IMP_algebra._VectorBase2D___mul__(self, o)
1465 
1466  def __iadd__(self, o):
1467  r"""__iadd__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1468  return _IMP_algebra._VectorBase2D___iadd__(self, o)
1469 
1470  def __isub__(self, o):
1471  r"""__isub__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1472  return _IMP_algebra._VectorBase2D___isub__(self, o)
1473 
1474  def __itruediv__(self, *args):
1475  return _IMP_algebra._VectorBase2D___itruediv__(self, *args)
1476  __idiv__ = __itruediv__
1477 
1478 
1479 
1480  def __imul__(self, f):
1481  r"""__imul__(_VectorBase2D self, double f) -> _VectorBase2D"""
1482  return _IMP_algebra._VectorBase2D___imul__(self, f)
1483 
1484  def show(self, *args):
1485  r"""
1486  show(_VectorBase2D self, _ostream out, std::string delim, bool parens=True)
1487  show(_VectorBase2D self, _ostream out=std::cout)
1488  """
1489  return _IMP_algebra._VectorBase2D_show(self, *args)
1490 
1491  def get_dimension(self):
1492  r"""get_dimension(_VectorBase2D self) -> unsigned int"""
1493  return _IMP_algebra._VectorBase2D_get_dimension(self)
1494  __swig_destroy__ = _IMP_algebra.delete__VectorBase2D
1495 
1496 # Register _VectorBase2D in _IMP_algebra:
1497 _IMP_algebra._VectorBase2D_swigregister(_VectorBase2D)
1498 class _VectorBase3D(_GeometricPrimitive3D):
1499  r"""Proxy of C++ IMP::algebra::VectorBaseD< 3 > class."""
1500 
1501  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1502  __repr__ = _swig_repr
1503 
1504  def __init__(self):
1505  r"""__init__(_VectorBase3D self) -> _VectorBase3D"""
1506  _IMP_algebra._VectorBase3D_swiginit(self, _IMP_algebra.new__VectorBase3D())
1507 
1508  def get_scalar_product(self, o):
1509  r"""get_scalar_product(_VectorBase3D self, _VectorBase3D o) -> double"""
1510  return _IMP_algebra._VectorBase3D_get_scalar_product(self, o)
1511 
1512  def get_squared_magnitude(self):
1513  r"""get_squared_magnitude(_VectorBase3D self) -> double"""
1514  return _IMP_algebra._VectorBase3D_get_squared_magnitude(self)
1515 
1516  def get_magnitude(self):
1517  r"""get_magnitude(_VectorBase3D self) -> double"""
1518  return _IMP_algebra._VectorBase3D_get_magnitude(self)
1519 
1520  def get_distance(self, o):
1521  r"""get_distance(_VectorBase3D self, _VectorBase3D o) -> double"""
1522  return _IMP_algebra._VectorBase3D_get_distance(self, o)
1523 
1524  def __mul__(self, o):
1525  r"""__mul__(_VectorBase3D self, _VectorBase3D o) -> double"""
1526  return _IMP_algebra._VectorBase3D___mul__(self, o)
1527 
1528  def __iadd__(self, o):
1529  r"""__iadd__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1530  return _IMP_algebra._VectorBase3D___iadd__(self, o)
1531 
1532  def __isub__(self, o):
1533  r"""__isub__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1534  return _IMP_algebra._VectorBase3D___isub__(self, o)
1535 
1536  def __itruediv__(self, *args):
1537  return _IMP_algebra._VectorBase3D___itruediv__(self, *args)
1538  __idiv__ = __itruediv__
1539 
1540 
1541 
1542  def __imul__(self, f):
1543  r"""__imul__(_VectorBase3D self, double f) -> _VectorBase3D"""
1544  return _IMP_algebra._VectorBase3D___imul__(self, f)
1545 
1546  def show(self, *args):
1547  r"""
1548  show(_VectorBase3D self, _ostream out, std::string delim, bool parens=True)
1549  show(_VectorBase3D self, _ostream out=std::cout)
1550  """
1551  return _IMP_algebra._VectorBase3D_show(self, *args)
1552 
1553  def get_dimension(self):
1554  r"""get_dimension(_VectorBase3D self) -> unsigned int"""
1555  return _IMP_algebra._VectorBase3D_get_dimension(self)
1556  __swig_destroy__ = _IMP_algebra.delete__VectorBase3D
1557 
1558 # Register _VectorBase3D in _IMP_algebra:
1559 _IMP_algebra._VectorBase3D_swigregister(_VectorBase3D)
1560 class _VectorBase4D(_GeometricPrimitive4D):
1561  r"""Proxy of C++ IMP::algebra::VectorBaseD< 4 > class."""
1562 
1563  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1564  __repr__ = _swig_repr
1565 
1566  def __init__(self):
1567  r"""__init__(_VectorBase4D self) -> _VectorBase4D"""
1568  _IMP_algebra._VectorBase4D_swiginit(self, _IMP_algebra.new__VectorBase4D())
1569 
1570  def get_scalar_product(self, o):
1571  r"""get_scalar_product(_VectorBase4D self, _VectorBase4D o) -> double"""
1572  return _IMP_algebra._VectorBase4D_get_scalar_product(self, o)
1573 
1574  def get_squared_magnitude(self):
1575  r"""get_squared_magnitude(_VectorBase4D self) -> double"""
1576  return _IMP_algebra._VectorBase4D_get_squared_magnitude(self)
1577 
1578  def get_magnitude(self):
1579  r"""get_magnitude(_VectorBase4D self) -> double"""
1580  return _IMP_algebra._VectorBase4D_get_magnitude(self)
1581 
1582  def get_distance(self, o):
1583  r"""get_distance(_VectorBase4D self, _VectorBase4D o) -> double"""
1584  return _IMP_algebra._VectorBase4D_get_distance(self, o)
1585 
1586  def __mul__(self, o):
1587  r"""__mul__(_VectorBase4D self, _VectorBase4D o) -> double"""
1588  return _IMP_algebra._VectorBase4D___mul__(self, o)
1589 
1590  def __iadd__(self, o):
1591  r"""__iadd__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1592  return _IMP_algebra._VectorBase4D___iadd__(self, o)
1593 
1594  def __isub__(self, o):
1595  r"""__isub__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1596  return _IMP_algebra._VectorBase4D___isub__(self, o)
1597 
1598  def __itruediv__(self, *args):
1599  return _IMP_algebra._VectorBase4D___itruediv__(self, *args)
1600  __idiv__ = __itruediv__
1601 
1602 
1603 
1604  def __imul__(self, f):
1605  r"""__imul__(_VectorBase4D self, double f) -> _VectorBase4D"""
1606  return _IMP_algebra._VectorBase4D___imul__(self, f)
1607 
1608  def show(self, *args):
1609  r"""
1610  show(_VectorBase4D self, _ostream out, std::string delim, bool parens=True)
1611  show(_VectorBase4D self, _ostream out=std::cout)
1612  """
1613  return _IMP_algebra._VectorBase4D_show(self, *args)
1614 
1615  def get_dimension(self):
1616  r"""get_dimension(_VectorBase4D self) -> unsigned int"""
1617  return _IMP_algebra._VectorBase4D_get_dimension(self)
1618  __swig_destroy__ = _IMP_algebra.delete__VectorBase4D
1619 
1620 # Register _VectorBase4D in _IMP_algebra:
1621 _IMP_algebra._VectorBase4D_swigregister(_VectorBase4D)
1622 class _VectorBase5D(_GeometricPrimitive5D):
1623  r"""Proxy of C++ IMP::algebra::VectorBaseD< 5 > class."""
1624 
1625  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1626  __repr__ = _swig_repr
1627 
1628  def __init__(self):
1629  r"""__init__(_VectorBase5D self) -> _VectorBase5D"""
1630  _IMP_algebra._VectorBase5D_swiginit(self, _IMP_algebra.new__VectorBase5D())
1631 
1632  def get_scalar_product(self, o):
1633  r"""get_scalar_product(_VectorBase5D self, _VectorBase5D o) -> double"""
1634  return _IMP_algebra._VectorBase5D_get_scalar_product(self, o)
1635 
1636  def get_squared_magnitude(self):
1637  r"""get_squared_magnitude(_VectorBase5D self) -> double"""
1638  return _IMP_algebra._VectorBase5D_get_squared_magnitude(self)
1639 
1640  def get_magnitude(self):
1641  r"""get_magnitude(_VectorBase5D self) -> double"""
1642  return _IMP_algebra._VectorBase5D_get_magnitude(self)
1643 
1644  def get_distance(self, o):
1645  r"""get_distance(_VectorBase5D self, _VectorBase5D o) -> double"""
1646  return _IMP_algebra._VectorBase5D_get_distance(self, o)
1647 
1648  def __mul__(self, o):
1649  r"""__mul__(_VectorBase5D self, _VectorBase5D o) -> double"""
1650  return _IMP_algebra._VectorBase5D___mul__(self, o)
1651 
1652  def __iadd__(self, o):
1653  r"""__iadd__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1654  return _IMP_algebra._VectorBase5D___iadd__(self, o)
1655 
1656  def __isub__(self, o):
1657  r"""__isub__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1658  return _IMP_algebra._VectorBase5D___isub__(self, o)
1659 
1660  def __itruediv__(self, *args):
1661  return _IMP_algebra._VectorBase5D___itruediv__(self, *args)
1662  __idiv__ = __itruediv__
1663 
1664 
1665 
1666  def __imul__(self, f):
1667  r"""__imul__(_VectorBase5D self, double f) -> _VectorBase5D"""
1668  return _IMP_algebra._VectorBase5D___imul__(self, f)
1669 
1670  def show(self, *args):
1671  r"""
1672  show(_VectorBase5D self, _ostream out, std::string delim, bool parens=True)
1673  show(_VectorBase5D self, _ostream out=std::cout)
1674  """
1675  return _IMP_algebra._VectorBase5D_show(self, *args)
1676 
1677  def get_dimension(self):
1678  r"""get_dimension(_VectorBase5D self) -> unsigned int"""
1679  return _IMP_algebra._VectorBase5D_get_dimension(self)
1680  __swig_destroy__ = _IMP_algebra.delete__VectorBase5D
1681 
1682 # Register _VectorBase5D in _IMP_algebra:
1683 _IMP_algebra._VectorBase5D_swigregister(_VectorBase5D)
1684 class _VectorBase6D(_GeometricPrimitive6D):
1685  r"""Proxy of C++ IMP::algebra::VectorBaseD< 6 > class."""
1686 
1687  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1688  __repr__ = _swig_repr
1689 
1690  def __init__(self):
1691  r"""__init__(_VectorBase6D self) -> _VectorBase6D"""
1692  _IMP_algebra._VectorBase6D_swiginit(self, _IMP_algebra.new__VectorBase6D())
1693 
1694  def get_scalar_product(self, o):
1695  r"""get_scalar_product(_VectorBase6D self, _VectorBase6D o) -> double"""
1696  return _IMP_algebra._VectorBase6D_get_scalar_product(self, o)
1697 
1698  def get_squared_magnitude(self):
1699  r"""get_squared_magnitude(_VectorBase6D self) -> double"""
1700  return _IMP_algebra._VectorBase6D_get_squared_magnitude(self)
1701 
1702  def get_magnitude(self):
1703  r"""get_magnitude(_VectorBase6D self) -> double"""
1704  return _IMP_algebra._VectorBase6D_get_magnitude(self)
1705 
1706  def get_distance(self, o):
1707  r"""get_distance(_VectorBase6D self, _VectorBase6D o) -> double"""
1708  return _IMP_algebra._VectorBase6D_get_distance(self, o)
1709 
1710  def __mul__(self, o):
1711  r"""__mul__(_VectorBase6D self, _VectorBase6D o) -> double"""
1712  return _IMP_algebra._VectorBase6D___mul__(self, o)
1713 
1714  def __iadd__(self, o):
1715  r"""__iadd__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1716  return _IMP_algebra._VectorBase6D___iadd__(self, o)
1717 
1718  def __isub__(self, o):
1719  r"""__isub__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1720  return _IMP_algebra._VectorBase6D___isub__(self, o)
1721 
1722  def __itruediv__(self, *args):
1723  return _IMP_algebra._VectorBase6D___itruediv__(self, *args)
1724  __idiv__ = __itruediv__
1725 
1726 
1727 
1728  def __imul__(self, f):
1729  r"""__imul__(_VectorBase6D self, double f) -> _VectorBase6D"""
1730  return _IMP_algebra._VectorBase6D___imul__(self, f)
1731 
1732  def show(self, *args):
1733  r"""
1734  show(_VectorBase6D self, _ostream out, std::string delim, bool parens=True)
1735  show(_VectorBase6D self, _ostream out=std::cout)
1736  """
1737  return _IMP_algebra._VectorBase6D_show(self, *args)
1738 
1739  def get_dimension(self):
1740  r"""get_dimension(_VectorBase6D self) -> unsigned int"""
1741  return _IMP_algebra._VectorBase6D_get_dimension(self)
1742  __swig_destroy__ = _IMP_algebra.delete__VectorBase6D
1743 
1744 # Register _VectorBase6D in _IMP_algebra:
1745 _IMP_algebra._VectorBase6D_swigregister(_VectorBase6D)
1746 
1747 def get_basis_vector_kd(D, coordinate):
1748  r"""get_basis_vector_kd(int D, unsigned int coordinate) -> VectorKD"""
1749  return _IMP_algebra.get_basis_vector_kd(D, coordinate)
1750 
1751 def get_zero_vector_kd(D):
1752  r"""get_zero_vector_kd(int D) -> VectorKD"""
1753  return _IMP_algebra.get_zero_vector_kd(D)
1754 
1755 def get_ones_vector_kd(D, v=1):
1756  r"""get_ones_vector_kd(unsigned int D, double v=1) -> VectorKD"""
1757  return _IMP_algebra.get_ones_vector_kd(D, v)
1758 
1759 def get_vector_product(p1, p2):
1760  r"""get_vector_product(Vector3D p1, Vector3D p2) -> Vector3D"""
1761  return _IMP_algebra.get_vector_product(p1, p2)
1762 
1763 def get_orthogonal_vector(v):
1764  r"""get_orthogonal_vector(Vector3D v) -> Vector3D"""
1765  return _IMP_algebra.get_orthogonal_vector(v)
1766 
1767 def get_centroid(ps):
1768  r"""get_centroid(IMP::algebra::Vector3Ds const & ps) -> Vector3D"""
1769  return _IMP_algebra.get_centroid(ps)
1770 
1771 def get_radius_of_gyration(ps):
1772  r"""get_radius_of_gyration(IMP::algebra::Vector3Ds const & ps) -> double"""
1773  return _IMP_algebra.get_radius_of_gyration(ps)
1774 class Rotation3D(_GeometricPrimitive3D):
1775  r"""Proxy of C++ IMP::algebra::Rotation3D class."""
1776 
1777  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1778 
1779  def __init__(self, *args):
1780  r"""
1781  __init__(Rotation3D self, Rotation3D rot) -> Rotation3D
1782  __init__(Rotation3D self, Vector4D v, bool assume_normalized=False) -> Rotation3D
1783  __init__(Rotation3D self) -> Rotation3D
1784  __init__(Rotation3D self, double a, double b, double c, double d) -> Rotation3D
1785  """
1786  _IMP_algebra.Rotation3D_swiginit(self, _IMP_algebra.new_Rotation3D(*args))
1787  __swig_destroy__ = _IMP_algebra.delete_Rotation3D
1788 
1789  def get_rotated_no_cache(self, o):
1790  r"""get_rotated_no_cache(Rotation3D self, Vector3D o) -> Vector3D"""
1791  return _IMP_algebra.Rotation3D_get_rotated_no_cache(self, o)
1792 
1793  def get_rotated_one_coordinate_no_cache(self, o, coord):
1794  r"""get_rotated_one_coordinate_no_cache(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1795  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate_no_cache(self, o, coord)
1796 
1797  def get_rotated(self, o):
1798  r"""get_rotated(Rotation3D self, Vector3D o) -> Vector3D"""
1799  return _IMP_algebra.Rotation3D_get_rotated(self, o)
1800 
1801  def get_rotated_adjoint(self, v, Dw):
1802  r"""get_rotated_adjoint(Rotation3D self, Vector3D v, Vector3D Dw) -> _RotatedVector3DAdjoint"""
1803  return _IMP_algebra.Rotation3D_get_rotated_adjoint(self, v, Dw)
1804 
1805  def get_rotated_one_coordinate(self, o, coord):
1806  r"""get_rotated_one_coordinate(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1807  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate(self, o, coord)
1808 
1809  def get_rotation_matrix_row(self, i):
1810  r"""get_rotation_matrix_row(Rotation3D self, int i) -> Vector3D"""
1811  return _IMP_algebra.Rotation3D_get_rotation_matrix_row(self, i)
1812 
1813  def show(self, *args):
1814  r"""show(Rotation3D self, _ostream out=std::cout)"""
1815  return _IMP_algebra.Rotation3D_show(self, *args)
1816 
1817  def get_inverse(self):
1818  r"""get_inverse(Rotation3D self) -> Rotation3D"""
1819  return _IMP_algebra.Rotation3D_get_inverse(self)
1820 
1821  def get_quaternion(self):
1822  r"""get_quaternion(Rotation3D self) -> Vector4D"""
1823  return _IMP_algebra.Rotation3D_get_quaternion(self)
1824 
1825  def __mul__(self, *args):
1826  r"""
1827  __mul__(Rotation3D self, Vector3D v) -> Vector3D
1828  __mul__(Rotation3D self, Rotation3D q) -> Rotation3D
1829  """
1830  return _IMP_algebra.Rotation3D___mul__(self, *args)
1831 
1832  def __truediv__(self, *args):
1833  return _IMP_algebra.Rotation3D___truediv__(self, *args)
1834  __div__ = __truediv__
1835 
1836 
1837 
1838  def get_gradient_of_rotated(self, v, i, wrt_unnorm=False):
1839  r"""get_gradient_of_rotated(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=False) -> Vector3D"""
1840  return _IMP_algebra.Rotation3D_get_gradient_of_rotated(self, v, i, wrt_unnorm)
1841 
1842  def get_jacobian_of_rotated(self, v, wrt_unnorm=False):
1843  r"""get_jacobian_of_rotated(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1844  return _IMP_algebra.Rotation3D_get_jacobian_of_rotated(self, v, wrt_unnorm)
1845 
1846  def get_is_valid(self):
1847  r"""get_is_valid(Rotation3D self) -> bool"""
1848  return _IMP_algebra.Rotation3D_get_is_valid(self)
1849 
1850  def __str__(self):
1851  r"""__str__(Rotation3D self) -> std::string"""
1852  return _IMP_algebra.Rotation3D___str__(self)
1853 
1854  def __repr__(self):
1855  r"""__repr__(Rotation3D self) -> std::string"""
1856  return _IMP_algebra.Rotation3D___repr__(self)
1857 
1858  def _get_as_binary(self):
1859  r"""_get_as_binary(Rotation3D self) -> PyObject *"""
1860  return _IMP_algebra.Rotation3D__get_as_binary(self)
1861 
1862  def _set_from_binary(self, p):
1863  r"""_set_from_binary(Rotation3D self, PyObject * p)"""
1864  return _IMP_algebra.Rotation3D__set_from_binary(self, p)
1865 
1866  def __getstate__(self):
1867  p = self._get_as_binary()
1868  if len(self.__dict__) > 1:
1869  d = self.__dict__.copy()
1870  del d['this']
1871  p = (d, p)
1872  return p
1873 
1874  def __setstate__(self, p):
1875  if not hasattr(self, 'this'):
1876  self.__init__()
1877  if isinstance(p, tuple):
1878  d, p = p
1879  self.__dict__.update(d)
1880  return self._set_from_binary(p)
1881 
1882 
1883  __truediv__ = __div__
1884 
1885 
1886 # Register Rotation3D in _IMP_algebra:
1887 _IMP_algebra.Rotation3D_swigregister(Rotation3D)
1888 
1889 def get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm=False):
1890  r"""get_jacobian_of_composed_wrt_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1891  return _IMP_algebra.get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm)
1892 
1893 def get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm=False):
1894  r"""get_jacobian_of_composed_wrt_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1895  return _IMP_algebra.get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm)
1896 
1898  r"""get_identity_rotation_3d() -> Rotation3D"""
1899  return _IMP_algebra.get_identity_rotation_3d()
1900 
1901 def get_rotation_about_normalized_axis(axis_norm, angle):
1902  r"""get_rotation_about_normalized_axis(Vector3D axis_norm, double angle) -> Rotation3D"""
1903  return _IMP_algebra.get_rotation_about_normalized_axis(axis_norm, angle)
1904 
1905 def get_rotation_about_axis(axis, angle):
1906  r"""get_rotation_about_axis(Vector3D axis, double angle) -> Rotation3D"""
1907  return _IMP_algebra.get_rotation_about_axis(axis, angle)
1908 
1910  r"""get_rotation_taking_first_to_second(Vector3D v1, Vector3D v2) -> Rotation3D"""
1911  return _IMP_algebra.get_rotation_taking_first_to_second(v1, v2)
1912 
1913 def get_rotation_from_matrix(*args):
1914  r"""
1915  get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) -> Rotation3D
1916  get_rotation_from_matrix(Eigen::Matrix3d m) -> Rotation3D
1917  """
1918  return _IMP_algebra.get_rotation_from_matrix(*args)
1919 
1920 def get_random_rotation_3d(*args):
1921  r"""
1922  get_random_rotation_3d() -> Rotation3D
1923  get_random_rotation_3d(Rotation3D center, double distance) -> Rotation3D
1924  """
1925  return _IMP_algebra.get_random_rotation_3d(*args)
1926 
1927 def get_uniform_cover_rotations_3d(num_points):
1928  r"""get_uniform_cover_rotations_3d(unsigned int num_points) -> IMP::algebra::Rotation3Ds"""
1929  return _IMP_algebra.get_uniform_cover_rotations_3d(num_points)
1930 
1932  r"""get_uniformly_sampled_rotations(double delta) -> IMP::algebra::Rotation3Ds"""
1933  return _IMP_algebra.get_uniformly_sampled_rotations(delta)
1934 
1936  r"""get_rotation_from_vector4d(Vector4D v) -> Rotation3D"""
1937  return _IMP_algebra.get_rotation_from_vector4d(v)
1938 
1939 def get_rotation_from_fixed_xyz(xr, yr, zr):
1940  r"""get_rotation_from_fixed_xyz(double xr, double yr, double zr) -> Rotation3D"""
1941  return _IMP_algebra.get_rotation_from_fixed_xyz(xr, yr, zr)
1942 
1943 def get_rotation_from_fixed_zxz(phi, theta, psi):
1944  r"""get_rotation_from_fixed_zxz(double phi, double theta, double psi) -> Rotation3D"""
1945  return _IMP_algebra.get_rotation_from_fixed_zxz(phi, theta, psi)
1946 
1947 def get_rotation_from_fixed_zyz(Rot, Tilt, Psi):
1948  r"""get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi) -> Rotation3D"""
1949  return _IMP_algebra.get_rotation_from_fixed_zyz(Rot, Tilt, Psi)
1950 class FixedXYZ(_GeometricPrimitive3D):
1951  r"""Proxy of C++ IMP::algebra::FixedXYZ class."""
1952 
1953  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1954 
1955  def __init__(self, *args):
1956  r"""
1957  __init__(FixedXYZ self) -> FixedXYZ
1958  __init__(FixedXYZ self, double x, double y, double z) -> FixedXYZ
1959  """
1960  _IMP_algebra.FixedXYZ_swiginit(self, _IMP_algebra.new_FixedXYZ(*args))
1961 
1962  def get_x(self):
1963  r"""get_x(FixedXYZ self) -> double"""
1964  return _IMP_algebra.FixedXYZ_get_x(self)
1965 
1966  def get_y(self):
1967  r"""get_y(FixedXYZ self) -> double"""
1968  return _IMP_algebra.FixedXYZ_get_y(self)
1969 
1970  def get_z(self):
1971  r"""get_z(FixedXYZ self) -> double"""
1972  return _IMP_algebra.FixedXYZ_get_z(self)
1973 
1974  def show(self, *args):
1975  r"""show(FixedXYZ self, _ostream out=std::cout)"""
1976  return _IMP_algebra.FixedXYZ_show(self, *args)
1977 
1978  def __str__(self):
1979  r"""__str__(FixedXYZ self) -> std::string"""
1980  return _IMP_algebra.FixedXYZ___str__(self)
1981 
1982  def __repr__(self):
1983  r"""__repr__(FixedXYZ self) -> std::string"""
1984  return _IMP_algebra.FixedXYZ___repr__(self)
1985 
1986  def _get_as_binary(self):
1987  r"""_get_as_binary(FixedXYZ self) -> PyObject *"""
1988  return _IMP_algebra.FixedXYZ__get_as_binary(self)
1989 
1990  def _set_from_binary(self, p):
1991  r"""_set_from_binary(FixedXYZ self, PyObject * p)"""
1992  return _IMP_algebra.FixedXYZ__set_from_binary(self, p)
1993 
1994  def __getstate__(self):
1995  p = self._get_as_binary()
1996  if len(self.__dict__) > 1:
1997  d = self.__dict__.copy()
1998  del d['this']
1999  p = (d, p)
2000  return p
2001 
2002  def __setstate__(self, p):
2003  if not hasattr(self, 'this'):
2004  self.__init__()
2005  if isinstance(p, tuple):
2006  d, p = p
2007  self.__dict__.update(d)
2008  return self._set_from_binary(p)
2009 
2010  __swig_destroy__ = _IMP_algebra.delete_FixedXYZ
2011 
2012 # Register FixedXYZ in _IMP_algebra:
2013 _IMP_algebra.FixedXYZ_swigregister(FixedXYZ)
2014 
2016  r"""get_fixed_xyz_from_rotation(Rotation3D r) -> FixedXYZ"""
2017  return _IMP_algebra.get_fixed_xyz_from_rotation(r)
2018 
2019 def get_interpolated(a, b, f):
2020  r"""get_interpolated(Rotation3D a, Rotation3D b, double f) -> Rotation3D"""
2021  return _IMP_algebra.get_interpolated(a, b, f)
2022 
2023 def get_rotation_from_x_y_axes(x, y):
2024  r"""get_rotation_from_x_y_axes(Vector3D x, Vector3D y) -> Rotation3D"""
2025  return _IMP_algebra.get_rotation_from_x_y_axes(x, y)
2026 
2027 def get_axis_and_angle(rot):
2028  r"""get_axis_and_angle(Rotation3D rot) -> _AxisAnglePair"""
2029  return _IMP_algebra.get_axis_and_angle(rot)
2030 
2032  r"""get_unit_bounding_box_kd(unsigned int d) -> BoundingBoxKD"""
2033  return _IMP_algebra.get_unit_bounding_box_kd(d)
2034 
2035 def get_cube_kd(d, radius):
2036  r"""get_cube_kd(unsigned int d, double radius) -> BoundingBoxKD"""
2037  return _IMP_algebra.get_cube_kd(d, radius)
2038 
2039 def get_edges(arg1):
2040  r"""get_edges(BoundingBox3D arg1) -> IMP::IntPairs"""
2041  return _IMP_algebra.get_edges(arg1)
2042 class Transformation3D(_GeometricPrimitive3D):
2043  r"""Proxy of C++ IMP::algebra::Transformation3D class."""
2044 
2045  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2046 
2047  def __init__(self, *args):
2048  r"""
2049  __init__(Transformation3D self, Transformation3D arg2) -> Transformation3D
2050  __init__(Transformation3D self) -> Transformation3D
2051  __init__(Transformation3D self, Rotation3D r, Vector3D t=IMP::algebra::Vector3D(0, 0, 0)) -> Transformation3D
2052  __init__(Transformation3D self, Vector3D t) -> Transformation3D
2053  """
2054  _IMP_algebra.Transformation3D_swiginit(self, _IMP_algebra.new_Transformation3D(*args))
2055  __swig_destroy__ = _IMP_algebra.delete_Transformation3D
2056 
2057  def get_transformed(self, o):
2058  r"""get_transformed(Transformation3D self, Vector3D o) -> Vector3D"""
2059  return _IMP_algebra.Transformation3D_get_transformed(self, o)
2060 
2061  def get_transformed_adjoint(self, v, Dw):
2062  r"""get_transformed_adjoint(Transformation3D self, Vector3D v, Vector3D Dw) -> _TransformedVector3DAdjoint"""
2063  return _IMP_algebra.Transformation3D_get_transformed_adjoint(self, v, Dw)
2064 
2065  def __mul__(self, *args):
2066  r"""
2067  __mul__(Transformation3D self, Vector3D v) -> Vector3D
2068  __mul__(Transformation3D self, Transformation3D tr) -> Transformation3D
2069  """
2070  return _IMP_algebra.Transformation3D___mul__(self, *args)
2071 
2072  def __truediv__(self, *args):
2073  return _IMP_algebra.Transformation3D___truediv__(self, *args)
2074  __div__ = __truediv__
2075 
2076 
2077 
2078  def get_rotation(self):
2079  r"""get_rotation(Transformation3D self) -> Rotation3D"""
2080  return _IMP_algebra.Transformation3D_get_rotation(self)
2081 
2082  def get_translation(self):
2083  r"""get_translation(Transformation3D self) -> Vector3D"""
2084  return _IMP_algebra.Transformation3D_get_translation(self)
2085 
2086  def show(self, *args):
2087  r"""show(Transformation3D self, _ostream out=std::cout)"""
2088  return _IMP_algebra.Transformation3D_show(self, *args)
2089 
2090  def get_inverse(self):
2091  r"""get_inverse(Transformation3D self) -> Transformation3D"""
2092  return _IMP_algebra.Transformation3D_get_inverse(self)
2093 
2094  def get_is_valid(self):
2095  r"""get_is_valid(Transformation3D self) -> bool"""
2096  return _IMP_algebra.Transformation3D_get_is_valid(self)
2097 
2098  def __str__(self):
2099  r"""__str__(Transformation3D self) -> std::string"""
2100  return _IMP_algebra.Transformation3D___str__(self)
2101 
2102  def __repr__(self):
2103  r"""__repr__(Transformation3D self) -> std::string"""
2104  return _IMP_algebra.Transformation3D___repr__(self)
2105 
2106  def _get_as_binary(self):
2107  r"""_get_as_binary(Transformation3D self) -> PyObject *"""
2108  return _IMP_algebra.Transformation3D__get_as_binary(self)
2109 
2110  def _set_from_binary(self, p):
2111  r"""_set_from_binary(Transformation3D self, PyObject * p)"""
2112  return _IMP_algebra.Transformation3D__set_from_binary(self, p)
2113 
2114  def __getstate__(self):
2115  p = self._get_as_binary()
2116  if len(self.__dict__) > 1:
2117  d = self.__dict__.copy()
2118  del d['this']
2119  p = (d, p)
2120  return p
2121 
2122  def __setstate__(self, p):
2123  if not hasattr(self, 'this'):
2124  self.__init__()
2125  if isinstance(p, tuple):
2126  d, p = p
2127  self.__dict__.update(d)
2128  return self._set_from_binary(p)
2129 
2130 
2131  __truediv__ = __div__
2132 
2133 
2134 # Register Transformation3D in _IMP_algebra:
2135 _IMP_algebra.Transformation3D_swigregister(Transformation3D)
2136 
2138  r"""get_identity_transformation_3d() -> Transformation3D"""
2139  return _IMP_algebra.get_identity_transformation_3d()
2140 
2141 def compose_adjoint(*args):
2142  r"""
2143  compose_adjoint(Rotation3D A, Rotation3D B, Vector4D DC) -> _ComposeRotation3DAdjoint
2144  compose_adjoint(Transformation3D TA, Transformation3D TB, _Transformation3DAdjoint DTC) -> _ComposeTransformation3DAdjoint
2145  """
2146  return _IMP_algebra.compose_adjoint(*args)
2147 
2148 def get_transformation_3d(t2d):
2149  r"""get_transformation_3d(Transformation2D t2d) -> Transformation3D"""
2150  return _IMP_algebra.get_transformation_3d(t2d)
2151 
2152 def get_random_local_transformation(origin, max_translation=5., max_angle_in_rad=0.26):
2153  r"""get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26) -> Transformation3D"""
2154  return _IMP_algebra.get_random_local_transformation(origin, max_translation, max_angle_in_rad)
2155 class Rotation2D(_GeometricPrimitive2D):
2156  r"""Proxy of C++ IMP::algebra::Rotation2D class."""
2157 
2158  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2159 
2160  def __init__(self, *args):
2161  r"""
2162  __init__(Rotation2D self) -> Rotation2D
2163  __init__(Rotation2D self, double angle) -> Rotation2D
2164  """
2165  _IMP_algebra.Rotation2D_swiginit(self, _IMP_algebra.new_Rotation2D(*args))
2166 
2167  def get_rotated(self, *args):
2168  r"""
2169  get_rotated(Rotation2D self, Vector2D o) -> Vector2D
2170  get_rotated(Rotation2D self, double const x, double const y) -> Vector2D
2171  """
2172  return _IMP_algebra.Rotation2D_get_rotated(self, *args)
2173 
2174  def get_inverse(self):
2175  r"""get_inverse(Rotation2D self) -> Rotation2D"""
2176  return _IMP_algebra.Rotation2D_get_inverse(self)
2177 
2178  def set_angle(self, angle):
2179  r"""set_angle(Rotation2D self, double angle)"""
2180  return _IMP_algebra.Rotation2D_set_angle(self, angle)
2181 
2182  def get_angle(self):
2183  r"""get_angle(Rotation2D self) -> double"""
2184  return _IMP_algebra.Rotation2D_get_angle(self)
2185 
2186  def show(self, *args):
2187  r"""show(Rotation2D self, _ostream out=std::cout)"""
2188  return _IMP_algebra.Rotation2D_show(self, *args)
2189 
2190  def __str__(self):
2191  r"""__str__(Rotation2D self) -> std::string"""
2192  return _IMP_algebra.Rotation2D___str__(self)
2193 
2194  def __repr__(self):
2195  r"""__repr__(Rotation2D self) -> std::string"""
2196  return _IMP_algebra.Rotation2D___repr__(self)
2197 
2198  def _get_as_binary(self):
2199  r"""_get_as_binary(Rotation2D self) -> PyObject *"""
2200  return _IMP_algebra.Rotation2D__get_as_binary(self)
2201 
2202  def _set_from_binary(self, p):
2203  r"""_set_from_binary(Rotation2D self, PyObject * p)"""
2204  return _IMP_algebra.Rotation2D__set_from_binary(self, p)
2205 
2206  def __getstate__(self):
2207  p = self._get_as_binary()
2208  if len(self.__dict__) > 1:
2209  d = self.__dict__.copy()
2210  del d['this']
2211  p = (d, p)
2212  return p
2213 
2214  def __setstate__(self, p):
2215  if not hasattr(self, 'this'):
2216  self.__init__()
2217  if isinstance(p, tuple):
2218  d, p = p
2219  self.__dict__.update(d)
2220  return self._set_from_binary(p)
2221 
2222  __swig_destroy__ = _IMP_algebra.delete_Rotation2D
2223 
2224 # Register Rotation2D in _IMP_algebra:
2225 _IMP_algebra.Rotation2D_swigregister(Rotation2D)
2226 
2228  r"""get_identity_rotation_2d() -> Rotation2D"""
2229  return _IMP_algebra.get_identity_rotation_2d()
2230 
2232  r"""get_random_rotation_2d() -> Rotation2D"""
2233  return _IMP_algebra.get_random_rotation_2d()
2234 
2235 def get_rotation_to_x_axis(v):
2236  r"""get_rotation_to_x_axis(Vector2D v) -> Rotation2D"""
2237  return _IMP_algebra.get_rotation_to_x_axis(v)
2238 class Transformation2D(_GeometricPrimitive2D):
2239  r"""Proxy of C++ IMP::algebra::Transformation2D class."""
2240 
2241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2242 
2243  def __init__(self, *args):
2244  r"""
2245  __init__(Transformation2D self, Transformation2D arg2) -> Transformation2D
2246  __init__(Transformation2D self) -> Transformation2D
2247  __init__(Transformation2D self, Rotation2D r, Vector2D t=IMP::algebra::Vector2D(0.0, 0.0)) -> Transformation2D
2248  __init__(Transformation2D self, Vector2D t) -> Transformation2D
2249  """
2250  _IMP_algebra.Transformation2D_swiginit(self, _IMP_algebra.new_Transformation2D(*args))
2251  __swig_destroy__ = _IMP_algebra.delete_Transformation2D
2252 
2253  def get_transformed(self, o):
2254  r"""get_transformed(Transformation2D self, Vector2D o) -> Vector2D"""
2255  return _IMP_algebra.Transformation2D_get_transformed(self, o)
2256 
2257  def __mul__(self, *args):
2258  r"""
2259  __mul__(Transformation2D self, Vector2D v) -> Vector2D
2260  __mul__(Transformation2D self, Transformation2D tr) -> Transformation2D
2261  """
2262  return _IMP_algebra.Transformation2D___mul__(self, *args)
2263 
2264  def __truediv__(self, *args):
2265  return _IMP_algebra.Transformation2D___truediv__(self, *args)
2266  __div__ = __truediv__
2267 
2268 
2269 
2270  def get_rotation(self):
2271  r"""get_rotation(Transformation2D self) -> Rotation2D"""
2272  return _IMP_algebra.Transformation2D_get_rotation(self)
2273 
2274  def set_rotation(self, angle):
2275  r"""set_rotation(Transformation2D self, double angle)"""
2276  return _IMP_algebra.Transformation2D_set_rotation(self, angle)
2277 
2278  def get_translation(self):
2279  r"""get_translation(Transformation2D self) -> Vector2D"""
2280  return _IMP_algebra.Transformation2D_get_translation(self)
2281 
2282  def set_translation(self, v):
2283  r"""set_translation(Transformation2D self, Vector2D v)"""
2284  return _IMP_algebra.Transformation2D_set_translation(self, v)
2285 
2286  def show(self, *args):
2287  r"""show(Transformation2D self, _ostream out=std::cout)"""
2288  return _IMP_algebra.Transformation2D_show(self, *args)
2289 
2290  def get_inverse(self):
2291  r"""get_inverse(Transformation2D self) -> Transformation2D"""
2292  return _IMP_algebra.Transformation2D_get_inverse(self)
2293 
2294  def __str__(self):
2295  r"""__str__(Transformation2D self) -> std::string"""
2296  return _IMP_algebra.Transformation2D___str__(self)
2297 
2298  def __repr__(self):
2299  r"""__repr__(Transformation2D self) -> std::string"""
2300  return _IMP_algebra.Transformation2D___repr__(self)
2301 
2302  def _get_as_binary(self):
2303  r"""_get_as_binary(Transformation2D self) -> PyObject *"""
2304  return _IMP_algebra.Transformation2D__get_as_binary(self)
2305 
2306  def _set_from_binary(self, p):
2307  r"""_set_from_binary(Transformation2D self, PyObject * p)"""
2308  return _IMP_algebra.Transformation2D__set_from_binary(self, p)
2309 
2310  def __getstate__(self):
2311  p = self._get_as_binary()
2312  if len(self.__dict__) > 1:
2313  d = self.__dict__.copy()
2314  del d['this']
2315  p = (d, p)
2316  return p
2317 
2318  def __setstate__(self, p):
2319  if not hasattr(self, 'this'):
2320  self.__init__()
2321  if isinstance(p, tuple):
2322  d, p = p
2323  self.__dict__.update(d)
2324  return self._set_from_binary(p)
2325 
2326 
2327  __truediv__ = __div__
2328 
2329 
2330 # Register Transformation2D in _IMP_algebra:
2331 _IMP_algebra.Transformation2D_swigregister(Transformation2D)
2332 
2334  r"""get_identity_transformation_2d() -> Transformation2D"""
2335  return _IMP_algebra.get_identity_transformation_2d()
2336 
2337 def get_rotation_about_point(*args):
2338  r"""
2339  get_rotation_about_point(Vector3D point, Rotation3D rotation) -> Transformation3D
2340  get_rotation_about_point(Vector2D point, Rotation2D rotation) -> Transformation2D
2341  """
2342  return _IMP_algebra.get_rotation_about_point(*args)
2343 
2344 def compose(*args):
2345  r"""
2346  compose(Rotation3D a, Rotation3D b) -> Rotation3D
2347  compose(Transformation3D a, Transformation3D b) -> Transformation3D
2348  compose(Rotation2D a, Rotation2D b) -> Rotation2D
2349  compose(Transformation2D a, Transformation2D b) -> Transformation2D
2350  """
2351  return _IMP_algebra.compose(*args)
2352 
2353 def get_unit_sphere_kd(d):
2354  r"""get_unit_sphere_kd(unsigned int d) -> SphereKD"""
2355  return _IMP_algebra.get_unit_sphere_kd(d)
2356 
2357 def get_enclosing_sphere(*args):
2358  r"""
2359  get_enclosing_sphere(IMP::algebra::Sphere3Ds const & ss) -> Sphere3D
2360  get_enclosing_sphere(IMP::algebra::Vector3Ds const & ss) -> Sphere3D
2361  """
2362  return _IMP_algebra.get_enclosing_sphere(*args)
2363 
2364 def get_ball_radius_from_volume_3d(volume):
2365  r"""get_ball_radius_from_volume_3d(double volume) -> double"""
2366  return _IMP_algebra.get_ball_radius_from_volume_3d(volume)
2367 
2369  r"""get_surface_area_and_volume(IMP::algebra::Sphere3Ds const & ss) -> IMP::FloatPair"""
2370  return _IMP_algebra.get_surface_area_and_volume(ss)
2371 
2372 def get_simplified_from_volume(_in, maximum_allowed_error_angstroms):
2373  r"""get_simplified_from_volume(IMP::algebra::Sphere3Ds _in, double maximum_allowed_error_angstroms) -> IMP::algebra::Sphere3Ds"""
2374  return _IMP_algebra.get_simplified_from_volume(_in, maximum_allowed_error_angstroms)
2375 
2376 def get_triangle_3d(s):
2377  r"""get_triangle_3d(UnitSimplex3D s) -> Triangle3D"""
2378  return _IMP_algebra.get_triangle_3d(s)
2379 class _UnitSimplexBaseKD(_GeometricPrimitiveKD):
2380  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< -1 > class."""
2381 
2382  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2383 
2384  def __init__(self, *args, **kwargs):
2385  raise AttributeError("No constructor defined - class is abstract")
2386  __repr__ = _swig_repr
2387 
2388  def get_dimension(self):
2389  r"""get_dimension(_UnitSimplexBaseKD self) -> int"""
2390  return _IMP_algebra._UnitSimplexBaseKD_get_dimension(self)
2391 
2392  def get_barycenter(self):
2393  r"""get_barycenter(_UnitSimplexBaseKD self) -> VectorKD"""
2394  return _IMP_algebra._UnitSimplexBaseKD_get_barycenter(self)
2395 
2396  def get_contains(self, *args):
2397  r"""get_contains(_UnitSimplexBaseKD self, VectorKD p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2398  return _IMP_algebra._UnitSimplexBaseKD_get_contains(self, *args)
2399  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBaseKD
2400 
2401 # Register _UnitSimplexBaseKD in _IMP_algebra:
2402 _IMP_algebra._UnitSimplexBaseKD_swigregister(_UnitSimplexBaseKD)
2403 class _UnitSimplexBase1D(_GeometricPrimitive1D):
2404  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 1 > class."""
2405 
2406  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2407 
2408  def __init__(self, *args, **kwargs):
2409  raise AttributeError("No constructor defined - class is abstract")
2410  __repr__ = _swig_repr
2411 
2412  def get_dimension(self):
2413  r"""get_dimension(_UnitSimplexBase1D self) -> int"""
2414  return _IMP_algebra._UnitSimplexBase1D_get_dimension(self)
2415 
2416  def get_barycenter(self):
2417  r"""get_barycenter(_UnitSimplexBase1D self) -> Vector1D"""
2418  return _IMP_algebra._UnitSimplexBase1D_get_barycenter(self)
2419 
2420  def get_contains(self, *args):
2421  r"""get_contains(_UnitSimplexBase1D self, Vector1D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2422  return _IMP_algebra._UnitSimplexBase1D_get_contains(self, *args)
2423  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase1D
2424 
2425 # Register _UnitSimplexBase1D in _IMP_algebra:
2426 _IMP_algebra._UnitSimplexBase1D_swigregister(_UnitSimplexBase1D)
2427 class _UnitSimplexBase2D(_GeometricPrimitive2D):
2428  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 2 > class."""
2429 
2430  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2431 
2432  def __init__(self, *args, **kwargs):
2433  raise AttributeError("No constructor defined - class is abstract")
2434  __repr__ = _swig_repr
2435 
2436  def get_dimension(self):
2437  r"""get_dimension(_UnitSimplexBase2D self) -> int"""
2438  return _IMP_algebra._UnitSimplexBase2D_get_dimension(self)
2439 
2440  def get_barycenter(self):
2441  r"""get_barycenter(_UnitSimplexBase2D self) -> Vector2D"""
2442  return _IMP_algebra._UnitSimplexBase2D_get_barycenter(self)
2443 
2444  def get_contains(self, *args):
2445  r"""get_contains(_UnitSimplexBase2D self, Vector2D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2446  return _IMP_algebra._UnitSimplexBase2D_get_contains(self, *args)
2447  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase2D
2448 
2449 # Register _UnitSimplexBase2D in _IMP_algebra:
2450 _IMP_algebra._UnitSimplexBase2D_swigregister(_UnitSimplexBase2D)
2451 class _UnitSimplexBase3D(_GeometricPrimitive3D):
2452  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 3 > class."""
2453 
2454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2455 
2456  def __init__(self, *args, **kwargs):
2457  raise AttributeError("No constructor defined - class is abstract")
2458  __repr__ = _swig_repr
2459 
2460  def get_dimension(self):
2461  r"""get_dimension(_UnitSimplexBase3D self) -> int"""
2462  return _IMP_algebra._UnitSimplexBase3D_get_dimension(self)
2463 
2464  def get_barycenter(self):
2465  r"""get_barycenter(_UnitSimplexBase3D self) -> Vector3D"""
2466  return _IMP_algebra._UnitSimplexBase3D_get_barycenter(self)
2467 
2468  def get_contains(self, *args):
2469  r"""get_contains(_UnitSimplexBase3D self, Vector3D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2470  return _IMP_algebra._UnitSimplexBase3D_get_contains(self, *args)
2471  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase3D
2472 
2473 # Register _UnitSimplexBase3D in _IMP_algebra:
2474 _IMP_algebra._UnitSimplexBase3D_swigregister(_UnitSimplexBase3D)
2475 class _UnitSimplexBase4D(_GeometricPrimitive4D):
2476  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 4 > class."""
2477 
2478  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2479 
2480  def __init__(self, *args, **kwargs):
2481  raise AttributeError("No constructor defined - class is abstract")
2482  __repr__ = _swig_repr
2483 
2484  def get_dimension(self):
2485  r"""get_dimension(_UnitSimplexBase4D self) -> int"""
2486  return _IMP_algebra._UnitSimplexBase4D_get_dimension(self)
2487 
2488  def get_barycenter(self):
2489  r"""get_barycenter(_UnitSimplexBase4D self) -> Vector4D"""
2490  return _IMP_algebra._UnitSimplexBase4D_get_barycenter(self)
2491 
2492  def get_contains(self, *args):
2493  r"""get_contains(_UnitSimplexBase4D self, Vector4D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2494  return _IMP_algebra._UnitSimplexBase4D_get_contains(self, *args)
2495  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase4D
2496 
2497 # Register _UnitSimplexBase4D in _IMP_algebra:
2498 _IMP_algebra._UnitSimplexBase4D_swigregister(_UnitSimplexBase4D)
2499 class _UnitSimplexBase5D(_GeometricPrimitive5D):
2500  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 5 > class."""
2501 
2502  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2503 
2504  def __init__(self, *args, **kwargs):
2505  raise AttributeError("No constructor defined - class is abstract")
2506  __repr__ = _swig_repr
2507 
2508  def get_dimension(self):
2509  r"""get_dimension(_UnitSimplexBase5D self) -> int"""
2510  return _IMP_algebra._UnitSimplexBase5D_get_dimension(self)
2511 
2512  def get_barycenter(self):
2513  r"""get_barycenter(_UnitSimplexBase5D self) -> Vector5D"""
2514  return _IMP_algebra._UnitSimplexBase5D_get_barycenter(self)
2515 
2516  def get_contains(self, *args):
2517  r"""get_contains(_UnitSimplexBase5D self, Vector5D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2518  return _IMP_algebra._UnitSimplexBase5D_get_contains(self, *args)
2519  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase5D
2520 
2521 # Register _UnitSimplexBase5D in _IMP_algebra:
2522 _IMP_algebra._UnitSimplexBase5D_swigregister(_UnitSimplexBase5D)
2523 class _UnitSimplexBase6D(_GeometricPrimitive6D):
2524  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 6 > class."""
2525 
2526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2527 
2528  def __init__(self, *args, **kwargs):
2529  raise AttributeError("No constructor defined - class is abstract")
2530  __repr__ = _swig_repr
2531 
2532  def get_dimension(self):
2533  r"""get_dimension(_UnitSimplexBase6D self) -> int"""
2534  return _IMP_algebra._UnitSimplexBase6D_get_dimension(self)
2535 
2536  def get_barycenter(self):
2537  r"""get_barycenter(_UnitSimplexBase6D self) -> Vector6D"""
2538  return _IMP_algebra._UnitSimplexBase6D_get_barycenter(self)
2539 
2540  def get_contains(self, *args):
2541  r"""get_contains(_UnitSimplexBase6D self, Vector6D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2542  return _IMP_algebra._UnitSimplexBase6D_get_contains(self, *args)
2543  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase6D
2544 
2545 # Register _UnitSimplexBase6D in _IMP_algebra:
2546 _IMP_algebra._UnitSimplexBase6D_swigregister(_UnitSimplexBase6D)
2547 class Vector1D(_VectorBase1D):
2548  r"""Proxy of C++ IMP::algebra::VectorD< 1 > class."""
2549 
2550  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2551 
2552  def get_unit_vector(self):
2553  r"""get_unit_vector(Vector1D self) -> Vector1D"""
2554  return _IMP_algebra.Vector1D_get_unit_vector(self)
2555 
2556  def __truediv__(self, *args):
2557  return _IMP_algebra.Vector1D___truediv__(self, *args)
2558  __div__ = __truediv__
2559 
2560 
2561 
2562  def __neg__(self):
2563  r"""__neg__(Vector1D self) -> Vector1D"""
2564  return _IMP_algebra.Vector1D___neg__(self)
2565 
2566  def __sub__(self, o):
2567  r"""__sub__(Vector1D self, Vector1D o) -> Vector1D"""
2568  return _IMP_algebra.Vector1D___sub__(self, o)
2569 
2570  def __add__(self, ret):
2571  r"""__add__(Vector1D self, Vector1D ret) -> Vector1D"""
2572  return _IMP_algebra.Vector1D___add__(self, ret)
2573 
2574  def __mul__(self, *args):
2575  r"""
2576  __mul__(Vector1D self, double s) -> Vector1D
2577  __mul__(Vector1D self, Vector1D o) -> double
2578  """
2579  return _IMP_algebra.Vector1D___mul__(self, *args)
2580 
2581  def __init__(self, *args):
2582  r"""
2583  __init__(Vector1D self, IMP::Floats const & f) -> Vector1D
2584  __init__(Vector1D self) -> Vector1D
2585  __init__(Vector1D self, double x) -> Vector1D
2586  """
2587  _IMP_algebra.Vector1D_swiginit(self, _IMP_algebra.new_Vector1D(*args))
2588 
2589  def __iadd__(self, *args):
2590  _IMP_algebra.Vector1D___iadd__(self, *args)
2591  return self
2592 
2593 
2594 
2595  def __imul__(self, *args):
2596  _IMP_algebra.Vector1D___imul__(self, *args)
2597  return self
2598 
2599 
2600 
2601  def __idiv__(self, *args):
2602  _IMP_algebra.Vector1D___idiv__(self, *args)
2603  return self
2604 
2605 
2606 
2607  def __isub__(self, *args):
2608  _IMP_algebra.Vector1D___isub__(self, *args)
2609  return self
2610 
2611 
2612 
2613  def __len__(self):
2614  r"""__len__(Vector1D self) -> unsigned int"""
2615  return _IMP_algebra.Vector1D___len__(self)
2616 
2617  def __rmul__(self, f):
2618  r"""__rmul__(Vector1D self, double f) -> Vector1D"""
2619  return _IMP_algebra.Vector1D___rmul__(self, f)
2620 
2621  def __str__(self):
2622  r"""__str__(Vector1D self) -> std::string"""
2623  return _IMP_algebra.Vector1D___str__(self)
2624 
2625  def __repr__(self):
2626  r"""__repr__(Vector1D self) -> std::string"""
2627  return _IMP_algebra.Vector1D___repr__(self)
2628 
2629  def __cmp__(self, arg2):
2630  r"""__cmp__(Vector1D self, Vector1D arg2) -> int"""
2631  return _IMP_algebra.Vector1D___cmp__(self, arg2)
2632 
2633  def __eq__(self, arg2):
2634  r"""__eq__(Vector1D self, Vector1D arg2) -> bool"""
2635  return _IMP_algebra.Vector1D___eq__(self, arg2)
2636 
2637  __truediv__ = __div__
2638  __itruediv__ = __idiv__
2639 
2640 
2641  def _get_as_binary(self):
2642  r"""_get_as_binary(Vector1D self) -> PyObject *"""
2643  return _IMP_algebra.Vector1D__get_as_binary(self)
2644 
2645  def _set_from_binary(self, p):
2646  r"""_set_from_binary(Vector1D self, PyObject * p)"""
2647  return _IMP_algebra.Vector1D__set_from_binary(self, p)
2648 
2649  def __getstate__(self):
2650  p = self._get_as_binary()
2651  if len(self.__dict__) > 1:
2652  d = self.__dict__.copy()
2653  del d['this']
2654  p = (d, p)
2655  return p
2656 
2657  def __setstate__(self, p):
2658  if not hasattr(self, 'this'):
2659  self.__init__()
2660  if isinstance(p, tuple):
2661  d, p = p
2662  self.__dict__.update(d)
2663  return self._set_from_binary(p)
2664 
2665 
2666  def __getitem__(self, index):
2667  r"""__getitem__(Vector1D self, int index) -> double"""
2668  return _IMP_algebra.Vector1D___getitem__(self, index)
2669 
2670  def __setitem__(self, index, val):
2671  r"""__setitem__(Vector1D self, int index, double val)"""
2672  return _IMP_algebra.Vector1D___setitem__(self, index, val)
2673  __swig_destroy__ = _IMP_algebra.delete_Vector1D
2674 
2675 # Register Vector1D in _IMP_algebra:
2676 _IMP_algebra.Vector1D_swigregister(Vector1D)
2677 class Vector2D(_VectorBase2D):
2678  r"""Proxy of C++ IMP::algebra::VectorD< 2 > class."""
2679 
2680  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2681 
2682  def get_unit_vector(self):
2683  r"""get_unit_vector(Vector2D self) -> Vector2D"""
2684  return _IMP_algebra.Vector2D_get_unit_vector(self)
2685 
2686  def __truediv__(self, *args):
2687  return _IMP_algebra.Vector2D___truediv__(self, *args)
2688  __div__ = __truediv__
2689 
2690 
2691 
2692  def __neg__(self):
2693  r"""__neg__(Vector2D self) -> Vector2D"""
2694  return _IMP_algebra.Vector2D___neg__(self)
2695 
2696  def __sub__(self, o):
2697  r"""__sub__(Vector2D self, Vector2D o) -> Vector2D"""
2698  return _IMP_algebra.Vector2D___sub__(self, o)
2699 
2700  def __add__(self, ret):
2701  r"""__add__(Vector2D self, Vector2D ret) -> Vector2D"""
2702  return _IMP_algebra.Vector2D___add__(self, ret)
2703 
2704  def __mul__(self, *args):
2705  r"""
2706  __mul__(Vector2D self, double s) -> Vector2D
2707  __mul__(Vector2D self, Vector2D o) -> double
2708  """
2709  return _IMP_algebra.Vector2D___mul__(self, *args)
2710 
2711  def __init__(self, *args):
2712  r"""
2713  __init__(Vector2D self, IMP::Floats const & f) -> Vector2D
2714  __init__(Vector2D self) -> Vector2D
2715  __init__(Vector2D self, double x, double y) -> Vector2D
2716  """
2717  _IMP_algebra.Vector2D_swiginit(self, _IMP_algebra.new_Vector2D(*args))
2718 
2719  def __iadd__(self, *args):
2720  _IMP_algebra.Vector2D___iadd__(self, *args)
2721  return self
2722 
2723 
2724 
2725  def __imul__(self, *args):
2726  _IMP_algebra.Vector2D___imul__(self, *args)
2727  return self
2728 
2729 
2730 
2731  def __idiv__(self, *args):
2732  _IMP_algebra.Vector2D___idiv__(self, *args)
2733  return self
2734 
2735 
2736 
2737  def __isub__(self, *args):
2738  _IMP_algebra.Vector2D___isub__(self, *args)
2739  return self
2740 
2741 
2742 
2743  def __len__(self):
2744  r"""__len__(Vector2D self) -> unsigned int"""
2745  return _IMP_algebra.Vector2D___len__(self)
2746 
2747  def __rmul__(self, f):
2748  r"""__rmul__(Vector2D self, double f) -> Vector2D"""
2749  return _IMP_algebra.Vector2D___rmul__(self, f)
2750 
2751  def __str__(self):
2752  r"""__str__(Vector2D self) -> std::string"""
2753  return _IMP_algebra.Vector2D___str__(self)
2754 
2755  def __repr__(self):
2756  r"""__repr__(Vector2D self) -> std::string"""
2757  return _IMP_algebra.Vector2D___repr__(self)
2758 
2759  def __cmp__(self, arg2):
2760  r"""__cmp__(Vector2D self, Vector2D arg2) -> int"""
2761  return _IMP_algebra.Vector2D___cmp__(self, arg2)
2762 
2763  def __eq__(self, arg2):
2764  r"""__eq__(Vector2D self, Vector2D arg2) -> bool"""
2765  return _IMP_algebra.Vector2D___eq__(self, arg2)
2766 
2767  __truediv__ = __div__
2768  __itruediv__ = __idiv__
2769 
2770 
2771  def _get_as_binary(self):
2772  r"""_get_as_binary(Vector2D self) -> PyObject *"""
2773  return _IMP_algebra.Vector2D__get_as_binary(self)
2774 
2775  def _set_from_binary(self, p):
2776  r"""_set_from_binary(Vector2D self, PyObject * p)"""
2777  return _IMP_algebra.Vector2D__set_from_binary(self, p)
2778 
2779  def __getstate__(self):
2780  p = self._get_as_binary()
2781  if len(self.__dict__) > 1:
2782  d = self.__dict__.copy()
2783  del d['this']
2784  p = (d, p)
2785  return p
2786 
2787  def __setstate__(self, p):
2788  if not hasattr(self, 'this'):
2789  self.__init__()
2790  if isinstance(p, tuple):
2791  d, p = p
2792  self.__dict__.update(d)
2793  return self._set_from_binary(p)
2794 
2795 
2796  def __getitem__(self, index):
2797  r"""__getitem__(Vector2D self, int index) -> double"""
2798  return _IMP_algebra.Vector2D___getitem__(self, index)
2799 
2800  def __setitem__(self, index, val):
2801  r"""__setitem__(Vector2D self, int index, double val)"""
2802  return _IMP_algebra.Vector2D___setitem__(self, index, val)
2803  __swig_destroy__ = _IMP_algebra.delete_Vector2D
2804 
2805 # Register Vector2D in _IMP_algebra:
2806 _IMP_algebra.Vector2D_swigregister(Vector2D)
2807 class Vector3D(_VectorBase3D):
2808  r"""Proxy of C++ IMP::algebra::VectorD< 3 > class."""
2809 
2810  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2811 
2812  def get_unit_vector(self):
2813  r"""get_unit_vector(Vector3D self) -> Vector3D"""
2814  return _IMP_algebra.Vector3D_get_unit_vector(self)
2815 
2816  def __truediv__(self, *args):
2817  return _IMP_algebra.Vector3D___truediv__(self, *args)
2818  __div__ = __truediv__
2819 
2820 
2821 
2822  def __neg__(self):
2823  r"""__neg__(Vector3D self) -> Vector3D"""
2824  return _IMP_algebra.Vector3D___neg__(self)
2825 
2826  def __sub__(self, o):
2827  r"""__sub__(Vector3D self, Vector3D o) -> Vector3D"""
2828  return _IMP_algebra.Vector3D___sub__(self, o)
2829 
2830  def __add__(self, ret):
2831  r"""__add__(Vector3D self, Vector3D ret) -> Vector3D"""
2832  return _IMP_algebra.Vector3D___add__(self, ret)
2833 
2834  def __mul__(self, *args):
2835  r"""
2836  __mul__(Vector3D self, double s) -> Vector3D
2837  __mul__(Vector3D self, Vector3D o) -> double
2838  """
2839  return _IMP_algebra.Vector3D___mul__(self, *args)
2840 
2841  def __init__(self, *args):
2842  r"""
2843  __init__(Vector3D self, IMP::Floats const & f) -> Vector3D
2844  __init__(Vector3D self) -> Vector3D
2845  __init__(Vector3D self, double x, double y, double z) -> Vector3D
2846  """
2847  _IMP_algebra.Vector3D_swiginit(self, _IMP_algebra.new_Vector3D(*args))
2848 
2849  def __iadd__(self, *args):
2850  _IMP_algebra.Vector3D___iadd__(self, *args)
2851  return self
2852 
2853 
2854 
2855  def __imul__(self, *args):
2856  _IMP_algebra.Vector3D___imul__(self, *args)
2857  return self
2858 
2859 
2860 
2861  def __idiv__(self, *args):
2862  _IMP_algebra.Vector3D___idiv__(self, *args)
2863  return self
2864 
2865 
2866 
2867  def __isub__(self, *args):
2868  _IMP_algebra.Vector3D___isub__(self, *args)
2869  return self
2870 
2871 
2872 
2873  def __len__(self):
2874  r"""__len__(Vector3D self) -> unsigned int"""
2875  return _IMP_algebra.Vector3D___len__(self)
2876 
2877  def __rmul__(self, f):
2878  r"""__rmul__(Vector3D self, double f) -> Vector3D"""
2879  return _IMP_algebra.Vector3D___rmul__(self, f)
2880 
2881  def __str__(self):
2882  r"""__str__(Vector3D self) -> std::string"""
2883  return _IMP_algebra.Vector3D___str__(self)
2884 
2885  def __repr__(self):
2886  r"""__repr__(Vector3D self) -> std::string"""
2887  return _IMP_algebra.Vector3D___repr__(self)
2888 
2889  def __cmp__(self, arg2):
2890  r"""__cmp__(Vector3D self, Vector3D arg2) -> int"""
2891  return _IMP_algebra.Vector3D___cmp__(self, arg2)
2892 
2893  def __eq__(self, arg2):
2894  r"""__eq__(Vector3D self, Vector3D arg2) -> bool"""
2895  return _IMP_algebra.Vector3D___eq__(self, arg2)
2896 
2897  __truediv__ = __div__
2898  __itruediv__ = __idiv__
2899 
2900 
2901  def _get_as_binary(self):
2902  r"""_get_as_binary(Vector3D self) -> PyObject *"""
2903  return _IMP_algebra.Vector3D__get_as_binary(self)
2904 
2905  def _set_from_binary(self, p):
2906  r"""_set_from_binary(Vector3D self, PyObject * p)"""
2907  return _IMP_algebra.Vector3D__set_from_binary(self, p)
2908 
2909  def __getstate__(self):
2910  p = self._get_as_binary()
2911  if len(self.__dict__) > 1:
2912  d = self.__dict__.copy()
2913  del d['this']
2914  p = (d, p)
2915  return p
2916 
2917  def __setstate__(self, p):
2918  if not hasattr(self, 'this'):
2919  self.__init__()
2920  if isinstance(p, tuple):
2921  d, p = p
2922  self.__dict__.update(d)
2923  return self._set_from_binary(p)
2924 
2925 
2926  def __getitem__(self, index):
2927  r"""__getitem__(Vector3D self, int index) -> double"""
2928  return _IMP_algebra.Vector3D___getitem__(self, index)
2929 
2930  def __setitem__(self, index, val):
2931  r"""__setitem__(Vector3D self, int index, double val)"""
2932  return _IMP_algebra.Vector3D___setitem__(self, index, val)
2933  __swig_destroy__ = _IMP_algebra.delete_Vector3D
2934 
2935 # Register Vector3D in _IMP_algebra:
2936 _IMP_algebra.Vector3D_swigregister(Vector3D)
2937 class Vector4D(_VectorBase4D):
2938  r"""Proxy of C++ IMP::algebra::VectorD< 4 > class."""
2939 
2940  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2941 
2942  def get_unit_vector(self):
2943  r"""get_unit_vector(Vector4D self) -> Vector4D"""
2944  return _IMP_algebra.Vector4D_get_unit_vector(self)
2945 
2946  def __truediv__(self, *args):
2947  return _IMP_algebra.Vector4D___truediv__(self, *args)
2948  __div__ = __truediv__
2949 
2950 
2951 
2952  def __neg__(self):
2953  r"""__neg__(Vector4D self) -> Vector4D"""
2954  return _IMP_algebra.Vector4D___neg__(self)
2955 
2956  def __sub__(self, o):
2957  r"""__sub__(Vector4D self, Vector4D o) -> Vector4D"""
2958  return _IMP_algebra.Vector4D___sub__(self, o)
2959 
2960  def __add__(self, ret):
2961  r"""__add__(Vector4D self, Vector4D ret) -> Vector4D"""
2962  return _IMP_algebra.Vector4D___add__(self, ret)
2963 
2964  def __mul__(self, *args):
2965  r"""
2966  __mul__(Vector4D self, double s) -> Vector4D
2967  __mul__(Vector4D self, Vector4D o) -> double
2968  """
2969  return _IMP_algebra.Vector4D___mul__(self, *args)
2970 
2971  def __init__(self, *args):
2972  r"""
2973  __init__(Vector4D self, IMP::Floats const & f) -> Vector4D
2974  __init__(Vector4D self) -> Vector4D
2975  __init__(Vector4D self, double x0, double x1, double x2, double x3) -> Vector4D
2976  """
2977  _IMP_algebra.Vector4D_swiginit(self, _IMP_algebra.new_Vector4D(*args))
2978 
2979  def __iadd__(self, *args):
2980  _IMP_algebra.Vector4D___iadd__(self, *args)
2981  return self
2982 
2983 
2984 
2985  def __imul__(self, *args):
2986  _IMP_algebra.Vector4D___imul__(self, *args)
2987  return self
2988 
2989 
2990 
2991  def __idiv__(self, *args):
2992  _IMP_algebra.Vector4D___idiv__(self, *args)
2993  return self
2994 
2995 
2996 
2997  def __isub__(self, *args):
2998  _IMP_algebra.Vector4D___isub__(self, *args)
2999  return self
3000 
3001 
3002 
3003  def __len__(self):
3004  r"""__len__(Vector4D self) -> unsigned int"""
3005  return _IMP_algebra.Vector4D___len__(self)
3006 
3007  def __rmul__(self, f):
3008  r"""__rmul__(Vector4D self, double f) -> Vector4D"""
3009  return _IMP_algebra.Vector4D___rmul__(self, f)
3010 
3011  def __str__(self):
3012  r"""__str__(Vector4D self) -> std::string"""
3013  return _IMP_algebra.Vector4D___str__(self)
3014 
3015  def __repr__(self):
3016  r"""__repr__(Vector4D self) -> std::string"""
3017  return _IMP_algebra.Vector4D___repr__(self)
3018 
3019  def __cmp__(self, arg2):
3020  r"""__cmp__(Vector4D self, Vector4D arg2) -> int"""
3021  return _IMP_algebra.Vector4D___cmp__(self, arg2)
3022 
3023  def __eq__(self, arg2):
3024  r"""__eq__(Vector4D self, Vector4D arg2) -> bool"""
3025  return _IMP_algebra.Vector4D___eq__(self, arg2)
3026 
3027  __truediv__ = __div__
3028  __itruediv__ = __idiv__
3029 
3030 
3031  def _get_as_binary(self):
3032  r"""_get_as_binary(Vector4D self) -> PyObject *"""
3033  return _IMP_algebra.Vector4D__get_as_binary(self)
3034 
3035  def _set_from_binary(self, p):
3036  r"""_set_from_binary(Vector4D self, PyObject * p)"""
3037  return _IMP_algebra.Vector4D__set_from_binary(self, p)
3038 
3039  def __getstate__(self):
3040  p = self._get_as_binary()
3041  if len(self.__dict__) > 1:
3042  d = self.__dict__.copy()
3043  del d['this']
3044  p = (d, p)
3045  return p
3046 
3047  def __setstate__(self, p):
3048  if not hasattr(self, 'this'):
3049  self.__init__()
3050  if isinstance(p, tuple):
3051  d, p = p
3052  self.__dict__.update(d)
3053  return self._set_from_binary(p)
3054 
3055 
3056  def __getitem__(self, index):
3057  r"""__getitem__(Vector4D self, int index) -> double"""
3058  return _IMP_algebra.Vector4D___getitem__(self, index)
3059 
3060  def __setitem__(self, index, val):
3061  r"""__setitem__(Vector4D self, int index, double val)"""
3062  return _IMP_algebra.Vector4D___setitem__(self, index, val)
3063  __swig_destroy__ = _IMP_algebra.delete_Vector4D
3064 
3065 # Register Vector4D in _IMP_algebra:
3066 _IMP_algebra.Vector4D_swigregister(Vector4D)
3067 class Vector5D(_VectorBase5D):
3068  r"""Proxy of C++ IMP::algebra::VectorD< 5 > class."""
3069 
3070  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3071 
3072  def get_unit_vector(self):
3073  r"""get_unit_vector(Vector5D self) -> Vector5D"""
3074  return _IMP_algebra.Vector5D_get_unit_vector(self)
3075 
3076  def __truediv__(self, *args):
3077  return _IMP_algebra.Vector5D___truediv__(self, *args)
3078  __div__ = __truediv__
3079 
3080 
3081 
3082  def __neg__(self):
3083  r"""__neg__(Vector5D self) -> Vector5D"""
3084  return _IMP_algebra.Vector5D___neg__(self)
3085 
3086  def __sub__(self, o):
3087  r"""__sub__(Vector5D self, Vector5D o) -> Vector5D"""
3088  return _IMP_algebra.Vector5D___sub__(self, o)
3089 
3090  def __add__(self, ret):
3091  r"""__add__(Vector5D self, Vector5D ret) -> Vector5D"""
3092  return _IMP_algebra.Vector5D___add__(self, ret)
3093 
3094  def __mul__(self, *args):
3095  r"""
3096  __mul__(Vector5D self, double s) -> Vector5D
3097  __mul__(Vector5D self, Vector5D o) -> double
3098  """
3099  return _IMP_algebra.Vector5D___mul__(self, *args)
3100 
3101  def __init__(self, *args):
3102  r"""
3103  __init__(Vector5D self, IMP::Floats const & f) -> Vector5D
3104  __init__(Vector5D self) -> Vector5D
3105  __init__(Vector5D self, double x0, double x1, double x2, double x3, double x4) -> Vector5D
3106  """
3107  _IMP_algebra.Vector5D_swiginit(self, _IMP_algebra.new_Vector5D(*args))
3108 
3109  def __iadd__(self, *args):
3110  _IMP_algebra.Vector5D___iadd__(self, *args)
3111  return self
3112 
3113 
3114 
3115  def __imul__(self, *args):
3116  _IMP_algebra.Vector5D___imul__(self, *args)
3117  return self
3118 
3119 
3120 
3121  def __idiv__(self, *args):
3122  _IMP_algebra.Vector5D___idiv__(self, *args)
3123  return self
3124 
3125 
3126 
3127  def __isub__(self, *args):
3128  _IMP_algebra.Vector5D___isub__(self, *args)
3129  return self
3130 
3131 
3132 
3133  def __len__(self):
3134  r"""__len__(Vector5D self) -> unsigned int"""
3135  return _IMP_algebra.Vector5D___len__(self)
3136 
3137  def __rmul__(self, f):
3138  r"""__rmul__(Vector5D self, double f) -> Vector5D"""
3139  return _IMP_algebra.Vector5D___rmul__(self, f)
3140 
3141  def __str__(self):
3142  r"""__str__(Vector5D self) -> std::string"""
3143  return _IMP_algebra.Vector5D___str__(self)
3144 
3145  def __repr__(self):
3146  r"""__repr__(Vector5D self) -> std::string"""
3147  return _IMP_algebra.Vector5D___repr__(self)
3148 
3149  def __cmp__(self, arg2):
3150  r"""__cmp__(Vector5D self, Vector5D arg2) -> int"""
3151  return _IMP_algebra.Vector5D___cmp__(self, arg2)
3152 
3153  def __eq__(self, arg2):
3154  r"""__eq__(Vector5D self, Vector5D arg2) -> bool"""
3155  return _IMP_algebra.Vector5D___eq__(self, arg2)
3156 
3157  __truediv__ = __div__
3158  __itruediv__ = __idiv__
3159 
3160 
3161  def _get_as_binary(self):
3162  r"""_get_as_binary(Vector5D self) -> PyObject *"""
3163  return _IMP_algebra.Vector5D__get_as_binary(self)
3164 
3165  def _set_from_binary(self, p):
3166  r"""_set_from_binary(Vector5D self, PyObject * p)"""
3167  return _IMP_algebra.Vector5D__set_from_binary(self, p)
3168 
3169  def __getstate__(self):
3170  p = self._get_as_binary()
3171  if len(self.__dict__) > 1:
3172  d = self.__dict__.copy()
3173  del d['this']
3174  p = (d, p)
3175  return p
3176 
3177  def __setstate__(self, p):
3178  if not hasattr(self, 'this'):
3179  self.__init__()
3180  if isinstance(p, tuple):
3181  d, p = p
3182  self.__dict__.update(d)
3183  return self._set_from_binary(p)
3184 
3185 
3186  def __getitem__(self, index):
3187  r"""__getitem__(Vector5D self, int index) -> double"""
3188  return _IMP_algebra.Vector5D___getitem__(self, index)
3189 
3190  def __setitem__(self, index, val):
3191  r"""__setitem__(Vector5D self, int index, double val)"""
3192  return _IMP_algebra.Vector5D___setitem__(self, index, val)
3193  __swig_destroy__ = _IMP_algebra.delete_Vector5D
3194 
3195 # Register Vector5D in _IMP_algebra:
3196 _IMP_algebra.Vector5D_swigregister(Vector5D)
3197 class Vector6D(_VectorBase6D):
3198  r"""Proxy of C++ IMP::algebra::VectorD< 6 > class."""
3199 
3200  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3201 
3202  def get_unit_vector(self):
3203  r"""get_unit_vector(Vector6D self) -> Vector6D"""
3204  return _IMP_algebra.Vector6D_get_unit_vector(self)
3205 
3206  def __truediv__(self, *args):
3207  return _IMP_algebra.Vector6D___truediv__(self, *args)
3208  __div__ = __truediv__
3209 
3210 
3211 
3212  def __neg__(self):
3213  r"""__neg__(Vector6D self) -> Vector6D"""
3214  return _IMP_algebra.Vector6D___neg__(self)
3215 
3216  def __sub__(self, o):
3217  r"""__sub__(Vector6D self, Vector6D o) -> Vector6D"""
3218  return _IMP_algebra.Vector6D___sub__(self, o)
3219 
3220  def __add__(self, ret):
3221  r"""__add__(Vector6D self, Vector6D ret) -> Vector6D"""
3222  return _IMP_algebra.Vector6D___add__(self, ret)
3223 
3224  def __mul__(self, *args):
3225  r"""
3226  __mul__(Vector6D self, double s) -> Vector6D
3227  __mul__(Vector6D self, Vector6D o) -> double
3228  """
3229  return _IMP_algebra.Vector6D___mul__(self, *args)
3230 
3231  def __init__(self, *args):
3232  r"""
3233  __init__(Vector6D self, IMP::Floats const & f) -> Vector6D
3234  __init__(Vector6D self) -> Vector6D
3235  __init__(Vector6D self, double x0, double x1, double x2, double x3, double x4, double x5) -> Vector6D
3236  """
3237  _IMP_algebra.Vector6D_swiginit(self, _IMP_algebra.new_Vector6D(*args))
3238 
3239  def __iadd__(self, *args):
3240  _IMP_algebra.Vector6D___iadd__(self, *args)
3241  return self
3242 
3243 
3244 
3245  def __imul__(self, *args):
3246  _IMP_algebra.Vector6D___imul__(self, *args)
3247  return self
3248 
3249 
3250 
3251  def __idiv__(self, *args):
3252  _IMP_algebra.Vector6D___idiv__(self, *args)
3253  return self
3254 
3255 
3256 
3257  def __isub__(self, *args):
3258  _IMP_algebra.Vector6D___isub__(self, *args)
3259  return self
3260 
3261 
3262 
3263  def __len__(self):
3264  r"""__len__(Vector6D self) -> unsigned int"""
3265  return _IMP_algebra.Vector6D___len__(self)
3266 
3267  def __rmul__(self, f):
3268  r"""__rmul__(Vector6D self, double f) -> Vector6D"""
3269  return _IMP_algebra.Vector6D___rmul__(self, f)
3270 
3271  def __str__(self):
3272  r"""__str__(Vector6D self) -> std::string"""
3273  return _IMP_algebra.Vector6D___str__(self)
3274 
3275  def __repr__(self):
3276  r"""__repr__(Vector6D self) -> std::string"""
3277  return _IMP_algebra.Vector6D___repr__(self)
3278 
3279  def __cmp__(self, arg2):
3280  r"""__cmp__(Vector6D self, Vector6D arg2) -> int"""
3281  return _IMP_algebra.Vector6D___cmp__(self, arg2)
3282 
3283  def __eq__(self, arg2):
3284  r"""__eq__(Vector6D self, Vector6D arg2) -> bool"""
3285  return _IMP_algebra.Vector6D___eq__(self, arg2)
3286 
3287  __truediv__ = __div__
3288  __itruediv__ = __idiv__
3289 
3290 
3291  def _get_as_binary(self):
3292  r"""_get_as_binary(Vector6D self) -> PyObject *"""
3293  return _IMP_algebra.Vector6D__get_as_binary(self)
3294 
3295  def _set_from_binary(self, p):
3296  r"""_set_from_binary(Vector6D self, PyObject * p)"""
3297  return _IMP_algebra.Vector6D__set_from_binary(self, p)
3298 
3299  def __getstate__(self):
3300  p = self._get_as_binary()
3301  if len(self.__dict__) > 1:
3302  d = self.__dict__.copy()
3303  del d['this']
3304  p = (d, p)
3305  return p
3306 
3307  def __setstate__(self, p):
3308  if not hasattr(self, 'this'):
3309  self.__init__()
3310  if isinstance(p, tuple):
3311  d, p = p
3312  self.__dict__.update(d)
3313  return self._set_from_binary(p)
3314 
3315 
3316  def __getitem__(self, index):
3317  r"""__getitem__(Vector6D self, int index) -> double"""
3318  return _IMP_algebra.Vector6D___getitem__(self, index)
3319 
3320  def __setitem__(self, index, val):
3321  r"""__setitem__(Vector6D self, int index, double val)"""
3322  return _IMP_algebra.Vector6D___setitem__(self, index, val)
3323  __swig_destroy__ = _IMP_algebra.delete_Vector6D
3324 
3325 # Register Vector6D in _IMP_algebra:
3326 _IMP_algebra.Vector6D_swigregister(Vector6D)
3327 class VectorKD(_VectorBaseKD):
3328  r"""Proxy of C++ IMP::algebra::VectorD< -1 > class."""
3329 
3330  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3331 
3332  def get_unit_vector(self):
3333  r"""get_unit_vector(VectorKD self) -> VectorKD"""
3334  return _IMP_algebra.VectorKD_get_unit_vector(self)
3335 
3336  def __truediv__(self, *args):
3337  return _IMP_algebra.VectorKD___truediv__(self, *args)
3338  __div__ = __truediv__
3339 
3340 
3341 
3342  def __neg__(self):
3343  r"""__neg__(VectorKD self) -> VectorKD"""
3344  return _IMP_algebra.VectorKD___neg__(self)
3345 
3346  def __sub__(self, o):
3347  r"""__sub__(VectorKD self, VectorKD o) -> VectorKD"""
3348  return _IMP_algebra.VectorKD___sub__(self, o)
3349 
3350  def __add__(self, ret):
3351  r"""__add__(VectorKD self, VectorKD ret) -> VectorKD"""
3352  return _IMP_algebra.VectorKD___add__(self, ret)
3353 
3354  def __mul__(self, *args):
3355  r"""
3356  __mul__(VectorKD self, double s) -> VectorKD
3357  __mul__(VectorKD self, VectorKD o) -> double
3358  """
3359  return _IMP_algebra.VectorKD___mul__(self, *args)
3360 
3361  def __init__(self, *args):
3362  r"""
3363  __init__(VectorKD self, IMP::Floats const & f) -> VectorKD
3364  __init__(VectorKD self) -> VectorKD
3365  __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
3366  """
3367  _IMP_algebra.VectorKD_swiginit(self, _IMP_algebra.new_VectorKD(*args))
3368 
3369  def __iadd__(self, *args):
3370  _IMP_algebra.VectorKD___iadd__(self, *args)
3371  return self
3372 
3373 
3374 
3375  def __imul__(self, *args):
3376  _IMP_algebra.VectorKD___imul__(self, *args)
3377  return self
3378 
3379 
3380 
3381  def __idiv__(self, *args):
3382  _IMP_algebra.VectorKD___idiv__(self, *args)
3383  return self
3384 
3385 
3386 
3387  def __isub__(self, *args):
3388  _IMP_algebra.VectorKD___isub__(self, *args)
3389  return self
3390 
3391 
3392 
3393  def __len__(self):
3394  r"""__len__(VectorKD self) -> unsigned int"""
3395  return _IMP_algebra.VectorKD___len__(self)
3396 
3397  def __rmul__(self, f):
3398  r"""__rmul__(VectorKD self, double f) -> VectorKD"""
3399  return _IMP_algebra.VectorKD___rmul__(self, f)
3400 
3401  def __str__(self):
3402  r"""__str__(VectorKD self) -> std::string"""
3403  return _IMP_algebra.VectorKD___str__(self)
3404 
3405  def __repr__(self):
3406  r"""__repr__(VectorKD self) -> std::string"""
3407  return _IMP_algebra.VectorKD___repr__(self)
3408 
3409  def __cmp__(self, arg2):
3410  r"""__cmp__(VectorKD self, VectorKD arg2) -> int"""
3411  return _IMP_algebra.VectorKD___cmp__(self, arg2)
3412 
3413  def __eq__(self, arg2):
3414  r"""__eq__(VectorKD self, VectorKD arg2) -> bool"""
3415  return _IMP_algebra.VectorKD___eq__(self, arg2)
3416 
3417  __truediv__ = __div__
3418  __itruediv__ = __idiv__
3419 
3420 
3421  def _get_as_binary(self):
3422  r"""_get_as_binary(VectorKD self) -> PyObject *"""
3423  return _IMP_algebra.VectorKD__get_as_binary(self)
3424 
3425  def _set_from_binary(self, p):
3426  r"""_set_from_binary(VectorKD self, PyObject * p)"""
3427  return _IMP_algebra.VectorKD__set_from_binary(self, p)
3428 
3429  def __getstate__(self):
3430  p = self._get_as_binary()
3431  if len(self.__dict__) > 1:
3432  d = self.__dict__.copy()
3433  del d['this']
3434  p = (d, p)
3435  return p
3436 
3437  def __setstate__(self, p):
3438  if not hasattr(self, 'this'):
3439  self.__init__()
3440  if isinstance(p, tuple):
3441  d, p = p
3442  self.__dict__.update(d)
3443  return self._set_from_binary(p)
3444 
3445 
3446  def __getitem__(self, index):
3447  r"""__getitem__(VectorKD self, int index) -> double"""
3448  return _IMP_algebra.VectorKD___getitem__(self, index)
3449 
3450  def __setitem__(self, index, val):
3451  r"""__setitem__(VectorKD self, int index, double val)"""
3452  return _IMP_algebra.VectorKD___setitem__(self, index, val)
3453  __swig_destroy__ = _IMP_algebra.delete_VectorKD
3454 
3455 # Register VectorKD in _IMP_algebra:
3456 _IMP_algebra.VectorKD_swigregister(VectorKD)
3457 class BoundingBox1D(object):
3458  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 1 > class."""
3459 
3460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3461 
3462  def get_dimension(self):
3463  r"""get_dimension(BoundingBox1D self) -> unsigned int"""
3464  return _IMP_algebra.BoundingBox1D_get_dimension(self)
3465 
3466  def get_corner(self, i):
3467  r"""get_corner(BoundingBox1D self, unsigned int i) -> Vector1D"""
3468  return _IMP_algebra.BoundingBox1D_get_corner(self, i)
3469 
3470  def get_contains(self, *args):
3471  r"""
3472  get_contains(BoundingBox1D self, Vector1D o) -> bool
3473  get_contains(BoundingBox1D self, BoundingBox1D bb) -> bool
3474  """
3475  return _IMP_algebra.BoundingBox1D_get_contains(self, *args)
3476 
3477  def show(self, *args):
3478  r"""show(BoundingBox1D self, _ostream out=std::cout)"""
3479  return _IMP_algebra.BoundingBox1D_show(self, *args)
3480 
3481  def __str__(self):
3482  r"""__str__(BoundingBox1D self) -> std::string"""
3483  return _IMP_algebra.BoundingBox1D___str__(self)
3484 
3485  def __repr__(self):
3486  r"""__repr__(BoundingBox1D self) -> std::string"""
3487  return _IMP_algebra.BoundingBox1D___repr__(self)
3488 
3489  def __cmp__(self, arg2):
3490  r"""__cmp__(BoundingBox1D self, BoundingBox1D arg2) -> int"""
3491  return _IMP_algebra.BoundingBox1D___cmp__(self, arg2)
3492 
3493  def __eq__(self, arg2):
3494  r"""__eq__(BoundingBox1D self, BoundingBox1D arg2) -> bool"""
3495  return _IMP_algebra.BoundingBox1D___eq__(self, arg2)
3496 
3497  def __init__(self, *args):
3498  r"""
3499  __init__(BoundingBox1D self, unsigned int d) -> BoundingBox1D
3500  __init__(BoundingBox1D self, Vector1D lb, Vector1D ub) -> BoundingBox1D
3501  __init__(BoundingBox1D self, Vector1D v) -> BoundingBox1D
3502  __init__(BoundingBox1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & points) -> BoundingBox1D
3503  __init__(BoundingBox1D self) -> BoundingBox1D
3504  """
3505  _IMP_algebra.BoundingBox1D_swiginit(self, _IMP_algebra.new_BoundingBox1D(*args))
3506 
3507  def __getitem__(self, index):
3508  r"""__getitem__(BoundingBox1D self, unsigned int index) -> Vector1D"""
3509  return _IMP_algebra.BoundingBox1D___getitem__(self, index)
3510 
3511  def __iadd__(self, *args):
3512  _IMP_algebra.BoundingBox1D___iadd__(self, *args)
3513  return self
3514 
3515 
3516 
3517  def __len__(self):
3518  r"""__len__(BoundingBox1D self) -> unsigned int"""
3519  return _IMP_algebra.BoundingBox1D___len__(self)
3520 
3521  def __add__(self, *args):
3522  r"""
3523  __add__(BoundingBox1D self, BoundingBox1D o) -> BoundingBox1D
3524  __add__(BoundingBox1D self, Vector1D o) -> BoundingBox1D
3525  __add__(BoundingBox1D self, double o) -> BoundingBox1D
3526  """
3527  return _IMP_algebra.BoundingBox1D___add__(self, *args)
3528 
3529  def _get_as_binary(self):
3530  r"""_get_as_binary(BoundingBox1D self) -> PyObject *"""
3531  return _IMP_algebra.BoundingBox1D__get_as_binary(self)
3532 
3533  def _set_from_binary(self, p):
3534  r"""_set_from_binary(BoundingBox1D self, PyObject * p)"""
3535  return _IMP_algebra.BoundingBox1D__set_from_binary(self, p)
3536 
3537  def __getstate__(self):
3538  p = self._get_as_binary()
3539  if len(self.__dict__) > 1:
3540  d = self.__dict__.copy()
3541  del d['this']
3542  p = (d, p)
3543  return p
3544 
3545  def __setstate__(self, p):
3546  if not hasattr(self, 'this'):
3547  self.__init__()
3548  if isinstance(p, tuple):
3549  d, p = p
3550  self.__dict__.update(d)
3551  return self._set_from_binary(p)
3552 
3553  __swig_destroy__ = _IMP_algebra.delete_BoundingBox1D
3554 
3555 # Register BoundingBox1D in _IMP_algebra:
3556 _IMP_algebra.BoundingBox1D_swigregister(BoundingBox1D)
3557 class BoundingBox2D(object):
3558  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 2 > class."""
3559 
3560  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3561 
3562  def get_dimension(self):
3563  r"""get_dimension(BoundingBox2D self) -> unsigned int"""
3564  return _IMP_algebra.BoundingBox2D_get_dimension(self)
3565 
3566  def get_corner(self, i):
3567  r"""get_corner(BoundingBox2D self, unsigned int i) -> Vector2D"""
3568  return _IMP_algebra.BoundingBox2D_get_corner(self, i)
3569 
3570  def get_contains(self, *args):
3571  r"""
3572  get_contains(BoundingBox2D self, Vector2D o) -> bool
3573  get_contains(BoundingBox2D self, BoundingBox2D bb) -> bool
3574  """
3575  return _IMP_algebra.BoundingBox2D_get_contains(self, *args)
3576 
3577  def show(self, *args):
3578  r"""show(BoundingBox2D self, _ostream out=std::cout)"""
3579  return _IMP_algebra.BoundingBox2D_show(self, *args)
3580 
3581  def __str__(self):
3582  r"""__str__(BoundingBox2D self) -> std::string"""
3583  return _IMP_algebra.BoundingBox2D___str__(self)
3584 
3585  def __repr__(self):
3586  r"""__repr__(BoundingBox2D self) -> std::string"""
3587  return _IMP_algebra.BoundingBox2D___repr__(self)
3588 
3589  def __cmp__(self, arg2):
3590  r"""__cmp__(BoundingBox2D self, BoundingBox2D arg2) -> int"""
3591  return _IMP_algebra.BoundingBox2D___cmp__(self, arg2)
3592 
3593  def __eq__(self, arg2):
3594  r"""__eq__(BoundingBox2D self, BoundingBox2D arg2) -> bool"""
3595  return _IMP_algebra.BoundingBox2D___eq__(self, arg2)
3596 
3597  def __init__(self, *args):
3598  r"""
3599  __init__(BoundingBox2D self, unsigned int d) -> BoundingBox2D
3600  __init__(BoundingBox2D self, Vector2D lb, Vector2D ub) -> BoundingBox2D
3601  __init__(BoundingBox2D self, Vector2D v) -> BoundingBox2D
3602  __init__(BoundingBox2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & points) -> BoundingBox2D
3603  __init__(BoundingBox2D self) -> BoundingBox2D
3604  """
3605  _IMP_algebra.BoundingBox2D_swiginit(self, _IMP_algebra.new_BoundingBox2D(*args))
3606 
3607  def __getitem__(self, index):
3608  r"""__getitem__(BoundingBox2D self, unsigned int index) -> Vector2D"""
3609  return _IMP_algebra.BoundingBox2D___getitem__(self, index)
3610 
3611  def __iadd__(self, *args):
3612  _IMP_algebra.BoundingBox2D___iadd__(self, *args)
3613  return self
3614 
3615 
3616 
3617  def __len__(self):
3618  r"""__len__(BoundingBox2D self) -> unsigned int"""
3619  return _IMP_algebra.BoundingBox2D___len__(self)
3620 
3621  def __add__(self, *args):
3622  r"""
3623  __add__(BoundingBox2D self, BoundingBox2D o) -> BoundingBox2D
3624  __add__(BoundingBox2D self, Vector2D o) -> BoundingBox2D
3625  __add__(BoundingBox2D self, double o) -> BoundingBox2D
3626  """
3627  return _IMP_algebra.BoundingBox2D___add__(self, *args)
3628 
3629  def _get_as_binary(self):
3630  r"""_get_as_binary(BoundingBox2D self) -> PyObject *"""
3631  return _IMP_algebra.BoundingBox2D__get_as_binary(self)
3632 
3633  def _set_from_binary(self, p):
3634  r"""_set_from_binary(BoundingBox2D self, PyObject * p)"""
3635  return _IMP_algebra.BoundingBox2D__set_from_binary(self, p)
3636 
3637  def __getstate__(self):
3638  p = self._get_as_binary()
3639  if len(self.__dict__) > 1:
3640  d = self.__dict__.copy()
3641  del d['this']
3642  p = (d, p)
3643  return p
3644 
3645  def __setstate__(self, p):
3646  if not hasattr(self, 'this'):
3647  self.__init__()
3648  if isinstance(p, tuple):
3649  d, p = p
3650  self.__dict__.update(d)
3651  return self._set_from_binary(p)
3652 
3653  __swig_destroy__ = _IMP_algebra.delete_BoundingBox2D
3654 
3655 # Register BoundingBox2D in _IMP_algebra:
3656 _IMP_algebra.BoundingBox2D_swigregister(BoundingBox2D)
3657 class BoundingBox3D(object):
3658  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 3 > class."""
3659 
3660  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3661 
3662  def get_dimension(self):
3663  r"""get_dimension(BoundingBox3D self) -> unsigned int"""
3664  return _IMP_algebra.BoundingBox3D_get_dimension(self)
3665 
3666  def get_corner(self, i):
3667  r"""get_corner(BoundingBox3D self, unsigned int i) -> Vector3D"""
3668  return _IMP_algebra.BoundingBox3D_get_corner(self, i)
3669 
3670  def get_contains(self, *args):
3671  r"""
3672  get_contains(BoundingBox3D self, Vector3D o) -> bool
3673  get_contains(BoundingBox3D self, BoundingBox3D bb) -> bool
3674  """
3675  return _IMP_algebra.BoundingBox3D_get_contains(self, *args)
3676 
3677  def show(self, *args):
3678  r"""show(BoundingBox3D self, _ostream out=std::cout)"""
3679  return _IMP_algebra.BoundingBox3D_show(self, *args)
3680 
3681  def __str__(self):
3682  r"""__str__(BoundingBox3D self) -> std::string"""
3683  return _IMP_algebra.BoundingBox3D___str__(self)
3684 
3685  def __repr__(self):
3686  r"""__repr__(BoundingBox3D self) -> std::string"""
3687  return _IMP_algebra.BoundingBox3D___repr__(self)
3688 
3689  def __cmp__(self, arg2):
3690  r"""__cmp__(BoundingBox3D self, BoundingBox3D arg2) -> int"""
3691  return _IMP_algebra.BoundingBox3D___cmp__(self, arg2)
3692 
3693  def __eq__(self, arg2):
3694  r"""__eq__(BoundingBox3D self, BoundingBox3D arg2) -> bool"""
3695  return _IMP_algebra.BoundingBox3D___eq__(self, arg2)
3696 
3697  def __init__(self, *args):
3698  r"""
3699  __init__(BoundingBox3D self, unsigned int d) -> BoundingBox3D
3700  __init__(BoundingBox3D self, Vector3D lb, Vector3D ub) -> BoundingBox3D
3701  __init__(BoundingBox3D self, Vector3D v) -> BoundingBox3D
3702  __init__(BoundingBox3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & points) -> BoundingBox3D
3703  __init__(BoundingBox3D self) -> BoundingBox3D
3704  """
3705  _IMP_algebra.BoundingBox3D_swiginit(self, _IMP_algebra.new_BoundingBox3D(*args))
3706 
3707  def __getitem__(self, index):
3708  r"""__getitem__(BoundingBox3D self, unsigned int index) -> Vector3D"""
3709  return _IMP_algebra.BoundingBox3D___getitem__(self, index)
3710 
3711  def __iadd__(self, *args):
3712  _IMP_algebra.BoundingBox3D___iadd__(self, *args)
3713  return self
3714 
3715 
3716 
3717  def __len__(self):
3718  r"""__len__(BoundingBox3D self) -> unsigned int"""
3719  return _IMP_algebra.BoundingBox3D___len__(self)
3720 
3721  def __add__(self, *args):
3722  r"""
3723  __add__(BoundingBox3D self, BoundingBox3D o) -> BoundingBox3D
3724  __add__(BoundingBox3D self, Vector3D o) -> BoundingBox3D
3725  __add__(BoundingBox3D self, double o) -> BoundingBox3D
3726  """
3727  return _IMP_algebra.BoundingBox3D___add__(self, *args)
3728 
3729  def _get_as_binary(self):
3730  r"""_get_as_binary(BoundingBox3D self) -> PyObject *"""
3731  return _IMP_algebra.BoundingBox3D__get_as_binary(self)
3732 
3733  def _set_from_binary(self, p):
3734  r"""_set_from_binary(BoundingBox3D self, PyObject * p)"""
3735  return _IMP_algebra.BoundingBox3D__set_from_binary(self, p)
3736 
3737  def __getstate__(self):
3738  p = self._get_as_binary()
3739  if len(self.__dict__) > 1:
3740  d = self.__dict__.copy()
3741  del d['this']
3742  p = (d, p)
3743  return p
3744 
3745  def __setstate__(self, p):
3746  if not hasattr(self, 'this'):
3747  self.__init__()
3748  if isinstance(p, tuple):
3749  d, p = p
3750  self.__dict__.update(d)
3751  return self._set_from_binary(p)
3752 
3753  __swig_destroy__ = _IMP_algebra.delete_BoundingBox3D
3754 
3755 # Register BoundingBox3D in _IMP_algebra:
3756 _IMP_algebra.BoundingBox3D_swigregister(BoundingBox3D)
3757 class BoundingBox4D(object):
3758  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 4 > class."""
3759 
3760  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3761 
3762  def get_dimension(self):
3763  r"""get_dimension(BoundingBox4D self) -> unsigned int"""
3764  return _IMP_algebra.BoundingBox4D_get_dimension(self)
3765 
3766  def get_corner(self, i):
3767  r"""get_corner(BoundingBox4D self, unsigned int i) -> Vector4D"""
3768  return _IMP_algebra.BoundingBox4D_get_corner(self, i)
3769 
3770  def get_contains(self, *args):
3771  r"""
3772  get_contains(BoundingBox4D self, Vector4D o) -> bool
3773  get_contains(BoundingBox4D self, BoundingBox4D bb) -> bool
3774  """
3775  return _IMP_algebra.BoundingBox4D_get_contains(self, *args)
3776 
3777  def show(self, *args):
3778  r"""show(BoundingBox4D self, _ostream out=std::cout)"""
3779  return _IMP_algebra.BoundingBox4D_show(self, *args)
3780 
3781  def __str__(self):
3782  r"""__str__(BoundingBox4D self) -> std::string"""
3783  return _IMP_algebra.BoundingBox4D___str__(self)
3784 
3785  def __repr__(self):
3786  r"""__repr__(BoundingBox4D self) -> std::string"""
3787  return _IMP_algebra.BoundingBox4D___repr__(self)
3788 
3789  def __cmp__(self, arg2):
3790  r"""__cmp__(BoundingBox4D self, BoundingBox4D arg2) -> int"""
3791  return _IMP_algebra.BoundingBox4D___cmp__(self, arg2)
3792 
3793  def __eq__(self, arg2):
3794  r"""__eq__(BoundingBox4D self, BoundingBox4D arg2) -> bool"""
3795  return _IMP_algebra.BoundingBox4D___eq__(self, arg2)
3796 
3797  def __init__(self, *args):
3798  r"""
3799  __init__(BoundingBox4D self, unsigned int d) -> BoundingBox4D
3800  __init__(BoundingBox4D self, Vector4D lb, Vector4D ub) -> BoundingBox4D
3801  __init__(BoundingBox4D self, Vector4D v) -> BoundingBox4D
3802  __init__(BoundingBox4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & points) -> BoundingBox4D
3803  __init__(BoundingBox4D self) -> BoundingBox4D
3804  """
3805  _IMP_algebra.BoundingBox4D_swiginit(self, _IMP_algebra.new_BoundingBox4D(*args))
3806 
3807  def __getitem__(self, index):
3808  r"""__getitem__(BoundingBox4D self, unsigned int index) -> Vector4D"""
3809  return _IMP_algebra.BoundingBox4D___getitem__(self, index)
3810 
3811  def __iadd__(self, *args):
3812  _IMP_algebra.BoundingBox4D___iadd__(self, *args)
3813  return self
3814 
3815 
3816 
3817  def __len__(self):
3818  r"""__len__(BoundingBox4D self) -> unsigned int"""
3819  return _IMP_algebra.BoundingBox4D___len__(self)
3820 
3821  def __add__(self, *args):
3822  r"""
3823  __add__(BoundingBox4D self, BoundingBox4D o) -> BoundingBox4D
3824  __add__(BoundingBox4D self, Vector4D o) -> BoundingBox4D
3825  __add__(BoundingBox4D self, double o) -> BoundingBox4D
3826  """
3827  return _IMP_algebra.BoundingBox4D___add__(self, *args)
3828 
3829  def _get_as_binary(self):
3830  r"""_get_as_binary(BoundingBox4D self) -> PyObject *"""
3831  return _IMP_algebra.BoundingBox4D__get_as_binary(self)
3832 
3833  def _set_from_binary(self, p):
3834  r"""_set_from_binary(BoundingBox4D self, PyObject * p)"""
3835  return _IMP_algebra.BoundingBox4D__set_from_binary(self, p)
3836 
3837  def __getstate__(self):
3838  p = self._get_as_binary()
3839  if len(self.__dict__) > 1:
3840  d = self.__dict__.copy()
3841  del d['this']
3842  p = (d, p)
3843  return p
3844 
3845  def __setstate__(self, p):
3846  if not hasattr(self, 'this'):
3847  self.__init__()
3848  if isinstance(p, tuple):
3849  d, p = p
3850  self.__dict__.update(d)
3851  return self._set_from_binary(p)
3852 
3853  __swig_destroy__ = _IMP_algebra.delete_BoundingBox4D
3854 
3855 # Register BoundingBox4D in _IMP_algebra:
3856 _IMP_algebra.BoundingBox4D_swigregister(BoundingBox4D)
3857 class BoundingBox5D(object):
3858  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 5 > class."""
3859 
3860  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3861 
3862  def get_dimension(self):
3863  r"""get_dimension(BoundingBox5D self) -> unsigned int"""
3864  return _IMP_algebra.BoundingBox5D_get_dimension(self)
3865 
3866  def get_corner(self, i):
3867  r"""get_corner(BoundingBox5D self, unsigned int i) -> Vector5D"""
3868  return _IMP_algebra.BoundingBox5D_get_corner(self, i)
3869 
3870  def get_contains(self, *args):
3871  r"""
3872  get_contains(BoundingBox5D self, Vector5D o) -> bool
3873  get_contains(BoundingBox5D self, BoundingBox5D bb) -> bool
3874  """
3875  return _IMP_algebra.BoundingBox5D_get_contains(self, *args)
3876 
3877  def show(self, *args):
3878  r"""show(BoundingBox5D self, _ostream out=std::cout)"""
3879  return _IMP_algebra.BoundingBox5D_show(self, *args)
3880 
3881  def __str__(self):
3882  r"""__str__(BoundingBox5D self) -> std::string"""
3883  return _IMP_algebra.BoundingBox5D___str__(self)
3884 
3885  def __repr__(self):
3886  r"""__repr__(BoundingBox5D self) -> std::string"""
3887  return _IMP_algebra.BoundingBox5D___repr__(self)
3888 
3889  def __cmp__(self, arg2):
3890  r"""__cmp__(BoundingBox5D self, BoundingBox5D arg2) -> int"""
3891  return _IMP_algebra.BoundingBox5D___cmp__(self, arg2)
3892 
3893  def __eq__(self, arg2):
3894  r"""__eq__(BoundingBox5D self, BoundingBox5D arg2) -> bool"""
3895  return _IMP_algebra.BoundingBox5D___eq__(self, arg2)
3896 
3897  def __init__(self, *args):
3898  r"""
3899  __init__(BoundingBox5D self, unsigned int d) -> BoundingBox5D
3900  __init__(BoundingBox5D self, Vector5D lb, Vector5D ub) -> BoundingBox5D
3901  __init__(BoundingBox5D self, Vector5D v) -> BoundingBox5D
3902  __init__(BoundingBox5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & points) -> BoundingBox5D
3903  __init__(BoundingBox5D self) -> BoundingBox5D
3904  """
3905  _IMP_algebra.BoundingBox5D_swiginit(self, _IMP_algebra.new_BoundingBox5D(*args))
3906 
3907  def __getitem__(self, index):
3908  r"""__getitem__(BoundingBox5D self, unsigned int index) -> Vector5D"""
3909  return _IMP_algebra.BoundingBox5D___getitem__(self, index)
3910 
3911  def __iadd__(self, *args):
3912  _IMP_algebra.BoundingBox5D___iadd__(self, *args)
3913  return self
3914 
3915 
3916 
3917  def __len__(self):
3918  r"""__len__(BoundingBox5D self) -> unsigned int"""
3919  return _IMP_algebra.BoundingBox5D___len__(self)
3920 
3921  def __add__(self, *args):
3922  r"""
3923  __add__(BoundingBox5D self, BoundingBox5D o) -> BoundingBox5D
3924  __add__(BoundingBox5D self, Vector5D o) -> BoundingBox5D
3925  __add__(BoundingBox5D self, double o) -> BoundingBox5D
3926  """
3927  return _IMP_algebra.BoundingBox5D___add__(self, *args)
3928 
3929  def _get_as_binary(self):
3930  r"""_get_as_binary(BoundingBox5D self) -> PyObject *"""
3931  return _IMP_algebra.BoundingBox5D__get_as_binary(self)
3932 
3933  def _set_from_binary(self, p):
3934  r"""_set_from_binary(BoundingBox5D self, PyObject * p)"""
3935  return _IMP_algebra.BoundingBox5D__set_from_binary(self, p)
3936 
3937  def __getstate__(self):
3938  p = self._get_as_binary()
3939  if len(self.__dict__) > 1:
3940  d = self.__dict__.copy()
3941  del d['this']
3942  p = (d, p)
3943  return p
3944 
3945  def __setstate__(self, p):
3946  if not hasattr(self, 'this'):
3947  self.__init__()
3948  if isinstance(p, tuple):
3949  d, p = p
3950  self.__dict__.update(d)
3951  return self._set_from_binary(p)
3952 
3953  __swig_destroy__ = _IMP_algebra.delete_BoundingBox5D
3954 
3955 # Register BoundingBox5D in _IMP_algebra:
3956 _IMP_algebra.BoundingBox5D_swigregister(BoundingBox5D)
3957 class BoundingBox6D(object):
3958  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 6 > class."""
3959 
3960  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3961 
3962  def get_dimension(self):
3963  r"""get_dimension(BoundingBox6D self) -> unsigned int"""
3964  return _IMP_algebra.BoundingBox6D_get_dimension(self)
3965 
3966  def get_corner(self, i):
3967  r"""get_corner(BoundingBox6D self, unsigned int i) -> Vector6D"""
3968  return _IMP_algebra.BoundingBox6D_get_corner(self, i)
3969 
3970  def get_contains(self, *args):
3971  r"""
3972  get_contains(BoundingBox6D self, Vector6D o) -> bool
3973  get_contains(BoundingBox6D self, BoundingBox6D bb) -> bool
3974  """
3975  return _IMP_algebra.BoundingBox6D_get_contains(self, *args)
3976 
3977  def show(self, *args):
3978  r"""show(BoundingBox6D self, _ostream out=std::cout)"""
3979  return _IMP_algebra.BoundingBox6D_show(self, *args)
3980 
3981  def __str__(self):
3982  r"""__str__(BoundingBox6D self) -> std::string"""
3983  return _IMP_algebra.BoundingBox6D___str__(self)
3984 
3985  def __repr__(self):
3986  r"""__repr__(BoundingBox6D self) -> std::string"""
3987  return _IMP_algebra.BoundingBox6D___repr__(self)
3988 
3989  def __cmp__(self, arg2):
3990  r"""__cmp__(BoundingBox6D self, BoundingBox6D arg2) -> int"""
3991  return _IMP_algebra.BoundingBox6D___cmp__(self, arg2)
3992 
3993  def __eq__(self, arg2):
3994  r"""__eq__(BoundingBox6D self, BoundingBox6D arg2) -> bool"""
3995  return _IMP_algebra.BoundingBox6D___eq__(self, arg2)
3996 
3997  def __init__(self, *args):
3998  r"""
3999  __init__(BoundingBox6D self, unsigned int d) -> BoundingBox6D
4000  __init__(BoundingBox6D self, Vector6D lb, Vector6D ub) -> BoundingBox6D
4001  __init__(BoundingBox6D self, Vector6D v) -> BoundingBox6D
4002  __init__(BoundingBox6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & points) -> BoundingBox6D
4003  __init__(BoundingBox6D self) -> BoundingBox6D
4004  """
4005  _IMP_algebra.BoundingBox6D_swiginit(self, _IMP_algebra.new_BoundingBox6D(*args))
4006 
4007  def __getitem__(self, index):
4008  r"""__getitem__(BoundingBox6D self, unsigned int index) -> Vector6D"""
4009  return _IMP_algebra.BoundingBox6D___getitem__(self, index)
4010 
4011  def __iadd__(self, *args):
4012  _IMP_algebra.BoundingBox6D___iadd__(self, *args)
4013  return self
4014 
4015 
4016 
4017  def __len__(self):
4018  r"""__len__(BoundingBox6D self) -> unsigned int"""
4019  return _IMP_algebra.BoundingBox6D___len__(self)
4020 
4021  def __add__(self, *args):
4022  r"""
4023  __add__(BoundingBox6D self, BoundingBox6D o) -> BoundingBox6D
4024  __add__(BoundingBox6D self, Vector6D o) -> BoundingBox6D
4025  __add__(BoundingBox6D self, double o) -> BoundingBox6D
4026  """
4027  return _IMP_algebra.BoundingBox6D___add__(self, *args)
4028 
4029  def _get_as_binary(self):
4030  r"""_get_as_binary(BoundingBox6D self) -> PyObject *"""
4031  return _IMP_algebra.BoundingBox6D__get_as_binary(self)
4032 
4033  def _set_from_binary(self, p):
4034  r"""_set_from_binary(BoundingBox6D self, PyObject * p)"""
4035  return _IMP_algebra.BoundingBox6D__set_from_binary(self, p)
4036 
4037  def __getstate__(self):
4038  p = self._get_as_binary()
4039  if len(self.__dict__) > 1:
4040  d = self.__dict__.copy()
4041  del d['this']
4042  p = (d, p)
4043  return p
4044 
4045  def __setstate__(self, p):
4046  if not hasattr(self, 'this'):
4047  self.__init__()
4048  if isinstance(p, tuple):
4049  d, p = p
4050  self.__dict__.update(d)
4051  return self._set_from_binary(p)
4052 
4053  __swig_destroy__ = _IMP_algebra.delete_BoundingBox6D
4054 
4055 # Register BoundingBox6D in _IMP_algebra:
4056 _IMP_algebra.BoundingBox6D_swigregister(BoundingBox6D)
4057 class BoundingBoxKD(object):
4058  r"""Proxy of C++ IMP::algebra::BoundingBoxD< -1 > class."""
4059 
4060  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4061 
4062  def get_dimension(self):
4063  r"""get_dimension(BoundingBoxKD self) -> unsigned int"""
4064  return _IMP_algebra.BoundingBoxKD_get_dimension(self)
4065 
4066  def get_corner(self, i):
4067  r"""get_corner(BoundingBoxKD self, unsigned int i) -> VectorKD"""
4068  return _IMP_algebra.BoundingBoxKD_get_corner(self, i)
4069 
4070  def get_contains(self, *args):
4071  r"""
4072  get_contains(BoundingBoxKD self, VectorKD o) -> bool
4073  get_contains(BoundingBoxKD self, BoundingBoxKD bb) -> bool
4074  """
4075  return _IMP_algebra.BoundingBoxKD_get_contains(self, *args)
4076 
4077  def show(self, *args):
4078  r"""show(BoundingBoxKD self, _ostream out=std::cout)"""
4079  return _IMP_algebra.BoundingBoxKD_show(self, *args)
4080 
4081  def __str__(self):
4082  r"""__str__(BoundingBoxKD self) -> std::string"""
4083  return _IMP_algebra.BoundingBoxKD___str__(self)
4084 
4085  def __repr__(self):
4086  r"""__repr__(BoundingBoxKD self) -> std::string"""
4087  return _IMP_algebra.BoundingBoxKD___repr__(self)
4088 
4089  def __cmp__(self, arg2):
4090  r"""__cmp__(BoundingBoxKD self, BoundingBoxKD arg2) -> int"""
4091  return _IMP_algebra.BoundingBoxKD___cmp__(self, arg2)
4092 
4093  def __eq__(self, arg2):
4094  r"""__eq__(BoundingBoxKD self, BoundingBoxKD arg2) -> bool"""
4095  return _IMP_algebra.BoundingBoxKD___eq__(self, arg2)
4096 
4097  def __init__(self, *args):
4098  r"""
4099  __init__(BoundingBoxKD self, unsigned int d) -> BoundingBoxKD
4100  __init__(BoundingBoxKD self, VectorKD lb, VectorKD ub) -> BoundingBoxKD
4101  __init__(BoundingBoxKD self, VectorKD v) -> BoundingBoxKD
4102  __init__(BoundingBoxKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & points) -> BoundingBoxKD
4103  __init__(BoundingBoxKD self) -> BoundingBoxKD
4104  """
4105  _IMP_algebra.BoundingBoxKD_swiginit(self, _IMP_algebra.new_BoundingBoxKD(*args))
4106 
4107  def __getitem__(self, index):
4108  r"""__getitem__(BoundingBoxKD self, unsigned int index) -> VectorKD"""
4109  return _IMP_algebra.BoundingBoxKD___getitem__(self, index)
4110 
4111  def __iadd__(self, *args):
4112  _IMP_algebra.BoundingBoxKD___iadd__(self, *args)
4113  return self
4114 
4115 
4116 
4117  def __len__(self):
4118  r"""__len__(BoundingBoxKD self) -> unsigned int"""
4119  return _IMP_algebra.BoundingBoxKD___len__(self)
4120 
4121  def __add__(self, *args):
4122  r"""
4123  __add__(BoundingBoxKD self, BoundingBoxKD o) -> BoundingBoxKD
4124  __add__(BoundingBoxKD self, VectorKD o) -> BoundingBoxKD
4125  __add__(BoundingBoxKD self, double o) -> BoundingBoxKD
4126  """
4127  return _IMP_algebra.BoundingBoxKD___add__(self, *args)
4128 
4129  def _get_as_binary(self):
4130  r"""_get_as_binary(BoundingBoxKD self) -> PyObject *"""
4131  return _IMP_algebra.BoundingBoxKD__get_as_binary(self)
4132 
4133  def _set_from_binary(self, p):
4134  r"""_set_from_binary(BoundingBoxKD self, PyObject * p)"""
4135  return _IMP_algebra.BoundingBoxKD__set_from_binary(self, p)
4136 
4137  def __getstate__(self):
4138  p = self._get_as_binary()
4139  if len(self.__dict__) > 1:
4140  d = self.__dict__.copy()
4141  del d['this']
4142  p = (d, p)
4143  return p
4144 
4145  def __setstate__(self, p):
4146  if not hasattr(self, 'this'):
4147  self.__init__()
4148  if isinstance(p, tuple):
4149  d, p = p
4150  self.__dict__.update(d)
4151  return self._set_from_binary(p)
4152 
4153  __swig_destroy__ = _IMP_algebra.delete_BoundingBoxKD
4154 
4155 # Register BoundingBoxKD in _IMP_algebra:
4156 _IMP_algebra.BoundingBoxKD_swigregister(BoundingBoxKD)
4157 class Sphere1D(_GeometricPrimitive1D):
4158  r"""Proxy of C++ IMP::algebra::SphereD< 1 > class."""
4159 
4160  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4161 
4162  def __init__(self, *args):
4163  r"""
4164  __init__(Sphere1D self) -> Sphere1D
4165  __init__(Sphere1D self, Vector1D center, double radius) -> Sphere1D
4166  """
4167  _IMP_algebra.Sphere1D_swiginit(self, _IMP_algebra.new_Sphere1D(*args))
4168 
4169  def get_radius(self):
4170  r"""get_radius(Sphere1D self) -> double"""
4171  return _IMP_algebra.Sphere1D_get_radius(self)
4172 
4173  def get_center(self):
4174  r"""get_center(Sphere1D self) -> Vector1D"""
4175  return _IMP_algebra.Sphere1D_get_center(self)
4176 
4177  def get_contains(self, *args):
4178  r"""
4179  get_contains(Sphere1D self, Sphere1D o) -> bool
4180  get_contains(Sphere1D self, Vector1D p) -> bool
4181  """
4182  return _IMP_algebra.Sphere1D_get_contains(self, *args)
4183 
4184  def show(self, *args):
4185  r"""show(Sphere1D self, _ostream out=std::cout)"""
4186  return _IMP_algebra.Sphere1D_show(self, *args)
4187 
4188  def get_dimension(self):
4189  r"""get_dimension(Sphere1D self) -> unsigned int"""
4190  return _IMP_algebra.Sphere1D_get_dimension(self)
4191 
4192  def __str__(self):
4193  r"""__str__(Sphere1D self) -> std::string"""
4194  return _IMP_algebra.Sphere1D___str__(self)
4195 
4196  def __repr__(self):
4197  r"""__repr__(Sphere1D self) -> std::string"""
4198  return _IMP_algebra.Sphere1D___repr__(self)
4199 
4200  def __cmp__(self, arg2):
4201  r"""__cmp__(Sphere1D self, Sphere1D arg2) -> int"""
4202  return _IMP_algebra.Sphere1D___cmp__(self, arg2)
4203 
4204  def __eq__(self, arg2):
4205  r"""__eq__(Sphere1D self, Sphere1D arg2) -> bool"""
4206  return _IMP_algebra.Sphere1D___eq__(self, arg2)
4207 
4208  def _get_as_binary(self):
4209  r"""_get_as_binary(Sphere1D self) -> PyObject *"""
4210  return _IMP_algebra.Sphere1D__get_as_binary(self)
4211 
4212  def _set_from_binary(self, p):
4213  r"""_set_from_binary(Sphere1D self, PyObject * p)"""
4214  return _IMP_algebra.Sphere1D__set_from_binary(self, p)
4215 
4216  def __getstate__(self):
4217  p = self._get_as_binary()
4218  if len(self.__dict__) > 1:
4219  d = self.__dict__.copy()
4220  del d['this']
4221  p = (d, p)
4222  return p
4223 
4224  def __setstate__(self, p):
4225  if not hasattr(self, 'this'):
4226  self.__init__()
4227  if isinstance(p, tuple):
4228  d, p = p
4229  self.__dict__.update(d)
4230  return self._set_from_binary(p)
4231 
4232  __swig_destroy__ = _IMP_algebra.delete_Sphere1D
4233 
4234 # Register Sphere1D in _IMP_algebra:
4235 _IMP_algebra.Sphere1D_swigregister(Sphere1D)
4236 class Sphere2D(_GeometricPrimitive2D):
4237  r"""Proxy of C++ IMP::algebra::SphereD< 2 > class."""
4238 
4239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4240 
4241  def __init__(self, *args):
4242  r"""
4243  __init__(Sphere2D self) -> Sphere2D
4244  __init__(Sphere2D self, Vector2D center, double radius) -> Sphere2D
4245  """
4246  _IMP_algebra.Sphere2D_swiginit(self, _IMP_algebra.new_Sphere2D(*args))
4247 
4248  def get_radius(self):
4249  r"""get_radius(Sphere2D self) -> double"""
4250  return _IMP_algebra.Sphere2D_get_radius(self)
4251 
4252  def get_center(self):
4253  r"""get_center(Sphere2D self) -> Vector2D"""
4254  return _IMP_algebra.Sphere2D_get_center(self)
4255 
4256  def get_contains(self, *args):
4257  r"""
4258  get_contains(Sphere2D self, Sphere2D o) -> bool
4259  get_contains(Sphere2D self, Vector2D p) -> bool
4260  """
4261  return _IMP_algebra.Sphere2D_get_contains(self, *args)
4262 
4263  def show(self, *args):
4264  r"""show(Sphere2D self, _ostream out=std::cout)"""
4265  return _IMP_algebra.Sphere2D_show(self, *args)
4266 
4267  def get_dimension(self):
4268  r"""get_dimension(Sphere2D self) -> unsigned int"""
4269  return _IMP_algebra.Sphere2D_get_dimension(self)
4270 
4271  def __str__(self):
4272  r"""__str__(Sphere2D self) -> std::string"""
4273  return _IMP_algebra.Sphere2D___str__(self)
4274 
4275  def __repr__(self):
4276  r"""__repr__(Sphere2D self) -> std::string"""
4277  return _IMP_algebra.Sphere2D___repr__(self)
4278 
4279  def __cmp__(self, arg2):
4280  r"""__cmp__(Sphere2D self, Sphere2D arg2) -> int"""
4281  return _IMP_algebra.Sphere2D___cmp__(self, arg2)
4282 
4283  def __eq__(self, arg2):
4284  r"""__eq__(Sphere2D self, Sphere2D arg2) -> bool"""
4285  return _IMP_algebra.Sphere2D___eq__(self, arg2)
4286 
4287  def _get_as_binary(self):
4288  r"""_get_as_binary(Sphere2D self) -> PyObject *"""
4289  return _IMP_algebra.Sphere2D__get_as_binary(self)
4290 
4291  def _set_from_binary(self, p):
4292  r"""_set_from_binary(Sphere2D self, PyObject * p)"""
4293  return _IMP_algebra.Sphere2D__set_from_binary(self, p)
4294 
4295  def __getstate__(self):
4296  p = self._get_as_binary()
4297  if len(self.__dict__) > 1:
4298  d = self.__dict__.copy()
4299  del d['this']
4300  p = (d, p)
4301  return p
4302 
4303  def __setstate__(self, p):
4304  if not hasattr(self, 'this'):
4305  self.__init__()
4306  if isinstance(p, tuple):
4307  d, p = p
4308  self.__dict__.update(d)
4309  return self._set_from_binary(p)
4310 
4311  __swig_destroy__ = _IMP_algebra.delete_Sphere2D
4312 
4313 # Register Sphere2D in _IMP_algebra:
4314 _IMP_algebra.Sphere2D_swigregister(Sphere2D)
4315 class Sphere3D(_GeometricPrimitive3D):
4316  r"""Proxy of C++ IMP::algebra::SphereD< 3 > class."""
4317 
4318  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4319 
4320  def __init__(self, *args):
4321  r"""
4322  __init__(Sphere3D self) -> Sphere3D
4323  __init__(Sphere3D self, Vector3D center, double radius) -> Sphere3D
4324  """
4325  _IMP_algebra.Sphere3D_swiginit(self, _IMP_algebra.new_Sphere3D(*args))
4326 
4327  def get_radius(self):
4328  r"""get_radius(Sphere3D self) -> double"""
4329  return _IMP_algebra.Sphere3D_get_radius(self)
4330 
4331  def get_center(self):
4332  r"""get_center(Sphere3D self) -> Vector3D"""
4333  return _IMP_algebra.Sphere3D_get_center(self)
4334 
4335  def get_contains(self, *args):
4336  r"""
4337  get_contains(Sphere3D self, Sphere3D o) -> bool
4338  get_contains(Sphere3D self, Vector3D p) -> bool
4339  """
4340  return _IMP_algebra.Sphere3D_get_contains(self, *args)
4341 
4342  def show(self, *args):
4343  r"""show(Sphere3D self, _ostream out=std::cout)"""
4344  return _IMP_algebra.Sphere3D_show(self, *args)
4345 
4346  def get_dimension(self):
4347  r"""get_dimension(Sphere3D self) -> unsigned int"""
4348  return _IMP_algebra.Sphere3D_get_dimension(self)
4349 
4350  def __str__(self):
4351  r"""__str__(Sphere3D self) -> std::string"""
4352  return _IMP_algebra.Sphere3D___str__(self)
4353 
4354  def __repr__(self):
4355  r"""__repr__(Sphere3D self) -> std::string"""
4356  return _IMP_algebra.Sphere3D___repr__(self)
4357 
4358  def __cmp__(self, arg2):
4359  r"""__cmp__(Sphere3D self, Sphere3D arg2) -> int"""
4360  return _IMP_algebra.Sphere3D___cmp__(self, arg2)
4361 
4362  def __eq__(self, arg2):
4363  r"""__eq__(Sphere3D self, Sphere3D arg2) -> bool"""
4364  return _IMP_algebra.Sphere3D___eq__(self, arg2)
4365 
4366  def _get_as_binary(self):
4367  r"""_get_as_binary(Sphere3D self) -> PyObject *"""
4368  return _IMP_algebra.Sphere3D__get_as_binary(self)
4369 
4370  def _set_from_binary(self, p):
4371  r"""_set_from_binary(Sphere3D self, PyObject * p)"""
4372  return _IMP_algebra.Sphere3D__set_from_binary(self, p)
4373 
4374  def __getstate__(self):
4375  p = self._get_as_binary()
4376  if len(self.__dict__) > 1:
4377  d = self.__dict__.copy()
4378  del d['this']
4379  p = (d, p)
4380  return p
4381 
4382  def __setstate__(self, p):
4383  if not hasattr(self, 'this'):
4384  self.__init__()
4385  if isinstance(p, tuple):
4386  d, p = p
4387  self.__dict__.update(d)
4388  return self._set_from_binary(p)
4389 
4390  __swig_destroy__ = _IMP_algebra.delete_Sphere3D
4391 
4392 # Register Sphere3D in _IMP_algebra:
4393 _IMP_algebra.Sphere3D_swigregister(Sphere3D)
4394 class Sphere4D(_GeometricPrimitive4D):
4395  r"""Proxy of C++ IMP::algebra::SphereD< 4 > class."""
4396 
4397  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4398 
4399  def __init__(self, *args):
4400  r"""
4401  __init__(Sphere4D self) -> Sphere4D
4402  __init__(Sphere4D self, Vector4D center, double radius) -> Sphere4D
4403  """
4404  _IMP_algebra.Sphere4D_swiginit(self, _IMP_algebra.new_Sphere4D(*args))
4405 
4406  def get_radius(self):
4407  r"""get_radius(Sphere4D self) -> double"""
4408  return _IMP_algebra.Sphere4D_get_radius(self)
4409 
4410  def get_center(self):
4411  r"""get_center(Sphere4D self) -> Vector4D"""
4412  return _IMP_algebra.Sphere4D_get_center(self)
4413 
4414  def get_contains(self, *args):
4415  r"""
4416  get_contains(Sphere4D self, Sphere4D o) -> bool
4417  get_contains(Sphere4D self, Vector4D p) -> bool
4418  """
4419  return _IMP_algebra.Sphere4D_get_contains(self, *args)
4420 
4421  def show(self, *args):
4422  r"""show(Sphere4D self, _ostream out=std::cout)"""
4423  return _IMP_algebra.Sphere4D_show(self, *args)
4424 
4425  def get_dimension(self):
4426  r"""get_dimension(Sphere4D self) -> unsigned int"""
4427  return _IMP_algebra.Sphere4D_get_dimension(self)
4428 
4429  def __str__(self):
4430  r"""__str__(Sphere4D self) -> std::string"""
4431  return _IMP_algebra.Sphere4D___str__(self)
4432 
4433  def __repr__(self):
4434  r"""__repr__(Sphere4D self) -> std::string"""
4435  return _IMP_algebra.Sphere4D___repr__(self)
4436 
4437  def __cmp__(self, arg2):
4438  r"""__cmp__(Sphere4D self, Sphere4D arg2) -> int"""
4439  return _IMP_algebra.Sphere4D___cmp__(self, arg2)
4440 
4441  def __eq__(self, arg2):
4442  r"""__eq__(Sphere4D self, Sphere4D arg2) -> bool"""
4443  return _IMP_algebra.Sphere4D___eq__(self, arg2)
4444 
4445  def _get_as_binary(self):
4446  r"""_get_as_binary(Sphere4D self) -> PyObject *"""
4447  return _IMP_algebra.Sphere4D__get_as_binary(self)
4448 
4449  def _set_from_binary(self, p):
4450  r"""_set_from_binary(Sphere4D self, PyObject * p)"""
4451  return _IMP_algebra.Sphere4D__set_from_binary(self, p)
4452 
4453  def __getstate__(self):
4454  p = self._get_as_binary()
4455  if len(self.__dict__) > 1:
4456  d = self.__dict__.copy()
4457  del d['this']
4458  p = (d, p)
4459  return p
4460 
4461  def __setstate__(self, p):
4462  if not hasattr(self, 'this'):
4463  self.__init__()
4464  if isinstance(p, tuple):
4465  d, p = p
4466  self.__dict__.update(d)
4467  return self._set_from_binary(p)
4468 
4469  __swig_destroy__ = _IMP_algebra.delete_Sphere4D
4470 
4471 # Register Sphere4D in _IMP_algebra:
4472 _IMP_algebra.Sphere4D_swigregister(Sphere4D)
4473 class Sphere5D(_GeometricPrimitive5D):
4474  r"""Proxy of C++ IMP::algebra::SphereD< 5 > class."""
4475 
4476  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4477 
4478  def __init__(self, *args):
4479  r"""
4480  __init__(Sphere5D self) -> Sphere5D
4481  __init__(Sphere5D self, Vector5D center, double radius) -> Sphere5D
4482  """
4483  _IMP_algebra.Sphere5D_swiginit(self, _IMP_algebra.new_Sphere5D(*args))
4484 
4485  def get_radius(self):
4486  r"""get_radius(Sphere5D self) -> double"""
4487  return _IMP_algebra.Sphere5D_get_radius(self)
4488 
4489  def get_center(self):
4490  r"""get_center(Sphere5D self) -> Vector5D"""
4491  return _IMP_algebra.Sphere5D_get_center(self)
4492 
4493  def get_contains(self, *args):
4494  r"""
4495  get_contains(Sphere5D self, Sphere5D o) -> bool
4496  get_contains(Sphere5D self, Vector5D p) -> bool
4497  """
4498  return _IMP_algebra.Sphere5D_get_contains(self, *args)
4499 
4500  def show(self, *args):
4501  r"""show(Sphere5D self, _ostream out=std::cout)"""
4502  return _IMP_algebra.Sphere5D_show(self, *args)
4503 
4504  def get_dimension(self):
4505  r"""get_dimension(Sphere5D self) -> unsigned int"""
4506  return _IMP_algebra.Sphere5D_get_dimension(self)
4507 
4508  def __str__(self):
4509  r"""__str__(Sphere5D self) -> std::string"""
4510  return _IMP_algebra.Sphere5D___str__(self)
4511 
4512  def __repr__(self):
4513  r"""__repr__(Sphere5D self) -> std::string"""
4514  return _IMP_algebra.Sphere5D___repr__(self)
4515 
4516  def __cmp__(self, arg2):
4517  r"""__cmp__(Sphere5D self, Sphere5D arg2) -> int"""
4518  return _IMP_algebra.Sphere5D___cmp__(self, arg2)
4519 
4520  def __eq__(self, arg2):
4521  r"""__eq__(Sphere5D self, Sphere5D arg2) -> bool"""
4522  return _IMP_algebra.Sphere5D___eq__(self, arg2)
4523 
4524  def _get_as_binary(self):
4525  r"""_get_as_binary(Sphere5D self) -> PyObject *"""
4526  return _IMP_algebra.Sphere5D__get_as_binary(self)
4527 
4528  def _set_from_binary(self, p):
4529  r"""_set_from_binary(Sphere5D self, PyObject * p)"""
4530  return _IMP_algebra.Sphere5D__set_from_binary(self, p)
4531 
4532  def __getstate__(self):
4533  p = self._get_as_binary()
4534  if len(self.__dict__) > 1:
4535  d = self.__dict__.copy()
4536  del d['this']
4537  p = (d, p)
4538  return p
4539 
4540  def __setstate__(self, p):
4541  if not hasattr(self, 'this'):
4542  self.__init__()
4543  if isinstance(p, tuple):
4544  d, p = p
4545  self.__dict__.update(d)
4546  return self._set_from_binary(p)
4547 
4548  __swig_destroy__ = _IMP_algebra.delete_Sphere5D
4549 
4550 # Register Sphere5D in _IMP_algebra:
4551 _IMP_algebra.Sphere5D_swigregister(Sphere5D)
4552 class Sphere6D(_GeometricPrimitive6D):
4553  r"""Proxy of C++ IMP::algebra::SphereD< 6 > class."""
4554 
4555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4556 
4557  def __init__(self, *args):
4558  r"""
4559  __init__(Sphere6D self) -> Sphere6D
4560  __init__(Sphere6D self, Vector6D center, double radius) -> Sphere6D
4561  """
4562  _IMP_algebra.Sphere6D_swiginit(self, _IMP_algebra.new_Sphere6D(*args))
4563 
4564  def get_radius(self):
4565  r"""get_radius(Sphere6D self) -> double"""
4566  return _IMP_algebra.Sphere6D_get_radius(self)
4567 
4568  def get_center(self):
4569  r"""get_center(Sphere6D self) -> Vector6D"""
4570  return _IMP_algebra.Sphere6D_get_center(self)
4571 
4572  def get_contains(self, *args):
4573  r"""
4574  get_contains(Sphere6D self, Sphere6D o) -> bool
4575  get_contains(Sphere6D self, Vector6D p) -> bool
4576  """
4577  return _IMP_algebra.Sphere6D_get_contains(self, *args)
4578 
4579  def show(self, *args):
4580  r"""show(Sphere6D self, _ostream out=std::cout)"""
4581  return _IMP_algebra.Sphere6D_show(self, *args)
4582 
4583  def get_dimension(self):
4584  r"""get_dimension(Sphere6D self) -> unsigned int"""
4585  return _IMP_algebra.Sphere6D_get_dimension(self)
4586 
4587  def __str__(self):
4588  r"""__str__(Sphere6D self) -> std::string"""
4589  return _IMP_algebra.Sphere6D___str__(self)
4590 
4591  def __repr__(self):
4592  r"""__repr__(Sphere6D self) -> std::string"""
4593  return _IMP_algebra.Sphere6D___repr__(self)
4594 
4595  def __cmp__(self, arg2):
4596  r"""__cmp__(Sphere6D self, Sphere6D arg2) -> int"""
4597  return _IMP_algebra.Sphere6D___cmp__(self, arg2)
4598 
4599  def __eq__(self, arg2):
4600  r"""__eq__(Sphere6D self, Sphere6D arg2) -> bool"""
4601  return _IMP_algebra.Sphere6D___eq__(self, arg2)
4602 
4603  def _get_as_binary(self):
4604  r"""_get_as_binary(Sphere6D self) -> PyObject *"""
4605  return _IMP_algebra.Sphere6D__get_as_binary(self)
4606 
4607  def _set_from_binary(self, p):
4608  r"""_set_from_binary(Sphere6D self, PyObject * p)"""
4609  return _IMP_algebra.Sphere6D__set_from_binary(self, p)
4610 
4611  def __getstate__(self):
4612  p = self._get_as_binary()
4613  if len(self.__dict__) > 1:
4614  d = self.__dict__.copy()
4615  del d['this']
4616  p = (d, p)
4617  return p
4618 
4619  def __setstate__(self, p):
4620  if not hasattr(self, 'this'):
4621  self.__init__()
4622  if isinstance(p, tuple):
4623  d, p = p
4624  self.__dict__.update(d)
4625  return self._set_from_binary(p)
4626 
4627  __swig_destroy__ = _IMP_algebra.delete_Sphere6D
4628 
4629 # Register Sphere6D in _IMP_algebra:
4630 _IMP_algebra.Sphere6D_swigregister(Sphere6D)
4631 class SphereKD(_GeometricPrimitiveKD):
4632  r"""Proxy of C++ IMP::algebra::SphereD< -1 > class."""
4633 
4634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4635 
4636  def __init__(self, *args):
4637  r"""
4638  __init__(SphereKD self) -> SphereKD
4639  __init__(SphereKD self, VectorKD center, double radius) -> SphereKD
4640  """
4641  _IMP_algebra.SphereKD_swiginit(self, _IMP_algebra.new_SphereKD(*args))
4642 
4643  def get_radius(self):
4644  r"""get_radius(SphereKD self) -> double"""
4645  return _IMP_algebra.SphereKD_get_radius(self)
4646 
4647  def get_center(self):
4648  r"""get_center(SphereKD self) -> VectorKD"""
4649  return _IMP_algebra.SphereKD_get_center(self)
4650 
4651  def get_contains(self, *args):
4652  r"""
4653  get_contains(SphereKD self, SphereKD o) -> bool
4654  get_contains(SphereKD self, VectorKD p) -> bool
4655  """
4656  return _IMP_algebra.SphereKD_get_contains(self, *args)
4657 
4658  def show(self, *args):
4659  r"""show(SphereKD self, _ostream out=std::cout)"""
4660  return _IMP_algebra.SphereKD_show(self, *args)
4661 
4662  def get_dimension(self):
4663  r"""get_dimension(SphereKD self) -> unsigned int"""
4664  return _IMP_algebra.SphereKD_get_dimension(self)
4665 
4666  def __str__(self):
4667  r"""__str__(SphereKD self) -> std::string"""
4668  return _IMP_algebra.SphereKD___str__(self)
4669 
4670  def __repr__(self):
4671  r"""__repr__(SphereKD self) -> std::string"""
4672  return _IMP_algebra.SphereKD___repr__(self)
4673 
4674  def __cmp__(self, arg2):
4675  r"""__cmp__(SphereKD self, SphereKD arg2) -> int"""
4676  return _IMP_algebra.SphereKD___cmp__(self, arg2)
4677 
4678  def __eq__(self, arg2):
4679  r"""__eq__(SphereKD self, SphereKD arg2) -> bool"""
4680  return _IMP_algebra.SphereKD___eq__(self, arg2)
4681 
4682  def _get_as_binary(self):
4683  r"""_get_as_binary(SphereKD self) -> PyObject *"""
4684  return _IMP_algebra.SphereKD__get_as_binary(self)
4685 
4686  def _set_from_binary(self, p):
4687  r"""_set_from_binary(SphereKD self, PyObject * p)"""
4688  return _IMP_algebra.SphereKD__set_from_binary(self, p)
4689 
4690  def __getstate__(self):
4691  p = self._get_as_binary()
4692  if len(self.__dict__) > 1:
4693  d = self.__dict__.copy()
4694  del d['this']
4695  p = (d, p)
4696  return p
4697 
4698  def __setstate__(self, p):
4699  if not hasattr(self, 'this'):
4700  self.__init__()
4701  if isinstance(p, tuple):
4702  d, p = p
4703  self.__dict__.update(d)
4704  return self._set_from_binary(p)
4705 
4706  __swig_destroy__ = _IMP_algebra.delete_SphereKD
4707 
4708 # Register SphereKD in _IMP_algebra:
4709 _IMP_algebra.SphereKD_swigregister(SphereKD)
4710 class UnitSimplex1D(_UnitSimplexBase1D):
4711  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 1 > class."""
4712 
4713  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4714 
4715  def __init__(self):
4716  r"""__init__(UnitSimplex1D self) -> UnitSimplex1D"""
4717  _IMP_algebra.UnitSimplex1D_swiginit(self, _IMP_algebra.new_UnitSimplex1D())
4718 
4719  def show(self, *args):
4720  r"""show(UnitSimplex1D self, _ostream out=std::cout)"""
4721  return _IMP_algebra.UnitSimplex1D_show(self, *args)
4722 
4723  def __str__(self):
4724  r"""__str__(UnitSimplex1D self) -> std::string"""
4725  return _IMP_algebra.UnitSimplex1D___str__(self)
4726 
4727  def __repr__(self):
4728  r"""__repr__(UnitSimplex1D self) -> std::string"""
4729  return _IMP_algebra.UnitSimplex1D___repr__(self)
4730 
4731  def __cmp__(self, arg2):
4732  r"""__cmp__(UnitSimplex1D self, UnitSimplex1D arg2) -> int"""
4733  return _IMP_algebra.UnitSimplex1D___cmp__(self, arg2)
4734 
4735  def __eq__(self, arg2):
4736  r"""__eq__(UnitSimplex1D self, UnitSimplex1D arg2) -> bool"""
4737  return _IMP_algebra.UnitSimplex1D___eq__(self, arg2)
4738 
4739  def _get_as_binary(self):
4740  r"""_get_as_binary(UnitSimplex1D self) -> PyObject *"""
4741  return _IMP_algebra.UnitSimplex1D__get_as_binary(self)
4742 
4743  def _set_from_binary(self, p):
4744  r"""_set_from_binary(UnitSimplex1D self, PyObject * p)"""
4745  return _IMP_algebra.UnitSimplex1D__set_from_binary(self, p)
4746 
4747  def __getstate__(self):
4748  p = self._get_as_binary()
4749  if len(self.__dict__) > 1:
4750  d = self.__dict__.copy()
4751  del d['this']
4752  p = (d, p)
4753  return p
4754 
4755  def __setstate__(self, p):
4756  if not hasattr(self, 'this'):
4757  self.__init__()
4758  if isinstance(p, tuple):
4759  d, p = p
4760  self.__dict__.update(d)
4761  return self._set_from_binary(p)
4762 
4763  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex1D
4764 
4765 # Register UnitSimplex1D in _IMP_algebra:
4766 _IMP_algebra.UnitSimplex1D_swigregister(UnitSimplex1D)
4767 class UnitSimplex2D(_UnitSimplexBase2D):
4768  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 2 > class."""
4769 
4770  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4771 
4772  def __init__(self):
4773  r"""__init__(UnitSimplex2D self) -> UnitSimplex2D"""
4774  _IMP_algebra.UnitSimplex2D_swiginit(self, _IMP_algebra.new_UnitSimplex2D())
4775 
4776  def show(self, *args):
4777  r"""show(UnitSimplex2D self, _ostream out=std::cout)"""
4778  return _IMP_algebra.UnitSimplex2D_show(self, *args)
4779 
4780  def __str__(self):
4781  r"""__str__(UnitSimplex2D self) -> std::string"""
4782  return _IMP_algebra.UnitSimplex2D___str__(self)
4783 
4784  def __repr__(self):
4785  r"""__repr__(UnitSimplex2D self) -> std::string"""
4786  return _IMP_algebra.UnitSimplex2D___repr__(self)
4787 
4788  def __cmp__(self, arg2):
4789  r"""__cmp__(UnitSimplex2D self, UnitSimplex2D arg2) -> int"""
4790  return _IMP_algebra.UnitSimplex2D___cmp__(self, arg2)
4791 
4792  def __eq__(self, arg2):
4793  r"""__eq__(UnitSimplex2D self, UnitSimplex2D arg2) -> bool"""
4794  return _IMP_algebra.UnitSimplex2D___eq__(self, arg2)
4795 
4796  def _get_as_binary(self):
4797  r"""_get_as_binary(UnitSimplex2D self) -> PyObject *"""
4798  return _IMP_algebra.UnitSimplex2D__get_as_binary(self)
4799 
4800  def _set_from_binary(self, p):
4801  r"""_set_from_binary(UnitSimplex2D self, PyObject * p)"""
4802  return _IMP_algebra.UnitSimplex2D__set_from_binary(self, p)
4803 
4804  def __getstate__(self):
4805  p = self._get_as_binary()
4806  if len(self.__dict__) > 1:
4807  d = self.__dict__.copy()
4808  del d['this']
4809  p = (d, p)
4810  return p
4811 
4812  def __setstate__(self, p):
4813  if not hasattr(self, 'this'):
4814  self.__init__()
4815  if isinstance(p, tuple):
4816  d, p = p
4817  self.__dict__.update(d)
4818  return self._set_from_binary(p)
4819 
4820  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex2D
4821 
4822 # Register UnitSimplex2D in _IMP_algebra:
4823 _IMP_algebra.UnitSimplex2D_swigregister(UnitSimplex2D)
4824 class UnitSimplex3D(_UnitSimplexBase3D):
4825  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 3 > class."""
4826 
4827  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4828 
4829  def __init__(self):
4830  r"""__init__(UnitSimplex3D self) -> UnitSimplex3D"""
4831  _IMP_algebra.UnitSimplex3D_swiginit(self, _IMP_algebra.new_UnitSimplex3D())
4832 
4833  def show(self, *args):
4834  r"""show(UnitSimplex3D self, _ostream out=std::cout)"""
4835  return _IMP_algebra.UnitSimplex3D_show(self, *args)
4836 
4837  def __str__(self):
4838  r"""__str__(UnitSimplex3D self) -> std::string"""
4839  return _IMP_algebra.UnitSimplex3D___str__(self)
4840 
4841  def __repr__(self):
4842  r"""__repr__(UnitSimplex3D self) -> std::string"""
4843  return _IMP_algebra.UnitSimplex3D___repr__(self)
4844 
4845  def __cmp__(self, arg2):
4846  r"""__cmp__(UnitSimplex3D self, UnitSimplex3D arg2) -> int"""
4847  return _IMP_algebra.UnitSimplex3D___cmp__(self, arg2)
4848 
4849  def __eq__(self, arg2):
4850  r"""__eq__(UnitSimplex3D self, UnitSimplex3D arg2) -> bool"""
4851  return _IMP_algebra.UnitSimplex3D___eq__(self, arg2)
4852 
4853  def _get_as_binary(self):
4854  r"""_get_as_binary(UnitSimplex3D self) -> PyObject *"""
4855  return _IMP_algebra.UnitSimplex3D__get_as_binary(self)
4856 
4857  def _set_from_binary(self, p):
4858  r"""_set_from_binary(UnitSimplex3D self, PyObject * p)"""
4859  return _IMP_algebra.UnitSimplex3D__set_from_binary(self, p)
4860 
4861  def __getstate__(self):
4862  p = self._get_as_binary()
4863  if len(self.__dict__) > 1:
4864  d = self.__dict__.copy()
4865  del d['this']
4866  p = (d, p)
4867  return p
4868 
4869  def __setstate__(self, p):
4870  if not hasattr(self, 'this'):
4871  self.__init__()
4872  if isinstance(p, tuple):
4873  d, p = p
4874  self.__dict__.update(d)
4875  return self._set_from_binary(p)
4876 
4877  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex3D
4878 
4879 # Register UnitSimplex3D in _IMP_algebra:
4880 _IMP_algebra.UnitSimplex3D_swigregister(UnitSimplex3D)
4881 class UnitSimplex4D(_UnitSimplexBase4D):
4882  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 4 > class."""
4883 
4884  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4885 
4886  def __init__(self):
4887  r"""__init__(UnitSimplex4D self) -> UnitSimplex4D"""
4888  _IMP_algebra.UnitSimplex4D_swiginit(self, _IMP_algebra.new_UnitSimplex4D())
4889 
4890  def show(self, *args):
4891  r"""show(UnitSimplex4D self, _ostream out=std::cout)"""
4892  return _IMP_algebra.UnitSimplex4D_show(self, *args)
4893 
4894  def __str__(self):
4895  r"""__str__(UnitSimplex4D self) -> std::string"""
4896  return _IMP_algebra.UnitSimplex4D___str__(self)
4897 
4898  def __repr__(self):
4899  r"""__repr__(UnitSimplex4D self) -> std::string"""
4900  return _IMP_algebra.UnitSimplex4D___repr__(self)
4901 
4902  def __cmp__(self, arg2):
4903  r"""__cmp__(UnitSimplex4D self, UnitSimplex4D arg2) -> int"""
4904  return _IMP_algebra.UnitSimplex4D___cmp__(self, arg2)
4905 
4906  def __eq__(self, arg2):
4907  r"""__eq__(UnitSimplex4D self, UnitSimplex4D arg2) -> bool"""
4908  return _IMP_algebra.UnitSimplex4D___eq__(self, arg2)
4909 
4910  def _get_as_binary(self):
4911  r"""_get_as_binary(UnitSimplex4D self) -> PyObject *"""
4912  return _IMP_algebra.UnitSimplex4D__get_as_binary(self)
4913 
4914  def _set_from_binary(self, p):
4915  r"""_set_from_binary(UnitSimplex4D self, PyObject * p)"""
4916  return _IMP_algebra.UnitSimplex4D__set_from_binary(self, p)
4917 
4918  def __getstate__(self):
4919  p = self._get_as_binary()
4920  if len(self.__dict__) > 1:
4921  d = self.__dict__.copy()
4922  del d['this']
4923  p = (d, p)
4924  return p
4925 
4926  def __setstate__(self, p):
4927  if not hasattr(self, 'this'):
4928  self.__init__()
4929  if isinstance(p, tuple):
4930  d, p = p
4931  self.__dict__.update(d)
4932  return self._set_from_binary(p)
4933 
4934  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex4D
4935 
4936 # Register UnitSimplex4D in _IMP_algebra:
4937 _IMP_algebra.UnitSimplex4D_swigregister(UnitSimplex4D)
4938 class UnitSimplex5D(_UnitSimplexBase5D):
4939  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 5 > class."""
4940 
4941  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4942 
4943  def __init__(self):
4944  r"""__init__(UnitSimplex5D self) -> UnitSimplex5D"""
4945  _IMP_algebra.UnitSimplex5D_swiginit(self, _IMP_algebra.new_UnitSimplex5D())
4946 
4947  def show(self, *args):
4948  r"""show(UnitSimplex5D self, _ostream out=std::cout)"""
4949  return _IMP_algebra.UnitSimplex5D_show(self, *args)
4950 
4951  def __str__(self):
4952  r"""__str__(UnitSimplex5D self) -> std::string"""
4953  return _IMP_algebra.UnitSimplex5D___str__(self)
4954 
4955  def __repr__(self):
4956  r"""__repr__(UnitSimplex5D self) -> std::string"""
4957  return _IMP_algebra.UnitSimplex5D___repr__(self)
4958 
4959  def __cmp__(self, arg2):
4960  r"""__cmp__(UnitSimplex5D self, UnitSimplex5D arg2) -> int"""
4961  return _IMP_algebra.UnitSimplex5D___cmp__(self, arg2)
4962 
4963  def __eq__(self, arg2):
4964  r"""__eq__(UnitSimplex5D self, UnitSimplex5D arg2) -> bool"""
4965  return _IMP_algebra.UnitSimplex5D___eq__(self, arg2)
4966 
4967  def _get_as_binary(self):
4968  r"""_get_as_binary(UnitSimplex5D self) -> PyObject *"""
4969  return _IMP_algebra.UnitSimplex5D__get_as_binary(self)
4970 
4971  def _set_from_binary(self, p):
4972  r"""_set_from_binary(UnitSimplex5D self, PyObject * p)"""
4973  return _IMP_algebra.UnitSimplex5D__set_from_binary(self, p)
4974 
4975  def __getstate__(self):
4976  p = self._get_as_binary()
4977  if len(self.__dict__) > 1:
4978  d = self.__dict__.copy()
4979  del d['this']
4980  p = (d, p)
4981  return p
4982 
4983  def __setstate__(self, p):
4984  if not hasattr(self, 'this'):
4985  self.__init__()
4986  if isinstance(p, tuple):
4987  d, p = p
4988  self.__dict__.update(d)
4989  return self._set_from_binary(p)
4990 
4991  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex5D
4992 
4993 # Register UnitSimplex5D in _IMP_algebra:
4994 _IMP_algebra.UnitSimplex5D_swigregister(UnitSimplex5D)
4995 class UnitSimplex6D(_UnitSimplexBase6D):
4996  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 6 > class."""
4997 
4998  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4999 
5000  def __init__(self):
5001  r"""__init__(UnitSimplex6D self) -> UnitSimplex6D"""
5002  _IMP_algebra.UnitSimplex6D_swiginit(self, _IMP_algebra.new_UnitSimplex6D())
5003 
5004  def show(self, *args):
5005  r"""show(UnitSimplex6D self, _ostream out=std::cout)"""
5006  return _IMP_algebra.UnitSimplex6D_show(self, *args)
5007 
5008  def __str__(self):
5009  r"""__str__(UnitSimplex6D self) -> std::string"""
5010  return _IMP_algebra.UnitSimplex6D___str__(self)
5011 
5012  def __repr__(self):
5013  r"""__repr__(UnitSimplex6D self) -> std::string"""
5014  return _IMP_algebra.UnitSimplex6D___repr__(self)
5015 
5016  def __cmp__(self, arg2):
5017  r"""__cmp__(UnitSimplex6D self, UnitSimplex6D arg2) -> int"""
5018  return _IMP_algebra.UnitSimplex6D___cmp__(self, arg2)
5019 
5020  def __eq__(self, arg2):
5021  r"""__eq__(UnitSimplex6D self, UnitSimplex6D arg2) -> bool"""
5022  return _IMP_algebra.UnitSimplex6D___eq__(self, arg2)
5023 
5024  def _get_as_binary(self):
5025  r"""_get_as_binary(UnitSimplex6D self) -> PyObject *"""
5026  return _IMP_algebra.UnitSimplex6D__get_as_binary(self)
5027 
5028  def _set_from_binary(self, p):
5029  r"""_set_from_binary(UnitSimplex6D self, PyObject * p)"""
5030  return _IMP_algebra.UnitSimplex6D__set_from_binary(self, p)
5031 
5032  def __getstate__(self):
5033  p = self._get_as_binary()
5034  if len(self.__dict__) > 1:
5035  d = self.__dict__.copy()
5036  del d['this']
5037  p = (d, p)
5038  return p
5039 
5040  def __setstate__(self, p):
5041  if not hasattr(self, 'this'):
5042  self.__init__()
5043  if isinstance(p, tuple):
5044  d, p = p
5045  self.__dict__.update(d)
5046  return self._set_from_binary(p)
5047 
5048  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex6D
5049 
5050 # Register UnitSimplex6D in _IMP_algebra:
5051 _IMP_algebra.UnitSimplex6D_swigregister(UnitSimplex6D)
5052 class UnitSimplexKD(_UnitSimplexBaseKD):
5053  r"""Proxy of C++ IMP::algebra::UnitSimplexD< -1 > class."""
5054 
5055  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5056  __repr__ = _swig_repr
5057 
5058  def __init__(self, d=1):
5059  r"""__init__(UnitSimplexKD self, int d=1) -> UnitSimplexKD"""
5060  _IMP_algebra.UnitSimplexKD_swiginit(self, _IMP_algebra.new_UnitSimplexKD(d))
5061 
5062  def show(self, *args):
5063  r"""show(UnitSimplexKD self, _ostream out=std::cout)"""
5064  return _IMP_algebra.UnitSimplexKD_show(self, *args)
5065 
5066  def _get_as_binary(self):
5067  r"""_get_as_binary(UnitSimplexKD self) -> PyObject *"""
5068  return _IMP_algebra.UnitSimplexKD__get_as_binary(self)
5069 
5070  def _set_from_binary(self, p):
5071  r"""_set_from_binary(UnitSimplexKD self, PyObject * p)"""
5072  return _IMP_algebra.UnitSimplexKD__set_from_binary(self, p)
5073 
5074  def __getstate__(self):
5075  p = self._get_as_binary()
5076  if len(self.__dict__) > 1:
5077  d = self.__dict__.copy()
5078  del d['this']
5079  p = (d, p)
5080  return p
5081 
5082  def __setstate__(self, p):
5083  if not hasattr(self, 'this'):
5084  self.__init__()
5085  if isinstance(p, tuple):
5086  d, p = p
5087  self.__dict__.update(d)
5088  return self._set_from_binary(p)
5089 
5090  __swig_destroy__ = _IMP_algebra.delete_UnitSimplexKD
5091 
5092 # Register UnitSimplexKD in _IMP_algebra:
5093 _IMP_algebra.UnitSimplexKD_swigregister(UnitSimplexKD)
5094 class ReferenceFrame3D(object):
5095  r"""Proxy of C++ IMP::algebra::ReferenceFrame3D class."""
5096 
5097  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5098 
5099  def __init__(self, *args):
5100  r"""
5101  __init__(ReferenceFrame3D self, ReferenceFrame3D arg2) -> ReferenceFrame3D
5102  __init__(ReferenceFrame3D self) -> ReferenceFrame3D
5103  __init__(ReferenceFrame3D self, Transformation3D tr) -> ReferenceFrame3D
5104  """
5105  _IMP_algebra.ReferenceFrame3D_swiginit(self, _IMP_algebra.new_ReferenceFrame3D(*args))
5106  __swig_destroy__ = _IMP_algebra.delete_ReferenceFrame3D
5107 
5108  def get_transformation_to(self):
5109  r"""get_transformation_to(ReferenceFrame3D self) -> Transformation3D"""
5110  return _IMP_algebra.ReferenceFrame3D_get_transformation_to(self)
5111 
5112  def get_transformation_from(self):
5113  r"""get_transformation_from(ReferenceFrame3D self) -> Transformation3D"""
5114  return _IMP_algebra.ReferenceFrame3D_get_transformation_from(self)
5115 
5116  def get_global_coordinates(self, v):
5117  r"""get_global_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5118  return _IMP_algebra.ReferenceFrame3D_get_global_coordinates(self, v)
5119 
5120  def get_local_coordinates(self, v):
5121  r"""get_local_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5122  return _IMP_algebra.ReferenceFrame3D_get_local_coordinates(self, v)
5123 
5124  def get_global_reference_frame(self, v):
5125  r"""get_global_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5126  return _IMP_algebra.ReferenceFrame3D_get_global_reference_frame(self, v)
5127 
5128  def get_local_reference_frame(self, v):
5129  r"""get_local_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5130  return _IMP_algebra.ReferenceFrame3D_get_local_reference_frame(self, v)
5131 
5132  def show(self, *args):
5133  r"""show(ReferenceFrame3D self, _ostream out=std::cout)"""
5134  return _IMP_algebra.ReferenceFrame3D_show(self, *args)
5135 
5136  def __str__(self):
5137  r"""__str__(ReferenceFrame3D self) -> std::string"""
5138  return _IMP_algebra.ReferenceFrame3D___str__(self)
5139 
5140  def __repr__(self):
5141  r"""__repr__(ReferenceFrame3D self) -> std::string"""
5142  return _IMP_algebra.ReferenceFrame3D___repr__(self)
5143 
5144  def _get_as_binary(self):
5145  r"""_get_as_binary(ReferenceFrame3D self) -> PyObject *"""
5146  return _IMP_algebra.ReferenceFrame3D__get_as_binary(self)
5147 
5148  def _set_from_binary(self, p):
5149  r"""_set_from_binary(ReferenceFrame3D self, PyObject * p)"""
5150  return _IMP_algebra.ReferenceFrame3D__set_from_binary(self, p)
5151 
5152  def __getstate__(self):
5153  p = self._get_as_binary()
5154  if len(self.__dict__) > 1:
5155  d = self.__dict__.copy()
5156  del d['this']
5157  p = (d, p)
5158  return p
5159 
5160  def __setstate__(self, p):
5161  if not hasattr(self, 'this'):
5162  self.__init__()
5163  if isinstance(p, tuple):
5164  d, p = p
5165  self.__dict__.update(d)
5166  return self._set_from_binary(p)
5167 
5168 
5169 # Register ReferenceFrame3D in _IMP_algebra:
5170 _IMP_algebra.ReferenceFrame3D_swigregister(ReferenceFrame3D)
5171 
5172 def get_transformed(*args):
5173  r"""
5174  get_transformed(BoundingBox3D bb, Transformation3D tr) -> BoundingBox3D
5175  get_transformed(Line3D l, Transformation3D tr) -> Line3D
5176  get_transformed(ReferenceFrame3D rf, Transformation3D tr) -> ReferenceFrame3D
5177  """
5178  return _IMP_algebra.get_transformed(*args)
5179 
5180 def get_transformation_from_first_to_second(a, b):
5181  r"""get_transformation_from_first_to_second(ReferenceFrame3D a, ReferenceFrame3D b) -> Transformation3D"""
5182  return _IMP_algebra.get_transformation_from_first_to_second(a, b)
5183 class SphericalVector3D(_GeometricPrimitive3D):
5184  r"""Proxy of C++ IMP::algebra::SphericalVector3D class."""
5185 
5186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5187 
5188  def __init__(self, *args):
5189  r"""
5190  __init__(SphericalVector3D self) -> SphericalVector3D
5191  __init__(SphericalVector3D self, Vector3D v) -> SphericalVector3D
5192  __init__(SphericalVector3D self, double r, double theta, double psi, bool apply_check=True) -> SphericalVector3D
5193  """
5194  _IMP_algebra.SphericalVector3D_swiginit(self, _IMP_algebra.new_SphericalVector3D(*args))
5195 
5196  def get_cartesian_coordinates(self):
5197  r"""get_cartesian_coordinates(SphericalVector3D self) -> Vector3D"""
5198  return _IMP_algebra.SphericalVector3D_get_cartesian_coordinates(self)
5199 
5200  def show(self, *args):
5201  r"""show(SphericalVector3D self, _ostream out=std::cout)"""
5202  return _IMP_algebra.SphericalVector3D_show(self, *args)
5203 
5204  def __str__(self):
5205  r"""__str__(SphericalVector3D self) -> std::string"""
5206  return _IMP_algebra.SphericalVector3D___str__(self)
5207 
5208  def __repr__(self):
5209  r"""__repr__(SphericalVector3D self) -> std::string"""
5210  return _IMP_algebra.SphericalVector3D___repr__(self)
5211 
5212  def _get_as_binary(self):
5213  r"""_get_as_binary(SphericalVector3D self) -> PyObject *"""
5214  return _IMP_algebra.SphericalVector3D__get_as_binary(self)
5215 
5216  def _set_from_binary(self, p):
5217  r"""_set_from_binary(SphericalVector3D self, PyObject * p)"""
5218  return _IMP_algebra.SphericalVector3D__set_from_binary(self, p)
5219 
5220  def __getstate__(self):
5221  p = self._get_as_binary()
5222  if len(self.__dict__) > 1:
5223  d = self.__dict__.copy()
5224  del d['this']
5225  p = (d, p)
5226  return p
5227 
5228  def __setstate__(self, p):
5229  if not hasattr(self, 'this'):
5230  self.__init__()
5231  if isinstance(p, tuple):
5232  d, p = p
5233  self.__dict__.update(d)
5234  return self._set_from_binary(p)
5235 
5236 
5237  def __getitem__(self, index):
5238  r"""__getitem__(SphericalVector3D self, unsigned int index) -> double"""
5239  return _IMP_algebra.SphericalVector3D___getitem__(self, index)
5240 
5241  def __setitem__(self, index, val):
5242  r"""__setitem__(SphericalVector3D self, unsigned int index, double val)"""
5243  return _IMP_algebra.SphericalVector3D___setitem__(self, index, val)
5244  __swig_destroy__ = _IMP_algebra.delete_SphericalVector3D
5245 
5246 # Register SphericalVector3D in _IMP_algebra:
5247 _IMP_algebra.SphericalVector3D_swigregister(SphericalVector3D)
5248 
5249 def get_alignments_from_first_to_second(pca1, pca2):
5250  r"""get_alignments_from_first_to_second(PrincipalComponentAnalysis3D pca1, PrincipalComponentAnalysis3D pca2) -> IMP::algebra::Transformation3Ds"""
5251  return _IMP_algebra.get_alignments_from_first_to_second(pca1, pca2)
5252 class Line3D(_GeometricPrimitive3D):
5253  r"""Proxy of C++ IMP::algebra::Line3D class."""
5254 
5255  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5256 
5257  def __init__(self, *args):
5258  r"""
5259  __init__(Line3D self) -> Line3D
5260  __init__(Line3D self, Vector3D direction, Vector3D point_on_line) -> Line3D
5261  __init__(Line3D self, Segment3D s) -> Line3D
5262  """
5263  _IMP_algebra.Line3D_swiginit(self, _IMP_algebra.new_Line3D(*args))
5264 
5265  def get_direction(self):
5266  r"""get_direction(Line3D self) -> Vector3D"""
5267  return _IMP_algebra.Line3D_get_direction(self)
5268 
5269  def get_point_on_line(self):
5270  r"""get_point_on_line(Line3D self) -> Vector3D"""
5271  return _IMP_algebra.Line3D_get_point_on_line(self)
5272 
5273  def get_moment(self, *args):
5274  r"""
5275  get_moment(Line3D self) -> Vector3D
5276  get_moment(Line3D self, Vector3D v) -> Vector3D
5277  """
5278  return _IMP_algebra.Line3D_get_moment(self, *args)
5279 
5280  def get_reciprocal_product(self, l):
5281  r"""get_reciprocal_product(Line3D self, Line3D l) -> double"""
5282  return _IMP_algebra.Line3D_get_reciprocal_product(self, l)
5283 
5284  def get_opposite(self):
5285  r"""get_opposite(Line3D self) -> Line3D"""
5286  return _IMP_algebra.Line3D_get_opposite(self)
5287 
5288  def get_segment_starting_at(self, v, d):
5289  r"""get_segment_starting_at(Line3D self, Vector3D v, double d) -> Segment3D"""
5290  return _IMP_algebra.Line3D_get_segment_starting_at(self, v, d)
5291 
5292  def show(self, *args):
5293  r"""show(Line3D self, _ostream out=std::cout)"""
5294  return _IMP_algebra.Line3D_show(self, *args)
5295 
5296  def __str__(self):
5297  r"""__str__(Line3D self) -> std::string"""
5298  return _IMP_algebra.Line3D___str__(self)
5299 
5300  def __repr__(self):
5301  r"""__repr__(Line3D self) -> std::string"""
5302  return _IMP_algebra.Line3D___repr__(self)
5303 
5304  def _get_as_binary(self):
5305  r"""_get_as_binary(Line3D self) -> PyObject *"""
5306  return _IMP_algebra.Line3D__get_as_binary(self)
5307 
5308  def _set_from_binary(self, p):
5309  r"""_set_from_binary(Line3D self, PyObject * p)"""
5310  return _IMP_algebra.Line3D__set_from_binary(self, p)
5311 
5312  def __getstate__(self):
5313  p = self._get_as_binary()
5314  if len(self.__dict__) > 1:
5315  d = self.__dict__.copy()
5316  del d['this']
5317  p = (d, p)
5318  return p
5319 
5320  def __setstate__(self, p):
5321  if not hasattr(self, 'this'):
5322  self.__init__()
5323  if isinstance(p, tuple):
5324  d, p = p
5325  self.__dict__.update(d)
5326  return self._set_from_binary(p)
5327 
5328  __swig_destroy__ = _IMP_algebra.delete_Line3D
5329 
5330 # Register Line3D in _IMP_algebra:
5331 _IMP_algebra.Line3D_swigregister(Line3D)
5332 
5333 def get_line_3d_geometry(g):
5334  r"""get_line_3d_geometry(Line3D g) -> Line3D"""
5335  return _IMP_algebra.get_line_3d_geometry(g)
5336 
5337 def get_angle(a, b):
5338  r"""get_angle(Line3D a, Line3D b) -> double"""
5339  return _IMP_algebra.get_angle(a, b)
5340 
5342  r"""get_segment_connecting_first_to_second(Line3D a, Line3D b) -> Segment3D"""
5343  return _IMP_algebra.get_segment_connecting_first_to_second(a, b)
5344 class Segment3D(_GeometricPrimitive3D):
5345  r"""Proxy of C++ IMP::algebra::Segment3D class."""
5346 
5347  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5348 
5349  def __init__(self, *args):
5350  r"""
5351  __init__(Segment3D self) -> Segment3D
5352  __init__(Segment3D self, Vector3D start, Vector3D end) -> Segment3D
5353  """
5354  _IMP_algebra.Segment3D_swiginit(self, _IMP_algebra.new_Segment3D(*args))
5355 
5356  def get_point(self, i):
5357  if i < 0 or i >= 2:
5358  raise IMP.UsageException("Invalid point index")
5359  return _IMP_algebra.Segment3D_get_point(self, i)
5360 
5361 
5362 
5363  def get_middle_point(self):
5364  r"""get_middle_point(Segment3D self) -> Vector3D"""
5365  return _IMP_algebra.Segment3D_get_middle_point(self)
5366 
5367  def get_direction(self):
5368  r"""get_direction(Segment3D self) -> Vector3D"""
5369  return _IMP_algebra.Segment3D_get_direction(self)
5370 
5371  def get_length(self):
5372  r"""get_length(Segment3D self) -> double"""
5373  return _IMP_algebra.Segment3D_get_length(self)
5374 
5375  def show(self, *args):
5376  r"""show(Segment3D self, _ostream out=std::cout)"""
5377  return _IMP_algebra.Segment3D_show(self, *args)
5378 
5379  def __str__(self):
5380  r"""__str__(Segment3D self) -> std::string"""
5381  return _IMP_algebra.Segment3D___str__(self)
5382 
5383  def __repr__(self):
5384  r"""__repr__(Segment3D self) -> std::string"""
5385  return _IMP_algebra.Segment3D___repr__(self)
5386 
5387  def _get_as_binary(self):
5388  r"""_get_as_binary(Segment3D self) -> PyObject *"""
5389  return _IMP_algebra.Segment3D__get_as_binary(self)
5390 
5391  def _set_from_binary(self, p):
5392  r"""_set_from_binary(Segment3D self, PyObject * p)"""
5393  return _IMP_algebra.Segment3D__set_from_binary(self, p)
5394 
5395  def __getstate__(self):
5396  p = self._get_as_binary()
5397  if len(self.__dict__) > 1:
5398  d = self.__dict__.copy()
5399  del d['this']
5400  p = (d, p)
5401  return p
5402 
5403  def __setstate__(self, p):
5404  if not hasattr(self, 'this'):
5405  self.__init__()
5406  if isinstance(p, tuple):
5407  d, p = p
5408  self.__dict__.update(d)
5409  return self._set_from_binary(p)
5410 
5411  __swig_destroy__ = _IMP_algebra.delete_Segment3D
5412 
5413 # Register Segment3D in _IMP_algebra:
5414 _IMP_algebra.Segment3D_swigregister(Segment3D)
5415 
5416 def get_segment_3d_geometry(g):
5417  r"""get_segment_3d_geometry(Segment3D g) -> Segment3D"""
5418  return _IMP_algebra.get_segment_3d_geometry(g)
5419 
5421  r"""get_relative_projection_on_segment(Segment3D s, Vector3D p) -> double"""
5422  return _IMP_algebra.get_relative_projection_on_segment(s, p)
5423 class Triangle3D(_GeometricPrimitive3D):
5424  r"""Proxy of C++ IMP::algebra::Triangle3D class."""
5425 
5426  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5427 
5428  def __init__(self, *args):
5429  r"""
5430  __init__(Triangle3D self) -> Triangle3D
5431  __init__(Triangle3D self, Vector3D p1, Vector3D p2, Vector3D p3) -> Triangle3D
5432  """
5433  _IMP_algebra.Triangle3D_swiginit(self, _IMP_algebra.new_Triangle3D(*args))
5434 
5435  def get_point(self, i):
5436  r"""get_point(Triangle3D self, unsigned int i) -> Vector3D"""
5437  return _IMP_algebra.Triangle3D_get_point(self, i)
5438 
5439  def show(self, *args):
5440  r"""show(Triangle3D self, _ostream out=std::cout)"""
5441  return _IMP_algebra.Triangle3D_show(self, *args)
5442 
5443  def get_edge_lengths(self):
5444  r"""get_edge_lengths(Triangle3D self) -> IMP::Floats"""
5445  return _IMP_algebra.Triangle3D_get_edge_lengths(self)
5446 
5447  def __str__(self):
5448  r"""__str__(Triangle3D self) -> std::string"""
5449  return _IMP_algebra.Triangle3D___str__(self)
5450 
5451  def __repr__(self):
5452  r"""__repr__(Triangle3D self) -> std::string"""
5453  return _IMP_algebra.Triangle3D___repr__(self)
5454 
5455  def _get_as_binary(self):
5456  r"""_get_as_binary(Triangle3D self) -> PyObject *"""
5457  return _IMP_algebra.Triangle3D__get_as_binary(self)
5458 
5459  def _set_from_binary(self, p):
5460  r"""_set_from_binary(Triangle3D self, PyObject * p)"""
5461  return _IMP_algebra.Triangle3D__set_from_binary(self, p)
5462 
5463  def __getstate__(self):
5464  p = self._get_as_binary()
5465  if len(self.__dict__) > 1:
5466  d = self.__dict__.copy()
5467  del d['this']
5468  p = (d, p)
5469  return p
5470 
5471  def __setstate__(self, p):
5472  if not hasattr(self, 'this'):
5473  self.__init__()
5474  if isinstance(p, tuple):
5475  d, p = p
5476  self.__dict__.update(d)
5477  return self._set_from_binary(p)
5478 
5479  __swig_destroy__ = _IMP_algebra.delete_Triangle3D
5480 
5481 # Register Triangle3D in _IMP_algebra:
5482 _IMP_algebra.Triangle3D_swigregister(Triangle3D)
5483 
5484 def get_largest_triangle(points):
5485  r"""get_largest_triangle(IMP::algebra::Vector3Ds const & points) -> Triangle3D"""
5486  return _IMP_algebra.get_largest_triangle(points)
5487 
5488 def get_transformation_from_first_triangle_to_second(first_tri, second_tri):
5489  r"""get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri) -> Transformation3D"""
5490  return _IMP_algebra.get_transformation_from_first_triangle_to_second(first_tri, second_tri)
5491 
5492 def get_are_colinear(p1, p2, p3):
5493  r"""get_are_colinear(Vector3D p1, Vector3D p2, Vector3D p3) -> bool"""
5494  return _IMP_algebra.get_are_colinear(p1, p2, p3)
5495 class LinearFit2D(_GeometricPrimitive2D):
5496  r"""Proxy of C++ IMP::algebra::LinearFit2D class."""
5497 
5498  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5499 
5500  def __init__(self, *args):
5501  r"""
5502  __init__(LinearFit2D self) -> LinearFit2D
5503  __init__(LinearFit2D self, IMP::algebra::Vector2Ds const & data, IMP::Floats const & error_bars=IMP::Floats()) -> LinearFit2D
5504  """
5505  _IMP_algebra.LinearFit2D_swiginit(self, _IMP_algebra.new_LinearFit2D(*args))
5506 
5507  def get_fit_error(self):
5508  r"""get_fit_error(LinearFit2D self) -> double"""
5509  return _IMP_algebra.LinearFit2D_get_fit_error(self)
5510 
5511  def get_a(self):
5512  r"""get_a(LinearFit2D self) -> double"""
5513  return _IMP_algebra.LinearFit2D_get_a(self)
5514 
5515  def get_b(self):
5516  r"""get_b(LinearFit2D self) -> double"""
5517  return _IMP_algebra.LinearFit2D_get_b(self)
5518 
5519  def show(self, *args):
5520  r"""show(LinearFit2D self, _ostream out=std::cout)"""
5521  return _IMP_algebra.LinearFit2D_show(self, *args)
5522 
5523  def __str__(self):
5524  r"""__str__(LinearFit2D self) -> std::string"""
5525  return _IMP_algebra.LinearFit2D___str__(self)
5526 
5527  def __repr__(self):
5528  r"""__repr__(LinearFit2D self) -> std::string"""
5529  return _IMP_algebra.LinearFit2D___repr__(self)
5530 
5531  def _get_as_binary(self):
5532  r"""_get_as_binary(LinearFit2D self) -> PyObject *"""
5533  return _IMP_algebra.LinearFit2D__get_as_binary(self)
5534 
5535  def _set_from_binary(self, p):
5536  r"""_set_from_binary(LinearFit2D self, PyObject * p)"""
5537  return _IMP_algebra.LinearFit2D__set_from_binary(self, p)
5538 
5539  def __getstate__(self):
5540  p = self._get_as_binary()
5541  if len(self.__dict__) > 1:
5542  d = self.__dict__.copy()
5543  del d['this']
5544  p = (d, p)
5545  return p
5546 
5547  def __setstate__(self, p):
5548  if not hasattr(self, 'this'):
5549  self.__init__()
5550  if isinstance(p, tuple):
5551  d, p = p
5552  self.__dict__.update(d)
5553  return self._set_from_binary(p)
5554 
5555  __swig_destroy__ = _IMP_algebra.delete_LinearFit2D
5556 
5557 # Register LinearFit2D in _IMP_algebra:
5558 _IMP_algebra.LinearFit2D_swigregister(LinearFit2D)
5559 class ParabolicFit2D(_GeometricPrimitive2D):
5560  r"""Proxy of C++ IMP::algebra::ParabolicFit2D class."""
5561 
5562  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5563 
5564  def __init__(self, *args):
5565  r"""
5566  __init__(ParabolicFit2D self) -> ParabolicFit2D
5567  __init__(ParabolicFit2D self, IMP::algebra::Vector2Ds const & data) -> ParabolicFit2D
5568  """
5569  _IMP_algebra.ParabolicFit2D_swiginit(self, _IMP_algebra.new_ParabolicFit2D(*args))
5570 
5571  def get_fit_error(self):
5572  r"""get_fit_error(ParabolicFit2D self) -> double"""
5573  return _IMP_algebra.ParabolicFit2D_get_fit_error(self)
5574 
5575  def get_a(self):
5576  r"""get_a(ParabolicFit2D self) -> double"""
5577  return _IMP_algebra.ParabolicFit2D_get_a(self)
5578 
5579  def get_b(self):
5580  r"""get_b(ParabolicFit2D self) -> double"""
5581  return _IMP_algebra.ParabolicFit2D_get_b(self)
5582 
5583  def get_c(self):
5584  r"""get_c(ParabolicFit2D self) -> double"""
5585  return _IMP_algebra.ParabolicFit2D_get_c(self)
5586 
5587  def show(self, *args):
5588  r"""show(ParabolicFit2D self, _ostream out=std::cout)"""
5589  return _IMP_algebra.ParabolicFit2D_show(self, *args)
5590 
5591  def __str__(self):
5592  r"""__str__(ParabolicFit2D self) -> std::string"""
5593  return _IMP_algebra.ParabolicFit2D___str__(self)
5594 
5595  def __repr__(self):
5596  r"""__repr__(ParabolicFit2D self) -> std::string"""
5597  return _IMP_algebra.ParabolicFit2D___repr__(self)
5598 
5599  def _get_as_binary(self):
5600  r"""_get_as_binary(ParabolicFit2D self) -> PyObject *"""
5601  return _IMP_algebra.ParabolicFit2D__get_as_binary(self)
5602 
5603  def _set_from_binary(self, p):
5604  r"""_set_from_binary(ParabolicFit2D self, PyObject * p)"""
5605  return _IMP_algebra.ParabolicFit2D__set_from_binary(self, p)
5606 
5607  def __getstate__(self):
5608  p = self._get_as_binary()
5609  if len(self.__dict__) > 1:
5610  d = self.__dict__.copy()
5611  del d['this']
5612  p = (d, p)
5613  return p
5614 
5615  def __setstate__(self, p):
5616  if not hasattr(self, 'this'):
5617  self.__init__()
5618  if isinstance(p, tuple):
5619  d, p = p
5620  self.__dict__.update(d)
5621  return self._set_from_binary(p)
5622 
5623  __swig_destroy__ = _IMP_algebra.delete_ParabolicFit2D
5624 
5625 # Register ParabolicFit2D in _IMP_algebra:
5626 _IMP_algebra.ParabolicFit2D_swigregister(ParabolicFit2D)
5627 class Plane3D(_GeometricPrimitive3D):
5628  r"""Proxy of C++ IMP::algebra::Plane3D class."""
5629 
5630  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5631 
5632  def __init__(self, *args):
5633  r"""
5634  __init__(Plane3D self) -> Plane3D
5635  __init__(Plane3D self, Vector3D point_on_plane, Vector3D normal_to_plane) -> Plane3D
5636  __init__(Plane3D self, double distance_to_plane, Vector3D normal_to_plane) -> Plane3D
5637  """
5638  _IMP_algebra.Plane3D_swiginit(self, _IMP_algebra.new_Plane3D(*args))
5639 
5640  def get_point_on_plane(self):
5641  r"""get_point_on_plane(Plane3D self) -> Vector3D"""
5642  return _IMP_algebra.Plane3D_get_point_on_plane(self)
5643 
5644  def get_normal(self):
5645  r"""get_normal(Plane3D self) -> Vector3D"""
5646  return _IMP_algebra.Plane3D_get_normal(self)
5647 
5648  def get_projected(self, p):
5649  r"""get_projected(Plane3D self, Vector3D p) -> Vector3D"""
5650  return _IMP_algebra.Plane3D_get_projected(self, p)
5651 
5652  def get_is_above(self, p):
5653  r"""get_is_above(Plane3D self, Vector3D p) -> bool"""
5654  return _IMP_algebra.Plane3D_get_is_above(self, p)
5655 
5656  def get_is_below(self, p):
5657  r"""get_is_below(Plane3D self, Vector3D p) -> bool"""
5658  return _IMP_algebra.Plane3D_get_is_below(self, p)
5659 
5660  def get_height(self, p):
5661  r"""get_height(Plane3D self, Vector3D p) -> double"""
5662  return _IMP_algebra.Plane3D_get_height(self, p)
5663 
5664  def show(self, *args):
5665  r"""show(Plane3D self, _ostream out=std::cout)"""
5666  return _IMP_algebra.Plane3D_show(self, *args)
5667 
5668  def get_opposite(self):
5669  r"""get_opposite(Plane3D self) -> Plane3D"""
5670  return _IMP_algebra.Plane3D_get_opposite(self)
5671 
5672  def get_distance_from_origin(self):
5673  r"""get_distance_from_origin(Plane3D self) -> double"""
5674  return _IMP_algebra.Plane3D_get_distance_from_origin(self)
5675 
5676  def __str__(self):
5677  r"""__str__(Plane3D self) -> std::string"""
5678  return _IMP_algebra.Plane3D___str__(self)
5679 
5680  def __repr__(self):
5681  r"""__repr__(Plane3D self) -> std::string"""
5682  return _IMP_algebra.Plane3D___repr__(self)
5683 
5684  def _get_as_binary(self):
5685  r"""_get_as_binary(Plane3D self) -> PyObject *"""
5686  return _IMP_algebra.Plane3D__get_as_binary(self)
5687 
5688  def _set_from_binary(self, p):
5689  r"""_set_from_binary(Plane3D self, PyObject * p)"""
5690  return _IMP_algebra.Plane3D__set_from_binary(self, p)
5691 
5692  def __getstate__(self):
5693  p = self._get_as_binary()
5694  if len(self.__dict__) > 1:
5695  d = self.__dict__.copy()
5696  del d['this']
5697  p = (d, p)
5698  return p
5699 
5700  def __setstate__(self, p):
5701  if not hasattr(self, 'this'):
5702  self.__init__()
5703  if isinstance(p, tuple):
5704  d, p = p
5705  self.__dict__.update(d)
5706  return self._set_from_binary(p)
5707 
5708  __swig_destroy__ = _IMP_algebra.delete_Plane3D
5709 
5710 # Register Plane3D in _IMP_algebra:
5711 _IMP_algebra.Plane3D_swigregister(Plane3D)
5712 
5713 def get_reflected(pln, p):
5714  r"""get_reflected(Plane3D pln, Vector3D p) -> Vector3D"""
5715  return _IMP_algebra.get_reflected(pln, p)
5716 
5717 def get_plane_3d_geometry(g):
5718  r"""get_plane_3d_geometry(Plane3D g) -> Plane3D"""
5719  return _IMP_algebra.get_plane_3d_geometry(g)
5720 class Reflection3D(_GeometricPrimitive3D):
5721  r"""Proxy of C++ IMP::algebra::Reflection3D class."""
5722 
5723  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5724 
5725  def __init__(self, *args):
5726  r"""
5727  __init__(Reflection3D self) -> Reflection3D
5728  __init__(Reflection3D self, Plane3D pl) -> Reflection3D
5729  """
5730  _IMP_algebra.Reflection3D_swiginit(self, _IMP_algebra.new_Reflection3D(*args))
5731 
5732  def get_reflected(self, v):
5733  r"""get_reflected(Reflection3D self, Vector3D v) -> Vector3D"""
5734  return _IMP_algebra.Reflection3D_get_reflected(self, v)
5735 
5736  def show(self, *args):
5737  r"""show(Reflection3D self, _ostream out=std::cout)"""
5738  return _IMP_algebra.Reflection3D_show(self, *args)
5739 
5740  def __str__(self):
5741  r"""__str__(Reflection3D self) -> std::string"""
5742  return _IMP_algebra.Reflection3D___str__(self)
5743 
5744  def __repr__(self):
5745  r"""__repr__(Reflection3D self) -> std::string"""
5746  return _IMP_algebra.Reflection3D___repr__(self)
5747 
5748  def _get_as_binary(self):
5749  r"""_get_as_binary(Reflection3D self) -> PyObject *"""
5750  return _IMP_algebra.Reflection3D__get_as_binary(self)
5751 
5752  def _set_from_binary(self, p):
5753  r"""_set_from_binary(Reflection3D self, PyObject * p)"""
5754  return _IMP_algebra.Reflection3D__set_from_binary(self, p)
5755 
5756  def __getstate__(self):
5757  p = self._get_as_binary()
5758  if len(self.__dict__) > 1:
5759  d = self.__dict__.copy()
5760  del d['this']
5761  p = (d, p)
5762  return p
5763 
5764  def __setstate__(self, p):
5765  if not hasattr(self, 'this'):
5766  self.__init__()
5767  if isinstance(p, tuple):
5768  d, p = p
5769  self.__dict__.update(d)
5770  return self._set_from_binary(p)
5771 
5772  __swig_destroy__ = _IMP_algebra.delete_Reflection3D
5773 
5774 # Register Reflection3D in _IMP_algebra:
5775 _IMP_algebra.Reflection3D_swigregister(Reflection3D)
5776 class Cylinder3D(_GeometricPrimitive3D):
5777  r"""Proxy of C++ IMP::algebra::Cylinder3D class."""
5778 
5779  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5780 
5781  def __init__(self, *args):
5782  r"""
5783  __init__(Cylinder3D self) -> Cylinder3D
5784  __init__(Cylinder3D self, Segment3D s, double radius) -> Cylinder3D
5785  """
5786  _IMP_algebra.Cylinder3D_swiginit(self, _IMP_algebra.new_Cylinder3D(*args))
5787 
5788  def get_radius(self):
5789  r"""get_radius(Cylinder3D self) -> double"""
5790  return _IMP_algebra.Cylinder3D_get_radius(self)
5791 
5792  def get_segment(self):
5793  r"""get_segment(Cylinder3D self) -> Segment3D"""
5794  return _IMP_algebra.Cylinder3D_get_segment(self)
5795 
5796  def get_surface_point_at(self, relative_height, angle):
5797  r"""get_surface_point_at(Cylinder3D self, double relative_height, double angle) -> Vector3D"""
5798  return _IMP_algebra.Cylinder3D_get_surface_point_at(self, relative_height, angle)
5799 
5800  def get_inner_point_at(self, relative_height, relative_radius, angle):
5801  r"""get_inner_point_at(Cylinder3D self, double relative_height, double relative_radius, double angle) -> Vector3D"""
5802  return _IMP_algebra.Cylinder3D_get_inner_point_at(self, relative_height, relative_radius, angle)
5803 
5804  def show(self, *args):
5805  r"""show(Cylinder3D self, _ostream out=std::cout)"""
5806  return _IMP_algebra.Cylinder3D_show(self, *args)
5807 
5808  def __str__(self):
5809  r"""__str__(Cylinder3D self) -> std::string"""
5810  return _IMP_algebra.Cylinder3D___str__(self)
5811 
5812  def __repr__(self):
5813  r"""__repr__(Cylinder3D self) -> std::string"""
5814  return _IMP_algebra.Cylinder3D___repr__(self)
5815 
5816  def _get_as_binary(self):
5817  r"""_get_as_binary(Cylinder3D self) -> PyObject *"""
5818  return _IMP_algebra.Cylinder3D__get_as_binary(self)
5819 
5820  def _set_from_binary(self, p):
5821  r"""_set_from_binary(Cylinder3D self, PyObject * p)"""
5822  return _IMP_algebra.Cylinder3D__set_from_binary(self, p)
5823 
5824  def __getstate__(self):
5825  p = self._get_as_binary()
5826  if len(self.__dict__) > 1:
5827  d = self.__dict__.copy()
5828  del d['this']
5829  p = (d, p)
5830  return p
5831 
5832  def __setstate__(self, p):
5833  if not hasattr(self, 'this'):
5834  self.__init__()
5835  if isinstance(p, tuple):
5836  d, p = p
5837  self.__dict__.update(d)
5838  return self._set_from_binary(p)
5839 
5840  __swig_destroy__ = _IMP_algebra.delete_Cylinder3D
5841 
5842 # Register Cylinder3D in _IMP_algebra:
5843 _IMP_algebra.Cylinder3D_swigregister(Cylinder3D)
5844 
5845 def get_cylinder_3d_geometry(g):
5846  r"""get_cylinder_3d_geometry(Cylinder3D g) -> Cylinder3D"""
5847  return _IMP_algebra.get_cylinder_3d_geometry(g)
5848 class Ellipsoid3D(_GeometricPrimitive3D):
5849  r"""Proxy of C++ IMP::algebra::Ellipsoid3D class."""
5850 
5851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5852 
5853  def __init__(self, *args):
5854  r"""
5855  __init__(Ellipsoid3D self) -> Ellipsoid3D
5856  __init__(Ellipsoid3D self, ReferenceFrame3D rf, Vector3D radii) -> Ellipsoid3D
5857  __init__(Ellipsoid3D self, Vector3D center, double radius_x, double radius_y, double radius_z, Rotation3D rot) -> Ellipsoid3D
5858  """
5859  _IMP_algebra.Ellipsoid3D_swiginit(self, _IMP_algebra.new_Ellipsoid3D(*args))
5860 
5861  def get_radii(self):
5862  r"""get_radii(Ellipsoid3D self) -> Vector3D"""
5863  return _IMP_algebra.Ellipsoid3D_get_radii(self)
5864 
5865  def get_reference_frame(self):
5866  r"""get_reference_frame(Ellipsoid3D self) -> ReferenceFrame3D"""
5867  return _IMP_algebra.Ellipsoid3D_get_reference_frame(self)
5868 
5869  def show(self, *args):
5870  r"""show(Ellipsoid3D self, _ostream out=std::cout)"""
5871  return _IMP_algebra.Ellipsoid3D_show(self, *args)
5872 
5873  def __str__(self):
5874  r"""__str__(Ellipsoid3D self) -> std::string"""
5875  return _IMP_algebra.Ellipsoid3D___str__(self)
5876 
5877  def __repr__(self):
5878  r"""__repr__(Ellipsoid3D self) -> std::string"""
5879  return _IMP_algebra.Ellipsoid3D___repr__(self)
5880 
5881  def _get_as_binary(self):
5882  r"""_get_as_binary(Ellipsoid3D self) -> PyObject *"""
5883  return _IMP_algebra.Ellipsoid3D__get_as_binary(self)
5884 
5885  def _set_from_binary(self, p):
5886  r"""_set_from_binary(Ellipsoid3D self, PyObject * p)"""
5887  return _IMP_algebra.Ellipsoid3D__set_from_binary(self, p)
5888 
5889  def __getstate__(self):
5890  p = self._get_as_binary()
5891  if len(self.__dict__) > 1:
5892  d = self.__dict__.copy()
5893  del d['this']
5894  p = (d, p)
5895  return p
5896 
5897  def __setstate__(self, p):
5898  if not hasattr(self, 'this'):
5899  self.__init__()
5900  if isinstance(p, tuple):
5901  d, p = p
5902  self.__dict__.update(d)
5903  return self._set_from_binary(p)
5904 
5905  __swig_destroy__ = _IMP_algebra.delete_Ellipsoid3D
5906 
5907 # Register Ellipsoid3D in _IMP_algebra:
5908 _IMP_algebra.Ellipsoid3D_swigregister(Ellipsoid3D)
5909 
5910 def get_ellipsoid_3d_geometry(g):
5911  r"""get_ellipsoid_3d_geometry(Ellipsoid3D g) -> Ellipsoid3D"""
5912  return _IMP_algebra.get_ellipsoid_3d_geometry(g)
5913 class ConnollySurfacePoint(object):
5914  r"""Proxy of C++ IMP::algebra::ConnollySurfacePoint class."""
5915 
5916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5917 
5918  def __init__(self, *args):
5919  r"""
5920  __init__(ConnollySurfacePoint self) -> ConnollySurfacePoint
5921  __init__(ConnollySurfacePoint self, int a0, int a1, int a2, Vector3D sp, float a, Vector3D n) -> ConnollySurfacePoint
5922  """
5923  _IMP_algebra.ConnollySurfacePoint_swiginit(self, _IMP_algebra.new_ConnollySurfacePoint(*args))
5924 
5925  def get_atom(self, i):
5926  r"""get_atom(ConnollySurfacePoint self, unsigned int i) -> int"""
5927  return _IMP_algebra.ConnollySurfacePoint_get_atom(self, i)
5928 
5929  def get_surface_point(self):
5930  r"""get_surface_point(ConnollySurfacePoint self) -> Vector3D"""
5931  return _IMP_algebra.ConnollySurfacePoint_get_surface_point(self)
5932 
5933  def get_area(self):
5934  r"""get_area(ConnollySurfacePoint self) -> double"""
5935  return _IMP_algebra.ConnollySurfacePoint_get_area(self)
5936 
5937  def get_normal(self):
5938  r"""get_normal(ConnollySurfacePoint self) -> Vector3D"""
5939  return _IMP_algebra.ConnollySurfacePoint_get_normal(self)
5940 
5941  def show(self, *args):
5942  r"""show(ConnollySurfacePoint self, _ostream out=std::cout)"""
5943  return _IMP_algebra.ConnollySurfacePoint_show(self, *args)
5944 
5945  def __str__(self):
5946  r"""__str__(ConnollySurfacePoint self) -> std::string"""
5947  return _IMP_algebra.ConnollySurfacePoint___str__(self)
5948 
5949  def __repr__(self):
5950  r"""__repr__(ConnollySurfacePoint self) -> std::string"""
5951  return _IMP_algebra.ConnollySurfacePoint___repr__(self)
5952 
5953  def _get_as_binary(self):
5954  r"""_get_as_binary(ConnollySurfacePoint self) -> PyObject *"""
5955  return _IMP_algebra.ConnollySurfacePoint__get_as_binary(self)
5956 
5957  def _set_from_binary(self, p):
5958  r"""_set_from_binary(ConnollySurfacePoint self, PyObject * p)"""
5959  return _IMP_algebra.ConnollySurfacePoint__set_from_binary(self, p)
5960 
5961  def __getstate__(self):
5962  p = self._get_as_binary()
5963  if len(self.__dict__) > 1:
5964  d = self.__dict__.copy()
5965  del d['this']
5966  p = (d, p)
5967  return p
5968 
5969  def __setstate__(self, p):
5970  if not hasattr(self, 'this'):
5971  self.__init__()
5972  if isinstance(p, tuple):
5973  d, p = p
5974  self.__dict__.update(d)
5975  return self._set_from_binary(p)
5976 
5977  __swig_destroy__ = _IMP_algebra.delete_ConnollySurfacePoint
5978 
5979 # Register ConnollySurfacePoint in _IMP_algebra:
5980 _IMP_algebra.ConnollySurfacePoint_swigregister(ConnollySurfacePoint)
5981 
5982 def get_connolly_surface(spheres, density, probe_radius):
5983  r"""get_connolly_surface(IMP::algebra::Sphere3Ds const & spheres, double density, double probe_radius) -> IMP::algebra::ConnollySurfacePoints"""
5984  return _IMP_algebra.get_connolly_surface(spheres, density, probe_radius)
5985 class LogEmbedding3D(object):
5986  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 3 > class."""
5987 
5988  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5989 
5990  def __init__(self, *args):
5991  r"""
5992  __init__(LogEmbedding3D self, Vector3D origin, Vector3D cell, Vector3D base) -> LogEmbedding3D
5993  __init__(LogEmbedding3D self, BoundingBox3D bb, Vector3D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding3D
5994  __init__(LogEmbedding3D self, Vector3D arg2, Vector3D arg3) -> LogEmbedding3D
5995  __init__(LogEmbedding3D self) -> LogEmbedding3D
5996  """
5997  _IMP_algebra.LogEmbedding3D_swiginit(self, _IMP_algebra.new_LogEmbedding3D(*args))
5998 
5999  def set_origin(self, o):
6000  r"""set_origin(LogEmbedding3D self, Vector3D o)"""
6001  return _IMP_algebra.LogEmbedding3D_set_origin(self, o)
6002 
6003  def get_origin(self):
6004  r"""get_origin(LogEmbedding3D self) -> Vector3D"""
6005  return _IMP_algebra.LogEmbedding3D_get_origin(self)
6006 
6007  def get_dimension(self):
6008  r"""get_dimension(LogEmbedding3D self) -> unsigned int"""
6009  return _IMP_algebra.LogEmbedding3D_get_dimension(self)
6010 
6011  def set_unit_cell(self, *args):
6012  r"""
6013  set_unit_cell(LogEmbedding3D self, Vector3D o, Vector3D base)
6014  set_unit_cell(LogEmbedding3D self, Vector3D o)
6015  """
6016  return _IMP_algebra.LogEmbedding3D_set_unit_cell(self, *args)
6017 
6018  def get_unit_cell(self):
6019  r"""get_unit_cell(LogEmbedding3D self) -> Vector3D"""
6020  return _IMP_algebra.LogEmbedding3D_get_unit_cell(self)
6021 
6022  def get_extended_index(self, o):
6023  r"""get_extended_index(LogEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
6024  return _IMP_algebra.LogEmbedding3D_get_extended_index(self, o)
6025 
6026  def get_index(self, o):
6027  r"""get_index(LogEmbedding3D self, Vector3D o) -> GridIndex3D"""
6028  return _IMP_algebra.LogEmbedding3D_get_index(self, o)
6029 
6030  def get_center(self, *args):
6031  r"""
6032  get_center(LogEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
6033  get_center(LogEmbedding3D self, GridIndex3D ei) -> Vector3D
6034  """
6035  return _IMP_algebra.LogEmbedding3D_get_center(self, *args)
6036 
6037  def get_bounding_box(self, *args):
6038  r"""
6039  get_bounding_box(LogEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
6040  get_bounding_box(LogEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
6041  """
6042  return _IMP_algebra.LogEmbedding3D_get_bounding_box(self, *args)
6043 
6044  def show(self, *args):
6045  r"""show(LogEmbedding3D self, _ostream out=std::cout)"""
6046  return _IMP_algebra.LogEmbedding3D_show(self, *args)
6047 
6048  def __str__(self):
6049  r"""__str__(LogEmbedding3D self) -> std::string"""
6050  return _IMP_algebra.LogEmbedding3D___str__(self)
6051 
6052  def __repr__(self):
6053  r"""__repr__(LogEmbedding3D self) -> std::string"""
6054  return _IMP_algebra.LogEmbedding3D___repr__(self)
6055 
6056  def __cmp__(self, arg2):
6057  r"""__cmp__(LogEmbedding3D self, LogEmbedding3D arg2) -> int"""
6058  return _IMP_algebra.LogEmbedding3D___cmp__(self, arg2)
6059 
6060  def __eq__(self, arg2):
6061  r"""__eq__(LogEmbedding3D self, LogEmbedding3D arg2) -> bool"""
6062  return _IMP_algebra.LogEmbedding3D___eq__(self, arg2)
6063 
6064  def _get_as_binary(self):
6065  r"""_get_as_binary(LogEmbedding3D self) -> PyObject *"""
6066  return _IMP_algebra.LogEmbedding3D__get_as_binary(self)
6067 
6068  def _set_from_binary(self, p):
6069  r"""_set_from_binary(LogEmbedding3D self, PyObject * p)"""
6070  return _IMP_algebra.LogEmbedding3D__set_from_binary(self, p)
6071 
6072  def __getstate__(self):
6073  p = self._get_as_binary()
6074  if len(self.__dict__) > 1:
6075  d = self.__dict__.copy()
6076  del d['this']
6077  p = (d, p)
6078  return p
6079 
6080  def __setstate__(self, p):
6081  if not hasattr(self, 'this'):
6082  self.__init__()
6083  if isinstance(p, tuple):
6084  d, p = p
6085  self.__dict__.update(d)
6086  return self._set_from_binary(p)
6087 
6088  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding3D
6089 
6090 # Register LogEmbedding3D in _IMP_algebra:
6091 _IMP_algebra.LogEmbedding3D_swigregister(LogEmbedding3D)
6092 class LogEmbeddingKD(object):
6093  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< -1 > class."""
6094 
6095  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6096 
6097  def __init__(self, *args):
6098  r"""
6099  __init__(LogEmbeddingKD self, VectorKD origin, VectorKD cell, VectorKD base) -> LogEmbeddingKD
6100  __init__(LogEmbeddingKD self, BoundingBoxKD bb, VectorKD bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbeddingKD
6101  __init__(LogEmbeddingKD self, VectorKD arg2, VectorKD arg3) -> LogEmbeddingKD
6102  __init__(LogEmbeddingKD self) -> LogEmbeddingKD
6103  """
6104  _IMP_algebra.LogEmbeddingKD_swiginit(self, _IMP_algebra.new_LogEmbeddingKD(*args))
6105 
6106  def set_origin(self, o):
6107  r"""set_origin(LogEmbeddingKD self, VectorKD o)"""
6108  return _IMP_algebra.LogEmbeddingKD_set_origin(self, o)
6109 
6110  def get_origin(self):
6111  r"""get_origin(LogEmbeddingKD self) -> VectorKD"""
6112  return _IMP_algebra.LogEmbeddingKD_get_origin(self)
6113 
6114  def get_dimension(self):
6115  r"""get_dimension(LogEmbeddingKD self) -> unsigned int"""
6116  return _IMP_algebra.LogEmbeddingKD_get_dimension(self)
6117 
6118  def set_unit_cell(self, *args):
6119  r"""
6120  set_unit_cell(LogEmbeddingKD self, VectorKD o, VectorKD base)
6121  set_unit_cell(LogEmbeddingKD self, VectorKD o)
6122  """
6123  return _IMP_algebra.LogEmbeddingKD_set_unit_cell(self, *args)
6124 
6125  def get_unit_cell(self):
6126  r"""get_unit_cell(LogEmbeddingKD self) -> VectorKD"""
6127  return _IMP_algebra.LogEmbeddingKD_get_unit_cell(self)
6128 
6129  def get_extended_index(self, o):
6130  r"""get_extended_index(LogEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
6131  return _IMP_algebra.LogEmbeddingKD_get_extended_index(self, o)
6132 
6133  def get_index(self, o):
6134  r"""get_index(LogEmbeddingKD self, VectorKD o) -> GridIndexKD"""
6135  return _IMP_algebra.LogEmbeddingKD_get_index(self, o)
6136 
6137  def get_center(self, *args):
6138  r"""
6139  get_center(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
6140  get_center(LogEmbeddingKD self, GridIndexKD ei) -> VectorKD
6141  """
6142  return _IMP_algebra.LogEmbeddingKD_get_center(self, *args)
6143 
6144  def get_bounding_box(self, *args):
6145  r"""
6146  get_bounding_box(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
6147  get_bounding_box(LogEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
6148  """
6149  return _IMP_algebra.LogEmbeddingKD_get_bounding_box(self, *args)
6150 
6151  def show(self, *args):
6152  r"""show(LogEmbeddingKD self, _ostream out=std::cout)"""
6153  return _IMP_algebra.LogEmbeddingKD_show(self, *args)
6154 
6155  def __str__(self):
6156  r"""__str__(LogEmbeddingKD self) -> std::string"""
6157  return _IMP_algebra.LogEmbeddingKD___str__(self)
6158 
6159  def __repr__(self):
6160  r"""__repr__(LogEmbeddingKD self) -> std::string"""
6161  return _IMP_algebra.LogEmbeddingKD___repr__(self)
6162 
6163  def __cmp__(self, arg2):
6164  r"""__cmp__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> int"""
6165  return _IMP_algebra.LogEmbeddingKD___cmp__(self, arg2)
6166 
6167  def __eq__(self, arg2):
6168  r"""__eq__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> bool"""
6169  return _IMP_algebra.LogEmbeddingKD___eq__(self, arg2)
6170 
6171  def _get_as_binary(self):
6172  r"""_get_as_binary(LogEmbeddingKD self) -> PyObject *"""
6173  return _IMP_algebra.LogEmbeddingKD__get_as_binary(self)
6174 
6175  def _set_from_binary(self, p):
6176  r"""_set_from_binary(LogEmbeddingKD self, PyObject * p)"""
6177  return _IMP_algebra.LogEmbeddingKD__set_from_binary(self, p)
6178 
6179  def __getstate__(self):
6180  p = self._get_as_binary()
6181  if len(self.__dict__) > 1:
6182  d = self.__dict__.copy()
6183  del d['this']
6184  p = (d, p)
6185  return p
6186 
6187  def __setstate__(self, p):
6188  if not hasattr(self, 'this'):
6189  self.__init__()
6190  if isinstance(p, tuple):
6191  d, p = p
6192  self.__dict__.update(d)
6193  return self._set_from_binary(p)
6194 
6195  __swig_destroy__ = _IMP_algebra.delete_LogEmbeddingKD
6196 
6197 # Register LogEmbeddingKD in _IMP_algebra:
6198 _IMP_algebra.LogEmbeddingKD_swigregister(LogEmbeddingKD)
6199 class DenseFloatLogGridKD(object):
6200  r"""Proxy of C++ IMP::algebra::DenseFloatLogGridKD class."""
6201 
6202  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6203 
6204  def __init__(self, sz, le):
6205  r"""__init__(DenseFloatLogGridKD self, IMP::Ints const & sz, LogEmbeddingKD le) -> DenseFloatLogGridKD"""
6206  _IMP_algebra.DenseFloatLogGridKD_swiginit(self, _IMP_algebra.new_DenseFloatLogGridKD(sz, le))
6207 
6208  def add_voxel(self, i, q):
6209  r"""add_voxel(DenseFloatLogGridKD self, ExtendedGridIndexKD i, float const & q) -> GridIndexKD"""
6210  return _IMP_algebra.DenseFloatLogGridKD_add_voxel(self, i, q)
6211 
6212  def __getitem__(self, *args):
6213  r"""
6214  __getitem__(DenseFloatLogGridKD self, GridIndexKD i) -> float
6215  __getitem__(DenseFloatLogGridKD self, VectorKD i) -> float
6216  """
6217  return _IMP_algebra.DenseFloatLogGridKD___getitem__(self, *args)
6218 
6219  def __setitem__(self, *args):
6220  r"""
6221  __setitem__(DenseFloatLogGridKD self, GridIndexKD i, float const & q)
6222  __setitem__(DenseFloatLogGridKD self, VectorKD i, float const & q)
6223  """
6224  return _IMP_algebra.DenseFloatLogGridKD___setitem__(self, *args)
6225 
6226  def get_bounding_box(self, *args):
6227  r"""
6228  get_bounding_box(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6229  get_bounding_box(DenseFloatLogGridKD self) -> BoundingBoxKD
6230  """
6231  return _IMP_algebra.DenseFloatLogGridKD_get_bounding_box(self, *args)
6232 
6233  def get_indexes(self, *args):
6234  r"""
6235  get_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6236  get_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6237  """
6238  return _IMP_algebra.DenseFloatLogGridKD_get_indexes(self, *args)
6239 
6240  def get_all_indexes(self):
6241  r"""get_all_indexes(DenseFloatLogGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
6242  return _IMP_algebra.DenseFloatLogGridKD_get_all_indexes(self)
6243 
6244  def get_extended_indexes(self, *args):
6245  r"""
6246  get_extended_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6247  get_extended_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6248  """
6249  return _IMP_algebra.DenseFloatLogGridKD_get_extended_indexes(self, *args)
6250 
6251  def get_center(self, *args):
6252  r"""
6253  get_center(DenseFloatLogGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6254  get_center(DenseFloatLogGridKD self, GridIndexKD ei) -> VectorKD
6255  """
6256  return _IMP_algebra.DenseFloatLogGridKD_get_center(self, *args)
6257 
6258  def get_extended_index(self, v):
6259  r"""get_extended_index(DenseFloatLogGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6260  return _IMP_algebra.DenseFloatLogGridKD_get_extended_index(self, v)
6261 
6262  def get_index(self, v):
6263  r"""get_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6264  return _IMP_algebra.DenseFloatLogGridKD_get_index(self, v)
6265 
6266  def get_origin(self):
6267  r"""get_origin(DenseFloatLogGridKD self) -> VectorKD"""
6268  return _IMP_algebra.DenseFloatLogGridKD_get_origin(self)
6269 
6270  def get_dimension(self):
6271  r"""get_dimension(DenseFloatLogGridKD self) -> unsigned int"""
6272  return _IMP_algebra.DenseFloatLogGridKD_get_dimension(self)
6273 
6274  def get_unit_cell(self):
6275  r"""get_unit_cell(DenseFloatLogGridKD self) -> VectorKD"""
6276  return _IMP_algebra.DenseFloatLogGridKD_get_unit_cell(self)
6277 
6278  def get_has_index(self, v):
6279  r"""get_has_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> bool"""
6280  return _IMP_algebra.DenseFloatLogGridKD_get_has_index(self, v)
6281 
6282  def __str__(self):
6283  r"""__str__(DenseFloatLogGridKD self) -> std::string"""
6284  return _IMP_algebra.DenseFloatLogGridKD___str__(self)
6285 
6286  def __repr__(self):
6287  r"""__repr__(DenseFloatLogGridKD self) -> std::string"""
6288  return _IMP_algebra.DenseFloatLogGridKD___repr__(self)
6289 
6290  def show(self, *args):
6291  r"""show(DenseFloatLogGridKD self, _ostream out=std::cout)"""
6292  return _IMP_algebra.DenseFloatLogGridKD_show(self, *args)
6293  __swig_destroy__ = _IMP_algebra.delete_DenseFloatLogGridKD
6294 
6295 # Register DenseFloatLogGridKD in _IMP_algebra:
6296 _IMP_algebra.DenseFloatLogGridKD_swigregister(DenseFloatLogGridKD)
6297 class DenseIntLogGrid3D(object):
6298  r"""Proxy of C++ IMP::algebra::DenseIntLogGrid3D class."""
6299 
6300  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6301 
6302  def __init__(self, sz, le):
6303  r"""__init__(DenseIntLogGrid3D self, IMP::Ints const & sz, LogEmbedding3D le) -> DenseIntLogGrid3D"""
6304  _IMP_algebra.DenseIntLogGrid3D_swiginit(self, _IMP_algebra.new_DenseIntLogGrid3D(sz, le))
6305 
6306  def add_voxel(self, i, q):
6307  r"""add_voxel(DenseIntLogGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6308  return _IMP_algebra.DenseIntLogGrid3D_add_voxel(self, i, q)
6309 
6310  def __getitem__(self, *args):
6311  r"""
6312  __getitem__(DenseIntLogGrid3D self, GridIndex3D i) -> int
6313  __getitem__(DenseIntLogGrid3D self, Vector3D i) -> int
6314  """
6315  return _IMP_algebra.DenseIntLogGrid3D___getitem__(self, *args)
6316 
6317  def __setitem__(self, *args):
6318  r"""
6319  __setitem__(DenseIntLogGrid3D self, GridIndex3D i, int const & q)
6320  __setitem__(DenseIntLogGrid3D self, Vector3D i, int const & q)
6321  """
6322  return _IMP_algebra.DenseIntLogGrid3D___setitem__(self, *args)
6323 
6324  def get_bounding_box(self, *args):
6325  r"""
6326  get_bounding_box(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6327  get_bounding_box(DenseIntLogGrid3D self) -> BoundingBox3D
6328  """
6329  return _IMP_algebra.DenseIntLogGrid3D_get_bounding_box(self, *args)
6330 
6331  def get_indexes(self, *args):
6332  r"""
6333  get_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6334  get_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6335  """
6336  return _IMP_algebra.DenseIntLogGrid3D_get_indexes(self, *args)
6337 
6338  def get_all_indexes(self):
6339  r"""get_all_indexes(DenseIntLogGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6340  return _IMP_algebra.DenseIntLogGrid3D_get_all_indexes(self)
6341 
6342  def get_extended_indexes(self, *args):
6343  r"""
6344  get_extended_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6345  get_extended_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6346  """
6347  return _IMP_algebra.DenseIntLogGrid3D_get_extended_indexes(self, *args)
6348 
6349  def get_center(self, *args):
6350  r"""
6351  get_center(DenseIntLogGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6352  get_center(DenseIntLogGrid3D self, GridIndex3D ei) -> Vector3D
6353  """
6354  return _IMP_algebra.DenseIntLogGrid3D_get_center(self, *args)
6355 
6356  def get_extended_index(self, v):
6357  r"""get_extended_index(DenseIntLogGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6358  return _IMP_algebra.DenseIntLogGrid3D_get_extended_index(self, v)
6359 
6360  def get_index(self, v):
6361  r"""get_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6362  return _IMP_algebra.DenseIntLogGrid3D_get_index(self, v)
6363 
6364  def get_origin(self):
6365  r"""get_origin(DenseIntLogGrid3D self) -> Vector3D"""
6366  return _IMP_algebra.DenseIntLogGrid3D_get_origin(self)
6367 
6368  def get_dimension(self):
6369  r"""get_dimension(DenseIntLogGrid3D self) -> unsigned int"""
6370  return _IMP_algebra.DenseIntLogGrid3D_get_dimension(self)
6371 
6372  def get_unit_cell(self):
6373  r"""get_unit_cell(DenseIntLogGrid3D self) -> Vector3D"""
6374  return _IMP_algebra.DenseIntLogGrid3D_get_unit_cell(self)
6375 
6376  def get_has_index(self, v):
6377  r"""get_has_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> bool"""
6378  return _IMP_algebra.DenseIntLogGrid3D_get_has_index(self, v)
6379 
6380  def __str__(self):
6381  r"""__str__(DenseIntLogGrid3D self) -> std::string"""
6382  return _IMP_algebra.DenseIntLogGrid3D___str__(self)
6383 
6384  def __repr__(self):
6385  r"""__repr__(DenseIntLogGrid3D self) -> std::string"""
6386  return _IMP_algebra.DenseIntLogGrid3D___repr__(self)
6387 
6388  def show(self, *args):
6389  r"""show(DenseIntLogGrid3D self, _ostream out=std::cout)"""
6390  return _IMP_algebra.DenseIntLogGrid3D_show(self, *args)
6391  __swig_destroy__ = _IMP_algebra.delete_DenseIntLogGrid3D
6392 
6393 # Register DenseIntLogGrid3D in _IMP_algebra:
6394 _IMP_algebra.DenseIntLogGrid3D_swigregister(DenseIntLogGrid3D)
6395 class DenseDoubleGrid3D(object):
6396  r"""Proxy of C++ IMP::algebra::DenseGrid3D< double > class."""
6397 
6398  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6399 
6400  def __init__(self, *args):
6401  r"""
6402  __init__(DenseDoubleGrid3D self, double side, BoundingBox3D bb, double _def=double()) -> DenseDoubleGrid3D
6403  __init__(DenseDoubleGrid3D self) -> DenseDoubleGrid3D
6404  """
6405  _IMP_algebra.DenseDoubleGrid3D_swiginit(self, _IMP_algebra.new_DenseDoubleGrid3D(*args))
6406 
6407  def add_voxel(self, i, q):
6408  r"""add_voxel(DenseDoubleGrid3D self, ExtendedGridIndex3D i, double const & q) -> GridIndex3D"""
6409  return _IMP_algebra.DenseDoubleGrid3D_add_voxel(self, i, q)
6410 
6411  def __getitem__(self, *args):
6412  r"""
6413  __getitem__(DenseDoubleGrid3D self, GridIndex3D i) -> double
6414  __getitem__(DenseDoubleGrid3D self, Vector3D i) -> double
6415  """
6416  return _IMP_algebra.DenseDoubleGrid3D___getitem__(self, *args)
6417 
6418  def __setitem__(self, *args):
6419  r"""
6420  __setitem__(DenseDoubleGrid3D self, GridIndex3D i, double const & q)
6421  __setitem__(DenseDoubleGrid3D self, Vector3D i, double const & q)
6422  """
6423  return _IMP_algebra.DenseDoubleGrid3D___setitem__(self, *args)
6424 
6425  def get_bounding_box(self, *args):
6426  r"""
6427  get_bounding_box(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6428  get_bounding_box(DenseDoubleGrid3D self) -> BoundingBox3D
6429  """
6430  return _IMP_algebra.DenseDoubleGrid3D_get_bounding_box(self, *args)
6431 
6432  def get_indexes(self, *args):
6433  r"""
6434  get_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6435  get_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6436  """
6437  return _IMP_algebra.DenseDoubleGrid3D_get_indexes(self, *args)
6438 
6439  def get_all_indexes(self):
6440  r"""get_all_indexes(DenseDoubleGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6441  return _IMP_algebra.DenseDoubleGrid3D_get_all_indexes(self)
6442 
6443  def get_extended_indexes(self, *args):
6444  r"""
6445  get_extended_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6446  get_extended_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6447  """
6448  return _IMP_algebra.DenseDoubleGrid3D_get_extended_indexes(self, *args)
6449 
6450  def get_center(self, *args):
6451  r"""
6452  get_center(DenseDoubleGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6453  get_center(DenseDoubleGrid3D self, GridIndex3D ei) -> Vector3D
6454  """
6455  return _IMP_algebra.DenseDoubleGrid3D_get_center(self, *args)
6456 
6457  def get_extended_index(self, v):
6458  r"""get_extended_index(DenseDoubleGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6459  return _IMP_algebra.DenseDoubleGrid3D_get_extended_index(self, v)
6460 
6461  def get_index(self, v):
6462  r"""get_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6463  return _IMP_algebra.DenseDoubleGrid3D_get_index(self, v)
6464 
6465  def get_origin(self):
6466  r"""get_origin(DenseDoubleGrid3D self) -> Vector3D"""
6467  return _IMP_algebra.DenseDoubleGrid3D_get_origin(self)
6468 
6469  def get_dimension(self):
6470  r"""get_dimension(DenseDoubleGrid3D self) -> unsigned int"""
6471  return _IMP_algebra.DenseDoubleGrid3D_get_dimension(self)
6472 
6473  def get_unit_cell(self):
6474  r"""get_unit_cell(DenseDoubleGrid3D self) -> Vector3D"""
6475  return _IMP_algebra.DenseDoubleGrid3D_get_unit_cell(self)
6476 
6477  def get_has_index(self, v):
6478  r"""get_has_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> bool"""
6479  return _IMP_algebra.DenseDoubleGrid3D_get_has_index(self, v)
6480 
6481  def __str__(self):
6482  r"""__str__(DenseDoubleGrid3D self) -> std::string"""
6483  return _IMP_algebra.DenseDoubleGrid3D___str__(self)
6484 
6485  def __repr__(self):
6486  r"""__repr__(DenseDoubleGrid3D self) -> std::string"""
6487  return _IMP_algebra.DenseDoubleGrid3D___repr__(self)
6488 
6489  def show(self, *args):
6490  r"""show(DenseDoubleGrid3D self, _ostream out=std::cout)"""
6491  return _IMP_algebra.DenseDoubleGrid3D_show(self, *args)
6492  __swig_destroy__ = _IMP_algebra.delete_DenseDoubleGrid3D
6493 
6494 # Register DenseDoubleGrid3D in _IMP_algebra:
6495 _IMP_algebra.DenseDoubleGrid3D_swigregister(DenseDoubleGrid3D)
6496 class DenseFloatGrid3D(object):
6497  r"""Proxy of C++ IMP::algebra::DenseGrid3D< float > class."""
6498 
6499  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6500 
6501  def __init__(self, *args):
6502  r"""
6503  __init__(DenseFloatGrid3D self, double side, BoundingBox3D bb, float _def=float()) -> DenseFloatGrid3D
6504  __init__(DenseFloatGrid3D self) -> DenseFloatGrid3D
6505  """
6506  _IMP_algebra.DenseFloatGrid3D_swiginit(self, _IMP_algebra.new_DenseFloatGrid3D(*args))
6507 
6508  def add_voxel(self, i, q):
6509  r"""add_voxel(DenseFloatGrid3D self, ExtendedGridIndex3D i, float const & q) -> GridIndex3D"""
6510  return _IMP_algebra.DenseFloatGrid3D_add_voxel(self, i, q)
6511 
6512  def __getitem__(self, *args):
6513  r"""
6514  __getitem__(DenseFloatGrid3D self, GridIndex3D i) -> float
6515  __getitem__(DenseFloatGrid3D self, Vector3D i) -> float
6516  """
6517  return _IMP_algebra.DenseFloatGrid3D___getitem__(self, *args)
6518 
6519  def __setitem__(self, *args):
6520  r"""
6521  __setitem__(DenseFloatGrid3D self, GridIndex3D i, float const & q)
6522  __setitem__(DenseFloatGrid3D self, Vector3D i, float const & q)
6523  """
6524  return _IMP_algebra.DenseFloatGrid3D___setitem__(self, *args)
6525 
6526  def get_bounding_box(self, *args):
6527  r"""
6528  get_bounding_box(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6529  get_bounding_box(DenseFloatGrid3D self) -> BoundingBox3D
6530  """
6531  return _IMP_algebra.DenseFloatGrid3D_get_bounding_box(self, *args)
6532 
6533  def get_indexes(self, *args):
6534  r"""
6535  get_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6536  get_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6537  """
6538  return _IMP_algebra.DenseFloatGrid3D_get_indexes(self, *args)
6539 
6540  def get_all_indexes(self):
6541  r"""get_all_indexes(DenseFloatGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6542  return _IMP_algebra.DenseFloatGrid3D_get_all_indexes(self)
6543 
6544  def get_extended_indexes(self, *args):
6545  r"""
6546  get_extended_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6547  get_extended_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6548  """
6549  return _IMP_algebra.DenseFloatGrid3D_get_extended_indexes(self, *args)
6550 
6551  def get_center(self, *args):
6552  r"""
6553  get_center(DenseFloatGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6554  get_center(DenseFloatGrid3D self, GridIndex3D ei) -> Vector3D
6555  """
6556  return _IMP_algebra.DenseFloatGrid3D_get_center(self, *args)
6557 
6558  def get_extended_index(self, v):
6559  r"""get_extended_index(DenseFloatGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6560  return _IMP_algebra.DenseFloatGrid3D_get_extended_index(self, v)
6561 
6562  def get_index(self, v):
6563  r"""get_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6564  return _IMP_algebra.DenseFloatGrid3D_get_index(self, v)
6565 
6566  def get_origin(self):
6567  r"""get_origin(DenseFloatGrid3D self) -> Vector3D"""
6568  return _IMP_algebra.DenseFloatGrid3D_get_origin(self)
6569 
6570  def get_dimension(self):
6571  r"""get_dimension(DenseFloatGrid3D self) -> unsigned int"""
6572  return _IMP_algebra.DenseFloatGrid3D_get_dimension(self)
6573 
6574  def get_unit_cell(self):
6575  r"""get_unit_cell(DenseFloatGrid3D self) -> Vector3D"""
6576  return _IMP_algebra.DenseFloatGrid3D_get_unit_cell(self)
6577 
6578  def get_has_index(self, v):
6579  r"""get_has_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> bool"""
6580  return _IMP_algebra.DenseFloatGrid3D_get_has_index(self, v)
6581 
6582  def __str__(self):
6583  r"""__str__(DenseFloatGrid3D self) -> std::string"""
6584  return _IMP_algebra.DenseFloatGrid3D___str__(self)
6585 
6586  def __repr__(self):
6587  r"""__repr__(DenseFloatGrid3D self) -> std::string"""
6588  return _IMP_algebra.DenseFloatGrid3D___repr__(self)
6589 
6590  def show(self, *args):
6591  r"""show(DenseFloatGrid3D self, _ostream out=std::cout)"""
6592  return _IMP_algebra.DenseFloatGrid3D_show(self, *args)
6593  __swig_destroy__ = _IMP_algebra.delete_DenseFloatGrid3D
6594 
6595 # Register DenseFloatGrid3D in _IMP_algebra:
6596 _IMP_algebra.DenseFloatGrid3D_swigregister(DenseFloatGrid3D)
6597 class SparseUnboundedIntGrid3D(object):
6598  r"""Proxy of C++ IMP::algebra::SparseUnboundedGrid3D< int > class."""
6599 
6600  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6601 
6602  def __init__(self, *args):
6603  r"""
6604  __init__(SparseUnboundedIntGrid3D self, double side, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6605  __init__(SparseUnboundedIntGrid3D self, Vector3D sides, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6606  __init__(SparseUnboundedIntGrid3D self) -> SparseUnboundedIntGrid3D
6607  """
6608  _IMP_algebra.SparseUnboundedIntGrid3D_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGrid3D(*args))
6609 
6610  def add_voxel(self, i, q):
6611  r"""add_voxel(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6612  return _IMP_algebra.SparseUnboundedIntGrid3D_add_voxel(self, i, q)
6613 
6614  def __getitem__(self, *args):
6615  r"""
6616  __getitem__(SparseUnboundedIntGrid3D self, GridIndex3D i) -> int
6617  __getitem__(SparseUnboundedIntGrid3D self, Vector3D i) -> int
6618  """
6619  return _IMP_algebra.SparseUnboundedIntGrid3D___getitem__(self, *args)
6620 
6621  def __setitem__(self, *args):
6622  r"""
6623  __setitem__(SparseUnboundedIntGrid3D self, GridIndex3D i, int const & q)
6624  __setitem__(SparseUnboundedIntGrid3D self, Vector3D i, int const & q)
6625  """
6626  return _IMP_algebra.SparseUnboundedIntGrid3D___setitem__(self, *args)
6627 
6628  def get_bounding_box(self, *args):
6629  r"""
6630  get_bounding_box(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6631  get_bounding_box(SparseUnboundedIntGrid3D self) -> BoundingBox3D
6632  """
6633  return _IMP_algebra.SparseUnboundedIntGrid3D_get_bounding_box(self, *args)
6634 
6635  def get_indexes(self, *args):
6636  r"""
6637  get_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6638  get_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6639  """
6640  return _IMP_algebra.SparseUnboundedIntGrid3D_get_indexes(self, *args)
6641 
6642  def get_all_indexes(self):
6643  r"""get_all_indexes(SparseUnboundedIntGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6644  return _IMP_algebra.SparseUnboundedIntGrid3D_get_all_indexes(self)
6645 
6646  def get_extended_indexes(self, *args):
6647  r"""
6648  get_extended_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6649  get_extended_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6650  """
6651  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_indexes(self, *args)
6652 
6653  def get_center(self, *args):
6654  r"""
6655  get_center(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6656  get_center(SparseUnboundedIntGrid3D self, GridIndex3D ei) -> Vector3D
6657  """
6658  return _IMP_algebra.SparseUnboundedIntGrid3D_get_center(self, *args)
6659 
6660  def get_extended_index(self, v):
6661  r"""get_extended_index(SparseUnboundedIntGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6662  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_index(self, v)
6663 
6664  def get_index(self, v):
6665  r"""get_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6666  return _IMP_algebra.SparseUnboundedIntGrid3D_get_index(self, v)
6667 
6668  def get_origin(self):
6669  r"""get_origin(SparseUnboundedIntGrid3D self) -> Vector3D"""
6670  return _IMP_algebra.SparseUnboundedIntGrid3D_get_origin(self)
6671 
6672  def get_dimension(self):
6673  r"""get_dimension(SparseUnboundedIntGrid3D self) -> unsigned int"""
6674  return _IMP_algebra.SparseUnboundedIntGrid3D_get_dimension(self)
6675 
6676  def get_unit_cell(self):
6677  r"""get_unit_cell(SparseUnboundedIntGrid3D self) -> Vector3D"""
6678  return _IMP_algebra.SparseUnboundedIntGrid3D_get_unit_cell(self)
6679 
6680  def get_has_index(self, v):
6681  r"""get_has_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> bool"""
6682  return _IMP_algebra.SparseUnboundedIntGrid3D_get_has_index(self, v)
6683 
6684  def __str__(self):
6685  r"""__str__(SparseUnboundedIntGrid3D self) -> std::string"""
6686  return _IMP_algebra.SparseUnboundedIntGrid3D___str__(self)
6687 
6688  def __repr__(self):
6689  r"""__repr__(SparseUnboundedIntGrid3D self) -> std::string"""
6690  return _IMP_algebra.SparseUnboundedIntGrid3D___repr__(self)
6691 
6692  def show(self, *args):
6693  r"""show(SparseUnboundedIntGrid3D self, _ostream out=std::cout)"""
6694  return _IMP_algebra.SparseUnboundedIntGrid3D_show(self, *args)
6695  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGrid3D
6696 
6697 # Register SparseUnboundedIntGrid3D in _IMP_algebra:
6698 _IMP_algebra.SparseUnboundedIntGrid3D_swigregister(SparseUnboundedIntGrid3D)
6699 class SparseUnboundedIntGridKD(object):
6700  r"""Proxy of C++ IMP::algebra::SparseUnboundedGridD< -1,int > class."""
6701 
6702  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6703 
6704  def __init__(self, *args):
6705  r"""
6706  __init__(SparseUnboundedIntGridKD self, double side, VectorKD origin, int _def=int()) -> SparseUnboundedIntGridKD
6707  __init__(SparseUnboundedIntGridKD self) -> SparseUnboundedIntGridKD
6708  """
6709  _IMP_algebra.SparseUnboundedIntGridKD_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGridKD(*args))
6710 
6711  def add_voxel(self, i, q):
6712  r"""add_voxel(SparseUnboundedIntGridKD self, ExtendedGridIndexKD i, int const & q) -> GridIndexKD"""
6713  return _IMP_algebra.SparseUnboundedIntGridKD_add_voxel(self, i, q)
6714 
6715  def __getitem__(self, *args):
6716  r"""
6717  __getitem__(SparseUnboundedIntGridKD self, GridIndexKD i) -> int
6718  __getitem__(SparseUnboundedIntGridKD self, VectorKD i) -> int
6719  """
6720  return _IMP_algebra.SparseUnboundedIntGridKD___getitem__(self, *args)
6721 
6722  def __setitem__(self, *args):
6723  r"""
6724  __setitem__(SparseUnboundedIntGridKD self, GridIndexKD i, int const & q)
6725  __setitem__(SparseUnboundedIntGridKD self, VectorKD i, int const & q)
6726  """
6727  return _IMP_algebra.SparseUnboundedIntGridKD___setitem__(self, *args)
6728 
6729  def get_bounding_box(self, *args):
6730  r"""
6731  get_bounding_box(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6732  get_bounding_box(SparseUnboundedIntGridKD self) -> BoundingBoxKD
6733  """
6734  return _IMP_algebra.SparseUnboundedIntGridKD_get_bounding_box(self, *args)
6735 
6736  def get_indexes(self, *args):
6737  r"""
6738  get_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6739  get_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6740  """
6741  return _IMP_algebra.SparseUnboundedIntGridKD_get_indexes(self, *args)
6742 
6743  def get_all_indexes(self):
6744  r"""get_all_indexes(SparseUnboundedIntGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
6745  return _IMP_algebra.SparseUnboundedIntGridKD_get_all_indexes(self)
6746 
6747  def get_extended_indexes(self, *args):
6748  r"""
6749  get_extended_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6750  get_extended_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6751  """
6752  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_indexes(self, *args)
6753 
6754  def get_center(self, *args):
6755  r"""
6756  get_center(SparseUnboundedIntGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6757  get_center(SparseUnboundedIntGridKD self, GridIndexKD ei) -> VectorKD
6758  """
6759  return _IMP_algebra.SparseUnboundedIntGridKD_get_center(self, *args)
6760 
6761  def get_extended_index(self, v):
6762  r"""get_extended_index(SparseUnboundedIntGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6763  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_index(self, v)
6764 
6765  def get_index(self, v):
6766  r"""get_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6767  return _IMP_algebra.SparseUnboundedIntGridKD_get_index(self, v)
6768 
6769  def get_origin(self):
6770  r"""get_origin(SparseUnboundedIntGridKD self) -> VectorKD"""
6771  return _IMP_algebra.SparseUnboundedIntGridKD_get_origin(self)
6772 
6773  def get_dimension(self):
6774  r"""get_dimension(SparseUnboundedIntGridKD self) -> unsigned int"""
6775  return _IMP_algebra.SparseUnboundedIntGridKD_get_dimension(self)
6776 
6777  def get_unit_cell(self):
6778  r"""get_unit_cell(SparseUnboundedIntGridKD self) -> VectorKD"""
6779  return _IMP_algebra.SparseUnboundedIntGridKD_get_unit_cell(self)
6780 
6781  def get_has_index(self, v):
6782  r"""get_has_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> bool"""
6783  return _IMP_algebra.SparseUnboundedIntGridKD_get_has_index(self, v)
6784 
6785  def __str__(self):
6786  r"""__str__(SparseUnboundedIntGridKD self) -> std::string"""
6787  return _IMP_algebra.SparseUnboundedIntGridKD___str__(self)
6788 
6789  def __repr__(self):
6790  r"""__repr__(SparseUnboundedIntGridKD self) -> std::string"""
6791  return _IMP_algebra.SparseUnboundedIntGridKD___repr__(self)
6792 
6793  def show(self, *args):
6794  r"""show(SparseUnboundedIntGridKD self, _ostream out=std::cout)"""
6795  return _IMP_algebra.SparseUnboundedIntGridKD_show(self, *args)
6796  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGridKD
6797 
6798 # Register SparseUnboundedIntGridKD in _IMP_algebra:
6799 _IMP_algebra.SparseUnboundedIntGridKD_swigregister(SparseUnboundedIntGridKD)
6800 class GridIndex1D(IMP._Value):
6801  r"""Proxy of C++ IMP::algebra::GridIndexD< 1 > class."""
6802 
6803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6804 
6805  def __init__(self, *args):
6806  r"""
6807  __init__(GridIndex1D self) -> GridIndex1D
6808  __init__(GridIndex1D self, int x) -> GridIndex1D
6809  __init__(GridIndex1D self, int x, int y) -> GridIndex1D
6810  __init__(GridIndex1D self, int x, int y, int z) -> GridIndex1D
6811  __init__(GridIndex1D self, int i, int j, int k, int l) -> GridIndex1D
6812  __init__(GridIndex1D self, int i, int j, int k, int l, int m) -> GridIndex1D
6813  __init__(GridIndex1D self, int i, int j, int k, int l, int m, int n) -> GridIndex1D
6814  """
6815  _IMP_algebra.GridIndex1D_swiginit(self, _IMP_algebra.new_GridIndex1D(*args))
6816 
6817  def get_dimension(self):
6818  r"""get_dimension(GridIndex1D self) -> unsigned int"""
6819  return _IMP_algebra.GridIndex1D_get_dimension(self)
6820 
6821  def __getitem__(self, i):
6822  r"""__getitem__(GridIndex1D self, unsigned int i) -> int const &"""
6823  return _IMP_algebra.GridIndex1D___getitem__(self, i)
6824 
6825  def show(self, *args):
6826  r"""show(GridIndex1D self, _ostream out=std::cout)"""
6827  return _IMP_algebra.GridIndex1D_show(self, *args)
6828 
6829  def __len__(self):
6830  r"""__len__(GridIndex1D self) -> unsigned int"""
6831  return _IMP_algebra.GridIndex1D___len__(self)
6832 
6833  def __cmp__(self, o):
6834  r"""__cmp__(GridIndex1D self, GridIndex1D o) -> int"""
6835  return _IMP_algebra.GridIndex1D___cmp__(self, o)
6836 
6837  def __eq__(self, o):
6838  r"""__eq__(GridIndex1D self, GridIndex1D o) -> bool"""
6839  return _IMP_algebra.GridIndex1D___eq__(self, o)
6840 
6841  def __ne__(self, o):
6842  r"""__ne__(GridIndex1D self, GridIndex1D o) -> bool"""
6843  return _IMP_algebra.GridIndex1D___ne__(self, o)
6844 
6845  def __lt__(self, o):
6846  r"""__lt__(GridIndex1D self, GridIndex1D o) -> bool"""
6847  return _IMP_algebra.GridIndex1D___lt__(self, o)
6848 
6849  def __gt__(self, o):
6850  r"""__gt__(GridIndex1D self, GridIndex1D o) -> bool"""
6851  return _IMP_algebra.GridIndex1D___gt__(self, o)
6852 
6853  def __ge__(self, o):
6854  r"""__ge__(GridIndex1D self, GridIndex1D o) -> bool"""
6855  return _IMP_algebra.GridIndex1D___ge__(self, o)
6856 
6857  def __le__(self, o):
6858  r"""__le__(GridIndex1D self, GridIndex1D o) -> bool"""
6859  return _IMP_algebra.GridIndex1D___le__(self, o)
6860 
6861  def __hash__(self):
6862  r"""__hash__(GridIndex1D self) -> std::size_t"""
6863  return _IMP_algebra.GridIndex1D___hash__(self)
6864 
6865  def __str__(self):
6866  r"""__str__(GridIndex1D self) -> std::string"""
6867  return _IMP_algebra.GridIndex1D___str__(self)
6868 
6869  def __repr__(self):
6870  r"""__repr__(GridIndex1D self) -> std::string"""
6871  return _IMP_algebra.GridIndex1D___repr__(self)
6872 
6873  def _get_as_binary(self):
6874  r"""_get_as_binary(GridIndex1D self) -> PyObject *"""
6875  return _IMP_algebra.GridIndex1D__get_as_binary(self)
6876 
6877  def _set_from_binary(self, p):
6878  r"""_set_from_binary(GridIndex1D self, PyObject * p)"""
6879  return _IMP_algebra.GridIndex1D__set_from_binary(self, p)
6880 
6881  def __getstate__(self):
6882  p = self._get_as_binary()
6883  if len(self.__dict__) > 1:
6884  d = self.__dict__.copy()
6885  del d['this']
6886  p = (d, p)
6887  return p
6888 
6889  def __setstate__(self, p):
6890  if not hasattr(self, 'this'):
6891  self.__init__()
6892  if isinstance(p, tuple):
6893  d, p = p
6894  self.__dict__.update(d)
6895  return self._set_from_binary(p)
6896 
6897  __swig_destroy__ = _IMP_algebra.delete_GridIndex1D
6898 
6899 # Register GridIndex1D in _IMP_algebra:
6900 _IMP_algebra.GridIndex1D_swigregister(GridIndex1D)
6901 class GridIndex2D(IMP._Value):
6902  r"""Proxy of C++ IMP::algebra::GridIndexD< 2 > class."""
6903 
6904  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6905 
6906  def __init__(self, *args):
6907  r"""
6908  __init__(GridIndex2D self) -> GridIndex2D
6909  __init__(GridIndex2D self, int x) -> GridIndex2D
6910  __init__(GridIndex2D self, int x, int y) -> GridIndex2D
6911  __init__(GridIndex2D self, int x, int y, int z) -> GridIndex2D
6912  __init__(GridIndex2D self, int i, int j, int k, int l) -> GridIndex2D
6913  __init__(GridIndex2D self, int i, int j, int k, int l, int m) -> GridIndex2D
6914  __init__(GridIndex2D self, int i, int j, int k, int l, int m, int n) -> GridIndex2D
6915  """
6916  _IMP_algebra.GridIndex2D_swiginit(self, _IMP_algebra.new_GridIndex2D(*args))
6917 
6918  def get_dimension(self):
6919  r"""get_dimension(GridIndex2D self) -> unsigned int"""
6920  return _IMP_algebra.GridIndex2D_get_dimension(self)
6921 
6922  def __getitem__(self, i):
6923  r"""__getitem__(GridIndex2D self, unsigned int i) -> int const &"""
6924  return _IMP_algebra.GridIndex2D___getitem__(self, i)
6925 
6926  def show(self, *args):
6927  r"""show(GridIndex2D self, _ostream out=std::cout)"""
6928  return _IMP_algebra.GridIndex2D_show(self, *args)
6929 
6930  def __len__(self):
6931  r"""__len__(GridIndex2D self) -> unsigned int"""
6932  return _IMP_algebra.GridIndex2D___len__(self)
6933 
6934  def __cmp__(self, o):
6935  r"""__cmp__(GridIndex2D self, GridIndex2D o) -> int"""
6936  return _IMP_algebra.GridIndex2D___cmp__(self, o)
6937 
6938  def __eq__(self, o):
6939  r"""__eq__(GridIndex2D self, GridIndex2D o) -> bool"""
6940  return _IMP_algebra.GridIndex2D___eq__(self, o)
6941 
6942  def __ne__(self, o):
6943  r"""__ne__(GridIndex2D self, GridIndex2D o) -> bool"""
6944  return _IMP_algebra.GridIndex2D___ne__(self, o)
6945 
6946  def __lt__(self, o):
6947  r"""__lt__(GridIndex2D self, GridIndex2D o) -> bool"""
6948  return _IMP_algebra.GridIndex2D___lt__(self, o)
6949 
6950  def __gt__(self, o):
6951  r"""__gt__(GridIndex2D self, GridIndex2D o) -> bool"""
6952  return _IMP_algebra.GridIndex2D___gt__(self, o)
6953 
6954  def __ge__(self, o):
6955  r"""__ge__(GridIndex2D self, GridIndex2D o) -> bool"""
6956  return _IMP_algebra.GridIndex2D___ge__(self, o)
6957 
6958  def __le__(self, o):
6959  r"""__le__(GridIndex2D self, GridIndex2D o) -> bool"""
6960  return _IMP_algebra.GridIndex2D___le__(self, o)
6961 
6962  def __hash__(self):
6963  r"""__hash__(GridIndex2D self) -> std::size_t"""
6964  return _IMP_algebra.GridIndex2D___hash__(self)
6965 
6966  def __str__(self):
6967  r"""__str__(GridIndex2D self) -> std::string"""
6968  return _IMP_algebra.GridIndex2D___str__(self)
6969 
6970  def __repr__(self):
6971  r"""__repr__(GridIndex2D self) -> std::string"""
6972  return _IMP_algebra.GridIndex2D___repr__(self)
6973 
6974  def _get_as_binary(self):
6975  r"""_get_as_binary(GridIndex2D self) -> PyObject *"""
6976  return _IMP_algebra.GridIndex2D__get_as_binary(self)
6977 
6978  def _set_from_binary(self, p):
6979  r"""_set_from_binary(GridIndex2D self, PyObject * p)"""
6980  return _IMP_algebra.GridIndex2D__set_from_binary(self, p)
6981 
6982  def __getstate__(self):
6983  p = self._get_as_binary()
6984  if len(self.__dict__) > 1:
6985  d = self.__dict__.copy()
6986  del d['this']
6987  p = (d, p)
6988  return p
6989 
6990  def __setstate__(self, p):
6991  if not hasattr(self, 'this'):
6992  self.__init__()
6993  if isinstance(p, tuple):
6994  d, p = p
6995  self.__dict__.update(d)
6996  return self._set_from_binary(p)
6997 
6998  __swig_destroy__ = _IMP_algebra.delete_GridIndex2D
6999 
7000 # Register GridIndex2D in _IMP_algebra:
7001 _IMP_algebra.GridIndex2D_swigregister(GridIndex2D)
7002 class GridIndex3D(IMP._Value):
7003  r"""Proxy of C++ IMP::algebra::GridIndexD< 3 > class."""
7004 
7005  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7006 
7007  def __init__(self, *args):
7008  r"""
7009  __init__(GridIndex3D self) -> GridIndex3D
7010  __init__(GridIndex3D self, int x) -> GridIndex3D
7011  __init__(GridIndex3D self, int x, int y) -> GridIndex3D
7012  __init__(GridIndex3D self, int x, int y, int z) -> GridIndex3D
7013  __init__(GridIndex3D self, int i, int j, int k, int l) -> GridIndex3D
7014  __init__(GridIndex3D self, int i, int j, int k, int l, int m) -> GridIndex3D
7015  __init__(GridIndex3D self, int i, int j, int k, int l, int m, int n) -> GridIndex3D
7016  """
7017  _IMP_algebra.GridIndex3D_swiginit(self, _IMP_algebra.new_GridIndex3D(*args))
7018 
7019  def get_dimension(self):
7020  r"""get_dimension(GridIndex3D self) -> unsigned int"""
7021  return _IMP_algebra.GridIndex3D_get_dimension(self)
7022 
7023  def __getitem__(self, i):
7024  r"""__getitem__(GridIndex3D self, unsigned int i) -> int const &"""
7025  return _IMP_algebra.GridIndex3D___getitem__(self, i)
7026 
7027  def show(self, *args):
7028  r"""show(GridIndex3D self, _ostream out=std::cout)"""
7029  return _IMP_algebra.GridIndex3D_show(self, *args)
7030 
7031  def __len__(self):
7032  r"""__len__(GridIndex3D self) -> unsigned int"""
7033  return _IMP_algebra.GridIndex3D___len__(self)
7034 
7035  def __cmp__(self, o):
7036  r"""__cmp__(GridIndex3D self, GridIndex3D o) -> int"""
7037  return _IMP_algebra.GridIndex3D___cmp__(self, o)
7038 
7039  def __eq__(self, o):
7040  r"""__eq__(GridIndex3D self, GridIndex3D o) -> bool"""
7041  return _IMP_algebra.GridIndex3D___eq__(self, o)
7042 
7043  def __ne__(self, o):
7044  r"""__ne__(GridIndex3D self, GridIndex3D o) -> bool"""
7045  return _IMP_algebra.GridIndex3D___ne__(self, o)
7046 
7047  def __lt__(self, o):
7048  r"""__lt__(GridIndex3D self, GridIndex3D o) -> bool"""
7049  return _IMP_algebra.GridIndex3D___lt__(self, o)
7050 
7051  def __gt__(self, o):
7052  r"""__gt__(GridIndex3D self, GridIndex3D o) -> bool"""
7053  return _IMP_algebra.GridIndex3D___gt__(self, o)
7054 
7055  def __ge__(self, o):
7056  r"""__ge__(GridIndex3D self, GridIndex3D o) -> bool"""
7057  return _IMP_algebra.GridIndex3D___ge__(self, o)
7058 
7059  def __le__(self, o):
7060  r"""__le__(GridIndex3D self, GridIndex3D o) -> bool"""
7061  return _IMP_algebra.GridIndex3D___le__(self, o)
7062 
7063  def __hash__(self):
7064  r"""__hash__(GridIndex3D self) -> std::size_t"""
7065  return _IMP_algebra.GridIndex3D___hash__(self)
7066 
7067  def __str__(self):
7068  r"""__str__(GridIndex3D self) -> std::string"""
7069  return _IMP_algebra.GridIndex3D___str__(self)
7070 
7071  def __repr__(self):
7072  r"""__repr__(GridIndex3D self) -> std::string"""
7073  return _IMP_algebra.GridIndex3D___repr__(self)
7074 
7075  def _get_as_binary(self):
7076  r"""_get_as_binary(GridIndex3D self) -> PyObject *"""
7077  return _IMP_algebra.GridIndex3D__get_as_binary(self)
7078 
7079  def _set_from_binary(self, p):
7080  r"""_set_from_binary(GridIndex3D self, PyObject * p)"""
7081  return _IMP_algebra.GridIndex3D__set_from_binary(self, p)
7082 
7083  def __getstate__(self):
7084  p = self._get_as_binary()
7085  if len(self.__dict__) > 1:
7086  d = self.__dict__.copy()
7087  del d['this']
7088  p = (d, p)
7089  return p
7090 
7091  def __setstate__(self, p):
7092  if not hasattr(self, 'this'):
7093  self.__init__()
7094  if isinstance(p, tuple):
7095  d, p = p
7096  self.__dict__.update(d)
7097  return self._set_from_binary(p)
7098 
7099  __swig_destroy__ = _IMP_algebra.delete_GridIndex3D
7100 
7101 # Register GridIndex3D in _IMP_algebra:
7102 _IMP_algebra.GridIndex3D_swigregister(GridIndex3D)
7103 class GridIndex4D(IMP._Value):
7104  r"""Proxy of C++ IMP::algebra::GridIndexD< 4 > class."""
7105 
7106  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7107 
7108  def __init__(self, *args):
7109  r"""
7110  __init__(GridIndex4D self) -> GridIndex4D
7111  __init__(GridIndex4D self, int x) -> GridIndex4D
7112  __init__(GridIndex4D self, int x, int y) -> GridIndex4D
7113  __init__(GridIndex4D self, int x, int y, int z) -> GridIndex4D
7114  __init__(GridIndex4D self, int i, int j, int k, int l) -> GridIndex4D
7115  __init__(GridIndex4D self, int i, int j, int k, int l, int m) -> GridIndex4D
7116  __init__(GridIndex4D self, int i, int j, int k, int l, int m, int n) -> GridIndex4D
7117  """
7118  _IMP_algebra.GridIndex4D_swiginit(self, _IMP_algebra.new_GridIndex4D(*args))
7119 
7120  def get_dimension(self):
7121  r"""get_dimension(GridIndex4D self) -> unsigned int"""
7122  return _IMP_algebra.GridIndex4D_get_dimension(self)
7123 
7124  def __getitem__(self, i):
7125  r"""__getitem__(GridIndex4D self, unsigned int i) -> int const &"""
7126  return _IMP_algebra.GridIndex4D___getitem__(self, i)
7127 
7128  def show(self, *args):
7129  r"""show(GridIndex4D self, _ostream out=std::cout)"""
7130  return _IMP_algebra.GridIndex4D_show(self, *args)
7131 
7132  def __len__(self):
7133  r"""__len__(GridIndex4D self) -> unsigned int"""
7134  return _IMP_algebra.GridIndex4D___len__(self)
7135 
7136  def __cmp__(self, o):
7137  r"""__cmp__(GridIndex4D self, GridIndex4D o) -> int"""
7138  return _IMP_algebra.GridIndex4D___cmp__(self, o)
7139 
7140  def __eq__(self, o):
7141  r"""__eq__(GridIndex4D self, GridIndex4D o) -> bool"""
7142  return _IMP_algebra.GridIndex4D___eq__(self, o)
7143 
7144  def __ne__(self, o):
7145  r"""__ne__(GridIndex4D self, GridIndex4D o) -> bool"""
7146  return _IMP_algebra.GridIndex4D___ne__(self, o)
7147 
7148  def __lt__(self, o):
7149  r"""__lt__(GridIndex4D self, GridIndex4D o) -> bool"""
7150  return _IMP_algebra.GridIndex4D___lt__(self, o)
7151 
7152  def __gt__(self, o):
7153  r"""__gt__(GridIndex4D self, GridIndex4D o) -> bool"""
7154  return _IMP_algebra.GridIndex4D___gt__(self, o)
7155 
7156  def __ge__(self, o):
7157  r"""__ge__(GridIndex4D self, GridIndex4D o) -> bool"""
7158  return _IMP_algebra.GridIndex4D___ge__(self, o)
7159 
7160  def __le__(self, o):
7161  r"""__le__(GridIndex4D self, GridIndex4D o) -> bool"""
7162  return _IMP_algebra.GridIndex4D___le__(self, o)
7163 
7164  def __hash__(self):
7165  r"""__hash__(GridIndex4D self) -> std::size_t"""
7166  return _IMP_algebra.GridIndex4D___hash__(self)
7167 
7168  def __str__(self):
7169  r"""__str__(GridIndex4D self) -> std::string"""
7170  return _IMP_algebra.GridIndex4D___str__(self)
7171 
7172  def __repr__(self):
7173  r"""__repr__(GridIndex4D self) -> std::string"""
7174  return _IMP_algebra.GridIndex4D___repr__(self)
7175 
7176  def _get_as_binary(self):
7177  r"""_get_as_binary(GridIndex4D self) -> PyObject *"""
7178  return _IMP_algebra.GridIndex4D__get_as_binary(self)
7179 
7180  def _set_from_binary(self, p):
7181  r"""_set_from_binary(GridIndex4D self, PyObject * p)"""
7182  return _IMP_algebra.GridIndex4D__set_from_binary(self, p)
7183 
7184  def __getstate__(self):
7185  p = self._get_as_binary()
7186  if len(self.__dict__) > 1:
7187  d = self.__dict__.copy()
7188  del d['this']
7189  p = (d, p)
7190  return p
7191 
7192  def __setstate__(self, p):
7193  if not hasattr(self, 'this'):
7194  self.__init__()
7195  if isinstance(p, tuple):
7196  d, p = p
7197  self.__dict__.update(d)
7198  return self._set_from_binary(p)
7199 
7200  __swig_destroy__ = _IMP_algebra.delete_GridIndex4D
7201 
7202 # Register GridIndex4D in _IMP_algebra:
7203 _IMP_algebra.GridIndex4D_swigregister(GridIndex4D)
7204 class GridIndex5D(IMP._Value):
7205  r"""Proxy of C++ IMP::algebra::GridIndexD< 5 > class."""
7206 
7207  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7208 
7209  def __init__(self, *args):
7210  r"""
7211  __init__(GridIndex5D self) -> GridIndex5D
7212  __init__(GridIndex5D self, int x) -> GridIndex5D
7213  __init__(GridIndex5D self, int x, int y) -> GridIndex5D
7214  __init__(GridIndex5D self, int x, int y, int z) -> GridIndex5D
7215  __init__(GridIndex5D self, int i, int j, int k, int l) -> GridIndex5D
7216  __init__(GridIndex5D self, int i, int j, int k, int l, int m) -> GridIndex5D
7217  __init__(GridIndex5D self, int i, int j, int k, int l, int m, int n) -> GridIndex5D
7218  """
7219  _IMP_algebra.GridIndex5D_swiginit(self, _IMP_algebra.new_GridIndex5D(*args))
7220 
7221  def get_dimension(self):
7222  r"""get_dimension(GridIndex5D self) -> unsigned int"""
7223  return _IMP_algebra.GridIndex5D_get_dimension(self)
7224 
7225  def __getitem__(self, i):
7226  r"""__getitem__(GridIndex5D self, unsigned int i) -> int const &"""
7227  return _IMP_algebra.GridIndex5D___getitem__(self, i)
7228 
7229  def show(self, *args):
7230  r"""show(GridIndex5D self, _ostream out=std::cout)"""
7231  return _IMP_algebra.GridIndex5D_show(self, *args)
7232 
7233  def __len__(self):
7234  r"""__len__(GridIndex5D self) -> unsigned int"""
7235  return _IMP_algebra.GridIndex5D___len__(self)
7236 
7237  def __cmp__(self, o):
7238  r"""__cmp__(GridIndex5D self, GridIndex5D o) -> int"""
7239  return _IMP_algebra.GridIndex5D___cmp__(self, o)
7240 
7241  def __eq__(self, o):
7242  r"""__eq__(GridIndex5D self, GridIndex5D o) -> bool"""
7243  return _IMP_algebra.GridIndex5D___eq__(self, o)
7244 
7245  def __ne__(self, o):
7246  r"""__ne__(GridIndex5D self, GridIndex5D o) -> bool"""
7247  return _IMP_algebra.GridIndex5D___ne__(self, o)
7248 
7249  def __lt__(self, o):
7250  r"""__lt__(GridIndex5D self, GridIndex5D o) -> bool"""
7251  return _IMP_algebra.GridIndex5D___lt__(self, o)
7252 
7253  def __gt__(self, o):
7254  r"""__gt__(GridIndex5D self, GridIndex5D o) -> bool"""
7255  return _IMP_algebra.GridIndex5D___gt__(self, o)
7256 
7257  def __ge__(self, o):
7258  r"""__ge__(GridIndex5D self, GridIndex5D o) -> bool"""
7259  return _IMP_algebra.GridIndex5D___ge__(self, o)
7260 
7261  def __le__(self, o):
7262  r"""__le__(GridIndex5D self, GridIndex5D o) -> bool"""
7263  return _IMP_algebra.GridIndex5D___le__(self, o)
7264 
7265  def __hash__(self):
7266  r"""__hash__(GridIndex5D self) -> std::size_t"""
7267  return _IMP_algebra.GridIndex5D___hash__(self)
7268 
7269  def __str__(self):
7270  r"""__str__(GridIndex5D self) -> std::string"""
7271  return _IMP_algebra.GridIndex5D___str__(self)
7272 
7273  def __repr__(self):
7274  r"""__repr__(GridIndex5D self) -> std::string"""
7275  return _IMP_algebra.GridIndex5D___repr__(self)
7276 
7277  def _get_as_binary(self):
7278  r"""_get_as_binary(GridIndex5D self) -> PyObject *"""
7279  return _IMP_algebra.GridIndex5D__get_as_binary(self)
7280 
7281  def _set_from_binary(self, p):
7282  r"""_set_from_binary(GridIndex5D self, PyObject * p)"""
7283  return _IMP_algebra.GridIndex5D__set_from_binary(self, p)
7284 
7285  def __getstate__(self):
7286  p = self._get_as_binary()
7287  if len(self.__dict__) > 1:
7288  d = self.__dict__.copy()
7289  del d['this']
7290  p = (d, p)
7291  return p
7292 
7293  def __setstate__(self, p):
7294  if not hasattr(self, 'this'):
7295  self.__init__()
7296  if isinstance(p, tuple):
7297  d, p = p
7298  self.__dict__.update(d)
7299  return self._set_from_binary(p)
7300 
7301  __swig_destroy__ = _IMP_algebra.delete_GridIndex5D
7302 
7303 # Register GridIndex5D in _IMP_algebra:
7304 _IMP_algebra.GridIndex5D_swigregister(GridIndex5D)
7305 class GridIndex6D(IMP._Value):
7306  r"""Proxy of C++ IMP::algebra::GridIndexD< 6 > class."""
7307 
7308  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7309 
7310  def __init__(self, *args):
7311  r"""
7312  __init__(GridIndex6D self) -> GridIndex6D
7313  __init__(GridIndex6D self, int x) -> GridIndex6D
7314  __init__(GridIndex6D self, int x, int y) -> GridIndex6D
7315  __init__(GridIndex6D self, int x, int y, int z) -> GridIndex6D
7316  __init__(GridIndex6D self, int i, int j, int k, int l) -> GridIndex6D
7317  __init__(GridIndex6D self, int i, int j, int k, int l, int m) -> GridIndex6D
7318  __init__(GridIndex6D self, int i, int j, int k, int l, int m, int n) -> GridIndex6D
7319  """
7320  _IMP_algebra.GridIndex6D_swiginit(self, _IMP_algebra.new_GridIndex6D(*args))
7321 
7322  def get_dimension(self):
7323  r"""get_dimension(GridIndex6D self) -> unsigned int"""
7324  return _IMP_algebra.GridIndex6D_get_dimension(self)
7325 
7326  def __getitem__(self, i):
7327  r"""__getitem__(GridIndex6D self, unsigned int i) -> int const &"""
7328  return _IMP_algebra.GridIndex6D___getitem__(self, i)
7329 
7330  def show(self, *args):
7331  r"""show(GridIndex6D self, _ostream out=std::cout)"""
7332  return _IMP_algebra.GridIndex6D_show(self, *args)
7333 
7334  def __len__(self):
7335  r"""__len__(GridIndex6D self) -> unsigned int"""
7336  return _IMP_algebra.GridIndex6D___len__(self)
7337 
7338  def __cmp__(self, o):
7339  r"""__cmp__(GridIndex6D self, GridIndex6D o) -> int"""
7340  return _IMP_algebra.GridIndex6D___cmp__(self, o)
7341 
7342  def __eq__(self, o):
7343  r"""__eq__(GridIndex6D self, GridIndex6D o) -> bool"""
7344  return _IMP_algebra.GridIndex6D___eq__(self, o)
7345 
7346  def __ne__(self, o):
7347  r"""__ne__(GridIndex6D self, GridIndex6D o) -> bool"""
7348  return _IMP_algebra.GridIndex6D___ne__(self, o)
7349 
7350  def __lt__(self, o):
7351  r"""__lt__(GridIndex6D self, GridIndex6D o) -> bool"""
7352  return _IMP_algebra.GridIndex6D___lt__(self, o)
7353 
7354  def __gt__(self, o):
7355  r"""__gt__(GridIndex6D self, GridIndex6D o) -> bool"""
7356  return _IMP_algebra.GridIndex6D___gt__(self, o)
7357 
7358  def __ge__(self, o):
7359  r"""__ge__(GridIndex6D self, GridIndex6D o) -> bool"""
7360  return _IMP_algebra.GridIndex6D___ge__(self, o)
7361 
7362  def __le__(self, o):
7363  r"""__le__(GridIndex6D self, GridIndex6D o) -> bool"""
7364  return _IMP_algebra.GridIndex6D___le__(self, o)
7365 
7366  def __hash__(self):
7367  r"""__hash__(GridIndex6D self) -> std::size_t"""
7368  return _IMP_algebra.GridIndex6D___hash__(self)
7369 
7370  def __str__(self):
7371  r"""__str__(GridIndex6D self) -> std::string"""
7372  return _IMP_algebra.GridIndex6D___str__(self)
7373 
7374  def __repr__(self):
7375  r"""__repr__(GridIndex6D self) -> std::string"""
7376  return _IMP_algebra.GridIndex6D___repr__(self)
7377 
7378  def _get_as_binary(self):
7379  r"""_get_as_binary(GridIndex6D self) -> PyObject *"""
7380  return _IMP_algebra.GridIndex6D__get_as_binary(self)
7381 
7382  def _set_from_binary(self, p):
7383  r"""_set_from_binary(GridIndex6D self, PyObject * p)"""
7384  return _IMP_algebra.GridIndex6D__set_from_binary(self, p)
7385 
7386  def __getstate__(self):
7387  p = self._get_as_binary()
7388  if len(self.__dict__) > 1:
7389  d = self.__dict__.copy()
7390  del d['this']
7391  p = (d, p)
7392  return p
7393 
7394  def __setstate__(self, p):
7395  if not hasattr(self, 'this'):
7396  self.__init__()
7397  if isinstance(p, tuple):
7398  d, p = p
7399  self.__dict__.update(d)
7400  return self._set_from_binary(p)
7401 
7402  __swig_destroy__ = _IMP_algebra.delete_GridIndex6D
7403 
7404 # Register GridIndex6D in _IMP_algebra:
7405 _IMP_algebra.GridIndex6D_swigregister(GridIndex6D)
7406 class GridIndexKD(IMP._Value):
7407  r"""Proxy of C++ IMP::algebra::GridIndexD< -1 > class."""
7408 
7409  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7410 
7411  def __init__(self, *args):
7412  r"""
7413  __init__(GridIndexKD self) -> GridIndexKD
7414  __init__(GridIndexKD self, int x) -> GridIndexKD
7415  __init__(GridIndexKD self, int x, int y) -> GridIndexKD
7416  __init__(GridIndexKD self, int x, int y, int z) -> GridIndexKD
7417  __init__(GridIndexKD self, int i, int j, int k, int l) -> GridIndexKD
7418  __init__(GridIndexKD self, int i, int j, int k, int l, int m) -> GridIndexKD
7419  __init__(GridIndexKD self, int i, int j, int k, int l, int m, int n) -> GridIndexKD
7420  """
7421  _IMP_algebra.GridIndexKD_swiginit(self, _IMP_algebra.new_GridIndexKD(*args))
7422 
7423  def get_dimension(self):
7424  r"""get_dimension(GridIndexKD self) -> unsigned int"""
7425  return _IMP_algebra.GridIndexKD_get_dimension(self)
7426 
7427  def __getitem__(self, i):
7428  r"""__getitem__(GridIndexKD self, unsigned int i) -> int const &"""
7429  return _IMP_algebra.GridIndexKD___getitem__(self, i)
7430 
7431  def show(self, *args):
7432  r"""show(GridIndexKD self, _ostream out=std::cout)"""
7433  return _IMP_algebra.GridIndexKD_show(self, *args)
7434 
7435  def __len__(self):
7436  r"""__len__(GridIndexKD self) -> unsigned int"""
7437  return _IMP_algebra.GridIndexKD___len__(self)
7438 
7439  def __cmp__(self, o):
7440  r"""__cmp__(GridIndexKD self, GridIndexKD o) -> int"""
7441  return _IMP_algebra.GridIndexKD___cmp__(self, o)
7442 
7443  def __eq__(self, o):
7444  r"""__eq__(GridIndexKD self, GridIndexKD o) -> bool"""
7445  return _IMP_algebra.GridIndexKD___eq__(self, o)
7446 
7447  def __ne__(self, o):
7448  r"""__ne__(GridIndexKD self, GridIndexKD o) -> bool"""
7449  return _IMP_algebra.GridIndexKD___ne__(self, o)
7450 
7451  def __lt__(self, o):
7452  r"""__lt__(GridIndexKD self, GridIndexKD o) -> bool"""
7453  return _IMP_algebra.GridIndexKD___lt__(self, o)
7454 
7455  def __gt__(self, o):
7456  r"""__gt__(GridIndexKD self, GridIndexKD o) -> bool"""
7457  return _IMP_algebra.GridIndexKD___gt__(self, o)
7458 
7459  def __ge__(self, o):
7460  r"""__ge__(GridIndexKD self, GridIndexKD o) -> bool"""
7461  return _IMP_algebra.GridIndexKD___ge__(self, o)
7462 
7463  def __le__(self, o):
7464  r"""__le__(GridIndexKD self, GridIndexKD o) -> bool"""
7465  return _IMP_algebra.GridIndexKD___le__(self, o)
7466 
7467  def __hash__(self):
7468  r"""__hash__(GridIndexKD self) -> std::size_t"""
7469  return _IMP_algebra.GridIndexKD___hash__(self)
7470 
7471  def __str__(self):
7472  r"""__str__(GridIndexKD self) -> std::string"""
7473  return _IMP_algebra.GridIndexKD___str__(self)
7474 
7475  def __repr__(self):
7476  r"""__repr__(GridIndexKD self) -> std::string"""
7477  return _IMP_algebra.GridIndexKD___repr__(self)
7478 
7479  def _get_as_binary(self):
7480  r"""_get_as_binary(GridIndexKD self) -> PyObject *"""
7481  return _IMP_algebra.GridIndexKD__get_as_binary(self)
7482 
7483  def _set_from_binary(self, p):
7484  r"""_set_from_binary(GridIndexKD self, PyObject * p)"""
7485  return _IMP_algebra.GridIndexKD__set_from_binary(self, p)
7486 
7487  def __getstate__(self):
7488  p = self._get_as_binary()
7489  if len(self.__dict__) > 1:
7490  d = self.__dict__.copy()
7491  del d['this']
7492  p = (d, p)
7493  return p
7494 
7495  def __setstate__(self, p):
7496  if not hasattr(self, 'this'):
7497  self.__init__()
7498  if isinstance(p, tuple):
7499  d, p = p
7500  self.__dict__.update(d)
7501  return self._set_from_binary(p)
7502 
7503  __swig_destroy__ = _IMP_algebra.delete_GridIndexKD
7504 
7505 # Register GridIndexKD in _IMP_algebra:
7506 _IMP_algebra.GridIndexKD_swigregister(GridIndexKD)
7507 class ExtendedGridIndex1D(IMP._Value):
7508  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 1 > class."""
7509 
7510  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7511 
7512  def __init__(self, *args):
7513  r"""
7514  __init__(ExtendedGridIndex1D self, IMP::Ints vals) -> ExtendedGridIndex1D
7515  __init__(ExtendedGridIndex1D self, int x) -> ExtendedGridIndex1D
7516  __init__(ExtendedGridIndex1D self, int x, int y) -> ExtendedGridIndex1D
7517  __init__(ExtendedGridIndex1D self, int x, int y, int z) -> ExtendedGridIndex1D
7518  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l) -> ExtendedGridIndex1D
7519  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex1D
7520  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex1D
7521  __init__(ExtendedGridIndex1D self) -> ExtendedGridIndex1D
7522  """
7523  _IMP_algebra.ExtendedGridIndex1D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex1D(*args))
7524 
7525  def get_dimension(self):
7526  r"""get_dimension(ExtendedGridIndex1D self) -> unsigned int"""
7527  return _IMP_algebra.ExtendedGridIndex1D_get_dimension(self)
7528 
7529  def __cmp__(self, o):
7530  r"""__cmp__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> int"""
7531  return _IMP_algebra.ExtendedGridIndex1D___cmp__(self, o)
7532 
7533  def __eq__(self, o):
7534  r"""__eq__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7535  return _IMP_algebra.ExtendedGridIndex1D___eq__(self, o)
7536 
7537  def __ne__(self, o):
7538  r"""__ne__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7539  return _IMP_algebra.ExtendedGridIndex1D___ne__(self, o)
7540 
7541  def __lt__(self, o):
7542  r"""__lt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7543  return _IMP_algebra.ExtendedGridIndex1D___lt__(self, o)
7544 
7545  def __gt__(self, o):
7546  r"""__gt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7547  return _IMP_algebra.ExtendedGridIndex1D___gt__(self, o)
7548 
7549  def __ge__(self, o):
7550  r"""__ge__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7551  return _IMP_algebra.ExtendedGridIndex1D___ge__(self, o)
7552 
7553  def __le__(self, o):
7554  r"""__le__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7555  return _IMP_algebra.ExtendedGridIndex1D___le__(self, o)
7556 
7557  def __setitem__(self, i, v):
7558  r"""__setitem__(ExtendedGridIndex1D self, unsigned int i, int const & v)"""
7559  return _IMP_algebra.ExtendedGridIndex1D___setitem__(self, i, v)
7560 
7561  def __getitem__(self, i):
7562  r"""__getitem__(ExtendedGridIndex1D self, unsigned int i) -> int const &"""
7563  return _IMP_algebra.ExtendedGridIndex1D___getitem__(self, i)
7564 
7565  def show(self, *args):
7566  r"""show(ExtendedGridIndex1D self, _ostream out=std::cout)"""
7567  return _IMP_algebra.ExtendedGridIndex1D_show(self, *args)
7568 
7569  def __len__(self):
7570  r"""__len__(ExtendedGridIndex1D self) -> unsigned int"""
7571  return _IMP_algebra.ExtendedGridIndex1D___len__(self)
7572 
7573  def __hash__(self):
7574  r"""__hash__(ExtendedGridIndex1D self) -> std::size_t"""
7575  return _IMP_algebra.ExtendedGridIndex1D___hash__(self)
7576 
7577  def get_uniform_offset(self, ii):
7578  r"""get_uniform_offset(ExtendedGridIndex1D self, int ii) -> ExtendedGridIndex1D"""
7579  return _IMP_algebra.ExtendedGridIndex1D_get_uniform_offset(self, ii)
7580 
7581  def get_offset(self, i, j, k):
7582  r"""get_offset(ExtendedGridIndex1D self, int i, int j, int k) -> ExtendedGridIndex1D"""
7583  return _IMP_algebra.ExtendedGridIndex1D_get_offset(self, i, j, k)
7584 
7585  def __str__(self):
7586  r"""__str__(ExtendedGridIndex1D self) -> std::string"""
7587  return _IMP_algebra.ExtendedGridIndex1D___str__(self)
7588 
7589  def __repr__(self):
7590  r"""__repr__(ExtendedGridIndex1D self) -> std::string"""
7591  return _IMP_algebra.ExtendedGridIndex1D___repr__(self)
7592 
7593  def _get_as_binary(self):
7594  r"""_get_as_binary(ExtendedGridIndex1D self) -> PyObject *"""
7595  return _IMP_algebra.ExtendedGridIndex1D__get_as_binary(self)
7596 
7597  def _set_from_binary(self, p):
7598  r"""_set_from_binary(ExtendedGridIndex1D self, PyObject * p)"""
7599  return _IMP_algebra.ExtendedGridIndex1D__set_from_binary(self, p)
7600 
7601  def __getstate__(self):
7602  p = self._get_as_binary()
7603  if len(self.__dict__) > 1:
7604  d = self.__dict__.copy()
7605  del d['this']
7606  p = (d, p)
7607  return p
7608 
7609  def __setstate__(self, p):
7610  if not hasattr(self, 'this'):
7611  self.__init__()
7612  if isinstance(p, tuple):
7613  d, p = p
7614  self.__dict__.update(d)
7615  return self._set_from_binary(p)
7616 
7617  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex1D
7618 
7619 # Register ExtendedGridIndex1D in _IMP_algebra:
7620 _IMP_algebra.ExtendedGridIndex1D_swigregister(ExtendedGridIndex1D)
7621 class ExtendedGridIndex2D(IMP._Value):
7622  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 2 > class."""
7623 
7624  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7625 
7626  def __init__(self, *args):
7627  r"""
7628  __init__(ExtendedGridIndex2D self, IMP::Ints vals) -> ExtendedGridIndex2D
7629  __init__(ExtendedGridIndex2D self, int x) -> ExtendedGridIndex2D
7630  __init__(ExtendedGridIndex2D self, int x, int y) -> ExtendedGridIndex2D
7631  __init__(ExtendedGridIndex2D self, int x, int y, int z) -> ExtendedGridIndex2D
7632  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l) -> ExtendedGridIndex2D
7633  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex2D
7634  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex2D
7635  __init__(ExtendedGridIndex2D self) -> ExtendedGridIndex2D
7636  """
7637  _IMP_algebra.ExtendedGridIndex2D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex2D(*args))
7638 
7639  def get_dimension(self):
7640  r"""get_dimension(ExtendedGridIndex2D self) -> unsigned int"""
7641  return _IMP_algebra.ExtendedGridIndex2D_get_dimension(self)
7642 
7643  def __cmp__(self, o):
7644  r"""__cmp__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> int"""
7645  return _IMP_algebra.ExtendedGridIndex2D___cmp__(self, o)
7646 
7647  def __eq__(self, o):
7648  r"""__eq__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7649  return _IMP_algebra.ExtendedGridIndex2D___eq__(self, o)
7650 
7651  def __ne__(self, o):
7652  r"""__ne__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7653  return _IMP_algebra.ExtendedGridIndex2D___ne__(self, o)
7654 
7655  def __lt__(self, o):
7656  r"""__lt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7657  return _IMP_algebra.ExtendedGridIndex2D___lt__(self, o)
7658 
7659  def __gt__(self, o):
7660  r"""__gt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7661  return _IMP_algebra.ExtendedGridIndex2D___gt__(self, o)
7662 
7663  def __ge__(self, o):
7664  r"""__ge__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7665  return _IMP_algebra.ExtendedGridIndex2D___ge__(self, o)
7666 
7667  def __le__(self, o):
7668  r"""__le__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7669  return _IMP_algebra.ExtendedGridIndex2D___le__(self, o)
7670 
7671  def __setitem__(self, i, v):
7672  r"""__setitem__(ExtendedGridIndex2D self, unsigned int i, int const & v)"""
7673  return _IMP_algebra.ExtendedGridIndex2D___setitem__(self, i, v)
7674 
7675  def __getitem__(self, i):
7676  r"""__getitem__(ExtendedGridIndex2D self, unsigned int i) -> int const &"""
7677  return _IMP_algebra.ExtendedGridIndex2D___getitem__(self, i)
7678 
7679  def show(self, *args):
7680  r"""show(ExtendedGridIndex2D self, _ostream out=std::cout)"""
7681  return _IMP_algebra.ExtendedGridIndex2D_show(self, *args)
7682 
7683  def __len__(self):
7684  r"""__len__(ExtendedGridIndex2D self) -> unsigned int"""
7685  return _IMP_algebra.ExtendedGridIndex2D___len__(self)
7686 
7687  def __hash__(self):
7688  r"""__hash__(ExtendedGridIndex2D self) -> std::size_t"""
7689  return _IMP_algebra.ExtendedGridIndex2D___hash__(self)
7690 
7691  def get_uniform_offset(self, ii):
7692  r"""get_uniform_offset(ExtendedGridIndex2D self, int ii) -> ExtendedGridIndex2D"""
7693  return _IMP_algebra.ExtendedGridIndex2D_get_uniform_offset(self, ii)
7694 
7695  def get_offset(self, i, j, k):
7696  r"""get_offset(ExtendedGridIndex2D self, int i, int j, int k) -> ExtendedGridIndex2D"""
7697  return _IMP_algebra.ExtendedGridIndex2D_get_offset(self, i, j, k)
7698 
7699  def __str__(self):
7700  r"""__str__(ExtendedGridIndex2D self) -> std::string"""
7701  return _IMP_algebra.ExtendedGridIndex2D___str__(self)
7702 
7703  def __repr__(self):
7704  r"""__repr__(ExtendedGridIndex2D self) -> std::string"""
7705  return _IMP_algebra.ExtendedGridIndex2D___repr__(self)
7706 
7707  def _get_as_binary(self):
7708  r"""_get_as_binary(ExtendedGridIndex2D self) -> PyObject *"""
7709  return _IMP_algebra.ExtendedGridIndex2D__get_as_binary(self)
7710 
7711  def _set_from_binary(self, p):
7712  r"""_set_from_binary(ExtendedGridIndex2D self, PyObject * p)"""
7713  return _IMP_algebra.ExtendedGridIndex2D__set_from_binary(self, p)
7714 
7715  def __getstate__(self):
7716  p = self._get_as_binary()
7717  if len(self.__dict__) > 1:
7718  d = self.__dict__.copy()
7719  del d['this']
7720  p = (d, p)
7721  return p
7722 
7723  def __setstate__(self, p):
7724  if not hasattr(self, 'this'):
7725  self.__init__()
7726  if isinstance(p, tuple):
7727  d, p = p
7728  self.__dict__.update(d)
7729  return self._set_from_binary(p)
7730 
7731  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex2D
7732 
7733 # Register ExtendedGridIndex2D in _IMP_algebra:
7734 _IMP_algebra.ExtendedGridIndex2D_swigregister(ExtendedGridIndex2D)
7735 class ExtendedGridIndex3D(IMP._Value):
7736  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 3 > class."""
7737 
7738  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7739 
7740  def __init__(self, *args):
7741  r"""
7742  __init__(ExtendedGridIndex3D self, IMP::Ints vals) -> ExtendedGridIndex3D
7743  __init__(ExtendedGridIndex3D self, int x) -> ExtendedGridIndex3D
7744  __init__(ExtendedGridIndex3D self, int x, int y) -> ExtendedGridIndex3D
7745  __init__(ExtendedGridIndex3D self, int x, int y, int z) -> ExtendedGridIndex3D
7746  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l) -> ExtendedGridIndex3D
7747  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex3D
7748  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex3D
7749  __init__(ExtendedGridIndex3D self) -> ExtendedGridIndex3D
7750  """
7751  _IMP_algebra.ExtendedGridIndex3D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex3D(*args))
7752 
7753  def get_dimension(self):
7754  r"""get_dimension(ExtendedGridIndex3D self) -> unsigned int"""
7755  return _IMP_algebra.ExtendedGridIndex3D_get_dimension(self)
7756 
7757  def __cmp__(self, o):
7758  r"""__cmp__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> int"""
7759  return _IMP_algebra.ExtendedGridIndex3D___cmp__(self, o)
7760 
7761  def __eq__(self, o):
7762  r"""__eq__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7763  return _IMP_algebra.ExtendedGridIndex3D___eq__(self, o)
7764 
7765  def __ne__(self, o):
7766  r"""__ne__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7767  return _IMP_algebra.ExtendedGridIndex3D___ne__(self, o)
7768 
7769  def __lt__(self, o):
7770  r"""__lt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7771  return _IMP_algebra.ExtendedGridIndex3D___lt__(self, o)
7772 
7773  def __gt__(self, o):
7774  r"""__gt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7775  return _IMP_algebra.ExtendedGridIndex3D___gt__(self, o)
7776 
7777  def __ge__(self, o):
7778  r"""__ge__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7779  return _IMP_algebra.ExtendedGridIndex3D___ge__(self, o)
7780 
7781  def __le__(self, o):
7782  r"""__le__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7783  return _IMP_algebra.ExtendedGridIndex3D___le__(self, o)
7784 
7785  def __setitem__(self, i, v):
7786  r"""__setitem__(ExtendedGridIndex3D self, unsigned int i, int const & v)"""
7787  return _IMP_algebra.ExtendedGridIndex3D___setitem__(self, i, v)
7788 
7789  def __getitem__(self, i):
7790  r"""__getitem__(ExtendedGridIndex3D self, unsigned int i) -> int const &"""
7791  return _IMP_algebra.ExtendedGridIndex3D___getitem__(self, i)
7792 
7793  def show(self, *args):
7794  r"""show(ExtendedGridIndex3D self, _ostream out=std::cout)"""
7795  return _IMP_algebra.ExtendedGridIndex3D_show(self, *args)
7796 
7797  def __len__(self):
7798  r"""__len__(ExtendedGridIndex3D self) -> unsigned int"""
7799  return _IMP_algebra.ExtendedGridIndex3D___len__(self)
7800 
7801  def __hash__(self):
7802  r"""__hash__(ExtendedGridIndex3D self) -> std::size_t"""
7803  return _IMP_algebra.ExtendedGridIndex3D___hash__(self)
7804 
7805  def get_uniform_offset(self, ii):
7806  r"""get_uniform_offset(ExtendedGridIndex3D self, int ii) -> ExtendedGridIndex3D"""
7807  return _IMP_algebra.ExtendedGridIndex3D_get_uniform_offset(self, ii)
7808 
7809  def get_offset(self, i, j, k):
7810  r"""get_offset(ExtendedGridIndex3D self, int i, int j, int k) -> ExtendedGridIndex3D"""
7811  return _IMP_algebra.ExtendedGridIndex3D_get_offset(self, i, j, k)
7812 
7813  def __str__(self):
7814  r"""__str__(ExtendedGridIndex3D self) -> std::string"""
7815  return _IMP_algebra.ExtendedGridIndex3D___str__(self)
7816 
7817  def __repr__(self):
7818  r"""__repr__(ExtendedGridIndex3D self) -> std::string"""
7819  return _IMP_algebra.ExtendedGridIndex3D___repr__(self)
7820 
7821  def _get_as_binary(self):
7822  r"""_get_as_binary(ExtendedGridIndex3D self) -> PyObject *"""
7823  return _IMP_algebra.ExtendedGridIndex3D__get_as_binary(self)
7824 
7825  def _set_from_binary(self, p):
7826  r"""_set_from_binary(ExtendedGridIndex3D self, PyObject * p)"""
7827  return _IMP_algebra.ExtendedGridIndex3D__set_from_binary(self, p)
7828 
7829  def __getstate__(self):
7830  p = self._get_as_binary()
7831  if len(self.__dict__) > 1:
7832  d = self.__dict__.copy()
7833  del d['this']
7834  p = (d, p)
7835  return p
7836 
7837  def __setstate__(self, p):
7838  if not hasattr(self, 'this'):
7839  self.__init__()
7840  if isinstance(p, tuple):
7841  d, p = p
7842  self.__dict__.update(d)
7843  return self._set_from_binary(p)
7844 
7845  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex3D
7846 
7847 # Register ExtendedGridIndex3D in _IMP_algebra:
7848 _IMP_algebra.ExtendedGridIndex3D_swigregister(ExtendedGridIndex3D)
7849 class ExtendedGridIndex4D(IMP._Value):
7850  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 4 > class."""
7851 
7852  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7853 
7854  def __init__(self, *args):
7855  r"""
7856  __init__(ExtendedGridIndex4D self, IMP::Ints vals) -> ExtendedGridIndex4D
7857  __init__(ExtendedGridIndex4D self, int x) -> ExtendedGridIndex4D
7858  __init__(ExtendedGridIndex4D self, int x, int y) -> ExtendedGridIndex4D
7859  __init__(ExtendedGridIndex4D self, int x, int y, int z) -> ExtendedGridIndex4D
7860  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l) -> ExtendedGridIndex4D
7861  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex4D
7862  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex4D
7863  __init__(ExtendedGridIndex4D self) -> ExtendedGridIndex4D
7864  """
7865  _IMP_algebra.ExtendedGridIndex4D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex4D(*args))
7866 
7867  def get_dimension(self):
7868  r"""get_dimension(ExtendedGridIndex4D self) -> unsigned int"""
7869  return _IMP_algebra.ExtendedGridIndex4D_get_dimension(self)
7870 
7871  def __cmp__(self, o):
7872  r"""__cmp__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> int"""
7873  return _IMP_algebra.ExtendedGridIndex4D___cmp__(self, o)
7874 
7875  def __eq__(self, o):
7876  r"""__eq__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7877  return _IMP_algebra.ExtendedGridIndex4D___eq__(self, o)
7878 
7879  def __ne__(self, o):
7880  r"""__ne__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7881  return _IMP_algebra.ExtendedGridIndex4D___ne__(self, o)
7882 
7883  def __lt__(self, o):
7884  r"""__lt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7885  return _IMP_algebra.ExtendedGridIndex4D___lt__(self, o)
7886 
7887  def __gt__(self, o):
7888  r"""__gt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7889  return _IMP_algebra.ExtendedGridIndex4D___gt__(self, o)
7890 
7891  def __ge__(self, o):
7892  r"""__ge__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7893  return _IMP_algebra.ExtendedGridIndex4D___ge__(self, o)
7894 
7895  def __le__(self, o):
7896  r"""__le__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7897  return _IMP_algebra.ExtendedGridIndex4D___le__(self, o)
7898 
7899  def __setitem__(self, i, v):
7900  r"""__setitem__(ExtendedGridIndex4D self, unsigned int i, int const & v)"""
7901  return _IMP_algebra.ExtendedGridIndex4D___setitem__(self, i, v)
7902 
7903  def __getitem__(self, i):
7904  r"""__getitem__(ExtendedGridIndex4D self, unsigned int i) -> int const &"""
7905  return _IMP_algebra.ExtendedGridIndex4D___getitem__(self, i)
7906 
7907  def show(self, *args):
7908  r"""show(ExtendedGridIndex4D self, _ostream out=std::cout)"""
7909  return _IMP_algebra.ExtendedGridIndex4D_show(self, *args)
7910 
7911  def __len__(self):
7912  r"""__len__(ExtendedGridIndex4D self) -> unsigned int"""
7913  return _IMP_algebra.ExtendedGridIndex4D___len__(self)
7914 
7915  def __hash__(self):
7916  r"""__hash__(ExtendedGridIndex4D self) -> std::size_t"""
7917  return _IMP_algebra.ExtendedGridIndex4D___hash__(self)
7918 
7919  def get_uniform_offset(self, ii):
7920  r"""get_uniform_offset(ExtendedGridIndex4D self, int ii) -> ExtendedGridIndex4D"""
7921  return _IMP_algebra.ExtendedGridIndex4D_get_uniform_offset(self, ii)
7922 
7923  def get_offset(self, i, j, k):
7924  r"""get_offset(ExtendedGridIndex4D self, int i, int j, int k) -> ExtendedGridIndex4D"""
7925  return _IMP_algebra.ExtendedGridIndex4D_get_offset(self, i, j, k)
7926 
7927  def __str__(self):
7928  r"""__str__(ExtendedGridIndex4D self) -> std::string"""
7929  return _IMP_algebra.ExtendedGridIndex4D___str__(self)
7930 
7931  def __repr__(self):
7932  r"""__repr__(ExtendedGridIndex4D self) -> std::string"""
7933  return _IMP_algebra.ExtendedGridIndex4D___repr__(self)
7934 
7935  def _get_as_binary(self):
7936  r"""_get_as_binary(ExtendedGridIndex4D self) -> PyObject *"""
7937  return _IMP_algebra.ExtendedGridIndex4D__get_as_binary(self)
7938 
7939  def _set_from_binary(self, p):
7940  r"""_set_from_binary(ExtendedGridIndex4D self, PyObject * p)"""
7941  return _IMP_algebra.ExtendedGridIndex4D__set_from_binary(self, p)
7942 
7943  def __getstate__(self):
7944  p = self._get_as_binary()
7945  if len(self.__dict__) > 1:
7946  d = self.__dict__.copy()
7947  del d['this']
7948  p = (d, p)
7949  return p
7950 
7951  def __setstate__(self, p):
7952  if not hasattr(self, 'this'):
7953  self.__init__()
7954  if isinstance(p, tuple):
7955  d, p = p
7956  self.__dict__.update(d)
7957  return self._set_from_binary(p)
7958 
7959  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex4D
7960 
7961 # Register ExtendedGridIndex4D in _IMP_algebra:
7962 _IMP_algebra.ExtendedGridIndex4D_swigregister(ExtendedGridIndex4D)
7963 class ExtendedGridIndex5D(IMP._Value):
7964  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 5 > class."""
7965 
7966  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7967 
7968  def __init__(self, *args):
7969  r"""
7970  __init__(ExtendedGridIndex5D self, IMP::Ints vals) -> ExtendedGridIndex5D
7971  __init__(ExtendedGridIndex5D self, int x) -> ExtendedGridIndex5D
7972  __init__(ExtendedGridIndex5D self, int x, int y) -> ExtendedGridIndex5D
7973  __init__(ExtendedGridIndex5D self, int x, int y, int z) -> ExtendedGridIndex5D
7974  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l) -> ExtendedGridIndex5D
7975  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex5D
7976  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex5D
7977  __init__(ExtendedGridIndex5D self) -> ExtendedGridIndex5D
7978  """
7979  _IMP_algebra.ExtendedGridIndex5D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex5D(*args))
7980 
7981  def get_dimension(self):
7982  r"""get_dimension(ExtendedGridIndex5D self) -> unsigned int"""
7983  return _IMP_algebra.ExtendedGridIndex5D_get_dimension(self)
7984 
7985  def __cmp__(self, o):
7986  r"""__cmp__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> int"""
7987  return _IMP_algebra.ExtendedGridIndex5D___cmp__(self, o)
7988 
7989  def __eq__(self, o):
7990  r"""__eq__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7991  return _IMP_algebra.ExtendedGridIndex5D___eq__(self, o)
7992 
7993  def __ne__(self, o):
7994  r"""__ne__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7995  return _IMP_algebra.ExtendedGridIndex5D___ne__(self, o)
7996 
7997  def __lt__(self, o):
7998  r"""__lt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7999  return _IMP_algebra.ExtendedGridIndex5D___lt__(self, o)
8000 
8001  def __gt__(self, o):
8002  r"""__gt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8003  return _IMP_algebra.ExtendedGridIndex5D___gt__(self, o)
8004 
8005  def __ge__(self, o):
8006  r"""__ge__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8007  return _IMP_algebra.ExtendedGridIndex5D___ge__(self, o)
8008 
8009  def __le__(self, o):
8010  r"""__le__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8011  return _IMP_algebra.ExtendedGridIndex5D___le__(self, o)
8012 
8013  def __setitem__(self, i, v):
8014  r"""__setitem__(ExtendedGridIndex5D self, unsigned int i, int const & v)"""
8015  return _IMP_algebra.ExtendedGridIndex5D___setitem__(self, i, v)
8016 
8017  def __getitem__(self, i):
8018  r"""__getitem__(ExtendedGridIndex5D self, unsigned int i) -> int const &"""
8019  return _IMP_algebra.ExtendedGridIndex5D___getitem__(self, i)
8020 
8021  def show(self, *args):
8022  r"""show(ExtendedGridIndex5D self, _ostream out=std::cout)"""
8023  return _IMP_algebra.ExtendedGridIndex5D_show(self, *args)
8024 
8025  def __len__(self):
8026  r"""__len__(ExtendedGridIndex5D self) -> unsigned int"""
8027  return _IMP_algebra.ExtendedGridIndex5D___len__(self)
8028 
8029  def __hash__(self):
8030  r"""__hash__(ExtendedGridIndex5D self) -> std::size_t"""
8031  return _IMP_algebra.ExtendedGridIndex5D___hash__(self)
8032 
8033  def get_uniform_offset(self, ii):
8034  r"""get_uniform_offset(ExtendedGridIndex5D self, int ii) -> ExtendedGridIndex5D"""
8035  return _IMP_algebra.ExtendedGridIndex5D_get_uniform_offset(self, ii)
8036 
8037  def get_offset(self, i, j, k):
8038  r"""get_offset(ExtendedGridIndex5D self, int i, int j, int k) -> ExtendedGridIndex5D"""
8039  return _IMP_algebra.ExtendedGridIndex5D_get_offset(self, i, j, k)
8040 
8041  def __str__(self):
8042  r"""__str__(ExtendedGridIndex5D self) -> std::string"""
8043  return _IMP_algebra.ExtendedGridIndex5D___str__(self)
8044 
8045  def __repr__(self):
8046  r"""__repr__(ExtendedGridIndex5D self) -> std::string"""
8047  return _IMP_algebra.ExtendedGridIndex5D___repr__(self)
8048 
8049  def _get_as_binary(self):
8050  r"""_get_as_binary(ExtendedGridIndex5D self) -> PyObject *"""
8051  return _IMP_algebra.ExtendedGridIndex5D__get_as_binary(self)
8052 
8053  def _set_from_binary(self, p):
8054  r"""_set_from_binary(ExtendedGridIndex5D self, PyObject * p)"""
8055  return _IMP_algebra.ExtendedGridIndex5D__set_from_binary(self, p)
8056 
8057  def __getstate__(self):
8058  p = self._get_as_binary()
8059  if len(self.__dict__) > 1:
8060  d = self.__dict__.copy()
8061  del d['this']
8062  p = (d, p)
8063  return p
8064 
8065  def __setstate__(self, p):
8066  if not hasattr(self, 'this'):
8067  self.__init__()
8068  if isinstance(p, tuple):
8069  d, p = p
8070  self.__dict__.update(d)
8071  return self._set_from_binary(p)
8072 
8073  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex5D
8074 
8075 # Register ExtendedGridIndex5D in _IMP_algebra:
8076 _IMP_algebra.ExtendedGridIndex5D_swigregister(ExtendedGridIndex5D)
8077 class ExtendedGridIndex6D(IMP._Value):
8078  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 6 > class."""
8079 
8080  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8081 
8082  def __init__(self, *args):
8083  r"""
8084  __init__(ExtendedGridIndex6D self, IMP::Ints vals) -> ExtendedGridIndex6D
8085  __init__(ExtendedGridIndex6D self, int x) -> ExtendedGridIndex6D
8086  __init__(ExtendedGridIndex6D self, int x, int y) -> ExtendedGridIndex6D
8087  __init__(ExtendedGridIndex6D self, int x, int y, int z) -> ExtendedGridIndex6D
8088  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l) -> ExtendedGridIndex6D
8089  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex6D
8090  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex6D
8091  __init__(ExtendedGridIndex6D self) -> ExtendedGridIndex6D
8092  """
8093  _IMP_algebra.ExtendedGridIndex6D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex6D(*args))
8094 
8095  def get_dimension(self):
8096  r"""get_dimension(ExtendedGridIndex6D self) -> unsigned int"""
8097  return _IMP_algebra.ExtendedGridIndex6D_get_dimension(self)
8098 
8099  def __cmp__(self, o):
8100  r"""__cmp__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> int"""
8101  return _IMP_algebra.ExtendedGridIndex6D___cmp__(self, o)
8102 
8103  def __eq__(self, o):
8104  r"""__eq__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8105  return _IMP_algebra.ExtendedGridIndex6D___eq__(self, o)
8106 
8107  def __ne__(self, o):
8108  r"""__ne__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8109  return _IMP_algebra.ExtendedGridIndex6D___ne__(self, o)
8110 
8111  def __lt__(self, o):
8112  r"""__lt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8113  return _IMP_algebra.ExtendedGridIndex6D___lt__(self, o)
8114 
8115  def __gt__(self, o):
8116  r"""__gt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8117  return _IMP_algebra.ExtendedGridIndex6D___gt__(self, o)
8118 
8119  def __ge__(self, o):
8120  r"""__ge__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8121  return _IMP_algebra.ExtendedGridIndex6D___ge__(self, o)
8122 
8123  def __le__(self, o):
8124  r"""__le__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8125  return _IMP_algebra.ExtendedGridIndex6D___le__(self, o)
8126 
8127  def __setitem__(self, i, v):
8128  r"""__setitem__(ExtendedGridIndex6D self, unsigned int i, int const & v)"""
8129  return _IMP_algebra.ExtendedGridIndex6D___setitem__(self, i, v)
8130 
8131  def __getitem__(self, i):
8132  r"""__getitem__(ExtendedGridIndex6D self, unsigned int i) -> int const &"""
8133  return _IMP_algebra.ExtendedGridIndex6D___getitem__(self, i)
8134 
8135  def show(self, *args):
8136  r"""show(ExtendedGridIndex6D self, _ostream out=std::cout)"""
8137  return _IMP_algebra.ExtendedGridIndex6D_show(self, *args)
8138 
8139  def __len__(self):
8140  r"""__len__(ExtendedGridIndex6D self) -> unsigned int"""
8141  return _IMP_algebra.ExtendedGridIndex6D___len__(self)
8142 
8143  def __hash__(self):
8144  r"""__hash__(ExtendedGridIndex6D self) -> std::size_t"""
8145  return _IMP_algebra.ExtendedGridIndex6D___hash__(self)
8146 
8147  def get_uniform_offset(self, ii):
8148  r"""get_uniform_offset(ExtendedGridIndex6D self, int ii) -> ExtendedGridIndex6D"""
8149  return _IMP_algebra.ExtendedGridIndex6D_get_uniform_offset(self, ii)
8150 
8151  def get_offset(self, i, j, k):
8152  r"""get_offset(ExtendedGridIndex6D self, int i, int j, int k) -> ExtendedGridIndex6D"""
8153  return _IMP_algebra.ExtendedGridIndex6D_get_offset(self, i, j, k)
8154 
8155  def __str__(self):
8156  r"""__str__(ExtendedGridIndex6D self) -> std::string"""
8157  return _IMP_algebra.ExtendedGridIndex6D___str__(self)
8158 
8159  def __repr__(self):
8160  r"""__repr__(ExtendedGridIndex6D self) -> std::string"""
8161  return _IMP_algebra.ExtendedGridIndex6D___repr__(self)
8162 
8163  def _get_as_binary(self):
8164  r"""_get_as_binary(ExtendedGridIndex6D self) -> PyObject *"""
8165  return _IMP_algebra.ExtendedGridIndex6D__get_as_binary(self)
8166 
8167  def _set_from_binary(self, p):
8168  r"""_set_from_binary(ExtendedGridIndex6D self, PyObject * p)"""
8169  return _IMP_algebra.ExtendedGridIndex6D__set_from_binary(self, p)
8170 
8171  def __getstate__(self):
8172  p = self._get_as_binary()
8173  if len(self.__dict__) > 1:
8174  d = self.__dict__.copy()
8175  del d['this']
8176  p = (d, p)
8177  return p
8178 
8179  def __setstate__(self, p):
8180  if not hasattr(self, 'this'):
8181  self.__init__()
8182  if isinstance(p, tuple):
8183  d, p = p
8184  self.__dict__.update(d)
8185  return self._set_from_binary(p)
8186 
8187  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex6D
8188 
8189 # Register ExtendedGridIndex6D in _IMP_algebra:
8190 _IMP_algebra.ExtendedGridIndex6D_swigregister(ExtendedGridIndex6D)
8191 class ExtendedGridIndexKD(IMP._Value):
8192  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< -1 > class."""
8193 
8194  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8195 
8196  def __init__(self, *args):
8197  r"""
8198  __init__(ExtendedGridIndexKD self, IMP::Ints vals) -> ExtendedGridIndexKD
8199  __init__(ExtendedGridIndexKD self, int x) -> ExtendedGridIndexKD
8200  __init__(ExtendedGridIndexKD self, int x, int y) -> ExtendedGridIndexKD
8201  __init__(ExtendedGridIndexKD self, int x, int y, int z) -> ExtendedGridIndexKD
8202  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l) -> ExtendedGridIndexKD
8203  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m) -> ExtendedGridIndexKD
8204  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndexKD
8205  __init__(ExtendedGridIndexKD self) -> ExtendedGridIndexKD
8206  """
8207  _IMP_algebra.ExtendedGridIndexKD_swiginit(self, _IMP_algebra.new_ExtendedGridIndexKD(*args))
8208 
8209  def get_dimension(self):
8210  r"""get_dimension(ExtendedGridIndexKD self) -> unsigned int"""
8211  return _IMP_algebra.ExtendedGridIndexKD_get_dimension(self)
8212 
8213  def __cmp__(self, o):
8214  r"""__cmp__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> int"""
8215  return _IMP_algebra.ExtendedGridIndexKD___cmp__(self, o)
8216 
8217  def __eq__(self, o):
8218  r"""__eq__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8219  return _IMP_algebra.ExtendedGridIndexKD___eq__(self, o)
8220 
8221  def __ne__(self, o):
8222  r"""__ne__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8223  return _IMP_algebra.ExtendedGridIndexKD___ne__(self, o)
8224 
8225  def __lt__(self, o):
8226  r"""__lt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8227  return _IMP_algebra.ExtendedGridIndexKD___lt__(self, o)
8228 
8229  def __gt__(self, o):
8230  r"""__gt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8231  return _IMP_algebra.ExtendedGridIndexKD___gt__(self, o)
8232 
8233  def __ge__(self, o):
8234  r"""__ge__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8235  return _IMP_algebra.ExtendedGridIndexKD___ge__(self, o)
8236 
8237  def __le__(self, o):
8238  r"""__le__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8239  return _IMP_algebra.ExtendedGridIndexKD___le__(self, o)
8240 
8241  def __setitem__(self, i, v):
8242  r"""__setitem__(ExtendedGridIndexKD self, unsigned int i, int const & v)"""
8243  return _IMP_algebra.ExtendedGridIndexKD___setitem__(self, i, v)
8244 
8245  def __getitem__(self, i):
8246  r"""__getitem__(ExtendedGridIndexKD self, unsigned int i) -> int const &"""
8247  return _IMP_algebra.ExtendedGridIndexKD___getitem__(self, i)
8248 
8249  def show(self, *args):
8250  r"""show(ExtendedGridIndexKD self, _ostream out=std::cout)"""
8251  return _IMP_algebra.ExtendedGridIndexKD_show(self, *args)
8252 
8253  def __len__(self):
8254  r"""__len__(ExtendedGridIndexKD self) -> unsigned int"""
8255  return _IMP_algebra.ExtendedGridIndexKD___len__(self)
8256 
8257  def __hash__(self):
8258  r"""__hash__(ExtendedGridIndexKD self) -> std::size_t"""
8259  return _IMP_algebra.ExtendedGridIndexKD___hash__(self)
8260 
8261  def get_uniform_offset(self, ii):
8262  r"""get_uniform_offset(ExtendedGridIndexKD self, int ii) -> ExtendedGridIndexKD"""
8263  return _IMP_algebra.ExtendedGridIndexKD_get_uniform_offset(self, ii)
8264 
8265  def get_offset(self, i, j, k):
8266  r"""get_offset(ExtendedGridIndexKD self, int i, int j, int k) -> ExtendedGridIndexKD"""
8267  return _IMP_algebra.ExtendedGridIndexKD_get_offset(self, i, j, k)
8268 
8269  def __str__(self):
8270  r"""__str__(ExtendedGridIndexKD self) -> std::string"""
8271  return _IMP_algebra.ExtendedGridIndexKD___str__(self)
8272 
8273  def __repr__(self):
8274  r"""__repr__(ExtendedGridIndexKD self) -> std::string"""
8275  return _IMP_algebra.ExtendedGridIndexKD___repr__(self)
8276 
8277  def _get_as_binary(self):
8278  r"""_get_as_binary(ExtendedGridIndexKD self) -> PyObject *"""
8279  return _IMP_algebra.ExtendedGridIndexKD__get_as_binary(self)
8280 
8281  def _set_from_binary(self, p):
8282  r"""_set_from_binary(ExtendedGridIndexKD self, PyObject * p)"""
8283  return _IMP_algebra.ExtendedGridIndexKD__set_from_binary(self, p)
8284 
8285  def __getstate__(self):
8286  p = self._get_as_binary()
8287  if len(self.__dict__) > 1:
8288  d = self.__dict__.copy()
8289  del d['this']
8290  p = (d, p)
8291  return p
8292 
8293  def __setstate__(self, p):
8294  if not hasattr(self, 'this'):
8295  self.__init__()
8296  if isinstance(p, tuple):
8297  d, p = p
8298  self.__dict__.update(d)
8299  return self._set_from_binary(p)
8300 
8301  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndexKD
8302 
8303 # Register ExtendedGridIndexKD in _IMP_algebra:
8304 _IMP_algebra.ExtendedGridIndexKD_swigregister(ExtendedGridIndexKD)
8305 class BoundedGridRange1D(object):
8306  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 1 > class."""
8307 
8308  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8309 
8310  @staticmethod
8311  def get_is_bounded():
8312  r"""get_is_bounded() -> bool"""
8313  return _IMP_algebra.BoundedGridRange1D_get_is_bounded()
8314 
8315  def __init__(self, *args):
8316  r"""
8317  __init__(BoundedGridRange1D self) -> BoundedGridRange1D
8318  __init__(BoundedGridRange1D self, IMP::Ints const & counts) -> BoundedGridRange1D
8319  """
8320  _IMP_algebra.BoundedGridRange1D_swiginit(self, _IMP_algebra.new_BoundedGridRange1D(*args))
8321 
8322  def get_number_of_voxels(self, *args):
8323  r"""
8324  get_number_of_voxels(BoundedGridRange1D self, unsigned int i) -> unsigned int
8325  get_number_of_voxels(BoundedGridRange1D self) -> unsigned int
8326  """
8327  return _IMP_algebra.BoundedGridRange1D_get_number_of_voxels(self, *args)
8328 
8329  def get_end_index(self):
8330  r"""get_end_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8331  return _IMP_algebra.BoundedGridRange1D_get_end_index(self)
8332 
8333  def show(self, *args):
8334  r"""show(BoundedGridRange1D self, _ostream out=std::cout)"""
8335  return _IMP_algebra.BoundedGridRange1D_show(self, *args)
8336 
8337  def get_all_indexes(self):
8338  r"""get_all_indexes(BoundedGridRange1D self) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8339  return _IMP_algebra.BoundedGridRange1D_get_all_indexes(self)
8340 
8341  def get_indexes(self, lb, ub):
8342  r"""get_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8343  return _IMP_algebra.BoundedGridRange1D_get_indexes(self, lb, ub)
8344 
8345  def get_extended_indexes(self, lb, ub):
8346  r"""get_extended_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
8347  return _IMP_algebra.BoundedGridRange1D_get_extended_indexes(self, lb, ub)
8348 
8349  def get_index(self, v):
8350  r"""get_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> GridIndex1D"""
8351  return _IMP_algebra.BoundedGridRange1D_get_index(self, v)
8352 
8353  def get_has_index(self, v):
8354  r"""get_has_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> bool"""
8355  return _IMP_algebra.BoundedGridRange1D_get_has_index(self, v)
8356 
8357  def get_minimum_extended_index(self):
8358  r"""get_minimum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8359  return _IMP_algebra.BoundedGridRange1D_get_minimum_extended_index(self)
8360 
8361  def get_maximum_extended_index(self):
8362  r"""get_maximum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8363  return _IMP_algebra.BoundedGridRange1D_get_maximum_extended_index(self)
8364 
8365  def __str__(self):
8366  r"""__str__(BoundedGridRange1D self) -> std::string"""
8367  return _IMP_algebra.BoundedGridRange1D___str__(self)
8368 
8369  def __repr__(self):
8370  r"""__repr__(BoundedGridRange1D self) -> std::string"""
8371  return _IMP_algebra.BoundedGridRange1D___repr__(self)
8372 
8373  def __cmp__(self, arg2):
8374  r"""__cmp__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> int"""
8375  return _IMP_algebra.BoundedGridRange1D___cmp__(self, arg2)
8376 
8377  def __eq__(self, arg2):
8378  r"""__eq__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> bool"""
8379  return _IMP_algebra.BoundedGridRange1D___eq__(self, arg2)
8380 
8381  def _get_as_binary(self):
8382  r"""_get_as_binary(BoundedGridRange1D self) -> PyObject *"""
8383  return _IMP_algebra.BoundedGridRange1D__get_as_binary(self)
8384 
8385  def _set_from_binary(self, p):
8386  r"""_set_from_binary(BoundedGridRange1D self, PyObject * p)"""
8387  return _IMP_algebra.BoundedGridRange1D__set_from_binary(self, p)
8388 
8389  def __getstate__(self):
8390  p = self._get_as_binary()
8391  if len(self.__dict__) > 1:
8392  d = self.__dict__.copy()
8393  del d['this']
8394  p = (d, p)
8395  return p
8396 
8397  def __setstate__(self, p):
8398  if not hasattr(self, 'this'):
8399  self.__init__()
8400  if isinstance(p, tuple):
8401  d, p = p
8402  self.__dict__.update(d)
8403  return self._set_from_binary(p)
8404 
8405  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange1D
8406 
8407 # Register BoundedGridRange1D in _IMP_algebra:
8408 _IMP_algebra.BoundedGridRange1D_swigregister(BoundedGridRange1D)
8409 class BoundedGridRange2D(object):
8410  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 2 > class."""
8411 
8412  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8413 
8414  @staticmethod
8415  def get_is_bounded():
8416  r"""get_is_bounded() -> bool"""
8417  return _IMP_algebra.BoundedGridRange2D_get_is_bounded()
8418 
8419  def __init__(self, *args):
8420  r"""
8421  __init__(BoundedGridRange2D self) -> BoundedGridRange2D
8422  __init__(BoundedGridRange2D self, IMP::Ints const & counts) -> BoundedGridRange2D
8423  """
8424  _IMP_algebra.BoundedGridRange2D_swiginit(self, _IMP_algebra.new_BoundedGridRange2D(*args))
8425 
8426  def get_number_of_voxels(self, *args):
8427  r"""
8428  get_number_of_voxels(BoundedGridRange2D self, unsigned int i) -> unsigned int
8429  get_number_of_voxels(BoundedGridRange2D self) -> unsigned int
8430  """
8431  return _IMP_algebra.BoundedGridRange2D_get_number_of_voxels(self, *args)
8432 
8433  def get_end_index(self):
8434  r"""get_end_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8435  return _IMP_algebra.BoundedGridRange2D_get_end_index(self)
8436 
8437  def show(self, *args):
8438  r"""show(BoundedGridRange2D self, _ostream out=std::cout)"""
8439  return _IMP_algebra.BoundedGridRange2D_show(self, *args)
8440 
8441  def get_all_indexes(self):
8442  r"""get_all_indexes(BoundedGridRange2D self) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8443  return _IMP_algebra.BoundedGridRange2D_get_all_indexes(self)
8444 
8445  def get_indexes(self, lb, ub):
8446  r"""get_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8447  return _IMP_algebra.BoundedGridRange2D_get_indexes(self, lb, ub)
8448 
8449  def get_extended_indexes(self, lb, ub):
8450  r"""get_extended_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
8451  return _IMP_algebra.BoundedGridRange2D_get_extended_indexes(self, lb, ub)
8452 
8453  def get_index(self, v):
8454  r"""get_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> GridIndex2D"""
8455  return _IMP_algebra.BoundedGridRange2D_get_index(self, v)
8456 
8457  def get_has_index(self, v):
8458  r"""get_has_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> bool"""
8459  return _IMP_algebra.BoundedGridRange2D_get_has_index(self, v)
8460 
8461  def get_minimum_extended_index(self):
8462  r"""get_minimum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8463  return _IMP_algebra.BoundedGridRange2D_get_minimum_extended_index(self)
8464 
8465  def get_maximum_extended_index(self):
8466  r"""get_maximum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8467  return _IMP_algebra.BoundedGridRange2D_get_maximum_extended_index(self)
8468 
8469  def __str__(self):
8470  r"""__str__(BoundedGridRange2D self) -> std::string"""
8471  return _IMP_algebra.BoundedGridRange2D___str__(self)
8472 
8473  def __repr__(self):
8474  r"""__repr__(BoundedGridRange2D self) -> std::string"""
8475  return _IMP_algebra.BoundedGridRange2D___repr__(self)
8476 
8477  def __cmp__(self, arg2):
8478  r"""__cmp__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> int"""
8479  return _IMP_algebra.BoundedGridRange2D___cmp__(self, arg2)
8480 
8481  def __eq__(self, arg2):
8482  r"""__eq__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> bool"""
8483  return _IMP_algebra.BoundedGridRange2D___eq__(self, arg2)
8484 
8485  def _get_as_binary(self):
8486  r"""_get_as_binary(BoundedGridRange2D self) -> PyObject *"""
8487  return _IMP_algebra.BoundedGridRange2D__get_as_binary(self)
8488 
8489  def _set_from_binary(self, p):
8490  r"""_set_from_binary(BoundedGridRange2D self, PyObject * p)"""
8491  return _IMP_algebra.BoundedGridRange2D__set_from_binary(self, p)
8492 
8493  def __getstate__(self):
8494  p = self._get_as_binary()
8495  if len(self.__dict__) > 1:
8496  d = self.__dict__.copy()
8497  del d['this']
8498  p = (d, p)
8499  return p
8500 
8501  def __setstate__(self, p):
8502  if not hasattr(self, 'this'):
8503  self.__init__()
8504  if isinstance(p, tuple):
8505  d, p = p
8506  self.__dict__.update(d)
8507  return self._set_from_binary(p)
8508 
8509  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange2D
8510 
8511 # Register BoundedGridRange2D in _IMP_algebra:
8512 _IMP_algebra.BoundedGridRange2D_swigregister(BoundedGridRange2D)
8513 class BoundedGridRange3D(object):
8514  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 3 > class."""
8515 
8516  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8517 
8518  @staticmethod
8519  def get_is_bounded():
8520  r"""get_is_bounded() -> bool"""
8521  return _IMP_algebra.BoundedGridRange3D_get_is_bounded()
8522 
8523  def __init__(self, *args):
8524  r"""
8525  __init__(BoundedGridRange3D self) -> BoundedGridRange3D
8526  __init__(BoundedGridRange3D self, IMP::Ints const & counts) -> BoundedGridRange3D
8527  """
8528  _IMP_algebra.BoundedGridRange3D_swiginit(self, _IMP_algebra.new_BoundedGridRange3D(*args))
8529 
8530  def get_number_of_voxels(self, *args):
8531  r"""
8532  get_number_of_voxels(BoundedGridRange3D self, unsigned int i) -> unsigned int
8533  get_number_of_voxels(BoundedGridRange3D self) -> unsigned int
8534  """
8535  return _IMP_algebra.BoundedGridRange3D_get_number_of_voxels(self, *args)
8536 
8537  def get_end_index(self):
8538  r"""get_end_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8539  return _IMP_algebra.BoundedGridRange3D_get_end_index(self)
8540 
8541  def show(self, *args):
8542  r"""show(BoundedGridRange3D self, _ostream out=std::cout)"""
8543  return _IMP_algebra.BoundedGridRange3D_show(self, *args)
8544 
8545  def get_all_indexes(self):
8546  r"""get_all_indexes(BoundedGridRange3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8547  return _IMP_algebra.BoundedGridRange3D_get_all_indexes(self)
8548 
8549  def get_indexes(self, lb, ub):
8550  r"""get_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8551  return _IMP_algebra.BoundedGridRange3D_get_indexes(self, lb, ub)
8552 
8553  def get_extended_indexes(self, lb, ub):
8554  r"""get_extended_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
8555  return _IMP_algebra.BoundedGridRange3D_get_extended_indexes(self, lb, ub)
8556 
8557  def get_index(self, v):
8558  r"""get_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
8559  return _IMP_algebra.BoundedGridRange3D_get_index(self, v)
8560 
8561  def get_has_index(self, v):
8562  r"""get_has_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> bool"""
8563  return _IMP_algebra.BoundedGridRange3D_get_has_index(self, v)
8564 
8565  def get_minimum_extended_index(self):
8566  r"""get_minimum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8567  return _IMP_algebra.BoundedGridRange3D_get_minimum_extended_index(self)
8568 
8569  def get_maximum_extended_index(self):
8570  r"""get_maximum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8571  return _IMP_algebra.BoundedGridRange3D_get_maximum_extended_index(self)
8572 
8573  def __str__(self):
8574  r"""__str__(BoundedGridRange3D self) -> std::string"""
8575  return _IMP_algebra.BoundedGridRange3D___str__(self)
8576 
8577  def __repr__(self):
8578  r"""__repr__(BoundedGridRange3D self) -> std::string"""
8579  return _IMP_algebra.BoundedGridRange3D___repr__(self)
8580 
8581  def __cmp__(self, arg2):
8582  r"""__cmp__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> int"""
8583  return _IMP_algebra.BoundedGridRange3D___cmp__(self, arg2)
8584 
8585  def __eq__(self, arg2):
8586  r"""__eq__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> bool"""
8587  return _IMP_algebra.BoundedGridRange3D___eq__(self, arg2)
8588 
8589  def _get_as_binary(self):
8590  r"""_get_as_binary(BoundedGridRange3D self) -> PyObject *"""
8591  return _IMP_algebra.BoundedGridRange3D__get_as_binary(self)
8592 
8593  def _set_from_binary(self, p):
8594  r"""_set_from_binary(BoundedGridRange3D self, PyObject * p)"""
8595  return _IMP_algebra.BoundedGridRange3D__set_from_binary(self, p)
8596 
8597  def __getstate__(self):
8598  p = self._get_as_binary()
8599  if len(self.__dict__) > 1:
8600  d = self.__dict__.copy()
8601  del d['this']
8602  p = (d, p)
8603  return p
8604 
8605  def __setstate__(self, p):
8606  if not hasattr(self, 'this'):
8607  self.__init__()
8608  if isinstance(p, tuple):
8609  d, p = p
8610  self.__dict__.update(d)
8611  return self._set_from_binary(p)
8612 
8613  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange3D
8614 
8615 # Register BoundedGridRange3D in _IMP_algebra:
8616 _IMP_algebra.BoundedGridRange3D_swigregister(BoundedGridRange3D)
8617 class BoundedGridRange4D(object):
8618  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 4 > class."""
8619 
8620  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8621 
8622  @staticmethod
8623  def get_is_bounded():
8624  r"""get_is_bounded() -> bool"""
8625  return _IMP_algebra.BoundedGridRange4D_get_is_bounded()
8626 
8627  def __init__(self, *args):
8628  r"""
8629  __init__(BoundedGridRange4D self) -> BoundedGridRange4D
8630  __init__(BoundedGridRange4D self, IMP::Ints const & counts) -> BoundedGridRange4D
8631  """
8632  _IMP_algebra.BoundedGridRange4D_swiginit(self, _IMP_algebra.new_BoundedGridRange4D(*args))
8633 
8634  def get_number_of_voxels(self, *args):
8635  r"""
8636  get_number_of_voxels(BoundedGridRange4D self, unsigned int i) -> unsigned int
8637  get_number_of_voxels(BoundedGridRange4D self) -> unsigned int
8638  """
8639  return _IMP_algebra.BoundedGridRange4D_get_number_of_voxels(self, *args)
8640 
8641  def get_end_index(self):
8642  r"""get_end_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8643  return _IMP_algebra.BoundedGridRange4D_get_end_index(self)
8644 
8645  def show(self, *args):
8646  r"""show(BoundedGridRange4D self, _ostream out=std::cout)"""
8647  return _IMP_algebra.BoundedGridRange4D_show(self, *args)
8648 
8649  def get_all_indexes(self):
8650  r"""get_all_indexes(BoundedGridRange4D self) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8651  return _IMP_algebra.BoundedGridRange4D_get_all_indexes(self)
8652 
8653  def get_indexes(self, lb, ub):
8654  r"""get_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8655  return _IMP_algebra.BoundedGridRange4D_get_indexes(self, lb, ub)
8656 
8657  def get_extended_indexes(self, lb, ub):
8658  r"""get_extended_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
8659  return _IMP_algebra.BoundedGridRange4D_get_extended_indexes(self, lb, ub)
8660 
8661  def get_index(self, v):
8662  r"""get_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> GridIndex4D"""
8663  return _IMP_algebra.BoundedGridRange4D_get_index(self, v)
8664 
8665  def get_has_index(self, v):
8666  r"""get_has_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> bool"""
8667  return _IMP_algebra.BoundedGridRange4D_get_has_index(self, v)
8668 
8669  def get_minimum_extended_index(self):
8670  r"""get_minimum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8671  return _IMP_algebra.BoundedGridRange4D_get_minimum_extended_index(self)
8672 
8673  def get_maximum_extended_index(self):
8674  r"""get_maximum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8675  return _IMP_algebra.BoundedGridRange4D_get_maximum_extended_index(self)
8676 
8677  def __str__(self):
8678  r"""__str__(BoundedGridRange4D self) -> std::string"""
8679  return _IMP_algebra.BoundedGridRange4D___str__(self)
8680 
8681  def __repr__(self):
8682  r"""__repr__(BoundedGridRange4D self) -> std::string"""
8683  return _IMP_algebra.BoundedGridRange4D___repr__(self)
8684 
8685  def __cmp__(self, arg2):
8686  r"""__cmp__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> int"""
8687  return _IMP_algebra.BoundedGridRange4D___cmp__(self, arg2)
8688 
8689  def __eq__(self, arg2):
8690  r"""__eq__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> bool"""
8691  return _IMP_algebra.BoundedGridRange4D___eq__(self, arg2)
8692 
8693  def _get_as_binary(self):
8694  r"""_get_as_binary(BoundedGridRange4D self) -> PyObject *"""
8695  return _IMP_algebra.BoundedGridRange4D__get_as_binary(self)
8696 
8697  def _set_from_binary(self, p):
8698  r"""_set_from_binary(BoundedGridRange4D self, PyObject * p)"""
8699  return _IMP_algebra.BoundedGridRange4D__set_from_binary(self, p)
8700 
8701  def __getstate__(self):
8702  p = self._get_as_binary()
8703  if len(self.__dict__) > 1:
8704  d = self.__dict__.copy()
8705  del d['this']
8706  p = (d, p)
8707  return p
8708 
8709  def __setstate__(self, p):
8710  if not hasattr(self, 'this'):
8711  self.__init__()
8712  if isinstance(p, tuple):
8713  d, p = p
8714  self.__dict__.update(d)
8715  return self._set_from_binary(p)
8716 
8717  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange4D
8718 
8719 # Register BoundedGridRange4D in _IMP_algebra:
8720 _IMP_algebra.BoundedGridRange4D_swigregister(BoundedGridRange4D)
8721 class BoundedGridRange5D(object):
8722  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 5 > class."""
8723 
8724  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8725 
8726  @staticmethod
8727  def get_is_bounded():
8728  r"""get_is_bounded() -> bool"""
8729  return _IMP_algebra.BoundedGridRange5D_get_is_bounded()
8730 
8731  def __init__(self, *args):
8732  r"""
8733  __init__(BoundedGridRange5D self) -> BoundedGridRange5D
8734  __init__(BoundedGridRange5D self, IMP::Ints const & counts) -> BoundedGridRange5D
8735  """
8736  _IMP_algebra.BoundedGridRange5D_swiginit(self, _IMP_algebra.new_BoundedGridRange5D(*args))
8737 
8738  def get_number_of_voxels(self, *args):
8739  r"""
8740  get_number_of_voxels(BoundedGridRange5D self, unsigned int i) -> unsigned int
8741  get_number_of_voxels(BoundedGridRange5D self) -> unsigned int
8742  """
8743  return _IMP_algebra.BoundedGridRange5D_get_number_of_voxels(self, *args)
8744 
8745  def get_end_index(self):
8746  r"""get_end_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8747  return _IMP_algebra.BoundedGridRange5D_get_end_index(self)
8748 
8749  def show(self, *args):
8750  r"""show(BoundedGridRange5D self, _ostream out=std::cout)"""
8751  return _IMP_algebra.BoundedGridRange5D_show(self, *args)
8752 
8753  def get_all_indexes(self):
8754  r"""get_all_indexes(BoundedGridRange5D self) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8755  return _IMP_algebra.BoundedGridRange5D_get_all_indexes(self)
8756 
8757  def get_indexes(self, lb, ub):
8758  r"""get_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8759  return _IMP_algebra.BoundedGridRange5D_get_indexes(self, lb, ub)
8760 
8761  def get_extended_indexes(self, lb, ub):
8762  r"""get_extended_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
8763  return _IMP_algebra.BoundedGridRange5D_get_extended_indexes(self, lb, ub)
8764 
8765  def get_index(self, v):
8766  r"""get_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> GridIndex5D"""
8767  return _IMP_algebra.BoundedGridRange5D_get_index(self, v)
8768 
8769  def get_has_index(self, v):
8770  r"""get_has_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> bool"""
8771  return _IMP_algebra.BoundedGridRange5D_get_has_index(self, v)
8772 
8773  def get_minimum_extended_index(self):
8774  r"""get_minimum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8775  return _IMP_algebra.BoundedGridRange5D_get_minimum_extended_index(self)
8776 
8777  def get_maximum_extended_index(self):
8778  r"""get_maximum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8779  return _IMP_algebra.BoundedGridRange5D_get_maximum_extended_index(self)
8780 
8781  def __str__(self):
8782  r"""__str__(BoundedGridRange5D self) -> std::string"""
8783  return _IMP_algebra.BoundedGridRange5D___str__(self)
8784 
8785  def __repr__(self):
8786  r"""__repr__(BoundedGridRange5D self) -> std::string"""
8787  return _IMP_algebra.BoundedGridRange5D___repr__(self)
8788 
8789  def __cmp__(self, arg2):
8790  r"""__cmp__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> int"""
8791  return _IMP_algebra.BoundedGridRange5D___cmp__(self, arg2)
8792 
8793  def __eq__(self, arg2):
8794  r"""__eq__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> bool"""
8795  return _IMP_algebra.BoundedGridRange5D___eq__(self, arg2)
8796 
8797  def _get_as_binary(self):
8798  r"""_get_as_binary(BoundedGridRange5D self) -> PyObject *"""
8799  return _IMP_algebra.BoundedGridRange5D__get_as_binary(self)
8800 
8801  def _set_from_binary(self, p):
8802  r"""_set_from_binary(BoundedGridRange5D self, PyObject * p)"""
8803  return _IMP_algebra.BoundedGridRange5D__set_from_binary(self, p)
8804 
8805  def __getstate__(self):
8806  p = self._get_as_binary()
8807  if len(self.__dict__) > 1:
8808  d = self.__dict__.copy()
8809  del d['this']
8810  p = (d, p)
8811  return p
8812 
8813  def __setstate__(self, p):
8814  if not hasattr(self, 'this'):
8815  self.__init__()
8816  if isinstance(p, tuple):
8817  d, p = p
8818  self.__dict__.update(d)
8819  return self._set_from_binary(p)
8820 
8821  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange5D
8822 
8823 # Register BoundedGridRange5D in _IMP_algebra:
8824 _IMP_algebra.BoundedGridRange5D_swigregister(BoundedGridRange5D)
8825 class BoundedGridRange6D(object):
8826  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 6 > class."""
8827 
8828  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8829 
8830  @staticmethod
8831  def get_is_bounded():
8832  r"""get_is_bounded() -> bool"""
8833  return _IMP_algebra.BoundedGridRange6D_get_is_bounded()
8834 
8835  def __init__(self, *args):
8836  r"""
8837  __init__(BoundedGridRange6D self) -> BoundedGridRange6D
8838  __init__(BoundedGridRange6D self, IMP::Ints const & counts) -> BoundedGridRange6D
8839  """
8840  _IMP_algebra.BoundedGridRange6D_swiginit(self, _IMP_algebra.new_BoundedGridRange6D(*args))
8841 
8842  def get_number_of_voxels(self, *args):
8843  r"""
8844  get_number_of_voxels(BoundedGridRange6D self, unsigned int i) -> unsigned int
8845  get_number_of_voxels(BoundedGridRange6D self) -> unsigned int
8846  """
8847  return _IMP_algebra.BoundedGridRange6D_get_number_of_voxels(self, *args)
8848 
8849  def get_end_index(self):
8850  r"""get_end_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8851  return _IMP_algebra.BoundedGridRange6D_get_end_index(self)
8852 
8853  def show(self, *args):
8854  r"""show(BoundedGridRange6D self, _ostream out=std::cout)"""
8855  return _IMP_algebra.BoundedGridRange6D_show(self, *args)
8856 
8857  def get_all_indexes(self):
8858  r"""get_all_indexes(BoundedGridRange6D self) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8859  return _IMP_algebra.BoundedGridRange6D_get_all_indexes(self)
8860 
8861  def get_indexes(self, lb, ub):
8862  r"""get_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8863  return _IMP_algebra.BoundedGridRange6D_get_indexes(self, lb, ub)
8864 
8865  def get_extended_indexes(self, lb, ub):
8866  r"""get_extended_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
8867  return _IMP_algebra.BoundedGridRange6D_get_extended_indexes(self, lb, ub)
8868 
8869  def get_index(self, v):
8870  r"""get_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> GridIndex6D"""
8871  return _IMP_algebra.BoundedGridRange6D_get_index(self, v)
8872 
8873  def get_has_index(self, v):
8874  r"""get_has_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> bool"""
8875  return _IMP_algebra.BoundedGridRange6D_get_has_index(self, v)
8876 
8877  def get_minimum_extended_index(self):
8878  r"""get_minimum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8879  return _IMP_algebra.BoundedGridRange6D_get_minimum_extended_index(self)
8880 
8881  def get_maximum_extended_index(self):
8882  r"""get_maximum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8883  return _IMP_algebra.BoundedGridRange6D_get_maximum_extended_index(self)
8884 
8885  def __str__(self):
8886  r"""__str__(BoundedGridRange6D self) -> std::string"""
8887  return _IMP_algebra.BoundedGridRange6D___str__(self)
8888 
8889  def __repr__(self):
8890  r"""__repr__(BoundedGridRange6D self) -> std::string"""
8891  return _IMP_algebra.BoundedGridRange6D___repr__(self)
8892 
8893  def __cmp__(self, arg2):
8894  r"""__cmp__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> int"""
8895  return _IMP_algebra.BoundedGridRange6D___cmp__(self, arg2)
8896 
8897  def __eq__(self, arg2):
8898  r"""__eq__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> bool"""
8899  return _IMP_algebra.BoundedGridRange6D___eq__(self, arg2)
8900 
8901  def _get_as_binary(self):
8902  r"""_get_as_binary(BoundedGridRange6D self) -> PyObject *"""
8903  return _IMP_algebra.BoundedGridRange6D__get_as_binary(self)
8904 
8905  def _set_from_binary(self, p):
8906  r"""_set_from_binary(BoundedGridRange6D self, PyObject * p)"""
8907  return _IMP_algebra.BoundedGridRange6D__set_from_binary(self, p)
8908 
8909  def __getstate__(self):
8910  p = self._get_as_binary()
8911  if len(self.__dict__) > 1:
8912  d = self.__dict__.copy()
8913  del d['this']
8914  p = (d, p)
8915  return p
8916 
8917  def __setstate__(self, p):
8918  if not hasattr(self, 'this'):
8919  self.__init__()
8920  if isinstance(p, tuple):
8921  d, p = p
8922  self.__dict__.update(d)
8923  return self._set_from_binary(p)
8924 
8925  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange6D
8926 
8927 # Register BoundedGridRange6D in _IMP_algebra:
8928 _IMP_algebra.BoundedGridRange6D_swigregister(BoundedGridRange6D)
8929 class BoundedGridRangeKD(object):
8930  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< -1 > class."""
8931 
8932  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8933 
8934  @staticmethod
8935  def get_is_bounded():
8936  r"""get_is_bounded() -> bool"""
8937  return _IMP_algebra.BoundedGridRangeKD_get_is_bounded()
8938 
8939  def __init__(self, *args):
8940  r"""
8941  __init__(BoundedGridRangeKD self) -> BoundedGridRangeKD
8942  __init__(BoundedGridRangeKD self, IMP::Ints const & counts) -> BoundedGridRangeKD
8943  """
8944  _IMP_algebra.BoundedGridRangeKD_swiginit(self, _IMP_algebra.new_BoundedGridRangeKD(*args))
8945 
8946  def get_number_of_voxels(self, *args):
8947  r"""
8948  get_number_of_voxels(BoundedGridRangeKD self, unsigned int i) -> unsigned int
8949  get_number_of_voxels(BoundedGridRangeKD self) -> unsigned int
8950  """
8951  return _IMP_algebra.BoundedGridRangeKD_get_number_of_voxels(self, *args)
8952 
8953  def get_end_index(self):
8954  r"""get_end_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8955  return _IMP_algebra.BoundedGridRangeKD_get_end_index(self)
8956 
8957  def show(self, *args):
8958  r"""show(BoundedGridRangeKD self, _ostream out=std::cout)"""
8959  return _IMP_algebra.BoundedGridRangeKD_show(self, *args)
8960 
8961  def get_all_indexes(self):
8962  r"""get_all_indexes(BoundedGridRangeKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8963  return _IMP_algebra.BoundedGridRangeKD_get_all_indexes(self)
8964 
8965  def get_indexes(self, lb, ub):
8966  r"""get_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8967  return _IMP_algebra.BoundedGridRangeKD_get_indexes(self, lb, ub)
8968 
8969  def get_extended_indexes(self, lb, ub):
8970  r"""get_extended_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
8971  return _IMP_algebra.BoundedGridRangeKD_get_extended_indexes(self, lb, ub)
8972 
8973  def get_index(self, v):
8974  r"""get_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
8975  return _IMP_algebra.BoundedGridRangeKD_get_index(self, v)
8976 
8977  def get_has_index(self, v):
8978  r"""get_has_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> bool"""
8979  return _IMP_algebra.BoundedGridRangeKD_get_has_index(self, v)
8980 
8981  def get_minimum_extended_index(self):
8982  r"""get_minimum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8983  return _IMP_algebra.BoundedGridRangeKD_get_minimum_extended_index(self)
8984 
8985  def get_maximum_extended_index(self):
8986  r"""get_maximum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8987  return _IMP_algebra.BoundedGridRangeKD_get_maximum_extended_index(self)
8988 
8989  def __str__(self):
8990  r"""__str__(BoundedGridRangeKD self) -> std::string"""
8991  return _IMP_algebra.BoundedGridRangeKD___str__(self)
8992 
8993  def __repr__(self):
8994  r"""__repr__(BoundedGridRangeKD self) -> std::string"""
8995  return _IMP_algebra.BoundedGridRangeKD___repr__(self)
8996 
8997  def __cmp__(self, arg2):
8998  r"""__cmp__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> int"""
8999  return _IMP_algebra.BoundedGridRangeKD___cmp__(self, arg2)
9000 
9001  def __eq__(self, arg2):
9002  r"""__eq__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> bool"""
9003  return _IMP_algebra.BoundedGridRangeKD___eq__(self, arg2)
9004 
9005  def _get_as_binary(self):
9006  r"""_get_as_binary(BoundedGridRangeKD self) -> PyObject *"""
9007  return _IMP_algebra.BoundedGridRangeKD__get_as_binary(self)
9008 
9009  def _set_from_binary(self, p):
9010  r"""_set_from_binary(BoundedGridRangeKD self, PyObject * p)"""
9011  return _IMP_algebra.BoundedGridRangeKD__set_from_binary(self, p)
9012 
9013  def __getstate__(self):
9014  p = self._get_as_binary()
9015  if len(self.__dict__) > 1:
9016  d = self.__dict__.copy()
9017  del d['this']
9018  p = (d, p)
9019  return p
9020 
9021  def __setstate__(self, p):
9022  if not hasattr(self, 'this'):
9023  self.__init__()
9024  if isinstance(p, tuple):
9025  d, p = p
9026  self.__dict__.update(d)
9027  return self._set_from_binary(p)
9028 
9029  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRangeKD
9030 
9031 # Register BoundedGridRangeKD in _IMP_algebra:
9032 _IMP_algebra.BoundedGridRangeKD_swigregister(BoundedGridRangeKD)
9033 class UnboundedGridRange1D(object):
9034  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 1 > class."""
9035 
9036  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9037 
9038  def __init__(self, *args):
9039  r"""
9040  __init__(UnboundedGridRange1D self) -> UnboundedGridRange1D
9041  __init__(UnboundedGridRange1D self, IMP::Ints const & arg2) -> UnboundedGridRange1D
9042  """
9043  _IMP_algebra.UnboundedGridRange1D_swiginit(self, _IMP_algebra.new_UnboundedGridRange1D(*args))
9044 
9045  def set_number_of_voxels(self, arg2):
9046  r"""set_number_of_voxels(UnboundedGridRange1D self, IMP::Ints arg2)"""
9047  return _IMP_algebra.UnboundedGridRange1D_set_number_of_voxels(self, arg2)
9048 
9049  def get_number_of_voxels(self, arg2):
9050  r"""get_number_of_voxels(UnboundedGridRange1D self, int arg2) -> unsigned int"""
9051  return _IMP_algebra.UnboundedGridRange1D_get_number_of_voxels(self, arg2)
9052 
9053  @staticmethod
9054  def get_is_bounded():
9055  r"""get_is_bounded() -> bool"""
9056  return _IMP_algebra.UnboundedGridRange1D_get_is_bounded()
9057 
9058  def get_has_index(self, arg2):
9059  r"""get_has_index(UnboundedGridRange1D self, ExtendedGridIndex1D arg2) -> bool"""
9060  return _IMP_algebra.UnboundedGridRange1D_get_has_index(self, arg2)
9061 
9062  def show(self, *args):
9063  r"""show(UnboundedGridRange1D self, _ostream out=std::cout)"""
9064  return _IMP_algebra.UnboundedGridRange1D_show(self, *args)
9065 
9066  def get_extended_indexes(self, lb, ub):
9067  r"""get_extended_indexes(UnboundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
9068  return _IMP_algebra.UnboundedGridRange1D_get_extended_indexes(self, lb, ub)
9069 
9070  def __str__(self):
9071  r"""__str__(UnboundedGridRange1D self) -> std::string"""
9072  return _IMP_algebra.UnboundedGridRange1D___str__(self)
9073 
9074  def __repr__(self):
9075  r"""__repr__(UnboundedGridRange1D self) -> std::string"""
9076  return _IMP_algebra.UnboundedGridRange1D___repr__(self)
9077 
9078  def __cmp__(self, arg2):
9079  r"""__cmp__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> int"""
9080  return _IMP_algebra.UnboundedGridRange1D___cmp__(self, arg2)
9081 
9082  def __eq__(self, arg2):
9083  r"""__eq__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> bool"""
9084  return _IMP_algebra.UnboundedGridRange1D___eq__(self, arg2)
9085 
9086  def _get_as_binary(self):
9087  r"""_get_as_binary(UnboundedGridRange1D self) -> PyObject *"""
9088  return _IMP_algebra.UnboundedGridRange1D__get_as_binary(self)
9089 
9090  def _set_from_binary(self, p):
9091  r"""_set_from_binary(UnboundedGridRange1D self, PyObject * p)"""
9092  return _IMP_algebra.UnboundedGridRange1D__set_from_binary(self, p)
9093 
9094  def __getstate__(self):
9095  p = self._get_as_binary()
9096  if len(self.__dict__) > 1:
9097  d = self.__dict__.copy()
9098  del d['this']
9099  p = (d, p)
9100  return p
9101 
9102  def __setstate__(self, p):
9103  if not hasattr(self, 'this'):
9104  self.__init__()
9105  if isinstance(p, tuple):
9106  d, p = p
9107  self.__dict__.update(d)
9108  return self._set_from_binary(p)
9109 
9110  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange1D
9111 
9112 # Register UnboundedGridRange1D in _IMP_algebra:
9113 _IMP_algebra.UnboundedGridRange1D_swigregister(UnboundedGridRange1D)
9114 class UnboundedGridRange2D(object):
9115  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 2 > class."""
9116 
9117  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9118 
9119  def __init__(self, *args):
9120  r"""
9121  __init__(UnboundedGridRange2D self) -> UnboundedGridRange2D
9122  __init__(UnboundedGridRange2D self, IMP::Ints const & arg2) -> UnboundedGridRange2D
9123  """
9124  _IMP_algebra.UnboundedGridRange2D_swiginit(self, _IMP_algebra.new_UnboundedGridRange2D(*args))
9125 
9126  def set_number_of_voxels(self, arg2):
9127  r"""set_number_of_voxels(UnboundedGridRange2D self, IMP::Ints arg2)"""
9128  return _IMP_algebra.UnboundedGridRange2D_set_number_of_voxels(self, arg2)
9129 
9130  def get_number_of_voxels(self, arg2):
9131  r"""get_number_of_voxels(UnboundedGridRange2D self, int arg2) -> unsigned int"""
9132  return _IMP_algebra.UnboundedGridRange2D_get_number_of_voxels(self, arg2)
9133 
9134  @staticmethod
9135  def get_is_bounded():
9136  r"""get_is_bounded() -> bool"""
9137  return _IMP_algebra.UnboundedGridRange2D_get_is_bounded()
9138 
9139  def get_has_index(self, arg2):
9140  r"""get_has_index(UnboundedGridRange2D self, ExtendedGridIndex2D arg2) -> bool"""
9141  return _IMP_algebra.UnboundedGridRange2D_get_has_index(self, arg2)
9142 
9143  def show(self, *args):
9144  r"""show(UnboundedGridRange2D self, _ostream out=std::cout)"""
9145  return _IMP_algebra.UnboundedGridRange2D_show(self, *args)
9146 
9147  def get_extended_indexes(self, lb, ub):
9148  r"""get_extended_indexes(UnboundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
9149  return _IMP_algebra.UnboundedGridRange2D_get_extended_indexes(self, lb, ub)
9150 
9151  def __str__(self):
9152  r"""__str__(UnboundedGridRange2D self) -> std::string"""
9153  return _IMP_algebra.UnboundedGridRange2D___str__(self)
9154 
9155  def __repr__(self):
9156  r"""__repr__(UnboundedGridRange2D self) -> std::string"""
9157  return _IMP_algebra.UnboundedGridRange2D___repr__(self)
9158 
9159  def __cmp__(self, arg2):
9160  r"""__cmp__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> int"""
9161  return _IMP_algebra.UnboundedGridRange2D___cmp__(self, arg2)
9162 
9163  def __eq__(self, arg2):
9164  r"""__eq__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> bool"""
9165  return _IMP_algebra.UnboundedGridRange2D___eq__(self, arg2)
9166 
9167  def _get_as_binary(self):
9168  r"""_get_as_binary(UnboundedGridRange2D self) -> PyObject *"""
9169  return _IMP_algebra.UnboundedGridRange2D__get_as_binary(self)
9170 
9171  def _set_from_binary(self, p):
9172  r"""_set_from_binary(UnboundedGridRange2D self, PyObject * p)"""
9173  return _IMP_algebra.UnboundedGridRange2D__set_from_binary(self, p)
9174 
9175  def __getstate__(self):
9176  p = self._get_as_binary()
9177  if len(self.__dict__) > 1:
9178  d = self.__dict__.copy()
9179  del d['this']
9180  p = (d, p)
9181  return p
9182 
9183  def __setstate__(self, p):
9184  if not hasattr(self, 'this'):
9185  self.__init__()
9186  if isinstance(p, tuple):
9187  d, p = p
9188  self.__dict__.update(d)
9189  return self._set_from_binary(p)
9190 
9191  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange2D
9192 
9193 # Register UnboundedGridRange2D in _IMP_algebra:
9194 _IMP_algebra.UnboundedGridRange2D_swigregister(UnboundedGridRange2D)
9195 class UnboundedGridRange3D(object):
9196  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 3 > class."""
9197 
9198  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9199 
9200  def __init__(self, *args):
9201  r"""
9202  __init__(UnboundedGridRange3D self) -> UnboundedGridRange3D
9203  __init__(UnboundedGridRange3D self, IMP::Ints const & arg2) -> UnboundedGridRange3D
9204  """
9205  _IMP_algebra.UnboundedGridRange3D_swiginit(self, _IMP_algebra.new_UnboundedGridRange3D(*args))
9206 
9207  def set_number_of_voxels(self, arg2):
9208  r"""set_number_of_voxels(UnboundedGridRange3D self, IMP::Ints arg2)"""
9209  return _IMP_algebra.UnboundedGridRange3D_set_number_of_voxels(self, arg2)
9210 
9211  def get_number_of_voxels(self, arg2):
9212  r"""get_number_of_voxels(UnboundedGridRange3D self, int arg2) -> unsigned int"""
9213  return _IMP_algebra.UnboundedGridRange3D_get_number_of_voxels(self, arg2)
9214 
9215  @staticmethod
9216  def get_is_bounded():
9217  r"""get_is_bounded() -> bool"""
9218  return _IMP_algebra.UnboundedGridRange3D_get_is_bounded()
9219 
9220  def get_has_index(self, arg2):
9221  r"""get_has_index(UnboundedGridRange3D self, ExtendedGridIndex3D arg2) -> bool"""
9222  return _IMP_algebra.UnboundedGridRange3D_get_has_index(self, arg2)
9223 
9224  def show(self, *args):
9225  r"""show(UnboundedGridRange3D self, _ostream out=std::cout)"""
9226  return _IMP_algebra.UnboundedGridRange3D_show(self, *args)
9227 
9228  def get_extended_indexes(self, lb, ub):
9229  r"""get_extended_indexes(UnboundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
9230  return _IMP_algebra.UnboundedGridRange3D_get_extended_indexes(self, lb, ub)
9231 
9232  def __str__(self):
9233  r"""__str__(UnboundedGridRange3D self) -> std::string"""
9234  return _IMP_algebra.UnboundedGridRange3D___str__(self)
9235 
9236  def __repr__(self):
9237  r"""__repr__(UnboundedGridRange3D self) -> std::string"""
9238  return _IMP_algebra.UnboundedGridRange3D___repr__(self)
9239 
9240  def __cmp__(self, arg2):
9241  r"""__cmp__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> int"""
9242  return _IMP_algebra.UnboundedGridRange3D___cmp__(self, arg2)
9243 
9244  def __eq__(self, arg2):
9245  r"""__eq__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> bool"""
9246  return _IMP_algebra.UnboundedGridRange3D___eq__(self, arg2)
9247 
9248  def _get_as_binary(self):
9249  r"""_get_as_binary(UnboundedGridRange3D self) -> PyObject *"""
9250  return _IMP_algebra.UnboundedGridRange3D__get_as_binary(self)
9251 
9252  def _set_from_binary(self, p):
9253  r"""_set_from_binary(UnboundedGridRange3D self, PyObject * p)"""
9254  return _IMP_algebra.UnboundedGridRange3D__set_from_binary(self, p)
9255 
9256  def __getstate__(self):
9257  p = self._get_as_binary()
9258  if len(self.__dict__) > 1:
9259  d = self.__dict__.copy()
9260  del d['this']
9261  p = (d, p)
9262  return p
9263 
9264  def __setstate__(self, p):
9265  if not hasattr(self, 'this'):
9266  self.__init__()
9267  if isinstance(p, tuple):
9268  d, p = p
9269  self.__dict__.update(d)
9270  return self._set_from_binary(p)
9271 
9272  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange3D
9273 
9274 # Register UnboundedGridRange3D in _IMP_algebra:
9275 _IMP_algebra.UnboundedGridRange3D_swigregister(UnboundedGridRange3D)
9276 class UnboundedGridRange4D(object):
9277  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 4 > class."""
9278 
9279  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9280 
9281  def __init__(self, *args):
9282  r"""
9283  __init__(UnboundedGridRange4D self) -> UnboundedGridRange4D
9284  __init__(UnboundedGridRange4D self, IMP::Ints const & arg2) -> UnboundedGridRange4D
9285  """
9286  _IMP_algebra.UnboundedGridRange4D_swiginit(self, _IMP_algebra.new_UnboundedGridRange4D(*args))
9287 
9288  def set_number_of_voxels(self, arg2):
9289  r"""set_number_of_voxels(UnboundedGridRange4D self, IMP::Ints arg2)"""
9290  return _IMP_algebra.UnboundedGridRange4D_set_number_of_voxels(self, arg2)
9291 
9292  def get_number_of_voxels(self, arg2):
9293  r"""get_number_of_voxels(UnboundedGridRange4D self, int arg2) -> unsigned int"""
9294  return _IMP_algebra.UnboundedGridRange4D_get_number_of_voxels(self, arg2)
9295 
9296  @staticmethod
9297  def get_is_bounded():
9298  r"""get_is_bounded() -> bool"""
9299  return _IMP_algebra.UnboundedGridRange4D_get_is_bounded()
9300 
9301  def get_has_index(self, arg2):
9302  r"""get_has_index(UnboundedGridRange4D self, ExtendedGridIndex4D arg2) -> bool"""
9303  return _IMP_algebra.UnboundedGridRange4D_get_has_index(self, arg2)
9304 
9305  def show(self, *args):
9306  r"""show(UnboundedGridRange4D self, _ostream out=std::cout)"""
9307  return _IMP_algebra.UnboundedGridRange4D_show(self, *args)
9308 
9309  def get_extended_indexes(self, lb, ub):
9310  r"""get_extended_indexes(UnboundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
9311  return _IMP_algebra.UnboundedGridRange4D_get_extended_indexes(self, lb, ub)
9312 
9313  def __str__(self):
9314  r"""__str__(UnboundedGridRange4D self) -> std::string"""
9315  return _IMP_algebra.UnboundedGridRange4D___str__(self)
9316 
9317  def __repr__(self):
9318  r"""__repr__(UnboundedGridRange4D self) -> std::string"""
9319  return _IMP_algebra.UnboundedGridRange4D___repr__(self)
9320 
9321  def __cmp__(self, arg2):
9322  r"""__cmp__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> int"""
9323  return _IMP_algebra.UnboundedGridRange4D___cmp__(self, arg2)
9324 
9325  def __eq__(self, arg2):
9326  r"""__eq__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> bool"""
9327  return _IMP_algebra.UnboundedGridRange4D___eq__(self, arg2)
9328 
9329  def _get_as_binary(self):
9330  r"""_get_as_binary(UnboundedGridRange4D self) -> PyObject *"""
9331  return _IMP_algebra.UnboundedGridRange4D__get_as_binary(self)
9332 
9333  def _set_from_binary(self, p):
9334  r"""_set_from_binary(UnboundedGridRange4D self, PyObject * p)"""
9335  return _IMP_algebra.UnboundedGridRange4D__set_from_binary(self, p)
9336 
9337  def __getstate__(self):
9338  p = self._get_as_binary()
9339  if len(self.__dict__) > 1:
9340  d = self.__dict__.copy()
9341  del d['this']
9342  p = (d, p)
9343  return p
9344 
9345  def __setstate__(self, p):
9346  if not hasattr(self, 'this'):
9347  self.__init__()
9348  if isinstance(p, tuple):
9349  d, p = p
9350  self.__dict__.update(d)
9351  return self._set_from_binary(p)
9352 
9353  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange4D
9354 
9355 # Register UnboundedGridRange4D in _IMP_algebra:
9356 _IMP_algebra.UnboundedGridRange4D_swigregister(UnboundedGridRange4D)
9357 class UnboundedGridRange5D(object):
9358  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 5 > class."""
9359 
9360  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9361 
9362  def __init__(self, *args):
9363  r"""
9364  __init__(UnboundedGridRange5D self) -> UnboundedGridRange5D
9365  __init__(UnboundedGridRange5D self, IMP::Ints const & arg2) -> UnboundedGridRange5D
9366  """
9367  _IMP_algebra.UnboundedGridRange5D_swiginit(self, _IMP_algebra.new_UnboundedGridRange5D(*args))
9368 
9369  def set_number_of_voxels(self, arg2):
9370  r"""set_number_of_voxels(UnboundedGridRange5D self, IMP::Ints arg2)"""
9371  return _IMP_algebra.UnboundedGridRange5D_set_number_of_voxels(self, arg2)
9372 
9373  def get_number_of_voxels(self, arg2):
9374  r"""get_number_of_voxels(UnboundedGridRange5D self, int arg2) -> unsigned int"""
9375  return _IMP_algebra.UnboundedGridRange5D_get_number_of_voxels(self, arg2)
9376 
9377  @staticmethod
9378  def get_is_bounded():
9379  r"""get_is_bounded() -> bool"""
9380  return _IMP_algebra.UnboundedGridRange5D_get_is_bounded()
9381 
9382  def get_has_index(self, arg2):
9383  r"""get_has_index(UnboundedGridRange5D self, ExtendedGridIndex5D arg2) -> bool"""
9384  return _IMP_algebra.UnboundedGridRange5D_get_has_index(self, arg2)
9385 
9386  def show(self, *args):
9387  r"""show(UnboundedGridRange5D self, _ostream out=std::cout)"""
9388  return _IMP_algebra.UnboundedGridRange5D_show(self, *args)
9389 
9390  def get_extended_indexes(self, lb, ub):
9391  r"""get_extended_indexes(UnboundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
9392  return _IMP_algebra.UnboundedGridRange5D_get_extended_indexes(self, lb, ub)
9393 
9394  def __str__(self):
9395  r"""__str__(UnboundedGridRange5D self) -> std::string"""
9396  return _IMP_algebra.UnboundedGridRange5D___str__(self)
9397 
9398  def __repr__(self):
9399  r"""__repr__(UnboundedGridRange5D self) -> std::string"""
9400  return _IMP_algebra.UnboundedGridRange5D___repr__(self)
9401 
9402  def __cmp__(self, arg2):
9403  r"""__cmp__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> int"""
9404  return _IMP_algebra.UnboundedGridRange5D___cmp__(self, arg2)
9405 
9406  def __eq__(self, arg2):
9407  r"""__eq__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> bool"""
9408  return _IMP_algebra.UnboundedGridRange5D___eq__(self, arg2)
9409 
9410  def _get_as_binary(self):
9411  r"""_get_as_binary(UnboundedGridRange5D self) -> PyObject *"""
9412  return _IMP_algebra.UnboundedGridRange5D__get_as_binary(self)
9413 
9414  def _set_from_binary(self, p):
9415  r"""_set_from_binary(UnboundedGridRange5D self, PyObject * p)"""
9416  return _IMP_algebra.UnboundedGridRange5D__set_from_binary(self, p)
9417 
9418  def __getstate__(self):
9419  p = self._get_as_binary()
9420  if len(self.__dict__) > 1:
9421  d = self.__dict__.copy()
9422  del d['this']
9423  p = (d, p)
9424  return p
9425 
9426  def __setstate__(self, p):
9427  if not hasattr(self, 'this'):
9428  self.__init__()
9429  if isinstance(p, tuple):
9430  d, p = p
9431  self.__dict__.update(d)
9432  return self._set_from_binary(p)
9433 
9434  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange5D
9435 
9436 # Register UnboundedGridRange5D in _IMP_algebra:
9437 _IMP_algebra.UnboundedGridRange5D_swigregister(UnboundedGridRange5D)
9438 class UnboundedGridRange6D(object):
9439  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 6 > class."""
9440 
9441  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9442 
9443  def __init__(self, *args):
9444  r"""
9445  __init__(UnboundedGridRange6D self) -> UnboundedGridRange6D
9446  __init__(UnboundedGridRange6D self, IMP::Ints const & arg2) -> UnboundedGridRange6D
9447  """
9448  _IMP_algebra.UnboundedGridRange6D_swiginit(self, _IMP_algebra.new_UnboundedGridRange6D(*args))
9449 
9450  def set_number_of_voxels(self, arg2):
9451  r"""set_number_of_voxels(UnboundedGridRange6D self, IMP::Ints arg2)"""
9452  return _IMP_algebra.UnboundedGridRange6D_set_number_of_voxels(self, arg2)
9453 
9454  def get_number_of_voxels(self, arg2):
9455  r"""get_number_of_voxels(UnboundedGridRange6D self, int arg2) -> unsigned int"""
9456  return _IMP_algebra.UnboundedGridRange6D_get_number_of_voxels(self, arg2)
9457 
9458  @staticmethod
9459  def get_is_bounded():
9460  r"""get_is_bounded() -> bool"""
9461  return _IMP_algebra.UnboundedGridRange6D_get_is_bounded()
9462 
9463  def get_has_index(self, arg2):
9464  r"""get_has_index(UnboundedGridRange6D self, ExtendedGridIndex6D arg2) -> bool"""
9465  return _IMP_algebra.UnboundedGridRange6D_get_has_index(self, arg2)
9466 
9467  def show(self, *args):
9468  r"""show(UnboundedGridRange6D self, _ostream out=std::cout)"""
9469  return _IMP_algebra.UnboundedGridRange6D_show(self, *args)
9470 
9471  def get_extended_indexes(self, lb, ub):
9472  r"""get_extended_indexes(UnboundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
9473  return _IMP_algebra.UnboundedGridRange6D_get_extended_indexes(self, lb, ub)
9474 
9475  def __str__(self):
9476  r"""__str__(UnboundedGridRange6D self) -> std::string"""
9477  return _IMP_algebra.UnboundedGridRange6D___str__(self)
9478 
9479  def __repr__(self):
9480  r"""__repr__(UnboundedGridRange6D self) -> std::string"""
9481  return _IMP_algebra.UnboundedGridRange6D___repr__(self)
9482 
9483  def __cmp__(self, arg2):
9484  r"""__cmp__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> int"""
9485  return _IMP_algebra.UnboundedGridRange6D___cmp__(self, arg2)
9486 
9487  def __eq__(self, arg2):
9488  r"""__eq__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> bool"""
9489  return _IMP_algebra.UnboundedGridRange6D___eq__(self, arg2)
9490 
9491  def _get_as_binary(self):
9492  r"""_get_as_binary(UnboundedGridRange6D self) -> PyObject *"""
9493  return _IMP_algebra.UnboundedGridRange6D__get_as_binary(self)
9494 
9495  def _set_from_binary(self, p):
9496  r"""_set_from_binary(UnboundedGridRange6D self, PyObject * p)"""
9497  return _IMP_algebra.UnboundedGridRange6D__set_from_binary(self, p)
9498 
9499  def __getstate__(self):
9500  p = self._get_as_binary()
9501  if len(self.__dict__) > 1:
9502  d = self.__dict__.copy()
9503  del d['this']
9504  p = (d, p)
9505  return p
9506 
9507  def __setstate__(self, p):
9508  if not hasattr(self, 'this'):
9509  self.__init__()
9510  if isinstance(p, tuple):
9511  d, p = p
9512  self.__dict__.update(d)
9513  return self._set_from_binary(p)
9514 
9515  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange6D
9516 
9517 # Register UnboundedGridRange6D in _IMP_algebra:
9518 _IMP_algebra.UnboundedGridRange6D_swigregister(UnboundedGridRange6D)
9519 class UnboundedGridRangeKD(object):
9520  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< -1 > class."""
9521 
9522  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9523 
9524  def __init__(self, *args):
9525  r"""
9526  __init__(UnboundedGridRangeKD self) -> UnboundedGridRangeKD
9527  __init__(UnboundedGridRangeKD self, IMP::Ints const & arg2) -> UnboundedGridRangeKD
9528  """
9529  _IMP_algebra.UnboundedGridRangeKD_swiginit(self, _IMP_algebra.new_UnboundedGridRangeKD(*args))
9530 
9531  def set_number_of_voxels(self, arg2):
9532  r"""set_number_of_voxels(UnboundedGridRangeKD self, IMP::Ints arg2)"""
9533  return _IMP_algebra.UnboundedGridRangeKD_set_number_of_voxels(self, arg2)
9534 
9535  def get_number_of_voxels(self, arg2):
9536  r"""get_number_of_voxels(UnboundedGridRangeKD self, int arg2) -> unsigned int"""
9537  return _IMP_algebra.UnboundedGridRangeKD_get_number_of_voxels(self, arg2)
9538 
9539  @staticmethod
9540  def get_is_bounded():
9541  r"""get_is_bounded() -> bool"""
9542  return _IMP_algebra.UnboundedGridRangeKD_get_is_bounded()
9543 
9544  def get_has_index(self, arg2):
9545  r"""get_has_index(UnboundedGridRangeKD self, ExtendedGridIndexKD arg2) -> bool"""
9546  return _IMP_algebra.UnboundedGridRangeKD_get_has_index(self, arg2)
9547 
9548  def show(self, *args):
9549  r"""show(UnboundedGridRangeKD self, _ostream out=std::cout)"""
9550  return _IMP_algebra.UnboundedGridRangeKD_show(self, *args)
9551 
9552  def get_extended_indexes(self, lb, ub):
9553  r"""get_extended_indexes(UnboundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
9554  return _IMP_algebra.UnboundedGridRangeKD_get_extended_indexes(self, lb, ub)
9555 
9556  def __str__(self):
9557  r"""__str__(UnboundedGridRangeKD self) -> std::string"""
9558  return _IMP_algebra.UnboundedGridRangeKD___str__(self)
9559 
9560  def __repr__(self):
9561  r"""__repr__(UnboundedGridRangeKD self) -> std::string"""
9562  return _IMP_algebra.UnboundedGridRangeKD___repr__(self)
9563 
9564  def __cmp__(self, arg2):
9565  r"""__cmp__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> int"""
9566  return _IMP_algebra.UnboundedGridRangeKD___cmp__(self, arg2)
9567 
9568  def __eq__(self, arg2):
9569  r"""__eq__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> bool"""
9570  return _IMP_algebra.UnboundedGridRangeKD___eq__(self, arg2)
9571 
9572  def _get_as_binary(self):
9573  r"""_get_as_binary(UnboundedGridRangeKD self) -> PyObject *"""
9574  return _IMP_algebra.UnboundedGridRangeKD__get_as_binary(self)
9575 
9576  def _set_from_binary(self, p):
9577  r"""_set_from_binary(UnboundedGridRangeKD self, PyObject * p)"""
9578  return _IMP_algebra.UnboundedGridRangeKD__set_from_binary(self, p)
9579 
9580  def __getstate__(self):
9581  p = self._get_as_binary()
9582  if len(self.__dict__) > 1:
9583  d = self.__dict__.copy()
9584  del d['this']
9585  p = (d, p)
9586  return p
9587 
9588  def __setstate__(self, p):
9589  if not hasattr(self, 'this'):
9590  self.__init__()
9591  if isinstance(p, tuple):
9592  d, p = p
9593  self.__dict__.update(d)
9594  return self._set_from_binary(p)
9595 
9596  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRangeKD
9597 
9598 # Register UnboundedGridRangeKD in _IMP_algebra:
9599 _IMP_algebra.UnboundedGridRangeKD_swigregister(UnboundedGridRangeKD)
9600 class DefaultEmbedding1D(object):
9601  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 1 > class."""
9602 
9603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9604 
9605  def __init__(self, *args):
9606  r"""
9607  __init__(DefaultEmbedding1D self, Vector1D origin, Vector1D cell) -> DefaultEmbedding1D
9608  __init__(DefaultEmbedding1D self) -> DefaultEmbedding1D
9609  """
9610  _IMP_algebra.DefaultEmbedding1D_swiginit(self, _IMP_algebra.new_DefaultEmbedding1D(*args))
9611 
9612  def set_origin(self, o):
9613  r"""set_origin(DefaultEmbedding1D self, Vector1D o)"""
9614  return _IMP_algebra.DefaultEmbedding1D_set_origin(self, o)
9615 
9616  def get_origin(self):
9617  r"""get_origin(DefaultEmbedding1D self) -> Vector1D"""
9618  return _IMP_algebra.DefaultEmbedding1D_get_origin(self)
9619 
9620  def get_dimension(self):
9621  r"""get_dimension(DefaultEmbedding1D self) -> unsigned int"""
9622  return _IMP_algebra.DefaultEmbedding1D_get_dimension(self)
9623 
9624  def set_unit_cell(self, o):
9625  r"""set_unit_cell(DefaultEmbedding1D self, Vector1D o)"""
9626  return _IMP_algebra.DefaultEmbedding1D_set_unit_cell(self, o)
9627 
9628  def get_inverse_unit_cell(self):
9629  r"""get_inverse_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9630  return _IMP_algebra.DefaultEmbedding1D_get_inverse_unit_cell(self)
9631 
9632  def get_unit_cell(self):
9633  r"""get_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9634  return _IMP_algebra.DefaultEmbedding1D_get_unit_cell(self)
9635 
9636  def get_extended_index(self, o):
9637  r"""get_extended_index(DefaultEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
9638  return _IMP_algebra.DefaultEmbedding1D_get_extended_index(self, o)
9639 
9640  def get_index(self, o):
9641  r"""get_index(DefaultEmbedding1D self, Vector1D o) -> GridIndex1D"""
9642  return _IMP_algebra.DefaultEmbedding1D_get_index(self, o)
9643 
9644  def get_center(self, *args):
9645  r"""
9646  get_center(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
9647  get_center(DefaultEmbedding1D self, GridIndex1D ei) -> Vector1D
9648  """
9649  return _IMP_algebra.DefaultEmbedding1D_get_center(self, *args)
9650 
9651  def get_bounding_box(self, *args):
9652  r"""
9653  get_bounding_box(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
9654  get_bounding_box(DefaultEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
9655  """
9656  return _IMP_algebra.DefaultEmbedding1D_get_bounding_box(self, *args)
9657 
9658  def show(self, *args):
9659  r"""show(DefaultEmbedding1D self, _ostream out=std::cout)"""
9660  return _IMP_algebra.DefaultEmbedding1D_show(self, *args)
9661 
9662  def __str__(self):
9663  r"""__str__(DefaultEmbedding1D self) -> std::string"""
9664  return _IMP_algebra.DefaultEmbedding1D___str__(self)
9665 
9666  def __repr__(self):
9667  r"""__repr__(DefaultEmbedding1D self) -> std::string"""
9668  return _IMP_algebra.DefaultEmbedding1D___repr__(self)
9669 
9670  def __cmp__(self, arg2):
9671  r"""__cmp__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> int"""
9672  return _IMP_algebra.DefaultEmbedding1D___cmp__(self, arg2)
9673 
9674  def __eq__(self, arg2):
9675  r"""__eq__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> bool"""
9676  return _IMP_algebra.DefaultEmbedding1D___eq__(self, arg2)
9677 
9678  def _get_as_binary(self):
9679  r"""_get_as_binary(DefaultEmbedding1D self) -> PyObject *"""
9680  return _IMP_algebra.DefaultEmbedding1D__get_as_binary(self)
9681 
9682  def _set_from_binary(self, p):
9683  r"""_set_from_binary(DefaultEmbedding1D self, PyObject * p)"""
9684  return _IMP_algebra.DefaultEmbedding1D__set_from_binary(self, p)
9685 
9686  def __getstate__(self):
9687  p = self._get_as_binary()
9688  if len(self.__dict__) > 1:
9689  d = self.__dict__.copy()
9690  del d['this']
9691  p = (d, p)
9692  return p
9693 
9694  def __setstate__(self, p):
9695  if not hasattr(self, 'this'):
9696  self.__init__()
9697  if isinstance(p, tuple):
9698  d, p = p
9699  self.__dict__.update(d)
9700  return self._set_from_binary(p)
9701 
9702  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding1D
9703 
9704 # Register DefaultEmbedding1D in _IMP_algebra:
9705 _IMP_algebra.DefaultEmbedding1D_swigregister(DefaultEmbedding1D)
9706 class DefaultEmbedding2D(object):
9707  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 2 > class."""
9708 
9709  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9710 
9711  def __init__(self, *args):
9712  r"""
9713  __init__(DefaultEmbedding2D self, Vector2D origin, Vector2D cell) -> DefaultEmbedding2D
9714  __init__(DefaultEmbedding2D self) -> DefaultEmbedding2D
9715  """
9716  _IMP_algebra.DefaultEmbedding2D_swiginit(self, _IMP_algebra.new_DefaultEmbedding2D(*args))
9717 
9718  def set_origin(self, o):
9719  r"""set_origin(DefaultEmbedding2D self, Vector2D o)"""
9720  return _IMP_algebra.DefaultEmbedding2D_set_origin(self, o)
9721 
9722  def get_origin(self):
9723  r"""get_origin(DefaultEmbedding2D self) -> Vector2D"""
9724  return _IMP_algebra.DefaultEmbedding2D_get_origin(self)
9725 
9726  def get_dimension(self):
9727  r"""get_dimension(DefaultEmbedding2D self) -> unsigned int"""
9728  return _IMP_algebra.DefaultEmbedding2D_get_dimension(self)
9729 
9730  def set_unit_cell(self, o):
9731  r"""set_unit_cell(DefaultEmbedding2D self, Vector2D o)"""
9732  return _IMP_algebra.DefaultEmbedding2D_set_unit_cell(self, o)
9733 
9734  def get_inverse_unit_cell(self):
9735  r"""get_inverse_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9736  return _IMP_algebra.DefaultEmbedding2D_get_inverse_unit_cell(self)
9737 
9738  def get_unit_cell(self):
9739  r"""get_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9740  return _IMP_algebra.DefaultEmbedding2D_get_unit_cell(self)
9741 
9742  def get_extended_index(self, o):
9743  r"""get_extended_index(DefaultEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
9744  return _IMP_algebra.DefaultEmbedding2D_get_extended_index(self, o)
9745 
9746  def get_index(self, o):
9747  r"""get_index(DefaultEmbedding2D self, Vector2D o) -> GridIndex2D"""
9748  return _IMP_algebra.DefaultEmbedding2D_get_index(self, o)
9749 
9750  def get_center(self, *args):
9751  r"""
9752  get_center(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
9753  get_center(DefaultEmbedding2D self, GridIndex2D ei) -> Vector2D
9754  """
9755  return _IMP_algebra.DefaultEmbedding2D_get_center(self, *args)
9756 
9757  def get_bounding_box(self, *args):
9758  r"""
9759  get_bounding_box(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
9760  get_bounding_box(DefaultEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
9761  """
9762  return _IMP_algebra.DefaultEmbedding2D_get_bounding_box(self, *args)
9763 
9764  def show(self, *args):
9765  r"""show(DefaultEmbedding2D self, _ostream out=std::cout)"""
9766  return _IMP_algebra.DefaultEmbedding2D_show(self, *args)
9767 
9768  def __str__(self):
9769  r"""__str__(DefaultEmbedding2D self) -> std::string"""
9770  return _IMP_algebra.DefaultEmbedding2D___str__(self)
9771 
9772  def __repr__(self):
9773  r"""__repr__(DefaultEmbedding2D self) -> std::string"""
9774  return _IMP_algebra.DefaultEmbedding2D___repr__(self)
9775 
9776  def __cmp__(self, arg2):
9777  r"""__cmp__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> int"""
9778  return _IMP_algebra.DefaultEmbedding2D___cmp__(self, arg2)
9779 
9780  def __eq__(self, arg2):
9781  r"""__eq__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> bool"""
9782  return _IMP_algebra.DefaultEmbedding2D___eq__(self, arg2)
9783 
9784  def _get_as_binary(self):
9785  r"""_get_as_binary(DefaultEmbedding2D self) -> PyObject *"""
9786  return _IMP_algebra.DefaultEmbedding2D__get_as_binary(self)
9787 
9788  def _set_from_binary(self, p):
9789  r"""_set_from_binary(DefaultEmbedding2D self, PyObject * p)"""
9790  return _IMP_algebra.DefaultEmbedding2D__set_from_binary(self, p)
9791 
9792  def __getstate__(self):
9793  p = self._get_as_binary()
9794  if len(self.__dict__) > 1:
9795  d = self.__dict__.copy()
9796  del d['this']
9797  p = (d, p)
9798  return p
9799 
9800  def __setstate__(self, p):
9801  if not hasattr(self, 'this'):
9802  self.__init__()
9803  if isinstance(p, tuple):
9804  d, p = p
9805  self.__dict__.update(d)
9806  return self._set_from_binary(p)
9807 
9808  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding2D
9809 
9810 # Register DefaultEmbedding2D in _IMP_algebra:
9811 _IMP_algebra.DefaultEmbedding2D_swigregister(DefaultEmbedding2D)
9812 class DefaultEmbedding3D(object):
9813  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 3 > class."""
9814 
9815  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9816 
9817  def __init__(self, *args):
9818  r"""
9819  __init__(DefaultEmbedding3D self, Vector3D origin, Vector3D cell) -> DefaultEmbedding3D
9820  __init__(DefaultEmbedding3D self) -> DefaultEmbedding3D
9821  """
9822  _IMP_algebra.DefaultEmbedding3D_swiginit(self, _IMP_algebra.new_DefaultEmbedding3D(*args))
9823 
9824  def set_origin(self, o):
9825  r"""set_origin(DefaultEmbedding3D self, Vector3D o)"""
9826  return _IMP_algebra.DefaultEmbedding3D_set_origin(self, o)
9827 
9828  def get_origin(self):
9829  r"""get_origin(DefaultEmbedding3D self) -> Vector3D"""
9830  return _IMP_algebra.DefaultEmbedding3D_get_origin(self)
9831 
9832  def get_dimension(self):
9833  r"""get_dimension(DefaultEmbedding3D self) -> unsigned int"""
9834  return _IMP_algebra.DefaultEmbedding3D_get_dimension(self)
9835 
9836  def set_unit_cell(self, o):
9837  r"""set_unit_cell(DefaultEmbedding3D self, Vector3D o)"""
9838  return _IMP_algebra.DefaultEmbedding3D_set_unit_cell(self, o)
9839 
9840  def get_inverse_unit_cell(self):
9841  r"""get_inverse_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9842  return _IMP_algebra.DefaultEmbedding3D_get_inverse_unit_cell(self)
9843 
9844  def get_unit_cell(self):
9845  r"""get_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9846  return _IMP_algebra.DefaultEmbedding3D_get_unit_cell(self)
9847 
9848  def get_extended_index(self, o):
9849  r"""get_extended_index(DefaultEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
9850  return _IMP_algebra.DefaultEmbedding3D_get_extended_index(self, o)
9851 
9852  def get_index(self, o):
9853  r"""get_index(DefaultEmbedding3D self, Vector3D o) -> GridIndex3D"""
9854  return _IMP_algebra.DefaultEmbedding3D_get_index(self, o)
9855 
9856  def get_center(self, *args):
9857  r"""
9858  get_center(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
9859  get_center(DefaultEmbedding3D self, GridIndex3D ei) -> Vector3D
9860  """
9861  return _IMP_algebra.DefaultEmbedding3D_get_center(self, *args)
9862 
9863  def get_bounding_box(self, *args):
9864  r"""
9865  get_bounding_box(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
9866  get_bounding_box(DefaultEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
9867  """
9868  return _IMP_algebra.DefaultEmbedding3D_get_bounding_box(self, *args)
9869 
9870  def show(self, *args):
9871  r"""show(DefaultEmbedding3D self, _ostream out=std::cout)"""
9872  return _IMP_algebra.DefaultEmbedding3D_show(self, *args)
9873 
9874  def __str__(self):
9875  r"""__str__(DefaultEmbedding3D self) -> std::string"""
9876  return _IMP_algebra.DefaultEmbedding3D___str__(self)
9877 
9878  def __repr__(self):
9879  r"""__repr__(DefaultEmbedding3D self) -> std::string"""
9880  return _IMP_algebra.DefaultEmbedding3D___repr__(self)
9881 
9882  def __cmp__(self, arg2):
9883  r"""__cmp__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> int"""
9884  return _IMP_algebra.DefaultEmbedding3D___cmp__(self, arg2)
9885 
9886  def __eq__(self, arg2):
9887  r"""__eq__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> bool"""
9888  return _IMP_algebra.DefaultEmbedding3D___eq__(self, arg2)
9889 
9890  def _get_as_binary(self):
9891  r"""_get_as_binary(DefaultEmbedding3D self) -> PyObject *"""
9892  return _IMP_algebra.DefaultEmbedding3D__get_as_binary(self)
9893 
9894  def _set_from_binary(self, p):
9895  r"""_set_from_binary(DefaultEmbedding3D self, PyObject * p)"""
9896  return _IMP_algebra.DefaultEmbedding3D__set_from_binary(self, p)
9897 
9898  def __getstate__(self):
9899  p = self._get_as_binary()
9900  if len(self.__dict__) > 1:
9901  d = self.__dict__.copy()
9902  del d['this']
9903  p = (d, p)
9904  return p
9905 
9906  def __setstate__(self, p):
9907  if not hasattr(self, 'this'):
9908  self.__init__()
9909  if isinstance(p, tuple):
9910  d, p = p
9911  self.__dict__.update(d)
9912  return self._set_from_binary(p)
9913 
9914  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding3D
9915 
9916 # Register DefaultEmbedding3D in _IMP_algebra:
9917 _IMP_algebra.DefaultEmbedding3D_swigregister(DefaultEmbedding3D)
9918 class DefaultEmbedding4D(object):
9919  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 4 > class."""
9920 
9921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9922 
9923  def __init__(self, *args):
9924  r"""
9925  __init__(DefaultEmbedding4D self, Vector4D origin, Vector4D cell) -> DefaultEmbedding4D
9926  __init__(DefaultEmbedding4D self) -> DefaultEmbedding4D
9927  """
9928  _IMP_algebra.DefaultEmbedding4D_swiginit(self, _IMP_algebra.new_DefaultEmbedding4D(*args))
9929 
9930  def set_origin(self, o):
9931  r"""set_origin(DefaultEmbedding4D self, Vector4D o)"""
9932  return _IMP_algebra.DefaultEmbedding4D_set_origin(self, o)
9933 
9934  def get_origin(self):
9935  r"""get_origin(DefaultEmbedding4D self) -> Vector4D"""
9936  return _IMP_algebra.DefaultEmbedding4D_get_origin(self)
9937 
9938  def get_dimension(self):
9939  r"""get_dimension(DefaultEmbedding4D self) -> unsigned int"""
9940  return _IMP_algebra.DefaultEmbedding4D_get_dimension(self)
9941 
9942  def set_unit_cell(self, o):
9943  r"""set_unit_cell(DefaultEmbedding4D self, Vector4D o)"""
9944  return _IMP_algebra.DefaultEmbedding4D_set_unit_cell(self, o)
9945 
9946  def get_inverse_unit_cell(self):
9947  r"""get_inverse_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9948  return _IMP_algebra.DefaultEmbedding4D_get_inverse_unit_cell(self)
9949 
9950  def get_unit_cell(self):
9951  r"""get_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9952  return _IMP_algebra.DefaultEmbedding4D_get_unit_cell(self)
9953 
9954  def get_extended_index(self, o):
9955  r"""get_extended_index(DefaultEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
9956  return _IMP_algebra.DefaultEmbedding4D_get_extended_index(self, o)
9957 
9958  def get_index(self, o):
9959  r"""get_index(DefaultEmbedding4D self, Vector4D o) -> GridIndex4D"""
9960  return _IMP_algebra.DefaultEmbedding4D_get_index(self, o)
9961 
9962  def get_center(self, *args):
9963  r"""
9964  get_center(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
9965  get_center(DefaultEmbedding4D self, GridIndex4D ei) -> Vector4D
9966  """
9967  return _IMP_algebra.DefaultEmbedding4D_get_center(self, *args)
9968 
9969  def get_bounding_box(self, *args):
9970  r"""
9971  get_bounding_box(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
9972  get_bounding_box(DefaultEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
9973  """
9974  return _IMP_algebra.DefaultEmbedding4D_get_bounding_box(self, *args)
9975 
9976  def show(self, *args):
9977  r"""show(DefaultEmbedding4D self, _ostream out=std::cout)"""
9978  return _IMP_algebra.DefaultEmbedding4D_show(self, *args)
9979 
9980  def __str__(self):
9981  r"""__str__(DefaultEmbedding4D self) -> std::string"""
9982  return _IMP_algebra.DefaultEmbedding4D___str__(self)
9983 
9984  def __repr__(self):
9985  r"""__repr__(DefaultEmbedding4D self) -> std::string"""
9986  return _IMP_algebra.DefaultEmbedding4D___repr__(self)
9987 
9988  def __cmp__(self, arg2):
9989  r"""__cmp__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> int"""
9990  return _IMP_algebra.DefaultEmbedding4D___cmp__(self, arg2)
9991 
9992  def __eq__(self, arg2):
9993  r"""__eq__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> bool"""
9994  return _IMP_algebra.DefaultEmbedding4D___eq__(self, arg2)
9995 
9996  def _get_as_binary(self):
9997  r"""_get_as_binary(DefaultEmbedding4D self) -> PyObject *"""
9998  return _IMP_algebra.DefaultEmbedding4D__get_as_binary(self)
9999 
10000  def _set_from_binary(self, p):
10001  r"""_set_from_binary(DefaultEmbedding4D self, PyObject * p)"""
10002  return _IMP_algebra.DefaultEmbedding4D__set_from_binary(self, p)
10003 
10004  def __getstate__(self):
10005  p = self._get_as_binary()
10006  if len(self.__dict__) > 1:
10007  d = self.__dict__.copy()
10008  del d['this']
10009  p = (d, p)
10010  return p
10011 
10012  def __setstate__(self, p):
10013  if not hasattr(self, 'this'):
10014  self.__init__()
10015  if isinstance(p, tuple):
10016  d, p = p
10017  self.__dict__.update(d)
10018  return self._set_from_binary(p)
10019 
10020  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding4D
10021 
10022 # Register DefaultEmbedding4D in _IMP_algebra:
10023 _IMP_algebra.DefaultEmbedding4D_swigregister(DefaultEmbedding4D)
10024 class DefaultEmbedding5D(object):
10025  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 5 > class."""
10026 
10027  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10028 
10029  def __init__(self, *args):
10030  r"""
10031  __init__(DefaultEmbedding5D self, Vector5D origin, Vector5D cell) -> DefaultEmbedding5D
10032  __init__(DefaultEmbedding5D self) -> DefaultEmbedding5D
10033  """
10034  _IMP_algebra.DefaultEmbedding5D_swiginit(self, _IMP_algebra.new_DefaultEmbedding5D(*args))
10035 
10036  def set_origin(self, o):
10037  r"""set_origin(DefaultEmbedding5D self, Vector5D o)"""
10038  return _IMP_algebra.DefaultEmbedding5D_set_origin(self, o)
10039 
10040  def get_origin(self):
10041  r"""get_origin(DefaultEmbedding5D self) -> Vector5D"""
10042  return _IMP_algebra.DefaultEmbedding5D_get_origin(self)
10043 
10044  def get_dimension(self):
10045  r"""get_dimension(DefaultEmbedding5D self) -> unsigned int"""
10046  return _IMP_algebra.DefaultEmbedding5D_get_dimension(self)
10047 
10048  def set_unit_cell(self, o):
10049  r"""set_unit_cell(DefaultEmbedding5D self, Vector5D o)"""
10050  return _IMP_algebra.DefaultEmbedding5D_set_unit_cell(self, o)
10051 
10052  def get_inverse_unit_cell(self):
10053  r"""get_inverse_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10054  return _IMP_algebra.DefaultEmbedding5D_get_inverse_unit_cell(self)
10055 
10056  def get_unit_cell(self):
10057  r"""get_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10058  return _IMP_algebra.DefaultEmbedding5D_get_unit_cell(self)
10059 
10060  def get_extended_index(self, o):
10061  r"""get_extended_index(DefaultEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10062  return _IMP_algebra.DefaultEmbedding5D_get_extended_index(self, o)
10063 
10064  def get_index(self, o):
10065  r"""get_index(DefaultEmbedding5D self, Vector5D o) -> GridIndex5D"""
10066  return _IMP_algebra.DefaultEmbedding5D_get_index(self, o)
10067 
10068  def get_center(self, *args):
10069  r"""
10070  get_center(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10071  get_center(DefaultEmbedding5D self, GridIndex5D ei) -> Vector5D
10072  """
10073  return _IMP_algebra.DefaultEmbedding5D_get_center(self, *args)
10074 
10075  def get_bounding_box(self, *args):
10076  r"""
10077  get_bounding_box(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10078  get_bounding_box(DefaultEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10079  """
10080  return _IMP_algebra.DefaultEmbedding5D_get_bounding_box(self, *args)
10081 
10082  def show(self, *args):
10083  r"""show(DefaultEmbedding5D self, _ostream out=std::cout)"""
10084  return _IMP_algebra.DefaultEmbedding5D_show(self, *args)
10085 
10086  def __str__(self):
10087  r"""__str__(DefaultEmbedding5D self) -> std::string"""
10088  return _IMP_algebra.DefaultEmbedding5D___str__(self)
10089 
10090  def __repr__(self):
10091  r"""__repr__(DefaultEmbedding5D self) -> std::string"""
10092  return _IMP_algebra.DefaultEmbedding5D___repr__(self)
10093 
10094  def __cmp__(self, arg2):
10095  r"""__cmp__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> int"""
10096  return _IMP_algebra.DefaultEmbedding5D___cmp__(self, arg2)
10097 
10098  def __eq__(self, arg2):
10099  r"""__eq__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> bool"""
10100  return _IMP_algebra.DefaultEmbedding5D___eq__(self, arg2)
10101 
10102  def _get_as_binary(self):
10103  r"""_get_as_binary(DefaultEmbedding5D self) -> PyObject *"""
10104  return _IMP_algebra.DefaultEmbedding5D__get_as_binary(self)
10105 
10106  def _set_from_binary(self, p):
10107  r"""_set_from_binary(DefaultEmbedding5D self, PyObject * p)"""
10108  return _IMP_algebra.DefaultEmbedding5D__set_from_binary(self, p)
10109 
10110  def __getstate__(self):
10111  p = self._get_as_binary()
10112  if len(self.__dict__) > 1:
10113  d = self.__dict__.copy()
10114  del d['this']
10115  p = (d, p)
10116  return p
10117 
10118  def __setstate__(self, p):
10119  if not hasattr(self, 'this'):
10120  self.__init__()
10121  if isinstance(p, tuple):
10122  d, p = p
10123  self.__dict__.update(d)
10124  return self._set_from_binary(p)
10125 
10126  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding5D
10127 
10128 # Register DefaultEmbedding5D in _IMP_algebra:
10129 _IMP_algebra.DefaultEmbedding5D_swigregister(DefaultEmbedding5D)
10130 class DefaultEmbedding6D(object):
10131  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 6 > class."""
10132 
10133  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10134 
10135  def __init__(self, *args):
10136  r"""
10137  __init__(DefaultEmbedding6D self, Vector6D origin, Vector6D cell) -> DefaultEmbedding6D
10138  __init__(DefaultEmbedding6D self) -> DefaultEmbedding6D
10139  """
10140  _IMP_algebra.DefaultEmbedding6D_swiginit(self, _IMP_algebra.new_DefaultEmbedding6D(*args))
10141 
10142  def set_origin(self, o):
10143  r"""set_origin(DefaultEmbedding6D self, Vector6D o)"""
10144  return _IMP_algebra.DefaultEmbedding6D_set_origin(self, o)
10145 
10146  def get_origin(self):
10147  r"""get_origin(DefaultEmbedding6D self) -> Vector6D"""
10148  return _IMP_algebra.DefaultEmbedding6D_get_origin(self)
10149 
10150  def get_dimension(self):
10151  r"""get_dimension(DefaultEmbedding6D self) -> unsigned int"""
10152  return _IMP_algebra.DefaultEmbedding6D_get_dimension(self)
10153 
10154  def set_unit_cell(self, o):
10155  r"""set_unit_cell(DefaultEmbedding6D self, Vector6D o)"""
10156  return _IMP_algebra.DefaultEmbedding6D_set_unit_cell(self, o)
10157 
10158  def get_inverse_unit_cell(self):
10159  r"""get_inverse_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10160  return _IMP_algebra.DefaultEmbedding6D_get_inverse_unit_cell(self)
10161 
10162  def get_unit_cell(self):
10163  r"""get_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10164  return _IMP_algebra.DefaultEmbedding6D_get_unit_cell(self)
10165 
10166  def get_extended_index(self, o):
10167  r"""get_extended_index(DefaultEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10168  return _IMP_algebra.DefaultEmbedding6D_get_extended_index(self, o)
10169 
10170  def get_index(self, o):
10171  r"""get_index(DefaultEmbedding6D self, Vector6D o) -> GridIndex6D"""
10172  return _IMP_algebra.DefaultEmbedding6D_get_index(self, o)
10173 
10174  def get_center(self, *args):
10175  r"""
10176  get_center(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10177  get_center(DefaultEmbedding6D self, GridIndex6D ei) -> Vector6D
10178  """
10179  return _IMP_algebra.DefaultEmbedding6D_get_center(self, *args)
10180 
10181  def get_bounding_box(self, *args):
10182  r"""
10183  get_bounding_box(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10184  get_bounding_box(DefaultEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10185  """
10186  return _IMP_algebra.DefaultEmbedding6D_get_bounding_box(self, *args)
10187 
10188  def show(self, *args):
10189  r"""show(DefaultEmbedding6D self, _ostream out=std::cout)"""
10190  return _IMP_algebra.DefaultEmbedding6D_show(self, *args)
10191 
10192  def __str__(self):
10193  r"""__str__(DefaultEmbedding6D self) -> std::string"""
10194  return _IMP_algebra.DefaultEmbedding6D___str__(self)
10195 
10196  def __repr__(self):
10197  r"""__repr__(DefaultEmbedding6D self) -> std::string"""
10198  return _IMP_algebra.DefaultEmbedding6D___repr__(self)
10199 
10200  def __cmp__(self, arg2):
10201  r"""__cmp__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> int"""
10202  return _IMP_algebra.DefaultEmbedding6D___cmp__(self, arg2)
10203 
10204  def __eq__(self, arg2):
10205  r"""__eq__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> bool"""
10206  return _IMP_algebra.DefaultEmbedding6D___eq__(self, arg2)
10207 
10208  def _get_as_binary(self):
10209  r"""_get_as_binary(DefaultEmbedding6D self) -> PyObject *"""
10210  return _IMP_algebra.DefaultEmbedding6D__get_as_binary(self)
10211 
10212  def _set_from_binary(self, p):
10213  r"""_set_from_binary(DefaultEmbedding6D self, PyObject * p)"""
10214  return _IMP_algebra.DefaultEmbedding6D__set_from_binary(self, p)
10215 
10216  def __getstate__(self):
10217  p = self._get_as_binary()
10218  if len(self.__dict__) > 1:
10219  d = self.__dict__.copy()
10220  del d['this']
10221  p = (d, p)
10222  return p
10223 
10224  def __setstate__(self, p):
10225  if not hasattr(self, 'this'):
10226  self.__init__()
10227  if isinstance(p, tuple):
10228  d, p = p
10229  self.__dict__.update(d)
10230  return self._set_from_binary(p)
10231 
10232  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding6D
10233 
10234 # Register DefaultEmbedding6D in _IMP_algebra:
10235 _IMP_algebra.DefaultEmbedding6D_swigregister(DefaultEmbedding6D)
10236 class DefaultEmbeddingKD(object):
10237  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< -1 > class."""
10238 
10239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10240 
10241  def __init__(self, *args):
10242  r"""
10243  __init__(DefaultEmbeddingKD self, VectorKD origin, VectorKD cell) -> DefaultEmbeddingKD
10244  __init__(DefaultEmbeddingKD self) -> DefaultEmbeddingKD
10245  """
10246  _IMP_algebra.DefaultEmbeddingKD_swiginit(self, _IMP_algebra.new_DefaultEmbeddingKD(*args))
10247 
10248  def set_origin(self, o):
10249  r"""set_origin(DefaultEmbeddingKD self, VectorKD o)"""
10250  return _IMP_algebra.DefaultEmbeddingKD_set_origin(self, o)
10251 
10252  def get_origin(self):
10253  r"""get_origin(DefaultEmbeddingKD self) -> VectorKD"""
10254  return _IMP_algebra.DefaultEmbeddingKD_get_origin(self)
10255 
10256  def get_dimension(self):
10257  r"""get_dimension(DefaultEmbeddingKD self) -> unsigned int"""
10258  return _IMP_algebra.DefaultEmbeddingKD_get_dimension(self)
10259 
10260  def set_unit_cell(self, o):
10261  r"""set_unit_cell(DefaultEmbeddingKD self, VectorKD o)"""
10262  return _IMP_algebra.DefaultEmbeddingKD_set_unit_cell(self, o)
10263 
10264  def get_inverse_unit_cell(self):
10265  r"""get_inverse_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10266  return _IMP_algebra.DefaultEmbeddingKD_get_inverse_unit_cell(self)
10267 
10268  def get_unit_cell(self):
10269  r"""get_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10270  return _IMP_algebra.DefaultEmbeddingKD_get_unit_cell(self)
10271 
10272  def get_extended_index(self, o):
10273  r"""get_extended_index(DefaultEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
10274  return _IMP_algebra.DefaultEmbeddingKD_get_extended_index(self, o)
10275 
10276  def get_index(self, o):
10277  r"""get_index(DefaultEmbeddingKD self, VectorKD o) -> GridIndexKD"""
10278  return _IMP_algebra.DefaultEmbeddingKD_get_index(self, o)
10279 
10280  def get_center(self, *args):
10281  r"""
10282  get_center(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
10283  get_center(DefaultEmbeddingKD self, GridIndexKD ei) -> VectorKD
10284  """
10285  return _IMP_algebra.DefaultEmbeddingKD_get_center(self, *args)
10286 
10287  def get_bounding_box(self, *args):
10288  r"""
10289  get_bounding_box(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
10290  get_bounding_box(DefaultEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
10291  """
10292  return _IMP_algebra.DefaultEmbeddingKD_get_bounding_box(self, *args)
10293 
10294  def show(self, *args):
10295  r"""show(DefaultEmbeddingKD self, _ostream out=std::cout)"""
10296  return _IMP_algebra.DefaultEmbeddingKD_show(self, *args)
10297 
10298  def __str__(self):
10299  r"""__str__(DefaultEmbeddingKD self) -> std::string"""
10300  return _IMP_algebra.DefaultEmbeddingKD___str__(self)
10301 
10302  def __repr__(self):
10303  r"""__repr__(DefaultEmbeddingKD self) -> std::string"""
10304  return _IMP_algebra.DefaultEmbeddingKD___repr__(self)
10305 
10306  def __cmp__(self, arg2):
10307  r"""__cmp__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> int"""
10308  return _IMP_algebra.DefaultEmbeddingKD___cmp__(self, arg2)
10309 
10310  def __eq__(self, arg2):
10311  r"""__eq__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> bool"""
10312  return _IMP_algebra.DefaultEmbeddingKD___eq__(self, arg2)
10313 
10314  def _get_as_binary(self):
10315  r"""_get_as_binary(DefaultEmbeddingKD self) -> PyObject *"""
10316  return _IMP_algebra.DefaultEmbeddingKD__get_as_binary(self)
10317 
10318  def _set_from_binary(self, p):
10319  r"""_set_from_binary(DefaultEmbeddingKD self, PyObject * p)"""
10320  return _IMP_algebra.DefaultEmbeddingKD__set_from_binary(self, p)
10321 
10322  def __getstate__(self):
10323  p = self._get_as_binary()
10324  if len(self.__dict__) > 1:
10325  d = self.__dict__.copy()
10326  del d['this']
10327  p = (d, p)
10328  return p
10329 
10330  def __setstate__(self, p):
10331  if not hasattr(self, 'this'):
10332  self.__init__()
10333  if isinstance(p, tuple):
10334  d, p = p
10335  self.__dict__.update(d)
10336  return self._set_from_binary(p)
10337 
10338  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbeddingKD
10339 
10340 # Register DefaultEmbeddingKD in _IMP_algebra:
10341 _IMP_algebra.DefaultEmbeddingKD_swigregister(DefaultEmbeddingKD)
10342 class LogEmbedding1D(object):
10343  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 1 > class."""
10344 
10345  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10346 
10347  def __init__(self, *args):
10348  r"""
10349  __init__(LogEmbedding1D self, Vector1D origin, Vector1D cell, Vector1D base) -> LogEmbedding1D
10350  __init__(LogEmbedding1D self, BoundingBox1D bb, Vector1D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding1D
10351  __init__(LogEmbedding1D self, Vector1D arg2, Vector1D arg3) -> LogEmbedding1D
10352  __init__(LogEmbedding1D self) -> LogEmbedding1D
10353  """
10354  _IMP_algebra.LogEmbedding1D_swiginit(self, _IMP_algebra.new_LogEmbedding1D(*args))
10355 
10356  def set_origin(self, o):
10357  r"""set_origin(LogEmbedding1D self, Vector1D o)"""
10358  return _IMP_algebra.LogEmbedding1D_set_origin(self, o)
10359 
10360  def get_origin(self):
10361  r"""get_origin(LogEmbedding1D self) -> Vector1D"""
10362  return _IMP_algebra.LogEmbedding1D_get_origin(self)
10363 
10364  def get_dimension(self):
10365  r"""get_dimension(LogEmbedding1D self) -> unsigned int"""
10366  return _IMP_algebra.LogEmbedding1D_get_dimension(self)
10367 
10368  def set_unit_cell(self, *args):
10369  r"""
10370  set_unit_cell(LogEmbedding1D self, Vector1D o, Vector1D base)
10371  set_unit_cell(LogEmbedding1D self, Vector1D o)
10372  """
10373  return _IMP_algebra.LogEmbedding1D_set_unit_cell(self, *args)
10374 
10375  def get_unit_cell(self):
10376  r"""get_unit_cell(LogEmbedding1D self) -> Vector1D"""
10377  return _IMP_algebra.LogEmbedding1D_get_unit_cell(self)
10378 
10379  def get_extended_index(self, o):
10380  r"""get_extended_index(LogEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
10381  return _IMP_algebra.LogEmbedding1D_get_extended_index(self, o)
10382 
10383  def get_index(self, o):
10384  r"""get_index(LogEmbedding1D self, Vector1D o) -> GridIndex1D"""
10385  return _IMP_algebra.LogEmbedding1D_get_index(self, o)
10386 
10387  def get_center(self, *args):
10388  r"""
10389  get_center(LogEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
10390  get_center(LogEmbedding1D self, GridIndex1D ei) -> Vector1D
10391  """
10392  return _IMP_algebra.LogEmbedding1D_get_center(self, *args)
10393 
10394  def get_bounding_box(self, *args):
10395  r"""
10396  get_bounding_box(LogEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
10397  get_bounding_box(LogEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
10398  """
10399  return _IMP_algebra.LogEmbedding1D_get_bounding_box(self, *args)
10400 
10401  def show(self, *args):
10402  r"""show(LogEmbedding1D self, _ostream out=std::cout)"""
10403  return _IMP_algebra.LogEmbedding1D_show(self, *args)
10404 
10405  def __str__(self):
10406  r"""__str__(LogEmbedding1D self) -> std::string"""
10407  return _IMP_algebra.LogEmbedding1D___str__(self)
10408 
10409  def __repr__(self):
10410  r"""__repr__(LogEmbedding1D self) -> std::string"""
10411  return _IMP_algebra.LogEmbedding1D___repr__(self)
10412 
10413  def __cmp__(self, arg2):
10414  r"""__cmp__(LogEmbedding1D self, LogEmbedding1D arg2) -> int"""
10415  return _IMP_algebra.LogEmbedding1D___cmp__(self, arg2)
10416 
10417  def __eq__(self, arg2):
10418  r"""__eq__(LogEmbedding1D self, LogEmbedding1D arg2) -> bool"""
10419  return _IMP_algebra.LogEmbedding1D___eq__(self, arg2)
10420 
10421  def _get_as_binary(self):
10422  r"""_get_as_binary(LogEmbedding1D self) -> PyObject *"""
10423  return _IMP_algebra.LogEmbedding1D__get_as_binary(self)
10424 
10425  def _set_from_binary(self, p):
10426  r"""_set_from_binary(LogEmbedding1D self, PyObject * p)"""
10427  return _IMP_algebra.LogEmbedding1D__set_from_binary(self, p)
10428 
10429  def __getstate__(self):
10430  p = self._get_as_binary()
10431  if len(self.__dict__) > 1:
10432  d = self.__dict__.copy()
10433  del d['this']
10434  p = (d, p)
10435  return p
10436 
10437  def __setstate__(self, p):
10438  if not hasattr(self, 'this'):
10439  self.__init__()
10440  if isinstance(p, tuple):
10441  d, p = p
10442  self.__dict__.update(d)
10443  return self._set_from_binary(p)
10444 
10445  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding1D
10446 
10447 # Register LogEmbedding1D in _IMP_algebra:
10448 _IMP_algebra.LogEmbedding1D_swigregister(LogEmbedding1D)
10449 class LogEmbedding2D(object):
10450  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 2 > class."""
10451 
10452  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10453 
10454  def __init__(self, *args):
10455  r"""
10456  __init__(LogEmbedding2D self, Vector2D origin, Vector2D cell, Vector2D base) -> LogEmbedding2D
10457  __init__(LogEmbedding2D self, BoundingBox2D bb, Vector2D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding2D
10458  __init__(LogEmbedding2D self, Vector2D arg2, Vector2D arg3) -> LogEmbedding2D
10459  __init__(LogEmbedding2D self) -> LogEmbedding2D
10460  """
10461  _IMP_algebra.LogEmbedding2D_swiginit(self, _IMP_algebra.new_LogEmbedding2D(*args))
10462 
10463  def set_origin(self, o):
10464  r"""set_origin(LogEmbedding2D self, Vector2D o)"""
10465  return _IMP_algebra.LogEmbedding2D_set_origin(self, o)
10466 
10467  def get_origin(self):
10468  r"""get_origin(LogEmbedding2D self) -> Vector2D"""
10469  return _IMP_algebra.LogEmbedding2D_get_origin(self)
10470 
10471  def get_dimension(self):
10472  r"""get_dimension(LogEmbedding2D self) -> unsigned int"""
10473  return _IMP_algebra.LogEmbedding2D_get_dimension(self)
10474 
10475  def set_unit_cell(self, *args):
10476  r"""
10477  set_unit_cell(LogEmbedding2D self, Vector2D o, Vector2D base)
10478  set_unit_cell(LogEmbedding2D self, Vector2D o)
10479  """
10480  return _IMP_algebra.LogEmbedding2D_set_unit_cell(self, *args)
10481 
10482  def get_unit_cell(self):
10483  r"""get_unit_cell(LogEmbedding2D self) -> Vector2D"""
10484  return _IMP_algebra.LogEmbedding2D_get_unit_cell(self)
10485 
10486  def get_extended_index(self, o):
10487  r"""get_extended_index(LogEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
10488  return _IMP_algebra.LogEmbedding2D_get_extended_index(self, o)
10489 
10490  def get_index(self, o):
10491  r"""get_index(LogEmbedding2D self, Vector2D o) -> GridIndex2D"""
10492  return _IMP_algebra.LogEmbedding2D_get_index(self, o)
10493 
10494  def get_center(self, *args):
10495  r"""
10496  get_center(LogEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
10497  get_center(LogEmbedding2D self, GridIndex2D ei) -> Vector2D
10498  """
10499  return _IMP_algebra.LogEmbedding2D_get_center(self, *args)
10500 
10501  def get_bounding_box(self, *args):
10502  r"""
10503  get_bounding_box(LogEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
10504  get_bounding_box(LogEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
10505  """
10506  return _IMP_algebra.LogEmbedding2D_get_bounding_box(self, *args)
10507 
10508  def show(self, *args):
10509  r"""show(LogEmbedding2D self, _ostream out=std::cout)"""
10510  return _IMP_algebra.LogEmbedding2D_show(self, *args)
10511 
10512  def __str__(self):
10513  r"""__str__(LogEmbedding2D self) -> std::string"""
10514  return _IMP_algebra.LogEmbedding2D___str__(self)
10515 
10516  def __repr__(self):
10517  r"""__repr__(LogEmbedding2D self) -> std::string"""
10518  return _IMP_algebra.LogEmbedding2D___repr__(self)
10519 
10520  def __cmp__(self, arg2):
10521  r"""__cmp__(LogEmbedding2D self, LogEmbedding2D arg2) -> int"""
10522  return _IMP_algebra.LogEmbedding2D___cmp__(self, arg2)
10523 
10524  def __eq__(self, arg2):
10525  r"""__eq__(LogEmbedding2D self, LogEmbedding2D arg2) -> bool"""
10526  return _IMP_algebra.LogEmbedding2D___eq__(self, arg2)
10527 
10528  def _get_as_binary(self):
10529  r"""_get_as_binary(LogEmbedding2D self) -> PyObject *"""
10530  return _IMP_algebra.LogEmbedding2D__get_as_binary(self)
10531 
10532  def _set_from_binary(self, p):
10533  r"""_set_from_binary(LogEmbedding2D self, PyObject * p)"""
10534  return _IMP_algebra.LogEmbedding2D__set_from_binary(self, p)
10535 
10536  def __getstate__(self):
10537  p = self._get_as_binary()
10538  if len(self.__dict__) > 1:
10539  d = self.__dict__.copy()
10540  del d['this']
10541  p = (d, p)
10542  return p
10543 
10544  def __setstate__(self, p):
10545  if not hasattr(self, 'this'):
10546  self.__init__()
10547  if isinstance(p, tuple):
10548  d, p = p
10549  self.__dict__.update(d)
10550  return self._set_from_binary(p)
10551 
10552  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding2D
10553 
10554 # Register LogEmbedding2D in _IMP_algebra:
10555 _IMP_algebra.LogEmbedding2D_swigregister(LogEmbedding2D)
10556 class LogEmbedding4D(object):
10557  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 4 > class."""
10558 
10559  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10560 
10561  def __init__(self, *args):
10562  r"""
10563  __init__(LogEmbedding4D self, Vector4D origin, Vector4D cell, Vector4D base) -> LogEmbedding4D
10564  __init__(LogEmbedding4D self, BoundingBox4D bb, Vector4D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding4D
10565  __init__(LogEmbedding4D self, Vector4D arg2, Vector4D arg3) -> LogEmbedding4D
10566  __init__(LogEmbedding4D self) -> LogEmbedding4D
10567  """
10568  _IMP_algebra.LogEmbedding4D_swiginit(self, _IMP_algebra.new_LogEmbedding4D(*args))
10569 
10570  def set_origin(self, o):
10571  r"""set_origin(LogEmbedding4D self, Vector4D o)"""
10572  return _IMP_algebra.LogEmbedding4D_set_origin(self, o)
10573 
10574  def get_origin(self):
10575  r"""get_origin(LogEmbedding4D self) -> Vector4D"""
10576  return _IMP_algebra.LogEmbedding4D_get_origin(self)
10577 
10578  def get_dimension(self):
10579  r"""get_dimension(LogEmbedding4D self) -> unsigned int"""
10580  return _IMP_algebra.LogEmbedding4D_get_dimension(self)
10581 
10582  def set_unit_cell(self, *args):
10583  r"""
10584  set_unit_cell(LogEmbedding4D self, Vector4D o, Vector4D base)
10585  set_unit_cell(LogEmbedding4D self, Vector4D o)
10586  """
10587  return _IMP_algebra.LogEmbedding4D_set_unit_cell(self, *args)
10588 
10589  def get_unit_cell(self):
10590  r"""get_unit_cell(LogEmbedding4D self) -> Vector4D"""
10591  return _IMP_algebra.LogEmbedding4D_get_unit_cell(self)
10592 
10593  def get_extended_index(self, o):
10594  r"""get_extended_index(LogEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
10595  return _IMP_algebra.LogEmbedding4D_get_extended_index(self, o)
10596 
10597  def get_index(self, o):
10598  r"""get_index(LogEmbedding4D self, Vector4D o) -> GridIndex4D"""
10599  return _IMP_algebra.LogEmbedding4D_get_index(self, o)
10600 
10601  def get_center(self, *args):
10602  r"""
10603  get_center(LogEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
10604  get_center(LogEmbedding4D self, GridIndex4D ei) -> Vector4D
10605  """
10606  return _IMP_algebra.LogEmbedding4D_get_center(self, *args)
10607 
10608  def get_bounding_box(self, *args):
10609  r"""
10610  get_bounding_box(LogEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
10611  get_bounding_box(LogEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
10612  """
10613  return _IMP_algebra.LogEmbedding4D_get_bounding_box(self, *args)
10614 
10615  def show(self, *args):
10616  r"""show(LogEmbedding4D self, _ostream out=std::cout)"""
10617  return _IMP_algebra.LogEmbedding4D_show(self, *args)
10618 
10619  def __str__(self):
10620  r"""__str__(LogEmbedding4D self) -> std::string"""
10621  return _IMP_algebra.LogEmbedding4D___str__(self)
10622 
10623  def __repr__(self):
10624  r"""__repr__(LogEmbedding4D self) -> std::string"""
10625  return _IMP_algebra.LogEmbedding4D___repr__(self)
10626 
10627  def __cmp__(self, arg2):
10628  r"""__cmp__(LogEmbedding4D self, LogEmbedding4D arg2) -> int"""
10629  return _IMP_algebra.LogEmbedding4D___cmp__(self, arg2)
10630 
10631  def __eq__(self, arg2):
10632  r"""__eq__(LogEmbedding4D self, LogEmbedding4D arg2) -> bool"""
10633  return _IMP_algebra.LogEmbedding4D___eq__(self, arg2)
10634 
10635  def _get_as_binary(self):
10636  r"""_get_as_binary(LogEmbedding4D self) -> PyObject *"""
10637  return _IMP_algebra.LogEmbedding4D__get_as_binary(self)
10638 
10639  def _set_from_binary(self, p):
10640  r"""_set_from_binary(LogEmbedding4D self, PyObject * p)"""
10641  return _IMP_algebra.LogEmbedding4D__set_from_binary(self, p)
10642 
10643  def __getstate__(self):
10644  p = self._get_as_binary()
10645  if len(self.__dict__) > 1:
10646  d = self.__dict__.copy()
10647  del d['this']
10648  p = (d, p)
10649  return p
10650 
10651  def __setstate__(self, p):
10652  if not hasattr(self, 'this'):
10653  self.__init__()
10654  if isinstance(p, tuple):
10655  d, p = p
10656  self.__dict__.update(d)
10657  return self._set_from_binary(p)
10658 
10659  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding4D
10660 
10661 # Register LogEmbedding4D in _IMP_algebra:
10662 _IMP_algebra.LogEmbedding4D_swigregister(LogEmbedding4D)
10663 class LogEmbedding5D(object):
10664  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 5 > class."""
10665 
10666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10667 
10668  def __init__(self, *args):
10669  r"""
10670  __init__(LogEmbedding5D self, Vector5D origin, Vector5D cell, Vector5D base) -> LogEmbedding5D
10671  __init__(LogEmbedding5D self, BoundingBox5D bb, Vector5D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding5D
10672  __init__(LogEmbedding5D self, Vector5D arg2, Vector5D arg3) -> LogEmbedding5D
10673  __init__(LogEmbedding5D self) -> LogEmbedding5D
10674  """
10675  _IMP_algebra.LogEmbedding5D_swiginit(self, _IMP_algebra.new_LogEmbedding5D(*args))
10676 
10677  def set_origin(self, o):
10678  r"""set_origin(LogEmbedding5D self, Vector5D o)"""
10679  return _IMP_algebra.LogEmbedding5D_set_origin(self, o)
10680 
10681  def get_origin(self):
10682  r"""get_origin(LogEmbedding5D self) -> Vector5D"""
10683  return _IMP_algebra.LogEmbedding5D_get_origin(self)
10684 
10685  def get_dimension(self):
10686  r"""get_dimension(LogEmbedding5D self) -> unsigned int"""
10687  return _IMP_algebra.LogEmbedding5D_get_dimension(self)
10688 
10689  def set_unit_cell(self, *args):
10690  r"""
10691  set_unit_cell(LogEmbedding5D self, Vector5D o, Vector5D base)
10692  set_unit_cell(LogEmbedding5D self, Vector5D o)
10693  """
10694  return _IMP_algebra.LogEmbedding5D_set_unit_cell(self, *args)
10695 
10696  def get_unit_cell(self):
10697  r"""get_unit_cell(LogEmbedding5D self) -> Vector5D"""
10698  return _IMP_algebra.LogEmbedding5D_get_unit_cell(self)
10699 
10700  def get_extended_index(self, o):
10701  r"""get_extended_index(LogEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10702  return _IMP_algebra.LogEmbedding5D_get_extended_index(self, o)
10703 
10704  def get_index(self, o):
10705  r"""get_index(LogEmbedding5D self, Vector5D o) -> GridIndex5D"""
10706  return _IMP_algebra.LogEmbedding5D_get_index(self, o)
10707 
10708  def get_center(self, *args):
10709  r"""
10710  get_center(LogEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10711  get_center(LogEmbedding5D self, GridIndex5D ei) -> Vector5D
10712  """
10713  return _IMP_algebra.LogEmbedding5D_get_center(self, *args)
10714 
10715  def get_bounding_box(self, *args):
10716  r"""
10717  get_bounding_box(LogEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10718  get_bounding_box(LogEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10719  """
10720  return _IMP_algebra.LogEmbedding5D_get_bounding_box(self, *args)
10721 
10722  def show(self, *args):
10723  r"""show(LogEmbedding5D self, _ostream out=std::cout)"""
10724  return _IMP_algebra.LogEmbedding5D_show(self, *args)
10725 
10726  def __str__(self):
10727  r"""__str__(LogEmbedding5D self) -> std::string"""
10728  return _IMP_algebra.LogEmbedding5D___str__(self)
10729 
10730  def __repr__(self):
10731  r"""__repr__(LogEmbedding5D self) -> std::string"""
10732  return _IMP_algebra.LogEmbedding5D___repr__(self)
10733 
10734  def __cmp__(self, arg2):
10735  r"""__cmp__(LogEmbedding5D self, LogEmbedding5D arg2) -> int"""
10736  return _IMP_algebra.LogEmbedding5D___cmp__(self, arg2)
10737 
10738  def __eq__(self, arg2):
10739  r"""__eq__(LogEmbedding5D self, LogEmbedding5D arg2) -> bool"""
10740  return _IMP_algebra.LogEmbedding5D___eq__(self, arg2)
10741 
10742  def _get_as_binary(self):
10743  r"""_get_as_binary(LogEmbedding5D self) -> PyObject *"""
10744  return _IMP_algebra.LogEmbedding5D__get_as_binary(self)
10745 
10746  def _set_from_binary(self, p):
10747  r"""_set_from_binary(LogEmbedding5D self, PyObject * p)"""
10748  return _IMP_algebra.LogEmbedding5D__set_from_binary(self, p)
10749 
10750  def __getstate__(self):
10751  p = self._get_as_binary()
10752  if len(self.__dict__) > 1:
10753  d = self.__dict__.copy()
10754  del d['this']
10755  p = (d, p)
10756  return p
10757 
10758  def __setstate__(self, p):
10759  if not hasattr(self, 'this'):
10760  self.__init__()
10761  if isinstance(p, tuple):
10762  d, p = p
10763  self.__dict__.update(d)
10764  return self._set_from_binary(p)
10765 
10766  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding5D
10767 
10768 # Register LogEmbedding5D in _IMP_algebra:
10769 _IMP_algebra.LogEmbedding5D_swigregister(LogEmbedding5D)
10770 class LogEmbedding6D(object):
10771  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 6 > class."""
10772 
10773  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10774 
10775  def __init__(self, *args):
10776  r"""
10777  __init__(LogEmbedding6D self, Vector6D origin, Vector6D cell, Vector6D base) -> LogEmbedding6D
10778  __init__(LogEmbedding6D self, BoundingBox6D bb, Vector6D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding6D
10779  __init__(LogEmbedding6D self, Vector6D arg2, Vector6D arg3) -> LogEmbedding6D
10780  __init__(LogEmbedding6D self) -> LogEmbedding6D
10781  """
10782  _IMP_algebra.LogEmbedding6D_swiginit(self, _IMP_algebra.new_LogEmbedding6D(*args))
10783 
10784  def set_origin(self, o):
10785  r"""set_origin(LogEmbedding6D self, Vector6D o)"""
10786  return _IMP_algebra.LogEmbedding6D_set_origin(self, o)
10787 
10788  def get_origin(self):
10789  r"""get_origin(LogEmbedding6D self) -> Vector6D"""
10790  return _IMP_algebra.LogEmbedding6D_get_origin(self)
10791 
10792  def get_dimension(self):
10793  r"""get_dimension(LogEmbedding6D self) -> unsigned int"""
10794  return _IMP_algebra.LogEmbedding6D_get_dimension(self)
10795 
10796  def set_unit_cell(self, *args):
10797  r"""
10798  set_unit_cell(LogEmbedding6D self, Vector6D o, Vector6D base)
10799  set_unit_cell(LogEmbedding6D self, Vector6D o)
10800  """
10801  return _IMP_algebra.LogEmbedding6D_set_unit_cell(self, *args)
10802 
10803  def get_unit_cell(self):
10804  r"""get_unit_cell(LogEmbedding6D self) -> Vector6D"""
10805  return _IMP_algebra.LogEmbedding6D_get_unit_cell(self)
10806 
10807  def get_extended_index(self, o):
10808  r"""get_extended_index(LogEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10809  return _IMP_algebra.LogEmbedding6D_get_extended_index(self, o)
10810 
10811  def get_index(self, o):
10812  r"""get_index(LogEmbedding6D self, Vector6D o) -> GridIndex6D"""
10813  return _IMP_algebra.LogEmbedding6D_get_index(self, o)
10814 
10815  def get_center(self, *args):
10816  r"""
10817  get_center(LogEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10818  get_center(LogEmbedding6D self, GridIndex6D ei) -> Vector6D
10819  """
10820  return _IMP_algebra.LogEmbedding6D_get_center(self, *args)
10821 
10822  def get_bounding_box(self, *args):
10823  r"""
10824  get_bounding_box(LogEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10825  get_bounding_box(LogEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10826  """
10827  return _IMP_algebra.LogEmbedding6D_get_bounding_box(self, *args)
10828 
10829  def show(self, *args):
10830  r"""show(LogEmbedding6D self, _ostream out=std::cout)"""
10831  return _IMP_algebra.LogEmbedding6D_show(self, *args)
10832 
10833  def __str__(self):
10834  r"""__str__(LogEmbedding6D self) -> std::string"""
10835  return _IMP_algebra.LogEmbedding6D___str__(self)
10836 
10837  def __repr__(self):
10838  r"""__repr__(LogEmbedding6D self) -> std::string"""
10839  return _IMP_algebra.LogEmbedding6D___repr__(self)
10840 
10841  def __cmp__(self, arg2):
10842  r"""__cmp__(LogEmbedding6D self, LogEmbedding6D arg2) -> int"""
10843  return _IMP_algebra.LogEmbedding6D___cmp__(self, arg2)
10844 
10845  def __eq__(self, arg2):
10846  r"""__eq__(LogEmbedding6D self, LogEmbedding6D arg2) -> bool"""
10847  return _IMP_algebra.LogEmbedding6D___eq__(self, arg2)
10848 
10849  def _get_as_binary(self):
10850  r"""_get_as_binary(LogEmbedding6D self) -> PyObject *"""
10851  return _IMP_algebra.LogEmbedding6D__get_as_binary(self)
10852 
10853  def _set_from_binary(self, p):
10854  r"""_set_from_binary(LogEmbedding6D self, PyObject * p)"""
10855  return _IMP_algebra.LogEmbedding6D__set_from_binary(self, p)
10856 
10857  def __getstate__(self):
10858  p = self._get_as_binary()
10859  if len(self.__dict__) > 1:
10860  d = self.__dict__.copy()
10861  del d['this']
10862  p = (d, p)
10863  return p
10864 
10865  def __setstate__(self, p):
10866  if not hasattr(self, 'this'):
10867  self.__init__()
10868  if isinstance(p, tuple):
10869  d, p = p
10870  self.__dict__.update(d)
10871  return self._set_from_binary(p)
10872 
10873  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding6D
10874 
10875 # Register LogEmbedding6D in _IMP_algebra:
10876 _IMP_algebra.LogEmbedding6D_swigregister(LogEmbedding6D)
10877 class SpherePatch3D(_GeometricPrimitive3D):
10878  r"""Proxy of C++ IMP::algebra::SpherePatch3D class."""
10879 
10880  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10881 
10882  def __init__(self, *args):
10883  r"""
10884  __init__(SpherePatch3D self) -> SpherePatch3D
10885  __init__(SpherePatch3D self, Sphere3D sph, Plane3D crossing_plane) -> SpherePatch3D
10886  """
10887  _IMP_algebra.SpherePatch3D_swiginit(self, _IMP_algebra.new_SpherePatch3D(*args))
10888 
10889  def get_contains(self, p):
10890  r"""get_contains(SpherePatch3D self, Vector3D p) -> bool"""
10891  return _IMP_algebra.SpherePatch3D_get_contains(self, p)
10892 
10893  def get_plane(self):
10894  r"""get_plane(SpherePatch3D self) -> Plane3D"""
10895  return _IMP_algebra.SpherePatch3D_get_plane(self)
10896 
10897  def get_sphere(self):
10898  r"""get_sphere(SpherePatch3D self) -> Sphere3D"""
10899  return _IMP_algebra.SpherePatch3D_get_sphere(self)
10900 
10901  def show(self, *args):
10902  r"""show(SpherePatch3D self, _ostream out=std::cout)"""
10903  return _IMP_algebra.SpherePatch3D_show(self, *args)
10904 
10905  def get_boundary_point(self):
10906  r"""get_boundary_point(SpherePatch3D self) -> Vector3D"""
10907  return _IMP_algebra.SpherePatch3D_get_boundary_point(self)
10908 
10909  def __str__(self):
10910  r"""__str__(SpherePatch3D self) -> std::string"""
10911  return _IMP_algebra.SpherePatch3D___str__(self)
10912 
10913  def __repr__(self):
10914  r"""__repr__(SpherePatch3D self) -> std::string"""
10915  return _IMP_algebra.SpherePatch3D___repr__(self)
10916 
10917  def _get_as_binary(self):
10918  r"""_get_as_binary(SpherePatch3D self) -> PyObject *"""
10919  return _IMP_algebra.SpherePatch3D__get_as_binary(self)
10920 
10921  def _set_from_binary(self, p):
10922  r"""_set_from_binary(SpherePatch3D self, PyObject * p)"""
10923  return _IMP_algebra.SpherePatch3D__set_from_binary(self, p)
10924 
10925  def __getstate__(self):
10926  p = self._get_as_binary()
10927  if len(self.__dict__) > 1:
10928  d = self.__dict__.copy()
10929  del d['this']
10930  p = (d, p)
10931  return p
10932 
10933  def __setstate__(self, p):
10934  if not hasattr(self, 'this'):
10935  self.__init__()
10936  if isinstance(p, tuple):
10937  d, p = p
10938  self.__dict__.update(d)
10939  return self._set_from_binary(p)
10940 
10941  __swig_destroy__ = _IMP_algebra.delete_SpherePatch3D
10942 
10943 # Register SpherePatch3D in _IMP_algebra:
10944 _IMP_algebra.SpherePatch3D_swigregister(SpherePatch3D)
10945 
10946 def get_area(*args):
10947  r"""
10948  get_area(Plane3D g) -> double
10949  get_area(SpherePatch3D g) -> double
10950  """
10951  return _IMP_algebra.get_area(*args)
10952 
10953 def get_sphere_patch_3d_geometry(g):
10954  r"""get_sphere_patch_3d_geometry(SpherePatch3D g) -> SpherePatch3D"""
10955  return _IMP_algebra.get_sphere_patch_3d_geometry(g)
10956 class Cone3D(_GeometricPrimitive3D):
10957  r"""Proxy of C++ IMP::algebra::Cone3D class."""
10958 
10959  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10960 
10961  def __init__(self, *args):
10962  r"""
10963  __init__(Cone3D self) -> Cone3D
10964  __init__(Cone3D self, Segment3D s, double radius) -> Cone3D
10965  """
10966  _IMP_algebra.Cone3D_swiginit(self, _IMP_algebra.new_Cone3D(*args))
10967 
10968  def get_tip(self):
10969  r"""get_tip(Cone3D self) -> Vector3D"""
10970  return _IMP_algebra.Cone3D_get_tip(self)
10971 
10972  def get_direction(self):
10973  r"""get_direction(Cone3D self) -> Vector3D"""
10974  return _IMP_algebra.Cone3D_get_direction(self)
10975 
10976  def get_height(self):
10977  r"""get_height(Cone3D self) -> double"""
10978  return _IMP_algebra.Cone3D_get_height(self)
10979 
10980  def get_angle(self):
10981  r"""get_angle(Cone3D self) -> double"""
10982  return _IMP_algebra.Cone3D_get_angle(self)
10983 
10984  def get_radius(self):
10985  r"""get_radius(Cone3D self) -> double"""
10986  return _IMP_algebra.Cone3D_get_radius(self)
10987 
10988  def get_contains(self, v):
10989  r"""get_contains(Cone3D self, Vector3D v) -> bool"""
10990  return _IMP_algebra.Cone3D_get_contains(self, v)
10991 
10992  def get_base_plane(self):
10993  r"""get_base_plane(Cone3D self) -> Plane3D"""
10994  return _IMP_algebra.Cone3D_get_base_plane(self)
10995 
10996  def show(self, *args):
10997  r"""show(Cone3D self, _ostream out=std::cout)"""
10998  return _IMP_algebra.Cone3D_show(self, *args)
10999 
11000  def __str__(self):
11001  r"""__str__(Cone3D self) -> std::string"""
11002  return _IMP_algebra.Cone3D___str__(self)
11003 
11004  def __repr__(self):
11005  r"""__repr__(Cone3D self) -> std::string"""
11006  return _IMP_algebra.Cone3D___repr__(self)
11007 
11008  def _get_as_binary(self):
11009  r"""_get_as_binary(Cone3D self) -> PyObject *"""
11010  return _IMP_algebra.Cone3D__get_as_binary(self)
11011 
11012  def _set_from_binary(self, p):
11013  r"""_set_from_binary(Cone3D self, PyObject * p)"""
11014  return _IMP_algebra.Cone3D__set_from_binary(self, p)
11015 
11016  def __getstate__(self):
11017  p = self._get_as_binary()
11018  if len(self.__dict__) > 1:
11019  d = self.__dict__.copy()
11020  del d['this']
11021  p = (d, p)
11022  return p
11023 
11024  def __setstate__(self, p):
11025  if not hasattr(self, 'this'):
11026  self.__init__()
11027  if isinstance(p, tuple):
11028  d, p = p
11029  self.__dict__.update(d)
11030  return self._set_from_binary(p)
11031 
11032  __swig_destroy__ = _IMP_algebra.delete_Cone3D
11033 
11034 # Register Cone3D in _IMP_algebra:
11035 _IMP_algebra.Cone3D_swigregister(Cone3D)
11036 
11037 def get_surface_area(*args):
11038  r"""
11039  get_surface_area(BoundingBox3D g) -> double
11040  get_surface_area(Sphere3D g) -> double
11041  get_surface_area(Cylinder3D g) -> double
11042  get_surface_area(Ellipsoid3D g) -> double
11043  get_surface_area(Cone3D g) -> double
11044  """
11045  return _IMP_algebra.get_surface_area(*args)
11046 
11047 def get_volume(*args):
11048  r"""
11049  get_volume(BoundingBox3D g) -> double
11050  get_volume(Sphere3D g) -> double
11051  get_volume(Cylinder3D g) -> double
11052  get_volume(Ellipsoid3D g) -> double
11053  get_volume(Cone3D g) -> double
11054  """
11055  return _IMP_algebra.get_volume(*args)
11056 
11057 def get_cone_3d_geometry(g):
11058  r"""get_cone_3d_geometry(Cone3D g) -> Cone3D"""
11059  return _IMP_algebra.get_cone_3d_geometry(g)
11060 
11061 def write_pts(vs, out):
11062  r"""write_pts(IMP::algebra::Vector3Ds const & vs, TextOutput out)"""
11063  return _IMP_algebra.write_pts(vs, out)
11064 
11065 def read_pts(input):
11066  r"""read_pts(TextInput input) -> IMP::algebra::Vector3Ds"""
11067  return _IMP_algebra.read_pts(input)
11068 
11069 def write_spheres(vs, out):
11070  r"""write_spheres(IMP::algebra::Sphere3Ds const & vs, TextOutput out)"""
11071  return _IMP_algebra.write_spheres(vs, out)
11072 
11073 def read_spheres(input):
11074  r"""read_spheres(TextInput input) -> IMP::algebra::Sphere3Ds"""
11075  return _IMP_algebra.read_spheres(input)
11076 
11078  r"""get_random_vector_on_unit_sphere() -> Vector3D"""
11079  return _IMP_algebra.get_random_vector_on_unit_sphere()
11080 
11081 def get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle):
11082  r"""get_grid_surface_cover(Cylinder3D cyl, int number_of_cycles, int number_of_points_on_cycle) -> IMP::algebra::Vector3Ds"""
11083  return _IMP_algebra.get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle)
11084 
11085 def get_random_chain(*args):
11086  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"""
11087  return _IMP_algebra.get_random_chain(*args)
11088 
11089 def reversed_read(dest, size, nitems, f, reverse):
11090  r"""reversed_read(void * dest, size_t size, size_t nitems, std::ifstream & f, bool reverse)"""
11091  return _IMP_algebra.reversed_read(dest, size, nitems, f, reverse)
11092 
11093 def reversed_write(src, size, nitems, f, reverse=False):
11094  r"""reversed_write(void const * src, size_t size, size_t nitems, std::ofstream & f, bool reverse=False)"""
11095  return _IMP_algebra.reversed_write(src, size, nitems, f, reverse)
11096 
11097 def get_is_big_endian():
11098  r"""get_is_big_endian() -> bool"""
11099  return _IMP_algebra.get_is_big_endian()
11100 
11101 def get_is_little_endian():
11102  r"""get_is_little_endian() -> bool"""
11103  return _IMP_algebra.get_is_little_endian()
11104 
11105 def get_shortest_segment(*args):
11106  r"""
11107  get_shortest_segment(Segment3D s, Vector3D p) -> Segment3D
11108  get_shortest_segment(Segment3D sa, Segment3D sb) -> Segment3D
11109  """
11110  return _IMP_algebra.get_shortest_segment(*args)
11111 class DynamicNearestNeighbor3D(IMP.Object):
11112  r"""Proxy of C++ IMP::algebra::DynamicNearestNeighbor3D class."""
11113 
11114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11115 
11116  def __init__(self, vs, query_estimate=1):
11117  r"""__init__(DynamicNearestNeighbor3D self, IMP::algebra::Vector3Ds const & vs, double query_estimate=1) -> DynamicNearestNeighbor3D"""
11118  _IMP_algebra.DynamicNearestNeighbor3D_swiginit(self, _IMP_algebra.new_DynamicNearestNeighbor3D(vs, query_estimate))
11119 
11120  def get_in_ball(self, id, distance):
11121  r"""get_in_ball(DynamicNearestNeighbor3D self, int id, double distance) -> IMP::Ints"""
11122  return _IMP_algebra.DynamicNearestNeighbor3D_get_in_ball(self, id, distance)
11123 
11124  def set_coordinates(self, id, nc):
11125  r"""set_coordinates(DynamicNearestNeighbor3D self, int id, Vector3D nc)"""
11126  return _IMP_algebra.DynamicNearestNeighbor3D_set_coordinates(self, id, nc)
11127 
11128  def get_version_info(self):
11129  r"""get_version_info(DynamicNearestNeighbor3D self) -> VersionInfo"""
11130  return _IMP_algebra.DynamicNearestNeighbor3D_get_version_info(self)
11131  __swig_destroy__ = _IMP_algebra.delete_DynamicNearestNeighbor3D
11132 
11133  def __str__(self):
11134  r"""__str__(DynamicNearestNeighbor3D self) -> std::string"""
11135  return _IMP_algebra.DynamicNearestNeighbor3D___str__(self)
11136 
11137  def __repr__(self):
11138  r"""__repr__(DynamicNearestNeighbor3D self) -> std::string"""
11139  return _IMP_algebra.DynamicNearestNeighbor3D___repr__(self)
11140 
11141  @staticmethod
11142  def get_from(o):
11143  return _object_cast_to_DynamicNearestNeighbor3D(o)
11144 
11145 
11146 # Register DynamicNearestNeighbor3D in _IMP_algebra:
11147 _IMP_algebra.DynamicNearestNeighbor3D_swigregister(DynamicNearestNeighbor3D)
11148 class VectorKDMetric(IMP.Object):
11149  r"""Proxy of C++ IMP::algebra::VectorKDMetric class."""
11150 
11151  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11152 
11153  def __init__(self, name):
11154  r"""__init__(VectorKDMetric self, std::string name) -> VectorKDMetric"""
11155  if self.__class__ == VectorKDMetric:
11156  _self = None
11157  else:
11158  _self = self
11159  _IMP_algebra.VectorKDMetric_swiginit(self, _IMP_algebra.new_VectorKDMetric(_self, name))
11160 
11161  if self.__class__ != VectorKDMetric:
11162  _director_objects.register(self)
11163 
11164 
11165 
11166 
11167  def get_distance(self, a, b):
11168  r"""get_distance(VectorKDMetric self, VectorKD a, VectorKD b) -> double"""
11169  return _IMP_algebra.VectorKDMetric_get_distance(self, a, b)
11170 
11171  def get_centroid(self, vs):
11172  r"""get_centroid(VectorKDMetric self, IMP::algebra::VectorKDs const & vs) -> VectorKD"""
11173  return _IMP_algebra.VectorKDMetric_get_centroid(self, vs)
11174 
11175  def __str__(self):
11176  r"""__str__(VectorKDMetric self) -> std::string"""
11177  return _IMP_algebra.VectorKDMetric___str__(self)
11178 
11179  def __repr__(self):
11180  r"""__repr__(VectorKDMetric self) -> std::string"""
11181  return _IMP_algebra.VectorKDMetric___repr__(self)
11182 
11183  @staticmethod
11184  def get_from(o):
11185  return _object_cast_to_VectorKDMetric(o)
11186 
11187 
11188  def do_show(self, out):
11189  pass
11190 
11191  @staticmethod
11192  def get_from(o):
11193  return _object_cast_to_VectorKDMetric(o)
11194 
11195  __swig_destroy__ = _IMP_algebra.delete_VectorKDMetric
11196  def __disown__(self):
11197  self.this.disown()
11198  _IMP_algebra.disown_VectorKDMetric(self)
11199  return weakref.proxy(self)
11200 
11201  def do_destroy(self):
11202  r"""do_destroy(VectorKDMetric self)"""
11203  return _IMP_algebra.VectorKDMetric_do_destroy(self)
11204 
11205 # Register VectorKDMetric in _IMP_algebra:
11206 _IMP_algebra.VectorKDMetric_swigregister(VectorKDMetric)
11207 class EuclideanVectorKDMetric(VectorKDMetric):
11208  r"""Proxy of C++ IMP::algebra::EuclideanVectorKDMetric class."""
11209 
11210  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11211 
11212  def __init__(self, *args):
11213  r"""__init__(EuclideanVectorKDMetric self, std::string name="EuclideanVectorKDMetric%1%") -> EuclideanVectorKDMetric"""
11214  _IMP_algebra.EuclideanVectorKDMetric_swiginit(self, _IMP_algebra.new_EuclideanVectorKDMetric(*args))
11215 
11216  def get_version_info(self):
11217  r"""get_version_info(EuclideanVectorKDMetric self) -> VersionInfo"""
11218  return _IMP_algebra.EuclideanVectorKDMetric_get_version_info(self)
11219  __swig_destroy__ = _IMP_algebra.delete_EuclideanVectorKDMetric
11220 
11221  def __str__(self):
11222  r"""__str__(EuclideanVectorKDMetric self) -> std::string"""
11223  return _IMP_algebra.EuclideanVectorKDMetric___str__(self)
11224 
11225  def __repr__(self):
11226  r"""__repr__(EuclideanVectorKDMetric self) -> std::string"""
11227  return _IMP_algebra.EuclideanVectorKDMetric___repr__(self)
11228 
11229  @staticmethod
11230  def get_from(o):
11231  return _object_cast_to_EuclideanVectorKDMetric(o)
11232 
11233 
11234  def _get_as_binary(self):
11235  r"""_get_as_binary(EuclideanVectorKDMetric self) -> PyObject *"""
11236  return _IMP_algebra.EuclideanVectorKDMetric__get_as_binary(self)
11237 
11238  def _set_from_binary(self, p):
11239  r"""_set_from_binary(EuclideanVectorKDMetric self, PyObject * p)"""
11240  return _IMP_algebra.EuclideanVectorKDMetric__set_from_binary(self, p)
11241 
11242  def __getstate__(self):
11243  p = self._get_as_binary()
11244  if len(self.__dict__) > 1:
11245  d = self.__dict__.copy()
11246  del d['this']
11247  p = (d, p)
11248  return p
11249 
11250  def __setstate__(self, p):
11251  if not hasattr(self, 'this'):
11252  self.__init__()
11253  if isinstance(p, tuple):
11254  d, p = p
11255  self.__dict__.update(d)
11256  return self._set_from_binary(p)
11257 
11258 
11259 # Register EuclideanVectorKDMetric in _IMP_algebra:
11260 _IMP_algebra.EuclideanVectorKDMetric_swigregister(EuclideanVectorKDMetric)
11261 class MaxVectorKDMetric(VectorKDMetric):
11262  r"""Proxy of C++ IMP::algebra::MaxVectorKDMetric class."""
11263 
11264  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11265 
11266  def __init__(self, *args):
11267  r"""__init__(MaxVectorKDMetric self, std::string name="MaxVectorKDMetric%1%") -> MaxVectorKDMetric"""
11268  _IMP_algebra.MaxVectorKDMetric_swiginit(self, _IMP_algebra.new_MaxVectorKDMetric(*args))
11269 
11270  def get_version_info(self):
11271  r"""get_version_info(MaxVectorKDMetric self) -> VersionInfo"""
11272  return _IMP_algebra.MaxVectorKDMetric_get_version_info(self)
11273  __swig_destroy__ = _IMP_algebra.delete_MaxVectorKDMetric
11274 
11275  def __str__(self):
11276  r"""__str__(MaxVectorKDMetric self) -> std::string"""
11277  return _IMP_algebra.MaxVectorKDMetric___str__(self)
11278 
11279  def __repr__(self):
11280  r"""__repr__(MaxVectorKDMetric self) -> std::string"""
11281  return _IMP_algebra.MaxVectorKDMetric___repr__(self)
11282 
11283  @staticmethod
11284  def get_from(o):
11285  return _object_cast_to_MaxVectorKDMetric(o)
11286 
11287 
11288  def _get_as_binary(self):
11289  r"""_get_as_binary(MaxVectorKDMetric self) -> PyObject *"""
11290  return _IMP_algebra.MaxVectorKDMetric__get_as_binary(self)
11291 
11292  def _set_from_binary(self, p):
11293  r"""_set_from_binary(MaxVectorKDMetric self, PyObject * p)"""
11294  return _IMP_algebra.MaxVectorKDMetric__set_from_binary(self, p)
11295 
11296  def __getstate__(self):
11297  p = self._get_as_binary()
11298  if len(self.__dict__) > 1:
11299  d = self.__dict__.copy()
11300  del d['this']
11301  p = (d, p)
11302  return p
11303 
11304  def __setstate__(self, p):
11305  if not hasattr(self, 'this'):
11306  self.__init__()
11307  if isinstance(p, tuple):
11308  d, p = p
11309  self.__dict__.update(d)
11310  return self._set_from_binary(p)
11311 
11312 
11313 # Register MaxVectorKDMetric in _IMP_algebra:
11314 _IMP_algebra.MaxVectorKDMetric_swigregister(MaxVectorKDMetric)
11315 class Gaussian3D(_GeometricPrimitive3D):
11316  r"""Proxy of C++ IMP::algebra::Gaussian3D class."""
11317 
11318  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11319 
11320  def __init__(self, *args):
11321  r"""
11322  __init__(Gaussian3D self) -> Gaussian3D
11323  __init__(Gaussian3D self, ReferenceFrame3D tr, Vector3D variances) -> Gaussian3D
11324  """
11325  _IMP_algebra.Gaussian3D_swiginit(self, _IMP_algebra.new_Gaussian3D(*args))
11326 
11327  def get_reference_frame(self):
11328  r"""get_reference_frame(Gaussian3D self) -> ReferenceFrame3D"""
11329  return _IMP_algebra.Gaussian3D_get_reference_frame(self)
11330 
11331  def get_variances(self):
11332  r"""get_variances(Gaussian3D self) -> Vector3D"""
11333  return _IMP_algebra.Gaussian3D_get_variances(self)
11334 
11335  def get_center(self):
11336  r"""get_center(Gaussian3D self) -> Vector3D"""
11337  return _IMP_algebra.Gaussian3D_get_center(self)
11338 
11339  def show(self, *args):
11340  r"""show(Gaussian3D self, _ostream out=std::cout)"""
11341  return _IMP_algebra.Gaussian3D_show(self, *args)
11342 
11343  def __str__(self):
11344  r"""__str__(Gaussian3D self) -> std::string"""
11345  return _IMP_algebra.Gaussian3D___str__(self)
11346 
11347  def __repr__(self):
11348  r"""__repr__(Gaussian3D self) -> std::string"""
11349  return _IMP_algebra.Gaussian3D___repr__(self)
11350 
11351  def _get_as_binary(self):
11352  r"""_get_as_binary(Gaussian3D self) -> PyObject *"""
11353  return _IMP_algebra.Gaussian3D__get_as_binary(self)
11354 
11355  def _set_from_binary(self, p):
11356  r"""_set_from_binary(Gaussian3D self, PyObject * p)"""
11357  return _IMP_algebra.Gaussian3D__set_from_binary(self, p)
11358 
11359  def __getstate__(self):
11360  p = self._get_as_binary()
11361  if len(self.__dict__) > 1:
11362  d = self.__dict__.copy()
11363  del d['this']
11364  p = (d, p)
11365  return p
11366 
11367  def __setstate__(self, p):
11368  if not hasattr(self, 'this'):
11369  self.__init__()
11370  if isinstance(p, tuple):
11371  d, p = p
11372  self.__dict__.update(d)
11373  return self._set_from_binary(p)
11374 
11375  __swig_destroy__ = _IMP_algebra.delete_Gaussian3D
11376 
11377 # Register Gaussian3D in _IMP_algebra:
11378 _IMP_algebra.Gaussian3D_swigregister(Gaussian3D)
11379 
11380 def get_covariance(g):
11381  r"""get_covariance(Gaussian3D g) -> Eigen::Matrix3d"""
11382  return _IMP_algebra.get_covariance(g)
11383 
11384 def get_gaussian_from_covariance(covariance, center):
11385  r"""get_gaussian_from_covariance(Eigen::Matrix3d const & covariance, Vector3D center) -> Gaussian3D"""
11386  return _IMP_algebra.get_gaussian_from_covariance(covariance, center)
11387 
11388 def get_rasterized(gmm, weights, cell_width, bb):
11389  r"""get_rasterized(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb) -> DenseDoubleGrid3D"""
11390  return _IMP_algebra.get_rasterized(gmm, weights, cell_width, bb)
11391 
11392 def get_rasterized_fast(gmm, weights, cell_width, bb, factor=2.5):
11393  r"""get_rasterized_fast(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb, double factor=2.5) -> DenseDoubleGrid3D"""
11394  return _IMP_algebra.get_rasterized_fast(gmm, weights, cell_width, bb, factor)
11395 
11396 def _pass_matrix_xf(m):
11397  r"""_pass_matrix_xf(Eigen::MatrixXf const & m) -> Eigen::MatrixXf"""
11398  return _IMP_algebra._pass_matrix_xf(m)
11399 
11400 def _pass_matrix_xd(m):
11401  r"""_pass_matrix_xd(Eigen::MatrixXd const & m) -> Eigen::MatrixXd"""
11402  return _IMP_algebra._pass_matrix_xd(m)
11403 
11404 def _pass_matrix_3d(m):
11405  r"""_pass_matrix_3d(Eigen::Matrix3d const & m) -> Eigen::Matrix3d"""
11406  return _IMP_algebra._pass_matrix_3d(m)
11407 
11408 def _pass_array_xd(m):
11409  r"""_pass_array_xd(Eigen::ArrayXXd const & m) -> Eigen::ArrayXXd"""
11410  return _IMP_algebra._pass_array_xd(m)
11411 
11412 def _pass_vector_xd(m):
11413  r"""_pass_vector_xd(Eigen::VectorXd const & m) -> Eigen::VectorXd"""
11414  return _IMP_algebra._pass_vector_xd(m)
11415 class NearestNeighbor1D(IMP.Object):
11416  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 1 > class."""
11417 
11418  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11419 
11420  def __init__(self, vs, epsilon=0):
11421  r"""__init__(NearestNeighbor1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & vs, double epsilon=0) -> NearestNeighbor1D"""
11422  _IMP_algebra.NearestNeighbor1D_swiginit(self, _IMP_algebra.new_NearestNeighbor1D(vs, epsilon))
11423 
11424  def set_query_log(self, fname):
11425  r"""set_query_log(NearestNeighbor1D self, std::string fname)"""
11426  return _IMP_algebra.NearestNeighbor1D_set_query_log(self, fname)
11427 
11428  def get_nearest_neighbor(self, *args):
11429  r"""
11430  get_nearest_neighbor(NearestNeighbor1D self, Vector1D q) -> unsigned int
11431  get_nearest_neighbor(NearestNeighbor1D self, unsigned int i) -> unsigned int
11432  """
11433  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbor(self, *args)
11434 
11435  def get_nearest_neighbors(self, *args):
11436  r"""
11437  get_nearest_neighbors(NearestNeighbor1D self, unsigned int i, unsigned int k) -> IMP::Ints
11438  get_nearest_neighbors(NearestNeighbor1D self, Vector1D v, unsigned int k) -> IMP::Ints
11439  """
11440  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbors(self, *args)
11441 
11442  def get_in_ball(self, *args):
11443  r"""
11444  get_in_ball(NearestNeighbor1D self, unsigned int i, double distance) -> IMP::Ints
11445  get_in_ball(NearestNeighbor1D self, Vector1D pt, double distance) -> IMP::Ints
11446  """
11447  return _IMP_algebra.NearestNeighbor1D_get_in_ball(self, *args)
11448 
11449  def get_version_info(self):
11450  r"""get_version_info(NearestNeighbor1D self) -> VersionInfo"""
11451  return _IMP_algebra.NearestNeighbor1D_get_version_info(self)
11452  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor1D
11453 
11454  def __str__(self):
11455  r"""__str__(NearestNeighbor1D self) -> std::string"""
11456  return _IMP_algebra.NearestNeighbor1D___str__(self)
11457 
11458  def __repr__(self):
11459  r"""__repr__(NearestNeighbor1D self) -> std::string"""
11460  return _IMP_algebra.NearestNeighbor1D___repr__(self)
11461 
11462  @staticmethod
11463  def get_from(o):
11464  return _object_cast_to_NearestNeighborD(o)
11465 
11466 
11467 # Register NearestNeighbor1D in _IMP_algebra:
11468 _IMP_algebra.NearestNeighbor1D_swigregister(NearestNeighbor1D)
11469 class NearestNeighbor2D(IMP.Object):
11470  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 2 > class."""
11471 
11472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11473 
11474  def __init__(self, vs, epsilon=0):
11475  r"""__init__(NearestNeighbor2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & vs, double epsilon=0) -> NearestNeighbor2D"""
11476  _IMP_algebra.NearestNeighbor2D_swiginit(self, _IMP_algebra.new_NearestNeighbor2D(vs, epsilon))
11477 
11478  def set_query_log(self, fname):
11479  r"""set_query_log(NearestNeighbor2D self, std::string fname)"""
11480  return _IMP_algebra.NearestNeighbor2D_set_query_log(self, fname)
11481 
11482  def get_nearest_neighbor(self, *args):
11483  r"""
11484  get_nearest_neighbor(NearestNeighbor2D self, Vector2D q) -> unsigned int
11485  get_nearest_neighbor(NearestNeighbor2D self, unsigned int i) -> unsigned int
11486  """
11487  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbor(self, *args)
11488 
11489  def get_nearest_neighbors(self, *args):
11490  r"""
11491  get_nearest_neighbors(NearestNeighbor2D self, unsigned int i, unsigned int k) -> IMP::Ints
11492  get_nearest_neighbors(NearestNeighbor2D self, Vector2D v, unsigned int k) -> IMP::Ints
11493  """
11494  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbors(self, *args)
11495 
11496  def get_in_ball(self, *args):
11497  r"""
11498  get_in_ball(NearestNeighbor2D self, unsigned int i, double distance) -> IMP::Ints
11499  get_in_ball(NearestNeighbor2D self, Vector2D pt, double distance) -> IMP::Ints
11500  """
11501  return _IMP_algebra.NearestNeighbor2D_get_in_ball(self, *args)
11502 
11503  def get_version_info(self):
11504  r"""get_version_info(NearestNeighbor2D self) -> VersionInfo"""
11505  return _IMP_algebra.NearestNeighbor2D_get_version_info(self)
11506  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor2D
11507 
11508  def __str__(self):
11509  r"""__str__(NearestNeighbor2D self) -> std::string"""
11510  return _IMP_algebra.NearestNeighbor2D___str__(self)
11511 
11512  def __repr__(self):
11513  r"""__repr__(NearestNeighbor2D self) -> std::string"""
11514  return _IMP_algebra.NearestNeighbor2D___repr__(self)
11515 
11516  @staticmethod
11517  def get_from(o):
11518  return _object_cast_to_NearestNeighborD(o)
11519 
11520 
11521 # Register NearestNeighbor2D in _IMP_algebra:
11522 _IMP_algebra.NearestNeighbor2D_swigregister(NearestNeighbor2D)
11523 class NearestNeighbor3D(IMP.Object):
11524  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 3 > class."""
11525 
11526  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11527 
11528  def __init__(self, vs, epsilon=0):
11529  r"""__init__(NearestNeighbor3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & vs, double epsilon=0) -> NearestNeighbor3D"""
11530  _IMP_algebra.NearestNeighbor3D_swiginit(self, _IMP_algebra.new_NearestNeighbor3D(vs, epsilon))
11531 
11532  def set_query_log(self, fname):
11533  r"""set_query_log(NearestNeighbor3D self, std::string fname)"""
11534  return _IMP_algebra.NearestNeighbor3D_set_query_log(self, fname)
11535 
11536  def get_nearest_neighbor(self, *args):
11537  r"""
11538  get_nearest_neighbor(NearestNeighbor3D self, Vector3D q) -> unsigned int
11539  get_nearest_neighbor(NearestNeighbor3D self, unsigned int i) -> unsigned int
11540  """
11541  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbor(self, *args)
11542 
11543  def get_nearest_neighbors(self, *args):
11544  r"""
11545  get_nearest_neighbors(NearestNeighbor3D self, unsigned int i, unsigned int k) -> IMP::Ints
11546  get_nearest_neighbors(NearestNeighbor3D self, Vector3D v, unsigned int k) -> IMP::Ints
11547  """
11548  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbors(self, *args)
11549 
11550  def get_in_ball(self, *args):
11551  r"""
11552  get_in_ball(NearestNeighbor3D self, unsigned int i, double distance) -> IMP::Ints
11553  get_in_ball(NearestNeighbor3D self, Vector3D pt, double distance) -> IMP::Ints
11554  """
11555  return _IMP_algebra.NearestNeighbor3D_get_in_ball(self, *args)
11556 
11557  def get_version_info(self):
11558  r"""get_version_info(NearestNeighbor3D self) -> VersionInfo"""
11559  return _IMP_algebra.NearestNeighbor3D_get_version_info(self)
11560  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor3D
11561 
11562  def __str__(self):
11563  r"""__str__(NearestNeighbor3D self) -> std::string"""
11564  return _IMP_algebra.NearestNeighbor3D___str__(self)
11565 
11566  def __repr__(self):
11567  r"""__repr__(NearestNeighbor3D self) -> std::string"""
11568  return _IMP_algebra.NearestNeighbor3D___repr__(self)
11569 
11570  @staticmethod
11571  def get_from(o):
11572  return _object_cast_to_NearestNeighborD(o)
11573 
11574 
11575 # Register NearestNeighbor3D in _IMP_algebra:
11576 _IMP_algebra.NearestNeighbor3D_swigregister(NearestNeighbor3D)
11577 class NearestNeighbor4D(IMP.Object):
11578  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 4 > class."""
11579 
11580  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11581 
11582  def __init__(self, vs, epsilon=0):
11583  r"""__init__(NearestNeighbor4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & vs, double epsilon=0) -> NearestNeighbor4D"""
11584  _IMP_algebra.NearestNeighbor4D_swiginit(self, _IMP_algebra.new_NearestNeighbor4D(vs, epsilon))
11585 
11586  def set_query_log(self, fname):
11587  r"""set_query_log(NearestNeighbor4D self, std::string fname)"""
11588  return _IMP_algebra.NearestNeighbor4D_set_query_log(self, fname)
11589 
11590  def get_nearest_neighbor(self, *args):
11591  r"""
11592  get_nearest_neighbor(NearestNeighbor4D self, Vector4D q) -> unsigned int
11593  get_nearest_neighbor(NearestNeighbor4D self, unsigned int i) -> unsigned int
11594  """
11595  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbor(self, *args)
11596 
11597  def get_nearest_neighbors(self, *args):
11598  r"""
11599  get_nearest_neighbors(NearestNeighbor4D self, unsigned int i, unsigned int k) -> IMP::Ints
11600  get_nearest_neighbors(NearestNeighbor4D self, Vector4D v, unsigned int k) -> IMP::Ints
11601  """
11602  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbors(self, *args)
11603 
11604  def get_in_ball(self, *args):
11605  r"""
11606  get_in_ball(NearestNeighbor4D self, unsigned int i, double distance) -> IMP::Ints
11607  get_in_ball(NearestNeighbor4D self, Vector4D pt, double distance) -> IMP::Ints
11608  """
11609  return _IMP_algebra.NearestNeighbor4D_get_in_ball(self, *args)
11610 
11611  def get_version_info(self):
11612  r"""get_version_info(NearestNeighbor4D self) -> VersionInfo"""
11613  return _IMP_algebra.NearestNeighbor4D_get_version_info(self)
11614  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor4D
11615 
11616  def __str__(self):
11617  r"""__str__(NearestNeighbor4D self) -> std::string"""
11618  return _IMP_algebra.NearestNeighbor4D___str__(self)
11619 
11620  def __repr__(self):
11621  r"""__repr__(NearestNeighbor4D self) -> std::string"""
11622  return _IMP_algebra.NearestNeighbor4D___repr__(self)
11623 
11624  @staticmethod
11625  def get_from(o):
11626  return _object_cast_to_NearestNeighborD(o)
11627 
11628 
11629 # Register NearestNeighbor4D in _IMP_algebra:
11630 _IMP_algebra.NearestNeighbor4D_swigregister(NearestNeighbor4D)
11631 class NearestNeighbor5D(IMP.Object):
11632  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 5 > class."""
11633 
11634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11635 
11636  def __init__(self, vs, epsilon=0):
11637  r"""__init__(NearestNeighbor5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & vs, double epsilon=0) -> NearestNeighbor5D"""
11638  _IMP_algebra.NearestNeighbor5D_swiginit(self, _IMP_algebra.new_NearestNeighbor5D(vs, epsilon))
11639 
11640  def set_query_log(self, fname):
11641  r"""set_query_log(NearestNeighbor5D self, std::string fname)"""
11642  return _IMP_algebra.NearestNeighbor5D_set_query_log(self, fname)
11643 
11644  def get_nearest_neighbor(self, *args):
11645  r"""
11646  get_nearest_neighbor(NearestNeighbor5D self, Vector5D q) -> unsigned int
11647  get_nearest_neighbor(NearestNeighbor5D self, unsigned int i) -> unsigned int
11648  """
11649  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbor(self, *args)
11650 
11651  def get_nearest_neighbors(self, *args):
11652  r"""
11653  get_nearest_neighbors(NearestNeighbor5D self, unsigned int i, unsigned int k) -> IMP::Ints
11654  get_nearest_neighbors(NearestNeighbor5D self, Vector5D v, unsigned int k) -> IMP::Ints
11655  """
11656  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbors(self, *args)
11657 
11658  def get_in_ball(self, *args):
11659  r"""
11660  get_in_ball(NearestNeighbor5D self, unsigned int i, double distance) -> IMP::Ints
11661  get_in_ball(NearestNeighbor5D self, Vector5D pt, double distance) -> IMP::Ints
11662  """
11663  return _IMP_algebra.NearestNeighbor5D_get_in_ball(self, *args)
11664 
11665  def get_version_info(self):
11666  r"""get_version_info(NearestNeighbor5D self) -> VersionInfo"""
11667  return _IMP_algebra.NearestNeighbor5D_get_version_info(self)
11668  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor5D
11669 
11670  def __str__(self):
11671  r"""__str__(NearestNeighbor5D self) -> std::string"""
11672  return _IMP_algebra.NearestNeighbor5D___str__(self)
11673 
11674  def __repr__(self):
11675  r"""__repr__(NearestNeighbor5D self) -> std::string"""
11676  return _IMP_algebra.NearestNeighbor5D___repr__(self)
11677 
11678  @staticmethod
11679  def get_from(o):
11680  return _object_cast_to_NearestNeighborD(o)
11681 
11682 
11683 # Register NearestNeighbor5D in _IMP_algebra:
11684 _IMP_algebra.NearestNeighbor5D_swigregister(NearestNeighbor5D)
11685 class NearestNeighbor6D(IMP.Object):
11686  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 6 > class."""
11687 
11688  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11689 
11690  def __init__(self, vs, epsilon=0):
11691  r"""__init__(NearestNeighbor6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & vs, double epsilon=0) -> NearestNeighbor6D"""
11692  _IMP_algebra.NearestNeighbor6D_swiginit(self, _IMP_algebra.new_NearestNeighbor6D(vs, epsilon))
11693 
11694  def set_query_log(self, fname):
11695  r"""set_query_log(NearestNeighbor6D self, std::string fname)"""
11696  return _IMP_algebra.NearestNeighbor6D_set_query_log(self, fname)
11697 
11698  def get_nearest_neighbor(self, *args):
11699  r"""
11700  get_nearest_neighbor(NearestNeighbor6D self, Vector6D q) -> unsigned int
11701  get_nearest_neighbor(NearestNeighbor6D self, unsigned int i) -> unsigned int
11702  """
11703  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbor(self, *args)
11704 
11705  def get_nearest_neighbors(self, *args):
11706  r"""
11707  get_nearest_neighbors(NearestNeighbor6D self, unsigned int i, unsigned int k) -> IMP::Ints
11708  get_nearest_neighbors(NearestNeighbor6D self, Vector6D v, unsigned int k) -> IMP::Ints
11709  """
11710  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbors(self, *args)
11711 
11712  def get_in_ball(self, *args):
11713  r"""
11714  get_in_ball(NearestNeighbor6D self, unsigned int i, double distance) -> IMP::Ints
11715  get_in_ball(NearestNeighbor6D self, Vector6D pt, double distance) -> IMP::Ints
11716  """
11717  return _IMP_algebra.NearestNeighbor6D_get_in_ball(self, *args)
11718 
11719  def get_version_info(self):
11720  r"""get_version_info(NearestNeighbor6D self) -> VersionInfo"""
11721  return _IMP_algebra.NearestNeighbor6D_get_version_info(self)
11722  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor6D
11723 
11724  def __str__(self):
11725  r"""__str__(NearestNeighbor6D self) -> std::string"""
11726  return _IMP_algebra.NearestNeighbor6D___str__(self)
11727 
11728  def __repr__(self):
11729  r"""__repr__(NearestNeighbor6D self) -> std::string"""
11730  return _IMP_algebra.NearestNeighbor6D___repr__(self)
11731 
11732  @staticmethod
11733  def get_from(o):
11734  return _object_cast_to_NearestNeighborD(o)
11735 
11736 
11737 # Register NearestNeighbor6D in _IMP_algebra:
11738 _IMP_algebra.NearestNeighbor6D_swigregister(NearestNeighbor6D)
11739 class NearestNeighborKD(IMP.Object):
11740  r"""Proxy of C++ IMP::algebra::NearestNeighborD< -1 > class."""
11741 
11742  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11743 
11744  def __init__(self, vs, epsilon=0):
11745  r"""__init__(NearestNeighborKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & vs, double epsilon=0) -> NearestNeighborKD"""
11746  _IMP_algebra.NearestNeighborKD_swiginit(self, _IMP_algebra.new_NearestNeighborKD(vs, epsilon))
11747 
11748  def set_query_log(self, fname):
11749  r"""set_query_log(NearestNeighborKD self, std::string fname)"""
11750  return _IMP_algebra.NearestNeighborKD_set_query_log(self, fname)
11751 
11752  def get_nearest_neighbor(self, *args):
11753  r"""
11754  get_nearest_neighbor(NearestNeighborKD self, VectorKD q) -> unsigned int
11755  get_nearest_neighbor(NearestNeighborKD self, unsigned int i) -> unsigned int
11756  """
11757  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbor(self, *args)
11758 
11759  def get_nearest_neighbors(self, *args):
11760  r"""
11761  get_nearest_neighbors(NearestNeighborKD self, unsigned int i, unsigned int k) -> IMP::Ints
11762  get_nearest_neighbors(NearestNeighborKD self, VectorKD v, unsigned int k) -> IMP::Ints
11763  """
11764  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbors(self, *args)
11765 
11766  def get_in_ball(self, *args):
11767  r"""
11768  get_in_ball(NearestNeighborKD self, unsigned int i, double distance) -> IMP::Ints
11769  get_in_ball(NearestNeighborKD self, VectorKD pt, double distance) -> IMP::Ints
11770  """
11771  return _IMP_algebra.NearestNeighborKD_get_in_ball(self, *args)
11772 
11773  def get_version_info(self):
11774  r"""get_version_info(NearestNeighborKD self) -> VersionInfo"""
11775  return _IMP_algebra.NearestNeighborKD_get_version_info(self)
11776  __swig_destroy__ = _IMP_algebra.delete_NearestNeighborKD
11777 
11778  def __str__(self):
11779  r"""__str__(NearestNeighborKD self) -> std::string"""
11780  return _IMP_algebra.NearestNeighborKD___str__(self)
11781 
11782  def __repr__(self):
11783  r"""__repr__(NearestNeighborKD self) -> std::string"""
11784  return _IMP_algebra.NearestNeighborKD___repr__(self)
11785 
11786  @staticmethod
11787  def get_from(o):
11788  return _object_cast_to_NearestNeighborD(o)
11789 
11790 
11791 # Register NearestNeighborKD in _IMP_algebra:
11792 _IMP_algebra.NearestNeighborKD_swigregister(NearestNeighborKD)
11793 
11794 def get_transformation_aligning_pair(set_from, set_to):
11795  r"""get_transformation_aligning_pair(IMP::algebra::Vector2Ds const & set_from, IMP::algebra::Vector2Ds const & set_to) -> Transformation2D"""
11796  return _IMP_algebra.get_transformation_aligning_pair(set_from, set_to)
11797 class PrincipalComponentAnalysis1D(_GeometricPrimitive1D):
11798  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 1 > class."""
11799 
11800  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11801 
11802  def __init__(self, *args):
11803  r"""
11804  __init__(PrincipalComponentAnalysis1D self) -> PrincipalComponentAnalysis1D
11805  __init__(PrincipalComponentAnalysis1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & pcs, Vector1D values, Vector1D centroid) -> PrincipalComponentAnalysis1D
11806  """
11807  _IMP_algebra.PrincipalComponentAnalysis1D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis1D(*args))
11808 
11809  def get_principal_components(self):
11810  r"""get_principal_components(PrincipalComponentAnalysis1D self) -> IMP::Vector< IMP::algebra::VectorD< 1 > >"""
11811  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_components(self)
11812 
11813  def get_principal_component(self, i):
11814  r"""get_principal_component(PrincipalComponentAnalysis1D self, unsigned int i) -> Vector1D"""
11815  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_component(self, i)
11816 
11817  def get_principal_values(self):
11818  r"""get_principal_values(PrincipalComponentAnalysis1D self) -> Vector1D"""
11819  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_values(self)
11820 
11821  def get_principal_value(self, i):
11822  r"""get_principal_value(PrincipalComponentAnalysis1D self, unsigned int i) -> double"""
11823  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_value(self, i)
11824 
11825  def get_centroid(self):
11826  r"""get_centroid(PrincipalComponentAnalysis1D self) -> Vector1D"""
11827  return _IMP_algebra.PrincipalComponentAnalysis1D_get_centroid(self)
11828 
11829  def set_centroid(self, cntr):
11830  r"""set_centroid(PrincipalComponentAnalysis1D self, Vector1D cntr)"""
11831  return _IMP_algebra.PrincipalComponentAnalysis1D_set_centroid(self, cntr)
11832 
11833  def show(self, *args):
11834  r"""show(PrincipalComponentAnalysis1D self, _ostream out=std::cout)"""
11835  return _IMP_algebra.PrincipalComponentAnalysis1D_show(self, *args)
11836 
11837  def __cmp__(self, o):
11838  r"""__cmp__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> int"""
11839  return _IMP_algebra.PrincipalComponentAnalysis1D___cmp__(self, o)
11840 
11841  def __eq__(self, o):
11842  r"""__eq__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11843  return _IMP_algebra.PrincipalComponentAnalysis1D___eq__(self, o)
11844 
11845  def __ne__(self, o):
11846  r"""__ne__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11847  return _IMP_algebra.PrincipalComponentAnalysis1D___ne__(self, o)
11848 
11849  def __lt__(self, o):
11850  r"""__lt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11851  return _IMP_algebra.PrincipalComponentAnalysis1D___lt__(self, o)
11852 
11853  def __gt__(self, o):
11854  r"""__gt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11855  return _IMP_algebra.PrincipalComponentAnalysis1D___gt__(self, o)
11856 
11857  def __ge__(self, o):
11858  r"""__ge__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11859  return _IMP_algebra.PrincipalComponentAnalysis1D___ge__(self, o)
11860 
11861  def __le__(self, o):
11862  r"""__le__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11863  return _IMP_algebra.PrincipalComponentAnalysis1D___le__(self, o)
11864 
11865  def __str__(self):
11866  r"""__str__(PrincipalComponentAnalysis1D self) -> std::string"""
11867  return _IMP_algebra.PrincipalComponentAnalysis1D___str__(self)
11868 
11869  def __repr__(self):
11870  r"""__repr__(PrincipalComponentAnalysis1D self) -> std::string"""
11871  return _IMP_algebra.PrincipalComponentAnalysis1D___repr__(self)
11872 
11873  def _get_as_binary(self):
11874  r"""_get_as_binary(PrincipalComponentAnalysis1D self) -> PyObject *"""
11875  return _IMP_algebra.PrincipalComponentAnalysis1D__get_as_binary(self)
11876 
11877  def _set_from_binary(self, p):
11878  r"""_set_from_binary(PrincipalComponentAnalysis1D self, PyObject * p)"""
11879  return _IMP_algebra.PrincipalComponentAnalysis1D__set_from_binary(self, p)
11880 
11881  def __getstate__(self):
11882  p = self._get_as_binary()
11883  if len(self.__dict__) > 1:
11884  d = self.__dict__.copy()
11885  del d['this']
11886  p = (d, p)
11887  return p
11888 
11889  def __setstate__(self, p):
11890  if not hasattr(self, 'this'):
11891  self.__init__()
11892  if isinstance(p, tuple):
11893  d, p = p
11894  self.__dict__.update(d)
11895  return self._set_from_binary(p)
11896 
11897  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis1D
11898 
11899 # Register PrincipalComponentAnalysis1D in _IMP_algebra:
11900 _IMP_algebra.PrincipalComponentAnalysis1D_swigregister(PrincipalComponentAnalysis1D)
11901 class PrincipalComponentAnalysis2D(_GeometricPrimitive2D):
11902  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 2 > class."""
11903 
11904  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11905 
11906  def __init__(self, *args):
11907  r"""
11908  __init__(PrincipalComponentAnalysis2D self) -> PrincipalComponentAnalysis2D
11909  __init__(PrincipalComponentAnalysis2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & pcs, Vector2D values, Vector2D centroid) -> PrincipalComponentAnalysis2D
11910  """
11911  _IMP_algebra.PrincipalComponentAnalysis2D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis2D(*args))
11912 
11913  def get_principal_components(self):
11914  r"""get_principal_components(PrincipalComponentAnalysis2D self) -> IMP::Vector< IMP::algebra::VectorD< 2 > >"""
11915  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_components(self)
11916 
11917  def get_principal_component(self, i):
11918  r"""get_principal_component(PrincipalComponentAnalysis2D self, unsigned int i) -> Vector2D"""
11919  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_component(self, i)
11920 
11921  def get_principal_values(self):
11922  r"""get_principal_values(PrincipalComponentAnalysis2D self) -> Vector2D"""
11923  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_values(self)
11924 
11925  def get_principal_value(self, i):
11926  r"""get_principal_value(PrincipalComponentAnalysis2D self, unsigned int i) -> double"""
11927  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_value(self, i)
11928 
11929  def get_centroid(self):
11930  r"""get_centroid(PrincipalComponentAnalysis2D self) -> Vector2D"""
11931  return _IMP_algebra.PrincipalComponentAnalysis2D_get_centroid(self)
11932 
11933  def set_centroid(self, cntr):
11934  r"""set_centroid(PrincipalComponentAnalysis2D self, Vector2D cntr)"""
11935  return _IMP_algebra.PrincipalComponentAnalysis2D_set_centroid(self, cntr)
11936 
11937  def show(self, *args):
11938  r"""show(PrincipalComponentAnalysis2D self, _ostream out=std::cout)"""
11939  return _IMP_algebra.PrincipalComponentAnalysis2D_show(self, *args)
11940 
11941  def __cmp__(self, o):
11942  r"""__cmp__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> int"""
11943  return _IMP_algebra.PrincipalComponentAnalysis2D___cmp__(self, o)
11944 
11945  def __eq__(self, o):
11946  r"""__eq__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11947  return _IMP_algebra.PrincipalComponentAnalysis2D___eq__(self, o)
11948 
11949  def __ne__(self, o):
11950  r"""__ne__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11951  return _IMP_algebra.PrincipalComponentAnalysis2D___ne__(self, o)
11952 
11953  def __lt__(self, o):
11954  r"""__lt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11955  return _IMP_algebra.PrincipalComponentAnalysis2D___lt__(self, o)
11956 
11957  def __gt__(self, o):
11958  r"""__gt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11959  return _IMP_algebra.PrincipalComponentAnalysis2D___gt__(self, o)
11960 
11961  def __ge__(self, o):
11962  r"""__ge__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11963  return _IMP_algebra.PrincipalComponentAnalysis2D___ge__(self, o)
11964 
11965  def __le__(self, o):
11966  r"""__le__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11967  return _IMP_algebra.PrincipalComponentAnalysis2D___le__(self, o)
11968 
11969  def __str__(self):
11970  r"""__str__(PrincipalComponentAnalysis2D self) -> std::string"""
11971  return _IMP_algebra.PrincipalComponentAnalysis2D___str__(self)
11972 
11973  def __repr__(self):
11974  r"""__repr__(PrincipalComponentAnalysis2D self) -> std::string"""
11975  return _IMP_algebra.PrincipalComponentAnalysis2D___repr__(self)
11976 
11977  def _get_as_binary(self):
11978  r"""_get_as_binary(PrincipalComponentAnalysis2D self) -> PyObject *"""
11979  return _IMP_algebra.PrincipalComponentAnalysis2D__get_as_binary(self)
11980 
11981  def _set_from_binary(self, p):
11982  r"""_set_from_binary(PrincipalComponentAnalysis2D self, PyObject * p)"""
11983  return _IMP_algebra.PrincipalComponentAnalysis2D__set_from_binary(self, p)
11984 
11985  def __getstate__(self):
11986  p = self._get_as_binary()
11987  if len(self.__dict__) > 1:
11988  d = self.__dict__.copy()
11989  del d['this']
11990  p = (d, p)
11991  return p
11992 
11993  def __setstate__(self, p):
11994  if not hasattr(self, 'this'):
11995  self.__init__()
11996  if isinstance(p, tuple):
11997  d, p = p
11998  self.__dict__.update(d)
11999  return self._set_from_binary(p)
12000 
12001  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis2D
12002 
12003 # Register PrincipalComponentAnalysis2D in _IMP_algebra:
12004 _IMP_algebra.PrincipalComponentAnalysis2D_swigregister(PrincipalComponentAnalysis2D)
12005 class PrincipalComponentAnalysis3D(_GeometricPrimitive3D):
12006  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 3 > class."""
12007 
12008  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12009 
12010  def __init__(self, *args):
12011  r"""
12012  __init__(PrincipalComponentAnalysis3D self) -> PrincipalComponentAnalysis3D
12013  __init__(PrincipalComponentAnalysis3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & pcs, Vector3D values, Vector3D centroid) -> PrincipalComponentAnalysis3D
12014  """
12015  _IMP_algebra.PrincipalComponentAnalysis3D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis3D(*args))
12016 
12017  def get_principal_components(self):
12018  r"""get_principal_components(PrincipalComponentAnalysis3D self) -> IMP::Vector< IMP::algebra::VectorD< 3 > >"""
12019  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_components(self)
12020 
12021  def get_principal_component(self, i):
12022  r"""get_principal_component(PrincipalComponentAnalysis3D self, unsigned int i) -> Vector3D"""
12023  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_component(self, i)
12024 
12025  def get_principal_values(self):
12026  r"""get_principal_values(PrincipalComponentAnalysis3D self) -> Vector3D"""
12027  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_values(self)
12028 
12029  def get_principal_value(self, i):
12030  r"""get_principal_value(PrincipalComponentAnalysis3D self, unsigned int i) -> double"""
12031  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_value(self, i)
12032 
12033  def get_centroid(self):
12034  r"""get_centroid(PrincipalComponentAnalysis3D self) -> Vector3D"""
12035  return _IMP_algebra.PrincipalComponentAnalysis3D_get_centroid(self)
12036 
12037  def set_centroid(self, cntr):
12038  r"""set_centroid(PrincipalComponentAnalysis3D self, Vector3D cntr)"""
12039  return _IMP_algebra.PrincipalComponentAnalysis3D_set_centroid(self, cntr)
12040 
12041  def show(self, *args):
12042  r"""show(PrincipalComponentAnalysis3D self, _ostream out=std::cout)"""
12043  return _IMP_algebra.PrincipalComponentAnalysis3D_show(self, *args)
12044 
12045  def __cmp__(self, o):
12046  r"""__cmp__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> int"""
12047  return _IMP_algebra.PrincipalComponentAnalysis3D___cmp__(self, o)
12048 
12049  def __eq__(self, o):
12050  r"""__eq__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12051  return _IMP_algebra.PrincipalComponentAnalysis3D___eq__(self, o)
12052 
12053  def __ne__(self, o):
12054  r"""__ne__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12055  return _IMP_algebra.PrincipalComponentAnalysis3D___ne__(self, o)
12056 
12057  def __lt__(self, o):
12058  r"""__lt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12059  return _IMP_algebra.PrincipalComponentAnalysis3D___lt__(self, o)
12060 
12061  def __gt__(self, o):
12062  r"""__gt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12063  return _IMP_algebra.PrincipalComponentAnalysis3D___gt__(self, o)
12064 
12065  def __ge__(self, o):
12066  r"""__ge__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12067  return _IMP_algebra.PrincipalComponentAnalysis3D___ge__(self, o)
12068 
12069  def __le__(self, o):
12070  r"""__le__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12071  return _IMP_algebra.PrincipalComponentAnalysis3D___le__(self, o)
12072 
12073  def __str__(self):
12074  r"""__str__(PrincipalComponentAnalysis3D self) -> std::string"""
12075  return _IMP_algebra.PrincipalComponentAnalysis3D___str__(self)
12076 
12077  def __repr__(self):
12078  r"""__repr__(PrincipalComponentAnalysis3D self) -> std::string"""
12079  return _IMP_algebra.PrincipalComponentAnalysis3D___repr__(self)
12080 
12081  def _get_as_binary(self):
12082  r"""_get_as_binary(PrincipalComponentAnalysis3D self) -> PyObject *"""
12083  return _IMP_algebra.PrincipalComponentAnalysis3D__get_as_binary(self)
12084 
12085  def _set_from_binary(self, p):
12086  r"""_set_from_binary(PrincipalComponentAnalysis3D self, PyObject * p)"""
12087  return _IMP_algebra.PrincipalComponentAnalysis3D__set_from_binary(self, p)
12088 
12089  def __getstate__(self):
12090  p = self._get_as_binary()
12091  if len(self.__dict__) > 1:
12092  d = self.__dict__.copy()
12093  del d['this']
12094  p = (d, p)
12095  return p
12096 
12097  def __setstate__(self, p):
12098  if not hasattr(self, 'this'):
12099  self.__init__()
12100  if isinstance(p, tuple):
12101  d, p = p
12102  self.__dict__.update(d)
12103  return self._set_from_binary(p)
12104 
12105  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis3D
12106 
12107 # Register PrincipalComponentAnalysis3D in _IMP_algebra:
12108 _IMP_algebra.PrincipalComponentAnalysis3D_swigregister(PrincipalComponentAnalysis3D)
12109 class PrincipalComponentAnalysis4D(_GeometricPrimitive4D):
12110  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 4 > class."""
12111 
12112  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12113 
12114  def __init__(self, *args):
12115  r"""
12116  __init__(PrincipalComponentAnalysis4D self) -> PrincipalComponentAnalysis4D
12117  __init__(PrincipalComponentAnalysis4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & pcs, Vector4D values, Vector4D centroid) -> PrincipalComponentAnalysis4D
12118  """
12119  _IMP_algebra.PrincipalComponentAnalysis4D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis4D(*args))
12120 
12121  def get_principal_components(self):
12122  r"""get_principal_components(PrincipalComponentAnalysis4D self) -> IMP::Vector< IMP::algebra::VectorD< 4 > >"""
12123  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_components(self)
12124 
12125  def get_principal_component(self, i):
12126  r"""get_principal_component(PrincipalComponentAnalysis4D self, unsigned int i) -> Vector4D"""
12127  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_component(self, i)
12128 
12129  def get_principal_values(self):
12130  r"""get_principal_values(PrincipalComponentAnalysis4D self) -> Vector4D"""
12131  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_values(self)
12132 
12133  def get_principal_value(self, i):
12134  r"""get_principal_value(PrincipalComponentAnalysis4D self, unsigned int i) -> double"""
12135  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_value(self, i)
12136 
12137  def get_centroid(self):
12138  r"""get_centroid(PrincipalComponentAnalysis4D self) -> Vector4D"""
12139  return _IMP_algebra.PrincipalComponentAnalysis4D_get_centroid(self)
12140 
12141  def set_centroid(self, cntr):
12142  r"""set_centroid(PrincipalComponentAnalysis4D self, Vector4D cntr)"""
12143  return _IMP_algebra.PrincipalComponentAnalysis4D_set_centroid(self, cntr)
12144 
12145  def show(self, *args):
12146  r"""show(PrincipalComponentAnalysis4D self, _ostream out=std::cout)"""
12147  return _IMP_algebra.PrincipalComponentAnalysis4D_show(self, *args)
12148 
12149  def __cmp__(self, o):
12150  r"""__cmp__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> int"""
12151  return _IMP_algebra.PrincipalComponentAnalysis4D___cmp__(self, o)
12152 
12153  def __eq__(self, o):
12154  r"""__eq__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12155  return _IMP_algebra.PrincipalComponentAnalysis4D___eq__(self, o)
12156 
12157  def __ne__(self, o):
12158  r"""__ne__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12159  return _IMP_algebra.PrincipalComponentAnalysis4D___ne__(self, o)
12160 
12161  def __lt__(self, o):
12162  r"""__lt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12163  return _IMP_algebra.PrincipalComponentAnalysis4D___lt__(self, o)
12164 
12165  def __gt__(self, o):
12166  r"""__gt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12167  return _IMP_algebra.PrincipalComponentAnalysis4D___gt__(self, o)
12168 
12169  def __ge__(self, o):
12170  r"""__ge__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12171  return _IMP_algebra.PrincipalComponentAnalysis4D___ge__(self, o)
12172 
12173  def __le__(self, o):
12174  r"""__le__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12175  return _IMP_algebra.PrincipalComponentAnalysis4D___le__(self, o)
12176 
12177  def __str__(self):
12178  r"""__str__(PrincipalComponentAnalysis4D self) -> std::string"""
12179  return _IMP_algebra.PrincipalComponentAnalysis4D___str__(self)
12180 
12181  def __repr__(self):
12182  r"""__repr__(PrincipalComponentAnalysis4D self) -> std::string"""
12183  return _IMP_algebra.PrincipalComponentAnalysis4D___repr__(self)
12184 
12185  def _get_as_binary(self):
12186  r"""_get_as_binary(PrincipalComponentAnalysis4D self) -> PyObject *"""
12187  return _IMP_algebra.PrincipalComponentAnalysis4D__get_as_binary(self)
12188 
12189  def _set_from_binary(self, p):
12190  r"""_set_from_binary(PrincipalComponentAnalysis4D self, PyObject * p)"""
12191  return _IMP_algebra.PrincipalComponentAnalysis4D__set_from_binary(self, p)
12192 
12193  def __getstate__(self):
12194  p = self._get_as_binary()
12195  if len(self.__dict__) > 1:
12196  d = self.__dict__.copy()
12197  del d['this']
12198  p = (d, p)
12199  return p
12200 
12201  def __setstate__(self, p):
12202  if not hasattr(self, 'this'):
12203  self.__init__()
12204  if isinstance(p, tuple):
12205  d, p = p
12206  self.__dict__.update(d)
12207  return self._set_from_binary(p)
12208 
12209  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis4D
12210 
12211 # Register PrincipalComponentAnalysis4D in _IMP_algebra:
12212 _IMP_algebra.PrincipalComponentAnalysis4D_swigregister(PrincipalComponentAnalysis4D)
12213 class PrincipalComponentAnalysis5D(_GeometricPrimitive5D):
12214  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 5 > class."""
12215 
12216  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12217 
12218  def __init__(self, *args):
12219  r"""
12220  __init__(PrincipalComponentAnalysis5D self) -> PrincipalComponentAnalysis5D
12221  __init__(PrincipalComponentAnalysis5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & pcs, Vector5D values, Vector5D centroid) -> PrincipalComponentAnalysis5D
12222  """
12223  _IMP_algebra.PrincipalComponentAnalysis5D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis5D(*args))
12224 
12225  def get_principal_components(self):
12226  r"""get_principal_components(PrincipalComponentAnalysis5D self) -> IMP::Vector< IMP::algebra::VectorD< 5 > >"""
12227  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_components(self)
12228 
12229  def get_principal_component(self, i):
12230  r"""get_principal_component(PrincipalComponentAnalysis5D self, unsigned int i) -> Vector5D"""
12231  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_component(self, i)
12232 
12233  def get_principal_values(self):
12234  r"""get_principal_values(PrincipalComponentAnalysis5D self) -> Vector5D"""
12235  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_values(self)
12236 
12237  def get_principal_value(self, i):
12238  r"""get_principal_value(PrincipalComponentAnalysis5D self, unsigned int i) -> double"""
12239  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_value(self, i)
12240 
12241  def get_centroid(self):
12242  r"""get_centroid(PrincipalComponentAnalysis5D self) -> Vector5D"""
12243  return _IMP_algebra.PrincipalComponentAnalysis5D_get_centroid(self)
12244 
12245  def set_centroid(self, cntr):
12246  r"""set_centroid(PrincipalComponentAnalysis5D self, Vector5D cntr)"""
12247  return _IMP_algebra.PrincipalComponentAnalysis5D_set_centroid(self, cntr)
12248 
12249  def show(self, *args):
12250  r"""show(PrincipalComponentAnalysis5D self, _ostream out=std::cout)"""
12251  return _IMP_algebra.PrincipalComponentAnalysis5D_show(self, *args)
12252 
12253  def __cmp__(self, o):
12254  r"""__cmp__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> int"""
12255  return _IMP_algebra.PrincipalComponentAnalysis5D___cmp__(self, o)
12256 
12257  def __eq__(self, o):
12258  r"""__eq__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12259  return _IMP_algebra.PrincipalComponentAnalysis5D___eq__(self, o)
12260 
12261  def __ne__(self, o):
12262  r"""__ne__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12263  return _IMP_algebra.PrincipalComponentAnalysis5D___ne__(self, o)
12264 
12265  def __lt__(self, o):
12266  r"""__lt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12267  return _IMP_algebra.PrincipalComponentAnalysis5D___lt__(self, o)
12268 
12269  def __gt__(self, o):
12270  r"""__gt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12271  return _IMP_algebra.PrincipalComponentAnalysis5D___gt__(self, o)
12272 
12273  def __ge__(self, o):
12274  r"""__ge__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12275  return _IMP_algebra.PrincipalComponentAnalysis5D___ge__(self, o)
12276 
12277  def __le__(self, o):
12278  r"""__le__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12279  return _IMP_algebra.PrincipalComponentAnalysis5D___le__(self, o)
12280 
12281  def __str__(self):
12282  r"""__str__(PrincipalComponentAnalysis5D self) -> std::string"""
12283  return _IMP_algebra.PrincipalComponentAnalysis5D___str__(self)
12284 
12285  def __repr__(self):
12286  r"""__repr__(PrincipalComponentAnalysis5D self) -> std::string"""
12287  return _IMP_algebra.PrincipalComponentAnalysis5D___repr__(self)
12288 
12289  def _get_as_binary(self):
12290  r"""_get_as_binary(PrincipalComponentAnalysis5D self) -> PyObject *"""
12291  return _IMP_algebra.PrincipalComponentAnalysis5D__get_as_binary(self)
12292 
12293  def _set_from_binary(self, p):
12294  r"""_set_from_binary(PrincipalComponentAnalysis5D self, PyObject * p)"""
12295  return _IMP_algebra.PrincipalComponentAnalysis5D__set_from_binary(self, p)
12296 
12297  def __getstate__(self):
12298  p = self._get_as_binary()
12299  if len(self.__dict__) > 1:
12300  d = self.__dict__.copy()
12301  del d['this']
12302  p = (d, p)
12303  return p
12304 
12305  def __setstate__(self, p):
12306  if not hasattr(self, 'this'):
12307  self.__init__()
12308  if isinstance(p, tuple):
12309  d, p = p
12310  self.__dict__.update(d)
12311  return self._set_from_binary(p)
12312 
12313  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis5D
12314 
12315 # Register PrincipalComponentAnalysis5D in _IMP_algebra:
12316 _IMP_algebra.PrincipalComponentAnalysis5D_swigregister(PrincipalComponentAnalysis5D)
12317 class PrincipalComponentAnalysis6D(_GeometricPrimitive6D):
12318  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 6 > class."""
12319 
12320  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12321 
12322  def __init__(self, *args):
12323  r"""
12324  __init__(PrincipalComponentAnalysis6D self) -> PrincipalComponentAnalysis6D
12325  __init__(PrincipalComponentAnalysis6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & pcs, Vector6D values, Vector6D centroid) -> PrincipalComponentAnalysis6D
12326  """
12327  _IMP_algebra.PrincipalComponentAnalysis6D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis6D(*args))
12328 
12329  def get_principal_components(self):
12330  r"""get_principal_components(PrincipalComponentAnalysis6D self) -> IMP::Vector< IMP::algebra::VectorD< 6 > >"""
12331  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_components(self)
12332 
12333  def get_principal_component(self, i):
12334  r"""get_principal_component(PrincipalComponentAnalysis6D self, unsigned int i) -> Vector6D"""
12335  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_component(self, i)
12336 
12337  def get_principal_values(self):
12338  r"""get_principal_values(PrincipalComponentAnalysis6D self) -> Vector6D"""
12339  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_values(self)
12340 
12341  def get_principal_value(self, i):
12342  r"""get_principal_value(PrincipalComponentAnalysis6D self, unsigned int i) -> double"""
12343  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_value(self, i)
12344 
12345  def get_centroid(self):
12346  r"""get_centroid(PrincipalComponentAnalysis6D self) -> Vector6D"""
12347  return _IMP_algebra.PrincipalComponentAnalysis6D_get_centroid(self)
12348 
12349  def set_centroid(self, cntr):
12350  r"""set_centroid(PrincipalComponentAnalysis6D self, Vector6D cntr)"""
12351  return _IMP_algebra.PrincipalComponentAnalysis6D_set_centroid(self, cntr)
12352 
12353  def show(self, *args):
12354  r"""show(PrincipalComponentAnalysis6D self, _ostream out=std::cout)"""
12355  return _IMP_algebra.PrincipalComponentAnalysis6D_show(self, *args)
12356 
12357  def __cmp__(self, o):
12358  r"""__cmp__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> int"""
12359  return _IMP_algebra.PrincipalComponentAnalysis6D___cmp__(self, o)
12360 
12361  def __eq__(self, o):
12362  r"""__eq__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12363  return _IMP_algebra.PrincipalComponentAnalysis6D___eq__(self, o)
12364 
12365  def __ne__(self, o):
12366  r"""__ne__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12367  return _IMP_algebra.PrincipalComponentAnalysis6D___ne__(self, o)
12368 
12369  def __lt__(self, o):
12370  r"""__lt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12371  return _IMP_algebra.PrincipalComponentAnalysis6D___lt__(self, o)
12372 
12373  def __gt__(self, o):
12374  r"""__gt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12375  return _IMP_algebra.PrincipalComponentAnalysis6D___gt__(self, o)
12376 
12377  def __ge__(self, o):
12378  r"""__ge__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12379  return _IMP_algebra.PrincipalComponentAnalysis6D___ge__(self, o)
12380 
12381  def __le__(self, o):
12382  r"""__le__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12383  return _IMP_algebra.PrincipalComponentAnalysis6D___le__(self, o)
12384 
12385  def __str__(self):
12386  r"""__str__(PrincipalComponentAnalysis6D self) -> std::string"""
12387  return _IMP_algebra.PrincipalComponentAnalysis6D___str__(self)
12388 
12389  def __repr__(self):
12390  r"""__repr__(PrincipalComponentAnalysis6D self) -> std::string"""
12391  return _IMP_algebra.PrincipalComponentAnalysis6D___repr__(self)
12392 
12393  def _get_as_binary(self):
12394  r"""_get_as_binary(PrincipalComponentAnalysis6D self) -> PyObject *"""
12395  return _IMP_algebra.PrincipalComponentAnalysis6D__get_as_binary(self)
12396 
12397  def _set_from_binary(self, p):
12398  r"""_set_from_binary(PrincipalComponentAnalysis6D self, PyObject * p)"""
12399  return _IMP_algebra.PrincipalComponentAnalysis6D__set_from_binary(self, p)
12400 
12401  def __getstate__(self):
12402  p = self._get_as_binary()
12403  if len(self.__dict__) > 1:
12404  d = self.__dict__.copy()
12405  del d['this']
12406  p = (d, p)
12407  return p
12408 
12409  def __setstate__(self, p):
12410  if not hasattr(self, 'this'):
12411  self.__init__()
12412  if isinstance(p, tuple):
12413  d, p = p
12414  self.__dict__.update(d)
12415  return self._set_from_binary(p)
12416 
12417  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis6D
12418 
12419 # Register PrincipalComponentAnalysis6D in _IMP_algebra:
12420 _IMP_algebra.PrincipalComponentAnalysis6D_swigregister(PrincipalComponentAnalysis6D)
12421 class PrincipalComponentAnalysisKD(_GeometricPrimitiveKD):
12422  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< -1 > class."""
12423 
12424  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12425 
12426  def __init__(self, *args):
12427  r"""
12428  __init__(PrincipalComponentAnalysisKD self) -> PrincipalComponentAnalysisKD
12429  __init__(PrincipalComponentAnalysisKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & pcs, VectorKD values, VectorKD centroid) -> PrincipalComponentAnalysisKD
12430  """
12431  _IMP_algebra.PrincipalComponentAnalysisKD_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysisKD(*args))
12432 
12433  def get_principal_components(self):
12434  r"""get_principal_components(PrincipalComponentAnalysisKD self) -> IMP::Vector< IMP::algebra::VectorD< -1 > >"""
12435  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_components(self)
12436 
12437  def get_principal_component(self, i):
12438  r"""get_principal_component(PrincipalComponentAnalysisKD self, unsigned int i) -> VectorKD"""
12439  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_component(self, i)
12440 
12441  def get_principal_values(self):
12442  r"""get_principal_values(PrincipalComponentAnalysisKD self) -> VectorKD"""
12443  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_values(self)
12444 
12445  def get_principal_value(self, i):
12446  r"""get_principal_value(PrincipalComponentAnalysisKD self, unsigned int i) -> double"""
12447  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_value(self, i)
12448 
12449  def get_centroid(self):
12450  r"""get_centroid(PrincipalComponentAnalysisKD self) -> VectorKD"""
12451  return _IMP_algebra.PrincipalComponentAnalysisKD_get_centroid(self)
12452 
12453  def set_centroid(self, cntr):
12454  r"""set_centroid(PrincipalComponentAnalysisKD self, VectorKD cntr)"""
12455  return _IMP_algebra.PrincipalComponentAnalysisKD_set_centroid(self, cntr)
12456 
12457  def show(self, *args):
12458  r"""show(PrincipalComponentAnalysisKD self, _ostream out=std::cout)"""
12459  return _IMP_algebra.PrincipalComponentAnalysisKD_show(self, *args)
12460 
12461  def __cmp__(self, o):
12462  r"""__cmp__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> int"""
12463  return _IMP_algebra.PrincipalComponentAnalysisKD___cmp__(self, o)
12464 
12465  def __eq__(self, o):
12466  r"""__eq__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12467  return _IMP_algebra.PrincipalComponentAnalysisKD___eq__(self, o)
12468 
12469  def __ne__(self, o):
12470  r"""__ne__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12471  return _IMP_algebra.PrincipalComponentAnalysisKD___ne__(self, o)
12472 
12473  def __lt__(self, o):
12474  r"""__lt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12475  return _IMP_algebra.PrincipalComponentAnalysisKD___lt__(self, o)
12476 
12477  def __gt__(self, o):
12478  r"""__gt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12479  return _IMP_algebra.PrincipalComponentAnalysisKD___gt__(self, o)
12480 
12481  def __ge__(self, o):
12482  r"""__ge__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12483  return _IMP_algebra.PrincipalComponentAnalysisKD___ge__(self, o)
12484 
12485  def __le__(self, o):
12486  r"""__le__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12487  return _IMP_algebra.PrincipalComponentAnalysisKD___le__(self, o)
12488 
12489  def __str__(self):
12490  r"""__str__(PrincipalComponentAnalysisKD self) -> std::string"""
12491  return _IMP_algebra.PrincipalComponentAnalysisKD___str__(self)
12492 
12493  def __repr__(self):
12494  r"""__repr__(PrincipalComponentAnalysisKD self) -> std::string"""
12495  return _IMP_algebra.PrincipalComponentAnalysisKD___repr__(self)
12496 
12497  def _get_as_binary(self):
12498  r"""_get_as_binary(PrincipalComponentAnalysisKD self) -> PyObject *"""
12499  return _IMP_algebra.PrincipalComponentAnalysisKD__get_as_binary(self)
12500 
12501  def _set_from_binary(self, p):
12502  r"""_set_from_binary(PrincipalComponentAnalysisKD self, PyObject * p)"""
12503  return _IMP_algebra.PrincipalComponentAnalysisKD__set_from_binary(self, p)
12504 
12505  def __getstate__(self):
12506  p = self._get_as_binary()
12507  if len(self.__dict__) > 1:
12508  d = self.__dict__.copy()
12509  del d['this']
12510  p = (d, p)
12511  return p
12512 
12513  def __setstate__(self, p):
12514  if not hasattr(self, 'this'):
12515  self.__init__()
12516  if isinstance(p, tuple):
12517  d, p = p
12518  self.__dict__.update(d)
12519  return self._set_from_binary(p)
12520 
12521  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysisKD
12522 
12523 # Register PrincipalComponentAnalysisKD in _IMP_algebra:
12524 _IMP_algebra.PrincipalComponentAnalysisKD_swigregister(PrincipalComponentAnalysisKD)
12525 
12526 def get_principal_components(*args):
12527  r"""
12528  get_principal_components(IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > > const & a) -> PrincipalComponentAnalysis1D
12529  get_principal_components(IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > > const & a) -> PrincipalComponentAnalysis2D
12530  get_principal_components(IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > > const & a) -> PrincipalComponentAnalysis3D
12531  get_principal_components(IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > > const & a) -> PrincipalComponentAnalysis4D
12532  get_principal_components(IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > > const & a) -> PrincipalComponentAnalysis5D
12533  get_principal_components(IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > > const & a) -> PrincipalComponentAnalysis6D
12534  get_principal_components(IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > > const & a) -> PrincipalComponentAnalysisKD
12535  """
12536  return _IMP_algebra.get_principal_components(*args)
12537 
12538 def get_distance(*args):
12539  r"""
12540  get_distance(Rotation3D r0, Rotation3D r1) -> double
12541  get_distance(Line3D s, Vector3D p) -> double
12542  get_distance(Line3D a, Line3D b) -> double
12543  get_distance(Segment3D s, Vector3D p) -> double
12544  get_distance(Segment3D a, Segment3D b) -> double
12545  get_distance(Plane3D pln, Vector3D p) -> double
12546  get_distance(Vector1D a, Vector1D b) -> double
12547  get_distance(Vector2D a, Vector2D b) -> double
12548  get_distance(Vector3D a, Vector3D b) -> double
12549  get_distance(Vector4D a, Vector4D b) -> double
12550  get_distance(Vector5D a, Vector5D b) -> double
12551  get_distance(Vector6D a, Vector6D b) -> double
12552  get_distance(VectorKD a, VectorKD b) -> double
12553  get_distance(Sphere1D a, Sphere1D b) -> double
12554  get_distance(Sphere2D a, Sphere2D b) -> double
12555  get_distance(Sphere3D a, Sphere3D b) -> double
12556  get_distance(Sphere4D a, Sphere4D b) -> double
12557  get_distance(Sphere5D a, Sphere5D b) -> double
12558  get_distance(Sphere6D a, Sphere6D b) -> double
12559  get_distance(SphereKD a, SphereKD b) -> double
12560  """
12561  return _IMP_algebra.get_distance(*args)
12562 
12563 def get_squared_distance(*args):
12564  r"""
12565  get_squared_distance(Vector1D a, Vector1D b) -> double
12566  get_squared_distance(Vector2D a, Vector2D b) -> double
12567  get_squared_distance(Vector3D a, Vector3D b) -> double
12568  get_squared_distance(Vector4D a, Vector4D b) -> double
12569  get_squared_distance(Vector5D a, Vector5D b) -> double
12570  get_squared_distance(Vector6D a, Vector6D b) -> double
12571  get_squared_distance(VectorKD a, VectorKD b) -> double
12572  """
12573  return _IMP_algebra.get_squared_distance(*args)
12574 
12575 def get_basis_vector_1d(coordinate):
12576  r"""get_basis_vector_1d(unsigned int coordinate) -> Vector1D"""
12577  return _IMP_algebra.get_basis_vector_1d(coordinate)
12578 
12579 def get_basis_vector_2d(coordinate):
12580  r"""get_basis_vector_2d(unsigned int coordinate) -> Vector2D"""
12581  return _IMP_algebra.get_basis_vector_2d(coordinate)
12582 
12583 def get_basis_vector_3d(coordinate):
12584  r"""get_basis_vector_3d(unsigned int coordinate) -> Vector3D"""
12585  return _IMP_algebra.get_basis_vector_3d(coordinate)
12586 
12587 def get_basis_vector_4d(coordinate):
12588  r"""get_basis_vector_4d(unsigned int coordinate) -> Vector4D"""
12589  return _IMP_algebra.get_basis_vector_4d(coordinate)
12590 
12591 def get_basis_vector_5d(coordinate):
12592  r"""get_basis_vector_5d(unsigned int coordinate) -> Vector5D"""
12593  return _IMP_algebra.get_basis_vector_5d(coordinate)
12594 
12595 def get_basis_vector_6d(coordinate):
12596  r"""get_basis_vector_6d(unsigned int coordinate) -> Vector6D"""
12597  return _IMP_algebra.get_basis_vector_6d(coordinate)
12598 
12599 def get_zero_vector_1d():
12600  r"""get_zero_vector_1d() -> Vector1D"""
12601  return _IMP_algebra.get_zero_vector_1d()
12602 
12603 def get_zero_vector_2d():
12604  r"""get_zero_vector_2d() -> Vector2D"""
12605  return _IMP_algebra.get_zero_vector_2d()
12606 
12607 def get_zero_vector_3d():
12608  r"""get_zero_vector_3d() -> Vector3D"""
12609  return _IMP_algebra.get_zero_vector_3d()
12610 
12611 def get_zero_vector_4d():
12612  r"""get_zero_vector_4d() -> Vector4D"""
12613  return _IMP_algebra.get_zero_vector_4d()
12614 
12615 def get_zero_vector_5d():
12616  r"""get_zero_vector_5d() -> Vector5D"""
12617  return _IMP_algebra.get_zero_vector_5d()
12618 
12619 def get_zero_vector_6d():
12620  r"""get_zero_vector_6d() -> Vector6D"""
12621  return _IMP_algebra.get_zero_vector_6d()
12622 
12623 def get_ones_vector_1d(v=1):
12624  r"""get_ones_vector_1d(double v=1) -> Vector1D"""
12625  return _IMP_algebra.get_ones_vector_1d(v)
12626 
12627 def get_ones_vector_2d(v=1):
12628  r"""get_ones_vector_2d(double v=1) -> Vector2D"""
12629  return _IMP_algebra.get_ones_vector_2d(v)
12630 
12631 def get_ones_vector_3d(v=1):
12632  r"""get_ones_vector_3d(double v=1) -> Vector3D"""
12633  return _IMP_algebra.get_ones_vector_3d(v)
12634 
12635 def get_ones_vector_4d(v=1):
12636  r"""get_ones_vector_4d(double v=1) -> Vector4D"""
12637  return _IMP_algebra.get_ones_vector_4d(v)
12638 
12639 def get_ones_vector_5d(v=1):
12640  r"""get_ones_vector_5d(double v=1) -> Vector5D"""
12641  return _IMP_algebra.get_ones_vector_5d(v)
12642 
12643 def get_ones_vector_6d(v=1):
12644  r"""get_ones_vector_6d(double v=1) -> Vector6D"""
12645  return _IMP_algebra.get_ones_vector_6d(v)
12646 
12647 def get_unit_bounding_box_1d():
12648  r"""get_unit_bounding_box_1d() -> BoundingBox1D"""
12649  return _IMP_algebra.get_unit_bounding_box_1d()
12650 
12651 def get_unit_bounding_box_2d():
12652  r"""get_unit_bounding_box_2d() -> BoundingBox2D"""
12653  return _IMP_algebra.get_unit_bounding_box_2d()
12654 
12655 def get_unit_bounding_box_3d():
12656  r"""get_unit_bounding_box_3d() -> BoundingBox3D"""
12657  return _IMP_algebra.get_unit_bounding_box_3d()
12658 
12659 def get_unit_bounding_box_4d():
12660  r"""get_unit_bounding_box_4d() -> BoundingBox4D"""
12661  return _IMP_algebra.get_unit_bounding_box_4d()
12662 
12663 def get_unit_bounding_box_5d():
12664  r"""get_unit_bounding_box_5d() -> BoundingBox5D"""
12665  return _IMP_algebra.get_unit_bounding_box_5d()
12666 
12667 def get_unit_bounding_box_6d():
12668  r"""get_unit_bounding_box_6d() -> BoundingBox6D"""
12669  return _IMP_algebra.get_unit_bounding_box_6d()
12670 
12671 def get_cube_1d(radius):
12672  r"""get_cube_1d(double radius) -> BoundingBox1D"""
12673  return _IMP_algebra.get_cube_1d(radius)
12674 
12675 def get_cube_2d(radius):
12676  r"""get_cube_2d(double radius) -> BoundingBox2D"""
12677  return _IMP_algebra.get_cube_2d(radius)
12678 
12679 def get_cube_3d(radius):
12680  r"""get_cube_3d(double radius) -> BoundingBox3D"""
12681  return _IMP_algebra.get_cube_3d(radius)
12682 
12683 def get_cube_4d(radius):
12684  r"""get_cube_4d(double radius) -> BoundingBox4D"""
12685  return _IMP_algebra.get_cube_4d(radius)
12686 
12687 def get_cube_5d(radius):
12688  r"""get_cube_5d(double radius) -> BoundingBox5D"""
12689  return _IMP_algebra.get_cube_5d(radius)
12690 
12691 def get_cube_6d(radius):
12692  r"""get_cube_6d(double radius) -> BoundingBox6D"""
12693  return _IMP_algebra.get_cube_6d(radius)
12694 
12695 def get_unit_sphere_1d():
12696  r"""get_unit_sphere_1d() -> Sphere1D"""
12697  return _IMP_algebra.get_unit_sphere_1d()
12698 
12699 def get_unit_sphere_2d():
12700  r"""get_unit_sphere_2d() -> Sphere2D"""
12701  return _IMP_algebra.get_unit_sphere_2d()
12702 
12703 def get_unit_sphere_3d():
12704  r"""get_unit_sphere_3d() -> Sphere3D"""
12705  return _IMP_algebra.get_unit_sphere_3d()
12706 
12707 def get_unit_sphere_4d():
12708  r"""get_unit_sphere_4d() -> Sphere4D"""
12709  return _IMP_algebra.get_unit_sphere_4d()
12710 
12711 def get_unit_sphere_5d():
12712  r"""get_unit_sphere_5d() -> Sphere5D"""
12713  return _IMP_algebra.get_unit_sphere_5d()
12714 
12715 def get_unit_sphere_6d():
12716  r"""get_unit_sphere_6d() -> Sphere6D"""
12717  return _IMP_algebra.get_unit_sphere_6d()
12718 
12719 def get_interiors_intersect(*args):
12720  r"""
12721  get_interiors_intersect(Sphere1D a, Sphere1D b) -> bool
12722  get_interiors_intersect(Sphere2D a, Sphere2D b) -> bool
12723  get_interiors_intersect(Sphere3D a, Sphere3D b) -> bool
12724  get_interiors_intersect(Sphere4D a, Sphere4D b) -> bool
12725  get_interiors_intersect(Sphere5D a, Sphere5D b) -> bool
12726  get_interiors_intersect(Sphere6D a, Sphere6D b) -> bool
12727  get_interiors_intersect(SphereKD a, SphereKD b) -> bool
12728  get_interiors_intersect(BoundingBox1D a, BoundingBox1D b) -> bool
12729  get_interiors_intersect(BoundingBox2D a, BoundingBox2D b) -> bool
12730  get_interiors_intersect(BoundingBox3D a, BoundingBox3D b) -> bool
12731  get_interiors_intersect(BoundingBox4D a, BoundingBox4D b) -> bool
12732  get_interiors_intersect(BoundingBox5D a, BoundingBox5D b) -> bool
12733  get_interiors_intersect(BoundingBox6D a, BoundingBox6D b) -> bool
12734  get_interiors_intersect(BoundingBoxKD a, BoundingBoxKD b) -> bool
12735  """
12736  return _IMP_algebra.get_interiors_intersect(*args)
12737 
12738 def get_random_vector_on(*args):
12739  r"""
12740  get_random_vector_on(Sphere1D a) -> Vector1D
12741  get_random_vector_on(Sphere2D a) -> Vector2D
12742  get_random_vector_on(Sphere3D a) -> Vector3D
12743  get_random_vector_on(Sphere4D a) -> Vector4D
12744  get_random_vector_on(Sphere5D a) -> Vector5D
12745  get_random_vector_on(Sphere6D a) -> Vector6D
12746  get_random_vector_on(SphereKD a) -> VectorKD
12747  get_random_vector_on(UnitSimplex1D a) -> Vector1D
12748  get_random_vector_on(UnitSimplex2D a) -> Vector2D
12749  get_random_vector_on(UnitSimplex3D a) -> Vector3D
12750  get_random_vector_on(UnitSimplex4D a) -> Vector4D
12751  get_random_vector_on(UnitSimplex5D a) -> Vector5D
12752  get_random_vector_on(UnitSimplex6D a) -> Vector6D
12753  get_random_vector_on(UnitSimplexKD a) -> VectorKD
12754  get_random_vector_on(BoundingBox1D a) -> Vector1D
12755  get_random_vector_on(BoundingBox2D a) -> Vector2D
12756  get_random_vector_on(BoundingBox3D a) -> Vector3D
12757  get_random_vector_on(BoundingBox4D a) -> Vector4D
12758  get_random_vector_on(BoundingBox5D a) -> Vector5D
12759  get_random_vector_on(BoundingBox6D a) -> Vector6D
12760  get_random_vector_on(BoundingBoxKD a) -> VectorKD
12761  """
12762  return _IMP_algebra.get_random_vector_on(*args)
12763 
12764 def get_random_vector_in(*args):
12765  r"""
12766  get_random_vector_in(Cylinder3D c) -> Vector3D
12767  get_random_vector_in(Sphere1D a) -> Vector1D
12768  get_random_vector_in(Sphere2D a) -> Vector2D
12769  get_random_vector_in(Sphere3D a) -> Vector3D
12770  get_random_vector_in(Sphere4D a) -> Vector4D
12771  get_random_vector_in(Sphere5D a) -> Vector5D
12772  get_random_vector_in(Sphere6D a) -> Vector6D
12773  get_random_vector_in(SphereKD a) -> VectorKD
12774  get_random_vector_in(BoundingBox1D a) -> Vector1D
12775  get_random_vector_in(BoundingBox2D a) -> Vector2D
12776  get_random_vector_in(BoundingBox3D a) -> Vector3D
12777  get_random_vector_in(BoundingBox4D a) -> Vector4D
12778  get_random_vector_in(BoundingBox5D a) -> Vector5D
12779  get_random_vector_in(BoundingBox6D a) -> Vector6D
12780  get_random_vector_in(BoundingBoxKD a) -> VectorKD
12781  """
12782  return _IMP_algebra.get_random_vector_in(*args)
12783 
12784 def get_intersection(*args):
12785  r"""
12786  get_intersection(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12787  get_intersection(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12788  get_intersection(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12789  get_intersection(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12790  get_intersection(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12791  get_intersection(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12792  get_intersection(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12793  """
12794  return _IMP_algebra.get_intersection(*args)
12795 
12796 def get_union(*args):
12797  r"""
12798  get_union(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12799  get_union(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12800  get_union(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12801  get_union(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12802  get_union(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12803  get_union(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12804  get_union(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12805  """
12806  return _IMP_algebra.get_union(*args)
12807 
12808 def get_bounding_box(*args):
12809  r"""
12810  get_bounding_box(Line3D g) -> BoundingBox3D
12811  get_bounding_box(Segment3D g) -> BoundingBox3D
12812  get_bounding_box(Plane3D g) -> BoundingBox3D
12813  get_bounding_box(Cylinder3D g) -> BoundingBox3D
12814  get_bounding_box(Ellipsoid3D g) -> BoundingBox3D
12815  get_bounding_box(SpherePatch3D g) -> BoundingBox3D
12816  get_bounding_box(Cone3D g) -> BoundingBox3D
12817  get_bounding_box(Sphere1D a) -> BoundingBox1D
12818  get_bounding_box(Sphere2D a) -> BoundingBox2D
12819  get_bounding_box(Sphere3D a) -> BoundingBox3D
12820  get_bounding_box(Sphere4D a) -> BoundingBox4D
12821  get_bounding_box(Sphere5D a) -> BoundingBox5D
12822  get_bounding_box(Sphere6D a) -> BoundingBox6D
12823  get_bounding_box(SphereKD a) -> BoundingBoxKD
12824  """
12825  return _IMP_algebra.get_bounding_box(*args)
12826 
12827 def get_uniform_surface_cover(*args):
12828  r"""
12829  get_uniform_surface_cover(Cylinder3D cyl, int number_of_points) -> IMP::algebra::Vector3Ds
12830  get_uniform_surface_cover(SpherePatch3D sph, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12831  get_uniform_surface_cover(Cone3D cone, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12832  get_uniform_surface_cover(IMP::algebra::Sphere3Ds const & _in, double points_per_square_angstrom) -> IMP::algebra::Vector3Ds
12833  get_uniform_surface_cover(Sphere1D a, unsigned int const & b) -> IMP::algebra::Vector1Ds
12834  get_uniform_surface_cover(Sphere2D a, unsigned int const & b) -> IMP::algebra::Vector2Ds
12835  get_uniform_surface_cover(Sphere3D a, unsigned int const & b) -> IMP::algebra::Vector3Ds
12836  get_uniform_surface_cover(Sphere4D a, unsigned int const & b) -> IMP::algebra::Vector4Ds
12837  get_uniform_surface_cover(Sphere5D a, unsigned int const & b) -> IMP::algebra::Vector5Ds
12838  get_uniform_surface_cover(Sphere6D a, unsigned int const & b) -> IMP::algebra::Vector6Ds
12839  get_uniform_surface_cover(SphereKD a, unsigned int const & b) -> IMP::algebra::VectorKDs
12840  """
12841  return _IMP_algebra.get_uniform_surface_cover(*args)
12842 
12844  r"""
12845  get_grid_interior_cover_by_spacing(BoundingBox1D a, double const & b) -> IMP::algebra::Vector1Ds
12846  get_grid_interior_cover_by_spacing(BoundingBox2D a, double const & b) -> IMP::algebra::Vector2Ds
12847  get_grid_interior_cover_by_spacing(BoundingBox3D a, double const & b) -> IMP::algebra::Vector3Ds
12848  get_grid_interior_cover_by_spacing(BoundingBox4D a, double const & b) -> IMP::algebra::Vector4Ds
12849  get_grid_interior_cover_by_spacing(BoundingBox5D a, double const & b) -> IMP::algebra::Vector5Ds
12850  get_grid_interior_cover_by_spacing(BoundingBox6D a, double const & b) -> IMP::algebra::Vector6Ds
12851  get_grid_interior_cover_by_spacing(BoundingBoxKD a, double const & b) -> IMP::algebra::VectorKDs
12852  """
12853  return _IMP_algebra.get_grid_interior_cover_by_spacing(*args)
12854 
12855 def get_projected(*args):
12856  r"""
12857  get_projected(Line3D l, Vector3D p) -> Vector3D
12858  get_projected(Line3D l, Segment3D s) -> Segment3D
12859  get_projected(UnitSimplex1D a, Vector1D b) -> Vector1D
12860  get_projected(UnitSimplex2D a, Vector2D b) -> Vector2D
12861  get_projected(UnitSimplex3D a, Vector3D b) -> Vector3D
12862  get_projected(UnitSimplex4D a, Vector4D b) -> Vector4D
12863  get_projected(UnitSimplex5D a, Vector5D b) -> Vector5D
12864  get_projected(UnitSimplex6D a, Vector6D b) -> Vector6D
12865  get_projected(UnitSimplexKD a, VectorKD b) -> VectorKD
12866  """
12867  return _IMP_algebra.get_projected(*args)
12868 
12869 def get_vertices(*args):
12870  r"""
12871  get_vertices(BoundingBox1D a) -> IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > >
12872  get_vertices(BoundingBox2D a) -> IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > >
12873  get_vertices(BoundingBox3D a) -> IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > >
12874  get_vertices(BoundingBox4D a) -> IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > >
12875  get_vertices(BoundingBox5D a) -> IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > >
12876  get_vertices(BoundingBox6D a) -> IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > >
12877  get_vertices(BoundingBoxKD a) -> IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > >
12878  get_vertices(UnitSimplex1D a) -> IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > >
12879  get_vertices(UnitSimplex2D a) -> IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > >
12880  get_vertices(UnitSimplex3D a) -> IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > >
12881  get_vertices(UnitSimplex4D a) -> IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > >
12882  get_vertices(UnitSimplex5D a) -> IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > >
12883  get_vertices(UnitSimplex6D a) -> IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > >
12884  get_vertices(UnitSimplexKD a) -> IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > >
12885  """
12886  return _IMP_algebra.get_vertices(*args)
12887 
12888 def get_increasing_from_embedded(*args):
12889  r"""
12890  get_increasing_from_embedded(UnitSimplex1D a, Vector1D b) -> Vector1D
12891  get_increasing_from_embedded(UnitSimplex2D a, Vector2D b) -> Vector2D
12892  get_increasing_from_embedded(UnitSimplex3D a, Vector3D b) -> Vector3D
12893  get_increasing_from_embedded(UnitSimplex4D a, Vector4D b) -> Vector4D
12894  get_increasing_from_embedded(UnitSimplex5D a, Vector5D b) -> Vector5D
12895  get_increasing_from_embedded(UnitSimplex6D a, Vector6D b) -> Vector6D
12896  get_increasing_from_embedded(UnitSimplexKD a, VectorKD b) -> VectorKD
12897  """
12898  return _IMP_algebra.get_increasing_from_embedded(*args)
12899 
12900 def get_embedded_from_increasing(*args):
12901  r"""
12902  get_embedded_from_increasing(UnitSimplex1D a, Vector1D b) -> Vector1D
12903  get_embedded_from_increasing(UnitSimplex2D a, Vector2D b) -> Vector2D
12904  get_embedded_from_increasing(UnitSimplex3D a, Vector3D b) -> Vector3D
12905  get_embedded_from_increasing(UnitSimplex4D a, Vector4D b) -> Vector4D
12906  get_embedded_from_increasing(UnitSimplex5D a, Vector5D b) -> Vector5D
12907  get_embedded_from_increasing(UnitSimplex6D a, Vector6D b) -> Vector6D
12908  get_embedded_from_increasing(UnitSimplexKD a, VectorKD b) -> VectorKD
12909  """
12910  return _IMP_algebra.get_embedded_from_increasing(*args)
12911 class _AxisAnglePair(object):
12912  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,double > class."""
12913 
12914  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12915  __repr__ = _swig_repr
12916 
12917  def __init__(self, *args):
12918  r"""
12919  __init__(_AxisAnglePair self) -> _AxisAnglePair
12920  __init__(_AxisAnglePair self, Vector3D first, double second) -> _AxisAnglePair
12921  __init__(_AxisAnglePair self, _AxisAnglePair other) -> _AxisAnglePair
12922  """
12923  _IMP_algebra._AxisAnglePair_swiginit(self, _IMP_algebra.new__AxisAnglePair(*args))
12924  first = property(_IMP_algebra._AxisAnglePair_first_get, _IMP_algebra._AxisAnglePair_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12925  second = property(_IMP_algebra._AxisAnglePair_second_get, _IMP_algebra._AxisAnglePair_second_set, doc=r"""second : double""")
12926  def __len__(self):
12927  return 2
12928  def __repr__(self):
12929  return str((self.first, self.second))
12930  def __getitem__(self, index):
12931  if not (index % 2):
12932  return self.first
12933  else:
12934  return self.second
12935  def __setitem__(self, index, val):
12936  if not (index % 2):
12937  self.first = val
12938  else:
12939  self.second = val
12940  __swig_destroy__ = _IMP_algebra.delete__AxisAnglePair
12941 
12942 # Register _AxisAnglePair in _IMP_algebra:
12943 _IMP_algebra._AxisAnglePair_swigregister(_AxisAnglePair)
12944 
12946  r"""get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & source, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & target) -> Transformation3D"""
12947  return _IMP_algebra.get_transformation_aligning_first_to_second(source, target)
12948 class _RotatedVector3DAdjoint(object):
12949  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,IMP::algebra::VectorD< 4 > > class."""
12950 
12951  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12952  __repr__ = _swig_repr
12953 
12954  def __init__(self, *args):
12955  r"""
12956  __init__(_RotatedVector3DAdjoint self) -> _RotatedVector3DAdjoint
12957  __init__(_RotatedVector3DAdjoint self, Vector3D first, Vector4D second) -> _RotatedVector3DAdjoint
12958  __init__(_RotatedVector3DAdjoint self, _RotatedVector3DAdjoint other) -> _RotatedVector3DAdjoint
12959  """
12960  _IMP_algebra._RotatedVector3DAdjoint_swiginit(self, _IMP_algebra.new__RotatedVector3DAdjoint(*args))
12961  first = property(_IMP_algebra._RotatedVector3DAdjoint_first_get, _IMP_algebra._RotatedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12962  second = property(_IMP_algebra._RotatedVector3DAdjoint_second_get, _IMP_algebra._RotatedVector3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
12963  def __len__(self):
12964  return 2
12965  def __repr__(self):
12966  return str((self.first, self.second))
12967  def __getitem__(self, index):
12968  if not (index % 2):
12969  return self.first
12970  else:
12971  return self.second
12972  def __setitem__(self, index, val):
12973  if not (index % 2):
12974  self.first = val
12975  else:
12976  self.second = val
12977  __swig_destroy__ = _IMP_algebra.delete__RotatedVector3DAdjoint
12978 
12979 # Register _RotatedVector3DAdjoint in _IMP_algebra:
12980 _IMP_algebra._RotatedVector3DAdjoint_swigregister(_RotatedVector3DAdjoint)
12981 class _ComposeRotation3DAdjoint(object):
12982  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 4 > > class."""
12983 
12984  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12985  __repr__ = _swig_repr
12986 
12987  def __init__(self, *args):
12988  r"""
12989  __init__(_ComposeRotation3DAdjoint self) -> _ComposeRotation3DAdjoint
12990  __init__(_ComposeRotation3DAdjoint self, Vector4D first, Vector4D second) -> _ComposeRotation3DAdjoint
12991  __init__(_ComposeRotation3DAdjoint self, _ComposeRotation3DAdjoint other) -> _ComposeRotation3DAdjoint
12992  """
12993  _IMP_algebra._ComposeRotation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeRotation3DAdjoint(*args))
12994  first = property(_IMP_algebra._ComposeRotation3DAdjoint_first_get, _IMP_algebra._ComposeRotation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
12995  second = property(_IMP_algebra._ComposeRotation3DAdjoint_second_get, _IMP_algebra._ComposeRotation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
12996  def __len__(self):
12997  return 2
12998  def __repr__(self):
12999  return str((self.first, self.second))
13000  def __getitem__(self, index):
13001  if not (index % 2):
13002  return self.first
13003  else:
13004  return self.second
13005  def __setitem__(self, index, val):
13006  if not (index % 2):
13007  self.first = val
13008  else:
13009  self.second = val
13010  __swig_destroy__ = _IMP_algebra.delete__ComposeRotation3DAdjoint
13011 
13012 # Register _ComposeRotation3DAdjoint in _IMP_algebra:
13013 _IMP_algebra._ComposeRotation3DAdjoint_swigregister(_ComposeRotation3DAdjoint)
13014 class _Transformation3DAdjoint(object):
13015  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > class."""
13016 
13017  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13018  __repr__ = _swig_repr
13019 
13020  def __init__(self, *args):
13021  r"""
13022  __init__(_Transformation3DAdjoint self) -> _Transformation3DAdjoint
13023  __init__(_Transformation3DAdjoint self, Vector4D first, Vector3D second) -> _Transformation3DAdjoint
13024  __init__(_Transformation3DAdjoint self, _Transformation3DAdjoint other) -> _Transformation3DAdjoint
13025  """
13026  _IMP_algebra._Transformation3DAdjoint_swiginit(self, _IMP_algebra.new__Transformation3DAdjoint(*args))
13027  first = property(_IMP_algebra._Transformation3DAdjoint_first_get, _IMP_algebra._Transformation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
13028  second = property(_IMP_algebra._Transformation3DAdjoint_second_get, _IMP_algebra._Transformation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(3)>""")
13029  def __len__(self):
13030  return 2
13031  def __repr__(self):
13032  return str((self.first, self.second))
13033  def __getitem__(self, index):
13034  if not (index % 2):
13035  return self.first
13036  else:
13037  return self.second
13038  def __setitem__(self, index, val):
13039  if not (index % 2):
13040  self.first = val
13041  else:
13042  self.second = val
13043  __swig_destroy__ = _IMP_algebra.delete__Transformation3DAdjoint
13044 
13045 # Register _Transformation3DAdjoint in _IMP_algebra:
13046 _IMP_algebra._Transformation3DAdjoint_swigregister(_Transformation3DAdjoint)
13047 class _TransformedVector3DAdjoint(object):
13048  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > > class."""
13049 
13050  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13051  __repr__ = _swig_repr
13052 
13053  def __init__(self, *args):
13054  r"""
13055  __init__(_TransformedVector3DAdjoint self) -> _TransformedVector3DAdjoint
13056  __init__(_TransformedVector3DAdjoint self, Vector3D first, _Transformation3DAdjoint second) -> _TransformedVector3DAdjoint
13057  __init__(_TransformedVector3DAdjoint self, _TransformedVector3DAdjoint other) -> _TransformedVector3DAdjoint
13058  """
13059  _IMP_algebra._TransformedVector3DAdjoint_swiginit(self, _IMP_algebra.new__TransformedVector3DAdjoint(*args))
13060  first = property(_IMP_algebra._TransformedVector3DAdjoint_first_get, _IMP_algebra._TransformedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
13061  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)>)>""")
13062  def __len__(self):
13063  return 2
13064  def __repr__(self):
13065  return str((self.first, self.second))
13066  def __getitem__(self, index):
13067  if not (index % 2):
13068  return self.first
13069  else:
13070  return self.second
13071  def __setitem__(self, index, val):
13072  if not (index % 2):
13073  self.first = val
13074  else:
13075  self.second = val
13076  __swig_destroy__ = _IMP_algebra.delete__TransformedVector3DAdjoint
13077 
13078 # Register _TransformedVector3DAdjoint in _IMP_algebra:
13079 _IMP_algebra._TransformedVector3DAdjoint_swigregister(_TransformedVector3DAdjoint)
13080 class _ComposeTransformation3DAdjoint(object):
13081  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."""
13082 
13083  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13084  __repr__ = _swig_repr
13085 
13086  def __init__(self, *args):
13087  r"""
13088  __init__(_ComposeTransformation3DAdjoint self) -> _ComposeTransformation3DAdjoint
13089  __init__(_ComposeTransformation3DAdjoint self, _Transformation3DAdjoint first, _Transformation3DAdjoint second) -> _ComposeTransformation3DAdjoint
13090  __init__(_ComposeTransformation3DAdjoint self, _ComposeTransformation3DAdjoint other) -> _ComposeTransformation3DAdjoint
13091  """
13092  _IMP_algebra._ComposeTransformation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeTransformation3DAdjoint(*args))
13093  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)>)>""")
13094  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)>)>""")
13095  def __len__(self):
13096  return 2
13097  def __repr__(self):
13098  return str((self.first, self.second))
13099  def __getitem__(self, index):
13100  if not (index % 2):
13101  return self.first
13102  else:
13103  return self.second
13104  def __setitem__(self, index, val):
13105  if not (index % 2):
13106  self.first = val
13107  else:
13108  self.second = val
13109  __swig_destroy__ = _IMP_algebra.delete__ComposeTransformation3DAdjoint
13110 
13111 # Register _ComposeTransformation3DAdjoint in _IMP_algebra:
13112 _IMP_algebra._ComposeTransformation3DAdjoint_swigregister(_ComposeTransformation3DAdjoint)
13113 
13114 def get_rmsd_transforming_first(tr, v0, v1):
13115  r"""get_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13116  return _IMP_algebra.get_rmsd_transforming_first(tr, v0, v1)
13117 
13118 def get_rmsd(v0, v1):
13119  r"""get_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13120  return _IMP_algebra.get_rmsd(v0, v1)
13121 
13122 def get_weighted_rmsd_transforming_first(tr, v0, v1, weights):
13123  r"""get_weighted_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13124  return _IMP_algebra.get_weighted_rmsd_transforming_first(tr, v0, v1, weights)
13125 
13126 def get_weighted_rmsd(v0, v1, weights):
13127  r"""get_weighted_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13128  return _IMP_algebra.get_weighted_rmsd(v0, v1, weights)
13129 
13130 LinearFit=LinearFit2D
13131 ParabolicFit=ParabolicFit2D
13132 
13133 
13134 def get_module_name():
13135  r"""get_module_name() -> std::string const"""
13136  return _IMP_algebra.get_module_name()
13137 
13138 def get_module_version():
13139  r"""get_module_version() -> std::string const"""
13140  return _IMP_algebra.get_module_version()
13141 
13142 def get_example_path(fname):
13143  r"""get_example_path(std::string fname) -> std::string"""
13144  return _IMP_algebra.get_example_path(fname)
13145 
13146 def get_data_path(fname):
13147  r"""get_data_path(std::string fname) -> std::string"""
13148  return _IMP_algebra.get_data_path(fname)
13149 
13150 from . import _version_check
13151 _version_check.check_version(get_module_version())
13152 __version__ = get_module_version()
13153 
13154 
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:391
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:420
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:404
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:263
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:416
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:188
VT get_unit_vector(VT vt)
Returns a unit vector pointing at the same direction as this vector.
Definition: VectorBaseD.h:272
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:223
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:412
VectorD< D > get_ones_vector_kd(unsigned int Di, double v=1)
Return a vector of ones (or another constant)
Definition: VectorD.h:296
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:417
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
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:400
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:611
Rotation3D get_rotation_from_vector4d(const VectorD< 4 > &v)
Compute a rotation from an unnormalized quaternion.
Definition: Rotation3D.h:484
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:408
Rotation3D get_identity_rotation_3d()
Return a rotation that does not do anything.
Definition: Rotation3D.h:352
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:424
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