IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/22
The Integrative Modeling Platform
algebra/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.0
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-2024 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_GPERFTOOLS = _IMP_algebra.IMP_KERNEL_HAS_GPERFTOOLS
188 
189 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
192 
193 IMPKERNEL_SHOW_WARNINGS = _IMP_algebra.IMPKERNEL_SHOW_WARNINGS
194 
195 
196 import sys
197 class _DirectorObjects:
198  """@internal Simple class to keep references to director objects
199  to prevent premature deletion."""
200  def __init__(self):
201  self._objects = []
202  def register(self, obj):
203  """Take a reference to a director object; will only work for
204  refcounted C++ classes"""
205  if hasattr(obj, 'get_ref_count'):
206  self._objects.append(obj)
207  def cleanup(self):
208  """Only drop our reference and allow cleanup by Python if no other
209  Python references exist (we hold 3 references: one in self._objects,
210  one in x, and one in the argument list for getrefcount) *and* no
211  other C++ references exist (the Python object always holds one)"""
212  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
213  or x.get_ref_count() > 1]
214 # Do in two steps so the references are kept until the end of the
215 # function (deleting references may trigger a fresh call to this method)
216  self._objects = objs
217  def get_object_count(self):
218  """Get number of director objects (useful for testing only)"""
219  return len(self._objects)
220 _director_objects = _DirectorObjects()
221 
222 class _ostream(object):
223  r"""Proxy of C++ std::ostream class."""
224 
225  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
226 
227  def __init__(self, *args, **kwargs):
228  raise AttributeError("No constructor defined")
229  __repr__ = _swig_repr
230 
231  def write(self, osa_buf):
232  r"""write(_ostream self, char const * osa_buf)"""
233  return _IMP_algebra._ostream_write(self, osa_buf)
234 
235 # Register _ostream in _IMP_algebra:
236 _IMP_algebra._ostream_swigregister(_ostream)
237 IMP_C_OPEN_BINARY = _IMP_algebra.IMP_C_OPEN_BINARY
238 
239 import IMP
240 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_FILESYSTEM
241 
242 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
243 
244 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_CGAL_HAS_BOOST_RANDOM
245 
246 IMP_CGAL_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_SYSTEM
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_BOOST_SYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_SYSTEM
262 
263 IMP_ALGEBRA_HAS_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_CGAL
264 
265 IMP_ALGEBRA_HAS_NUMPY = _IMP_algebra.IMP_ALGEBRA_HAS_NUMPY
266 
267 IMP_ALGEBRA_HAS_ANN = _IMP_algebra.IMP_ALGEBRA_HAS_ANN
268 
269 IMPALGEBRA_SHOW_WARNINGS = _IMP_algebra.IMPALGEBRA_SHOW_WARNINGS
270 
271 
272 def get_vector(v):
273  try:
274  return v.get_coordinates()
275  except:
276  return v
277 def get_sphere(v):
278  try:
279  return v.get_sphere()
280  except:
281  return v
282 
283 
284 _object_types.append("VectorKDMetric")
285 
286 
287 def _object_cast_to_VectorKDMetric(o):
288  r"""_object_cast_to_VectorKDMetric(Object o) -> VectorKDMetric"""
289  return _IMP_algebra._object_cast_to_VectorKDMetric(o)
290 
291 _object_types.append("EuclideanVectorKDMetric")
292 
293 
294 def _object_cast_to_EuclideanVectorKDMetric(o):
295  r"""_object_cast_to_EuclideanVectorKDMetric(Object o) -> EuclideanVectorKDMetric"""
296  return _IMP_algebra._object_cast_to_EuclideanVectorKDMetric(o)
297 
298 _object_types.append("MaxVectorKDMetric")
299 
300 
301 def _object_cast_to_MaxVectorKDMetric(o):
302  r"""_object_cast_to_MaxVectorKDMetric(Object o) -> MaxVectorKDMetric"""
303  return _IMP_algebra._object_cast_to_MaxVectorKDMetric(o)
304 
305 _object_types.append("DynamicNearestNeighbor3D")
306 
307 
308 def _object_cast_to_DynamicNearestNeighbor3D(o):
309  r"""_object_cast_to_DynamicNearestNeighbor3D(Object o) -> DynamicNearestNeighbor3D"""
310  return _IMP_algebra._object_cast_to_DynamicNearestNeighbor3D(o)
311 
312 Rotation2Ds=list
313 _plural_types.append("Rotation2Ds")
314 _value_types.append("Rotation2D")
315 
316 
317 Rotation3Ds=list
318 _plural_types.append("Rotation3Ds")
319 _value_types.append("Rotation3D")
320 
321 
322 Reflection3Ds=list
323 _plural_types.append("Reflection3Ds")
324 _value_types.append("Reflection3D")
325 
326 
327 Transformation2Ds=list
328 _plural_types.append("Transformation2Ds")
329 _value_types.append("Transformation2D")
330 
331 
332 Transformation3Ds=list
333 _plural_types.append("Transformation3Ds")
334 _value_types.append("Transformation3D")
335 
336 
337 SphericalVector3Ds=list
338 _plural_types.append("SphericalVector3Ds")
339 _value_types.append("SphericalVector3D")
340 
341 
342 Triangle3Ds=list
343 _plural_types.append("Triangle3Ds")
344 _value_types.append("Triangle3D")
345 
346 
347 Cone3Ds=list
348 _plural_types.append("Cone3Ds")
349 _value_types.append("Cone3D")
350 
351 
352 Cylinder3Ds=list
353 _plural_types.append("Cylinder3Ds")
354 _value_types.append("Cylinder3D")
355 
356 
357 Ellipsoid3Ds=list
358 _plural_types.append("Ellipsoid3Ds")
359 _value_types.append("Ellipsoid3D")
360 
361 
362 Line3Ds=list
363 _plural_types.append("Line3Ds")
364 _value_types.append("Line3D")
365 
366 
367 Plane3Ds=list
368 _plural_types.append("Plane3Ds")
369 _value_types.append("Plane3D")
370 
371 
372 Segment3Ds=list
373 _plural_types.append("Segment3Ds")
374 _value_types.append("Segment3D")
375 
376 
377 SpherePatch3Ds=list
378 _plural_types.append("SpherePatch3Ds")
379 _value_types.append("SpherePatch3D")
380 
381 
382 ConnollySurfacePoints=list
383 _plural_types.append("ConnollySurfacePoints")
384 _value_types.append("ConnollySurfacePoint")
385 
386 
387 Sphere1Ds=list
388 _plural_types.append("Sphere1Ds")
389 _value_types.append("Sphere1D")
390 
391 
392 Sphere2Ds=list
393 _plural_types.append("Sphere2Ds")
394 _value_types.append("Sphere2D")
395 
396 
397 Sphere3Ds=list
398 _plural_types.append("Sphere3Ds")
399 _value_types.append("Sphere3D")
400 
401 
402 Sphere4Ds=list
403 _plural_types.append("Sphere4Ds")
404 _value_types.append("Sphere4D")
405 
406 
407 Sphere5Ds=list
408 _plural_types.append("Sphere5Ds")
409 _value_types.append("Sphere5D")
410 
411 
412 Sphere6Ds=list
413 _plural_types.append("Sphere6Ds")
414 _value_types.append("Sphere6D")
415 
416 
417 Sphere1Ds=list
418 _plural_types.append("Sphere1Ds")
419 _value_types.append("SphereD<1>")
420 
421 
422 Sphere2Ds=list
423 _plural_types.append("Sphere2Ds")
424 _value_types.append("SphereD<2>")
425 
426 
427 Sphere3Ds=list
428 _plural_types.append("Sphere3Ds")
429 _value_types.append("SphereD<3>")
430 
431 
432 Sphere4Ds=list
433 _plural_types.append("Sphere4Ds")
434 _value_types.append("SphereD<4>")
435 
436 
437 Sphere5Ds=list
438 _plural_types.append("Sphere5Ds")
439 _value_types.append("SphereD<5>")
440 
441 
442 Sphere6Ds=list
443 _plural_types.append("Sphere6Ds")
444 _value_types.append("SphereD<6>")
445 
446 
447 SphereKDs=list
448 _plural_types.append("SphereKDs")
449 _value_types.append("SphereKD")
450 
451 
452 SphereKDs=list
453 _plural_types.append("SphereKDs")
454 _value_types.append("SphereD<-1>")
455 
456 
457 UnitSimplex1Ds=list
458 _plural_types.append("UnitSimplex1Ds")
459 _value_types.append("UnitSimplex1D")
460 
461 
462 UnitSimplex2Ds=list
463 _plural_types.append("UnitSimplex2Ds")
464 _value_types.append("UnitSimplex2D")
465 
466 
467 UnitSimplex3Ds=list
468 _plural_types.append("UnitSimplex3Ds")
469 _value_types.append("UnitSimplex3D")
470 
471 
472 UnitSimplex4Ds=list
473 _plural_types.append("UnitSimplex4Ds")
474 _value_types.append("UnitSimplex4D")
475 
476 
477 UnitSimplex5Ds=list
478 _plural_types.append("UnitSimplex5Ds")
479 _value_types.append("UnitSimplex5D")
480 
481 
482 UnitSimplex6Ds=list
483 _plural_types.append("UnitSimplex6Ds")
484 _value_types.append("UnitSimplex6D")
485 
486 
487 UnitSimplex1Ds=list
488 _plural_types.append("UnitSimplex1Ds")
489 _value_types.append("UnitSimplexD<1>")
490 
491 
492 UnitSimplex2Ds=list
493 _plural_types.append("UnitSimplex2Ds")
494 _value_types.append("UnitSimplexD<2>")
495 
496 
497 UnitSimplex3Ds=list
498 _plural_types.append("UnitSimplex3Ds")
499 _value_types.append("UnitSimplexD<3>")
500 
501 
502 UnitSimplex4Ds=list
503 _plural_types.append("UnitSimplex4Ds")
504 _value_types.append("UnitSimplexD<4>")
505 
506 
507 UnitSimplex5Ds=list
508 _plural_types.append("UnitSimplex5Ds")
509 _value_types.append("UnitSimplexD<5>")
510 
511 
512 UnitSimplex6Ds=list
513 _plural_types.append("UnitSimplex6Ds")
514 _value_types.append("UnitSimplexD<6>")
515 
516 
517 UnitSimplexKDs=list
518 _plural_types.append("UnitSimplexKDs")
519 _value_types.append("UnitSimplexKD")
520 
521 
522 UnitSimplexKDs=list
523 _plural_types.append("UnitSimplexKDs")
524 _value_types.append("UnitSimplexD<-1>")
525 
526 
527 BoundingBox1Ds=list
528 _plural_types.append("BoundingBox1Ds")
529 _value_types.append("BoundingBox1D")
530 
531 
532 BoundingBox2Ds=list
533 _plural_types.append("BoundingBox2Ds")
534 _value_types.append("BoundingBox2D")
535 
536 
537 BoundingBox3Ds=list
538 _plural_types.append("BoundingBox3Ds")
539 _value_types.append("BoundingBox3D")
540 
541 
542 BoundingBox4Ds=list
543 _plural_types.append("BoundingBox4Ds")
544 _value_types.append("BoundingBox4D")
545 
546 
547 BoundingBox5Ds=list
548 _plural_types.append("BoundingBox5Ds")
549 _value_types.append("BoundingBox5D")
550 
551 
552 BoundingBox6Ds=list
553 _plural_types.append("BoundingBox6Ds")
554 _value_types.append("BoundingBox6D")
555 
556 
557 BoundingBox1Ds=list
558 _plural_types.append("BoundingBox1Ds")
559 _value_types.append("BoundingBoxD<1>")
560 
561 
562 BoundingBox2Ds=list
563 _plural_types.append("BoundingBox2Ds")
564 _value_types.append("BoundingBoxD<2>")
565 
566 
567 BoundingBox3Ds=list
568 _plural_types.append("BoundingBox3Ds")
569 _value_types.append("BoundingBoxD<3>")
570 
571 
572 BoundingBox4Ds=list
573 _plural_types.append("BoundingBox4Ds")
574 _value_types.append("BoundingBoxD<4>")
575 
576 
577 BoundingBox5Ds=list
578 _plural_types.append("BoundingBox5Ds")
579 _value_types.append("BoundingBoxD<5>")
580 
581 
582 BoundingBox6Ds=list
583 _plural_types.append("BoundingBox6Ds")
584 _value_types.append("BoundingBoxD<6>")
585 
586 
587 BoundingBoxKDs=list
588 _plural_types.append("BoundingBoxKDs")
589 _value_types.append("BoundingBoxKD")
590 
591 
592 BoundingBoxKDs=list
593 _plural_types.append("BoundingBoxKDs")
594 _value_types.append("BoundingBoxD<-1>")
595 
596 
597 PrincipalComponentAnalysis1Ds=list
598 _plural_types.append("PrincipalComponentAnalysis1Ds")
599 _value_types.append("PrincipalComponentAnalysis1D")
600 
601 
602 PrincipalComponentAnalysis2Ds=list
603 _plural_types.append("PrincipalComponentAnalysis2Ds")
604 _value_types.append("PrincipalComponentAnalysis2D")
605 
606 
607 PrincipalComponentAnalysis3Ds=list
608 _plural_types.append("PrincipalComponentAnalysis3Ds")
609 _value_types.append("PrincipalComponentAnalysis3D")
610 
611 
612 PrincipalComponentAnalysis4Ds=list
613 _plural_types.append("PrincipalComponentAnalysis4Ds")
614 _value_types.append("PrincipalComponentAnalysis4D")
615 
616 
617 PrincipalComponentAnalysis5Ds=list
618 _plural_types.append("PrincipalComponentAnalysis5Ds")
619 _value_types.append("PrincipalComponentAnalysis5D")
620 
621 
622 PrincipalComponentAnalysis6Ds=list
623 _plural_types.append("PrincipalComponentAnalysis6Ds")
624 _value_types.append("PrincipalComponentAnalysis6D")
625 
626 
627 PrincipalComponentAnalysis1Ds=list
628 _plural_types.append("PrincipalComponentAnalysis1Ds")
629 _value_types.append("PrincipalComponentAnalysisD<1>")
630 
631 
632 PrincipalComponentAnalysis2Ds=list
633 _plural_types.append("PrincipalComponentAnalysis2Ds")
634 _value_types.append("PrincipalComponentAnalysisD<2>")
635 
636 
637 PrincipalComponentAnalysis3Ds=list
638 _plural_types.append("PrincipalComponentAnalysis3Ds")
639 _value_types.append("PrincipalComponentAnalysisD<3>")
640 
641 
642 PrincipalComponentAnalysis4Ds=list
643 _plural_types.append("PrincipalComponentAnalysis4Ds")
644 _value_types.append("PrincipalComponentAnalysisD<4>")
645 
646 
647 PrincipalComponentAnalysis5Ds=list
648 _plural_types.append("PrincipalComponentAnalysis5Ds")
649 _value_types.append("PrincipalComponentAnalysisD<5>")
650 
651 
652 PrincipalComponentAnalysis6Ds=list
653 _plural_types.append("PrincipalComponentAnalysis6Ds")
654 _value_types.append("PrincipalComponentAnalysisD<6>")
655 
656 
657 PrincipalComponentAnalysisKDs=list
658 _plural_types.append("PrincipalComponentAnalysisKDs")
659 _value_types.append("PrincipalComponentAnalysisKD")
660 
661 
662 PrincipalComponentAnalysisKDs=list
663 _plural_types.append("PrincipalComponentAnalysisKDs")
664 _value_types.append("PrincipalComponentAnalysisD<-1>")
665 
666 
667 _object_types.append("NearestNeighbor1D")
668 
669 
670 def _object_cast_to_NearestNeighbor1D(o):
671  r"""_object_cast_to_NearestNeighbor1D(Object o) -> NearestNeighbor1D"""
672  return _IMP_algebra._object_cast_to_NearestNeighbor1D(o)
673 
674 _object_types.append("NearestNeighbor2D")
675 
676 
677 def _object_cast_to_NearestNeighbor2D(o):
678  r"""_object_cast_to_NearestNeighbor2D(Object o) -> NearestNeighbor2D"""
679  return _IMP_algebra._object_cast_to_NearestNeighbor2D(o)
680 
681 _object_types.append("NearestNeighbor3D")
682 
683 
684 def _object_cast_to_NearestNeighbor3D(o):
685  r"""_object_cast_to_NearestNeighbor3D(Object o) -> NearestNeighbor3D"""
686  return _IMP_algebra._object_cast_to_NearestNeighbor3D(o)
687 
688 _object_types.append("NearestNeighbor4D")
689 
690 
691 def _object_cast_to_NearestNeighbor4D(o):
692  r"""_object_cast_to_NearestNeighbor4D(Object o) -> NearestNeighbor4D"""
693  return _IMP_algebra._object_cast_to_NearestNeighbor4D(o)
694 
695 _object_types.append("NearestNeighbor5D")
696 
697 
698 def _object_cast_to_NearestNeighbor5D(o):
699  r"""_object_cast_to_NearestNeighbor5D(Object o) -> NearestNeighbor5D"""
700  return _IMP_algebra._object_cast_to_NearestNeighbor5D(o)
701 
702 _object_types.append("NearestNeighbor6D")
703 
704 
705 def _object_cast_to_NearestNeighbor6D(o):
706  r"""_object_cast_to_NearestNeighbor6D(Object o) -> NearestNeighbor6D"""
707  return _IMP_algebra._object_cast_to_NearestNeighbor6D(o)
708 
709 _object_types.append("NearestNeighborKD")
710 
711 
712 def _object_cast_to_NearestNeighborKD(o):
713  r"""_object_cast_to_NearestNeighborKD(Object o) -> NearestNeighborKD"""
714  return _IMP_algebra._object_cast_to_NearestNeighborKD(o)
715 
716 ReferenceFrame3Ds=list
717 _plural_types.append("ReferenceFrame3Ds")
718 _value_types.append("ReferenceFrame3D")
719 
720 
721 Gaussian3Ds=list
722 _plural_types.append("Gaussian3Ds")
723 _value_types.append("Gaussian3D")
724 
725 
726 DefaultEmbedding1Ds=list
727 _plural_types.append("DefaultEmbedding1Ds")
728 _value_types.append("DefaultEmbedding1D")
729 
730 
731 DefaultEmbedding2Ds=list
732 _plural_types.append("DefaultEmbedding2Ds")
733 _value_types.append("DefaultEmbedding2D")
734 
735 
736 DefaultEmbedding3Ds=list
737 _plural_types.append("DefaultEmbedding3Ds")
738 _value_types.append("DefaultEmbedding3D")
739 
740 
741 DefaultEmbedding4Ds=list
742 _plural_types.append("DefaultEmbedding4Ds")
743 _value_types.append("DefaultEmbedding4D")
744 
745 
746 DefaultEmbedding5Ds=list
747 _plural_types.append("DefaultEmbedding5Ds")
748 _value_types.append("DefaultEmbedding5D")
749 
750 
751 DefaultEmbedding6Ds=list
752 _plural_types.append("DefaultEmbedding6Ds")
753 _value_types.append("DefaultEmbedding6D")
754 
755 
756 DefaultEmbedding1Ds=list
757 _plural_types.append("DefaultEmbedding1Ds")
758 _value_types.append("DefaultEmbeddingD<1>")
759 
760 
761 DefaultEmbedding2Ds=list
762 _plural_types.append("DefaultEmbedding2Ds")
763 _value_types.append("DefaultEmbeddingD<2>")
764 
765 
766 DefaultEmbedding3Ds=list
767 _plural_types.append("DefaultEmbedding3Ds")
768 _value_types.append("DefaultEmbeddingD<3>")
769 
770 
771 DefaultEmbedding4Ds=list
772 _plural_types.append("DefaultEmbedding4Ds")
773 _value_types.append("DefaultEmbeddingD<4>")
774 
775 
776 DefaultEmbedding5Ds=list
777 _plural_types.append("DefaultEmbedding5Ds")
778 _value_types.append("DefaultEmbeddingD<5>")
779 
780 
781 DefaultEmbedding6Ds=list
782 _plural_types.append("DefaultEmbedding6Ds")
783 _value_types.append("DefaultEmbeddingD<6>")
784 
785 
786 DefaultEmbeddingKDs=list
787 _plural_types.append("DefaultEmbeddingKDs")
788 _value_types.append("DefaultEmbeddingKD")
789 
790 
791 DefaultEmbeddingKDs=list
792 _plural_types.append("DefaultEmbeddingKDs")
793 _value_types.append("DefaultEmbeddingD<-1>")
794 
795 
796 LogEmbedding1Ds=list
797 _plural_types.append("LogEmbedding1Ds")
798 _value_types.append("LogEmbedding1D")
799 
800 
801 LogEmbedding2Ds=list
802 _plural_types.append("LogEmbedding2Ds")
803 _value_types.append("LogEmbedding2D")
804 
805 
806 LogEmbedding3Ds=list
807 _plural_types.append("LogEmbedding3Ds")
808 _value_types.append("LogEmbedding3D")
809 
810 
811 LogEmbedding4Ds=list
812 _plural_types.append("LogEmbedding4Ds")
813 _value_types.append("LogEmbedding4D")
814 
815 
816 LogEmbedding5Ds=list
817 _plural_types.append("LogEmbedding5Ds")
818 _value_types.append("LogEmbedding5D")
819 
820 
821 LogEmbedding6Ds=list
822 _plural_types.append("LogEmbedding6Ds")
823 _value_types.append("LogEmbedding6D")
824 
825 
826 LogEmbedding1Ds=list
827 _plural_types.append("LogEmbedding1Ds")
828 _value_types.append("LogEmbeddingD<1>")
829 
830 
831 LogEmbedding2Ds=list
832 _plural_types.append("LogEmbedding2Ds")
833 _value_types.append("LogEmbeddingD<2>")
834 
835 
836 LogEmbedding3Ds=list
837 _plural_types.append("LogEmbedding3Ds")
838 _value_types.append("LogEmbeddingD<3>")
839 
840 
841 LogEmbedding4Ds=list
842 _plural_types.append("LogEmbedding4Ds")
843 _value_types.append("LogEmbeddingD<4>")
844 
845 
846 LogEmbedding5Ds=list
847 _plural_types.append("LogEmbedding5Ds")
848 _value_types.append("LogEmbeddingD<5>")
849 
850 
851 LogEmbedding6Ds=list
852 _plural_types.append("LogEmbedding6Ds")
853 _value_types.append("LogEmbeddingD<6>")
854 
855 
856 LogEmbeddingKDs=list
857 _plural_types.append("LogEmbeddingKDs")
858 _value_types.append("LogEmbeddingKD")
859 
860 
861 LogEmbeddingKDs=list
862 _plural_types.append("LogEmbeddingKDs")
863 _value_types.append("LogEmbeddingD<-1>")
864 
865 
866 GridIndex1Ds=list
867 _plural_types.append("GridIndex1Ds")
868 _value_types.append("GridIndex1D")
869 
870 
871 GridIndex2Ds=list
872 _plural_types.append("GridIndex2Ds")
873 _value_types.append("GridIndex2D")
874 
875 
876 GridIndex3Ds=list
877 _plural_types.append("GridIndex3Ds")
878 _value_types.append("GridIndex3D")
879 
880 
881 GridIndex4Ds=list
882 _plural_types.append("GridIndex4Ds")
883 _value_types.append("GridIndex4D")
884 
885 
886 GridIndex5Ds=list
887 _plural_types.append("GridIndex5Ds")
888 _value_types.append("GridIndex5D")
889 
890 
891 GridIndex6Ds=list
892 _plural_types.append("GridIndex6Ds")
893 _value_types.append("GridIndex6D")
894 
895 
896 GridIndex1Ds=list
897 _plural_types.append("GridIndex1Ds")
898 _value_types.append("GridIndexD<1>")
899 
900 
901 GridIndex2Ds=list
902 _plural_types.append("GridIndex2Ds")
903 _value_types.append("GridIndexD<2>")
904 
905 
906 GridIndex3Ds=list
907 _plural_types.append("GridIndex3Ds")
908 _value_types.append("GridIndexD<3>")
909 
910 
911 GridIndex4Ds=list
912 _plural_types.append("GridIndex4Ds")
913 _value_types.append("GridIndexD<4>")
914 
915 
916 GridIndex5Ds=list
917 _plural_types.append("GridIndex5Ds")
918 _value_types.append("GridIndexD<5>")
919 
920 
921 GridIndex6Ds=list
922 _plural_types.append("GridIndex6Ds")
923 _value_types.append("GridIndexD<6>")
924 
925 
926 GridIndexKDs=list
927 _plural_types.append("GridIndexKDs")
928 _value_types.append("GridIndexKD")
929 
930 
931 GridIndexKDs=list
932 _plural_types.append("GridIndexKDs")
933 _value_types.append("GridIndexD<-1>")
934 
935 
936 ExtendedGridIndex1Ds=list
937 _plural_types.append("ExtendedGridIndex1Ds")
938 _value_types.append("ExtendedGridIndex1D")
939 
940 
941 ExtendedGridIndex2Ds=list
942 _plural_types.append("ExtendedGridIndex2Ds")
943 _value_types.append("ExtendedGridIndex2D")
944 
945 
946 ExtendedGridIndex3Ds=list
947 _plural_types.append("ExtendedGridIndex3Ds")
948 _value_types.append("ExtendedGridIndex3D")
949 
950 
951 ExtendedGridIndex4Ds=list
952 _plural_types.append("ExtendedGridIndex4Ds")
953 _value_types.append("ExtendedGridIndex4D")
954 
955 
956 ExtendedGridIndex5Ds=list
957 _plural_types.append("ExtendedGridIndex5Ds")
958 _value_types.append("ExtendedGridIndex5D")
959 
960 
961 ExtendedGridIndex6Ds=list
962 _plural_types.append("ExtendedGridIndex6Ds")
963 _value_types.append("ExtendedGridIndex6D")
964 
965 
966 ExtendedGridIndex1Ds=list
967 _plural_types.append("ExtendedGridIndex1Ds")
968 _value_types.append("ExtendedGridIndexD<1>")
969 
970 
971 ExtendedGridIndex2Ds=list
972 _plural_types.append("ExtendedGridIndex2Ds")
973 _value_types.append("ExtendedGridIndexD<2>")
974 
975 
976 ExtendedGridIndex3Ds=list
977 _plural_types.append("ExtendedGridIndex3Ds")
978 _value_types.append("ExtendedGridIndexD<3>")
979 
980 
981 ExtendedGridIndex4Ds=list
982 _plural_types.append("ExtendedGridIndex4Ds")
983 _value_types.append("ExtendedGridIndexD<4>")
984 
985 
986 ExtendedGridIndex5Ds=list
987 _plural_types.append("ExtendedGridIndex5Ds")
988 _value_types.append("ExtendedGridIndexD<5>")
989 
990 
991 ExtendedGridIndex6Ds=list
992 _plural_types.append("ExtendedGridIndex6Ds")
993 _value_types.append("ExtendedGridIndexD<6>")
994 
995 
996 ExtendedGridIndexKDs=list
997 _plural_types.append("ExtendedGridIndexKDs")
998 _value_types.append("ExtendedGridIndexKD")
999 
1000 
1001 ExtendedGridIndexKDs=list
1002 _plural_types.append("ExtendedGridIndexKDs")
1003 _value_types.append("ExtendedGridIndexD<-1>")
1004 
1005 
1006 BoundedGridRange1Ds=list
1007 _plural_types.append("BoundedGridRange1Ds")
1008 _value_types.append("BoundedGridRange1D")
1009 
1010 
1011 BoundedGridRange2Ds=list
1012 _plural_types.append("BoundedGridRange2Ds")
1013 _value_types.append("BoundedGridRange2D")
1014 
1015 
1016 BoundedGridRange3Ds=list
1017 _plural_types.append("BoundedGridRange3Ds")
1018 _value_types.append("BoundedGridRange3D")
1019 
1020 
1021 BoundedGridRange4Ds=list
1022 _plural_types.append("BoundedGridRange4Ds")
1023 _value_types.append("BoundedGridRange4D")
1024 
1025 
1026 BoundedGridRange5Ds=list
1027 _plural_types.append("BoundedGridRange5Ds")
1028 _value_types.append("BoundedGridRange5D")
1029 
1030 
1031 BoundedGridRange6Ds=list
1032 _plural_types.append("BoundedGridRange6Ds")
1033 _value_types.append("BoundedGridRange6D")
1034 
1035 
1036 BoundedGridRange1Ds=list
1037 _plural_types.append("BoundedGridRange1Ds")
1038 _value_types.append("BoundedGridRangeD<1>")
1039 
1040 
1041 BoundedGridRange2Ds=list
1042 _plural_types.append("BoundedGridRange2Ds")
1043 _value_types.append("BoundedGridRangeD<2>")
1044 
1045 
1046 BoundedGridRange3Ds=list
1047 _plural_types.append("BoundedGridRange3Ds")
1048 _value_types.append("BoundedGridRangeD<3>")
1049 
1050 
1051 BoundedGridRange4Ds=list
1052 _plural_types.append("BoundedGridRange4Ds")
1053 _value_types.append("BoundedGridRangeD<4>")
1054 
1055 
1056 BoundedGridRange5Ds=list
1057 _plural_types.append("BoundedGridRange5Ds")
1058 _value_types.append("BoundedGridRangeD<5>")
1059 
1060 
1061 BoundedGridRange6Ds=list
1062 _plural_types.append("BoundedGridRange6Ds")
1063 _value_types.append("BoundedGridRangeD<6>")
1064 
1065 
1066 BoundedGridRangeKDs=list
1067 _plural_types.append("BoundedGridRangeKDs")
1068 _value_types.append("BoundedGridRangeKD")
1069 
1070 
1071 BoundedGridRangeKDs=list
1072 _plural_types.append("BoundedGridRangeKDs")
1073 _value_types.append("BoundedGridRangeD<-1>")
1074 
1075 
1076 UnboundedGridRange1Ds=list
1077 _plural_types.append("UnboundedGridRange1Ds")
1078 _value_types.append("UnboundedGridRange1D")
1079 
1080 
1081 UnboundedGridRange2Ds=list
1082 _plural_types.append("UnboundedGridRange2Ds")
1083 _value_types.append("UnboundedGridRange2D")
1084 
1085 
1086 UnboundedGridRange3Ds=list
1087 _plural_types.append("UnboundedGridRange3Ds")
1088 _value_types.append("UnboundedGridRange3D")
1089 
1090 
1091 UnboundedGridRange4Ds=list
1092 _plural_types.append("UnboundedGridRange4Ds")
1093 _value_types.append("UnboundedGridRange4D")
1094 
1095 
1096 UnboundedGridRange5Ds=list
1097 _plural_types.append("UnboundedGridRange5Ds")
1098 _value_types.append("UnboundedGridRange5D")
1099 
1100 
1101 UnboundedGridRange6Ds=list
1102 _plural_types.append("UnboundedGridRange6Ds")
1103 _value_types.append("UnboundedGridRange6D")
1104 
1105 
1106 UnboundedGridRange1Ds=list
1107 _plural_types.append("UnboundedGridRange1Ds")
1108 _value_types.append("UnboundedGridRangeD<1>")
1109 
1110 
1111 UnboundedGridRange2Ds=list
1112 _plural_types.append("UnboundedGridRange2Ds")
1113 _value_types.append("UnboundedGridRangeD<2>")
1114 
1115 
1116 UnboundedGridRange3Ds=list
1117 _plural_types.append("UnboundedGridRange3Ds")
1118 _value_types.append("UnboundedGridRangeD<3>")
1119 
1120 
1121 UnboundedGridRange4Ds=list
1122 _plural_types.append("UnboundedGridRange4Ds")
1123 _value_types.append("UnboundedGridRangeD<4>")
1124 
1125 
1126 UnboundedGridRange5Ds=list
1127 _plural_types.append("UnboundedGridRange5Ds")
1128 _value_types.append("UnboundedGridRangeD<5>")
1129 
1130 
1131 UnboundedGridRange6Ds=list
1132 _plural_types.append("UnboundedGridRange6Ds")
1133 _value_types.append("UnboundedGridRangeD<6>")
1134 
1135 
1136 UnboundedGridRangeKDs=list
1137 _plural_types.append("UnboundedGridRangeKDs")
1138 _value_types.append("UnboundedGridRangeKD")
1139 
1140 
1141 UnboundedGridRangeKDs=list
1142 _plural_types.append("UnboundedGridRangeKDs")
1143 _value_types.append("UnboundedGridRangeD<-1>")
1144 
1145 
1146 LinearFit2Ds=list
1147 _plural_types.append("LinearFit2Ds")
1148 _value_types.append("LinearFit2D")
1149 
1150 
1151 ParabolicFit2Ds=list
1152 _plural_types.append("ParabolicFit2Ds")
1153 _value_types.append("ParabolicFit2D")
1154 
1155 
1156 FixedXYZs=list
1157 _plural_types.append("FixedXYZs")
1158 _value_types.append("FixedXYZ")
1159 
1160 class _GeometricPrimitive1D(object):
1161  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 1 > class."""
1162 
1163  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1164 
1165  def __init__(self, *args, **kwargs):
1166  raise AttributeError("No constructor defined")
1167  __repr__ = _swig_repr
1168  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive1D
1169 
1170 # Register _GeometricPrimitive1D in _IMP_algebra:
1171 _IMP_algebra._GeometricPrimitive1D_swigregister(_GeometricPrimitive1D)
1172 class _GeometricPrimitive2D(object):
1173  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 2 > class."""
1174 
1175  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1176 
1177  def __init__(self, *args, **kwargs):
1178  raise AttributeError("No constructor defined")
1179  __repr__ = _swig_repr
1180  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive2D
1181 
1182 # Register _GeometricPrimitive2D in _IMP_algebra:
1183 _IMP_algebra._GeometricPrimitive2D_swigregister(_GeometricPrimitive2D)
1184 class _GeometricPrimitive3D(object):
1185  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 3 > class."""
1186 
1187  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1188 
1189  def __init__(self, *args, **kwargs):
1190  raise AttributeError("No constructor defined")
1191  __repr__ = _swig_repr
1192  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive3D
1193 
1194 # Register _GeometricPrimitive3D in _IMP_algebra:
1195 _IMP_algebra._GeometricPrimitive3D_swigregister(_GeometricPrimitive3D)
1196 class _GeometricPrimitive4D(object):
1197  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 4 > class."""
1198 
1199  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1200 
1201  def __init__(self, *args, **kwargs):
1202  raise AttributeError("No constructor defined")
1203  __repr__ = _swig_repr
1204  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive4D
1205 
1206 # Register _GeometricPrimitive4D in _IMP_algebra:
1207 _IMP_algebra._GeometricPrimitive4D_swigregister(_GeometricPrimitive4D)
1208 class _GeometricPrimitive5D(object):
1209  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 5 > class."""
1210 
1211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1212 
1213  def __init__(self, *args, **kwargs):
1214  raise AttributeError("No constructor defined")
1215  __repr__ = _swig_repr
1216  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive5D
1217 
1218 # Register _GeometricPrimitive5D in _IMP_algebra:
1219 _IMP_algebra._GeometricPrimitive5D_swigregister(_GeometricPrimitive5D)
1220 class _GeometricPrimitive6D(object):
1221  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< 6 > class."""
1222 
1223  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1224 
1225  def __init__(self, *args, **kwargs):
1226  raise AttributeError("No constructor defined")
1227  __repr__ = _swig_repr
1228  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitive6D
1229 
1230 # Register _GeometricPrimitive6D in _IMP_algebra:
1231 _IMP_algebra._GeometricPrimitive6D_swigregister(_GeometricPrimitive6D)
1232 class _GeometricPrimitiveKD(object):
1233  r"""Proxy of C++ IMP::algebra::GeometricPrimitiveD< -1 > class."""
1234 
1235  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1236 
1237  def __init__(self, *args, **kwargs):
1238  raise AttributeError("No constructor defined")
1239  __repr__ = _swig_repr
1240  __swig_destroy__ = _IMP_algebra.delete__GeometricPrimitiveKD
1241 
1242 # Register _GeometricPrimitiveKD in _IMP_algebra:
1243 _IMP_algebra._GeometricPrimitiveKD_swigregister(_GeometricPrimitiveKD)
1244 
1245 Vector1Ds=list
1246 _plural_types.append("Vector1Ds")
1247 _value_types.append("Vector1D")
1248 
1249 
1250 Vector2Ds=list
1251 _plural_types.append("Vector2Ds")
1252 _value_types.append("Vector2D")
1253 
1254 
1255 Vector3Ds=list
1256 _plural_types.append("Vector3Ds")
1257 _value_types.append("Vector3D")
1258 
1259 
1260 Vector4Ds=list
1261 _plural_types.append("Vector4Ds")
1262 _value_types.append("Vector4D")
1263 
1264 
1265 Vector5Ds=list
1266 _plural_types.append("Vector5Ds")
1267 _value_types.append("Vector5D")
1268 
1269 
1270 Vector6Ds=list
1271 _plural_types.append("Vector6Ds")
1272 _value_types.append("Vector6D")
1273 
1274 
1275 Vector1Ds=list
1276 _plural_types.append("Vector1Ds")
1277 _value_types.append("VectorD<1>")
1278 
1279 
1280 Vector2Ds=list
1281 _plural_types.append("Vector2Ds")
1282 _value_types.append("VectorD<2>")
1283 
1284 
1285 Vector3Ds=list
1286 _plural_types.append("Vector3Ds")
1287 _value_types.append("VectorD<3>")
1288 
1289 
1290 Vector4Ds=list
1291 _plural_types.append("Vector4Ds")
1292 _value_types.append("VectorD<4>")
1293 
1294 
1295 Vector5Ds=list
1296 _plural_types.append("Vector5Ds")
1297 _value_types.append("VectorD<5>")
1298 
1299 
1300 Vector6Ds=list
1301 _plural_types.append("Vector6Ds")
1302 _value_types.append("VectorD<6>")
1303 
1304 
1305 VectorKDs=list
1306 _plural_types.append("VectorKDs")
1307 _value_types.append("VectorKD")
1308 
1309 
1310 VectorKDs=list
1311 _plural_types.append("VectorKDs")
1312 _value_types.append("VectorD<-1>")
1313 
1314 class _VectorBaseKD(_GeometricPrimitiveKD):
1315  r"""Proxy of C++ IMP::algebra::VectorBaseD< -1 > class."""
1316 
1317  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1318  __repr__ = _swig_repr
1319 
1320  def __init__(self):
1321  r"""__init__(_VectorBaseKD self) -> _VectorBaseKD"""
1322  _IMP_algebra._VectorBaseKD_swiginit(self, _IMP_algebra.new__VectorBaseKD())
1323 
1324  def get_scalar_product(self, o):
1325  r"""get_scalar_product(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1326  return _IMP_algebra._VectorBaseKD_get_scalar_product(self, o)
1327 
1328  def get_squared_magnitude(self):
1329  r"""get_squared_magnitude(_VectorBaseKD self) -> double"""
1330  return _IMP_algebra._VectorBaseKD_get_squared_magnitude(self)
1331 
1332  def get_magnitude(self):
1333  r"""get_magnitude(_VectorBaseKD self) -> double"""
1334  return _IMP_algebra._VectorBaseKD_get_magnitude(self)
1335 
1336  def get_distance(self, o):
1337  r"""get_distance(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1338  return _IMP_algebra._VectorBaseKD_get_distance(self, o)
1339 
1340  def __mul__(self, o):
1341  r"""__mul__(_VectorBaseKD self, _VectorBaseKD o) -> double"""
1342  return _IMP_algebra._VectorBaseKD___mul__(self, o)
1343 
1344  def __iadd__(self, o):
1345  r"""__iadd__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1346  return _IMP_algebra._VectorBaseKD___iadd__(self, o)
1347 
1348  def __isub__(self, o):
1349  r"""__isub__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
1350  return _IMP_algebra._VectorBaseKD___isub__(self, o)
1351 
1352  def __itruediv__(self, *args):
1353  return _IMP_algebra._VectorBaseKD___itruediv__(self, *args)
1354  __idiv__ = __itruediv__
1355 
1356 
1357 
1358  def __imul__(self, f):
1359  r"""__imul__(_VectorBaseKD self, double f) -> _VectorBaseKD"""
1360  return _IMP_algebra._VectorBaseKD___imul__(self, f)
1361 
1362  def show(self, *args):
1363  r"""
1364  show(_VectorBaseKD self, _ostream out, std::string delim, bool parens=True)
1365  show(_VectorBaseKD self, _ostream out=std::cout)
1366  """
1367  return _IMP_algebra._VectorBaseKD_show(self, *args)
1368 
1369  def get_dimension(self):
1370  r"""get_dimension(_VectorBaseKD self) -> unsigned int"""
1371  return _IMP_algebra._VectorBaseKD_get_dimension(self)
1372  __swig_destroy__ = _IMP_algebra.delete__VectorBaseKD
1373 
1374 # Register _VectorBaseKD in _IMP_algebra:
1375 _IMP_algebra._VectorBaseKD_swigregister(_VectorBaseKD)
1376 class _VectorBase1D(_GeometricPrimitive1D):
1377  r"""Proxy of C++ IMP::algebra::VectorBaseD< 1 > class."""
1378 
1379  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1380  __repr__ = _swig_repr
1381 
1382  def __init__(self):
1383  r"""__init__(_VectorBase1D self) -> _VectorBase1D"""
1384  _IMP_algebra._VectorBase1D_swiginit(self, _IMP_algebra.new__VectorBase1D())
1385 
1386  def get_scalar_product(self, o):
1387  r"""get_scalar_product(_VectorBase1D self, _VectorBase1D o) -> double"""
1388  return _IMP_algebra._VectorBase1D_get_scalar_product(self, o)
1389 
1390  def get_squared_magnitude(self):
1391  r"""get_squared_magnitude(_VectorBase1D self) -> double"""
1392  return _IMP_algebra._VectorBase1D_get_squared_magnitude(self)
1393 
1394  def get_magnitude(self):
1395  r"""get_magnitude(_VectorBase1D self) -> double"""
1396  return _IMP_algebra._VectorBase1D_get_magnitude(self)
1397 
1398  def get_distance(self, o):
1399  r"""get_distance(_VectorBase1D self, _VectorBase1D o) -> double"""
1400  return _IMP_algebra._VectorBase1D_get_distance(self, o)
1401 
1402  def __mul__(self, o):
1403  r"""__mul__(_VectorBase1D self, _VectorBase1D o) -> double"""
1404  return _IMP_algebra._VectorBase1D___mul__(self, o)
1405 
1406  def __iadd__(self, o):
1407  r"""__iadd__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1408  return _IMP_algebra._VectorBase1D___iadd__(self, o)
1409 
1410  def __isub__(self, o):
1411  r"""__isub__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
1412  return _IMP_algebra._VectorBase1D___isub__(self, o)
1413 
1414  def __itruediv__(self, *args):
1415  return _IMP_algebra._VectorBase1D___itruediv__(self, *args)
1416  __idiv__ = __itruediv__
1417 
1418 
1419 
1420  def __imul__(self, f):
1421  r"""__imul__(_VectorBase1D self, double f) -> _VectorBase1D"""
1422  return _IMP_algebra._VectorBase1D___imul__(self, f)
1423 
1424  def show(self, *args):
1425  r"""
1426  show(_VectorBase1D self, _ostream out, std::string delim, bool parens=True)
1427  show(_VectorBase1D self, _ostream out=std::cout)
1428  """
1429  return _IMP_algebra._VectorBase1D_show(self, *args)
1430 
1431  def get_dimension(self):
1432  r"""get_dimension(_VectorBase1D self) -> unsigned int"""
1433  return _IMP_algebra._VectorBase1D_get_dimension(self)
1434  __swig_destroy__ = _IMP_algebra.delete__VectorBase1D
1435 
1436 # Register _VectorBase1D in _IMP_algebra:
1437 _IMP_algebra._VectorBase1D_swigregister(_VectorBase1D)
1438 class _VectorBase2D(_GeometricPrimitive2D):
1439  r"""Proxy of C++ IMP::algebra::VectorBaseD< 2 > class."""
1440 
1441  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1442  __repr__ = _swig_repr
1443 
1444  def __init__(self):
1445  r"""__init__(_VectorBase2D self) -> _VectorBase2D"""
1446  _IMP_algebra._VectorBase2D_swiginit(self, _IMP_algebra.new__VectorBase2D())
1447 
1448  def get_scalar_product(self, o):
1449  r"""get_scalar_product(_VectorBase2D self, _VectorBase2D o) -> double"""
1450  return _IMP_algebra._VectorBase2D_get_scalar_product(self, o)
1451 
1452  def get_squared_magnitude(self):
1453  r"""get_squared_magnitude(_VectorBase2D self) -> double"""
1454  return _IMP_algebra._VectorBase2D_get_squared_magnitude(self)
1455 
1456  def get_magnitude(self):
1457  r"""get_magnitude(_VectorBase2D self) -> double"""
1458  return _IMP_algebra._VectorBase2D_get_magnitude(self)
1459 
1460  def get_distance(self, o):
1461  r"""get_distance(_VectorBase2D self, _VectorBase2D o) -> double"""
1462  return _IMP_algebra._VectorBase2D_get_distance(self, o)
1463 
1464  def __mul__(self, o):
1465  r"""__mul__(_VectorBase2D self, _VectorBase2D o) -> double"""
1466  return _IMP_algebra._VectorBase2D___mul__(self, o)
1467 
1468  def __iadd__(self, o):
1469  r"""__iadd__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1470  return _IMP_algebra._VectorBase2D___iadd__(self, o)
1471 
1472  def __isub__(self, o):
1473  r"""__isub__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
1474  return _IMP_algebra._VectorBase2D___isub__(self, o)
1475 
1476  def __itruediv__(self, *args):
1477  return _IMP_algebra._VectorBase2D___itruediv__(self, *args)
1478  __idiv__ = __itruediv__
1479 
1480 
1481 
1482  def __imul__(self, f):
1483  r"""__imul__(_VectorBase2D self, double f) -> _VectorBase2D"""
1484  return _IMP_algebra._VectorBase2D___imul__(self, f)
1485 
1486  def show(self, *args):
1487  r"""
1488  show(_VectorBase2D self, _ostream out, std::string delim, bool parens=True)
1489  show(_VectorBase2D self, _ostream out=std::cout)
1490  """
1491  return _IMP_algebra._VectorBase2D_show(self, *args)
1492 
1493  def get_dimension(self):
1494  r"""get_dimension(_VectorBase2D self) -> unsigned int"""
1495  return _IMP_algebra._VectorBase2D_get_dimension(self)
1496  __swig_destroy__ = _IMP_algebra.delete__VectorBase2D
1497 
1498 # Register _VectorBase2D in _IMP_algebra:
1499 _IMP_algebra._VectorBase2D_swigregister(_VectorBase2D)
1500 class _VectorBase3D(_GeometricPrimitive3D):
1501  r"""Proxy of C++ IMP::algebra::VectorBaseD< 3 > class."""
1502 
1503  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1504  __repr__ = _swig_repr
1505 
1506  def __init__(self):
1507  r"""__init__(_VectorBase3D self) -> _VectorBase3D"""
1508  _IMP_algebra._VectorBase3D_swiginit(self, _IMP_algebra.new__VectorBase3D())
1509 
1510  def get_scalar_product(self, o):
1511  r"""get_scalar_product(_VectorBase3D self, _VectorBase3D o) -> double"""
1512  return _IMP_algebra._VectorBase3D_get_scalar_product(self, o)
1513 
1514  def get_squared_magnitude(self):
1515  r"""get_squared_magnitude(_VectorBase3D self) -> double"""
1516  return _IMP_algebra._VectorBase3D_get_squared_magnitude(self)
1517 
1518  def get_magnitude(self):
1519  r"""get_magnitude(_VectorBase3D self) -> double"""
1520  return _IMP_algebra._VectorBase3D_get_magnitude(self)
1521 
1522  def get_distance(self, o):
1523  r"""get_distance(_VectorBase3D self, _VectorBase3D o) -> double"""
1524  return _IMP_algebra._VectorBase3D_get_distance(self, o)
1525 
1526  def __mul__(self, o):
1527  r"""__mul__(_VectorBase3D self, _VectorBase3D o) -> double"""
1528  return _IMP_algebra._VectorBase3D___mul__(self, o)
1529 
1530  def __iadd__(self, o):
1531  r"""__iadd__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1532  return _IMP_algebra._VectorBase3D___iadd__(self, o)
1533 
1534  def __isub__(self, o):
1535  r"""__isub__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
1536  return _IMP_algebra._VectorBase3D___isub__(self, o)
1537 
1538  def __itruediv__(self, *args):
1539  return _IMP_algebra._VectorBase3D___itruediv__(self, *args)
1540  __idiv__ = __itruediv__
1541 
1542 
1543 
1544  def __imul__(self, f):
1545  r"""__imul__(_VectorBase3D self, double f) -> _VectorBase3D"""
1546  return _IMP_algebra._VectorBase3D___imul__(self, f)
1547 
1548  def show(self, *args):
1549  r"""
1550  show(_VectorBase3D self, _ostream out, std::string delim, bool parens=True)
1551  show(_VectorBase3D self, _ostream out=std::cout)
1552  """
1553  return _IMP_algebra._VectorBase3D_show(self, *args)
1554 
1555  def get_dimension(self):
1556  r"""get_dimension(_VectorBase3D self) -> unsigned int"""
1557  return _IMP_algebra._VectorBase3D_get_dimension(self)
1558  __swig_destroy__ = _IMP_algebra.delete__VectorBase3D
1559 
1560 # Register _VectorBase3D in _IMP_algebra:
1561 _IMP_algebra._VectorBase3D_swigregister(_VectorBase3D)
1562 class _VectorBase4D(_GeometricPrimitive4D):
1563  r"""Proxy of C++ IMP::algebra::VectorBaseD< 4 > class."""
1564 
1565  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1566  __repr__ = _swig_repr
1567 
1568  def __init__(self):
1569  r"""__init__(_VectorBase4D self) -> _VectorBase4D"""
1570  _IMP_algebra._VectorBase4D_swiginit(self, _IMP_algebra.new__VectorBase4D())
1571 
1572  def get_scalar_product(self, o):
1573  r"""get_scalar_product(_VectorBase4D self, _VectorBase4D o) -> double"""
1574  return _IMP_algebra._VectorBase4D_get_scalar_product(self, o)
1575 
1576  def get_squared_magnitude(self):
1577  r"""get_squared_magnitude(_VectorBase4D self) -> double"""
1578  return _IMP_algebra._VectorBase4D_get_squared_magnitude(self)
1579 
1580  def get_magnitude(self):
1581  r"""get_magnitude(_VectorBase4D self) -> double"""
1582  return _IMP_algebra._VectorBase4D_get_magnitude(self)
1583 
1584  def get_distance(self, o):
1585  r"""get_distance(_VectorBase4D self, _VectorBase4D o) -> double"""
1586  return _IMP_algebra._VectorBase4D_get_distance(self, o)
1587 
1588  def __mul__(self, o):
1589  r"""__mul__(_VectorBase4D self, _VectorBase4D o) -> double"""
1590  return _IMP_algebra._VectorBase4D___mul__(self, o)
1591 
1592  def __iadd__(self, o):
1593  r"""__iadd__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1594  return _IMP_algebra._VectorBase4D___iadd__(self, o)
1595 
1596  def __isub__(self, o):
1597  r"""__isub__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
1598  return _IMP_algebra._VectorBase4D___isub__(self, o)
1599 
1600  def __itruediv__(self, *args):
1601  return _IMP_algebra._VectorBase4D___itruediv__(self, *args)
1602  __idiv__ = __itruediv__
1603 
1604 
1605 
1606  def __imul__(self, f):
1607  r"""__imul__(_VectorBase4D self, double f) -> _VectorBase4D"""
1608  return _IMP_algebra._VectorBase4D___imul__(self, f)
1609 
1610  def show(self, *args):
1611  r"""
1612  show(_VectorBase4D self, _ostream out, std::string delim, bool parens=True)
1613  show(_VectorBase4D self, _ostream out=std::cout)
1614  """
1615  return _IMP_algebra._VectorBase4D_show(self, *args)
1616 
1617  def get_dimension(self):
1618  r"""get_dimension(_VectorBase4D self) -> unsigned int"""
1619  return _IMP_algebra._VectorBase4D_get_dimension(self)
1620  __swig_destroy__ = _IMP_algebra.delete__VectorBase4D
1621 
1622 # Register _VectorBase4D in _IMP_algebra:
1623 _IMP_algebra._VectorBase4D_swigregister(_VectorBase4D)
1624 class _VectorBase5D(_GeometricPrimitive5D):
1625  r"""Proxy of C++ IMP::algebra::VectorBaseD< 5 > class."""
1626 
1627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1628  __repr__ = _swig_repr
1629 
1630  def __init__(self):
1631  r"""__init__(_VectorBase5D self) -> _VectorBase5D"""
1632  _IMP_algebra._VectorBase5D_swiginit(self, _IMP_algebra.new__VectorBase5D())
1633 
1634  def get_scalar_product(self, o):
1635  r"""get_scalar_product(_VectorBase5D self, _VectorBase5D o) -> double"""
1636  return _IMP_algebra._VectorBase5D_get_scalar_product(self, o)
1637 
1638  def get_squared_magnitude(self):
1639  r"""get_squared_magnitude(_VectorBase5D self) -> double"""
1640  return _IMP_algebra._VectorBase5D_get_squared_magnitude(self)
1641 
1642  def get_magnitude(self):
1643  r"""get_magnitude(_VectorBase5D self) -> double"""
1644  return _IMP_algebra._VectorBase5D_get_magnitude(self)
1645 
1646  def get_distance(self, o):
1647  r"""get_distance(_VectorBase5D self, _VectorBase5D o) -> double"""
1648  return _IMP_algebra._VectorBase5D_get_distance(self, o)
1649 
1650  def __mul__(self, o):
1651  r"""__mul__(_VectorBase5D self, _VectorBase5D o) -> double"""
1652  return _IMP_algebra._VectorBase5D___mul__(self, o)
1653 
1654  def __iadd__(self, o):
1655  r"""__iadd__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1656  return _IMP_algebra._VectorBase5D___iadd__(self, o)
1657 
1658  def __isub__(self, o):
1659  r"""__isub__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
1660  return _IMP_algebra._VectorBase5D___isub__(self, o)
1661 
1662  def __itruediv__(self, *args):
1663  return _IMP_algebra._VectorBase5D___itruediv__(self, *args)
1664  __idiv__ = __itruediv__
1665 
1666 
1667 
1668  def __imul__(self, f):
1669  r"""__imul__(_VectorBase5D self, double f) -> _VectorBase5D"""
1670  return _IMP_algebra._VectorBase5D___imul__(self, f)
1671 
1672  def show(self, *args):
1673  r"""
1674  show(_VectorBase5D self, _ostream out, std::string delim, bool parens=True)
1675  show(_VectorBase5D self, _ostream out=std::cout)
1676  """
1677  return _IMP_algebra._VectorBase5D_show(self, *args)
1678 
1679  def get_dimension(self):
1680  r"""get_dimension(_VectorBase5D self) -> unsigned int"""
1681  return _IMP_algebra._VectorBase5D_get_dimension(self)
1682  __swig_destroy__ = _IMP_algebra.delete__VectorBase5D
1683 
1684 # Register _VectorBase5D in _IMP_algebra:
1685 _IMP_algebra._VectorBase5D_swigregister(_VectorBase5D)
1686 class _VectorBase6D(_GeometricPrimitive6D):
1687  r"""Proxy of C++ IMP::algebra::VectorBaseD< 6 > class."""
1688 
1689  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1690  __repr__ = _swig_repr
1691 
1692  def __init__(self):
1693  r"""__init__(_VectorBase6D self) -> _VectorBase6D"""
1694  _IMP_algebra._VectorBase6D_swiginit(self, _IMP_algebra.new__VectorBase6D())
1695 
1696  def get_scalar_product(self, o):
1697  r"""get_scalar_product(_VectorBase6D self, _VectorBase6D o) -> double"""
1698  return _IMP_algebra._VectorBase6D_get_scalar_product(self, o)
1699 
1700  def get_squared_magnitude(self):
1701  r"""get_squared_magnitude(_VectorBase6D self) -> double"""
1702  return _IMP_algebra._VectorBase6D_get_squared_magnitude(self)
1703 
1704  def get_magnitude(self):
1705  r"""get_magnitude(_VectorBase6D self) -> double"""
1706  return _IMP_algebra._VectorBase6D_get_magnitude(self)
1707 
1708  def get_distance(self, o):
1709  r"""get_distance(_VectorBase6D self, _VectorBase6D o) -> double"""
1710  return _IMP_algebra._VectorBase6D_get_distance(self, o)
1711 
1712  def __mul__(self, o):
1713  r"""__mul__(_VectorBase6D self, _VectorBase6D o) -> double"""
1714  return _IMP_algebra._VectorBase6D___mul__(self, o)
1715 
1716  def __iadd__(self, o):
1717  r"""__iadd__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1718  return _IMP_algebra._VectorBase6D___iadd__(self, o)
1719 
1720  def __isub__(self, o):
1721  r"""__isub__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
1722  return _IMP_algebra._VectorBase6D___isub__(self, o)
1723 
1724  def __itruediv__(self, *args):
1725  return _IMP_algebra._VectorBase6D___itruediv__(self, *args)
1726  __idiv__ = __itruediv__
1727 
1728 
1729 
1730  def __imul__(self, f):
1731  r"""__imul__(_VectorBase6D self, double f) -> _VectorBase6D"""
1732  return _IMP_algebra._VectorBase6D___imul__(self, f)
1733 
1734  def show(self, *args):
1735  r"""
1736  show(_VectorBase6D self, _ostream out, std::string delim, bool parens=True)
1737  show(_VectorBase6D self, _ostream out=std::cout)
1738  """
1739  return _IMP_algebra._VectorBase6D_show(self, *args)
1740 
1741  def get_dimension(self):
1742  r"""get_dimension(_VectorBase6D self) -> unsigned int"""
1743  return _IMP_algebra._VectorBase6D_get_dimension(self)
1744  __swig_destroy__ = _IMP_algebra.delete__VectorBase6D
1745 
1746 # Register _VectorBase6D in _IMP_algebra:
1747 _IMP_algebra._VectorBase6D_swigregister(_VectorBase6D)
1748 
1749 def get_basis_vector_kd(D, coordinate):
1750  r"""get_basis_vector_kd(int D, unsigned int coordinate) -> VectorKD"""
1751  return _IMP_algebra.get_basis_vector_kd(D, coordinate)
1752 
1753 def get_zero_vector_kd(D):
1754  r"""get_zero_vector_kd(int D) -> VectorKD"""
1755  return _IMP_algebra.get_zero_vector_kd(D)
1756 
1757 def get_ones_vector_kd(D, v=1):
1758  r"""get_ones_vector_kd(unsigned int D, double v=1) -> VectorKD"""
1759  return _IMP_algebra.get_ones_vector_kd(D, v)
1760 
1761 def get_vector_product(p1, p2):
1762  r"""get_vector_product(Vector3D p1, Vector3D p2) -> Vector3D"""
1763  return _IMP_algebra.get_vector_product(p1, p2)
1764 
1765 def get_orthogonal_vector(v):
1766  r"""get_orthogonal_vector(Vector3D v) -> Vector3D"""
1767  return _IMP_algebra.get_orthogonal_vector(v)
1768 
1769 def get_centroid(ps):
1770  r"""get_centroid(IMP::algebra::Vector3Ds const & ps) -> Vector3D"""
1771  return _IMP_algebra.get_centroid(ps)
1772 
1773 def get_radius_of_gyration(ps):
1774  r"""get_radius_of_gyration(IMP::algebra::Vector3Ds const & ps) -> double"""
1775  return _IMP_algebra.get_radius_of_gyration(ps)
1776 class Rotation3D(_GeometricPrimitive3D):
1777  r"""Proxy of C++ IMP::algebra::Rotation3D class."""
1778 
1779  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1780 
1781  def __init__(self, *args):
1782  r"""
1783  __init__(Rotation3D self, Rotation3D rot) -> Rotation3D
1784  __init__(Rotation3D self, Vector4D v, bool assume_normalized=False) -> Rotation3D
1785  __init__(Rotation3D self) -> Rotation3D
1786  __init__(Rotation3D self, double a, double b, double c, double d) -> Rotation3D
1787  """
1788  _IMP_algebra.Rotation3D_swiginit(self, _IMP_algebra.new_Rotation3D(*args))
1789  __swig_destroy__ = _IMP_algebra.delete_Rotation3D
1790 
1791  def get_rotated_no_cache(self, o):
1792  r"""get_rotated_no_cache(Rotation3D self, Vector3D o) -> Vector3D"""
1793  return _IMP_algebra.Rotation3D_get_rotated_no_cache(self, o)
1794 
1795  def get_rotated_one_coordinate_no_cache(self, o, coord):
1796  r"""get_rotated_one_coordinate_no_cache(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1797  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate_no_cache(self, o, coord)
1798 
1799  def get_rotated(self, o):
1800  r"""get_rotated(Rotation3D self, Vector3D o) -> Vector3D"""
1801  return _IMP_algebra.Rotation3D_get_rotated(self, o)
1802 
1803  def get_rotated_adjoint(self, v, Dw):
1804  r"""get_rotated_adjoint(Rotation3D self, Vector3D v, Vector3D Dw) -> _RotatedVector3DAdjoint"""
1805  return _IMP_algebra.Rotation3D_get_rotated_adjoint(self, v, Dw)
1806 
1807  def get_rotated_one_coordinate(self, o, coord):
1808  r"""get_rotated_one_coordinate(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1809  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate(self, o, coord)
1810 
1811  def get_rotation_matrix_row(self, i):
1812  r"""get_rotation_matrix_row(Rotation3D self, int i) -> Vector3D"""
1813  return _IMP_algebra.Rotation3D_get_rotation_matrix_row(self, i)
1814 
1815  def show(self, *args):
1816  r"""show(Rotation3D self, _ostream out=std::cout)"""
1817  return _IMP_algebra.Rotation3D_show(self, *args)
1818 
1819  def get_inverse(self):
1820  r"""get_inverse(Rotation3D self) -> Rotation3D"""
1821  return _IMP_algebra.Rotation3D_get_inverse(self)
1822 
1823  def get_quaternion(self):
1824  r"""get_quaternion(Rotation3D self) -> Vector4D"""
1825  return _IMP_algebra.Rotation3D_get_quaternion(self)
1826 
1827  def __mul__(self, *args):
1828  r"""
1829  __mul__(Rotation3D self, Vector3D v) -> Vector3D
1830  __mul__(Rotation3D self, Rotation3D q) -> Rotation3D
1831  """
1832  return _IMP_algebra.Rotation3D___mul__(self, *args)
1833 
1834  def __truediv__(self, *args):
1835  return _IMP_algebra.Rotation3D___truediv__(self, *args)
1836  __div__ = __truediv__
1837 
1838 
1839 
1840  def get_gradient_of_rotated(self, v, i, wrt_unnorm=False):
1841  r"""get_gradient_of_rotated(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=False) -> Vector3D"""
1842  return _IMP_algebra.Rotation3D_get_gradient_of_rotated(self, v, i, wrt_unnorm)
1843 
1844  def get_jacobian_of_rotated(self, v, wrt_unnorm=False):
1845  r"""get_jacobian_of_rotated(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1846  return _IMP_algebra.Rotation3D_get_jacobian_of_rotated(self, v, wrt_unnorm)
1847 
1848  def get_is_valid(self):
1849  r"""get_is_valid(Rotation3D self) -> bool"""
1850  return _IMP_algebra.Rotation3D_get_is_valid(self)
1851 
1852  def __str__(self):
1853  r"""__str__(Rotation3D self) -> std::string"""
1854  return _IMP_algebra.Rotation3D___str__(self)
1855 
1856  def __repr__(self):
1857  r"""__repr__(Rotation3D self) -> std::string"""
1858  return _IMP_algebra.Rotation3D___repr__(self)
1859 
1860  def _get_as_binary(self):
1861  r"""_get_as_binary(Rotation3D self) -> PyObject *"""
1862  return _IMP_algebra.Rotation3D__get_as_binary(self)
1863 
1864  def _set_from_binary(self, p):
1865  r"""_set_from_binary(Rotation3D self, PyObject * p)"""
1866  return _IMP_algebra.Rotation3D__set_from_binary(self, p)
1867 
1868  def __getstate__(self):
1869  p = self._get_as_binary()
1870  if len(self.__dict__) > 1:
1871  d = self.__dict__.copy()
1872  del d['this']
1873  p = (d, p)
1874  return p
1875 
1876  def __setstate__(self, p):
1877  if not hasattr(self, 'this'):
1878  self.__init__()
1879  if isinstance(p, tuple):
1880  d, p = p
1881  self.__dict__.update(d)
1882  return self._set_from_binary(p)
1883 
1884 
1885  __truediv__ = __div__
1886 
1887 
1888 # Register Rotation3D in _IMP_algebra:
1889 _IMP_algebra.Rotation3D_swigregister(Rotation3D)
1890 
1891 def get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm=False):
1892  r"""get_jacobian_of_composed_wrt_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1893  return _IMP_algebra.get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm)
1894 
1895 def get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm=False):
1896  r"""get_jacobian_of_composed_wrt_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1897  return _IMP_algebra.get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm)
1898 
1900  r"""get_identity_rotation_3d() -> Rotation3D"""
1901  return _IMP_algebra.get_identity_rotation_3d()
1902 
1903 def get_rotation_about_normalized_axis(axis_norm, angle):
1904  r"""get_rotation_about_normalized_axis(Vector3D axis_norm, double angle) -> Rotation3D"""
1905  return _IMP_algebra.get_rotation_about_normalized_axis(axis_norm, angle)
1906 
1907 def get_rotation_about_axis(axis, angle):
1908  r"""get_rotation_about_axis(Vector3D axis, double angle) -> Rotation3D"""
1909  return _IMP_algebra.get_rotation_about_axis(axis, angle)
1910 
1912  r"""get_rotation_taking_first_to_second(Vector3D v1, Vector3D v2) -> Rotation3D"""
1913  return _IMP_algebra.get_rotation_taking_first_to_second(v1, v2)
1914 
1915 def get_rotation_from_matrix(*args):
1916  r"""
1917  get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) -> Rotation3D
1918  get_rotation_from_matrix(Eigen::Matrix3d m) -> Rotation3D
1919  """
1920  return _IMP_algebra.get_rotation_from_matrix(*args)
1921 
1922 def get_random_rotation_3d(*args):
1923  r"""
1924  get_random_rotation_3d() -> Rotation3D
1925  get_random_rotation_3d(Rotation3D center, double distance) -> Rotation3D
1926  """
1927  return _IMP_algebra.get_random_rotation_3d(*args)
1928 
1929 def get_uniform_cover_rotations_3d(num_points):
1930  r"""get_uniform_cover_rotations_3d(unsigned int num_points) -> IMP::algebra::Rotation3Ds"""
1931  return _IMP_algebra.get_uniform_cover_rotations_3d(num_points)
1932 
1934  r"""get_uniformly_sampled_rotations(double delta) -> IMP::algebra::Rotation3Ds"""
1935  return _IMP_algebra.get_uniformly_sampled_rotations(delta)
1936 
1938  r"""get_rotation_from_vector4d(Vector4D v) -> Rotation3D"""
1939  return _IMP_algebra.get_rotation_from_vector4d(v)
1940 
1941 def get_rotation_from_fixed_xyz(xr, yr, zr):
1942  r"""get_rotation_from_fixed_xyz(double xr, double yr, double zr) -> Rotation3D"""
1943  return _IMP_algebra.get_rotation_from_fixed_xyz(xr, yr, zr)
1944 
1945 def get_rotation_from_fixed_zxz(phi, theta, psi):
1946  r"""get_rotation_from_fixed_zxz(double phi, double theta, double psi) -> Rotation3D"""
1947  return _IMP_algebra.get_rotation_from_fixed_zxz(phi, theta, psi)
1948 
1949 def get_rotation_from_fixed_zyz(Rot, Tilt, Psi):
1950  r"""get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi) -> Rotation3D"""
1951  return _IMP_algebra.get_rotation_from_fixed_zyz(Rot, Tilt, Psi)
1952 class FixedXYZ(_GeometricPrimitive3D):
1953  r"""Proxy of C++ IMP::algebra::FixedXYZ class."""
1954 
1955  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1956 
1957  def __init__(self, *args):
1958  r"""
1959  __init__(FixedXYZ self) -> FixedXYZ
1960  __init__(FixedXYZ self, double x, double y, double z) -> FixedXYZ
1961  """
1962  _IMP_algebra.FixedXYZ_swiginit(self, _IMP_algebra.new_FixedXYZ(*args))
1963 
1964  def get_x(self):
1965  r"""get_x(FixedXYZ self) -> double"""
1966  return _IMP_algebra.FixedXYZ_get_x(self)
1967 
1968  def get_y(self):
1969  r"""get_y(FixedXYZ self) -> double"""
1970  return _IMP_algebra.FixedXYZ_get_y(self)
1971 
1972  def get_z(self):
1973  r"""get_z(FixedXYZ self) -> double"""
1974  return _IMP_algebra.FixedXYZ_get_z(self)
1975 
1976  def show(self, *args):
1977  r"""show(FixedXYZ self, _ostream out=std::cout)"""
1978  return _IMP_algebra.FixedXYZ_show(self, *args)
1979 
1980  def __str__(self):
1981  r"""__str__(FixedXYZ self) -> std::string"""
1982  return _IMP_algebra.FixedXYZ___str__(self)
1983 
1984  def __repr__(self):
1985  r"""__repr__(FixedXYZ self) -> std::string"""
1986  return _IMP_algebra.FixedXYZ___repr__(self)
1987 
1988  def _get_as_binary(self):
1989  r"""_get_as_binary(FixedXYZ self) -> PyObject *"""
1990  return _IMP_algebra.FixedXYZ__get_as_binary(self)
1991 
1992  def _set_from_binary(self, p):
1993  r"""_set_from_binary(FixedXYZ self, PyObject * p)"""
1994  return _IMP_algebra.FixedXYZ__set_from_binary(self, p)
1995 
1996  def __getstate__(self):
1997  p = self._get_as_binary()
1998  if len(self.__dict__) > 1:
1999  d = self.__dict__.copy()
2000  del d['this']
2001  p = (d, p)
2002  return p
2003 
2004  def __setstate__(self, p):
2005  if not hasattr(self, 'this'):
2006  self.__init__()
2007  if isinstance(p, tuple):
2008  d, p = p
2009  self.__dict__.update(d)
2010  return self._set_from_binary(p)
2011 
2012  __swig_destroy__ = _IMP_algebra.delete_FixedXYZ
2013 
2014 # Register FixedXYZ in _IMP_algebra:
2015 _IMP_algebra.FixedXYZ_swigregister(FixedXYZ)
2016 
2018  r"""get_fixed_xyz_from_rotation(Rotation3D r) -> FixedXYZ"""
2019  return _IMP_algebra.get_fixed_xyz_from_rotation(r)
2020 
2021 def get_interpolated(a, b, f):
2022  r"""get_interpolated(Rotation3D a, Rotation3D b, double f) -> Rotation3D"""
2023  return _IMP_algebra.get_interpolated(a, b, f)
2024 
2025 def get_rotation_from_x_y_axes(x, y):
2026  r"""get_rotation_from_x_y_axes(Vector3D x, Vector3D y) -> Rotation3D"""
2027  return _IMP_algebra.get_rotation_from_x_y_axes(x, y)
2028 
2029 def get_axis_and_angle(rot):
2030  r"""get_axis_and_angle(Rotation3D rot) -> _AxisAnglePair"""
2031  return _IMP_algebra.get_axis_and_angle(rot)
2032 
2034  r"""get_unit_bounding_box_kd(unsigned int d) -> BoundingBoxKD"""
2035  return _IMP_algebra.get_unit_bounding_box_kd(d)
2036 
2037 def get_cube_kd(d, radius):
2038  r"""get_cube_kd(unsigned int d, double radius) -> BoundingBoxKD"""
2039  return _IMP_algebra.get_cube_kd(d, radius)
2040 
2041 def get_edges(arg1):
2042  r"""get_edges(BoundingBox3D arg1) -> IMP::IntPairs"""
2043  return _IMP_algebra.get_edges(arg1)
2044 class Transformation3D(_GeometricPrimitive3D):
2045  r"""Proxy of C++ IMP::algebra::Transformation3D class."""
2046 
2047  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2048 
2049  def __init__(self, *args):
2050  r"""
2051  __init__(Transformation3D self, Transformation3D arg2) -> Transformation3D
2052  __init__(Transformation3D self) -> Transformation3D
2053  __init__(Transformation3D self, Rotation3D r, Vector3D t=IMP::algebra::Vector3D(0, 0, 0)) -> Transformation3D
2054  __init__(Transformation3D self, Vector3D t) -> Transformation3D
2055  """
2056  _IMP_algebra.Transformation3D_swiginit(self, _IMP_algebra.new_Transformation3D(*args))
2057  __swig_destroy__ = _IMP_algebra.delete_Transformation3D
2058 
2059  def get_transformed(self, o):
2060  r"""get_transformed(Transformation3D self, Vector3D o) -> Vector3D"""
2061  return _IMP_algebra.Transformation3D_get_transformed(self, o)
2062 
2063  def get_transformed_adjoint(self, v, Dw):
2064  r"""get_transformed_adjoint(Transformation3D self, Vector3D v, Vector3D Dw) -> _TransformedVector3DAdjoint"""
2065  return _IMP_algebra.Transformation3D_get_transformed_adjoint(self, v, Dw)
2066 
2067  def __mul__(self, *args):
2068  r"""
2069  __mul__(Transformation3D self, Vector3D v) -> Vector3D
2070  __mul__(Transformation3D self, Transformation3D tr) -> Transformation3D
2071  """
2072  return _IMP_algebra.Transformation3D___mul__(self, *args)
2073 
2074  def __truediv__(self, *args):
2075  return _IMP_algebra.Transformation3D___truediv__(self, *args)
2076  __div__ = __truediv__
2077 
2078 
2079 
2080  def get_rotation(self):
2081  r"""get_rotation(Transformation3D self) -> Rotation3D"""
2082  return _IMP_algebra.Transformation3D_get_rotation(self)
2083 
2084  def get_translation(self):
2085  r"""get_translation(Transformation3D self) -> Vector3D"""
2086  return _IMP_algebra.Transformation3D_get_translation(self)
2087 
2088  def show(self, *args):
2089  r"""show(Transformation3D self, _ostream out=std::cout)"""
2090  return _IMP_algebra.Transformation3D_show(self, *args)
2091 
2092  def get_inverse(self):
2093  r"""get_inverse(Transformation3D self) -> Transformation3D"""
2094  return _IMP_algebra.Transformation3D_get_inverse(self)
2095 
2096  def get_is_valid(self):
2097  r"""get_is_valid(Transformation3D self) -> bool"""
2098  return _IMP_algebra.Transformation3D_get_is_valid(self)
2099 
2100  def __str__(self):
2101  r"""__str__(Transformation3D self) -> std::string"""
2102  return _IMP_algebra.Transformation3D___str__(self)
2103 
2104  def __repr__(self):
2105  r"""__repr__(Transformation3D self) -> std::string"""
2106  return _IMP_algebra.Transformation3D___repr__(self)
2107 
2108  def _get_as_binary(self):
2109  r"""_get_as_binary(Transformation3D self) -> PyObject *"""
2110  return _IMP_algebra.Transformation3D__get_as_binary(self)
2111 
2112  def _set_from_binary(self, p):
2113  r"""_set_from_binary(Transformation3D self, PyObject * p)"""
2114  return _IMP_algebra.Transformation3D__set_from_binary(self, p)
2115 
2116  def __getstate__(self):
2117  p = self._get_as_binary()
2118  if len(self.__dict__) > 1:
2119  d = self.__dict__.copy()
2120  del d['this']
2121  p = (d, p)
2122  return p
2123 
2124  def __setstate__(self, p):
2125  if not hasattr(self, 'this'):
2126  self.__init__()
2127  if isinstance(p, tuple):
2128  d, p = p
2129  self.__dict__.update(d)
2130  return self._set_from_binary(p)
2131 
2132 
2133  __truediv__ = __div__
2134 
2135 
2136 # Register Transformation3D in _IMP_algebra:
2137 _IMP_algebra.Transformation3D_swigregister(Transformation3D)
2138 
2140  r"""get_identity_transformation_3d() -> Transformation3D"""
2141  return _IMP_algebra.get_identity_transformation_3d()
2142 
2143 def compose_adjoint(*args):
2144  r"""
2145  compose_adjoint(Rotation3D A, Rotation3D B, Vector4D DC) -> _ComposeRotation3DAdjoint
2146  compose_adjoint(Transformation3D TA, Transformation3D TB, _Transformation3DAdjoint DTC) -> _ComposeTransformation3DAdjoint
2147  """
2148  return _IMP_algebra.compose_adjoint(*args)
2149 
2150 def get_transformation_3d(t2d):
2151  r"""get_transformation_3d(Transformation2D t2d) -> Transformation3D"""
2152  return _IMP_algebra.get_transformation_3d(t2d)
2153 
2154 def get_random_local_transformation(origin, max_translation=5., max_angle_in_rad=0.26):
2155  r"""get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26) -> Transformation3D"""
2156  return _IMP_algebra.get_random_local_transformation(origin, max_translation, max_angle_in_rad)
2157 class Rotation2D(_GeometricPrimitive2D):
2158  r"""Proxy of C++ IMP::algebra::Rotation2D class."""
2159 
2160  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2161 
2162  def __init__(self, *args):
2163  r"""
2164  __init__(Rotation2D self) -> Rotation2D
2165  __init__(Rotation2D self, double angle) -> Rotation2D
2166  """
2167  _IMP_algebra.Rotation2D_swiginit(self, _IMP_algebra.new_Rotation2D(*args))
2168 
2169  def get_rotated(self, *args):
2170  r"""
2171  get_rotated(Rotation2D self, Vector2D o) -> Vector2D
2172  get_rotated(Rotation2D self, double const x, double const y) -> Vector2D
2173  """
2174  return _IMP_algebra.Rotation2D_get_rotated(self, *args)
2175 
2176  def get_inverse(self):
2177  r"""get_inverse(Rotation2D self) -> Rotation2D"""
2178  return _IMP_algebra.Rotation2D_get_inverse(self)
2179 
2180  def set_angle(self, angle):
2181  r"""set_angle(Rotation2D self, double angle)"""
2182  return _IMP_algebra.Rotation2D_set_angle(self, angle)
2183 
2184  def get_angle(self):
2185  r"""get_angle(Rotation2D self) -> double"""
2186  return _IMP_algebra.Rotation2D_get_angle(self)
2187 
2188  def show(self, *args):
2189  r"""show(Rotation2D self, _ostream out=std::cout)"""
2190  return _IMP_algebra.Rotation2D_show(self, *args)
2191 
2192  def __str__(self):
2193  r"""__str__(Rotation2D self) -> std::string"""
2194  return _IMP_algebra.Rotation2D___str__(self)
2195 
2196  def __repr__(self):
2197  r"""__repr__(Rotation2D self) -> std::string"""
2198  return _IMP_algebra.Rotation2D___repr__(self)
2199 
2200  def _get_as_binary(self):
2201  r"""_get_as_binary(Rotation2D self) -> PyObject *"""
2202  return _IMP_algebra.Rotation2D__get_as_binary(self)
2203 
2204  def _set_from_binary(self, p):
2205  r"""_set_from_binary(Rotation2D self, PyObject * p)"""
2206  return _IMP_algebra.Rotation2D__set_from_binary(self, p)
2207 
2208  def __getstate__(self):
2209  p = self._get_as_binary()
2210  if len(self.__dict__) > 1:
2211  d = self.__dict__.copy()
2212  del d['this']
2213  p = (d, p)
2214  return p
2215 
2216  def __setstate__(self, p):
2217  if not hasattr(self, 'this'):
2218  self.__init__()
2219  if isinstance(p, tuple):
2220  d, p = p
2221  self.__dict__.update(d)
2222  return self._set_from_binary(p)
2223 
2224  __swig_destroy__ = _IMP_algebra.delete_Rotation2D
2225 
2226 # Register Rotation2D in _IMP_algebra:
2227 _IMP_algebra.Rotation2D_swigregister(Rotation2D)
2228 
2230  r"""get_identity_rotation_2d() -> Rotation2D"""
2231  return _IMP_algebra.get_identity_rotation_2d()
2232 
2234  r"""get_random_rotation_2d() -> Rotation2D"""
2235  return _IMP_algebra.get_random_rotation_2d()
2236 
2237 def get_rotation_to_x_axis(v):
2238  r"""get_rotation_to_x_axis(Vector2D v) -> Rotation2D"""
2239  return _IMP_algebra.get_rotation_to_x_axis(v)
2240 class Transformation2D(_GeometricPrimitive2D):
2241  r"""Proxy of C++ IMP::algebra::Transformation2D class."""
2242 
2243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2244 
2245  def __init__(self, *args):
2246  r"""
2247  __init__(Transformation2D self, Transformation2D arg2) -> Transformation2D
2248  __init__(Transformation2D self) -> Transformation2D
2249  __init__(Transformation2D self, Rotation2D r, Vector2D t=IMP::algebra::Vector2D(0.0, 0.0)) -> Transformation2D
2250  __init__(Transformation2D self, Vector2D t) -> Transformation2D
2251  """
2252  _IMP_algebra.Transformation2D_swiginit(self, _IMP_algebra.new_Transformation2D(*args))
2253  __swig_destroy__ = _IMP_algebra.delete_Transformation2D
2254 
2255  def get_transformed(self, o):
2256  r"""get_transformed(Transformation2D self, Vector2D o) -> Vector2D"""
2257  return _IMP_algebra.Transformation2D_get_transformed(self, o)
2258 
2259  def __mul__(self, *args):
2260  r"""
2261  __mul__(Transformation2D self, Vector2D v) -> Vector2D
2262  __mul__(Transformation2D self, Transformation2D tr) -> Transformation2D
2263  """
2264  return _IMP_algebra.Transformation2D___mul__(self, *args)
2265 
2266  def __truediv__(self, *args):
2267  return _IMP_algebra.Transformation2D___truediv__(self, *args)
2268  __div__ = __truediv__
2269 
2270 
2271 
2272  def get_rotation(self):
2273  r"""get_rotation(Transformation2D self) -> Rotation2D"""
2274  return _IMP_algebra.Transformation2D_get_rotation(self)
2275 
2276  def set_rotation(self, angle):
2277  r"""set_rotation(Transformation2D self, double angle)"""
2278  return _IMP_algebra.Transformation2D_set_rotation(self, angle)
2279 
2280  def get_translation(self):
2281  r"""get_translation(Transformation2D self) -> Vector2D"""
2282  return _IMP_algebra.Transformation2D_get_translation(self)
2283 
2284  def set_translation(self, v):
2285  r"""set_translation(Transformation2D self, Vector2D v)"""
2286  return _IMP_algebra.Transformation2D_set_translation(self, v)
2287 
2288  def show(self, *args):
2289  r"""show(Transformation2D self, _ostream out=std::cout)"""
2290  return _IMP_algebra.Transformation2D_show(self, *args)
2291 
2292  def get_inverse(self):
2293  r"""get_inverse(Transformation2D self) -> Transformation2D"""
2294  return _IMP_algebra.Transformation2D_get_inverse(self)
2295 
2296  def __str__(self):
2297  r"""__str__(Transformation2D self) -> std::string"""
2298  return _IMP_algebra.Transformation2D___str__(self)
2299 
2300  def __repr__(self):
2301  r"""__repr__(Transformation2D self) -> std::string"""
2302  return _IMP_algebra.Transformation2D___repr__(self)
2303 
2304  def _get_as_binary(self):
2305  r"""_get_as_binary(Transformation2D self) -> PyObject *"""
2306  return _IMP_algebra.Transformation2D__get_as_binary(self)
2307 
2308  def _set_from_binary(self, p):
2309  r"""_set_from_binary(Transformation2D self, PyObject * p)"""
2310  return _IMP_algebra.Transformation2D__set_from_binary(self, p)
2311 
2312  def __getstate__(self):
2313  p = self._get_as_binary()
2314  if len(self.__dict__) > 1:
2315  d = self.__dict__.copy()
2316  del d['this']
2317  p = (d, p)
2318  return p
2319 
2320  def __setstate__(self, p):
2321  if not hasattr(self, 'this'):
2322  self.__init__()
2323  if isinstance(p, tuple):
2324  d, p = p
2325  self.__dict__.update(d)
2326  return self._set_from_binary(p)
2327 
2328 
2329  __truediv__ = __div__
2330 
2331 
2332 # Register Transformation2D in _IMP_algebra:
2333 _IMP_algebra.Transformation2D_swigregister(Transformation2D)
2334 
2336  r"""get_identity_transformation_2d() -> Transformation2D"""
2337  return _IMP_algebra.get_identity_transformation_2d()
2338 
2339 def get_rotation_about_point(*args):
2340  r"""
2341  get_rotation_about_point(Vector3D point, Rotation3D rotation) -> Transformation3D
2342  get_rotation_about_point(Vector2D point, Rotation2D rotation) -> Transformation2D
2343  """
2344  return _IMP_algebra.get_rotation_about_point(*args)
2345 
2346 def compose(*args):
2347  r"""
2348  compose(Rotation3D a, Rotation3D b) -> Rotation3D
2349  compose(Transformation3D a, Transformation3D b) -> Transformation3D
2350  compose(Rotation2D a, Rotation2D b) -> Rotation2D
2351  compose(Transformation2D a, Transformation2D b) -> Transformation2D
2352  """
2353  return _IMP_algebra.compose(*args)
2354 
2355 def get_unit_sphere_kd(d):
2356  r"""get_unit_sphere_kd(unsigned int d) -> SphereKD"""
2357  return _IMP_algebra.get_unit_sphere_kd(d)
2358 
2359 def get_enclosing_sphere(*args):
2360  r"""
2361  get_enclosing_sphere(IMP::algebra::Sphere3Ds const & ss) -> Sphere3D
2362  get_enclosing_sphere(IMP::algebra::Vector3Ds const & ss) -> Sphere3D
2363  """
2364  return _IMP_algebra.get_enclosing_sphere(*args)
2365 
2366 def get_ball_radius_from_volume_3d(volume):
2367  r"""get_ball_radius_from_volume_3d(double volume) -> double"""
2368  return _IMP_algebra.get_ball_radius_from_volume_3d(volume)
2369 
2371  r"""get_surface_area_and_volume(IMP::algebra::Sphere3Ds const & ss) -> IMP::FloatPair"""
2372  return _IMP_algebra.get_surface_area_and_volume(ss)
2373 
2374 def get_simplified_from_volume(_in, maximum_allowed_error_angstroms):
2375  r"""get_simplified_from_volume(IMP::algebra::Sphere3Ds _in, double maximum_allowed_error_angstroms) -> IMP::algebra::Sphere3Ds"""
2376  return _IMP_algebra.get_simplified_from_volume(_in, maximum_allowed_error_angstroms)
2377 
2378 def get_triangle_3d(s):
2379  r"""get_triangle_3d(UnitSimplex3D s) -> Triangle3D"""
2380  return _IMP_algebra.get_triangle_3d(s)
2381 class _UnitSimplexBaseKD(_GeometricPrimitiveKD):
2382  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< -1 > class."""
2383 
2384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2385 
2386  def __init__(self, *args, **kwargs):
2387  raise AttributeError("No constructor defined - class is abstract")
2388  __repr__ = _swig_repr
2389 
2390  def get_dimension(self):
2391  r"""get_dimension(_UnitSimplexBaseKD self) -> int"""
2392  return _IMP_algebra._UnitSimplexBaseKD_get_dimension(self)
2393 
2394  def get_barycenter(self):
2395  r"""get_barycenter(_UnitSimplexBaseKD self) -> VectorKD"""
2396  return _IMP_algebra._UnitSimplexBaseKD_get_barycenter(self)
2397 
2398  def get_contains(self, *args):
2399  r"""get_contains(_UnitSimplexBaseKD self, VectorKD p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2400  return _IMP_algebra._UnitSimplexBaseKD_get_contains(self, *args)
2401  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBaseKD
2402 
2403 # Register _UnitSimplexBaseKD in _IMP_algebra:
2404 _IMP_algebra._UnitSimplexBaseKD_swigregister(_UnitSimplexBaseKD)
2405 class _UnitSimplexBase1D(_GeometricPrimitive1D):
2406  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 1 > class."""
2407 
2408  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2409 
2410  def __init__(self, *args, **kwargs):
2411  raise AttributeError("No constructor defined - class is abstract")
2412  __repr__ = _swig_repr
2413 
2414  def get_dimension(self):
2415  r"""get_dimension(_UnitSimplexBase1D self) -> int"""
2416  return _IMP_algebra._UnitSimplexBase1D_get_dimension(self)
2417 
2418  def get_barycenter(self):
2419  r"""get_barycenter(_UnitSimplexBase1D self) -> Vector1D"""
2420  return _IMP_algebra._UnitSimplexBase1D_get_barycenter(self)
2421 
2422  def get_contains(self, *args):
2423  r"""get_contains(_UnitSimplexBase1D self, Vector1D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2424  return _IMP_algebra._UnitSimplexBase1D_get_contains(self, *args)
2425  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase1D
2426 
2427 # Register _UnitSimplexBase1D in _IMP_algebra:
2428 _IMP_algebra._UnitSimplexBase1D_swigregister(_UnitSimplexBase1D)
2429 class _UnitSimplexBase2D(_GeometricPrimitive2D):
2430  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 2 > class."""
2431 
2432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2433 
2434  def __init__(self, *args, **kwargs):
2435  raise AttributeError("No constructor defined - class is abstract")
2436  __repr__ = _swig_repr
2437 
2438  def get_dimension(self):
2439  r"""get_dimension(_UnitSimplexBase2D self) -> int"""
2440  return _IMP_algebra._UnitSimplexBase2D_get_dimension(self)
2441 
2442  def get_barycenter(self):
2443  r"""get_barycenter(_UnitSimplexBase2D self) -> Vector2D"""
2444  return _IMP_algebra._UnitSimplexBase2D_get_barycenter(self)
2445 
2446  def get_contains(self, *args):
2447  r"""get_contains(_UnitSimplexBase2D self, Vector2D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2448  return _IMP_algebra._UnitSimplexBase2D_get_contains(self, *args)
2449  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase2D
2450 
2451 # Register _UnitSimplexBase2D in _IMP_algebra:
2452 _IMP_algebra._UnitSimplexBase2D_swigregister(_UnitSimplexBase2D)
2453 class _UnitSimplexBase3D(_GeometricPrimitive3D):
2454  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 3 > class."""
2455 
2456  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2457 
2458  def __init__(self, *args, **kwargs):
2459  raise AttributeError("No constructor defined - class is abstract")
2460  __repr__ = _swig_repr
2461 
2462  def get_dimension(self):
2463  r"""get_dimension(_UnitSimplexBase3D self) -> int"""
2464  return _IMP_algebra._UnitSimplexBase3D_get_dimension(self)
2465 
2466  def get_barycenter(self):
2467  r"""get_barycenter(_UnitSimplexBase3D self) -> Vector3D"""
2468  return _IMP_algebra._UnitSimplexBase3D_get_barycenter(self)
2469 
2470  def get_contains(self, *args):
2471  r"""get_contains(_UnitSimplexBase3D self, Vector3D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2472  return _IMP_algebra._UnitSimplexBase3D_get_contains(self, *args)
2473  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase3D
2474 
2475 # Register _UnitSimplexBase3D in _IMP_algebra:
2476 _IMP_algebra._UnitSimplexBase3D_swigregister(_UnitSimplexBase3D)
2477 class _UnitSimplexBase4D(_GeometricPrimitive4D):
2478  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 4 > class."""
2479 
2480  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2481 
2482  def __init__(self, *args, **kwargs):
2483  raise AttributeError("No constructor defined - class is abstract")
2484  __repr__ = _swig_repr
2485 
2486  def get_dimension(self):
2487  r"""get_dimension(_UnitSimplexBase4D self) -> int"""
2488  return _IMP_algebra._UnitSimplexBase4D_get_dimension(self)
2489 
2490  def get_barycenter(self):
2491  r"""get_barycenter(_UnitSimplexBase4D self) -> Vector4D"""
2492  return _IMP_algebra._UnitSimplexBase4D_get_barycenter(self)
2493 
2494  def get_contains(self, *args):
2495  r"""get_contains(_UnitSimplexBase4D self, Vector4D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2496  return _IMP_algebra._UnitSimplexBase4D_get_contains(self, *args)
2497  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase4D
2498 
2499 # Register _UnitSimplexBase4D in _IMP_algebra:
2500 _IMP_algebra._UnitSimplexBase4D_swigregister(_UnitSimplexBase4D)
2501 class _UnitSimplexBase5D(_GeometricPrimitive5D):
2502  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 5 > class."""
2503 
2504  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2505 
2506  def __init__(self, *args, **kwargs):
2507  raise AttributeError("No constructor defined - class is abstract")
2508  __repr__ = _swig_repr
2509 
2510  def get_dimension(self):
2511  r"""get_dimension(_UnitSimplexBase5D self) -> int"""
2512  return _IMP_algebra._UnitSimplexBase5D_get_dimension(self)
2513 
2514  def get_barycenter(self):
2515  r"""get_barycenter(_UnitSimplexBase5D self) -> Vector5D"""
2516  return _IMP_algebra._UnitSimplexBase5D_get_barycenter(self)
2517 
2518  def get_contains(self, *args):
2519  r"""get_contains(_UnitSimplexBase5D self, Vector5D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2520  return _IMP_algebra._UnitSimplexBase5D_get_contains(self, *args)
2521  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase5D
2522 
2523 # Register _UnitSimplexBase5D in _IMP_algebra:
2524 _IMP_algebra._UnitSimplexBase5D_swigregister(_UnitSimplexBase5D)
2525 class _UnitSimplexBase6D(_GeometricPrimitive6D):
2526  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 6 > class."""
2527 
2528  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2529 
2530  def __init__(self, *args, **kwargs):
2531  raise AttributeError("No constructor defined - class is abstract")
2532  __repr__ = _swig_repr
2533 
2534  def get_dimension(self):
2535  r"""get_dimension(_UnitSimplexBase6D self) -> int"""
2536  return _IMP_algebra._UnitSimplexBase6D_get_dimension(self)
2537 
2538  def get_barycenter(self):
2539  r"""get_barycenter(_UnitSimplexBase6D self) -> Vector6D"""
2540  return _IMP_algebra._UnitSimplexBase6D_get_barycenter(self)
2541 
2542  def get_contains(self, *args):
2543  r"""get_contains(_UnitSimplexBase6D self, Vector6D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
2544  return _IMP_algebra._UnitSimplexBase6D_get_contains(self, *args)
2545  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase6D
2546 
2547 # Register _UnitSimplexBase6D in _IMP_algebra:
2548 _IMP_algebra._UnitSimplexBase6D_swigregister(_UnitSimplexBase6D)
2549 class Vector1D(_VectorBase1D):
2550  r"""Proxy of C++ IMP::algebra::VectorD< 1 > class."""
2551 
2552  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2553 
2554  def get_unit_vector(self):
2555  r"""get_unit_vector(Vector1D self) -> Vector1D"""
2556  return _IMP_algebra.Vector1D_get_unit_vector(self)
2557 
2558  def __truediv__(self, *args):
2559  return _IMP_algebra.Vector1D___truediv__(self, *args)
2560  __div__ = __truediv__
2561 
2562 
2563 
2564  def __neg__(self):
2565  r"""__neg__(Vector1D self) -> Vector1D"""
2566  return _IMP_algebra.Vector1D___neg__(self)
2567 
2568  def __sub__(self, o):
2569  r"""__sub__(Vector1D self, Vector1D o) -> Vector1D"""
2570  return _IMP_algebra.Vector1D___sub__(self, o)
2571 
2572  def __add__(self, ret):
2573  r"""__add__(Vector1D self, Vector1D ret) -> Vector1D"""
2574  return _IMP_algebra.Vector1D___add__(self, ret)
2575 
2576  def __mul__(self, *args):
2577  r"""
2578  __mul__(Vector1D self, double s) -> Vector1D
2579  __mul__(Vector1D self, Vector1D o) -> double
2580  """
2581  return _IMP_algebra.Vector1D___mul__(self, *args)
2582 
2583  def __init__(self, *args):
2584  r"""
2585  __init__(Vector1D self, IMP::Floats const & f) -> Vector1D
2586  __init__(Vector1D self) -> Vector1D
2587  __init__(Vector1D self, double x) -> Vector1D
2588  """
2589  _IMP_algebra.Vector1D_swiginit(self, _IMP_algebra.new_Vector1D(*args))
2590 
2591  def __iadd__(self, *args):
2592  _IMP_algebra.Vector1D___iadd__(self, *args)
2593  return self
2594 
2595 
2596 
2597  def __imul__(self, *args):
2598  _IMP_algebra.Vector1D___imul__(self, *args)
2599  return self
2600 
2601 
2602 
2603  def __idiv__(self, *args):
2604  _IMP_algebra.Vector1D___idiv__(self, *args)
2605  return self
2606 
2607 
2608 
2609  def __isub__(self, *args):
2610  _IMP_algebra.Vector1D___isub__(self, *args)
2611  return self
2612 
2613 
2614 
2615  def __len__(self):
2616  r"""__len__(Vector1D self) -> unsigned int"""
2617  return _IMP_algebra.Vector1D___len__(self)
2618 
2619  def __rmul__(self, f):
2620  r"""__rmul__(Vector1D self, double f) -> Vector1D"""
2621  return _IMP_algebra.Vector1D___rmul__(self, f)
2622 
2623  def __str__(self):
2624  r"""__str__(Vector1D self) -> std::string"""
2625  return _IMP_algebra.Vector1D___str__(self)
2626 
2627  def __repr__(self):
2628  r"""__repr__(Vector1D self) -> std::string"""
2629  return _IMP_algebra.Vector1D___repr__(self)
2630 
2631  def __cmp__(self, arg2):
2632  r"""__cmp__(Vector1D self, Vector1D arg2) -> int"""
2633  return _IMP_algebra.Vector1D___cmp__(self, arg2)
2634 
2635  def __eq__(self, arg2):
2636  r"""__eq__(Vector1D self, Vector1D arg2) -> bool"""
2637  return _IMP_algebra.Vector1D___eq__(self, arg2)
2638 
2639  __truediv__ = __div__
2640  __itruediv__ = __idiv__
2641 
2642 
2643  def _get_as_binary(self):
2644  r"""_get_as_binary(Vector1D self) -> PyObject *"""
2645  return _IMP_algebra.Vector1D__get_as_binary(self)
2646 
2647  def _set_from_binary(self, p):
2648  r"""_set_from_binary(Vector1D self, PyObject * p)"""
2649  return _IMP_algebra.Vector1D__set_from_binary(self, p)
2650 
2651  def __getstate__(self):
2652  p = self._get_as_binary()
2653  if len(self.__dict__) > 1:
2654  d = self.__dict__.copy()
2655  del d['this']
2656  p = (d, p)
2657  return p
2658 
2659  def __setstate__(self, p):
2660  if not hasattr(self, 'this'):
2661  self.__init__()
2662  if isinstance(p, tuple):
2663  d, p = p
2664  self.__dict__.update(d)
2665  return self._set_from_binary(p)
2666 
2667 
2668  def __getitem__(self, index):
2669  r"""__getitem__(Vector1D self, int index) -> double"""
2670  return _IMP_algebra.Vector1D___getitem__(self, index)
2671 
2672  def __setitem__(self, index, val):
2673  r"""__setitem__(Vector1D self, int index, double val)"""
2674  return _IMP_algebra.Vector1D___setitem__(self, index, val)
2675  __swig_destroy__ = _IMP_algebra.delete_Vector1D
2676 
2677 # Register Vector1D in _IMP_algebra:
2678 _IMP_algebra.Vector1D_swigregister(Vector1D)
2679 class Vector2D(_VectorBase2D):
2680  r"""Proxy of C++ IMP::algebra::VectorD< 2 > class."""
2681 
2682  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2683 
2684  def get_unit_vector(self):
2685  r"""get_unit_vector(Vector2D self) -> Vector2D"""
2686  return _IMP_algebra.Vector2D_get_unit_vector(self)
2687 
2688  def __truediv__(self, *args):
2689  return _IMP_algebra.Vector2D___truediv__(self, *args)
2690  __div__ = __truediv__
2691 
2692 
2693 
2694  def __neg__(self):
2695  r"""__neg__(Vector2D self) -> Vector2D"""
2696  return _IMP_algebra.Vector2D___neg__(self)
2697 
2698  def __sub__(self, o):
2699  r"""__sub__(Vector2D self, Vector2D o) -> Vector2D"""
2700  return _IMP_algebra.Vector2D___sub__(self, o)
2701 
2702  def __add__(self, ret):
2703  r"""__add__(Vector2D self, Vector2D ret) -> Vector2D"""
2704  return _IMP_algebra.Vector2D___add__(self, ret)
2705 
2706  def __mul__(self, *args):
2707  r"""
2708  __mul__(Vector2D self, double s) -> Vector2D
2709  __mul__(Vector2D self, Vector2D o) -> double
2710  """
2711  return _IMP_algebra.Vector2D___mul__(self, *args)
2712 
2713  def __init__(self, *args):
2714  r"""
2715  __init__(Vector2D self, IMP::Floats const & f) -> Vector2D
2716  __init__(Vector2D self) -> Vector2D
2717  __init__(Vector2D self, double x, double y) -> Vector2D
2718  """
2719  _IMP_algebra.Vector2D_swiginit(self, _IMP_algebra.new_Vector2D(*args))
2720 
2721  def __iadd__(self, *args):
2722  _IMP_algebra.Vector2D___iadd__(self, *args)
2723  return self
2724 
2725 
2726 
2727  def __imul__(self, *args):
2728  _IMP_algebra.Vector2D___imul__(self, *args)
2729  return self
2730 
2731 
2732 
2733  def __idiv__(self, *args):
2734  _IMP_algebra.Vector2D___idiv__(self, *args)
2735  return self
2736 
2737 
2738 
2739  def __isub__(self, *args):
2740  _IMP_algebra.Vector2D___isub__(self, *args)
2741  return self
2742 
2743 
2744 
2745  def __len__(self):
2746  r"""__len__(Vector2D self) -> unsigned int"""
2747  return _IMP_algebra.Vector2D___len__(self)
2748 
2749  def __rmul__(self, f):
2750  r"""__rmul__(Vector2D self, double f) -> Vector2D"""
2751  return _IMP_algebra.Vector2D___rmul__(self, f)
2752 
2753  def __str__(self):
2754  r"""__str__(Vector2D self) -> std::string"""
2755  return _IMP_algebra.Vector2D___str__(self)
2756 
2757  def __repr__(self):
2758  r"""__repr__(Vector2D self) -> std::string"""
2759  return _IMP_algebra.Vector2D___repr__(self)
2760 
2761  def __cmp__(self, arg2):
2762  r"""__cmp__(Vector2D self, Vector2D arg2) -> int"""
2763  return _IMP_algebra.Vector2D___cmp__(self, arg2)
2764 
2765  def __eq__(self, arg2):
2766  r"""__eq__(Vector2D self, Vector2D arg2) -> bool"""
2767  return _IMP_algebra.Vector2D___eq__(self, arg2)
2768 
2769  __truediv__ = __div__
2770  __itruediv__ = __idiv__
2771 
2772 
2773  def _get_as_binary(self):
2774  r"""_get_as_binary(Vector2D self) -> PyObject *"""
2775  return _IMP_algebra.Vector2D__get_as_binary(self)
2776 
2777  def _set_from_binary(self, p):
2778  r"""_set_from_binary(Vector2D self, PyObject * p)"""
2779  return _IMP_algebra.Vector2D__set_from_binary(self, p)
2780 
2781  def __getstate__(self):
2782  p = self._get_as_binary()
2783  if len(self.__dict__) > 1:
2784  d = self.__dict__.copy()
2785  del d['this']
2786  p = (d, p)
2787  return p
2788 
2789  def __setstate__(self, p):
2790  if not hasattr(self, 'this'):
2791  self.__init__()
2792  if isinstance(p, tuple):
2793  d, p = p
2794  self.__dict__.update(d)
2795  return self._set_from_binary(p)
2796 
2797 
2798  def __getitem__(self, index):
2799  r"""__getitem__(Vector2D self, int index) -> double"""
2800  return _IMP_algebra.Vector2D___getitem__(self, index)
2801 
2802  def __setitem__(self, index, val):
2803  r"""__setitem__(Vector2D self, int index, double val)"""
2804  return _IMP_algebra.Vector2D___setitem__(self, index, val)
2805  __swig_destroy__ = _IMP_algebra.delete_Vector2D
2806 
2807 # Register Vector2D in _IMP_algebra:
2808 _IMP_algebra.Vector2D_swigregister(Vector2D)
2809 class Vector3D(_VectorBase3D):
2810  r"""Proxy of C++ IMP::algebra::VectorD< 3 > class."""
2811 
2812  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2813 
2814  def get_unit_vector(self):
2815  r"""get_unit_vector(Vector3D self) -> Vector3D"""
2816  return _IMP_algebra.Vector3D_get_unit_vector(self)
2817 
2818  def __truediv__(self, *args):
2819  return _IMP_algebra.Vector3D___truediv__(self, *args)
2820  __div__ = __truediv__
2821 
2822 
2823 
2824  def __neg__(self):
2825  r"""__neg__(Vector3D self) -> Vector3D"""
2826  return _IMP_algebra.Vector3D___neg__(self)
2827 
2828  def __sub__(self, o):
2829  r"""__sub__(Vector3D self, Vector3D o) -> Vector3D"""
2830  return _IMP_algebra.Vector3D___sub__(self, o)
2831 
2832  def __add__(self, ret):
2833  r"""__add__(Vector3D self, Vector3D ret) -> Vector3D"""
2834  return _IMP_algebra.Vector3D___add__(self, ret)
2835 
2836  def __mul__(self, *args):
2837  r"""
2838  __mul__(Vector3D self, double s) -> Vector3D
2839  __mul__(Vector3D self, Vector3D o) -> double
2840  """
2841  return _IMP_algebra.Vector3D___mul__(self, *args)
2842 
2843  def __init__(self, *args):
2844  r"""
2845  __init__(Vector3D self, IMP::Floats const & f) -> Vector3D
2846  __init__(Vector3D self) -> Vector3D
2847  __init__(Vector3D self, double x, double y, double z) -> Vector3D
2848  """
2849  _IMP_algebra.Vector3D_swiginit(self, _IMP_algebra.new_Vector3D(*args))
2850 
2851  def __iadd__(self, *args):
2852  _IMP_algebra.Vector3D___iadd__(self, *args)
2853  return self
2854 
2855 
2856 
2857  def __imul__(self, *args):
2858  _IMP_algebra.Vector3D___imul__(self, *args)
2859  return self
2860 
2861 
2862 
2863  def __idiv__(self, *args):
2864  _IMP_algebra.Vector3D___idiv__(self, *args)
2865  return self
2866 
2867 
2868 
2869  def __isub__(self, *args):
2870  _IMP_algebra.Vector3D___isub__(self, *args)
2871  return self
2872 
2873 
2874 
2875  def __len__(self):
2876  r"""__len__(Vector3D self) -> unsigned int"""
2877  return _IMP_algebra.Vector3D___len__(self)
2878 
2879  def __rmul__(self, f):
2880  r"""__rmul__(Vector3D self, double f) -> Vector3D"""
2881  return _IMP_algebra.Vector3D___rmul__(self, f)
2882 
2883  def __str__(self):
2884  r"""__str__(Vector3D self) -> std::string"""
2885  return _IMP_algebra.Vector3D___str__(self)
2886 
2887  def __repr__(self):
2888  r"""__repr__(Vector3D self) -> std::string"""
2889  return _IMP_algebra.Vector3D___repr__(self)
2890 
2891  def __cmp__(self, arg2):
2892  r"""__cmp__(Vector3D self, Vector3D arg2) -> int"""
2893  return _IMP_algebra.Vector3D___cmp__(self, arg2)
2894 
2895  def __eq__(self, arg2):
2896  r"""__eq__(Vector3D self, Vector3D arg2) -> bool"""
2897  return _IMP_algebra.Vector3D___eq__(self, arg2)
2898 
2899  __truediv__ = __div__
2900  __itruediv__ = __idiv__
2901 
2902 
2903  def _get_as_binary(self):
2904  r"""_get_as_binary(Vector3D self) -> PyObject *"""
2905  return _IMP_algebra.Vector3D__get_as_binary(self)
2906 
2907  def _set_from_binary(self, p):
2908  r"""_set_from_binary(Vector3D self, PyObject * p)"""
2909  return _IMP_algebra.Vector3D__set_from_binary(self, p)
2910 
2911  def __getstate__(self):
2912  p = self._get_as_binary()
2913  if len(self.__dict__) > 1:
2914  d = self.__dict__.copy()
2915  del d['this']
2916  p = (d, p)
2917  return p
2918 
2919  def __setstate__(self, p):
2920  if not hasattr(self, 'this'):
2921  self.__init__()
2922  if isinstance(p, tuple):
2923  d, p = p
2924  self.__dict__.update(d)
2925  return self._set_from_binary(p)
2926 
2927 
2928  def __getitem__(self, index):
2929  r"""__getitem__(Vector3D self, int index) -> double"""
2930  return _IMP_algebra.Vector3D___getitem__(self, index)
2931 
2932  def __setitem__(self, index, val):
2933  r"""__setitem__(Vector3D self, int index, double val)"""
2934  return _IMP_algebra.Vector3D___setitem__(self, index, val)
2935  __swig_destroy__ = _IMP_algebra.delete_Vector3D
2936 
2937 # Register Vector3D in _IMP_algebra:
2938 _IMP_algebra.Vector3D_swigregister(Vector3D)
2939 class Vector4D(_VectorBase4D):
2940  r"""Proxy of C++ IMP::algebra::VectorD< 4 > class."""
2941 
2942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2943 
2944  def get_unit_vector(self):
2945  r"""get_unit_vector(Vector4D self) -> Vector4D"""
2946  return _IMP_algebra.Vector4D_get_unit_vector(self)
2947 
2948  def __truediv__(self, *args):
2949  return _IMP_algebra.Vector4D___truediv__(self, *args)
2950  __div__ = __truediv__
2951 
2952 
2953 
2954  def __neg__(self):
2955  r"""__neg__(Vector4D self) -> Vector4D"""
2956  return _IMP_algebra.Vector4D___neg__(self)
2957 
2958  def __sub__(self, o):
2959  r"""__sub__(Vector4D self, Vector4D o) -> Vector4D"""
2960  return _IMP_algebra.Vector4D___sub__(self, o)
2961 
2962  def __add__(self, ret):
2963  r"""__add__(Vector4D self, Vector4D ret) -> Vector4D"""
2964  return _IMP_algebra.Vector4D___add__(self, ret)
2965 
2966  def __mul__(self, *args):
2967  r"""
2968  __mul__(Vector4D self, double s) -> Vector4D
2969  __mul__(Vector4D self, Vector4D o) -> double
2970  """
2971  return _IMP_algebra.Vector4D___mul__(self, *args)
2972 
2973  def __init__(self, *args):
2974  r"""
2975  __init__(Vector4D self, IMP::Floats const & f) -> Vector4D
2976  __init__(Vector4D self) -> Vector4D
2977  __init__(Vector4D self, double x0, double x1, double x2, double x3) -> Vector4D
2978  """
2979  _IMP_algebra.Vector4D_swiginit(self, _IMP_algebra.new_Vector4D(*args))
2980 
2981  def __iadd__(self, *args):
2982  _IMP_algebra.Vector4D___iadd__(self, *args)
2983  return self
2984 
2985 
2986 
2987  def __imul__(self, *args):
2988  _IMP_algebra.Vector4D___imul__(self, *args)
2989  return self
2990 
2991 
2992 
2993  def __idiv__(self, *args):
2994  _IMP_algebra.Vector4D___idiv__(self, *args)
2995  return self
2996 
2997 
2998 
2999  def __isub__(self, *args):
3000  _IMP_algebra.Vector4D___isub__(self, *args)
3001  return self
3002 
3003 
3004 
3005  def __len__(self):
3006  r"""__len__(Vector4D self) -> unsigned int"""
3007  return _IMP_algebra.Vector4D___len__(self)
3008 
3009  def __rmul__(self, f):
3010  r"""__rmul__(Vector4D self, double f) -> Vector4D"""
3011  return _IMP_algebra.Vector4D___rmul__(self, f)
3012 
3013  def __str__(self):
3014  r"""__str__(Vector4D self) -> std::string"""
3015  return _IMP_algebra.Vector4D___str__(self)
3016 
3017  def __repr__(self):
3018  r"""__repr__(Vector4D self) -> std::string"""
3019  return _IMP_algebra.Vector4D___repr__(self)
3020 
3021  def __cmp__(self, arg2):
3022  r"""__cmp__(Vector4D self, Vector4D arg2) -> int"""
3023  return _IMP_algebra.Vector4D___cmp__(self, arg2)
3024 
3025  def __eq__(self, arg2):
3026  r"""__eq__(Vector4D self, Vector4D arg2) -> bool"""
3027  return _IMP_algebra.Vector4D___eq__(self, arg2)
3028 
3029  __truediv__ = __div__
3030  __itruediv__ = __idiv__
3031 
3032 
3033  def _get_as_binary(self):
3034  r"""_get_as_binary(Vector4D self) -> PyObject *"""
3035  return _IMP_algebra.Vector4D__get_as_binary(self)
3036 
3037  def _set_from_binary(self, p):
3038  r"""_set_from_binary(Vector4D self, PyObject * p)"""
3039  return _IMP_algebra.Vector4D__set_from_binary(self, p)
3040 
3041  def __getstate__(self):
3042  p = self._get_as_binary()
3043  if len(self.__dict__) > 1:
3044  d = self.__dict__.copy()
3045  del d['this']
3046  p = (d, p)
3047  return p
3048 
3049  def __setstate__(self, p):
3050  if not hasattr(self, 'this'):
3051  self.__init__()
3052  if isinstance(p, tuple):
3053  d, p = p
3054  self.__dict__.update(d)
3055  return self._set_from_binary(p)
3056 
3057 
3058  def __getitem__(self, index):
3059  r"""__getitem__(Vector4D self, int index) -> double"""
3060  return _IMP_algebra.Vector4D___getitem__(self, index)
3061 
3062  def __setitem__(self, index, val):
3063  r"""__setitem__(Vector4D self, int index, double val)"""
3064  return _IMP_algebra.Vector4D___setitem__(self, index, val)
3065  __swig_destroy__ = _IMP_algebra.delete_Vector4D
3066 
3067 # Register Vector4D in _IMP_algebra:
3068 _IMP_algebra.Vector4D_swigregister(Vector4D)
3069 class Vector5D(_VectorBase5D):
3070  r"""Proxy of C++ IMP::algebra::VectorD< 5 > class."""
3071 
3072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3073 
3074  def get_unit_vector(self):
3075  r"""get_unit_vector(Vector5D self) -> Vector5D"""
3076  return _IMP_algebra.Vector5D_get_unit_vector(self)
3077 
3078  def __truediv__(self, *args):
3079  return _IMP_algebra.Vector5D___truediv__(self, *args)
3080  __div__ = __truediv__
3081 
3082 
3083 
3084  def __neg__(self):
3085  r"""__neg__(Vector5D self) -> Vector5D"""
3086  return _IMP_algebra.Vector5D___neg__(self)
3087 
3088  def __sub__(self, o):
3089  r"""__sub__(Vector5D self, Vector5D o) -> Vector5D"""
3090  return _IMP_algebra.Vector5D___sub__(self, o)
3091 
3092  def __add__(self, ret):
3093  r"""__add__(Vector5D self, Vector5D ret) -> Vector5D"""
3094  return _IMP_algebra.Vector5D___add__(self, ret)
3095 
3096  def __mul__(self, *args):
3097  r"""
3098  __mul__(Vector5D self, double s) -> Vector5D
3099  __mul__(Vector5D self, Vector5D o) -> double
3100  """
3101  return _IMP_algebra.Vector5D___mul__(self, *args)
3102 
3103  def __init__(self, *args):
3104  r"""
3105  __init__(Vector5D self, IMP::Floats const & f) -> Vector5D
3106  __init__(Vector5D self) -> Vector5D
3107  __init__(Vector5D self, double x0, double x1, double x2, double x3, double x4) -> Vector5D
3108  """
3109  _IMP_algebra.Vector5D_swiginit(self, _IMP_algebra.new_Vector5D(*args))
3110 
3111  def __iadd__(self, *args):
3112  _IMP_algebra.Vector5D___iadd__(self, *args)
3113  return self
3114 
3115 
3116 
3117  def __imul__(self, *args):
3118  _IMP_algebra.Vector5D___imul__(self, *args)
3119  return self
3120 
3121 
3122 
3123  def __idiv__(self, *args):
3124  _IMP_algebra.Vector5D___idiv__(self, *args)
3125  return self
3126 
3127 
3128 
3129  def __isub__(self, *args):
3130  _IMP_algebra.Vector5D___isub__(self, *args)
3131  return self
3132 
3133 
3134 
3135  def __len__(self):
3136  r"""__len__(Vector5D self) -> unsigned int"""
3137  return _IMP_algebra.Vector5D___len__(self)
3138 
3139  def __rmul__(self, f):
3140  r"""__rmul__(Vector5D self, double f) -> Vector5D"""
3141  return _IMP_algebra.Vector5D___rmul__(self, f)
3142 
3143  def __str__(self):
3144  r"""__str__(Vector5D self) -> std::string"""
3145  return _IMP_algebra.Vector5D___str__(self)
3146 
3147  def __repr__(self):
3148  r"""__repr__(Vector5D self) -> std::string"""
3149  return _IMP_algebra.Vector5D___repr__(self)
3150 
3151  def __cmp__(self, arg2):
3152  r"""__cmp__(Vector5D self, Vector5D arg2) -> int"""
3153  return _IMP_algebra.Vector5D___cmp__(self, arg2)
3154 
3155  def __eq__(self, arg2):
3156  r"""__eq__(Vector5D self, Vector5D arg2) -> bool"""
3157  return _IMP_algebra.Vector5D___eq__(self, arg2)
3158 
3159  __truediv__ = __div__
3160  __itruediv__ = __idiv__
3161 
3162 
3163  def _get_as_binary(self):
3164  r"""_get_as_binary(Vector5D self) -> PyObject *"""
3165  return _IMP_algebra.Vector5D__get_as_binary(self)
3166 
3167  def _set_from_binary(self, p):
3168  r"""_set_from_binary(Vector5D self, PyObject * p)"""
3169  return _IMP_algebra.Vector5D__set_from_binary(self, p)
3170 
3171  def __getstate__(self):
3172  p = self._get_as_binary()
3173  if len(self.__dict__) > 1:
3174  d = self.__dict__.copy()
3175  del d['this']
3176  p = (d, p)
3177  return p
3178 
3179  def __setstate__(self, p):
3180  if not hasattr(self, 'this'):
3181  self.__init__()
3182  if isinstance(p, tuple):
3183  d, p = p
3184  self.__dict__.update(d)
3185  return self._set_from_binary(p)
3186 
3187 
3188  def __getitem__(self, index):
3189  r"""__getitem__(Vector5D self, int index) -> double"""
3190  return _IMP_algebra.Vector5D___getitem__(self, index)
3191 
3192  def __setitem__(self, index, val):
3193  r"""__setitem__(Vector5D self, int index, double val)"""
3194  return _IMP_algebra.Vector5D___setitem__(self, index, val)
3195  __swig_destroy__ = _IMP_algebra.delete_Vector5D
3196 
3197 # Register Vector5D in _IMP_algebra:
3198 _IMP_algebra.Vector5D_swigregister(Vector5D)
3199 class Vector6D(_VectorBase6D):
3200  r"""Proxy of C++ IMP::algebra::VectorD< 6 > class."""
3201 
3202  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3203 
3204  def get_unit_vector(self):
3205  r"""get_unit_vector(Vector6D self) -> Vector6D"""
3206  return _IMP_algebra.Vector6D_get_unit_vector(self)
3207 
3208  def __truediv__(self, *args):
3209  return _IMP_algebra.Vector6D___truediv__(self, *args)
3210  __div__ = __truediv__
3211 
3212 
3213 
3214  def __neg__(self):
3215  r"""__neg__(Vector6D self) -> Vector6D"""
3216  return _IMP_algebra.Vector6D___neg__(self)
3217 
3218  def __sub__(self, o):
3219  r"""__sub__(Vector6D self, Vector6D o) -> Vector6D"""
3220  return _IMP_algebra.Vector6D___sub__(self, o)
3221 
3222  def __add__(self, ret):
3223  r"""__add__(Vector6D self, Vector6D ret) -> Vector6D"""
3224  return _IMP_algebra.Vector6D___add__(self, ret)
3225 
3226  def __mul__(self, *args):
3227  r"""
3228  __mul__(Vector6D self, double s) -> Vector6D
3229  __mul__(Vector6D self, Vector6D o) -> double
3230  """
3231  return _IMP_algebra.Vector6D___mul__(self, *args)
3232 
3233  def __init__(self, *args):
3234  r"""
3235  __init__(Vector6D self, IMP::Floats const & f) -> Vector6D
3236  __init__(Vector6D self) -> Vector6D
3237  __init__(Vector6D self, double x0, double x1, double x2, double x3, double x4, double x5) -> Vector6D
3238  """
3239  _IMP_algebra.Vector6D_swiginit(self, _IMP_algebra.new_Vector6D(*args))
3240 
3241  def __iadd__(self, *args):
3242  _IMP_algebra.Vector6D___iadd__(self, *args)
3243  return self
3244 
3245 
3246 
3247  def __imul__(self, *args):
3248  _IMP_algebra.Vector6D___imul__(self, *args)
3249  return self
3250 
3251 
3252 
3253  def __idiv__(self, *args):
3254  _IMP_algebra.Vector6D___idiv__(self, *args)
3255  return self
3256 
3257 
3258 
3259  def __isub__(self, *args):
3260  _IMP_algebra.Vector6D___isub__(self, *args)
3261  return self
3262 
3263 
3264 
3265  def __len__(self):
3266  r"""__len__(Vector6D self) -> unsigned int"""
3267  return _IMP_algebra.Vector6D___len__(self)
3268 
3269  def __rmul__(self, f):
3270  r"""__rmul__(Vector6D self, double f) -> Vector6D"""
3271  return _IMP_algebra.Vector6D___rmul__(self, f)
3272 
3273  def __str__(self):
3274  r"""__str__(Vector6D self) -> std::string"""
3275  return _IMP_algebra.Vector6D___str__(self)
3276 
3277  def __repr__(self):
3278  r"""__repr__(Vector6D self) -> std::string"""
3279  return _IMP_algebra.Vector6D___repr__(self)
3280 
3281  def __cmp__(self, arg2):
3282  r"""__cmp__(Vector6D self, Vector6D arg2) -> int"""
3283  return _IMP_algebra.Vector6D___cmp__(self, arg2)
3284 
3285  def __eq__(self, arg2):
3286  r"""__eq__(Vector6D self, Vector6D arg2) -> bool"""
3287  return _IMP_algebra.Vector6D___eq__(self, arg2)
3288 
3289  __truediv__ = __div__
3290  __itruediv__ = __idiv__
3291 
3292 
3293  def _get_as_binary(self):
3294  r"""_get_as_binary(Vector6D self) -> PyObject *"""
3295  return _IMP_algebra.Vector6D__get_as_binary(self)
3296 
3297  def _set_from_binary(self, p):
3298  r"""_set_from_binary(Vector6D self, PyObject * p)"""
3299  return _IMP_algebra.Vector6D__set_from_binary(self, p)
3300 
3301  def __getstate__(self):
3302  p = self._get_as_binary()
3303  if len(self.__dict__) > 1:
3304  d = self.__dict__.copy()
3305  del d['this']
3306  p = (d, p)
3307  return p
3308 
3309  def __setstate__(self, p):
3310  if not hasattr(self, 'this'):
3311  self.__init__()
3312  if isinstance(p, tuple):
3313  d, p = p
3314  self.__dict__.update(d)
3315  return self._set_from_binary(p)
3316 
3317 
3318  def __getitem__(self, index):
3319  r"""__getitem__(Vector6D self, int index) -> double"""
3320  return _IMP_algebra.Vector6D___getitem__(self, index)
3321 
3322  def __setitem__(self, index, val):
3323  r"""__setitem__(Vector6D self, int index, double val)"""
3324  return _IMP_algebra.Vector6D___setitem__(self, index, val)
3325  __swig_destroy__ = _IMP_algebra.delete_Vector6D
3326 
3327 # Register Vector6D in _IMP_algebra:
3328 _IMP_algebra.Vector6D_swigregister(Vector6D)
3329 class VectorKD(_VectorBaseKD):
3330  r"""Proxy of C++ IMP::algebra::VectorD< -1 > class."""
3331 
3332  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3333 
3334  def get_unit_vector(self):
3335  r"""get_unit_vector(VectorKD self) -> VectorKD"""
3336  return _IMP_algebra.VectorKD_get_unit_vector(self)
3337 
3338  def __truediv__(self, *args):
3339  return _IMP_algebra.VectorKD___truediv__(self, *args)
3340  __div__ = __truediv__
3341 
3342 
3343 
3344  def __neg__(self):
3345  r"""__neg__(VectorKD self) -> VectorKD"""
3346  return _IMP_algebra.VectorKD___neg__(self)
3347 
3348  def __sub__(self, o):
3349  r"""__sub__(VectorKD self, VectorKD o) -> VectorKD"""
3350  return _IMP_algebra.VectorKD___sub__(self, o)
3351 
3352  def __add__(self, ret):
3353  r"""__add__(VectorKD self, VectorKD ret) -> VectorKD"""
3354  return _IMP_algebra.VectorKD___add__(self, ret)
3355 
3356  def __mul__(self, *args):
3357  r"""
3358  __mul__(VectorKD self, double s) -> VectorKD
3359  __mul__(VectorKD self, VectorKD o) -> double
3360  """
3361  return _IMP_algebra.VectorKD___mul__(self, *args)
3362 
3363  def __init__(self, *args):
3364  r"""
3365  __init__(VectorKD self, IMP::Floats const & f) -> VectorKD
3366  __init__(VectorKD self) -> VectorKD
3367  __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
3368  """
3369  _IMP_algebra.VectorKD_swiginit(self, _IMP_algebra.new_VectorKD(*args))
3370 
3371  def __iadd__(self, *args):
3372  _IMP_algebra.VectorKD___iadd__(self, *args)
3373  return self
3374 
3375 
3376 
3377  def __imul__(self, *args):
3378  _IMP_algebra.VectorKD___imul__(self, *args)
3379  return self
3380 
3381 
3382 
3383  def __idiv__(self, *args):
3384  _IMP_algebra.VectorKD___idiv__(self, *args)
3385  return self
3386 
3387 
3388 
3389  def __isub__(self, *args):
3390  _IMP_algebra.VectorKD___isub__(self, *args)
3391  return self
3392 
3393 
3394 
3395  def __len__(self):
3396  r"""__len__(VectorKD self) -> unsigned int"""
3397  return _IMP_algebra.VectorKD___len__(self)
3398 
3399  def __rmul__(self, f):
3400  r"""__rmul__(VectorKD self, double f) -> VectorKD"""
3401  return _IMP_algebra.VectorKD___rmul__(self, f)
3402 
3403  def __str__(self):
3404  r"""__str__(VectorKD self) -> std::string"""
3405  return _IMP_algebra.VectorKD___str__(self)
3406 
3407  def __repr__(self):
3408  r"""__repr__(VectorKD self) -> std::string"""
3409  return _IMP_algebra.VectorKD___repr__(self)
3410 
3411  def __cmp__(self, arg2):
3412  r"""__cmp__(VectorKD self, VectorKD arg2) -> int"""
3413  return _IMP_algebra.VectorKD___cmp__(self, arg2)
3414 
3415  def __eq__(self, arg2):
3416  r"""__eq__(VectorKD self, VectorKD arg2) -> bool"""
3417  return _IMP_algebra.VectorKD___eq__(self, arg2)
3418 
3419  __truediv__ = __div__
3420  __itruediv__ = __idiv__
3421 
3422 
3423  def _get_as_binary(self):
3424  r"""_get_as_binary(VectorKD self) -> PyObject *"""
3425  return _IMP_algebra.VectorKD__get_as_binary(self)
3426 
3427  def _set_from_binary(self, p):
3428  r"""_set_from_binary(VectorKD self, PyObject * p)"""
3429  return _IMP_algebra.VectorKD__set_from_binary(self, p)
3430 
3431  def __getstate__(self):
3432  p = self._get_as_binary()
3433  if len(self.__dict__) > 1:
3434  d = self.__dict__.copy()
3435  del d['this']
3436  p = (d, p)
3437  return p
3438 
3439  def __setstate__(self, p):
3440  if not hasattr(self, 'this'):
3441  self.__init__()
3442  if isinstance(p, tuple):
3443  d, p = p
3444  self.__dict__.update(d)
3445  return self._set_from_binary(p)
3446 
3447 
3448  def __getitem__(self, index):
3449  r"""__getitem__(VectorKD self, int index) -> double"""
3450  return _IMP_algebra.VectorKD___getitem__(self, index)
3451 
3452  def __setitem__(self, index, val):
3453  r"""__setitem__(VectorKD self, int index, double val)"""
3454  return _IMP_algebra.VectorKD___setitem__(self, index, val)
3455  __swig_destroy__ = _IMP_algebra.delete_VectorKD
3456 
3457 # Register VectorKD in _IMP_algebra:
3458 _IMP_algebra.VectorKD_swigregister(VectorKD)
3459 class BoundingBox1D(object):
3460  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 1 > class."""
3461 
3462  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3463 
3464  def get_dimension(self):
3465  r"""get_dimension(BoundingBox1D self) -> unsigned int"""
3466  return _IMP_algebra.BoundingBox1D_get_dimension(self)
3467 
3468  def get_corner(self, i):
3469  r"""get_corner(BoundingBox1D self, unsigned int i) -> Vector1D"""
3470  return _IMP_algebra.BoundingBox1D_get_corner(self, i)
3471 
3472  def get_contains(self, *args):
3473  r"""
3474  get_contains(BoundingBox1D self, Vector1D o) -> bool
3475  get_contains(BoundingBox1D self, BoundingBox1D bb) -> bool
3476  """
3477  return _IMP_algebra.BoundingBox1D_get_contains(self, *args)
3478 
3479  def show(self, *args):
3480  r"""show(BoundingBox1D self, _ostream out=std::cout)"""
3481  return _IMP_algebra.BoundingBox1D_show(self, *args)
3482 
3483  def __str__(self):
3484  r"""__str__(BoundingBox1D self) -> std::string"""
3485  return _IMP_algebra.BoundingBox1D___str__(self)
3486 
3487  def __repr__(self):
3488  r"""__repr__(BoundingBox1D self) -> std::string"""
3489  return _IMP_algebra.BoundingBox1D___repr__(self)
3490 
3491  def __cmp__(self, arg2):
3492  r"""__cmp__(BoundingBox1D self, BoundingBox1D arg2) -> int"""
3493  return _IMP_algebra.BoundingBox1D___cmp__(self, arg2)
3494 
3495  def __eq__(self, arg2):
3496  r"""__eq__(BoundingBox1D self, BoundingBox1D arg2) -> bool"""
3497  return _IMP_algebra.BoundingBox1D___eq__(self, arg2)
3498 
3499  def __init__(self, *args):
3500  r"""
3501  __init__(BoundingBox1D self, unsigned int d) -> BoundingBox1D
3502  __init__(BoundingBox1D self, Vector1D lb, Vector1D ub) -> BoundingBox1D
3503  __init__(BoundingBox1D self, Vector1D v) -> BoundingBox1D
3504  __init__(BoundingBox1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & points) -> BoundingBox1D
3505  __init__(BoundingBox1D self) -> BoundingBox1D
3506  """
3507  _IMP_algebra.BoundingBox1D_swiginit(self, _IMP_algebra.new_BoundingBox1D(*args))
3508 
3509  def __getitem__(self, index):
3510  r"""__getitem__(BoundingBox1D self, unsigned int index) -> Vector1D"""
3511  return _IMP_algebra.BoundingBox1D___getitem__(self, index)
3512 
3513  def __iadd__(self, *args):
3514  _IMP_algebra.BoundingBox1D___iadd__(self, *args)
3515  return self
3516 
3517 
3518 
3519  def __len__(self):
3520  r"""__len__(BoundingBox1D self) -> unsigned int"""
3521  return _IMP_algebra.BoundingBox1D___len__(self)
3522 
3523  def __add__(self, *args):
3524  r"""
3525  __add__(BoundingBox1D self, BoundingBox1D o) -> BoundingBox1D
3526  __add__(BoundingBox1D self, Vector1D o) -> BoundingBox1D
3527  __add__(BoundingBox1D self, double o) -> BoundingBox1D
3528  """
3529  return _IMP_algebra.BoundingBox1D___add__(self, *args)
3530 
3531  def _get_as_binary(self):
3532  r"""_get_as_binary(BoundingBox1D self) -> PyObject *"""
3533  return _IMP_algebra.BoundingBox1D__get_as_binary(self)
3534 
3535  def _set_from_binary(self, p):
3536  r"""_set_from_binary(BoundingBox1D self, PyObject * p)"""
3537  return _IMP_algebra.BoundingBox1D__set_from_binary(self, p)
3538 
3539  def __getstate__(self):
3540  p = self._get_as_binary()
3541  if len(self.__dict__) > 1:
3542  d = self.__dict__.copy()
3543  del d['this']
3544  p = (d, p)
3545  return p
3546 
3547  def __setstate__(self, p):
3548  if not hasattr(self, 'this'):
3549  self.__init__()
3550  if isinstance(p, tuple):
3551  d, p = p
3552  self.__dict__.update(d)
3553  return self._set_from_binary(p)
3554 
3555  __swig_destroy__ = _IMP_algebra.delete_BoundingBox1D
3556 
3557 # Register BoundingBox1D in _IMP_algebra:
3558 _IMP_algebra.BoundingBox1D_swigregister(BoundingBox1D)
3559 class BoundingBox2D(object):
3560  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 2 > class."""
3561 
3562  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3563 
3564  def get_dimension(self):
3565  r"""get_dimension(BoundingBox2D self) -> unsigned int"""
3566  return _IMP_algebra.BoundingBox2D_get_dimension(self)
3567 
3568  def get_corner(self, i):
3569  r"""get_corner(BoundingBox2D self, unsigned int i) -> Vector2D"""
3570  return _IMP_algebra.BoundingBox2D_get_corner(self, i)
3571 
3572  def get_contains(self, *args):
3573  r"""
3574  get_contains(BoundingBox2D self, Vector2D o) -> bool
3575  get_contains(BoundingBox2D self, BoundingBox2D bb) -> bool
3576  """
3577  return _IMP_algebra.BoundingBox2D_get_contains(self, *args)
3578 
3579  def show(self, *args):
3580  r"""show(BoundingBox2D self, _ostream out=std::cout)"""
3581  return _IMP_algebra.BoundingBox2D_show(self, *args)
3582 
3583  def __str__(self):
3584  r"""__str__(BoundingBox2D self) -> std::string"""
3585  return _IMP_algebra.BoundingBox2D___str__(self)
3586 
3587  def __repr__(self):
3588  r"""__repr__(BoundingBox2D self) -> std::string"""
3589  return _IMP_algebra.BoundingBox2D___repr__(self)
3590 
3591  def __cmp__(self, arg2):
3592  r"""__cmp__(BoundingBox2D self, BoundingBox2D arg2) -> int"""
3593  return _IMP_algebra.BoundingBox2D___cmp__(self, arg2)
3594 
3595  def __eq__(self, arg2):
3596  r"""__eq__(BoundingBox2D self, BoundingBox2D arg2) -> bool"""
3597  return _IMP_algebra.BoundingBox2D___eq__(self, arg2)
3598 
3599  def __init__(self, *args):
3600  r"""
3601  __init__(BoundingBox2D self, unsigned int d) -> BoundingBox2D
3602  __init__(BoundingBox2D self, Vector2D lb, Vector2D ub) -> BoundingBox2D
3603  __init__(BoundingBox2D self, Vector2D v) -> BoundingBox2D
3604  __init__(BoundingBox2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & points) -> BoundingBox2D
3605  __init__(BoundingBox2D self) -> BoundingBox2D
3606  """
3607  _IMP_algebra.BoundingBox2D_swiginit(self, _IMP_algebra.new_BoundingBox2D(*args))
3608 
3609  def __getitem__(self, index):
3610  r"""__getitem__(BoundingBox2D self, unsigned int index) -> Vector2D"""
3611  return _IMP_algebra.BoundingBox2D___getitem__(self, index)
3612 
3613  def __iadd__(self, *args):
3614  _IMP_algebra.BoundingBox2D___iadd__(self, *args)
3615  return self
3616 
3617 
3618 
3619  def __len__(self):
3620  r"""__len__(BoundingBox2D self) -> unsigned int"""
3621  return _IMP_algebra.BoundingBox2D___len__(self)
3622 
3623  def __add__(self, *args):
3624  r"""
3625  __add__(BoundingBox2D self, BoundingBox2D o) -> BoundingBox2D
3626  __add__(BoundingBox2D self, Vector2D o) -> BoundingBox2D
3627  __add__(BoundingBox2D self, double o) -> BoundingBox2D
3628  """
3629  return _IMP_algebra.BoundingBox2D___add__(self, *args)
3630 
3631  def _get_as_binary(self):
3632  r"""_get_as_binary(BoundingBox2D self) -> PyObject *"""
3633  return _IMP_algebra.BoundingBox2D__get_as_binary(self)
3634 
3635  def _set_from_binary(self, p):
3636  r"""_set_from_binary(BoundingBox2D self, PyObject * p)"""
3637  return _IMP_algebra.BoundingBox2D__set_from_binary(self, p)
3638 
3639  def __getstate__(self):
3640  p = self._get_as_binary()
3641  if len(self.__dict__) > 1:
3642  d = self.__dict__.copy()
3643  del d['this']
3644  p = (d, p)
3645  return p
3646 
3647  def __setstate__(self, p):
3648  if not hasattr(self, 'this'):
3649  self.__init__()
3650  if isinstance(p, tuple):
3651  d, p = p
3652  self.__dict__.update(d)
3653  return self._set_from_binary(p)
3654 
3655  __swig_destroy__ = _IMP_algebra.delete_BoundingBox2D
3656 
3657 # Register BoundingBox2D in _IMP_algebra:
3658 _IMP_algebra.BoundingBox2D_swigregister(BoundingBox2D)
3659 class BoundingBox3D(object):
3660  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 3 > class."""
3661 
3662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3663 
3664  def get_dimension(self):
3665  r"""get_dimension(BoundingBox3D self) -> unsigned int"""
3666  return _IMP_algebra.BoundingBox3D_get_dimension(self)
3667 
3668  def get_corner(self, i):
3669  r"""get_corner(BoundingBox3D self, unsigned int i) -> Vector3D"""
3670  return _IMP_algebra.BoundingBox3D_get_corner(self, i)
3671 
3672  def get_contains(self, *args):
3673  r"""
3674  get_contains(BoundingBox3D self, Vector3D o) -> bool
3675  get_contains(BoundingBox3D self, BoundingBox3D bb) -> bool
3676  """
3677  return _IMP_algebra.BoundingBox3D_get_contains(self, *args)
3678 
3679  def show(self, *args):
3680  r"""show(BoundingBox3D self, _ostream out=std::cout)"""
3681  return _IMP_algebra.BoundingBox3D_show(self, *args)
3682 
3683  def __str__(self):
3684  r"""__str__(BoundingBox3D self) -> std::string"""
3685  return _IMP_algebra.BoundingBox3D___str__(self)
3686 
3687  def __repr__(self):
3688  r"""__repr__(BoundingBox3D self) -> std::string"""
3689  return _IMP_algebra.BoundingBox3D___repr__(self)
3690 
3691  def __cmp__(self, arg2):
3692  r"""__cmp__(BoundingBox3D self, BoundingBox3D arg2) -> int"""
3693  return _IMP_algebra.BoundingBox3D___cmp__(self, arg2)
3694 
3695  def __eq__(self, arg2):
3696  r"""__eq__(BoundingBox3D self, BoundingBox3D arg2) -> bool"""
3697  return _IMP_algebra.BoundingBox3D___eq__(self, arg2)
3698 
3699  def __init__(self, *args):
3700  r"""
3701  __init__(BoundingBox3D self, unsigned int d) -> BoundingBox3D
3702  __init__(BoundingBox3D self, Vector3D lb, Vector3D ub) -> BoundingBox3D
3703  __init__(BoundingBox3D self, Vector3D v) -> BoundingBox3D
3704  __init__(BoundingBox3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & points) -> BoundingBox3D
3705  __init__(BoundingBox3D self) -> BoundingBox3D
3706  """
3707  _IMP_algebra.BoundingBox3D_swiginit(self, _IMP_algebra.new_BoundingBox3D(*args))
3708 
3709  def __getitem__(self, index):
3710  r"""__getitem__(BoundingBox3D self, unsigned int index) -> Vector3D"""
3711  return _IMP_algebra.BoundingBox3D___getitem__(self, index)
3712 
3713  def __iadd__(self, *args):
3714  _IMP_algebra.BoundingBox3D___iadd__(self, *args)
3715  return self
3716 
3717 
3718 
3719  def __len__(self):
3720  r"""__len__(BoundingBox3D self) -> unsigned int"""
3721  return _IMP_algebra.BoundingBox3D___len__(self)
3722 
3723  def __add__(self, *args):
3724  r"""
3725  __add__(BoundingBox3D self, BoundingBox3D o) -> BoundingBox3D
3726  __add__(BoundingBox3D self, Vector3D o) -> BoundingBox3D
3727  __add__(BoundingBox3D self, double o) -> BoundingBox3D
3728  """
3729  return _IMP_algebra.BoundingBox3D___add__(self, *args)
3730 
3731  def _get_as_binary(self):
3732  r"""_get_as_binary(BoundingBox3D self) -> PyObject *"""
3733  return _IMP_algebra.BoundingBox3D__get_as_binary(self)
3734 
3735  def _set_from_binary(self, p):
3736  r"""_set_from_binary(BoundingBox3D self, PyObject * p)"""
3737  return _IMP_algebra.BoundingBox3D__set_from_binary(self, p)
3738 
3739  def __getstate__(self):
3740  p = self._get_as_binary()
3741  if len(self.__dict__) > 1:
3742  d = self.__dict__.copy()
3743  del d['this']
3744  p = (d, p)
3745  return p
3746 
3747  def __setstate__(self, p):
3748  if not hasattr(self, 'this'):
3749  self.__init__()
3750  if isinstance(p, tuple):
3751  d, p = p
3752  self.__dict__.update(d)
3753  return self._set_from_binary(p)
3754 
3755  __swig_destroy__ = _IMP_algebra.delete_BoundingBox3D
3756 
3757 # Register BoundingBox3D in _IMP_algebra:
3758 _IMP_algebra.BoundingBox3D_swigregister(BoundingBox3D)
3759 class BoundingBox4D(object):
3760  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 4 > class."""
3761 
3762  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3763 
3764  def get_dimension(self):
3765  r"""get_dimension(BoundingBox4D self) -> unsigned int"""
3766  return _IMP_algebra.BoundingBox4D_get_dimension(self)
3767 
3768  def get_corner(self, i):
3769  r"""get_corner(BoundingBox4D self, unsigned int i) -> Vector4D"""
3770  return _IMP_algebra.BoundingBox4D_get_corner(self, i)
3771 
3772  def get_contains(self, *args):
3773  r"""
3774  get_contains(BoundingBox4D self, Vector4D o) -> bool
3775  get_contains(BoundingBox4D self, BoundingBox4D bb) -> bool
3776  """
3777  return _IMP_algebra.BoundingBox4D_get_contains(self, *args)
3778 
3779  def show(self, *args):
3780  r"""show(BoundingBox4D self, _ostream out=std::cout)"""
3781  return _IMP_algebra.BoundingBox4D_show(self, *args)
3782 
3783  def __str__(self):
3784  r"""__str__(BoundingBox4D self) -> std::string"""
3785  return _IMP_algebra.BoundingBox4D___str__(self)
3786 
3787  def __repr__(self):
3788  r"""__repr__(BoundingBox4D self) -> std::string"""
3789  return _IMP_algebra.BoundingBox4D___repr__(self)
3790 
3791  def __cmp__(self, arg2):
3792  r"""__cmp__(BoundingBox4D self, BoundingBox4D arg2) -> int"""
3793  return _IMP_algebra.BoundingBox4D___cmp__(self, arg2)
3794 
3795  def __eq__(self, arg2):
3796  r"""__eq__(BoundingBox4D self, BoundingBox4D arg2) -> bool"""
3797  return _IMP_algebra.BoundingBox4D___eq__(self, arg2)
3798 
3799  def __init__(self, *args):
3800  r"""
3801  __init__(BoundingBox4D self, unsigned int d) -> BoundingBox4D
3802  __init__(BoundingBox4D self, Vector4D lb, Vector4D ub) -> BoundingBox4D
3803  __init__(BoundingBox4D self, Vector4D v) -> BoundingBox4D
3804  __init__(BoundingBox4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & points) -> BoundingBox4D
3805  __init__(BoundingBox4D self) -> BoundingBox4D
3806  """
3807  _IMP_algebra.BoundingBox4D_swiginit(self, _IMP_algebra.new_BoundingBox4D(*args))
3808 
3809  def __getitem__(self, index):
3810  r"""__getitem__(BoundingBox4D self, unsigned int index) -> Vector4D"""
3811  return _IMP_algebra.BoundingBox4D___getitem__(self, index)
3812 
3813  def __iadd__(self, *args):
3814  _IMP_algebra.BoundingBox4D___iadd__(self, *args)
3815  return self
3816 
3817 
3818 
3819  def __len__(self):
3820  r"""__len__(BoundingBox4D self) -> unsigned int"""
3821  return _IMP_algebra.BoundingBox4D___len__(self)
3822 
3823  def __add__(self, *args):
3824  r"""
3825  __add__(BoundingBox4D self, BoundingBox4D o) -> BoundingBox4D
3826  __add__(BoundingBox4D self, Vector4D o) -> BoundingBox4D
3827  __add__(BoundingBox4D self, double o) -> BoundingBox4D
3828  """
3829  return _IMP_algebra.BoundingBox4D___add__(self, *args)
3830 
3831  def _get_as_binary(self):
3832  r"""_get_as_binary(BoundingBox4D self) -> PyObject *"""
3833  return _IMP_algebra.BoundingBox4D__get_as_binary(self)
3834 
3835  def _set_from_binary(self, p):
3836  r"""_set_from_binary(BoundingBox4D self, PyObject * p)"""
3837  return _IMP_algebra.BoundingBox4D__set_from_binary(self, p)
3838 
3839  def __getstate__(self):
3840  p = self._get_as_binary()
3841  if len(self.__dict__) > 1:
3842  d = self.__dict__.copy()
3843  del d['this']
3844  p = (d, p)
3845  return p
3846 
3847  def __setstate__(self, p):
3848  if not hasattr(self, 'this'):
3849  self.__init__()
3850  if isinstance(p, tuple):
3851  d, p = p
3852  self.__dict__.update(d)
3853  return self._set_from_binary(p)
3854 
3855  __swig_destroy__ = _IMP_algebra.delete_BoundingBox4D
3856 
3857 # Register BoundingBox4D in _IMP_algebra:
3858 _IMP_algebra.BoundingBox4D_swigregister(BoundingBox4D)
3859 class BoundingBox5D(object):
3860  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 5 > class."""
3861 
3862  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3863 
3864  def get_dimension(self):
3865  r"""get_dimension(BoundingBox5D self) -> unsigned int"""
3866  return _IMP_algebra.BoundingBox5D_get_dimension(self)
3867 
3868  def get_corner(self, i):
3869  r"""get_corner(BoundingBox5D self, unsigned int i) -> Vector5D"""
3870  return _IMP_algebra.BoundingBox5D_get_corner(self, i)
3871 
3872  def get_contains(self, *args):
3873  r"""
3874  get_contains(BoundingBox5D self, Vector5D o) -> bool
3875  get_contains(BoundingBox5D self, BoundingBox5D bb) -> bool
3876  """
3877  return _IMP_algebra.BoundingBox5D_get_contains(self, *args)
3878 
3879  def show(self, *args):
3880  r"""show(BoundingBox5D self, _ostream out=std::cout)"""
3881  return _IMP_algebra.BoundingBox5D_show(self, *args)
3882 
3883  def __str__(self):
3884  r"""__str__(BoundingBox5D self) -> std::string"""
3885  return _IMP_algebra.BoundingBox5D___str__(self)
3886 
3887  def __repr__(self):
3888  r"""__repr__(BoundingBox5D self) -> std::string"""
3889  return _IMP_algebra.BoundingBox5D___repr__(self)
3890 
3891  def __cmp__(self, arg2):
3892  r"""__cmp__(BoundingBox5D self, BoundingBox5D arg2) -> int"""
3893  return _IMP_algebra.BoundingBox5D___cmp__(self, arg2)
3894 
3895  def __eq__(self, arg2):
3896  r"""__eq__(BoundingBox5D self, BoundingBox5D arg2) -> bool"""
3897  return _IMP_algebra.BoundingBox5D___eq__(self, arg2)
3898 
3899  def __init__(self, *args):
3900  r"""
3901  __init__(BoundingBox5D self, unsigned int d) -> BoundingBox5D
3902  __init__(BoundingBox5D self, Vector5D lb, Vector5D ub) -> BoundingBox5D
3903  __init__(BoundingBox5D self, Vector5D v) -> BoundingBox5D
3904  __init__(BoundingBox5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & points) -> BoundingBox5D
3905  __init__(BoundingBox5D self) -> BoundingBox5D
3906  """
3907  _IMP_algebra.BoundingBox5D_swiginit(self, _IMP_algebra.new_BoundingBox5D(*args))
3908 
3909  def __getitem__(self, index):
3910  r"""__getitem__(BoundingBox5D self, unsigned int index) -> Vector5D"""
3911  return _IMP_algebra.BoundingBox5D___getitem__(self, index)
3912 
3913  def __iadd__(self, *args):
3914  _IMP_algebra.BoundingBox5D___iadd__(self, *args)
3915  return self
3916 
3917 
3918 
3919  def __len__(self):
3920  r"""__len__(BoundingBox5D self) -> unsigned int"""
3921  return _IMP_algebra.BoundingBox5D___len__(self)
3922 
3923  def __add__(self, *args):
3924  r"""
3925  __add__(BoundingBox5D self, BoundingBox5D o) -> BoundingBox5D
3926  __add__(BoundingBox5D self, Vector5D o) -> BoundingBox5D
3927  __add__(BoundingBox5D self, double o) -> BoundingBox5D
3928  """
3929  return _IMP_algebra.BoundingBox5D___add__(self, *args)
3930 
3931  def _get_as_binary(self):
3932  r"""_get_as_binary(BoundingBox5D self) -> PyObject *"""
3933  return _IMP_algebra.BoundingBox5D__get_as_binary(self)
3934 
3935  def _set_from_binary(self, p):
3936  r"""_set_from_binary(BoundingBox5D self, PyObject * p)"""
3937  return _IMP_algebra.BoundingBox5D__set_from_binary(self, p)
3938 
3939  def __getstate__(self):
3940  p = self._get_as_binary()
3941  if len(self.__dict__) > 1:
3942  d = self.__dict__.copy()
3943  del d['this']
3944  p = (d, p)
3945  return p
3946 
3947  def __setstate__(self, p):
3948  if not hasattr(self, 'this'):
3949  self.__init__()
3950  if isinstance(p, tuple):
3951  d, p = p
3952  self.__dict__.update(d)
3953  return self._set_from_binary(p)
3954 
3955  __swig_destroy__ = _IMP_algebra.delete_BoundingBox5D
3956 
3957 # Register BoundingBox5D in _IMP_algebra:
3958 _IMP_algebra.BoundingBox5D_swigregister(BoundingBox5D)
3959 class BoundingBox6D(object):
3960  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 6 > class."""
3961 
3962  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3963 
3964  def get_dimension(self):
3965  r"""get_dimension(BoundingBox6D self) -> unsigned int"""
3966  return _IMP_algebra.BoundingBox6D_get_dimension(self)
3967 
3968  def get_corner(self, i):
3969  r"""get_corner(BoundingBox6D self, unsigned int i) -> Vector6D"""
3970  return _IMP_algebra.BoundingBox6D_get_corner(self, i)
3971 
3972  def get_contains(self, *args):
3973  r"""
3974  get_contains(BoundingBox6D self, Vector6D o) -> bool
3975  get_contains(BoundingBox6D self, BoundingBox6D bb) -> bool
3976  """
3977  return _IMP_algebra.BoundingBox6D_get_contains(self, *args)
3978 
3979  def show(self, *args):
3980  r"""show(BoundingBox6D self, _ostream out=std::cout)"""
3981  return _IMP_algebra.BoundingBox6D_show(self, *args)
3982 
3983  def __str__(self):
3984  r"""__str__(BoundingBox6D self) -> std::string"""
3985  return _IMP_algebra.BoundingBox6D___str__(self)
3986 
3987  def __repr__(self):
3988  r"""__repr__(BoundingBox6D self) -> std::string"""
3989  return _IMP_algebra.BoundingBox6D___repr__(self)
3990 
3991  def __cmp__(self, arg2):
3992  r"""__cmp__(BoundingBox6D self, BoundingBox6D arg2) -> int"""
3993  return _IMP_algebra.BoundingBox6D___cmp__(self, arg2)
3994 
3995  def __eq__(self, arg2):
3996  r"""__eq__(BoundingBox6D self, BoundingBox6D arg2) -> bool"""
3997  return _IMP_algebra.BoundingBox6D___eq__(self, arg2)
3998 
3999  def __init__(self, *args):
4000  r"""
4001  __init__(BoundingBox6D self, unsigned int d) -> BoundingBox6D
4002  __init__(BoundingBox6D self, Vector6D lb, Vector6D ub) -> BoundingBox6D
4003  __init__(BoundingBox6D self, Vector6D v) -> BoundingBox6D
4004  __init__(BoundingBox6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & points) -> BoundingBox6D
4005  __init__(BoundingBox6D self) -> BoundingBox6D
4006  """
4007  _IMP_algebra.BoundingBox6D_swiginit(self, _IMP_algebra.new_BoundingBox6D(*args))
4008 
4009  def __getitem__(self, index):
4010  r"""__getitem__(BoundingBox6D self, unsigned int index) -> Vector6D"""
4011  return _IMP_algebra.BoundingBox6D___getitem__(self, index)
4012 
4013  def __iadd__(self, *args):
4014  _IMP_algebra.BoundingBox6D___iadd__(self, *args)
4015  return self
4016 
4017 
4018 
4019  def __len__(self):
4020  r"""__len__(BoundingBox6D self) -> unsigned int"""
4021  return _IMP_algebra.BoundingBox6D___len__(self)
4022 
4023  def __add__(self, *args):
4024  r"""
4025  __add__(BoundingBox6D self, BoundingBox6D o) -> BoundingBox6D
4026  __add__(BoundingBox6D self, Vector6D o) -> BoundingBox6D
4027  __add__(BoundingBox6D self, double o) -> BoundingBox6D
4028  """
4029  return _IMP_algebra.BoundingBox6D___add__(self, *args)
4030 
4031  def _get_as_binary(self):
4032  r"""_get_as_binary(BoundingBox6D self) -> PyObject *"""
4033  return _IMP_algebra.BoundingBox6D__get_as_binary(self)
4034 
4035  def _set_from_binary(self, p):
4036  r"""_set_from_binary(BoundingBox6D self, PyObject * p)"""
4037  return _IMP_algebra.BoundingBox6D__set_from_binary(self, p)
4038 
4039  def __getstate__(self):
4040  p = self._get_as_binary()
4041  if len(self.__dict__) > 1:
4042  d = self.__dict__.copy()
4043  del d['this']
4044  p = (d, p)
4045  return p
4046 
4047  def __setstate__(self, p):
4048  if not hasattr(self, 'this'):
4049  self.__init__()
4050  if isinstance(p, tuple):
4051  d, p = p
4052  self.__dict__.update(d)
4053  return self._set_from_binary(p)
4054 
4055  __swig_destroy__ = _IMP_algebra.delete_BoundingBox6D
4056 
4057 # Register BoundingBox6D in _IMP_algebra:
4058 _IMP_algebra.BoundingBox6D_swigregister(BoundingBox6D)
4059 class BoundingBoxKD(object):
4060  r"""Proxy of C++ IMP::algebra::BoundingBoxD< -1 > class."""
4061 
4062  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4063 
4064  def get_dimension(self):
4065  r"""get_dimension(BoundingBoxKD self) -> unsigned int"""
4066  return _IMP_algebra.BoundingBoxKD_get_dimension(self)
4067 
4068  def get_corner(self, i):
4069  r"""get_corner(BoundingBoxKD self, unsigned int i) -> VectorKD"""
4070  return _IMP_algebra.BoundingBoxKD_get_corner(self, i)
4071 
4072  def get_contains(self, *args):
4073  r"""
4074  get_contains(BoundingBoxKD self, VectorKD o) -> bool
4075  get_contains(BoundingBoxKD self, BoundingBoxKD bb) -> bool
4076  """
4077  return _IMP_algebra.BoundingBoxKD_get_contains(self, *args)
4078 
4079  def show(self, *args):
4080  r"""show(BoundingBoxKD self, _ostream out=std::cout)"""
4081  return _IMP_algebra.BoundingBoxKD_show(self, *args)
4082 
4083  def __str__(self):
4084  r"""__str__(BoundingBoxKD self) -> std::string"""
4085  return _IMP_algebra.BoundingBoxKD___str__(self)
4086 
4087  def __repr__(self):
4088  r"""__repr__(BoundingBoxKD self) -> std::string"""
4089  return _IMP_algebra.BoundingBoxKD___repr__(self)
4090 
4091  def __cmp__(self, arg2):
4092  r"""__cmp__(BoundingBoxKD self, BoundingBoxKD arg2) -> int"""
4093  return _IMP_algebra.BoundingBoxKD___cmp__(self, arg2)
4094 
4095  def __eq__(self, arg2):
4096  r"""__eq__(BoundingBoxKD self, BoundingBoxKD arg2) -> bool"""
4097  return _IMP_algebra.BoundingBoxKD___eq__(self, arg2)
4098 
4099  def __init__(self, *args):
4100  r"""
4101  __init__(BoundingBoxKD self, unsigned int d) -> BoundingBoxKD
4102  __init__(BoundingBoxKD self, VectorKD lb, VectorKD ub) -> BoundingBoxKD
4103  __init__(BoundingBoxKD self, VectorKD v) -> BoundingBoxKD
4104  __init__(BoundingBoxKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & points) -> BoundingBoxKD
4105  __init__(BoundingBoxKD self) -> BoundingBoxKD
4106  """
4107  _IMP_algebra.BoundingBoxKD_swiginit(self, _IMP_algebra.new_BoundingBoxKD(*args))
4108 
4109  def __getitem__(self, index):
4110  r"""__getitem__(BoundingBoxKD self, unsigned int index) -> VectorKD"""
4111  return _IMP_algebra.BoundingBoxKD___getitem__(self, index)
4112 
4113  def __iadd__(self, *args):
4114  _IMP_algebra.BoundingBoxKD___iadd__(self, *args)
4115  return self
4116 
4117 
4118 
4119  def __len__(self):
4120  r"""__len__(BoundingBoxKD self) -> unsigned int"""
4121  return _IMP_algebra.BoundingBoxKD___len__(self)
4122 
4123  def __add__(self, *args):
4124  r"""
4125  __add__(BoundingBoxKD self, BoundingBoxKD o) -> BoundingBoxKD
4126  __add__(BoundingBoxKD self, VectorKD o) -> BoundingBoxKD
4127  __add__(BoundingBoxKD self, double o) -> BoundingBoxKD
4128  """
4129  return _IMP_algebra.BoundingBoxKD___add__(self, *args)
4130 
4131  def _get_as_binary(self):
4132  r"""_get_as_binary(BoundingBoxKD self) -> PyObject *"""
4133  return _IMP_algebra.BoundingBoxKD__get_as_binary(self)
4134 
4135  def _set_from_binary(self, p):
4136  r"""_set_from_binary(BoundingBoxKD self, PyObject * p)"""
4137  return _IMP_algebra.BoundingBoxKD__set_from_binary(self, p)
4138 
4139  def __getstate__(self):
4140  p = self._get_as_binary()
4141  if len(self.__dict__) > 1:
4142  d = self.__dict__.copy()
4143  del d['this']
4144  p = (d, p)
4145  return p
4146 
4147  def __setstate__(self, p):
4148  if not hasattr(self, 'this'):
4149  self.__init__()
4150  if isinstance(p, tuple):
4151  d, p = p
4152  self.__dict__.update(d)
4153  return self._set_from_binary(p)
4154 
4155  __swig_destroy__ = _IMP_algebra.delete_BoundingBoxKD
4156 
4157 # Register BoundingBoxKD in _IMP_algebra:
4158 _IMP_algebra.BoundingBoxKD_swigregister(BoundingBoxKD)
4159 class Sphere1D(_GeometricPrimitive1D):
4160  r"""Proxy of C++ IMP::algebra::SphereD< 1 > class."""
4161 
4162  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4163 
4164  def __init__(self, *args):
4165  r"""
4166  __init__(Sphere1D self) -> Sphere1D
4167  __init__(Sphere1D self, Vector1D center, double radius) -> Sphere1D
4168  """
4169  _IMP_algebra.Sphere1D_swiginit(self, _IMP_algebra.new_Sphere1D(*args))
4170 
4171  def get_radius(self):
4172  r"""get_radius(Sphere1D self) -> double"""
4173  return _IMP_algebra.Sphere1D_get_radius(self)
4174 
4175  def get_center(self):
4176  r"""get_center(Sphere1D self) -> Vector1D"""
4177  return _IMP_algebra.Sphere1D_get_center(self)
4178 
4179  def get_contains(self, *args):
4180  r"""
4181  get_contains(Sphere1D self, Sphere1D o) -> bool
4182  get_contains(Sphere1D self, Vector1D p) -> bool
4183  """
4184  return _IMP_algebra.Sphere1D_get_contains(self, *args)
4185 
4186  def show(self, *args):
4187  r"""show(Sphere1D self, _ostream out=std::cout)"""
4188  return _IMP_algebra.Sphere1D_show(self, *args)
4189 
4190  def get_dimension(self):
4191  r"""get_dimension(Sphere1D self) -> unsigned int"""
4192  return _IMP_algebra.Sphere1D_get_dimension(self)
4193 
4194  def __str__(self):
4195  r"""__str__(Sphere1D self) -> std::string"""
4196  return _IMP_algebra.Sphere1D___str__(self)
4197 
4198  def __repr__(self):
4199  r"""__repr__(Sphere1D self) -> std::string"""
4200  return _IMP_algebra.Sphere1D___repr__(self)
4201 
4202  def __cmp__(self, arg2):
4203  r"""__cmp__(Sphere1D self, Sphere1D arg2) -> int"""
4204  return _IMP_algebra.Sphere1D___cmp__(self, arg2)
4205 
4206  def __eq__(self, arg2):
4207  r"""__eq__(Sphere1D self, Sphere1D arg2) -> bool"""
4208  return _IMP_algebra.Sphere1D___eq__(self, arg2)
4209 
4210  def _get_as_binary(self):
4211  r"""_get_as_binary(Sphere1D self) -> PyObject *"""
4212  return _IMP_algebra.Sphere1D__get_as_binary(self)
4213 
4214  def _set_from_binary(self, p):
4215  r"""_set_from_binary(Sphere1D self, PyObject * p)"""
4216  return _IMP_algebra.Sphere1D__set_from_binary(self, p)
4217 
4218  def __getstate__(self):
4219  p = self._get_as_binary()
4220  if len(self.__dict__) > 1:
4221  d = self.__dict__.copy()
4222  del d['this']
4223  p = (d, p)
4224  return p
4225 
4226  def __setstate__(self, p):
4227  if not hasattr(self, 'this'):
4228  self.__init__()
4229  if isinstance(p, tuple):
4230  d, p = p
4231  self.__dict__.update(d)
4232  return self._set_from_binary(p)
4233 
4234  __swig_destroy__ = _IMP_algebra.delete_Sphere1D
4235 
4236 # Register Sphere1D in _IMP_algebra:
4237 _IMP_algebra.Sphere1D_swigregister(Sphere1D)
4238 class Sphere2D(_GeometricPrimitive2D):
4239  r"""Proxy of C++ IMP::algebra::SphereD< 2 > class."""
4240 
4241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4242 
4243  def __init__(self, *args):
4244  r"""
4245  __init__(Sphere2D self) -> Sphere2D
4246  __init__(Sphere2D self, Vector2D center, double radius) -> Sphere2D
4247  """
4248  _IMP_algebra.Sphere2D_swiginit(self, _IMP_algebra.new_Sphere2D(*args))
4249 
4250  def get_radius(self):
4251  r"""get_radius(Sphere2D self) -> double"""
4252  return _IMP_algebra.Sphere2D_get_radius(self)
4253 
4254  def get_center(self):
4255  r"""get_center(Sphere2D self) -> Vector2D"""
4256  return _IMP_algebra.Sphere2D_get_center(self)
4257 
4258  def get_contains(self, *args):
4259  r"""
4260  get_contains(Sphere2D self, Sphere2D o) -> bool
4261  get_contains(Sphere2D self, Vector2D p) -> bool
4262  """
4263  return _IMP_algebra.Sphere2D_get_contains(self, *args)
4264 
4265  def show(self, *args):
4266  r"""show(Sphere2D self, _ostream out=std::cout)"""
4267  return _IMP_algebra.Sphere2D_show(self, *args)
4268 
4269  def get_dimension(self):
4270  r"""get_dimension(Sphere2D self) -> unsigned int"""
4271  return _IMP_algebra.Sphere2D_get_dimension(self)
4272 
4273  def __str__(self):
4274  r"""__str__(Sphere2D self) -> std::string"""
4275  return _IMP_algebra.Sphere2D___str__(self)
4276 
4277  def __repr__(self):
4278  r"""__repr__(Sphere2D self) -> std::string"""
4279  return _IMP_algebra.Sphere2D___repr__(self)
4280 
4281  def __cmp__(self, arg2):
4282  r"""__cmp__(Sphere2D self, Sphere2D arg2) -> int"""
4283  return _IMP_algebra.Sphere2D___cmp__(self, arg2)
4284 
4285  def __eq__(self, arg2):
4286  r"""__eq__(Sphere2D self, Sphere2D arg2) -> bool"""
4287  return _IMP_algebra.Sphere2D___eq__(self, arg2)
4288 
4289  def _get_as_binary(self):
4290  r"""_get_as_binary(Sphere2D self) -> PyObject *"""
4291  return _IMP_algebra.Sphere2D__get_as_binary(self)
4292 
4293  def _set_from_binary(self, p):
4294  r"""_set_from_binary(Sphere2D self, PyObject * p)"""
4295  return _IMP_algebra.Sphere2D__set_from_binary(self, p)
4296 
4297  def __getstate__(self):
4298  p = self._get_as_binary()
4299  if len(self.__dict__) > 1:
4300  d = self.__dict__.copy()
4301  del d['this']
4302  p = (d, p)
4303  return p
4304 
4305  def __setstate__(self, p):
4306  if not hasattr(self, 'this'):
4307  self.__init__()
4308  if isinstance(p, tuple):
4309  d, p = p
4310  self.__dict__.update(d)
4311  return self._set_from_binary(p)
4312 
4313  __swig_destroy__ = _IMP_algebra.delete_Sphere2D
4314 
4315 # Register Sphere2D in _IMP_algebra:
4316 _IMP_algebra.Sphere2D_swigregister(Sphere2D)
4317 class Sphere3D(_GeometricPrimitive3D):
4318  r"""Proxy of C++ IMP::algebra::SphereD< 3 > class."""
4319 
4320  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4321 
4322  def __init__(self, *args):
4323  r"""
4324  __init__(Sphere3D self) -> Sphere3D
4325  __init__(Sphere3D self, Vector3D center, double radius) -> Sphere3D
4326  """
4327  _IMP_algebra.Sphere3D_swiginit(self, _IMP_algebra.new_Sphere3D(*args))
4328 
4329  def get_radius(self):
4330  r"""get_radius(Sphere3D self) -> double"""
4331  return _IMP_algebra.Sphere3D_get_radius(self)
4332 
4333  def get_center(self):
4334  r"""get_center(Sphere3D self) -> Vector3D"""
4335  return _IMP_algebra.Sphere3D_get_center(self)
4336 
4337  def get_contains(self, *args):
4338  r"""
4339  get_contains(Sphere3D self, Sphere3D o) -> bool
4340  get_contains(Sphere3D self, Vector3D p) -> bool
4341  """
4342  return _IMP_algebra.Sphere3D_get_contains(self, *args)
4343 
4344  def show(self, *args):
4345  r"""show(Sphere3D self, _ostream out=std::cout)"""
4346  return _IMP_algebra.Sphere3D_show(self, *args)
4347 
4348  def get_dimension(self):
4349  r"""get_dimension(Sphere3D self) -> unsigned int"""
4350  return _IMP_algebra.Sphere3D_get_dimension(self)
4351 
4352  def __str__(self):
4353  r"""__str__(Sphere3D self) -> std::string"""
4354  return _IMP_algebra.Sphere3D___str__(self)
4355 
4356  def __repr__(self):
4357  r"""__repr__(Sphere3D self) -> std::string"""
4358  return _IMP_algebra.Sphere3D___repr__(self)
4359 
4360  def __cmp__(self, arg2):
4361  r"""__cmp__(Sphere3D self, Sphere3D arg2) -> int"""
4362  return _IMP_algebra.Sphere3D___cmp__(self, arg2)
4363 
4364  def __eq__(self, arg2):
4365  r"""__eq__(Sphere3D self, Sphere3D arg2) -> bool"""
4366  return _IMP_algebra.Sphere3D___eq__(self, arg2)
4367 
4368  def _get_as_binary(self):
4369  r"""_get_as_binary(Sphere3D self) -> PyObject *"""
4370  return _IMP_algebra.Sphere3D__get_as_binary(self)
4371 
4372  def _set_from_binary(self, p):
4373  r"""_set_from_binary(Sphere3D self, PyObject * p)"""
4374  return _IMP_algebra.Sphere3D__set_from_binary(self, p)
4375 
4376  def __getstate__(self):
4377  p = self._get_as_binary()
4378  if len(self.__dict__) > 1:
4379  d = self.__dict__.copy()
4380  del d['this']
4381  p = (d, p)
4382  return p
4383 
4384  def __setstate__(self, p):
4385  if not hasattr(self, 'this'):
4386  self.__init__()
4387  if isinstance(p, tuple):
4388  d, p = p
4389  self.__dict__.update(d)
4390  return self._set_from_binary(p)
4391 
4392  __swig_destroy__ = _IMP_algebra.delete_Sphere3D
4393 
4394 # Register Sphere3D in _IMP_algebra:
4395 _IMP_algebra.Sphere3D_swigregister(Sphere3D)
4396 class Sphere4D(_GeometricPrimitive4D):
4397  r"""Proxy of C++ IMP::algebra::SphereD< 4 > class."""
4398 
4399  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4400 
4401  def __init__(self, *args):
4402  r"""
4403  __init__(Sphere4D self) -> Sphere4D
4404  __init__(Sphere4D self, Vector4D center, double radius) -> Sphere4D
4405  """
4406  _IMP_algebra.Sphere4D_swiginit(self, _IMP_algebra.new_Sphere4D(*args))
4407 
4408  def get_radius(self):
4409  r"""get_radius(Sphere4D self) -> double"""
4410  return _IMP_algebra.Sphere4D_get_radius(self)
4411 
4412  def get_center(self):
4413  r"""get_center(Sphere4D self) -> Vector4D"""
4414  return _IMP_algebra.Sphere4D_get_center(self)
4415 
4416  def get_contains(self, *args):
4417  r"""
4418  get_contains(Sphere4D self, Sphere4D o) -> bool
4419  get_contains(Sphere4D self, Vector4D p) -> bool
4420  """
4421  return _IMP_algebra.Sphere4D_get_contains(self, *args)
4422 
4423  def show(self, *args):
4424  r"""show(Sphere4D self, _ostream out=std::cout)"""
4425  return _IMP_algebra.Sphere4D_show(self, *args)
4426 
4427  def get_dimension(self):
4428  r"""get_dimension(Sphere4D self) -> unsigned int"""
4429  return _IMP_algebra.Sphere4D_get_dimension(self)
4430 
4431  def __str__(self):
4432  r"""__str__(Sphere4D self) -> std::string"""
4433  return _IMP_algebra.Sphere4D___str__(self)
4434 
4435  def __repr__(self):
4436  r"""__repr__(Sphere4D self) -> std::string"""
4437  return _IMP_algebra.Sphere4D___repr__(self)
4438 
4439  def __cmp__(self, arg2):
4440  r"""__cmp__(Sphere4D self, Sphere4D arg2) -> int"""
4441  return _IMP_algebra.Sphere4D___cmp__(self, arg2)
4442 
4443  def __eq__(self, arg2):
4444  r"""__eq__(Sphere4D self, Sphere4D arg2) -> bool"""
4445  return _IMP_algebra.Sphere4D___eq__(self, arg2)
4446 
4447  def _get_as_binary(self):
4448  r"""_get_as_binary(Sphere4D self) -> PyObject *"""
4449  return _IMP_algebra.Sphere4D__get_as_binary(self)
4450 
4451  def _set_from_binary(self, p):
4452  r"""_set_from_binary(Sphere4D self, PyObject * p)"""
4453  return _IMP_algebra.Sphere4D__set_from_binary(self, p)
4454 
4455  def __getstate__(self):
4456  p = self._get_as_binary()
4457  if len(self.__dict__) > 1:
4458  d = self.__dict__.copy()
4459  del d['this']
4460  p = (d, p)
4461  return p
4462 
4463  def __setstate__(self, p):
4464  if not hasattr(self, 'this'):
4465  self.__init__()
4466  if isinstance(p, tuple):
4467  d, p = p
4468  self.__dict__.update(d)
4469  return self._set_from_binary(p)
4470 
4471  __swig_destroy__ = _IMP_algebra.delete_Sphere4D
4472 
4473 # Register Sphere4D in _IMP_algebra:
4474 _IMP_algebra.Sphere4D_swigregister(Sphere4D)
4475 class Sphere5D(_GeometricPrimitive5D):
4476  r"""Proxy of C++ IMP::algebra::SphereD< 5 > class."""
4477 
4478  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4479 
4480  def __init__(self, *args):
4481  r"""
4482  __init__(Sphere5D self) -> Sphere5D
4483  __init__(Sphere5D self, Vector5D center, double radius) -> Sphere5D
4484  """
4485  _IMP_algebra.Sphere5D_swiginit(self, _IMP_algebra.new_Sphere5D(*args))
4486 
4487  def get_radius(self):
4488  r"""get_radius(Sphere5D self) -> double"""
4489  return _IMP_algebra.Sphere5D_get_radius(self)
4490 
4491  def get_center(self):
4492  r"""get_center(Sphere5D self) -> Vector5D"""
4493  return _IMP_algebra.Sphere5D_get_center(self)
4494 
4495  def get_contains(self, *args):
4496  r"""
4497  get_contains(Sphere5D self, Sphere5D o) -> bool
4498  get_contains(Sphere5D self, Vector5D p) -> bool
4499  """
4500  return _IMP_algebra.Sphere5D_get_contains(self, *args)
4501 
4502  def show(self, *args):
4503  r"""show(Sphere5D self, _ostream out=std::cout)"""
4504  return _IMP_algebra.Sphere5D_show(self, *args)
4505 
4506  def get_dimension(self):
4507  r"""get_dimension(Sphere5D self) -> unsigned int"""
4508  return _IMP_algebra.Sphere5D_get_dimension(self)
4509 
4510  def __str__(self):
4511  r"""__str__(Sphere5D self) -> std::string"""
4512  return _IMP_algebra.Sphere5D___str__(self)
4513 
4514  def __repr__(self):
4515  r"""__repr__(Sphere5D self) -> std::string"""
4516  return _IMP_algebra.Sphere5D___repr__(self)
4517 
4518  def __cmp__(self, arg2):
4519  r"""__cmp__(Sphere5D self, Sphere5D arg2) -> int"""
4520  return _IMP_algebra.Sphere5D___cmp__(self, arg2)
4521 
4522  def __eq__(self, arg2):
4523  r"""__eq__(Sphere5D self, Sphere5D arg2) -> bool"""
4524  return _IMP_algebra.Sphere5D___eq__(self, arg2)
4525 
4526  def _get_as_binary(self):
4527  r"""_get_as_binary(Sphere5D self) -> PyObject *"""
4528  return _IMP_algebra.Sphere5D__get_as_binary(self)
4529 
4530  def _set_from_binary(self, p):
4531  r"""_set_from_binary(Sphere5D self, PyObject * p)"""
4532  return _IMP_algebra.Sphere5D__set_from_binary(self, p)
4533 
4534  def __getstate__(self):
4535  p = self._get_as_binary()
4536  if len(self.__dict__) > 1:
4537  d = self.__dict__.copy()
4538  del d['this']
4539  p = (d, p)
4540  return p
4541 
4542  def __setstate__(self, p):
4543  if not hasattr(self, 'this'):
4544  self.__init__()
4545  if isinstance(p, tuple):
4546  d, p = p
4547  self.__dict__.update(d)
4548  return self._set_from_binary(p)
4549 
4550  __swig_destroy__ = _IMP_algebra.delete_Sphere5D
4551 
4552 # Register Sphere5D in _IMP_algebra:
4553 _IMP_algebra.Sphere5D_swigregister(Sphere5D)
4554 class Sphere6D(_GeometricPrimitive6D):
4555  r"""Proxy of C++ IMP::algebra::SphereD< 6 > class."""
4556 
4557  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4558 
4559  def __init__(self, *args):
4560  r"""
4561  __init__(Sphere6D self) -> Sphere6D
4562  __init__(Sphere6D self, Vector6D center, double radius) -> Sphere6D
4563  """
4564  _IMP_algebra.Sphere6D_swiginit(self, _IMP_algebra.new_Sphere6D(*args))
4565 
4566  def get_radius(self):
4567  r"""get_radius(Sphere6D self) -> double"""
4568  return _IMP_algebra.Sphere6D_get_radius(self)
4569 
4570  def get_center(self):
4571  r"""get_center(Sphere6D self) -> Vector6D"""
4572  return _IMP_algebra.Sphere6D_get_center(self)
4573 
4574  def get_contains(self, *args):
4575  r"""
4576  get_contains(Sphere6D self, Sphere6D o) -> bool
4577  get_contains(Sphere6D self, Vector6D p) -> bool
4578  """
4579  return _IMP_algebra.Sphere6D_get_contains(self, *args)
4580 
4581  def show(self, *args):
4582  r"""show(Sphere6D self, _ostream out=std::cout)"""
4583  return _IMP_algebra.Sphere6D_show(self, *args)
4584 
4585  def get_dimension(self):
4586  r"""get_dimension(Sphere6D self) -> unsigned int"""
4587  return _IMP_algebra.Sphere6D_get_dimension(self)
4588 
4589  def __str__(self):
4590  r"""__str__(Sphere6D self) -> std::string"""
4591  return _IMP_algebra.Sphere6D___str__(self)
4592 
4593  def __repr__(self):
4594  r"""__repr__(Sphere6D self) -> std::string"""
4595  return _IMP_algebra.Sphere6D___repr__(self)
4596 
4597  def __cmp__(self, arg2):
4598  r"""__cmp__(Sphere6D self, Sphere6D arg2) -> int"""
4599  return _IMP_algebra.Sphere6D___cmp__(self, arg2)
4600 
4601  def __eq__(self, arg2):
4602  r"""__eq__(Sphere6D self, Sphere6D arg2) -> bool"""
4603  return _IMP_algebra.Sphere6D___eq__(self, arg2)
4604 
4605  def _get_as_binary(self):
4606  r"""_get_as_binary(Sphere6D self) -> PyObject *"""
4607  return _IMP_algebra.Sphere6D__get_as_binary(self)
4608 
4609  def _set_from_binary(self, p):
4610  r"""_set_from_binary(Sphere6D self, PyObject * p)"""
4611  return _IMP_algebra.Sphere6D__set_from_binary(self, p)
4612 
4613  def __getstate__(self):
4614  p = self._get_as_binary()
4615  if len(self.__dict__) > 1:
4616  d = self.__dict__.copy()
4617  del d['this']
4618  p = (d, p)
4619  return p
4620 
4621  def __setstate__(self, p):
4622  if not hasattr(self, 'this'):
4623  self.__init__()
4624  if isinstance(p, tuple):
4625  d, p = p
4626  self.__dict__.update(d)
4627  return self._set_from_binary(p)
4628 
4629  __swig_destroy__ = _IMP_algebra.delete_Sphere6D
4630 
4631 # Register Sphere6D in _IMP_algebra:
4632 _IMP_algebra.Sphere6D_swigregister(Sphere6D)
4633 class SphereKD(_GeometricPrimitiveKD):
4634  r"""Proxy of C++ IMP::algebra::SphereD< -1 > class."""
4635 
4636  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4637 
4638  def __init__(self, *args):
4639  r"""
4640  __init__(SphereKD self) -> SphereKD
4641  __init__(SphereKD self, VectorKD center, double radius) -> SphereKD
4642  """
4643  _IMP_algebra.SphereKD_swiginit(self, _IMP_algebra.new_SphereKD(*args))
4644 
4645  def get_radius(self):
4646  r"""get_radius(SphereKD self) -> double"""
4647  return _IMP_algebra.SphereKD_get_radius(self)
4648 
4649  def get_center(self):
4650  r"""get_center(SphereKD self) -> VectorKD"""
4651  return _IMP_algebra.SphereKD_get_center(self)
4652 
4653  def get_contains(self, *args):
4654  r"""
4655  get_contains(SphereKD self, SphereKD o) -> bool
4656  get_contains(SphereKD self, VectorKD p) -> bool
4657  """
4658  return _IMP_algebra.SphereKD_get_contains(self, *args)
4659 
4660  def show(self, *args):
4661  r"""show(SphereKD self, _ostream out=std::cout)"""
4662  return _IMP_algebra.SphereKD_show(self, *args)
4663 
4664  def get_dimension(self):
4665  r"""get_dimension(SphereKD self) -> unsigned int"""
4666  return _IMP_algebra.SphereKD_get_dimension(self)
4667 
4668  def __str__(self):
4669  r"""__str__(SphereKD self) -> std::string"""
4670  return _IMP_algebra.SphereKD___str__(self)
4671 
4672  def __repr__(self):
4673  r"""__repr__(SphereKD self) -> std::string"""
4674  return _IMP_algebra.SphereKD___repr__(self)
4675 
4676  def __cmp__(self, arg2):
4677  r"""__cmp__(SphereKD self, SphereKD arg2) -> int"""
4678  return _IMP_algebra.SphereKD___cmp__(self, arg2)
4679 
4680  def __eq__(self, arg2):
4681  r"""__eq__(SphereKD self, SphereKD arg2) -> bool"""
4682  return _IMP_algebra.SphereKD___eq__(self, arg2)
4683 
4684  def _get_as_binary(self):
4685  r"""_get_as_binary(SphereKD self) -> PyObject *"""
4686  return _IMP_algebra.SphereKD__get_as_binary(self)
4687 
4688  def _set_from_binary(self, p):
4689  r"""_set_from_binary(SphereKD self, PyObject * p)"""
4690  return _IMP_algebra.SphereKD__set_from_binary(self, p)
4691 
4692  def __getstate__(self):
4693  p = self._get_as_binary()
4694  if len(self.__dict__) > 1:
4695  d = self.__dict__.copy()
4696  del d['this']
4697  p = (d, p)
4698  return p
4699 
4700  def __setstate__(self, p):
4701  if not hasattr(self, 'this'):
4702  self.__init__()
4703  if isinstance(p, tuple):
4704  d, p = p
4705  self.__dict__.update(d)
4706  return self._set_from_binary(p)
4707 
4708  __swig_destroy__ = _IMP_algebra.delete_SphereKD
4709 
4710 # Register SphereKD in _IMP_algebra:
4711 _IMP_algebra.SphereKD_swigregister(SphereKD)
4712 class UnitSimplex1D(_UnitSimplexBase1D):
4713  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 1 > class."""
4714 
4715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4716 
4717  def __init__(self):
4718  r"""__init__(UnitSimplex1D self) -> UnitSimplex1D"""
4719  _IMP_algebra.UnitSimplex1D_swiginit(self, _IMP_algebra.new_UnitSimplex1D())
4720 
4721  def show(self, *args):
4722  r"""show(UnitSimplex1D self, _ostream out=std::cout)"""
4723  return _IMP_algebra.UnitSimplex1D_show(self, *args)
4724 
4725  def __str__(self):
4726  r"""__str__(UnitSimplex1D self) -> std::string"""
4727  return _IMP_algebra.UnitSimplex1D___str__(self)
4728 
4729  def __repr__(self):
4730  r"""__repr__(UnitSimplex1D self) -> std::string"""
4731  return _IMP_algebra.UnitSimplex1D___repr__(self)
4732 
4733  def __cmp__(self, arg2):
4734  r"""__cmp__(UnitSimplex1D self, UnitSimplex1D arg2) -> int"""
4735  return _IMP_algebra.UnitSimplex1D___cmp__(self, arg2)
4736 
4737  def __eq__(self, arg2):
4738  r"""__eq__(UnitSimplex1D self, UnitSimplex1D arg2) -> bool"""
4739  return _IMP_algebra.UnitSimplex1D___eq__(self, arg2)
4740 
4741  def _get_as_binary(self):
4742  r"""_get_as_binary(UnitSimplex1D self) -> PyObject *"""
4743  return _IMP_algebra.UnitSimplex1D__get_as_binary(self)
4744 
4745  def _set_from_binary(self, p):
4746  r"""_set_from_binary(UnitSimplex1D self, PyObject * p)"""
4747  return _IMP_algebra.UnitSimplex1D__set_from_binary(self, p)
4748 
4749  def __getstate__(self):
4750  p = self._get_as_binary()
4751  if len(self.__dict__) > 1:
4752  d = self.__dict__.copy()
4753  del d['this']
4754  p = (d, p)
4755  return p
4756 
4757  def __setstate__(self, p):
4758  if not hasattr(self, 'this'):
4759  self.__init__()
4760  if isinstance(p, tuple):
4761  d, p = p
4762  self.__dict__.update(d)
4763  return self._set_from_binary(p)
4764 
4765  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex1D
4766 
4767 # Register UnitSimplex1D in _IMP_algebra:
4768 _IMP_algebra.UnitSimplex1D_swigregister(UnitSimplex1D)
4769 class UnitSimplex2D(_UnitSimplexBase2D):
4770  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 2 > class."""
4771 
4772  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4773 
4774  def __init__(self):
4775  r"""__init__(UnitSimplex2D self) -> UnitSimplex2D"""
4776  _IMP_algebra.UnitSimplex2D_swiginit(self, _IMP_algebra.new_UnitSimplex2D())
4777 
4778  def show(self, *args):
4779  r"""show(UnitSimplex2D self, _ostream out=std::cout)"""
4780  return _IMP_algebra.UnitSimplex2D_show(self, *args)
4781 
4782  def __str__(self):
4783  r"""__str__(UnitSimplex2D self) -> std::string"""
4784  return _IMP_algebra.UnitSimplex2D___str__(self)
4785 
4786  def __repr__(self):
4787  r"""__repr__(UnitSimplex2D self) -> std::string"""
4788  return _IMP_algebra.UnitSimplex2D___repr__(self)
4789 
4790  def __cmp__(self, arg2):
4791  r"""__cmp__(UnitSimplex2D self, UnitSimplex2D arg2) -> int"""
4792  return _IMP_algebra.UnitSimplex2D___cmp__(self, arg2)
4793 
4794  def __eq__(self, arg2):
4795  r"""__eq__(UnitSimplex2D self, UnitSimplex2D arg2) -> bool"""
4796  return _IMP_algebra.UnitSimplex2D___eq__(self, arg2)
4797 
4798  def _get_as_binary(self):
4799  r"""_get_as_binary(UnitSimplex2D self) -> PyObject *"""
4800  return _IMP_algebra.UnitSimplex2D__get_as_binary(self)
4801 
4802  def _set_from_binary(self, p):
4803  r"""_set_from_binary(UnitSimplex2D self, PyObject * p)"""
4804  return _IMP_algebra.UnitSimplex2D__set_from_binary(self, p)
4805 
4806  def __getstate__(self):
4807  p = self._get_as_binary()
4808  if len(self.__dict__) > 1:
4809  d = self.__dict__.copy()
4810  del d['this']
4811  p = (d, p)
4812  return p
4813 
4814  def __setstate__(self, p):
4815  if not hasattr(self, 'this'):
4816  self.__init__()
4817  if isinstance(p, tuple):
4818  d, p = p
4819  self.__dict__.update(d)
4820  return self._set_from_binary(p)
4821 
4822  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex2D
4823 
4824 # Register UnitSimplex2D in _IMP_algebra:
4825 _IMP_algebra.UnitSimplex2D_swigregister(UnitSimplex2D)
4826 class UnitSimplex3D(_UnitSimplexBase3D):
4827  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 3 > class."""
4828 
4829  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4830 
4831  def __init__(self):
4832  r"""__init__(UnitSimplex3D self) -> UnitSimplex3D"""
4833  _IMP_algebra.UnitSimplex3D_swiginit(self, _IMP_algebra.new_UnitSimplex3D())
4834 
4835  def show(self, *args):
4836  r"""show(UnitSimplex3D self, _ostream out=std::cout)"""
4837  return _IMP_algebra.UnitSimplex3D_show(self, *args)
4838 
4839  def __str__(self):
4840  r"""__str__(UnitSimplex3D self) -> std::string"""
4841  return _IMP_algebra.UnitSimplex3D___str__(self)
4842 
4843  def __repr__(self):
4844  r"""__repr__(UnitSimplex3D self) -> std::string"""
4845  return _IMP_algebra.UnitSimplex3D___repr__(self)
4846 
4847  def __cmp__(self, arg2):
4848  r"""__cmp__(UnitSimplex3D self, UnitSimplex3D arg2) -> int"""
4849  return _IMP_algebra.UnitSimplex3D___cmp__(self, arg2)
4850 
4851  def __eq__(self, arg2):
4852  r"""__eq__(UnitSimplex3D self, UnitSimplex3D arg2) -> bool"""
4853  return _IMP_algebra.UnitSimplex3D___eq__(self, arg2)
4854 
4855  def _get_as_binary(self):
4856  r"""_get_as_binary(UnitSimplex3D self) -> PyObject *"""
4857  return _IMP_algebra.UnitSimplex3D__get_as_binary(self)
4858 
4859  def _set_from_binary(self, p):
4860  r"""_set_from_binary(UnitSimplex3D self, PyObject * p)"""
4861  return _IMP_algebra.UnitSimplex3D__set_from_binary(self, p)
4862 
4863  def __getstate__(self):
4864  p = self._get_as_binary()
4865  if len(self.__dict__) > 1:
4866  d = self.__dict__.copy()
4867  del d['this']
4868  p = (d, p)
4869  return p
4870 
4871  def __setstate__(self, p):
4872  if not hasattr(self, 'this'):
4873  self.__init__()
4874  if isinstance(p, tuple):
4875  d, p = p
4876  self.__dict__.update(d)
4877  return self._set_from_binary(p)
4878 
4879  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex3D
4880 
4881 # Register UnitSimplex3D in _IMP_algebra:
4882 _IMP_algebra.UnitSimplex3D_swigregister(UnitSimplex3D)
4883 class UnitSimplex4D(_UnitSimplexBase4D):
4884  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 4 > class."""
4885 
4886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4887 
4888  def __init__(self):
4889  r"""__init__(UnitSimplex4D self) -> UnitSimplex4D"""
4890  _IMP_algebra.UnitSimplex4D_swiginit(self, _IMP_algebra.new_UnitSimplex4D())
4891 
4892  def show(self, *args):
4893  r"""show(UnitSimplex4D self, _ostream out=std::cout)"""
4894  return _IMP_algebra.UnitSimplex4D_show(self, *args)
4895 
4896  def __str__(self):
4897  r"""__str__(UnitSimplex4D self) -> std::string"""
4898  return _IMP_algebra.UnitSimplex4D___str__(self)
4899 
4900  def __repr__(self):
4901  r"""__repr__(UnitSimplex4D self) -> std::string"""
4902  return _IMP_algebra.UnitSimplex4D___repr__(self)
4903 
4904  def __cmp__(self, arg2):
4905  r"""__cmp__(UnitSimplex4D self, UnitSimplex4D arg2) -> int"""
4906  return _IMP_algebra.UnitSimplex4D___cmp__(self, arg2)
4907 
4908  def __eq__(self, arg2):
4909  r"""__eq__(UnitSimplex4D self, UnitSimplex4D arg2) -> bool"""
4910  return _IMP_algebra.UnitSimplex4D___eq__(self, arg2)
4911 
4912  def _get_as_binary(self):
4913  r"""_get_as_binary(UnitSimplex4D self) -> PyObject *"""
4914  return _IMP_algebra.UnitSimplex4D__get_as_binary(self)
4915 
4916  def _set_from_binary(self, p):
4917  r"""_set_from_binary(UnitSimplex4D self, PyObject * p)"""
4918  return _IMP_algebra.UnitSimplex4D__set_from_binary(self, p)
4919 
4920  def __getstate__(self):
4921  p = self._get_as_binary()
4922  if len(self.__dict__) > 1:
4923  d = self.__dict__.copy()
4924  del d['this']
4925  p = (d, p)
4926  return p
4927 
4928  def __setstate__(self, p):
4929  if not hasattr(self, 'this'):
4930  self.__init__()
4931  if isinstance(p, tuple):
4932  d, p = p
4933  self.__dict__.update(d)
4934  return self._set_from_binary(p)
4935 
4936  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex4D
4937 
4938 # Register UnitSimplex4D in _IMP_algebra:
4939 _IMP_algebra.UnitSimplex4D_swigregister(UnitSimplex4D)
4940 class UnitSimplex5D(_UnitSimplexBase5D):
4941  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 5 > class."""
4942 
4943  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4944 
4945  def __init__(self):
4946  r"""__init__(UnitSimplex5D self) -> UnitSimplex5D"""
4947  _IMP_algebra.UnitSimplex5D_swiginit(self, _IMP_algebra.new_UnitSimplex5D())
4948 
4949  def show(self, *args):
4950  r"""show(UnitSimplex5D self, _ostream out=std::cout)"""
4951  return _IMP_algebra.UnitSimplex5D_show(self, *args)
4952 
4953  def __str__(self):
4954  r"""__str__(UnitSimplex5D self) -> std::string"""
4955  return _IMP_algebra.UnitSimplex5D___str__(self)
4956 
4957  def __repr__(self):
4958  r"""__repr__(UnitSimplex5D self) -> std::string"""
4959  return _IMP_algebra.UnitSimplex5D___repr__(self)
4960 
4961  def __cmp__(self, arg2):
4962  r"""__cmp__(UnitSimplex5D self, UnitSimplex5D arg2) -> int"""
4963  return _IMP_algebra.UnitSimplex5D___cmp__(self, arg2)
4964 
4965  def __eq__(self, arg2):
4966  r"""__eq__(UnitSimplex5D self, UnitSimplex5D arg2) -> bool"""
4967  return _IMP_algebra.UnitSimplex5D___eq__(self, arg2)
4968 
4969  def _get_as_binary(self):
4970  r"""_get_as_binary(UnitSimplex5D self) -> PyObject *"""
4971  return _IMP_algebra.UnitSimplex5D__get_as_binary(self)
4972 
4973  def _set_from_binary(self, p):
4974  r"""_set_from_binary(UnitSimplex5D self, PyObject * p)"""
4975  return _IMP_algebra.UnitSimplex5D__set_from_binary(self, p)
4976 
4977  def __getstate__(self):
4978  p = self._get_as_binary()
4979  if len(self.__dict__) > 1:
4980  d = self.__dict__.copy()
4981  del d['this']
4982  p = (d, p)
4983  return p
4984 
4985  def __setstate__(self, p):
4986  if not hasattr(self, 'this'):
4987  self.__init__()
4988  if isinstance(p, tuple):
4989  d, p = p
4990  self.__dict__.update(d)
4991  return self._set_from_binary(p)
4992 
4993  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex5D
4994 
4995 # Register UnitSimplex5D in _IMP_algebra:
4996 _IMP_algebra.UnitSimplex5D_swigregister(UnitSimplex5D)
4997 class UnitSimplex6D(_UnitSimplexBase6D):
4998  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 6 > class."""
4999 
5000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5001 
5002  def __init__(self):
5003  r"""__init__(UnitSimplex6D self) -> UnitSimplex6D"""
5004  _IMP_algebra.UnitSimplex6D_swiginit(self, _IMP_algebra.new_UnitSimplex6D())
5005 
5006  def show(self, *args):
5007  r"""show(UnitSimplex6D self, _ostream out=std::cout)"""
5008  return _IMP_algebra.UnitSimplex6D_show(self, *args)
5009 
5010  def __str__(self):
5011  r"""__str__(UnitSimplex6D self) -> std::string"""
5012  return _IMP_algebra.UnitSimplex6D___str__(self)
5013 
5014  def __repr__(self):
5015  r"""__repr__(UnitSimplex6D self) -> std::string"""
5016  return _IMP_algebra.UnitSimplex6D___repr__(self)
5017 
5018  def __cmp__(self, arg2):
5019  r"""__cmp__(UnitSimplex6D self, UnitSimplex6D arg2) -> int"""
5020  return _IMP_algebra.UnitSimplex6D___cmp__(self, arg2)
5021 
5022  def __eq__(self, arg2):
5023  r"""__eq__(UnitSimplex6D self, UnitSimplex6D arg2) -> bool"""
5024  return _IMP_algebra.UnitSimplex6D___eq__(self, arg2)
5025 
5026  def _get_as_binary(self):
5027  r"""_get_as_binary(UnitSimplex6D self) -> PyObject *"""
5028  return _IMP_algebra.UnitSimplex6D__get_as_binary(self)
5029 
5030  def _set_from_binary(self, p):
5031  r"""_set_from_binary(UnitSimplex6D self, PyObject * p)"""
5032  return _IMP_algebra.UnitSimplex6D__set_from_binary(self, p)
5033 
5034  def __getstate__(self):
5035  p = self._get_as_binary()
5036  if len(self.__dict__) > 1:
5037  d = self.__dict__.copy()
5038  del d['this']
5039  p = (d, p)
5040  return p
5041 
5042  def __setstate__(self, p):
5043  if not hasattr(self, 'this'):
5044  self.__init__()
5045  if isinstance(p, tuple):
5046  d, p = p
5047  self.__dict__.update(d)
5048  return self._set_from_binary(p)
5049 
5050  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex6D
5051 
5052 # Register UnitSimplex6D in _IMP_algebra:
5053 _IMP_algebra.UnitSimplex6D_swigregister(UnitSimplex6D)
5054 class UnitSimplexKD(_UnitSimplexBaseKD):
5055  r"""Proxy of C++ IMP::algebra::UnitSimplexD< -1 > class."""
5056 
5057  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5058  __repr__ = _swig_repr
5059 
5060  def __init__(self, d=1):
5061  r"""__init__(UnitSimplexKD self, int d=1) -> UnitSimplexKD"""
5062  _IMP_algebra.UnitSimplexKD_swiginit(self, _IMP_algebra.new_UnitSimplexKD(d))
5063 
5064  def show(self, *args):
5065  r"""show(UnitSimplexKD self, _ostream out=std::cout)"""
5066  return _IMP_algebra.UnitSimplexKD_show(self, *args)
5067 
5068  def _get_as_binary(self):
5069  r"""_get_as_binary(UnitSimplexKD self) -> PyObject *"""
5070  return _IMP_algebra.UnitSimplexKD__get_as_binary(self)
5071 
5072  def _set_from_binary(self, p):
5073  r"""_set_from_binary(UnitSimplexKD self, PyObject * p)"""
5074  return _IMP_algebra.UnitSimplexKD__set_from_binary(self, p)
5075 
5076  def __getstate__(self):
5077  p = self._get_as_binary()
5078  if len(self.__dict__) > 1:
5079  d = self.__dict__.copy()
5080  del d['this']
5081  p = (d, p)
5082  return p
5083 
5084  def __setstate__(self, p):
5085  if not hasattr(self, 'this'):
5086  self.__init__()
5087  if isinstance(p, tuple):
5088  d, p = p
5089  self.__dict__.update(d)
5090  return self._set_from_binary(p)
5091 
5092  __swig_destroy__ = _IMP_algebra.delete_UnitSimplexKD
5093 
5094 # Register UnitSimplexKD in _IMP_algebra:
5095 _IMP_algebra.UnitSimplexKD_swigregister(UnitSimplexKD)
5096 class ReferenceFrame3D(object):
5097  r"""Proxy of C++ IMP::algebra::ReferenceFrame3D class."""
5098 
5099  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5100 
5101  def __init__(self, *args):
5102  r"""
5103  __init__(ReferenceFrame3D self, ReferenceFrame3D arg2) -> ReferenceFrame3D
5104  __init__(ReferenceFrame3D self) -> ReferenceFrame3D
5105  __init__(ReferenceFrame3D self, Transformation3D tr) -> ReferenceFrame3D
5106  """
5107  _IMP_algebra.ReferenceFrame3D_swiginit(self, _IMP_algebra.new_ReferenceFrame3D(*args))
5108  __swig_destroy__ = _IMP_algebra.delete_ReferenceFrame3D
5109 
5110  def get_transformation_to(self):
5111  r"""get_transformation_to(ReferenceFrame3D self) -> Transformation3D"""
5112  return _IMP_algebra.ReferenceFrame3D_get_transformation_to(self)
5113 
5114  def get_transformation_from(self):
5115  r"""get_transformation_from(ReferenceFrame3D self) -> Transformation3D"""
5116  return _IMP_algebra.ReferenceFrame3D_get_transformation_from(self)
5117 
5118  def get_global_coordinates(self, v):
5119  r"""get_global_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5120  return _IMP_algebra.ReferenceFrame3D_get_global_coordinates(self, v)
5121 
5122  def get_local_coordinates(self, v):
5123  r"""get_local_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
5124  return _IMP_algebra.ReferenceFrame3D_get_local_coordinates(self, v)
5125 
5126  def get_global_reference_frame(self, v):
5127  r"""get_global_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5128  return _IMP_algebra.ReferenceFrame3D_get_global_reference_frame(self, v)
5129 
5130  def get_local_reference_frame(self, v):
5131  r"""get_local_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
5132  return _IMP_algebra.ReferenceFrame3D_get_local_reference_frame(self, v)
5133 
5134  def show(self, *args):
5135  r"""show(ReferenceFrame3D self, _ostream out=std::cout)"""
5136  return _IMP_algebra.ReferenceFrame3D_show(self, *args)
5137 
5138  def __str__(self):
5139  r"""__str__(ReferenceFrame3D self) -> std::string"""
5140  return _IMP_algebra.ReferenceFrame3D___str__(self)
5141 
5142  def __repr__(self):
5143  r"""__repr__(ReferenceFrame3D self) -> std::string"""
5144  return _IMP_algebra.ReferenceFrame3D___repr__(self)
5145 
5146  def _get_as_binary(self):
5147  r"""_get_as_binary(ReferenceFrame3D self) -> PyObject *"""
5148  return _IMP_algebra.ReferenceFrame3D__get_as_binary(self)
5149 
5150  def _set_from_binary(self, p):
5151  r"""_set_from_binary(ReferenceFrame3D self, PyObject * p)"""
5152  return _IMP_algebra.ReferenceFrame3D__set_from_binary(self, p)
5153 
5154  def __getstate__(self):
5155  p = self._get_as_binary()
5156  if len(self.__dict__) > 1:
5157  d = self.__dict__.copy()
5158  del d['this']
5159  p = (d, p)
5160  return p
5161 
5162  def __setstate__(self, p):
5163  if not hasattr(self, 'this'):
5164  self.__init__()
5165  if isinstance(p, tuple):
5166  d, p = p
5167  self.__dict__.update(d)
5168  return self._set_from_binary(p)
5169 
5170 
5171 # Register ReferenceFrame3D in _IMP_algebra:
5172 _IMP_algebra.ReferenceFrame3D_swigregister(ReferenceFrame3D)
5173 
5174 def get_transformed(*args):
5175  r"""
5176  get_transformed(BoundingBox3D bb, Transformation3D tr) -> BoundingBox3D
5177  get_transformed(Line3D l, Transformation3D tr) -> Line3D
5178  get_transformed(ReferenceFrame3D rf, Transformation3D tr) -> ReferenceFrame3D
5179  """
5180  return _IMP_algebra.get_transformed(*args)
5181 
5182 def get_transformation_from_first_to_second(a, b):
5183  r"""get_transformation_from_first_to_second(ReferenceFrame3D a, ReferenceFrame3D b) -> Transformation3D"""
5184  return _IMP_algebra.get_transformation_from_first_to_second(a, b)
5185 class SphericalVector3D(_GeometricPrimitive3D):
5186  r"""Proxy of C++ IMP::algebra::SphericalVector3D class."""
5187 
5188  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5189 
5190  def __init__(self, *args):
5191  r"""
5192  __init__(SphericalVector3D self) -> SphericalVector3D
5193  __init__(SphericalVector3D self, Vector3D v) -> SphericalVector3D
5194  __init__(SphericalVector3D self, double r, double theta, double psi, bool apply_check=True) -> SphericalVector3D
5195  """
5196  _IMP_algebra.SphericalVector3D_swiginit(self, _IMP_algebra.new_SphericalVector3D(*args))
5197 
5198  def get_cartesian_coordinates(self):
5199  r"""get_cartesian_coordinates(SphericalVector3D self) -> Vector3D"""
5200  return _IMP_algebra.SphericalVector3D_get_cartesian_coordinates(self)
5201 
5202  def show(self, *args):
5203  r"""show(SphericalVector3D self, _ostream out=std::cout)"""
5204  return _IMP_algebra.SphericalVector3D_show(self, *args)
5205 
5206  def __str__(self):
5207  r"""__str__(SphericalVector3D self) -> std::string"""
5208  return _IMP_algebra.SphericalVector3D___str__(self)
5209 
5210  def __repr__(self):
5211  r"""__repr__(SphericalVector3D self) -> std::string"""
5212  return _IMP_algebra.SphericalVector3D___repr__(self)
5213 
5214  def _get_as_binary(self):
5215  r"""_get_as_binary(SphericalVector3D self) -> PyObject *"""
5216  return _IMP_algebra.SphericalVector3D__get_as_binary(self)
5217 
5218  def _set_from_binary(self, p):
5219  r"""_set_from_binary(SphericalVector3D self, PyObject * p)"""
5220  return _IMP_algebra.SphericalVector3D__set_from_binary(self, p)
5221 
5222  def __getstate__(self):
5223  p = self._get_as_binary()
5224  if len(self.__dict__) > 1:
5225  d = self.__dict__.copy()
5226  del d['this']
5227  p = (d, p)
5228  return p
5229 
5230  def __setstate__(self, p):
5231  if not hasattr(self, 'this'):
5232  self.__init__()
5233  if isinstance(p, tuple):
5234  d, p = p
5235  self.__dict__.update(d)
5236  return self._set_from_binary(p)
5237 
5238 
5239  def __getitem__(self, index):
5240  r"""__getitem__(SphericalVector3D self, unsigned int index) -> double"""
5241  return _IMP_algebra.SphericalVector3D___getitem__(self, index)
5242 
5243  def __setitem__(self, index, val):
5244  r"""__setitem__(SphericalVector3D self, unsigned int index, double val)"""
5245  return _IMP_algebra.SphericalVector3D___setitem__(self, index, val)
5246  __swig_destroy__ = _IMP_algebra.delete_SphericalVector3D
5247 
5248 # Register SphericalVector3D in _IMP_algebra:
5249 _IMP_algebra.SphericalVector3D_swigregister(SphericalVector3D)
5250 
5251 def get_alignments_from_first_to_second(pca1, pca2):
5252  r"""get_alignments_from_first_to_second(PrincipalComponentAnalysis3D pca1, PrincipalComponentAnalysis3D pca2) -> IMP::algebra::Transformation3Ds"""
5253  return _IMP_algebra.get_alignments_from_first_to_second(pca1, pca2)
5254 class Line3D(_GeometricPrimitive3D):
5255  r"""Proxy of C++ IMP::algebra::Line3D class."""
5256 
5257  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5258 
5259  def __init__(self, *args):
5260  r"""
5261  __init__(Line3D self) -> Line3D
5262  __init__(Line3D self, Vector3D direction, Vector3D point_on_line) -> Line3D
5263  __init__(Line3D self, Segment3D s) -> Line3D
5264  """
5265  _IMP_algebra.Line3D_swiginit(self, _IMP_algebra.new_Line3D(*args))
5266 
5267  def get_direction(self):
5268  r"""get_direction(Line3D self) -> Vector3D"""
5269  return _IMP_algebra.Line3D_get_direction(self)
5270 
5271  def get_point_on_line(self):
5272  r"""get_point_on_line(Line3D self) -> Vector3D"""
5273  return _IMP_algebra.Line3D_get_point_on_line(self)
5274 
5275  def get_moment(self, *args):
5276  r"""
5277  get_moment(Line3D self) -> Vector3D
5278  get_moment(Line3D self, Vector3D v) -> Vector3D
5279  """
5280  return _IMP_algebra.Line3D_get_moment(self, *args)
5281 
5282  def get_reciprocal_product(self, l):
5283  r"""get_reciprocal_product(Line3D self, Line3D l) -> double"""
5284  return _IMP_algebra.Line3D_get_reciprocal_product(self, l)
5285 
5286  def get_opposite(self):
5287  r"""get_opposite(Line3D self) -> Line3D"""
5288  return _IMP_algebra.Line3D_get_opposite(self)
5289 
5290  def get_segment_starting_at(self, v, d):
5291  r"""get_segment_starting_at(Line3D self, Vector3D v, double d) -> Segment3D"""
5292  return _IMP_algebra.Line3D_get_segment_starting_at(self, v, d)
5293 
5294  def show(self, *args):
5295  r"""show(Line3D self, _ostream out=std::cout)"""
5296  return _IMP_algebra.Line3D_show(self, *args)
5297 
5298  def __str__(self):
5299  r"""__str__(Line3D self) -> std::string"""
5300  return _IMP_algebra.Line3D___str__(self)
5301 
5302  def __repr__(self):
5303  r"""__repr__(Line3D self) -> std::string"""
5304  return _IMP_algebra.Line3D___repr__(self)
5305 
5306  def _get_as_binary(self):
5307  r"""_get_as_binary(Line3D self) -> PyObject *"""
5308  return _IMP_algebra.Line3D__get_as_binary(self)
5309 
5310  def _set_from_binary(self, p):
5311  r"""_set_from_binary(Line3D self, PyObject * p)"""
5312  return _IMP_algebra.Line3D__set_from_binary(self, p)
5313 
5314  def __getstate__(self):
5315  p = self._get_as_binary()
5316  if len(self.__dict__) > 1:
5317  d = self.__dict__.copy()
5318  del d['this']
5319  p = (d, p)
5320  return p
5321 
5322  def __setstate__(self, p):
5323  if not hasattr(self, 'this'):
5324  self.__init__()
5325  if isinstance(p, tuple):
5326  d, p = p
5327  self.__dict__.update(d)
5328  return self._set_from_binary(p)
5329 
5330  __swig_destroy__ = _IMP_algebra.delete_Line3D
5331 
5332 # Register Line3D in _IMP_algebra:
5333 _IMP_algebra.Line3D_swigregister(Line3D)
5334 
5335 def get_line_3d_geometry(g):
5336  r"""get_line_3d_geometry(Line3D g) -> Line3D"""
5337  return _IMP_algebra.get_line_3d_geometry(g)
5338 
5339 def get_angle(a, b):
5340  r"""get_angle(Line3D a, Line3D b) -> double"""
5341  return _IMP_algebra.get_angle(a, b)
5342 
5344  r"""get_segment_connecting_first_to_second(Line3D a, Line3D b) -> Segment3D"""
5345  return _IMP_algebra.get_segment_connecting_first_to_second(a, b)
5346 class Segment3D(_GeometricPrimitive3D):
5347  r"""Proxy of C++ IMP::algebra::Segment3D class."""
5348 
5349  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5350 
5351  def __init__(self, *args):
5352  r"""
5353  __init__(Segment3D self) -> Segment3D
5354  __init__(Segment3D self, Vector3D start, Vector3D end) -> Segment3D
5355  """
5356  _IMP_algebra.Segment3D_swiginit(self, _IMP_algebra.new_Segment3D(*args))
5357 
5358  def get_point(self, i):
5359  if i < 0 or i >= 2:
5360  raise IMP.UsageException("Invalid point index")
5361  return _IMP_algebra.Segment3D_get_point(self, i)
5362 
5363 
5364 
5365  def get_middle_point(self):
5366  r"""get_middle_point(Segment3D self) -> Vector3D"""
5367  return _IMP_algebra.Segment3D_get_middle_point(self)
5368 
5369  def get_direction(self):
5370  r"""get_direction(Segment3D self) -> Vector3D"""
5371  return _IMP_algebra.Segment3D_get_direction(self)
5372 
5373  def get_length(self):
5374  r"""get_length(Segment3D self) -> double"""
5375  return _IMP_algebra.Segment3D_get_length(self)
5376 
5377  def show(self, *args):
5378  r"""show(Segment3D self, _ostream out=std::cout)"""
5379  return _IMP_algebra.Segment3D_show(self, *args)
5380 
5381  def __str__(self):
5382  r"""__str__(Segment3D self) -> std::string"""
5383  return _IMP_algebra.Segment3D___str__(self)
5384 
5385  def __repr__(self):
5386  r"""__repr__(Segment3D self) -> std::string"""
5387  return _IMP_algebra.Segment3D___repr__(self)
5388 
5389  def _get_as_binary(self):
5390  r"""_get_as_binary(Segment3D self) -> PyObject *"""
5391  return _IMP_algebra.Segment3D__get_as_binary(self)
5392 
5393  def _set_from_binary(self, p):
5394  r"""_set_from_binary(Segment3D self, PyObject * p)"""
5395  return _IMP_algebra.Segment3D__set_from_binary(self, p)
5396 
5397  def __getstate__(self):
5398  p = self._get_as_binary()
5399  if len(self.__dict__) > 1:
5400  d = self.__dict__.copy()
5401  del d['this']
5402  p = (d, p)
5403  return p
5404 
5405  def __setstate__(self, p):
5406  if not hasattr(self, 'this'):
5407  self.__init__()
5408  if isinstance(p, tuple):
5409  d, p = p
5410  self.__dict__.update(d)
5411  return self._set_from_binary(p)
5412 
5413  __swig_destroy__ = _IMP_algebra.delete_Segment3D
5414 
5415 # Register Segment3D in _IMP_algebra:
5416 _IMP_algebra.Segment3D_swigregister(Segment3D)
5417 
5418 def get_segment_3d_geometry(g):
5419  r"""get_segment_3d_geometry(Segment3D g) -> Segment3D"""
5420  return _IMP_algebra.get_segment_3d_geometry(g)
5421 
5423  r"""get_relative_projection_on_segment(Segment3D s, Vector3D p) -> double"""
5424  return _IMP_algebra.get_relative_projection_on_segment(s, p)
5425 class Triangle3D(_GeometricPrimitive3D):
5426  r"""Proxy of C++ IMP::algebra::Triangle3D class."""
5427 
5428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5429 
5430  def __init__(self, *args):
5431  r"""
5432  __init__(Triangle3D self) -> Triangle3D
5433  __init__(Triangle3D self, Vector3D p1, Vector3D p2, Vector3D p3) -> Triangle3D
5434  """
5435  _IMP_algebra.Triangle3D_swiginit(self, _IMP_algebra.new_Triangle3D(*args))
5436 
5437  def get_point(self, i):
5438  r"""get_point(Triangle3D self, unsigned int i) -> Vector3D"""
5439  return _IMP_algebra.Triangle3D_get_point(self, i)
5440 
5441  def show(self, *args):
5442  r"""show(Triangle3D self, _ostream out=std::cout)"""
5443  return _IMP_algebra.Triangle3D_show(self, *args)
5444 
5445  def get_edge_lengths(self):
5446  r"""get_edge_lengths(Triangle3D self) -> IMP::Floats"""
5447  return _IMP_algebra.Triangle3D_get_edge_lengths(self)
5448 
5449  def __str__(self):
5450  r"""__str__(Triangle3D self) -> std::string"""
5451  return _IMP_algebra.Triangle3D___str__(self)
5452 
5453  def __repr__(self):
5454  r"""__repr__(Triangle3D self) -> std::string"""
5455  return _IMP_algebra.Triangle3D___repr__(self)
5456 
5457  def _get_as_binary(self):
5458  r"""_get_as_binary(Triangle3D self) -> PyObject *"""
5459  return _IMP_algebra.Triangle3D__get_as_binary(self)
5460 
5461  def _set_from_binary(self, p):
5462  r"""_set_from_binary(Triangle3D self, PyObject * p)"""
5463  return _IMP_algebra.Triangle3D__set_from_binary(self, p)
5464 
5465  def __getstate__(self):
5466  p = self._get_as_binary()
5467  if len(self.__dict__) > 1:
5468  d = self.__dict__.copy()
5469  del d['this']
5470  p = (d, p)
5471  return p
5472 
5473  def __setstate__(self, p):
5474  if not hasattr(self, 'this'):
5475  self.__init__()
5476  if isinstance(p, tuple):
5477  d, p = p
5478  self.__dict__.update(d)
5479  return self._set_from_binary(p)
5480 
5481  __swig_destroy__ = _IMP_algebra.delete_Triangle3D
5482 
5483 # Register Triangle3D in _IMP_algebra:
5484 _IMP_algebra.Triangle3D_swigregister(Triangle3D)
5485 
5486 def get_largest_triangle(points):
5487  r"""get_largest_triangle(IMP::algebra::Vector3Ds const & points) -> Triangle3D"""
5488  return _IMP_algebra.get_largest_triangle(points)
5489 
5490 def get_transformation_from_first_triangle_to_second(first_tri, second_tri):
5491  r"""get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri) -> Transformation3D"""
5492  return _IMP_algebra.get_transformation_from_first_triangle_to_second(first_tri, second_tri)
5493 
5494 def get_are_colinear(p1, p2, p3):
5495  r"""get_are_colinear(Vector3D p1, Vector3D p2, Vector3D p3) -> bool"""
5496  return _IMP_algebra.get_are_colinear(p1, p2, p3)
5497 class LinearFit2D(_GeometricPrimitive2D):
5498  r"""Proxy of C++ IMP::algebra::LinearFit2D class."""
5499 
5500  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5501 
5502  def __init__(self, *args):
5503  r"""
5504  __init__(LinearFit2D self) -> LinearFit2D
5505  __init__(LinearFit2D self, IMP::algebra::Vector2Ds const & data, IMP::Floats const & error_bars=IMP::Floats()) -> LinearFit2D
5506  """
5507  _IMP_algebra.LinearFit2D_swiginit(self, _IMP_algebra.new_LinearFit2D(*args))
5508 
5509  def get_fit_error(self):
5510  r"""get_fit_error(LinearFit2D self) -> double"""
5511  return _IMP_algebra.LinearFit2D_get_fit_error(self)
5512 
5513  def get_a(self):
5514  r"""get_a(LinearFit2D self) -> double"""
5515  return _IMP_algebra.LinearFit2D_get_a(self)
5516 
5517  def get_b(self):
5518  r"""get_b(LinearFit2D self) -> double"""
5519  return _IMP_algebra.LinearFit2D_get_b(self)
5520 
5521  def show(self, *args):
5522  r"""show(LinearFit2D self, _ostream out=std::cout)"""
5523  return _IMP_algebra.LinearFit2D_show(self, *args)
5524 
5525  def __str__(self):
5526  r"""__str__(LinearFit2D self) -> std::string"""
5527  return _IMP_algebra.LinearFit2D___str__(self)
5528 
5529  def __repr__(self):
5530  r"""__repr__(LinearFit2D self) -> std::string"""
5531  return _IMP_algebra.LinearFit2D___repr__(self)
5532 
5533  def _get_as_binary(self):
5534  r"""_get_as_binary(LinearFit2D self) -> PyObject *"""
5535  return _IMP_algebra.LinearFit2D__get_as_binary(self)
5536 
5537  def _set_from_binary(self, p):
5538  r"""_set_from_binary(LinearFit2D self, PyObject * p)"""
5539  return _IMP_algebra.LinearFit2D__set_from_binary(self, p)
5540 
5541  def __getstate__(self):
5542  p = self._get_as_binary()
5543  if len(self.__dict__) > 1:
5544  d = self.__dict__.copy()
5545  del d['this']
5546  p = (d, p)
5547  return p
5548 
5549  def __setstate__(self, p):
5550  if not hasattr(self, 'this'):
5551  self.__init__()
5552  if isinstance(p, tuple):
5553  d, p = p
5554  self.__dict__.update(d)
5555  return self._set_from_binary(p)
5556 
5557  __swig_destroy__ = _IMP_algebra.delete_LinearFit2D
5558 
5559 # Register LinearFit2D in _IMP_algebra:
5560 _IMP_algebra.LinearFit2D_swigregister(LinearFit2D)
5561 class ParabolicFit2D(_GeometricPrimitive2D):
5562  r"""Proxy of C++ IMP::algebra::ParabolicFit2D class."""
5563 
5564  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5565 
5566  def __init__(self, *args):
5567  r"""
5568  __init__(ParabolicFit2D self) -> ParabolicFit2D
5569  __init__(ParabolicFit2D self, IMP::algebra::Vector2Ds const & data) -> ParabolicFit2D
5570  """
5571  _IMP_algebra.ParabolicFit2D_swiginit(self, _IMP_algebra.new_ParabolicFit2D(*args))
5572 
5573  def get_fit_error(self):
5574  r"""get_fit_error(ParabolicFit2D self) -> double"""
5575  return _IMP_algebra.ParabolicFit2D_get_fit_error(self)
5576 
5577  def get_a(self):
5578  r"""get_a(ParabolicFit2D self) -> double"""
5579  return _IMP_algebra.ParabolicFit2D_get_a(self)
5580 
5581  def get_b(self):
5582  r"""get_b(ParabolicFit2D self) -> double"""
5583  return _IMP_algebra.ParabolicFit2D_get_b(self)
5584 
5585  def get_c(self):
5586  r"""get_c(ParabolicFit2D self) -> double"""
5587  return _IMP_algebra.ParabolicFit2D_get_c(self)
5588 
5589  def show(self, *args):
5590  r"""show(ParabolicFit2D self, _ostream out=std::cout)"""
5591  return _IMP_algebra.ParabolicFit2D_show(self, *args)
5592 
5593  def __str__(self):
5594  r"""__str__(ParabolicFit2D self) -> std::string"""
5595  return _IMP_algebra.ParabolicFit2D___str__(self)
5596 
5597  def __repr__(self):
5598  r"""__repr__(ParabolicFit2D self) -> std::string"""
5599  return _IMP_algebra.ParabolicFit2D___repr__(self)
5600 
5601  def _get_as_binary(self):
5602  r"""_get_as_binary(ParabolicFit2D self) -> PyObject *"""
5603  return _IMP_algebra.ParabolicFit2D__get_as_binary(self)
5604 
5605  def _set_from_binary(self, p):
5606  r"""_set_from_binary(ParabolicFit2D self, PyObject * p)"""
5607  return _IMP_algebra.ParabolicFit2D__set_from_binary(self, p)
5608 
5609  def __getstate__(self):
5610  p = self._get_as_binary()
5611  if len(self.__dict__) > 1:
5612  d = self.__dict__.copy()
5613  del d['this']
5614  p = (d, p)
5615  return p
5616 
5617  def __setstate__(self, p):
5618  if not hasattr(self, 'this'):
5619  self.__init__()
5620  if isinstance(p, tuple):
5621  d, p = p
5622  self.__dict__.update(d)
5623  return self._set_from_binary(p)
5624 
5625  __swig_destroy__ = _IMP_algebra.delete_ParabolicFit2D
5626 
5627 # Register ParabolicFit2D in _IMP_algebra:
5628 _IMP_algebra.ParabolicFit2D_swigregister(ParabolicFit2D)
5629 class Plane3D(_GeometricPrimitive3D):
5630  r"""Proxy of C++ IMP::algebra::Plane3D class."""
5631 
5632  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5633 
5634  def __init__(self, *args):
5635  r"""
5636  __init__(Plane3D self) -> Plane3D
5637  __init__(Plane3D self, Vector3D point_on_plane, Vector3D normal_to_plane) -> Plane3D
5638  __init__(Plane3D self, double distance_to_plane, Vector3D normal_to_plane) -> Plane3D
5639  """
5640  _IMP_algebra.Plane3D_swiginit(self, _IMP_algebra.new_Plane3D(*args))
5641 
5642  def get_point_on_plane(self):
5643  r"""get_point_on_plane(Plane3D self) -> Vector3D"""
5644  return _IMP_algebra.Plane3D_get_point_on_plane(self)
5645 
5646  def get_normal(self):
5647  r"""get_normal(Plane3D self) -> Vector3D"""
5648  return _IMP_algebra.Plane3D_get_normal(self)
5649 
5650  def get_projected(self, p):
5651  r"""get_projected(Plane3D self, Vector3D p) -> Vector3D"""
5652  return _IMP_algebra.Plane3D_get_projected(self, p)
5653 
5654  def get_is_above(self, p):
5655  r"""get_is_above(Plane3D self, Vector3D p) -> bool"""
5656  return _IMP_algebra.Plane3D_get_is_above(self, p)
5657 
5658  def get_is_below(self, p):
5659  r"""get_is_below(Plane3D self, Vector3D p) -> bool"""
5660  return _IMP_algebra.Plane3D_get_is_below(self, p)
5661 
5662  def get_height(self, p):
5663  r"""get_height(Plane3D self, Vector3D p) -> double"""
5664  return _IMP_algebra.Plane3D_get_height(self, p)
5665 
5666  def show(self, *args):
5667  r"""show(Plane3D self, _ostream out=std::cout)"""
5668  return _IMP_algebra.Plane3D_show(self, *args)
5669 
5670  def get_opposite(self):
5671  r"""get_opposite(Plane3D self) -> Plane3D"""
5672  return _IMP_algebra.Plane3D_get_opposite(self)
5673 
5674  def get_distance_from_origin(self):
5675  r"""get_distance_from_origin(Plane3D self) -> double"""
5676  return _IMP_algebra.Plane3D_get_distance_from_origin(self)
5677 
5678  def __str__(self):
5679  r"""__str__(Plane3D self) -> std::string"""
5680  return _IMP_algebra.Plane3D___str__(self)
5681 
5682  def __repr__(self):
5683  r"""__repr__(Plane3D self) -> std::string"""
5684  return _IMP_algebra.Plane3D___repr__(self)
5685 
5686  def _get_as_binary(self):
5687  r"""_get_as_binary(Plane3D self) -> PyObject *"""
5688  return _IMP_algebra.Plane3D__get_as_binary(self)
5689 
5690  def _set_from_binary(self, p):
5691  r"""_set_from_binary(Plane3D self, PyObject * p)"""
5692  return _IMP_algebra.Plane3D__set_from_binary(self, p)
5693 
5694  def __getstate__(self):
5695  p = self._get_as_binary()
5696  if len(self.__dict__) > 1:
5697  d = self.__dict__.copy()
5698  del d['this']
5699  p = (d, p)
5700  return p
5701 
5702  def __setstate__(self, p):
5703  if not hasattr(self, 'this'):
5704  self.__init__()
5705  if isinstance(p, tuple):
5706  d, p = p
5707  self.__dict__.update(d)
5708  return self._set_from_binary(p)
5709 
5710  __swig_destroy__ = _IMP_algebra.delete_Plane3D
5711 
5712 # Register Plane3D in _IMP_algebra:
5713 _IMP_algebra.Plane3D_swigregister(Plane3D)
5714 
5715 def get_reflected(pln, p):
5716  r"""get_reflected(Plane3D pln, Vector3D p) -> Vector3D"""
5717  return _IMP_algebra.get_reflected(pln, p)
5718 
5719 def get_plane_3d_geometry(g):
5720  r"""get_plane_3d_geometry(Plane3D g) -> Plane3D"""
5721  return _IMP_algebra.get_plane_3d_geometry(g)
5722 class Reflection3D(_GeometricPrimitive3D):
5723  r"""Proxy of C++ IMP::algebra::Reflection3D class."""
5724 
5725  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5726 
5727  def __init__(self, *args):
5728  r"""
5729  __init__(Reflection3D self) -> Reflection3D
5730  __init__(Reflection3D self, Plane3D pl) -> Reflection3D
5731  """
5732  _IMP_algebra.Reflection3D_swiginit(self, _IMP_algebra.new_Reflection3D(*args))
5733 
5734  def get_reflected(self, v):
5735  r"""get_reflected(Reflection3D self, Vector3D v) -> Vector3D"""
5736  return _IMP_algebra.Reflection3D_get_reflected(self, v)
5737 
5738  def show(self, *args):
5739  r"""show(Reflection3D self, _ostream out=std::cout)"""
5740  return _IMP_algebra.Reflection3D_show(self, *args)
5741 
5742  def __str__(self):
5743  r"""__str__(Reflection3D self) -> std::string"""
5744  return _IMP_algebra.Reflection3D___str__(self)
5745 
5746  def __repr__(self):
5747  r"""__repr__(Reflection3D self) -> std::string"""
5748  return _IMP_algebra.Reflection3D___repr__(self)
5749 
5750  def _get_as_binary(self):
5751  r"""_get_as_binary(Reflection3D self) -> PyObject *"""
5752  return _IMP_algebra.Reflection3D__get_as_binary(self)
5753 
5754  def _set_from_binary(self, p):
5755  r"""_set_from_binary(Reflection3D self, PyObject * p)"""
5756  return _IMP_algebra.Reflection3D__set_from_binary(self, p)
5757 
5758  def __getstate__(self):
5759  p = self._get_as_binary()
5760  if len(self.__dict__) > 1:
5761  d = self.__dict__.copy()
5762  del d['this']
5763  p = (d, p)
5764  return p
5765 
5766  def __setstate__(self, p):
5767  if not hasattr(self, 'this'):
5768  self.__init__()
5769  if isinstance(p, tuple):
5770  d, p = p
5771  self.__dict__.update(d)
5772  return self._set_from_binary(p)
5773 
5774  __swig_destroy__ = _IMP_algebra.delete_Reflection3D
5775 
5776 # Register Reflection3D in _IMP_algebra:
5777 _IMP_algebra.Reflection3D_swigregister(Reflection3D)
5778 class Cylinder3D(_GeometricPrimitive3D):
5779  r"""Proxy of C++ IMP::algebra::Cylinder3D class."""
5780 
5781  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5782 
5783  def __init__(self, *args):
5784  r"""
5785  __init__(Cylinder3D self) -> Cylinder3D
5786  __init__(Cylinder3D self, Segment3D s, double radius) -> Cylinder3D
5787  """
5788  _IMP_algebra.Cylinder3D_swiginit(self, _IMP_algebra.new_Cylinder3D(*args))
5789 
5790  def get_radius(self):
5791  r"""get_radius(Cylinder3D self) -> double"""
5792  return _IMP_algebra.Cylinder3D_get_radius(self)
5793 
5794  def get_segment(self):
5795  r"""get_segment(Cylinder3D self) -> Segment3D"""
5796  return _IMP_algebra.Cylinder3D_get_segment(self)
5797 
5798  def get_surface_point_at(self, relative_height, angle):
5799  r"""get_surface_point_at(Cylinder3D self, double relative_height, double angle) -> Vector3D"""
5800  return _IMP_algebra.Cylinder3D_get_surface_point_at(self, relative_height, angle)
5801 
5802  def get_inner_point_at(self, relative_height, relative_radius, angle):
5803  r"""get_inner_point_at(Cylinder3D self, double relative_height, double relative_radius, double angle) -> Vector3D"""
5804  return _IMP_algebra.Cylinder3D_get_inner_point_at(self, relative_height, relative_radius, angle)
5805 
5806  def show(self, *args):
5807  r"""show(Cylinder3D self, _ostream out=std::cout)"""
5808  return _IMP_algebra.Cylinder3D_show(self, *args)
5809 
5810  def __str__(self):
5811  r"""__str__(Cylinder3D self) -> std::string"""
5812  return _IMP_algebra.Cylinder3D___str__(self)
5813 
5814  def __repr__(self):
5815  r"""__repr__(Cylinder3D self) -> std::string"""
5816  return _IMP_algebra.Cylinder3D___repr__(self)
5817 
5818  def _get_as_binary(self):
5819  r"""_get_as_binary(Cylinder3D self) -> PyObject *"""
5820  return _IMP_algebra.Cylinder3D__get_as_binary(self)
5821 
5822  def _set_from_binary(self, p):
5823  r"""_set_from_binary(Cylinder3D self, PyObject * p)"""
5824  return _IMP_algebra.Cylinder3D__set_from_binary(self, p)
5825 
5826  def __getstate__(self):
5827  p = self._get_as_binary()
5828  if len(self.__dict__) > 1:
5829  d = self.__dict__.copy()
5830  del d['this']
5831  p = (d, p)
5832  return p
5833 
5834  def __setstate__(self, p):
5835  if not hasattr(self, 'this'):
5836  self.__init__()
5837  if isinstance(p, tuple):
5838  d, p = p
5839  self.__dict__.update(d)
5840  return self._set_from_binary(p)
5841 
5842  __swig_destroy__ = _IMP_algebra.delete_Cylinder3D
5843 
5844 # Register Cylinder3D in _IMP_algebra:
5845 _IMP_algebra.Cylinder3D_swigregister(Cylinder3D)
5846 
5847 def get_cylinder_3d_geometry(g):
5848  r"""get_cylinder_3d_geometry(Cylinder3D g) -> Cylinder3D"""
5849  return _IMP_algebra.get_cylinder_3d_geometry(g)
5850 class Ellipsoid3D(_GeometricPrimitive3D):
5851  r"""Proxy of C++ IMP::algebra::Ellipsoid3D class."""
5852 
5853  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5854 
5855  def __init__(self, *args):
5856  r"""
5857  __init__(Ellipsoid3D self) -> Ellipsoid3D
5858  __init__(Ellipsoid3D self, ReferenceFrame3D rf, Vector3D radii) -> Ellipsoid3D
5859  __init__(Ellipsoid3D self, Vector3D center, double radius_x, double radius_y, double radius_z, Rotation3D rot) -> Ellipsoid3D
5860  """
5861  _IMP_algebra.Ellipsoid3D_swiginit(self, _IMP_algebra.new_Ellipsoid3D(*args))
5862 
5863  def get_radii(self):
5864  r"""get_radii(Ellipsoid3D self) -> Vector3D"""
5865  return _IMP_algebra.Ellipsoid3D_get_radii(self)
5866 
5867  def get_reference_frame(self):
5868  r"""get_reference_frame(Ellipsoid3D self) -> ReferenceFrame3D"""
5869  return _IMP_algebra.Ellipsoid3D_get_reference_frame(self)
5870 
5871  def show(self, *args):
5872  r"""show(Ellipsoid3D self, _ostream out=std::cout)"""
5873  return _IMP_algebra.Ellipsoid3D_show(self, *args)
5874 
5875  def __str__(self):
5876  r"""__str__(Ellipsoid3D self) -> std::string"""
5877  return _IMP_algebra.Ellipsoid3D___str__(self)
5878 
5879  def __repr__(self):
5880  r"""__repr__(Ellipsoid3D self) -> std::string"""
5881  return _IMP_algebra.Ellipsoid3D___repr__(self)
5882 
5883  def _get_as_binary(self):
5884  r"""_get_as_binary(Ellipsoid3D self) -> PyObject *"""
5885  return _IMP_algebra.Ellipsoid3D__get_as_binary(self)
5886 
5887  def _set_from_binary(self, p):
5888  r"""_set_from_binary(Ellipsoid3D self, PyObject * p)"""
5889  return _IMP_algebra.Ellipsoid3D__set_from_binary(self, p)
5890 
5891  def __getstate__(self):
5892  p = self._get_as_binary()
5893  if len(self.__dict__) > 1:
5894  d = self.__dict__.copy()
5895  del d['this']
5896  p = (d, p)
5897  return p
5898 
5899  def __setstate__(self, p):
5900  if not hasattr(self, 'this'):
5901  self.__init__()
5902  if isinstance(p, tuple):
5903  d, p = p
5904  self.__dict__.update(d)
5905  return self._set_from_binary(p)
5906 
5907  __swig_destroy__ = _IMP_algebra.delete_Ellipsoid3D
5908 
5909 # Register Ellipsoid3D in _IMP_algebra:
5910 _IMP_algebra.Ellipsoid3D_swigregister(Ellipsoid3D)
5911 
5912 def get_ellipsoid_3d_geometry(g):
5913  r"""get_ellipsoid_3d_geometry(Ellipsoid3D g) -> Ellipsoid3D"""
5914  return _IMP_algebra.get_ellipsoid_3d_geometry(g)
5915 class ConnollySurfacePoint(object):
5916  r"""Proxy of C++ IMP::algebra::ConnollySurfacePoint class."""
5917 
5918  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5919 
5920  def __init__(self, *args):
5921  r"""
5922  __init__(ConnollySurfacePoint self) -> ConnollySurfacePoint
5923  __init__(ConnollySurfacePoint self, int a0, int a1, int a2, Vector3D sp, float a, Vector3D n) -> ConnollySurfacePoint
5924  """
5925  _IMP_algebra.ConnollySurfacePoint_swiginit(self, _IMP_algebra.new_ConnollySurfacePoint(*args))
5926 
5927  def get_atom(self, i):
5928  r"""get_atom(ConnollySurfacePoint self, unsigned int i) -> int"""
5929  return _IMP_algebra.ConnollySurfacePoint_get_atom(self, i)
5930 
5931  def get_surface_point(self):
5932  r"""get_surface_point(ConnollySurfacePoint self) -> Vector3D"""
5933  return _IMP_algebra.ConnollySurfacePoint_get_surface_point(self)
5934 
5935  def get_area(self):
5936  r"""get_area(ConnollySurfacePoint self) -> double"""
5937  return _IMP_algebra.ConnollySurfacePoint_get_area(self)
5938 
5939  def get_normal(self):
5940  r"""get_normal(ConnollySurfacePoint self) -> Vector3D"""
5941  return _IMP_algebra.ConnollySurfacePoint_get_normal(self)
5942 
5943  def show(self, *args):
5944  r"""show(ConnollySurfacePoint self, _ostream out=std::cout)"""
5945  return _IMP_algebra.ConnollySurfacePoint_show(self, *args)
5946 
5947  def __str__(self):
5948  r"""__str__(ConnollySurfacePoint self) -> std::string"""
5949  return _IMP_algebra.ConnollySurfacePoint___str__(self)
5950 
5951  def __repr__(self):
5952  r"""__repr__(ConnollySurfacePoint self) -> std::string"""
5953  return _IMP_algebra.ConnollySurfacePoint___repr__(self)
5954 
5955  def _get_as_binary(self):
5956  r"""_get_as_binary(ConnollySurfacePoint self) -> PyObject *"""
5957  return _IMP_algebra.ConnollySurfacePoint__get_as_binary(self)
5958 
5959  def _set_from_binary(self, p):
5960  r"""_set_from_binary(ConnollySurfacePoint self, PyObject * p)"""
5961  return _IMP_algebra.ConnollySurfacePoint__set_from_binary(self, p)
5962 
5963  def __getstate__(self):
5964  p = self._get_as_binary()
5965  if len(self.__dict__) > 1:
5966  d = self.__dict__.copy()
5967  del d['this']
5968  p = (d, p)
5969  return p
5970 
5971  def __setstate__(self, p):
5972  if not hasattr(self, 'this'):
5973  self.__init__()
5974  if isinstance(p, tuple):
5975  d, p = p
5976  self.__dict__.update(d)
5977  return self._set_from_binary(p)
5978 
5979  __swig_destroy__ = _IMP_algebra.delete_ConnollySurfacePoint
5980 
5981 # Register ConnollySurfacePoint in _IMP_algebra:
5982 _IMP_algebra.ConnollySurfacePoint_swigregister(ConnollySurfacePoint)
5983 
5984 def get_connolly_surface(spheres, density, probe_radius):
5985  r"""get_connolly_surface(IMP::algebra::Sphere3Ds const & spheres, double density, double probe_radius) -> IMP::algebra::ConnollySurfacePoints"""
5986  return _IMP_algebra.get_connolly_surface(spheres, density, probe_radius)
5987 class LogEmbedding3D(object):
5988  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 3 > class."""
5989 
5990  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5991 
5992  def __init__(self, *args):
5993  r"""
5994  __init__(LogEmbedding3D self, Vector3D origin, Vector3D cell, Vector3D base) -> LogEmbedding3D
5995  __init__(LogEmbedding3D self, BoundingBox3D bb, Vector3D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding3D
5996  __init__(LogEmbedding3D self, Vector3D arg2, Vector3D arg3) -> LogEmbedding3D
5997  __init__(LogEmbedding3D self) -> LogEmbedding3D
5998  """
5999  _IMP_algebra.LogEmbedding3D_swiginit(self, _IMP_algebra.new_LogEmbedding3D(*args))
6000 
6001  def set_origin(self, o):
6002  r"""set_origin(LogEmbedding3D self, Vector3D o)"""
6003  return _IMP_algebra.LogEmbedding3D_set_origin(self, o)
6004 
6005  def get_origin(self):
6006  r"""get_origin(LogEmbedding3D self) -> Vector3D"""
6007  return _IMP_algebra.LogEmbedding3D_get_origin(self)
6008 
6009  def get_dimension(self):
6010  r"""get_dimension(LogEmbedding3D self) -> unsigned int"""
6011  return _IMP_algebra.LogEmbedding3D_get_dimension(self)
6012 
6013  def set_unit_cell(self, *args):
6014  r"""
6015  set_unit_cell(LogEmbedding3D self, Vector3D o, Vector3D base)
6016  set_unit_cell(LogEmbedding3D self, Vector3D o)
6017  """
6018  return _IMP_algebra.LogEmbedding3D_set_unit_cell(self, *args)
6019 
6020  def get_unit_cell(self):
6021  r"""get_unit_cell(LogEmbedding3D self) -> Vector3D"""
6022  return _IMP_algebra.LogEmbedding3D_get_unit_cell(self)
6023 
6024  def get_extended_index(self, o):
6025  r"""get_extended_index(LogEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
6026  return _IMP_algebra.LogEmbedding3D_get_extended_index(self, o)
6027 
6028  def get_index(self, o):
6029  r"""get_index(LogEmbedding3D self, Vector3D o) -> GridIndex3D"""
6030  return _IMP_algebra.LogEmbedding3D_get_index(self, o)
6031 
6032  def get_center(self, *args):
6033  r"""
6034  get_center(LogEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
6035  get_center(LogEmbedding3D self, GridIndex3D ei) -> Vector3D
6036  """
6037  return _IMP_algebra.LogEmbedding3D_get_center(self, *args)
6038 
6039  def get_bounding_box(self, *args):
6040  r"""
6041  get_bounding_box(LogEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
6042  get_bounding_box(LogEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
6043  """
6044  return _IMP_algebra.LogEmbedding3D_get_bounding_box(self, *args)
6045 
6046  def show(self, *args):
6047  r"""show(LogEmbedding3D self, _ostream out=std::cout)"""
6048  return _IMP_algebra.LogEmbedding3D_show(self, *args)
6049 
6050  def __str__(self):
6051  r"""__str__(LogEmbedding3D self) -> std::string"""
6052  return _IMP_algebra.LogEmbedding3D___str__(self)
6053 
6054  def __repr__(self):
6055  r"""__repr__(LogEmbedding3D self) -> std::string"""
6056  return _IMP_algebra.LogEmbedding3D___repr__(self)
6057 
6058  def __cmp__(self, arg2):
6059  r"""__cmp__(LogEmbedding3D self, LogEmbedding3D arg2) -> int"""
6060  return _IMP_algebra.LogEmbedding3D___cmp__(self, arg2)
6061 
6062  def __eq__(self, arg2):
6063  r"""__eq__(LogEmbedding3D self, LogEmbedding3D arg2) -> bool"""
6064  return _IMP_algebra.LogEmbedding3D___eq__(self, arg2)
6065 
6066  def _get_as_binary(self):
6067  r"""_get_as_binary(LogEmbedding3D self) -> PyObject *"""
6068  return _IMP_algebra.LogEmbedding3D__get_as_binary(self)
6069 
6070  def _set_from_binary(self, p):
6071  r"""_set_from_binary(LogEmbedding3D self, PyObject * p)"""
6072  return _IMP_algebra.LogEmbedding3D__set_from_binary(self, p)
6073 
6074  def __getstate__(self):
6075  p = self._get_as_binary()
6076  if len(self.__dict__) > 1:
6077  d = self.__dict__.copy()
6078  del d['this']
6079  p = (d, p)
6080  return p
6081 
6082  def __setstate__(self, p):
6083  if not hasattr(self, 'this'):
6084  self.__init__()
6085  if isinstance(p, tuple):
6086  d, p = p
6087  self.__dict__.update(d)
6088  return self._set_from_binary(p)
6089 
6090  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding3D
6091 
6092 # Register LogEmbedding3D in _IMP_algebra:
6093 _IMP_algebra.LogEmbedding3D_swigregister(LogEmbedding3D)
6094 class LogEmbeddingKD(object):
6095  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< -1 > class."""
6096 
6097  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6098 
6099  def __init__(self, *args):
6100  r"""
6101  __init__(LogEmbeddingKD self, VectorKD origin, VectorKD cell, VectorKD base) -> LogEmbeddingKD
6102  __init__(LogEmbeddingKD self, BoundingBoxKD bb, VectorKD bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbeddingKD
6103  __init__(LogEmbeddingKD self, VectorKD arg2, VectorKD arg3) -> LogEmbeddingKD
6104  __init__(LogEmbeddingKD self) -> LogEmbeddingKD
6105  """
6106  _IMP_algebra.LogEmbeddingKD_swiginit(self, _IMP_algebra.new_LogEmbeddingKD(*args))
6107 
6108  def set_origin(self, o):
6109  r"""set_origin(LogEmbeddingKD self, VectorKD o)"""
6110  return _IMP_algebra.LogEmbeddingKD_set_origin(self, o)
6111 
6112  def get_origin(self):
6113  r"""get_origin(LogEmbeddingKD self) -> VectorKD"""
6114  return _IMP_algebra.LogEmbeddingKD_get_origin(self)
6115 
6116  def get_dimension(self):
6117  r"""get_dimension(LogEmbeddingKD self) -> unsigned int"""
6118  return _IMP_algebra.LogEmbeddingKD_get_dimension(self)
6119 
6120  def set_unit_cell(self, *args):
6121  r"""
6122  set_unit_cell(LogEmbeddingKD self, VectorKD o, VectorKD base)
6123  set_unit_cell(LogEmbeddingKD self, VectorKD o)
6124  """
6125  return _IMP_algebra.LogEmbeddingKD_set_unit_cell(self, *args)
6126 
6127  def get_unit_cell(self):
6128  r"""get_unit_cell(LogEmbeddingKD self) -> VectorKD"""
6129  return _IMP_algebra.LogEmbeddingKD_get_unit_cell(self)
6130 
6131  def get_extended_index(self, o):
6132  r"""get_extended_index(LogEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
6133  return _IMP_algebra.LogEmbeddingKD_get_extended_index(self, o)
6134 
6135  def get_index(self, o):
6136  r"""get_index(LogEmbeddingKD self, VectorKD o) -> GridIndexKD"""
6137  return _IMP_algebra.LogEmbeddingKD_get_index(self, o)
6138 
6139  def get_center(self, *args):
6140  r"""
6141  get_center(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
6142  get_center(LogEmbeddingKD self, GridIndexKD ei) -> VectorKD
6143  """
6144  return _IMP_algebra.LogEmbeddingKD_get_center(self, *args)
6145 
6146  def get_bounding_box(self, *args):
6147  r"""
6148  get_bounding_box(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
6149  get_bounding_box(LogEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
6150  """
6151  return _IMP_algebra.LogEmbeddingKD_get_bounding_box(self, *args)
6152 
6153  def show(self, *args):
6154  r"""show(LogEmbeddingKD self, _ostream out=std::cout)"""
6155  return _IMP_algebra.LogEmbeddingKD_show(self, *args)
6156 
6157  def __str__(self):
6158  r"""__str__(LogEmbeddingKD self) -> std::string"""
6159  return _IMP_algebra.LogEmbeddingKD___str__(self)
6160 
6161  def __repr__(self):
6162  r"""__repr__(LogEmbeddingKD self) -> std::string"""
6163  return _IMP_algebra.LogEmbeddingKD___repr__(self)
6164 
6165  def __cmp__(self, arg2):
6166  r"""__cmp__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> int"""
6167  return _IMP_algebra.LogEmbeddingKD___cmp__(self, arg2)
6168 
6169  def __eq__(self, arg2):
6170  r"""__eq__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> bool"""
6171  return _IMP_algebra.LogEmbeddingKD___eq__(self, arg2)
6172 
6173  def _get_as_binary(self):
6174  r"""_get_as_binary(LogEmbeddingKD self) -> PyObject *"""
6175  return _IMP_algebra.LogEmbeddingKD__get_as_binary(self)
6176 
6177  def _set_from_binary(self, p):
6178  r"""_set_from_binary(LogEmbeddingKD self, PyObject * p)"""
6179  return _IMP_algebra.LogEmbeddingKD__set_from_binary(self, p)
6180 
6181  def __getstate__(self):
6182  p = self._get_as_binary()
6183  if len(self.__dict__) > 1:
6184  d = self.__dict__.copy()
6185  del d['this']
6186  p = (d, p)
6187  return p
6188 
6189  def __setstate__(self, p):
6190  if not hasattr(self, 'this'):
6191  self.__init__()
6192  if isinstance(p, tuple):
6193  d, p = p
6194  self.__dict__.update(d)
6195  return self._set_from_binary(p)
6196 
6197  __swig_destroy__ = _IMP_algebra.delete_LogEmbeddingKD
6198 
6199 # Register LogEmbeddingKD in _IMP_algebra:
6200 _IMP_algebra.LogEmbeddingKD_swigregister(LogEmbeddingKD)
6201 class DenseFloatLogGridKD(object):
6202  r"""Proxy of C++ IMP::algebra::DenseFloatLogGridKD class."""
6203 
6204  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6205 
6206  def __init__(self, sz, le):
6207  r"""__init__(DenseFloatLogGridKD self, IMP::Ints const & sz, LogEmbeddingKD le) -> DenseFloatLogGridKD"""
6208  _IMP_algebra.DenseFloatLogGridKD_swiginit(self, _IMP_algebra.new_DenseFloatLogGridKD(sz, le))
6209 
6210  def add_voxel(self, i, q):
6211  r"""add_voxel(DenseFloatLogGridKD self, ExtendedGridIndexKD i, float const & q) -> GridIndexKD"""
6212  return _IMP_algebra.DenseFloatLogGridKD_add_voxel(self, i, q)
6213 
6214  def __getitem__(self, *args):
6215  r"""
6216  __getitem__(DenseFloatLogGridKD self, GridIndexKD i) -> float
6217  __getitem__(DenseFloatLogGridKD self, VectorKD i) -> float
6218  """
6219  return _IMP_algebra.DenseFloatLogGridKD___getitem__(self, *args)
6220 
6221  def __setitem__(self, *args):
6222  r"""
6223  __setitem__(DenseFloatLogGridKD self, GridIndexKD i, float const & q)
6224  __setitem__(DenseFloatLogGridKD self, VectorKD i, float const & q)
6225  """
6226  return _IMP_algebra.DenseFloatLogGridKD___setitem__(self, *args)
6227 
6228  def get_bounding_box(self, *args):
6229  r"""
6230  get_bounding_box(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6231  get_bounding_box(DenseFloatLogGridKD self) -> BoundingBoxKD
6232  """
6233  return _IMP_algebra.DenseFloatLogGridKD_get_bounding_box(self, *args)
6234 
6235  def get_indexes(self, *args):
6236  r"""
6237  get_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6238  get_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6239  """
6240  return _IMP_algebra.DenseFloatLogGridKD_get_indexes(self, *args)
6241 
6242  def get_all_indexes(self):
6243  r"""get_all_indexes(DenseFloatLogGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
6244  return _IMP_algebra.DenseFloatLogGridKD_get_all_indexes(self)
6245 
6246  def get_extended_indexes(self, *args):
6247  r"""
6248  get_extended_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6249  get_extended_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6250  """
6251  return _IMP_algebra.DenseFloatLogGridKD_get_extended_indexes(self, *args)
6252 
6253  def get_center(self, *args):
6254  r"""
6255  get_center(DenseFloatLogGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6256  get_center(DenseFloatLogGridKD self, GridIndexKD ei) -> VectorKD
6257  """
6258  return _IMP_algebra.DenseFloatLogGridKD_get_center(self, *args)
6259 
6260  def get_extended_index(self, v):
6261  r"""get_extended_index(DenseFloatLogGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6262  return _IMP_algebra.DenseFloatLogGridKD_get_extended_index(self, v)
6263 
6264  def get_index(self, v):
6265  r"""get_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6266  return _IMP_algebra.DenseFloatLogGridKD_get_index(self, v)
6267 
6268  def get_origin(self):
6269  r"""get_origin(DenseFloatLogGridKD self) -> VectorKD"""
6270  return _IMP_algebra.DenseFloatLogGridKD_get_origin(self)
6271 
6272  def get_dimension(self):
6273  r"""get_dimension(DenseFloatLogGridKD self) -> unsigned int"""
6274  return _IMP_algebra.DenseFloatLogGridKD_get_dimension(self)
6275 
6276  def get_unit_cell(self):
6277  r"""get_unit_cell(DenseFloatLogGridKD self) -> VectorKD"""
6278  return _IMP_algebra.DenseFloatLogGridKD_get_unit_cell(self)
6279 
6280  def get_has_index(self, v):
6281  r"""get_has_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> bool"""
6282  return _IMP_algebra.DenseFloatLogGridKD_get_has_index(self, v)
6283 
6284  def __str__(self):
6285  r"""__str__(DenseFloatLogGridKD self) -> std::string"""
6286  return _IMP_algebra.DenseFloatLogGridKD___str__(self)
6287 
6288  def __repr__(self):
6289  r"""__repr__(DenseFloatLogGridKD self) -> std::string"""
6290  return _IMP_algebra.DenseFloatLogGridKD___repr__(self)
6291 
6292  def show(self, *args):
6293  r"""show(DenseFloatLogGridKD self, _ostream out=std::cout)"""
6294  return _IMP_algebra.DenseFloatLogGridKD_show(self, *args)
6295  __swig_destroy__ = _IMP_algebra.delete_DenseFloatLogGridKD
6296 
6297 # Register DenseFloatLogGridKD in _IMP_algebra:
6298 _IMP_algebra.DenseFloatLogGridKD_swigregister(DenseFloatLogGridKD)
6299 class DenseIntLogGrid3D(object):
6300  r"""Proxy of C++ IMP::algebra::DenseIntLogGrid3D class."""
6301 
6302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6303 
6304  def __init__(self, sz, le):
6305  r"""__init__(DenseIntLogGrid3D self, IMP::Ints const & sz, LogEmbedding3D le) -> DenseIntLogGrid3D"""
6306  _IMP_algebra.DenseIntLogGrid3D_swiginit(self, _IMP_algebra.new_DenseIntLogGrid3D(sz, le))
6307 
6308  def add_voxel(self, i, q):
6309  r"""add_voxel(DenseIntLogGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6310  return _IMP_algebra.DenseIntLogGrid3D_add_voxel(self, i, q)
6311 
6312  def __getitem__(self, *args):
6313  r"""
6314  __getitem__(DenseIntLogGrid3D self, GridIndex3D i) -> int
6315  __getitem__(DenseIntLogGrid3D self, Vector3D i) -> int
6316  """
6317  return _IMP_algebra.DenseIntLogGrid3D___getitem__(self, *args)
6318 
6319  def __setitem__(self, *args):
6320  r"""
6321  __setitem__(DenseIntLogGrid3D self, GridIndex3D i, int const & q)
6322  __setitem__(DenseIntLogGrid3D self, Vector3D i, int const & q)
6323  """
6324  return _IMP_algebra.DenseIntLogGrid3D___setitem__(self, *args)
6325 
6326  def get_bounding_box(self, *args):
6327  r"""
6328  get_bounding_box(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6329  get_bounding_box(DenseIntLogGrid3D self) -> BoundingBox3D
6330  """
6331  return _IMP_algebra.DenseIntLogGrid3D_get_bounding_box(self, *args)
6332 
6333  def get_indexes(self, *args):
6334  r"""
6335  get_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6336  get_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6337  """
6338  return _IMP_algebra.DenseIntLogGrid3D_get_indexes(self, *args)
6339 
6340  def get_all_indexes(self):
6341  r"""get_all_indexes(DenseIntLogGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6342  return _IMP_algebra.DenseIntLogGrid3D_get_all_indexes(self)
6343 
6344  def get_extended_indexes(self, *args):
6345  r"""
6346  get_extended_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6347  get_extended_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6348  """
6349  return _IMP_algebra.DenseIntLogGrid3D_get_extended_indexes(self, *args)
6350 
6351  def get_center(self, *args):
6352  r"""
6353  get_center(DenseIntLogGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6354  get_center(DenseIntLogGrid3D self, GridIndex3D ei) -> Vector3D
6355  """
6356  return _IMP_algebra.DenseIntLogGrid3D_get_center(self, *args)
6357 
6358  def get_extended_index(self, v):
6359  r"""get_extended_index(DenseIntLogGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6360  return _IMP_algebra.DenseIntLogGrid3D_get_extended_index(self, v)
6361 
6362  def get_index(self, v):
6363  r"""get_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6364  return _IMP_algebra.DenseIntLogGrid3D_get_index(self, v)
6365 
6366  def get_origin(self):
6367  r"""get_origin(DenseIntLogGrid3D self) -> Vector3D"""
6368  return _IMP_algebra.DenseIntLogGrid3D_get_origin(self)
6369 
6370  def get_dimension(self):
6371  r"""get_dimension(DenseIntLogGrid3D self) -> unsigned int"""
6372  return _IMP_algebra.DenseIntLogGrid3D_get_dimension(self)
6373 
6374  def get_unit_cell(self):
6375  r"""get_unit_cell(DenseIntLogGrid3D self) -> Vector3D"""
6376  return _IMP_algebra.DenseIntLogGrid3D_get_unit_cell(self)
6377 
6378  def get_has_index(self, v):
6379  r"""get_has_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> bool"""
6380  return _IMP_algebra.DenseIntLogGrid3D_get_has_index(self, v)
6381 
6382  def __str__(self):
6383  r"""__str__(DenseIntLogGrid3D self) -> std::string"""
6384  return _IMP_algebra.DenseIntLogGrid3D___str__(self)
6385 
6386  def __repr__(self):
6387  r"""__repr__(DenseIntLogGrid3D self) -> std::string"""
6388  return _IMP_algebra.DenseIntLogGrid3D___repr__(self)
6389 
6390  def show(self, *args):
6391  r"""show(DenseIntLogGrid3D self, _ostream out=std::cout)"""
6392  return _IMP_algebra.DenseIntLogGrid3D_show(self, *args)
6393  __swig_destroy__ = _IMP_algebra.delete_DenseIntLogGrid3D
6394 
6395 # Register DenseIntLogGrid3D in _IMP_algebra:
6396 _IMP_algebra.DenseIntLogGrid3D_swigregister(DenseIntLogGrid3D)
6397 class DenseDoubleGrid3D(object):
6398  r"""Proxy of C++ IMP::algebra::DenseGrid3D< double > class."""
6399 
6400  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6401 
6402  def __init__(self, *args):
6403  r"""
6404  __init__(DenseDoubleGrid3D self, double side, BoundingBox3D bb, double _def=double()) -> DenseDoubleGrid3D
6405  __init__(DenseDoubleGrid3D self) -> DenseDoubleGrid3D
6406  """
6407  _IMP_algebra.DenseDoubleGrid3D_swiginit(self, _IMP_algebra.new_DenseDoubleGrid3D(*args))
6408 
6409  def add_voxel(self, i, q):
6410  r"""add_voxel(DenseDoubleGrid3D self, ExtendedGridIndex3D i, double const & q) -> GridIndex3D"""
6411  return _IMP_algebra.DenseDoubleGrid3D_add_voxel(self, i, q)
6412 
6413  def __getitem__(self, *args):
6414  r"""
6415  __getitem__(DenseDoubleGrid3D self, GridIndex3D i) -> double
6416  __getitem__(DenseDoubleGrid3D self, Vector3D i) -> double
6417  """
6418  return _IMP_algebra.DenseDoubleGrid3D___getitem__(self, *args)
6419 
6420  def __setitem__(self, *args):
6421  r"""
6422  __setitem__(DenseDoubleGrid3D self, GridIndex3D i, double const & q)
6423  __setitem__(DenseDoubleGrid3D self, Vector3D i, double const & q)
6424  """
6425  return _IMP_algebra.DenseDoubleGrid3D___setitem__(self, *args)
6426 
6427  def get_bounding_box(self, *args):
6428  r"""
6429  get_bounding_box(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6430  get_bounding_box(DenseDoubleGrid3D self) -> BoundingBox3D
6431  """
6432  return _IMP_algebra.DenseDoubleGrid3D_get_bounding_box(self, *args)
6433 
6434  def get_indexes(self, *args):
6435  r"""
6436  get_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6437  get_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6438  """
6439  return _IMP_algebra.DenseDoubleGrid3D_get_indexes(self, *args)
6440 
6441  def get_all_indexes(self):
6442  r"""get_all_indexes(DenseDoubleGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6443  return _IMP_algebra.DenseDoubleGrid3D_get_all_indexes(self)
6444 
6445  def get_extended_indexes(self, *args):
6446  r"""
6447  get_extended_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6448  get_extended_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6449  """
6450  return _IMP_algebra.DenseDoubleGrid3D_get_extended_indexes(self, *args)
6451 
6452  def get_center(self, *args):
6453  r"""
6454  get_center(DenseDoubleGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6455  get_center(DenseDoubleGrid3D self, GridIndex3D ei) -> Vector3D
6456  """
6457  return _IMP_algebra.DenseDoubleGrid3D_get_center(self, *args)
6458 
6459  def get_extended_index(self, v):
6460  r"""get_extended_index(DenseDoubleGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6461  return _IMP_algebra.DenseDoubleGrid3D_get_extended_index(self, v)
6462 
6463  def get_index(self, v):
6464  r"""get_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6465  return _IMP_algebra.DenseDoubleGrid3D_get_index(self, v)
6466 
6467  def get_origin(self):
6468  r"""get_origin(DenseDoubleGrid3D self) -> Vector3D"""
6469  return _IMP_algebra.DenseDoubleGrid3D_get_origin(self)
6470 
6471  def get_dimension(self):
6472  r"""get_dimension(DenseDoubleGrid3D self) -> unsigned int"""
6473  return _IMP_algebra.DenseDoubleGrid3D_get_dimension(self)
6474 
6475  def get_unit_cell(self):
6476  r"""get_unit_cell(DenseDoubleGrid3D self) -> Vector3D"""
6477  return _IMP_algebra.DenseDoubleGrid3D_get_unit_cell(self)
6478 
6479  def get_has_index(self, v):
6480  r"""get_has_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> bool"""
6481  return _IMP_algebra.DenseDoubleGrid3D_get_has_index(self, v)
6482 
6483  def __str__(self):
6484  r"""__str__(DenseDoubleGrid3D self) -> std::string"""
6485  return _IMP_algebra.DenseDoubleGrid3D___str__(self)
6486 
6487  def __repr__(self):
6488  r"""__repr__(DenseDoubleGrid3D self) -> std::string"""
6489  return _IMP_algebra.DenseDoubleGrid3D___repr__(self)
6490 
6491  def show(self, *args):
6492  r"""show(DenseDoubleGrid3D self, _ostream out=std::cout)"""
6493  return _IMP_algebra.DenseDoubleGrid3D_show(self, *args)
6494  __swig_destroy__ = _IMP_algebra.delete_DenseDoubleGrid3D
6495 
6496 # Register DenseDoubleGrid3D in _IMP_algebra:
6497 _IMP_algebra.DenseDoubleGrid3D_swigregister(DenseDoubleGrid3D)
6498 class DenseFloatGrid3D(object):
6499  r"""Proxy of C++ IMP::algebra::DenseGrid3D< float > class."""
6500 
6501  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6502 
6503  def __init__(self, *args):
6504  r"""
6505  __init__(DenseFloatGrid3D self, double side, BoundingBox3D bb, float _def=float()) -> DenseFloatGrid3D
6506  __init__(DenseFloatGrid3D self) -> DenseFloatGrid3D
6507  """
6508  _IMP_algebra.DenseFloatGrid3D_swiginit(self, _IMP_algebra.new_DenseFloatGrid3D(*args))
6509 
6510  def add_voxel(self, i, q):
6511  r"""add_voxel(DenseFloatGrid3D self, ExtendedGridIndex3D i, float const & q) -> GridIndex3D"""
6512  return _IMP_algebra.DenseFloatGrid3D_add_voxel(self, i, q)
6513 
6514  def __getitem__(self, *args):
6515  r"""
6516  __getitem__(DenseFloatGrid3D self, GridIndex3D i) -> float
6517  __getitem__(DenseFloatGrid3D self, Vector3D i) -> float
6518  """
6519  return _IMP_algebra.DenseFloatGrid3D___getitem__(self, *args)
6520 
6521  def __setitem__(self, *args):
6522  r"""
6523  __setitem__(DenseFloatGrid3D self, GridIndex3D i, float const & q)
6524  __setitem__(DenseFloatGrid3D self, Vector3D i, float const & q)
6525  """
6526  return _IMP_algebra.DenseFloatGrid3D___setitem__(self, *args)
6527 
6528  def get_bounding_box(self, *args):
6529  r"""
6530  get_bounding_box(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6531  get_bounding_box(DenseFloatGrid3D self) -> BoundingBox3D
6532  """
6533  return _IMP_algebra.DenseFloatGrid3D_get_bounding_box(self, *args)
6534 
6535  def get_indexes(self, *args):
6536  r"""
6537  get_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6538  get_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6539  """
6540  return _IMP_algebra.DenseFloatGrid3D_get_indexes(self, *args)
6541 
6542  def get_all_indexes(self):
6543  r"""get_all_indexes(DenseFloatGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6544  return _IMP_algebra.DenseFloatGrid3D_get_all_indexes(self)
6545 
6546  def get_extended_indexes(self, *args):
6547  r"""
6548  get_extended_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6549  get_extended_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6550  """
6551  return _IMP_algebra.DenseFloatGrid3D_get_extended_indexes(self, *args)
6552 
6553  def get_center(self, *args):
6554  r"""
6555  get_center(DenseFloatGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6556  get_center(DenseFloatGrid3D self, GridIndex3D ei) -> Vector3D
6557  """
6558  return _IMP_algebra.DenseFloatGrid3D_get_center(self, *args)
6559 
6560  def get_extended_index(self, v):
6561  r"""get_extended_index(DenseFloatGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6562  return _IMP_algebra.DenseFloatGrid3D_get_extended_index(self, v)
6563 
6564  def get_index(self, v):
6565  r"""get_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6566  return _IMP_algebra.DenseFloatGrid3D_get_index(self, v)
6567 
6568  def get_origin(self):
6569  r"""get_origin(DenseFloatGrid3D self) -> Vector3D"""
6570  return _IMP_algebra.DenseFloatGrid3D_get_origin(self)
6571 
6572  def get_dimension(self):
6573  r"""get_dimension(DenseFloatGrid3D self) -> unsigned int"""
6574  return _IMP_algebra.DenseFloatGrid3D_get_dimension(self)
6575 
6576  def get_unit_cell(self):
6577  r"""get_unit_cell(DenseFloatGrid3D self) -> Vector3D"""
6578  return _IMP_algebra.DenseFloatGrid3D_get_unit_cell(self)
6579 
6580  def get_has_index(self, v):
6581  r"""get_has_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> bool"""
6582  return _IMP_algebra.DenseFloatGrid3D_get_has_index(self, v)
6583 
6584  def __str__(self):
6585  r"""__str__(DenseFloatGrid3D self) -> std::string"""
6586  return _IMP_algebra.DenseFloatGrid3D___str__(self)
6587 
6588  def __repr__(self):
6589  r"""__repr__(DenseFloatGrid3D self) -> std::string"""
6590  return _IMP_algebra.DenseFloatGrid3D___repr__(self)
6591 
6592  def show(self, *args):
6593  r"""show(DenseFloatGrid3D self, _ostream out=std::cout)"""
6594  return _IMP_algebra.DenseFloatGrid3D_show(self, *args)
6595  __swig_destroy__ = _IMP_algebra.delete_DenseFloatGrid3D
6596 
6597 # Register DenseFloatGrid3D in _IMP_algebra:
6598 _IMP_algebra.DenseFloatGrid3D_swigregister(DenseFloatGrid3D)
6599 class SparseUnboundedIntGrid3D(object):
6600  r"""Proxy of C++ IMP::algebra::SparseUnboundedGrid3D< int > class."""
6601 
6602  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6603 
6604  def __init__(self, *args):
6605  r"""
6606  __init__(SparseUnboundedIntGrid3D self, double side, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6607  __init__(SparseUnboundedIntGrid3D self, Vector3D sides, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
6608  __init__(SparseUnboundedIntGrid3D self) -> SparseUnboundedIntGrid3D
6609  """
6610  _IMP_algebra.SparseUnboundedIntGrid3D_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGrid3D(*args))
6611 
6612  def add_voxel(self, i, q):
6613  r"""add_voxel(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
6614  return _IMP_algebra.SparseUnboundedIntGrid3D_add_voxel(self, i, q)
6615 
6616  def __getitem__(self, *args):
6617  r"""
6618  __getitem__(SparseUnboundedIntGrid3D self, GridIndex3D i) -> int
6619  __getitem__(SparseUnboundedIntGrid3D self, Vector3D i) -> int
6620  """
6621  return _IMP_algebra.SparseUnboundedIntGrid3D___getitem__(self, *args)
6622 
6623  def __setitem__(self, *args):
6624  r"""
6625  __setitem__(SparseUnboundedIntGrid3D self, GridIndex3D i, int const & q)
6626  __setitem__(SparseUnboundedIntGrid3D self, Vector3D i, int const & q)
6627  """
6628  return _IMP_algebra.SparseUnboundedIntGrid3D___setitem__(self, *args)
6629 
6630  def get_bounding_box(self, *args):
6631  r"""
6632  get_bounding_box(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
6633  get_bounding_box(SparseUnboundedIntGrid3D self) -> BoundingBox3D
6634  """
6635  return _IMP_algebra.SparseUnboundedIntGrid3D_get_bounding_box(self, *args)
6636 
6637  def get_indexes(self, *args):
6638  r"""
6639  get_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6640  get_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
6641  """
6642  return _IMP_algebra.SparseUnboundedIntGrid3D_get_indexes(self, *args)
6643 
6644  def get_all_indexes(self):
6645  r"""get_all_indexes(SparseUnboundedIntGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
6646  return _IMP_algebra.SparseUnboundedIntGrid3D_get_all_indexes(self)
6647 
6648  def get_extended_indexes(self, *args):
6649  r"""
6650  get_extended_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6651  get_extended_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
6652  """
6653  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_indexes(self, *args)
6654 
6655  def get_center(self, *args):
6656  r"""
6657  get_center(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
6658  get_center(SparseUnboundedIntGrid3D self, GridIndex3D ei) -> Vector3D
6659  """
6660  return _IMP_algebra.SparseUnboundedIntGrid3D_get_center(self, *args)
6661 
6662  def get_extended_index(self, v):
6663  r"""get_extended_index(SparseUnboundedIntGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
6664  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_index(self, v)
6665 
6666  def get_index(self, v):
6667  r"""get_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
6668  return _IMP_algebra.SparseUnboundedIntGrid3D_get_index(self, v)
6669 
6670  def get_origin(self):
6671  r"""get_origin(SparseUnboundedIntGrid3D self) -> Vector3D"""
6672  return _IMP_algebra.SparseUnboundedIntGrid3D_get_origin(self)
6673 
6674  def get_dimension(self):
6675  r"""get_dimension(SparseUnboundedIntGrid3D self) -> unsigned int"""
6676  return _IMP_algebra.SparseUnboundedIntGrid3D_get_dimension(self)
6677 
6678  def get_unit_cell(self):
6679  r"""get_unit_cell(SparseUnboundedIntGrid3D self) -> Vector3D"""
6680  return _IMP_algebra.SparseUnboundedIntGrid3D_get_unit_cell(self)
6681 
6682  def get_has_index(self, v):
6683  r"""get_has_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> bool"""
6684  return _IMP_algebra.SparseUnboundedIntGrid3D_get_has_index(self, v)
6685 
6686  def __str__(self):
6687  r"""__str__(SparseUnboundedIntGrid3D self) -> std::string"""
6688  return _IMP_algebra.SparseUnboundedIntGrid3D___str__(self)
6689 
6690  def __repr__(self):
6691  r"""__repr__(SparseUnboundedIntGrid3D self) -> std::string"""
6692  return _IMP_algebra.SparseUnboundedIntGrid3D___repr__(self)
6693 
6694  def show(self, *args):
6695  r"""show(SparseUnboundedIntGrid3D self, _ostream out=std::cout)"""
6696  return _IMP_algebra.SparseUnboundedIntGrid3D_show(self, *args)
6697  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGrid3D
6698 
6699 # Register SparseUnboundedIntGrid3D in _IMP_algebra:
6700 _IMP_algebra.SparseUnboundedIntGrid3D_swigregister(SparseUnboundedIntGrid3D)
6701 class SparseUnboundedIntGridKD(object):
6702  r"""Proxy of C++ IMP::algebra::SparseUnboundedGridD< -1,int > class."""
6703 
6704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6705 
6706  def __init__(self, *args):
6707  r"""
6708  __init__(SparseUnboundedIntGridKD self, double side, VectorKD origin, int _def=int()) -> SparseUnboundedIntGridKD
6709  __init__(SparseUnboundedIntGridKD self) -> SparseUnboundedIntGridKD
6710  """
6711  _IMP_algebra.SparseUnboundedIntGridKD_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGridKD(*args))
6712 
6713  def add_voxel(self, i, q):
6714  r"""add_voxel(SparseUnboundedIntGridKD self, ExtendedGridIndexKD i, int const & q) -> GridIndexKD"""
6715  return _IMP_algebra.SparseUnboundedIntGridKD_add_voxel(self, i, q)
6716 
6717  def __getitem__(self, *args):
6718  r"""
6719  __getitem__(SparseUnboundedIntGridKD self, GridIndexKD i) -> int
6720  __getitem__(SparseUnboundedIntGridKD self, VectorKD i) -> int
6721  """
6722  return _IMP_algebra.SparseUnboundedIntGridKD___getitem__(self, *args)
6723 
6724  def __setitem__(self, *args):
6725  r"""
6726  __setitem__(SparseUnboundedIntGridKD self, GridIndexKD i, int const & q)
6727  __setitem__(SparseUnboundedIntGridKD self, VectorKD i, int const & q)
6728  """
6729  return _IMP_algebra.SparseUnboundedIntGridKD___setitem__(self, *args)
6730 
6731  def get_bounding_box(self, *args):
6732  r"""
6733  get_bounding_box(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
6734  get_bounding_box(SparseUnboundedIntGridKD self) -> BoundingBoxKD
6735  """
6736  return _IMP_algebra.SparseUnboundedIntGridKD_get_bounding_box(self, *args)
6737 
6738  def get_indexes(self, *args):
6739  r"""
6740  get_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6741  get_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
6742  """
6743  return _IMP_algebra.SparseUnboundedIntGridKD_get_indexes(self, *args)
6744 
6745  def get_all_indexes(self):
6746  r"""get_all_indexes(SparseUnboundedIntGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
6747  return _IMP_algebra.SparseUnboundedIntGridKD_get_all_indexes(self)
6748 
6749  def get_extended_indexes(self, *args):
6750  r"""
6751  get_extended_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6752  get_extended_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
6753  """
6754  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_indexes(self, *args)
6755 
6756  def get_center(self, *args):
6757  r"""
6758  get_center(SparseUnboundedIntGridKD self, ExtendedGridIndexKD ei) -> VectorKD
6759  get_center(SparseUnboundedIntGridKD self, GridIndexKD ei) -> VectorKD
6760  """
6761  return _IMP_algebra.SparseUnboundedIntGridKD_get_center(self, *args)
6762 
6763  def get_extended_index(self, v):
6764  r"""get_extended_index(SparseUnboundedIntGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
6765  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_index(self, v)
6766 
6767  def get_index(self, v):
6768  r"""get_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
6769  return _IMP_algebra.SparseUnboundedIntGridKD_get_index(self, v)
6770 
6771  def get_origin(self):
6772  r"""get_origin(SparseUnboundedIntGridKD self) -> VectorKD"""
6773  return _IMP_algebra.SparseUnboundedIntGridKD_get_origin(self)
6774 
6775  def get_dimension(self):
6776  r"""get_dimension(SparseUnboundedIntGridKD self) -> unsigned int"""
6777  return _IMP_algebra.SparseUnboundedIntGridKD_get_dimension(self)
6778 
6779  def get_unit_cell(self):
6780  r"""get_unit_cell(SparseUnboundedIntGridKD self) -> VectorKD"""
6781  return _IMP_algebra.SparseUnboundedIntGridKD_get_unit_cell(self)
6782 
6783  def get_has_index(self, v):
6784  r"""get_has_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> bool"""
6785  return _IMP_algebra.SparseUnboundedIntGridKD_get_has_index(self, v)
6786 
6787  def __str__(self):
6788  r"""__str__(SparseUnboundedIntGridKD self) -> std::string"""
6789  return _IMP_algebra.SparseUnboundedIntGridKD___str__(self)
6790 
6791  def __repr__(self):
6792  r"""__repr__(SparseUnboundedIntGridKD self) -> std::string"""
6793  return _IMP_algebra.SparseUnboundedIntGridKD___repr__(self)
6794 
6795  def show(self, *args):
6796  r"""show(SparseUnboundedIntGridKD self, _ostream out=std::cout)"""
6797  return _IMP_algebra.SparseUnboundedIntGridKD_show(self, *args)
6798  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGridKD
6799 
6800 # Register SparseUnboundedIntGridKD in _IMP_algebra:
6801 _IMP_algebra.SparseUnboundedIntGridKD_swigregister(SparseUnboundedIntGridKD)
6802 class GridIndex1D(IMP._Value):
6803  r"""Proxy of C++ IMP::algebra::GridIndexD< 1 > class."""
6804 
6805  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6806 
6807  def __init__(self, *args):
6808  r"""
6809  __init__(GridIndex1D self) -> GridIndex1D
6810  __init__(GridIndex1D self, int x) -> GridIndex1D
6811  __init__(GridIndex1D self, int x, int y) -> GridIndex1D
6812  __init__(GridIndex1D self, int x, int y, int z) -> GridIndex1D
6813  __init__(GridIndex1D self, int i, int j, int k, int l) -> GridIndex1D
6814  __init__(GridIndex1D self, int i, int j, int k, int l, int m) -> GridIndex1D
6815  __init__(GridIndex1D self, int i, int j, int k, int l, int m, int n) -> GridIndex1D
6816  """
6817  _IMP_algebra.GridIndex1D_swiginit(self, _IMP_algebra.new_GridIndex1D(*args))
6818 
6819  def get_dimension(self):
6820  r"""get_dimension(GridIndex1D self) -> unsigned int"""
6821  return _IMP_algebra.GridIndex1D_get_dimension(self)
6822 
6823  def __getitem__(self, i):
6824  r"""__getitem__(GridIndex1D self, unsigned int i) -> int const &"""
6825  return _IMP_algebra.GridIndex1D___getitem__(self, i)
6826 
6827  def show(self, *args):
6828  r"""show(GridIndex1D self, _ostream out=std::cout)"""
6829  return _IMP_algebra.GridIndex1D_show(self, *args)
6830 
6831  def __len__(self):
6832  r"""__len__(GridIndex1D self) -> unsigned int"""
6833  return _IMP_algebra.GridIndex1D___len__(self)
6834 
6835  def __cmp__(self, o):
6836  r"""__cmp__(GridIndex1D self, GridIndex1D o) -> int"""
6837  return _IMP_algebra.GridIndex1D___cmp__(self, o)
6838 
6839  def __eq__(self, o):
6840  r"""__eq__(GridIndex1D self, GridIndex1D o) -> bool"""
6841  return _IMP_algebra.GridIndex1D___eq__(self, o)
6842 
6843  def __ne__(self, o):
6844  r"""__ne__(GridIndex1D self, GridIndex1D o) -> bool"""
6845  return _IMP_algebra.GridIndex1D___ne__(self, o)
6846 
6847  def __lt__(self, o):
6848  r"""__lt__(GridIndex1D self, GridIndex1D o) -> bool"""
6849  return _IMP_algebra.GridIndex1D___lt__(self, o)
6850 
6851  def __gt__(self, o):
6852  r"""__gt__(GridIndex1D self, GridIndex1D o) -> bool"""
6853  return _IMP_algebra.GridIndex1D___gt__(self, o)
6854 
6855  def __ge__(self, o):
6856  r"""__ge__(GridIndex1D self, GridIndex1D o) -> bool"""
6857  return _IMP_algebra.GridIndex1D___ge__(self, o)
6858 
6859  def __le__(self, o):
6860  r"""__le__(GridIndex1D self, GridIndex1D o) -> bool"""
6861  return _IMP_algebra.GridIndex1D___le__(self, o)
6862 
6863  def __hash__(self):
6864  r"""__hash__(GridIndex1D self) -> std::size_t"""
6865  return _IMP_algebra.GridIndex1D___hash__(self)
6866 
6867  def __str__(self):
6868  r"""__str__(GridIndex1D self) -> std::string"""
6869  return _IMP_algebra.GridIndex1D___str__(self)
6870 
6871  def __repr__(self):
6872  r"""__repr__(GridIndex1D self) -> std::string"""
6873  return _IMP_algebra.GridIndex1D___repr__(self)
6874 
6875  def _get_as_binary(self):
6876  r"""_get_as_binary(GridIndex1D self) -> PyObject *"""
6877  return _IMP_algebra.GridIndex1D__get_as_binary(self)
6878 
6879  def _set_from_binary(self, p):
6880  r"""_set_from_binary(GridIndex1D self, PyObject * p)"""
6881  return _IMP_algebra.GridIndex1D__set_from_binary(self, p)
6882 
6883  def __getstate__(self):
6884  p = self._get_as_binary()
6885  if len(self.__dict__) > 1:
6886  d = self.__dict__.copy()
6887  del d['this']
6888  p = (d, p)
6889  return p
6890 
6891  def __setstate__(self, p):
6892  if not hasattr(self, 'this'):
6893  self.__init__()
6894  if isinstance(p, tuple):
6895  d, p = p
6896  self.__dict__.update(d)
6897  return self._set_from_binary(p)
6898 
6899  __swig_destroy__ = _IMP_algebra.delete_GridIndex1D
6900 
6901 # Register GridIndex1D in _IMP_algebra:
6902 _IMP_algebra.GridIndex1D_swigregister(GridIndex1D)
6903 class GridIndex2D(IMP._Value):
6904  r"""Proxy of C++ IMP::algebra::GridIndexD< 2 > class."""
6905 
6906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6907 
6908  def __init__(self, *args):
6909  r"""
6910  __init__(GridIndex2D self) -> GridIndex2D
6911  __init__(GridIndex2D self, int x) -> GridIndex2D
6912  __init__(GridIndex2D self, int x, int y) -> GridIndex2D
6913  __init__(GridIndex2D self, int x, int y, int z) -> GridIndex2D
6914  __init__(GridIndex2D self, int i, int j, int k, int l) -> GridIndex2D
6915  __init__(GridIndex2D self, int i, int j, int k, int l, int m) -> GridIndex2D
6916  __init__(GridIndex2D self, int i, int j, int k, int l, int m, int n) -> GridIndex2D
6917  """
6918  _IMP_algebra.GridIndex2D_swiginit(self, _IMP_algebra.new_GridIndex2D(*args))
6919 
6920  def get_dimension(self):
6921  r"""get_dimension(GridIndex2D self) -> unsigned int"""
6922  return _IMP_algebra.GridIndex2D_get_dimension(self)
6923 
6924  def __getitem__(self, i):
6925  r"""__getitem__(GridIndex2D self, unsigned int i) -> int const &"""
6926  return _IMP_algebra.GridIndex2D___getitem__(self, i)
6927 
6928  def show(self, *args):
6929  r"""show(GridIndex2D self, _ostream out=std::cout)"""
6930  return _IMP_algebra.GridIndex2D_show(self, *args)
6931 
6932  def __len__(self):
6933  r"""__len__(GridIndex2D self) -> unsigned int"""
6934  return _IMP_algebra.GridIndex2D___len__(self)
6935 
6936  def __cmp__(self, o):
6937  r"""__cmp__(GridIndex2D self, GridIndex2D o) -> int"""
6938  return _IMP_algebra.GridIndex2D___cmp__(self, o)
6939 
6940  def __eq__(self, o):
6941  r"""__eq__(GridIndex2D self, GridIndex2D o) -> bool"""
6942  return _IMP_algebra.GridIndex2D___eq__(self, o)
6943 
6944  def __ne__(self, o):
6945  r"""__ne__(GridIndex2D self, GridIndex2D o) -> bool"""
6946  return _IMP_algebra.GridIndex2D___ne__(self, o)
6947 
6948  def __lt__(self, o):
6949  r"""__lt__(GridIndex2D self, GridIndex2D o) -> bool"""
6950  return _IMP_algebra.GridIndex2D___lt__(self, o)
6951 
6952  def __gt__(self, o):
6953  r"""__gt__(GridIndex2D self, GridIndex2D o) -> bool"""
6954  return _IMP_algebra.GridIndex2D___gt__(self, o)
6955 
6956  def __ge__(self, o):
6957  r"""__ge__(GridIndex2D self, GridIndex2D o) -> bool"""
6958  return _IMP_algebra.GridIndex2D___ge__(self, o)
6959 
6960  def __le__(self, o):
6961  r"""__le__(GridIndex2D self, GridIndex2D o) -> bool"""
6962  return _IMP_algebra.GridIndex2D___le__(self, o)
6963 
6964  def __hash__(self):
6965  r"""__hash__(GridIndex2D self) -> std::size_t"""
6966  return _IMP_algebra.GridIndex2D___hash__(self)
6967 
6968  def __str__(self):
6969  r"""__str__(GridIndex2D self) -> std::string"""
6970  return _IMP_algebra.GridIndex2D___str__(self)
6971 
6972  def __repr__(self):
6973  r"""__repr__(GridIndex2D self) -> std::string"""
6974  return _IMP_algebra.GridIndex2D___repr__(self)
6975 
6976  def _get_as_binary(self):
6977  r"""_get_as_binary(GridIndex2D self) -> PyObject *"""
6978  return _IMP_algebra.GridIndex2D__get_as_binary(self)
6979 
6980  def _set_from_binary(self, p):
6981  r"""_set_from_binary(GridIndex2D self, PyObject * p)"""
6982  return _IMP_algebra.GridIndex2D__set_from_binary(self, p)
6983 
6984  def __getstate__(self):
6985  p = self._get_as_binary()
6986  if len(self.__dict__) > 1:
6987  d = self.__dict__.copy()
6988  del d['this']
6989  p = (d, p)
6990  return p
6991 
6992  def __setstate__(self, p):
6993  if not hasattr(self, 'this'):
6994  self.__init__()
6995  if isinstance(p, tuple):
6996  d, p = p
6997  self.__dict__.update(d)
6998  return self._set_from_binary(p)
6999 
7000  __swig_destroy__ = _IMP_algebra.delete_GridIndex2D
7001 
7002 # Register GridIndex2D in _IMP_algebra:
7003 _IMP_algebra.GridIndex2D_swigregister(GridIndex2D)
7004 class GridIndex3D(IMP._Value):
7005  r"""Proxy of C++ IMP::algebra::GridIndexD< 3 > class."""
7006 
7007  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7008 
7009  def __init__(self, *args):
7010  r"""
7011  __init__(GridIndex3D self) -> GridIndex3D
7012  __init__(GridIndex3D self, int x) -> GridIndex3D
7013  __init__(GridIndex3D self, int x, int y) -> GridIndex3D
7014  __init__(GridIndex3D self, int x, int y, int z) -> GridIndex3D
7015  __init__(GridIndex3D self, int i, int j, int k, int l) -> GridIndex3D
7016  __init__(GridIndex3D self, int i, int j, int k, int l, int m) -> GridIndex3D
7017  __init__(GridIndex3D self, int i, int j, int k, int l, int m, int n) -> GridIndex3D
7018  """
7019  _IMP_algebra.GridIndex3D_swiginit(self, _IMP_algebra.new_GridIndex3D(*args))
7020 
7021  def get_dimension(self):
7022  r"""get_dimension(GridIndex3D self) -> unsigned int"""
7023  return _IMP_algebra.GridIndex3D_get_dimension(self)
7024 
7025  def __getitem__(self, i):
7026  r"""__getitem__(GridIndex3D self, unsigned int i) -> int const &"""
7027  return _IMP_algebra.GridIndex3D___getitem__(self, i)
7028 
7029  def show(self, *args):
7030  r"""show(GridIndex3D self, _ostream out=std::cout)"""
7031  return _IMP_algebra.GridIndex3D_show(self, *args)
7032 
7033  def __len__(self):
7034  r"""__len__(GridIndex3D self) -> unsigned int"""
7035  return _IMP_algebra.GridIndex3D___len__(self)
7036 
7037  def __cmp__(self, o):
7038  r"""__cmp__(GridIndex3D self, GridIndex3D o) -> int"""
7039  return _IMP_algebra.GridIndex3D___cmp__(self, o)
7040 
7041  def __eq__(self, o):
7042  r"""__eq__(GridIndex3D self, GridIndex3D o) -> bool"""
7043  return _IMP_algebra.GridIndex3D___eq__(self, o)
7044 
7045  def __ne__(self, o):
7046  r"""__ne__(GridIndex3D self, GridIndex3D o) -> bool"""
7047  return _IMP_algebra.GridIndex3D___ne__(self, o)
7048 
7049  def __lt__(self, o):
7050  r"""__lt__(GridIndex3D self, GridIndex3D o) -> bool"""
7051  return _IMP_algebra.GridIndex3D___lt__(self, o)
7052 
7053  def __gt__(self, o):
7054  r"""__gt__(GridIndex3D self, GridIndex3D o) -> bool"""
7055  return _IMP_algebra.GridIndex3D___gt__(self, o)
7056 
7057  def __ge__(self, o):
7058  r"""__ge__(GridIndex3D self, GridIndex3D o) -> bool"""
7059  return _IMP_algebra.GridIndex3D___ge__(self, o)
7060 
7061  def __le__(self, o):
7062  r"""__le__(GridIndex3D self, GridIndex3D o) -> bool"""
7063  return _IMP_algebra.GridIndex3D___le__(self, o)
7064 
7065  def __hash__(self):
7066  r"""__hash__(GridIndex3D self) -> std::size_t"""
7067  return _IMP_algebra.GridIndex3D___hash__(self)
7068 
7069  def __str__(self):
7070  r"""__str__(GridIndex3D self) -> std::string"""
7071  return _IMP_algebra.GridIndex3D___str__(self)
7072 
7073  def __repr__(self):
7074  r"""__repr__(GridIndex3D self) -> std::string"""
7075  return _IMP_algebra.GridIndex3D___repr__(self)
7076 
7077  def _get_as_binary(self):
7078  r"""_get_as_binary(GridIndex3D self) -> PyObject *"""
7079  return _IMP_algebra.GridIndex3D__get_as_binary(self)
7080 
7081  def _set_from_binary(self, p):
7082  r"""_set_from_binary(GridIndex3D self, PyObject * p)"""
7083  return _IMP_algebra.GridIndex3D__set_from_binary(self, p)
7084 
7085  def __getstate__(self):
7086  p = self._get_as_binary()
7087  if len(self.__dict__) > 1:
7088  d = self.__dict__.copy()
7089  del d['this']
7090  p = (d, p)
7091  return p
7092 
7093  def __setstate__(self, p):
7094  if not hasattr(self, 'this'):
7095  self.__init__()
7096  if isinstance(p, tuple):
7097  d, p = p
7098  self.__dict__.update(d)
7099  return self._set_from_binary(p)
7100 
7101  __swig_destroy__ = _IMP_algebra.delete_GridIndex3D
7102 
7103 # Register GridIndex3D in _IMP_algebra:
7104 _IMP_algebra.GridIndex3D_swigregister(GridIndex3D)
7105 class GridIndex4D(IMP._Value):
7106  r"""Proxy of C++ IMP::algebra::GridIndexD< 4 > class."""
7107 
7108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7109 
7110  def __init__(self, *args):
7111  r"""
7112  __init__(GridIndex4D self) -> GridIndex4D
7113  __init__(GridIndex4D self, int x) -> GridIndex4D
7114  __init__(GridIndex4D self, int x, int y) -> GridIndex4D
7115  __init__(GridIndex4D self, int x, int y, int z) -> GridIndex4D
7116  __init__(GridIndex4D self, int i, int j, int k, int l) -> GridIndex4D
7117  __init__(GridIndex4D self, int i, int j, int k, int l, int m) -> GridIndex4D
7118  __init__(GridIndex4D self, int i, int j, int k, int l, int m, int n) -> GridIndex4D
7119  """
7120  _IMP_algebra.GridIndex4D_swiginit(self, _IMP_algebra.new_GridIndex4D(*args))
7121 
7122  def get_dimension(self):
7123  r"""get_dimension(GridIndex4D self) -> unsigned int"""
7124  return _IMP_algebra.GridIndex4D_get_dimension(self)
7125 
7126  def __getitem__(self, i):
7127  r"""__getitem__(GridIndex4D self, unsigned int i) -> int const &"""
7128  return _IMP_algebra.GridIndex4D___getitem__(self, i)
7129 
7130  def show(self, *args):
7131  r"""show(GridIndex4D self, _ostream out=std::cout)"""
7132  return _IMP_algebra.GridIndex4D_show(self, *args)
7133 
7134  def __len__(self):
7135  r"""__len__(GridIndex4D self) -> unsigned int"""
7136  return _IMP_algebra.GridIndex4D___len__(self)
7137 
7138  def __cmp__(self, o):
7139  r"""__cmp__(GridIndex4D self, GridIndex4D o) -> int"""
7140  return _IMP_algebra.GridIndex4D___cmp__(self, o)
7141 
7142  def __eq__(self, o):
7143  r"""__eq__(GridIndex4D self, GridIndex4D o) -> bool"""
7144  return _IMP_algebra.GridIndex4D___eq__(self, o)
7145 
7146  def __ne__(self, o):
7147  r"""__ne__(GridIndex4D self, GridIndex4D o) -> bool"""
7148  return _IMP_algebra.GridIndex4D___ne__(self, o)
7149 
7150  def __lt__(self, o):
7151  r"""__lt__(GridIndex4D self, GridIndex4D o) -> bool"""
7152  return _IMP_algebra.GridIndex4D___lt__(self, o)
7153 
7154  def __gt__(self, o):
7155  r"""__gt__(GridIndex4D self, GridIndex4D o) -> bool"""
7156  return _IMP_algebra.GridIndex4D___gt__(self, o)
7157 
7158  def __ge__(self, o):
7159  r"""__ge__(GridIndex4D self, GridIndex4D o) -> bool"""
7160  return _IMP_algebra.GridIndex4D___ge__(self, o)
7161 
7162  def __le__(self, o):
7163  r"""__le__(GridIndex4D self, GridIndex4D o) -> bool"""
7164  return _IMP_algebra.GridIndex4D___le__(self, o)
7165 
7166  def __hash__(self):
7167  r"""__hash__(GridIndex4D self) -> std::size_t"""
7168  return _IMP_algebra.GridIndex4D___hash__(self)
7169 
7170  def __str__(self):
7171  r"""__str__(GridIndex4D self) -> std::string"""
7172  return _IMP_algebra.GridIndex4D___str__(self)
7173 
7174  def __repr__(self):
7175  r"""__repr__(GridIndex4D self) -> std::string"""
7176  return _IMP_algebra.GridIndex4D___repr__(self)
7177 
7178  def _get_as_binary(self):
7179  r"""_get_as_binary(GridIndex4D self) -> PyObject *"""
7180  return _IMP_algebra.GridIndex4D__get_as_binary(self)
7181 
7182  def _set_from_binary(self, p):
7183  r"""_set_from_binary(GridIndex4D self, PyObject * p)"""
7184  return _IMP_algebra.GridIndex4D__set_from_binary(self, p)
7185 
7186  def __getstate__(self):
7187  p = self._get_as_binary()
7188  if len(self.__dict__) > 1:
7189  d = self.__dict__.copy()
7190  del d['this']
7191  p = (d, p)
7192  return p
7193 
7194  def __setstate__(self, p):
7195  if not hasattr(self, 'this'):
7196  self.__init__()
7197  if isinstance(p, tuple):
7198  d, p = p
7199  self.__dict__.update(d)
7200  return self._set_from_binary(p)
7201 
7202  __swig_destroy__ = _IMP_algebra.delete_GridIndex4D
7203 
7204 # Register GridIndex4D in _IMP_algebra:
7205 _IMP_algebra.GridIndex4D_swigregister(GridIndex4D)
7206 class GridIndex5D(IMP._Value):
7207  r"""Proxy of C++ IMP::algebra::GridIndexD< 5 > class."""
7208 
7209  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7210 
7211  def __init__(self, *args):
7212  r"""
7213  __init__(GridIndex5D self) -> GridIndex5D
7214  __init__(GridIndex5D self, int x) -> GridIndex5D
7215  __init__(GridIndex5D self, int x, int y) -> GridIndex5D
7216  __init__(GridIndex5D self, int x, int y, int z) -> GridIndex5D
7217  __init__(GridIndex5D self, int i, int j, int k, int l) -> GridIndex5D
7218  __init__(GridIndex5D self, int i, int j, int k, int l, int m) -> GridIndex5D
7219  __init__(GridIndex5D self, int i, int j, int k, int l, int m, int n) -> GridIndex5D
7220  """
7221  _IMP_algebra.GridIndex5D_swiginit(self, _IMP_algebra.new_GridIndex5D(*args))
7222 
7223  def get_dimension(self):
7224  r"""get_dimension(GridIndex5D self) -> unsigned int"""
7225  return _IMP_algebra.GridIndex5D_get_dimension(self)
7226 
7227  def __getitem__(self, i):
7228  r"""__getitem__(GridIndex5D self, unsigned int i) -> int const &"""
7229  return _IMP_algebra.GridIndex5D___getitem__(self, i)
7230 
7231  def show(self, *args):
7232  r"""show(GridIndex5D self, _ostream out=std::cout)"""
7233  return _IMP_algebra.GridIndex5D_show(self, *args)
7234 
7235  def __len__(self):
7236  r"""__len__(GridIndex5D self) -> unsigned int"""
7237  return _IMP_algebra.GridIndex5D___len__(self)
7238 
7239  def __cmp__(self, o):
7240  r"""__cmp__(GridIndex5D self, GridIndex5D o) -> int"""
7241  return _IMP_algebra.GridIndex5D___cmp__(self, o)
7242 
7243  def __eq__(self, o):
7244  r"""__eq__(GridIndex5D self, GridIndex5D o) -> bool"""
7245  return _IMP_algebra.GridIndex5D___eq__(self, o)
7246 
7247  def __ne__(self, o):
7248  r"""__ne__(GridIndex5D self, GridIndex5D o) -> bool"""
7249  return _IMP_algebra.GridIndex5D___ne__(self, o)
7250 
7251  def __lt__(self, o):
7252  r"""__lt__(GridIndex5D self, GridIndex5D o) -> bool"""
7253  return _IMP_algebra.GridIndex5D___lt__(self, o)
7254 
7255  def __gt__(self, o):
7256  r"""__gt__(GridIndex5D self, GridIndex5D o) -> bool"""
7257  return _IMP_algebra.GridIndex5D___gt__(self, o)
7258 
7259  def __ge__(self, o):
7260  r"""__ge__(GridIndex5D self, GridIndex5D o) -> bool"""
7261  return _IMP_algebra.GridIndex5D___ge__(self, o)
7262 
7263  def __le__(self, o):
7264  r"""__le__(GridIndex5D self, GridIndex5D o) -> bool"""
7265  return _IMP_algebra.GridIndex5D___le__(self, o)
7266 
7267  def __hash__(self):
7268  r"""__hash__(GridIndex5D self) -> std::size_t"""
7269  return _IMP_algebra.GridIndex5D___hash__(self)
7270 
7271  def __str__(self):
7272  r"""__str__(GridIndex5D self) -> std::string"""
7273  return _IMP_algebra.GridIndex5D___str__(self)
7274 
7275  def __repr__(self):
7276  r"""__repr__(GridIndex5D self) -> std::string"""
7277  return _IMP_algebra.GridIndex5D___repr__(self)
7278 
7279  def _get_as_binary(self):
7280  r"""_get_as_binary(GridIndex5D self) -> PyObject *"""
7281  return _IMP_algebra.GridIndex5D__get_as_binary(self)
7282 
7283  def _set_from_binary(self, p):
7284  r"""_set_from_binary(GridIndex5D self, PyObject * p)"""
7285  return _IMP_algebra.GridIndex5D__set_from_binary(self, p)
7286 
7287  def __getstate__(self):
7288  p = self._get_as_binary()
7289  if len(self.__dict__) > 1:
7290  d = self.__dict__.copy()
7291  del d['this']
7292  p = (d, p)
7293  return p
7294 
7295  def __setstate__(self, p):
7296  if not hasattr(self, 'this'):
7297  self.__init__()
7298  if isinstance(p, tuple):
7299  d, p = p
7300  self.__dict__.update(d)
7301  return self._set_from_binary(p)
7302 
7303  __swig_destroy__ = _IMP_algebra.delete_GridIndex5D
7304 
7305 # Register GridIndex5D in _IMP_algebra:
7306 _IMP_algebra.GridIndex5D_swigregister(GridIndex5D)
7307 class GridIndex6D(IMP._Value):
7308  r"""Proxy of C++ IMP::algebra::GridIndexD< 6 > class."""
7309 
7310  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7311 
7312  def __init__(self, *args):
7313  r"""
7314  __init__(GridIndex6D self) -> GridIndex6D
7315  __init__(GridIndex6D self, int x) -> GridIndex6D
7316  __init__(GridIndex6D self, int x, int y) -> GridIndex6D
7317  __init__(GridIndex6D self, int x, int y, int z) -> GridIndex6D
7318  __init__(GridIndex6D self, int i, int j, int k, int l) -> GridIndex6D
7319  __init__(GridIndex6D self, int i, int j, int k, int l, int m) -> GridIndex6D
7320  __init__(GridIndex6D self, int i, int j, int k, int l, int m, int n) -> GridIndex6D
7321  """
7322  _IMP_algebra.GridIndex6D_swiginit(self, _IMP_algebra.new_GridIndex6D(*args))
7323 
7324  def get_dimension(self):
7325  r"""get_dimension(GridIndex6D self) -> unsigned int"""
7326  return _IMP_algebra.GridIndex6D_get_dimension(self)
7327 
7328  def __getitem__(self, i):
7329  r"""__getitem__(GridIndex6D self, unsigned int i) -> int const &"""
7330  return _IMP_algebra.GridIndex6D___getitem__(self, i)
7331 
7332  def show(self, *args):
7333  r"""show(GridIndex6D self, _ostream out=std::cout)"""
7334  return _IMP_algebra.GridIndex6D_show(self, *args)
7335 
7336  def __len__(self):
7337  r"""__len__(GridIndex6D self) -> unsigned int"""
7338  return _IMP_algebra.GridIndex6D___len__(self)
7339 
7340  def __cmp__(self, o):
7341  r"""__cmp__(GridIndex6D self, GridIndex6D o) -> int"""
7342  return _IMP_algebra.GridIndex6D___cmp__(self, o)
7343 
7344  def __eq__(self, o):
7345  r"""__eq__(GridIndex6D self, GridIndex6D o) -> bool"""
7346  return _IMP_algebra.GridIndex6D___eq__(self, o)
7347 
7348  def __ne__(self, o):
7349  r"""__ne__(GridIndex6D self, GridIndex6D o) -> bool"""
7350  return _IMP_algebra.GridIndex6D___ne__(self, o)
7351 
7352  def __lt__(self, o):
7353  r"""__lt__(GridIndex6D self, GridIndex6D o) -> bool"""
7354  return _IMP_algebra.GridIndex6D___lt__(self, o)
7355 
7356  def __gt__(self, o):
7357  r"""__gt__(GridIndex6D self, GridIndex6D o) -> bool"""
7358  return _IMP_algebra.GridIndex6D___gt__(self, o)
7359 
7360  def __ge__(self, o):
7361  r"""__ge__(GridIndex6D self, GridIndex6D o) -> bool"""
7362  return _IMP_algebra.GridIndex6D___ge__(self, o)
7363 
7364  def __le__(self, o):
7365  r"""__le__(GridIndex6D self, GridIndex6D o) -> bool"""
7366  return _IMP_algebra.GridIndex6D___le__(self, o)
7367 
7368  def __hash__(self):
7369  r"""__hash__(GridIndex6D self) -> std::size_t"""
7370  return _IMP_algebra.GridIndex6D___hash__(self)
7371 
7372  def __str__(self):
7373  r"""__str__(GridIndex6D self) -> std::string"""
7374  return _IMP_algebra.GridIndex6D___str__(self)
7375 
7376  def __repr__(self):
7377  r"""__repr__(GridIndex6D self) -> std::string"""
7378  return _IMP_algebra.GridIndex6D___repr__(self)
7379 
7380  def _get_as_binary(self):
7381  r"""_get_as_binary(GridIndex6D self) -> PyObject *"""
7382  return _IMP_algebra.GridIndex6D__get_as_binary(self)
7383 
7384  def _set_from_binary(self, p):
7385  r"""_set_from_binary(GridIndex6D self, PyObject * p)"""
7386  return _IMP_algebra.GridIndex6D__set_from_binary(self, p)
7387 
7388  def __getstate__(self):
7389  p = self._get_as_binary()
7390  if len(self.__dict__) > 1:
7391  d = self.__dict__.copy()
7392  del d['this']
7393  p = (d, p)
7394  return p
7395 
7396  def __setstate__(self, p):
7397  if not hasattr(self, 'this'):
7398  self.__init__()
7399  if isinstance(p, tuple):
7400  d, p = p
7401  self.__dict__.update(d)
7402  return self._set_from_binary(p)
7403 
7404  __swig_destroy__ = _IMP_algebra.delete_GridIndex6D
7405 
7406 # Register GridIndex6D in _IMP_algebra:
7407 _IMP_algebra.GridIndex6D_swigregister(GridIndex6D)
7408 class GridIndexKD(IMP._Value):
7409  r"""Proxy of C++ IMP::algebra::GridIndexD< -1 > class."""
7410 
7411  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7412 
7413  def __init__(self, *args):
7414  r"""
7415  __init__(GridIndexKD self) -> GridIndexKD
7416  __init__(GridIndexKD self, int x) -> GridIndexKD
7417  __init__(GridIndexKD self, int x, int y) -> GridIndexKD
7418  __init__(GridIndexKD self, int x, int y, int z) -> GridIndexKD
7419  __init__(GridIndexKD self, int i, int j, int k, int l) -> GridIndexKD
7420  __init__(GridIndexKD self, int i, int j, int k, int l, int m) -> GridIndexKD
7421  __init__(GridIndexKD self, int i, int j, int k, int l, int m, int n) -> GridIndexKD
7422  """
7423  _IMP_algebra.GridIndexKD_swiginit(self, _IMP_algebra.new_GridIndexKD(*args))
7424 
7425  def get_dimension(self):
7426  r"""get_dimension(GridIndexKD self) -> unsigned int"""
7427  return _IMP_algebra.GridIndexKD_get_dimension(self)
7428 
7429  def __getitem__(self, i):
7430  r"""__getitem__(GridIndexKD self, unsigned int i) -> int const &"""
7431  return _IMP_algebra.GridIndexKD___getitem__(self, i)
7432 
7433  def show(self, *args):
7434  r"""show(GridIndexKD self, _ostream out=std::cout)"""
7435  return _IMP_algebra.GridIndexKD_show(self, *args)
7436 
7437  def __len__(self):
7438  r"""__len__(GridIndexKD self) -> unsigned int"""
7439  return _IMP_algebra.GridIndexKD___len__(self)
7440 
7441  def __cmp__(self, o):
7442  r"""__cmp__(GridIndexKD self, GridIndexKD o) -> int"""
7443  return _IMP_algebra.GridIndexKD___cmp__(self, o)
7444 
7445  def __eq__(self, o):
7446  r"""__eq__(GridIndexKD self, GridIndexKD o) -> bool"""
7447  return _IMP_algebra.GridIndexKD___eq__(self, o)
7448 
7449  def __ne__(self, o):
7450  r"""__ne__(GridIndexKD self, GridIndexKD o) -> bool"""
7451  return _IMP_algebra.GridIndexKD___ne__(self, o)
7452 
7453  def __lt__(self, o):
7454  r"""__lt__(GridIndexKD self, GridIndexKD o) -> bool"""
7455  return _IMP_algebra.GridIndexKD___lt__(self, o)
7456 
7457  def __gt__(self, o):
7458  r"""__gt__(GridIndexKD self, GridIndexKD o) -> bool"""
7459  return _IMP_algebra.GridIndexKD___gt__(self, o)
7460 
7461  def __ge__(self, o):
7462  r"""__ge__(GridIndexKD self, GridIndexKD o) -> bool"""
7463  return _IMP_algebra.GridIndexKD___ge__(self, o)
7464 
7465  def __le__(self, o):
7466  r"""__le__(GridIndexKD self, GridIndexKD o) -> bool"""
7467  return _IMP_algebra.GridIndexKD___le__(self, o)
7468 
7469  def __hash__(self):
7470  r"""__hash__(GridIndexKD self) -> std::size_t"""
7471  return _IMP_algebra.GridIndexKD___hash__(self)
7472 
7473  def __str__(self):
7474  r"""__str__(GridIndexKD self) -> std::string"""
7475  return _IMP_algebra.GridIndexKD___str__(self)
7476 
7477  def __repr__(self):
7478  r"""__repr__(GridIndexKD self) -> std::string"""
7479  return _IMP_algebra.GridIndexKD___repr__(self)
7480 
7481  def _get_as_binary(self):
7482  r"""_get_as_binary(GridIndexKD self) -> PyObject *"""
7483  return _IMP_algebra.GridIndexKD__get_as_binary(self)
7484 
7485  def _set_from_binary(self, p):
7486  r"""_set_from_binary(GridIndexKD self, PyObject * p)"""
7487  return _IMP_algebra.GridIndexKD__set_from_binary(self, p)
7488 
7489  def __getstate__(self):
7490  p = self._get_as_binary()
7491  if len(self.__dict__) > 1:
7492  d = self.__dict__.copy()
7493  del d['this']
7494  p = (d, p)
7495  return p
7496 
7497  def __setstate__(self, p):
7498  if not hasattr(self, 'this'):
7499  self.__init__()
7500  if isinstance(p, tuple):
7501  d, p = p
7502  self.__dict__.update(d)
7503  return self._set_from_binary(p)
7504 
7505  __swig_destroy__ = _IMP_algebra.delete_GridIndexKD
7506 
7507 # Register GridIndexKD in _IMP_algebra:
7508 _IMP_algebra.GridIndexKD_swigregister(GridIndexKD)
7509 class ExtendedGridIndex1D(IMP._Value):
7510  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 1 > class."""
7511 
7512  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7513 
7514  def __init__(self, *args):
7515  r"""
7516  __init__(ExtendedGridIndex1D self, IMP::Ints vals) -> ExtendedGridIndex1D
7517  __init__(ExtendedGridIndex1D self, int x) -> ExtendedGridIndex1D
7518  __init__(ExtendedGridIndex1D self, int x, int y) -> ExtendedGridIndex1D
7519  __init__(ExtendedGridIndex1D self, int x, int y, int z) -> ExtendedGridIndex1D
7520  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l) -> ExtendedGridIndex1D
7521  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex1D
7522  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex1D
7523  __init__(ExtendedGridIndex1D self) -> ExtendedGridIndex1D
7524  """
7525  _IMP_algebra.ExtendedGridIndex1D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex1D(*args))
7526 
7527  def get_dimension(self):
7528  r"""get_dimension(ExtendedGridIndex1D self) -> unsigned int"""
7529  return _IMP_algebra.ExtendedGridIndex1D_get_dimension(self)
7530 
7531  def __cmp__(self, o):
7532  r"""__cmp__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> int"""
7533  return _IMP_algebra.ExtendedGridIndex1D___cmp__(self, o)
7534 
7535  def __eq__(self, o):
7536  r"""__eq__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7537  return _IMP_algebra.ExtendedGridIndex1D___eq__(self, o)
7538 
7539  def __ne__(self, o):
7540  r"""__ne__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7541  return _IMP_algebra.ExtendedGridIndex1D___ne__(self, o)
7542 
7543  def __lt__(self, o):
7544  r"""__lt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7545  return _IMP_algebra.ExtendedGridIndex1D___lt__(self, o)
7546 
7547  def __gt__(self, o):
7548  r"""__gt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7549  return _IMP_algebra.ExtendedGridIndex1D___gt__(self, o)
7550 
7551  def __ge__(self, o):
7552  r"""__ge__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7553  return _IMP_algebra.ExtendedGridIndex1D___ge__(self, o)
7554 
7555  def __le__(self, o):
7556  r"""__le__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
7557  return _IMP_algebra.ExtendedGridIndex1D___le__(self, o)
7558 
7559  def __setitem__(self, i, v):
7560  r"""__setitem__(ExtendedGridIndex1D self, unsigned int i, int const & v)"""
7561  return _IMP_algebra.ExtendedGridIndex1D___setitem__(self, i, v)
7562 
7563  def __getitem__(self, i):
7564  r"""__getitem__(ExtendedGridIndex1D self, unsigned int i) -> int const &"""
7565  return _IMP_algebra.ExtendedGridIndex1D___getitem__(self, i)
7566 
7567  def show(self, *args):
7568  r"""show(ExtendedGridIndex1D self, _ostream out=std::cout)"""
7569  return _IMP_algebra.ExtendedGridIndex1D_show(self, *args)
7570 
7571  def __len__(self):
7572  r"""__len__(ExtendedGridIndex1D self) -> unsigned int"""
7573  return _IMP_algebra.ExtendedGridIndex1D___len__(self)
7574 
7575  def __hash__(self):
7576  r"""__hash__(ExtendedGridIndex1D self) -> std::size_t"""
7577  return _IMP_algebra.ExtendedGridIndex1D___hash__(self)
7578 
7579  def get_uniform_offset(self, ii):
7580  r"""get_uniform_offset(ExtendedGridIndex1D self, int ii) -> ExtendedGridIndex1D"""
7581  return _IMP_algebra.ExtendedGridIndex1D_get_uniform_offset(self, ii)
7582 
7583  def get_offset(self, i, j, k):
7584  r"""get_offset(ExtendedGridIndex1D self, int i, int j, int k) -> ExtendedGridIndex1D"""
7585  return _IMP_algebra.ExtendedGridIndex1D_get_offset(self, i, j, k)
7586 
7587  def __str__(self):
7588  r"""__str__(ExtendedGridIndex1D self) -> std::string"""
7589  return _IMP_algebra.ExtendedGridIndex1D___str__(self)
7590 
7591  def __repr__(self):
7592  r"""__repr__(ExtendedGridIndex1D self) -> std::string"""
7593  return _IMP_algebra.ExtendedGridIndex1D___repr__(self)
7594 
7595  def _get_as_binary(self):
7596  r"""_get_as_binary(ExtendedGridIndex1D self) -> PyObject *"""
7597  return _IMP_algebra.ExtendedGridIndex1D__get_as_binary(self)
7598 
7599  def _set_from_binary(self, p):
7600  r"""_set_from_binary(ExtendedGridIndex1D self, PyObject * p)"""
7601  return _IMP_algebra.ExtendedGridIndex1D__set_from_binary(self, p)
7602 
7603  def __getstate__(self):
7604  p = self._get_as_binary()
7605  if len(self.__dict__) > 1:
7606  d = self.__dict__.copy()
7607  del d['this']
7608  p = (d, p)
7609  return p
7610 
7611  def __setstate__(self, p):
7612  if not hasattr(self, 'this'):
7613  self.__init__()
7614  if isinstance(p, tuple):
7615  d, p = p
7616  self.__dict__.update(d)
7617  return self._set_from_binary(p)
7618 
7619  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex1D
7620 
7621 # Register ExtendedGridIndex1D in _IMP_algebra:
7622 _IMP_algebra.ExtendedGridIndex1D_swigregister(ExtendedGridIndex1D)
7623 class ExtendedGridIndex2D(IMP._Value):
7624  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 2 > class."""
7625 
7626  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7627 
7628  def __init__(self, *args):
7629  r"""
7630  __init__(ExtendedGridIndex2D self, IMP::Ints vals) -> ExtendedGridIndex2D
7631  __init__(ExtendedGridIndex2D self, int x) -> ExtendedGridIndex2D
7632  __init__(ExtendedGridIndex2D self, int x, int y) -> ExtendedGridIndex2D
7633  __init__(ExtendedGridIndex2D self, int x, int y, int z) -> ExtendedGridIndex2D
7634  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l) -> ExtendedGridIndex2D
7635  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex2D
7636  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex2D
7637  __init__(ExtendedGridIndex2D self) -> ExtendedGridIndex2D
7638  """
7639  _IMP_algebra.ExtendedGridIndex2D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex2D(*args))
7640 
7641  def get_dimension(self):
7642  r"""get_dimension(ExtendedGridIndex2D self) -> unsigned int"""
7643  return _IMP_algebra.ExtendedGridIndex2D_get_dimension(self)
7644 
7645  def __cmp__(self, o):
7646  r"""__cmp__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> int"""
7647  return _IMP_algebra.ExtendedGridIndex2D___cmp__(self, o)
7648 
7649  def __eq__(self, o):
7650  r"""__eq__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7651  return _IMP_algebra.ExtendedGridIndex2D___eq__(self, o)
7652 
7653  def __ne__(self, o):
7654  r"""__ne__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7655  return _IMP_algebra.ExtendedGridIndex2D___ne__(self, o)
7656 
7657  def __lt__(self, o):
7658  r"""__lt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7659  return _IMP_algebra.ExtendedGridIndex2D___lt__(self, o)
7660 
7661  def __gt__(self, o):
7662  r"""__gt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7663  return _IMP_algebra.ExtendedGridIndex2D___gt__(self, o)
7664 
7665  def __ge__(self, o):
7666  r"""__ge__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7667  return _IMP_algebra.ExtendedGridIndex2D___ge__(self, o)
7668 
7669  def __le__(self, o):
7670  r"""__le__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
7671  return _IMP_algebra.ExtendedGridIndex2D___le__(self, o)
7672 
7673  def __setitem__(self, i, v):
7674  r"""__setitem__(ExtendedGridIndex2D self, unsigned int i, int const & v)"""
7675  return _IMP_algebra.ExtendedGridIndex2D___setitem__(self, i, v)
7676 
7677  def __getitem__(self, i):
7678  r"""__getitem__(ExtendedGridIndex2D self, unsigned int i) -> int const &"""
7679  return _IMP_algebra.ExtendedGridIndex2D___getitem__(self, i)
7680 
7681  def show(self, *args):
7682  r"""show(ExtendedGridIndex2D self, _ostream out=std::cout)"""
7683  return _IMP_algebra.ExtendedGridIndex2D_show(self, *args)
7684 
7685  def __len__(self):
7686  r"""__len__(ExtendedGridIndex2D self) -> unsigned int"""
7687  return _IMP_algebra.ExtendedGridIndex2D___len__(self)
7688 
7689  def __hash__(self):
7690  r"""__hash__(ExtendedGridIndex2D self) -> std::size_t"""
7691  return _IMP_algebra.ExtendedGridIndex2D___hash__(self)
7692 
7693  def get_uniform_offset(self, ii):
7694  r"""get_uniform_offset(ExtendedGridIndex2D self, int ii) -> ExtendedGridIndex2D"""
7695  return _IMP_algebra.ExtendedGridIndex2D_get_uniform_offset(self, ii)
7696 
7697  def get_offset(self, i, j, k):
7698  r"""get_offset(ExtendedGridIndex2D self, int i, int j, int k) -> ExtendedGridIndex2D"""
7699  return _IMP_algebra.ExtendedGridIndex2D_get_offset(self, i, j, k)
7700 
7701  def __str__(self):
7702  r"""__str__(ExtendedGridIndex2D self) -> std::string"""
7703  return _IMP_algebra.ExtendedGridIndex2D___str__(self)
7704 
7705  def __repr__(self):
7706  r"""__repr__(ExtendedGridIndex2D self) -> std::string"""
7707  return _IMP_algebra.ExtendedGridIndex2D___repr__(self)
7708 
7709  def _get_as_binary(self):
7710  r"""_get_as_binary(ExtendedGridIndex2D self) -> PyObject *"""
7711  return _IMP_algebra.ExtendedGridIndex2D__get_as_binary(self)
7712 
7713  def _set_from_binary(self, p):
7714  r"""_set_from_binary(ExtendedGridIndex2D self, PyObject * p)"""
7715  return _IMP_algebra.ExtendedGridIndex2D__set_from_binary(self, p)
7716 
7717  def __getstate__(self):
7718  p = self._get_as_binary()
7719  if len(self.__dict__) > 1:
7720  d = self.__dict__.copy()
7721  del d['this']
7722  p = (d, p)
7723  return p
7724 
7725  def __setstate__(self, p):
7726  if not hasattr(self, 'this'):
7727  self.__init__()
7728  if isinstance(p, tuple):
7729  d, p = p
7730  self.__dict__.update(d)
7731  return self._set_from_binary(p)
7732 
7733  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex2D
7734 
7735 # Register ExtendedGridIndex2D in _IMP_algebra:
7736 _IMP_algebra.ExtendedGridIndex2D_swigregister(ExtendedGridIndex2D)
7737 class ExtendedGridIndex3D(IMP._Value):
7738  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 3 > class."""
7739 
7740  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7741 
7742  def __init__(self, *args):
7743  r"""
7744  __init__(ExtendedGridIndex3D self, IMP::Ints vals) -> ExtendedGridIndex3D
7745  __init__(ExtendedGridIndex3D self, int x) -> ExtendedGridIndex3D
7746  __init__(ExtendedGridIndex3D self, int x, int y) -> ExtendedGridIndex3D
7747  __init__(ExtendedGridIndex3D self, int x, int y, int z) -> ExtendedGridIndex3D
7748  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l) -> ExtendedGridIndex3D
7749  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex3D
7750  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex3D
7751  __init__(ExtendedGridIndex3D self) -> ExtendedGridIndex3D
7752  """
7753  _IMP_algebra.ExtendedGridIndex3D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex3D(*args))
7754 
7755  def get_dimension(self):
7756  r"""get_dimension(ExtendedGridIndex3D self) -> unsigned int"""
7757  return _IMP_algebra.ExtendedGridIndex3D_get_dimension(self)
7758 
7759  def __cmp__(self, o):
7760  r"""__cmp__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> int"""
7761  return _IMP_algebra.ExtendedGridIndex3D___cmp__(self, o)
7762 
7763  def __eq__(self, o):
7764  r"""__eq__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7765  return _IMP_algebra.ExtendedGridIndex3D___eq__(self, o)
7766 
7767  def __ne__(self, o):
7768  r"""__ne__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7769  return _IMP_algebra.ExtendedGridIndex3D___ne__(self, o)
7770 
7771  def __lt__(self, o):
7772  r"""__lt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7773  return _IMP_algebra.ExtendedGridIndex3D___lt__(self, o)
7774 
7775  def __gt__(self, o):
7776  r"""__gt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7777  return _IMP_algebra.ExtendedGridIndex3D___gt__(self, o)
7778 
7779  def __ge__(self, o):
7780  r"""__ge__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7781  return _IMP_algebra.ExtendedGridIndex3D___ge__(self, o)
7782 
7783  def __le__(self, o):
7784  r"""__le__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
7785  return _IMP_algebra.ExtendedGridIndex3D___le__(self, o)
7786 
7787  def __setitem__(self, i, v):
7788  r"""__setitem__(ExtendedGridIndex3D self, unsigned int i, int const & v)"""
7789  return _IMP_algebra.ExtendedGridIndex3D___setitem__(self, i, v)
7790 
7791  def __getitem__(self, i):
7792  r"""__getitem__(ExtendedGridIndex3D self, unsigned int i) -> int const &"""
7793  return _IMP_algebra.ExtendedGridIndex3D___getitem__(self, i)
7794 
7795  def show(self, *args):
7796  r"""show(ExtendedGridIndex3D self, _ostream out=std::cout)"""
7797  return _IMP_algebra.ExtendedGridIndex3D_show(self, *args)
7798 
7799  def __len__(self):
7800  r"""__len__(ExtendedGridIndex3D self) -> unsigned int"""
7801  return _IMP_algebra.ExtendedGridIndex3D___len__(self)
7802 
7803  def __hash__(self):
7804  r"""__hash__(ExtendedGridIndex3D self) -> std::size_t"""
7805  return _IMP_algebra.ExtendedGridIndex3D___hash__(self)
7806 
7807  def get_uniform_offset(self, ii):
7808  r"""get_uniform_offset(ExtendedGridIndex3D self, int ii) -> ExtendedGridIndex3D"""
7809  return _IMP_algebra.ExtendedGridIndex3D_get_uniform_offset(self, ii)
7810 
7811  def get_offset(self, i, j, k):
7812  r"""get_offset(ExtendedGridIndex3D self, int i, int j, int k) -> ExtendedGridIndex3D"""
7813  return _IMP_algebra.ExtendedGridIndex3D_get_offset(self, i, j, k)
7814 
7815  def __str__(self):
7816  r"""__str__(ExtendedGridIndex3D self) -> std::string"""
7817  return _IMP_algebra.ExtendedGridIndex3D___str__(self)
7818 
7819  def __repr__(self):
7820  r"""__repr__(ExtendedGridIndex3D self) -> std::string"""
7821  return _IMP_algebra.ExtendedGridIndex3D___repr__(self)
7822 
7823  def _get_as_binary(self):
7824  r"""_get_as_binary(ExtendedGridIndex3D self) -> PyObject *"""
7825  return _IMP_algebra.ExtendedGridIndex3D__get_as_binary(self)
7826 
7827  def _set_from_binary(self, p):
7828  r"""_set_from_binary(ExtendedGridIndex3D self, PyObject * p)"""
7829  return _IMP_algebra.ExtendedGridIndex3D__set_from_binary(self, p)
7830 
7831  def __getstate__(self):
7832  p = self._get_as_binary()
7833  if len(self.__dict__) > 1:
7834  d = self.__dict__.copy()
7835  del d['this']
7836  p = (d, p)
7837  return p
7838 
7839  def __setstate__(self, p):
7840  if not hasattr(self, 'this'):
7841  self.__init__()
7842  if isinstance(p, tuple):
7843  d, p = p
7844  self.__dict__.update(d)
7845  return self._set_from_binary(p)
7846 
7847  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex3D
7848 
7849 # Register ExtendedGridIndex3D in _IMP_algebra:
7850 _IMP_algebra.ExtendedGridIndex3D_swigregister(ExtendedGridIndex3D)
7851 class ExtendedGridIndex4D(IMP._Value):
7852  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 4 > class."""
7853 
7854  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7855 
7856  def __init__(self, *args):
7857  r"""
7858  __init__(ExtendedGridIndex4D self, IMP::Ints vals) -> ExtendedGridIndex4D
7859  __init__(ExtendedGridIndex4D self, int x) -> ExtendedGridIndex4D
7860  __init__(ExtendedGridIndex4D self, int x, int y) -> ExtendedGridIndex4D
7861  __init__(ExtendedGridIndex4D self, int x, int y, int z) -> ExtendedGridIndex4D
7862  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l) -> ExtendedGridIndex4D
7863  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex4D
7864  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex4D
7865  __init__(ExtendedGridIndex4D self) -> ExtendedGridIndex4D
7866  """
7867  _IMP_algebra.ExtendedGridIndex4D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex4D(*args))
7868 
7869  def get_dimension(self):
7870  r"""get_dimension(ExtendedGridIndex4D self) -> unsigned int"""
7871  return _IMP_algebra.ExtendedGridIndex4D_get_dimension(self)
7872 
7873  def __cmp__(self, o):
7874  r"""__cmp__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> int"""
7875  return _IMP_algebra.ExtendedGridIndex4D___cmp__(self, o)
7876 
7877  def __eq__(self, o):
7878  r"""__eq__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7879  return _IMP_algebra.ExtendedGridIndex4D___eq__(self, o)
7880 
7881  def __ne__(self, o):
7882  r"""__ne__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7883  return _IMP_algebra.ExtendedGridIndex4D___ne__(self, o)
7884 
7885  def __lt__(self, o):
7886  r"""__lt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7887  return _IMP_algebra.ExtendedGridIndex4D___lt__(self, o)
7888 
7889  def __gt__(self, o):
7890  r"""__gt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7891  return _IMP_algebra.ExtendedGridIndex4D___gt__(self, o)
7892 
7893  def __ge__(self, o):
7894  r"""__ge__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7895  return _IMP_algebra.ExtendedGridIndex4D___ge__(self, o)
7896 
7897  def __le__(self, o):
7898  r"""__le__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
7899  return _IMP_algebra.ExtendedGridIndex4D___le__(self, o)
7900 
7901  def __setitem__(self, i, v):
7902  r"""__setitem__(ExtendedGridIndex4D self, unsigned int i, int const & v)"""
7903  return _IMP_algebra.ExtendedGridIndex4D___setitem__(self, i, v)
7904 
7905  def __getitem__(self, i):
7906  r"""__getitem__(ExtendedGridIndex4D self, unsigned int i) -> int const &"""
7907  return _IMP_algebra.ExtendedGridIndex4D___getitem__(self, i)
7908 
7909  def show(self, *args):
7910  r"""show(ExtendedGridIndex4D self, _ostream out=std::cout)"""
7911  return _IMP_algebra.ExtendedGridIndex4D_show(self, *args)
7912 
7913  def __len__(self):
7914  r"""__len__(ExtendedGridIndex4D self) -> unsigned int"""
7915  return _IMP_algebra.ExtendedGridIndex4D___len__(self)
7916 
7917  def __hash__(self):
7918  r"""__hash__(ExtendedGridIndex4D self) -> std::size_t"""
7919  return _IMP_algebra.ExtendedGridIndex4D___hash__(self)
7920 
7921  def get_uniform_offset(self, ii):
7922  r"""get_uniform_offset(ExtendedGridIndex4D self, int ii) -> ExtendedGridIndex4D"""
7923  return _IMP_algebra.ExtendedGridIndex4D_get_uniform_offset(self, ii)
7924 
7925  def get_offset(self, i, j, k):
7926  r"""get_offset(ExtendedGridIndex4D self, int i, int j, int k) -> ExtendedGridIndex4D"""
7927  return _IMP_algebra.ExtendedGridIndex4D_get_offset(self, i, j, k)
7928 
7929  def __str__(self):
7930  r"""__str__(ExtendedGridIndex4D self) -> std::string"""
7931  return _IMP_algebra.ExtendedGridIndex4D___str__(self)
7932 
7933  def __repr__(self):
7934  r"""__repr__(ExtendedGridIndex4D self) -> std::string"""
7935  return _IMP_algebra.ExtendedGridIndex4D___repr__(self)
7936 
7937  def _get_as_binary(self):
7938  r"""_get_as_binary(ExtendedGridIndex4D self) -> PyObject *"""
7939  return _IMP_algebra.ExtendedGridIndex4D__get_as_binary(self)
7940 
7941  def _set_from_binary(self, p):
7942  r"""_set_from_binary(ExtendedGridIndex4D self, PyObject * p)"""
7943  return _IMP_algebra.ExtendedGridIndex4D__set_from_binary(self, p)
7944 
7945  def __getstate__(self):
7946  p = self._get_as_binary()
7947  if len(self.__dict__) > 1:
7948  d = self.__dict__.copy()
7949  del d['this']
7950  p = (d, p)
7951  return p
7952 
7953  def __setstate__(self, p):
7954  if not hasattr(self, 'this'):
7955  self.__init__()
7956  if isinstance(p, tuple):
7957  d, p = p
7958  self.__dict__.update(d)
7959  return self._set_from_binary(p)
7960 
7961  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex4D
7962 
7963 # Register ExtendedGridIndex4D in _IMP_algebra:
7964 _IMP_algebra.ExtendedGridIndex4D_swigregister(ExtendedGridIndex4D)
7965 class ExtendedGridIndex5D(IMP._Value):
7966  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 5 > class."""
7967 
7968  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7969 
7970  def __init__(self, *args):
7971  r"""
7972  __init__(ExtendedGridIndex5D self, IMP::Ints vals) -> ExtendedGridIndex5D
7973  __init__(ExtendedGridIndex5D self, int x) -> ExtendedGridIndex5D
7974  __init__(ExtendedGridIndex5D self, int x, int y) -> ExtendedGridIndex5D
7975  __init__(ExtendedGridIndex5D self, int x, int y, int z) -> ExtendedGridIndex5D
7976  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l) -> ExtendedGridIndex5D
7977  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex5D
7978  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex5D
7979  __init__(ExtendedGridIndex5D self) -> ExtendedGridIndex5D
7980  """
7981  _IMP_algebra.ExtendedGridIndex5D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex5D(*args))
7982 
7983  def get_dimension(self):
7984  r"""get_dimension(ExtendedGridIndex5D self) -> unsigned int"""
7985  return _IMP_algebra.ExtendedGridIndex5D_get_dimension(self)
7986 
7987  def __cmp__(self, o):
7988  r"""__cmp__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> int"""
7989  return _IMP_algebra.ExtendedGridIndex5D___cmp__(self, o)
7990 
7991  def __eq__(self, o):
7992  r"""__eq__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7993  return _IMP_algebra.ExtendedGridIndex5D___eq__(self, o)
7994 
7995  def __ne__(self, o):
7996  r"""__ne__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
7997  return _IMP_algebra.ExtendedGridIndex5D___ne__(self, o)
7998 
7999  def __lt__(self, o):
8000  r"""__lt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8001  return _IMP_algebra.ExtendedGridIndex5D___lt__(self, o)
8002 
8003  def __gt__(self, o):
8004  r"""__gt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8005  return _IMP_algebra.ExtendedGridIndex5D___gt__(self, o)
8006 
8007  def __ge__(self, o):
8008  r"""__ge__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8009  return _IMP_algebra.ExtendedGridIndex5D___ge__(self, o)
8010 
8011  def __le__(self, o):
8012  r"""__le__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
8013  return _IMP_algebra.ExtendedGridIndex5D___le__(self, o)
8014 
8015  def __setitem__(self, i, v):
8016  r"""__setitem__(ExtendedGridIndex5D self, unsigned int i, int const & v)"""
8017  return _IMP_algebra.ExtendedGridIndex5D___setitem__(self, i, v)
8018 
8019  def __getitem__(self, i):
8020  r"""__getitem__(ExtendedGridIndex5D self, unsigned int i) -> int const &"""
8021  return _IMP_algebra.ExtendedGridIndex5D___getitem__(self, i)
8022 
8023  def show(self, *args):
8024  r"""show(ExtendedGridIndex5D self, _ostream out=std::cout)"""
8025  return _IMP_algebra.ExtendedGridIndex5D_show(self, *args)
8026 
8027  def __len__(self):
8028  r"""__len__(ExtendedGridIndex5D self) -> unsigned int"""
8029  return _IMP_algebra.ExtendedGridIndex5D___len__(self)
8030 
8031  def __hash__(self):
8032  r"""__hash__(ExtendedGridIndex5D self) -> std::size_t"""
8033  return _IMP_algebra.ExtendedGridIndex5D___hash__(self)
8034 
8035  def get_uniform_offset(self, ii):
8036  r"""get_uniform_offset(ExtendedGridIndex5D self, int ii) -> ExtendedGridIndex5D"""
8037  return _IMP_algebra.ExtendedGridIndex5D_get_uniform_offset(self, ii)
8038 
8039  def get_offset(self, i, j, k):
8040  r"""get_offset(ExtendedGridIndex5D self, int i, int j, int k) -> ExtendedGridIndex5D"""
8041  return _IMP_algebra.ExtendedGridIndex5D_get_offset(self, i, j, k)
8042 
8043  def __str__(self):
8044  r"""__str__(ExtendedGridIndex5D self) -> std::string"""
8045  return _IMP_algebra.ExtendedGridIndex5D___str__(self)
8046 
8047  def __repr__(self):
8048  r"""__repr__(ExtendedGridIndex5D self) -> std::string"""
8049  return _IMP_algebra.ExtendedGridIndex5D___repr__(self)
8050 
8051  def _get_as_binary(self):
8052  r"""_get_as_binary(ExtendedGridIndex5D self) -> PyObject *"""
8053  return _IMP_algebra.ExtendedGridIndex5D__get_as_binary(self)
8054 
8055  def _set_from_binary(self, p):
8056  r"""_set_from_binary(ExtendedGridIndex5D self, PyObject * p)"""
8057  return _IMP_algebra.ExtendedGridIndex5D__set_from_binary(self, p)
8058 
8059  def __getstate__(self):
8060  p = self._get_as_binary()
8061  if len(self.__dict__) > 1:
8062  d = self.__dict__.copy()
8063  del d['this']
8064  p = (d, p)
8065  return p
8066 
8067  def __setstate__(self, p):
8068  if not hasattr(self, 'this'):
8069  self.__init__()
8070  if isinstance(p, tuple):
8071  d, p = p
8072  self.__dict__.update(d)
8073  return self._set_from_binary(p)
8074 
8075  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex5D
8076 
8077 # Register ExtendedGridIndex5D in _IMP_algebra:
8078 _IMP_algebra.ExtendedGridIndex5D_swigregister(ExtendedGridIndex5D)
8079 class ExtendedGridIndex6D(IMP._Value):
8080  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 6 > class."""
8081 
8082  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8083 
8084  def __init__(self, *args):
8085  r"""
8086  __init__(ExtendedGridIndex6D self, IMP::Ints vals) -> ExtendedGridIndex6D
8087  __init__(ExtendedGridIndex6D self, int x) -> ExtendedGridIndex6D
8088  __init__(ExtendedGridIndex6D self, int x, int y) -> ExtendedGridIndex6D
8089  __init__(ExtendedGridIndex6D self, int x, int y, int z) -> ExtendedGridIndex6D
8090  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l) -> ExtendedGridIndex6D
8091  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex6D
8092  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex6D
8093  __init__(ExtendedGridIndex6D self) -> ExtendedGridIndex6D
8094  """
8095  _IMP_algebra.ExtendedGridIndex6D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex6D(*args))
8096 
8097  def get_dimension(self):
8098  r"""get_dimension(ExtendedGridIndex6D self) -> unsigned int"""
8099  return _IMP_algebra.ExtendedGridIndex6D_get_dimension(self)
8100 
8101  def __cmp__(self, o):
8102  r"""__cmp__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> int"""
8103  return _IMP_algebra.ExtendedGridIndex6D___cmp__(self, o)
8104 
8105  def __eq__(self, o):
8106  r"""__eq__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8107  return _IMP_algebra.ExtendedGridIndex6D___eq__(self, o)
8108 
8109  def __ne__(self, o):
8110  r"""__ne__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8111  return _IMP_algebra.ExtendedGridIndex6D___ne__(self, o)
8112 
8113  def __lt__(self, o):
8114  r"""__lt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8115  return _IMP_algebra.ExtendedGridIndex6D___lt__(self, o)
8116 
8117  def __gt__(self, o):
8118  r"""__gt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8119  return _IMP_algebra.ExtendedGridIndex6D___gt__(self, o)
8120 
8121  def __ge__(self, o):
8122  r"""__ge__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8123  return _IMP_algebra.ExtendedGridIndex6D___ge__(self, o)
8124 
8125  def __le__(self, o):
8126  r"""__le__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
8127  return _IMP_algebra.ExtendedGridIndex6D___le__(self, o)
8128 
8129  def __setitem__(self, i, v):
8130  r"""__setitem__(ExtendedGridIndex6D self, unsigned int i, int const & v)"""
8131  return _IMP_algebra.ExtendedGridIndex6D___setitem__(self, i, v)
8132 
8133  def __getitem__(self, i):
8134  r"""__getitem__(ExtendedGridIndex6D self, unsigned int i) -> int const &"""
8135  return _IMP_algebra.ExtendedGridIndex6D___getitem__(self, i)
8136 
8137  def show(self, *args):
8138  r"""show(ExtendedGridIndex6D self, _ostream out=std::cout)"""
8139  return _IMP_algebra.ExtendedGridIndex6D_show(self, *args)
8140 
8141  def __len__(self):
8142  r"""__len__(ExtendedGridIndex6D self) -> unsigned int"""
8143  return _IMP_algebra.ExtendedGridIndex6D___len__(self)
8144 
8145  def __hash__(self):
8146  r"""__hash__(ExtendedGridIndex6D self) -> std::size_t"""
8147  return _IMP_algebra.ExtendedGridIndex6D___hash__(self)
8148 
8149  def get_uniform_offset(self, ii):
8150  r"""get_uniform_offset(ExtendedGridIndex6D self, int ii) -> ExtendedGridIndex6D"""
8151  return _IMP_algebra.ExtendedGridIndex6D_get_uniform_offset(self, ii)
8152 
8153  def get_offset(self, i, j, k):
8154  r"""get_offset(ExtendedGridIndex6D self, int i, int j, int k) -> ExtendedGridIndex6D"""
8155  return _IMP_algebra.ExtendedGridIndex6D_get_offset(self, i, j, k)
8156 
8157  def __str__(self):
8158  r"""__str__(ExtendedGridIndex6D self) -> std::string"""
8159  return _IMP_algebra.ExtendedGridIndex6D___str__(self)
8160 
8161  def __repr__(self):
8162  r"""__repr__(ExtendedGridIndex6D self) -> std::string"""
8163  return _IMP_algebra.ExtendedGridIndex6D___repr__(self)
8164 
8165  def _get_as_binary(self):
8166  r"""_get_as_binary(ExtendedGridIndex6D self) -> PyObject *"""
8167  return _IMP_algebra.ExtendedGridIndex6D__get_as_binary(self)
8168 
8169  def _set_from_binary(self, p):
8170  r"""_set_from_binary(ExtendedGridIndex6D self, PyObject * p)"""
8171  return _IMP_algebra.ExtendedGridIndex6D__set_from_binary(self, p)
8172 
8173  def __getstate__(self):
8174  p = self._get_as_binary()
8175  if len(self.__dict__) > 1:
8176  d = self.__dict__.copy()
8177  del d['this']
8178  p = (d, p)
8179  return p
8180 
8181  def __setstate__(self, p):
8182  if not hasattr(self, 'this'):
8183  self.__init__()
8184  if isinstance(p, tuple):
8185  d, p = p
8186  self.__dict__.update(d)
8187  return self._set_from_binary(p)
8188 
8189  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex6D
8190 
8191 # Register ExtendedGridIndex6D in _IMP_algebra:
8192 _IMP_algebra.ExtendedGridIndex6D_swigregister(ExtendedGridIndex6D)
8193 class ExtendedGridIndexKD(IMP._Value):
8194  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< -1 > class."""
8195 
8196  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8197 
8198  def __init__(self, *args):
8199  r"""
8200  __init__(ExtendedGridIndexKD self, IMP::Ints vals) -> ExtendedGridIndexKD
8201  __init__(ExtendedGridIndexKD self, int x) -> ExtendedGridIndexKD
8202  __init__(ExtendedGridIndexKD self, int x, int y) -> ExtendedGridIndexKD
8203  __init__(ExtendedGridIndexKD self, int x, int y, int z) -> ExtendedGridIndexKD
8204  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l) -> ExtendedGridIndexKD
8205  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m) -> ExtendedGridIndexKD
8206  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndexKD
8207  __init__(ExtendedGridIndexKD self) -> ExtendedGridIndexKD
8208  """
8209  _IMP_algebra.ExtendedGridIndexKD_swiginit(self, _IMP_algebra.new_ExtendedGridIndexKD(*args))
8210 
8211  def get_dimension(self):
8212  r"""get_dimension(ExtendedGridIndexKD self) -> unsigned int"""
8213  return _IMP_algebra.ExtendedGridIndexKD_get_dimension(self)
8214 
8215  def __cmp__(self, o):
8216  r"""__cmp__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> int"""
8217  return _IMP_algebra.ExtendedGridIndexKD___cmp__(self, o)
8218 
8219  def __eq__(self, o):
8220  r"""__eq__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8221  return _IMP_algebra.ExtendedGridIndexKD___eq__(self, o)
8222 
8223  def __ne__(self, o):
8224  r"""__ne__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8225  return _IMP_algebra.ExtendedGridIndexKD___ne__(self, o)
8226 
8227  def __lt__(self, o):
8228  r"""__lt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8229  return _IMP_algebra.ExtendedGridIndexKD___lt__(self, o)
8230 
8231  def __gt__(self, o):
8232  r"""__gt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8233  return _IMP_algebra.ExtendedGridIndexKD___gt__(self, o)
8234 
8235  def __ge__(self, o):
8236  r"""__ge__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8237  return _IMP_algebra.ExtendedGridIndexKD___ge__(self, o)
8238 
8239  def __le__(self, o):
8240  r"""__le__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
8241  return _IMP_algebra.ExtendedGridIndexKD___le__(self, o)
8242 
8243  def __setitem__(self, i, v):
8244  r"""__setitem__(ExtendedGridIndexKD self, unsigned int i, int const & v)"""
8245  return _IMP_algebra.ExtendedGridIndexKD___setitem__(self, i, v)
8246 
8247  def __getitem__(self, i):
8248  r"""__getitem__(ExtendedGridIndexKD self, unsigned int i) -> int const &"""
8249  return _IMP_algebra.ExtendedGridIndexKD___getitem__(self, i)
8250 
8251  def show(self, *args):
8252  r"""show(ExtendedGridIndexKD self, _ostream out=std::cout)"""
8253  return _IMP_algebra.ExtendedGridIndexKD_show(self, *args)
8254 
8255  def __len__(self):
8256  r"""__len__(ExtendedGridIndexKD self) -> unsigned int"""
8257  return _IMP_algebra.ExtendedGridIndexKD___len__(self)
8258 
8259  def __hash__(self):
8260  r"""__hash__(ExtendedGridIndexKD self) -> std::size_t"""
8261  return _IMP_algebra.ExtendedGridIndexKD___hash__(self)
8262 
8263  def get_uniform_offset(self, ii):
8264  r"""get_uniform_offset(ExtendedGridIndexKD self, int ii) -> ExtendedGridIndexKD"""
8265  return _IMP_algebra.ExtendedGridIndexKD_get_uniform_offset(self, ii)
8266 
8267  def get_offset(self, i, j, k):
8268  r"""get_offset(ExtendedGridIndexKD self, int i, int j, int k) -> ExtendedGridIndexKD"""
8269  return _IMP_algebra.ExtendedGridIndexKD_get_offset(self, i, j, k)
8270 
8271  def __str__(self):
8272  r"""__str__(ExtendedGridIndexKD self) -> std::string"""
8273  return _IMP_algebra.ExtendedGridIndexKD___str__(self)
8274 
8275  def __repr__(self):
8276  r"""__repr__(ExtendedGridIndexKD self) -> std::string"""
8277  return _IMP_algebra.ExtendedGridIndexKD___repr__(self)
8278 
8279  def _get_as_binary(self):
8280  r"""_get_as_binary(ExtendedGridIndexKD self) -> PyObject *"""
8281  return _IMP_algebra.ExtendedGridIndexKD__get_as_binary(self)
8282 
8283  def _set_from_binary(self, p):
8284  r"""_set_from_binary(ExtendedGridIndexKD self, PyObject * p)"""
8285  return _IMP_algebra.ExtendedGridIndexKD__set_from_binary(self, p)
8286 
8287  def __getstate__(self):
8288  p = self._get_as_binary()
8289  if len(self.__dict__) > 1:
8290  d = self.__dict__.copy()
8291  del d['this']
8292  p = (d, p)
8293  return p
8294 
8295  def __setstate__(self, p):
8296  if not hasattr(self, 'this'):
8297  self.__init__()
8298  if isinstance(p, tuple):
8299  d, p = p
8300  self.__dict__.update(d)
8301  return self._set_from_binary(p)
8302 
8303  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndexKD
8304 
8305 # Register ExtendedGridIndexKD in _IMP_algebra:
8306 _IMP_algebra.ExtendedGridIndexKD_swigregister(ExtendedGridIndexKD)
8307 class BoundedGridRange1D(object):
8308  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 1 > class."""
8309 
8310  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8311 
8312  @staticmethod
8313  def get_is_bounded():
8314  r"""get_is_bounded() -> bool"""
8315  return _IMP_algebra.BoundedGridRange1D_get_is_bounded()
8316 
8317  def __init__(self, *args):
8318  r"""
8319  __init__(BoundedGridRange1D self) -> BoundedGridRange1D
8320  __init__(BoundedGridRange1D self, IMP::Ints const & counts) -> BoundedGridRange1D
8321  """
8322  _IMP_algebra.BoundedGridRange1D_swiginit(self, _IMP_algebra.new_BoundedGridRange1D(*args))
8323 
8324  def get_number_of_voxels(self, *args):
8325  r"""
8326  get_number_of_voxels(BoundedGridRange1D self, unsigned int i) -> unsigned int
8327  get_number_of_voxels(BoundedGridRange1D self) -> unsigned int
8328  """
8329  return _IMP_algebra.BoundedGridRange1D_get_number_of_voxels(self, *args)
8330 
8331  def get_end_index(self):
8332  r"""get_end_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8333  return _IMP_algebra.BoundedGridRange1D_get_end_index(self)
8334 
8335  def show(self, *args):
8336  r"""show(BoundedGridRange1D self, _ostream out=std::cout)"""
8337  return _IMP_algebra.BoundedGridRange1D_show(self, *args)
8338 
8339  def get_all_indexes(self):
8340  r"""get_all_indexes(BoundedGridRange1D self) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8341  return _IMP_algebra.BoundedGridRange1D_get_all_indexes(self)
8342 
8343  def get_indexes(self, lb, ub):
8344  r"""get_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
8345  return _IMP_algebra.BoundedGridRange1D_get_indexes(self, lb, ub)
8346 
8347  def get_extended_indexes(self, lb, ub):
8348  r"""get_extended_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
8349  return _IMP_algebra.BoundedGridRange1D_get_extended_indexes(self, lb, ub)
8350 
8351  def get_index(self, v):
8352  r"""get_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> GridIndex1D"""
8353  return _IMP_algebra.BoundedGridRange1D_get_index(self, v)
8354 
8355  def get_has_index(self, v):
8356  r"""get_has_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> bool"""
8357  return _IMP_algebra.BoundedGridRange1D_get_has_index(self, v)
8358 
8359  def get_minimum_extended_index(self):
8360  r"""get_minimum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8361  return _IMP_algebra.BoundedGridRange1D_get_minimum_extended_index(self)
8362 
8363  def get_maximum_extended_index(self):
8364  r"""get_maximum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
8365  return _IMP_algebra.BoundedGridRange1D_get_maximum_extended_index(self)
8366 
8367  def __str__(self):
8368  r"""__str__(BoundedGridRange1D self) -> std::string"""
8369  return _IMP_algebra.BoundedGridRange1D___str__(self)
8370 
8371  def __repr__(self):
8372  r"""__repr__(BoundedGridRange1D self) -> std::string"""
8373  return _IMP_algebra.BoundedGridRange1D___repr__(self)
8374 
8375  def __cmp__(self, arg2):
8376  r"""__cmp__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> int"""
8377  return _IMP_algebra.BoundedGridRange1D___cmp__(self, arg2)
8378 
8379  def __eq__(self, arg2):
8380  r"""__eq__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> bool"""
8381  return _IMP_algebra.BoundedGridRange1D___eq__(self, arg2)
8382 
8383  def _get_as_binary(self):
8384  r"""_get_as_binary(BoundedGridRange1D self) -> PyObject *"""
8385  return _IMP_algebra.BoundedGridRange1D__get_as_binary(self)
8386 
8387  def _set_from_binary(self, p):
8388  r"""_set_from_binary(BoundedGridRange1D self, PyObject * p)"""
8389  return _IMP_algebra.BoundedGridRange1D__set_from_binary(self, p)
8390 
8391  def __getstate__(self):
8392  p = self._get_as_binary()
8393  if len(self.__dict__) > 1:
8394  d = self.__dict__.copy()
8395  del d['this']
8396  p = (d, p)
8397  return p
8398 
8399  def __setstate__(self, p):
8400  if not hasattr(self, 'this'):
8401  self.__init__()
8402  if isinstance(p, tuple):
8403  d, p = p
8404  self.__dict__.update(d)
8405  return self._set_from_binary(p)
8406 
8407  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange1D
8408 
8409 # Register BoundedGridRange1D in _IMP_algebra:
8410 _IMP_algebra.BoundedGridRange1D_swigregister(BoundedGridRange1D)
8411 class BoundedGridRange2D(object):
8412  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 2 > class."""
8413 
8414  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8415 
8416  @staticmethod
8417  def get_is_bounded():
8418  r"""get_is_bounded() -> bool"""
8419  return _IMP_algebra.BoundedGridRange2D_get_is_bounded()
8420 
8421  def __init__(self, *args):
8422  r"""
8423  __init__(BoundedGridRange2D self) -> BoundedGridRange2D
8424  __init__(BoundedGridRange2D self, IMP::Ints const & counts) -> BoundedGridRange2D
8425  """
8426  _IMP_algebra.BoundedGridRange2D_swiginit(self, _IMP_algebra.new_BoundedGridRange2D(*args))
8427 
8428  def get_number_of_voxels(self, *args):
8429  r"""
8430  get_number_of_voxels(BoundedGridRange2D self, unsigned int i) -> unsigned int
8431  get_number_of_voxels(BoundedGridRange2D self) -> unsigned int
8432  """
8433  return _IMP_algebra.BoundedGridRange2D_get_number_of_voxels(self, *args)
8434 
8435  def get_end_index(self):
8436  r"""get_end_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8437  return _IMP_algebra.BoundedGridRange2D_get_end_index(self)
8438 
8439  def show(self, *args):
8440  r"""show(BoundedGridRange2D self, _ostream out=std::cout)"""
8441  return _IMP_algebra.BoundedGridRange2D_show(self, *args)
8442 
8443  def get_all_indexes(self):
8444  r"""get_all_indexes(BoundedGridRange2D self) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8445  return _IMP_algebra.BoundedGridRange2D_get_all_indexes(self)
8446 
8447  def get_indexes(self, lb, ub):
8448  r"""get_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
8449  return _IMP_algebra.BoundedGridRange2D_get_indexes(self, lb, ub)
8450 
8451  def get_extended_indexes(self, lb, ub):
8452  r"""get_extended_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
8453  return _IMP_algebra.BoundedGridRange2D_get_extended_indexes(self, lb, ub)
8454 
8455  def get_index(self, v):
8456  r"""get_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> GridIndex2D"""
8457  return _IMP_algebra.BoundedGridRange2D_get_index(self, v)
8458 
8459  def get_has_index(self, v):
8460  r"""get_has_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> bool"""
8461  return _IMP_algebra.BoundedGridRange2D_get_has_index(self, v)
8462 
8463  def get_minimum_extended_index(self):
8464  r"""get_minimum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8465  return _IMP_algebra.BoundedGridRange2D_get_minimum_extended_index(self)
8466 
8467  def get_maximum_extended_index(self):
8468  r"""get_maximum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
8469  return _IMP_algebra.BoundedGridRange2D_get_maximum_extended_index(self)
8470 
8471  def __str__(self):
8472  r"""__str__(BoundedGridRange2D self) -> std::string"""
8473  return _IMP_algebra.BoundedGridRange2D___str__(self)
8474 
8475  def __repr__(self):
8476  r"""__repr__(BoundedGridRange2D self) -> std::string"""
8477  return _IMP_algebra.BoundedGridRange2D___repr__(self)
8478 
8479  def __cmp__(self, arg2):
8480  r"""__cmp__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> int"""
8481  return _IMP_algebra.BoundedGridRange2D___cmp__(self, arg2)
8482 
8483  def __eq__(self, arg2):
8484  r"""__eq__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> bool"""
8485  return _IMP_algebra.BoundedGridRange2D___eq__(self, arg2)
8486 
8487  def _get_as_binary(self):
8488  r"""_get_as_binary(BoundedGridRange2D self) -> PyObject *"""
8489  return _IMP_algebra.BoundedGridRange2D__get_as_binary(self)
8490 
8491  def _set_from_binary(self, p):
8492  r"""_set_from_binary(BoundedGridRange2D self, PyObject * p)"""
8493  return _IMP_algebra.BoundedGridRange2D__set_from_binary(self, p)
8494 
8495  def __getstate__(self):
8496  p = self._get_as_binary()
8497  if len(self.__dict__) > 1:
8498  d = self.__dict__.copy()
8499  del d['this']
8500  p = (d, p)
8501  return p
8502 
8503  def __setstate__(self, p):
8504  if not hasattr(self, 'this'):
8505  self.__init__()
8506  if isinstance(p, tuple):
8507  d, p = p
8508  self.__dict__.update(d)
8509  return self._set_from_binary(p)
8510 
8511  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange2D
8512 
8513 # Register BoundedGridRange2D in _IMP_algebra:
8514 _IMP_algebra.BoundedGridRange2D_swigregister(BoundedGridRange2D)
8515 class BoundedGridRange3D(object):
8516  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 3 > class."""
8517 
8518  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8519 
8520  @staticmethod
8521  def get_is_bounded():
8522  r"""get_is_bounded() -> bool"""
8523  return _IMP_algebra.BoundedGridRange3D_get_is_bounded()
8524 
8525  def __init__(self, *args):
8526  r"""
8527  __init__(BoundedGridRange3D self) -> BoundedGridRange3D
8528  __init__(BoundedGridRange3D self, IMP::Ints const & counts) -> BoundedGridRange3D
8529  """
8530  _IMP_algebra.BoundedGridRange3D_swiginit(self, _IMP_algebra.new_BoundedGridRange3D(*args))
8531 
8532  def get_number_of_voxels(self, *args):
8533  r"""
8534  get_number_of_voxels(BoundedGridRange3D self, unsigned int i) -> unsigned int
8535  get_number_of_voxels(BoundedGridRange3D self) -> unsigned int
8536  """
8537  return _IMP_algebra.BoundedGridRange3D_get_number_of_voxels(self, *args)
8538 
8539  def get_end_index(self):
8540  r"""get_end_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8541  return _IMP_algebra.BoundedGridRange3D_get_end_index(self)
8542 
8543  def show(self, *args):
8544  r"""show(BoundedGridRange3D self, _ostream out=std::cout)"""
8545  return _IMP_algebra.BoundedGridRange3D_show(self, *args)
8546 
8547  def get_all_indexes(self):
8548  r"""get_all_indexes(BoundedGridRange3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8549  return _IMP_algebra.BoundedGridRange3D_get_all_indexes(self)
8550 
8551  def get_indexes(self, lb, ub):
8552  r"""get_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
8553  return _IMP_algebra.BoundedGridRange3D_get_indexes(self, lb, ub)
8554 
8555  def get_extended_indexes(self, lb, ub):
8556  r"""get_extended_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
8557  return _IMP_algebra.BoundedGridRange3D_get_extended_indexes(self, lb, ub)
8558 
8559  def get_index(self, v):
8560  r"""get_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
8561  return _IMP_algebra.BoundedGridRange3D_get_index(self, v)
8562 
8563  def get_has_index(self, v):
8564  r"""get_has_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> bool"""
8565  return _IMP_algebra.BoundedGridRange3D_get_has_index(self, v)
8566 
8567  def get_minimum_extended_index(self):
8568  r"""get_minimum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8569  return _IMP_algebra.BoundedGridRange3D_get_minimum_extended_index(self)
8570 
8571  def get_maximum_extended_index(self):
8572  r"""get_maximum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
8573  return _IMP_algebra.BoundedGridRange3D_get_maximum_extended_index(self)
8574 
8575  def __str__(self):
8576  r"""__str__(BoundedGridRange3D self) -> std::string"""
8577  return _IMP_algebra.BoundedGridRange3D___str__(self)
8578 
8579  def __repr__(self):
8580  r"""__repr__(BoundedGridRange3D self) -> std::string"""
8581  return _IMP_algebra.BoundedGridRange3D___repr__(self)
8582 
8583  def __cmp__(self, arg2):
8584  r"""__cmp__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> int"""
8585  return _IMP_algebra.BoundedGridRange3D___cmp__(self, arg2)
8586 
8587  def __eq__(self, arg2):
8588  r"""__eq__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> bool"""
8589  return _IMP_algebra.BoundedGridRange3D___eq__(self, arg2)
8590 
8591  def _get_as_binary(self):
8592  r"""_get_as_binary(BoundedGridRange3D self) -> PyObject *"""
8593  return _IMP_algebra.BoundedGridRange3D__get_as_binary(self)
8594 
8595  def _set_from_binary(self, p):
8596  r"""_set_from_binary(BoundedGridRange3D self, PyObject * p)"""
8597  return _IMP_algebra.BoundedGridRange3D__set_from_binary(self, p)
8598 
8599  def __getstate__(self):
8600  p = self._get_as_binary()
8601  if len(self.__dict__) > 1:
8602  d = self.__dict__.copy()
8603  del d['this']
8604  p = (d, p)
8605  return p
8606 
8607  def __setstate__(self, p):
8608  if not hasattr(self, 'this'):
8609  self.__init__()
8610  if isinstance(p, tuple):
8611  d, p = p
8612  self.__dict__.update(d)
8613  return self._set_from_binary(p)
8614 
8615  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange3D
8616 
8617 # Register BoundedGridRange3D in _IMP_algebra:
8618 _IMP_algebra.BoundedGridRange3D_swigregister(BoundedGridRange3D)
8619 class BoundedGridRange4D(object):
8620  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 4 > class."""
8621 
8622  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8623 
8624  @staticmethod
8625  def get_is_bounded():
8626  r"""get_is_bounded() -> bool"""
8627  return _IMP_algebra.BoundedGridRange4D_get_is_bounded()
8628 
8629  def __init__(self, *args):
8630  r"""
8631  __init__(BoundedGridRange4D self) -> BoundedGridRange4D
8632  __init__(BoundedGridRange4D self, IMP::Ints const & counts) -> BoundedGridRange4D
8633  """
8634  _IMP_algebra.BoundedGridRange4D_swiginit(self, _IMP_algebra.new_BoundedGridRange4D(*args))
8635 
8636  def get_number_of_voxels(self, *args):
8637  r"""
8638  get_number_of_voxels(BoundedGridRange4D self, unsigned int i) -> unsigned int
8639  get_number_of_voxels(BoundedGridRange4D self) -> unsigned int
8640  """
8641  return _IMP_algebra.BoundedGridRange4D_get_number_of_voxels(self, *args)
8642 
8643  def get_end_index(self):
8644  r"""get_end_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8645  return _IMP_algebra.BoundedGridRange4D_get_end_index(self)
8646 
8647  def show(self, *args):
8648  r"""show(BoundedGridRange4D self, _ostream out=std::cout)"""
8649  return _IMP_algebra.BoundedGridRange4D_show(self, *args)
8650 
8651  def get_all_indexes(self):
8652  r"""get_all_indexes(BoundedGridRange4D self) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8653  return _IMP_algebra.BoundedGridRange4D_get_all_indexes(self)
8654 
8655  def get_indexes(self, lb, ub):
8656  r"""get_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
8657  return _IMP_algebra.BoundedGridRange4D_get_indexes(self, lb, ub)
8658 
8659  def get_extended_indexes(self, lb, ub):
8660  r"""get_extended_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
8661  return _IMP_algebra.BoundedGridRange4D_get_extended_indexes(self, lb, ub)
8662 
8663  def get_index(self, v):
8664  r"""get_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> GridIndex4D"""
8665  return _IMP_algebra.BoundedGridRange4D_get_index(self, v)
8666 
8667  def get_has_index(self, v):
8668  r"""get_has_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> bool"""
8669  return _IMP_algebra.BoundedGridRange4D_get_has_index(self, v)
8670 
8671  def get_minimum_extended_index(self):
8672  r"""get_minimum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8673  return _IMP_algebra.BoundedGridRange4D_get_minimum_extended_index(self)
8674 
8675  def get_maximum_extended_index(self):
8676  r"""get_maximum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
8677  return _IMP_algebra.BoundedGridRange4D_get_maximum_extended_index(self)
8678 
8679  def __str__(self):
8680  r"""__str__(BoundedGridRange4D self) -> std::string"""
8681  return _IMP_algebra.BoundedGridRange4D___str__(self)
8682 
8683  def __repr__(self):
8684  r"""__repr__(BoundedGridRange4D self) -> std::string"""
8685  return _IMP_algebra.BoundedGridRange4D___repr__(self)
8686 
8687  def __cmp__(self, arg2):
8688  r"""__cmp__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> int"""
8689  return _IMP_algebra.BoundedGridRange4D___cmp__(self, arg2)
8690 
8691  def __eq__(self, arg2):
8692  r"""__eq__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> bool"""
8693  return _IMP_algebra.BoundedGridRange4D___eq__(self, arg2)
8694 
8695  def _get_as_binary(self):
8696  r"""_get_as_binary(BoundedGridRange4D self) -> PyObject *"""
8697  return _IMP_algebra.BoundedGridRange4D__get_as_binary(self)
8698 
8699  def _set_from_binary(self, p):
8700  r"""_set_from_binary(BoundedGridRange4D self, PyObject * p)"""
8701  return _IMP_algebra.BoundedGridRange4D__set_from_binary(self, p)
8702 
8703  def __getstate__(self):
8704  p = self._get_as_binary()
8705  if len(self.__dict__) > 1:
8706  d = self.__dict__.copy()
8707  del d['this']
8708  p = (d, p)
8709  return p
8710 
8711  def __setstate__(self, p):
8712  if not hasattr(self, 'this'):
8713  self.__init__()
8714  if isinstance(p, tuple):
8715  d, p = p
8716  self.__dict__.update(d)
8717  return self._set_from_binary(p)
8718 
8719  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange4D
8720 
8721 # Register BoundedGridRange4D in _IMP_algebra:
8722 _IMP_algebra.BoundedGridRange4D_swigregister(BoundedGridRange4D)
8723 class BoundedGridRange5D(object):
8724  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 5 > class."""
8725 
8726  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8727 
8728  @staticmethod
8729  def get_is_bounded():
8730  r"""get_is_bounded() -> bool"""
8731  return _IMP_algebra.BoundedGridRange5D_get_is_bounded()
8732 
8733  def __init__(self, *args):
8734  r"""
8735  __init__(BoundedGridRange5D self) -> BoundedGridRange5D
8736  __init__(BoundedGridRange5D self, IMP::Ints const & counts) -> BoundedGridRange5D
8737  """
8738  _IMP_algebra.BoundedGridRange5D_swiginit(self, _IMP_algebra.new_BoundedGridRange5D(*args))
8739 
8740  def get_number_of_voxels(self, *args):
8741  r"""
8742  get_number_of_voxels(BoundedGridRange5D self, unsigned int i) -> unsigned int
8743  get_number_of_voxels(BoundedGridRange5D self) -> unsigned int
8744  """
8745  return _IMP_algebra.BoundedGridRange5D_get_number_of_voxels(self, *args)
8746 
8747  def get_end_index(self):
8748  r"""get_end_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8749  return _IMP_algebra.BoundedGridRange5D_get_end_index(self)
8750 
8751  def show(self, *args):
8752  r"""show(BoundedGridRange5D self, _ostream out=std::cout)"""
8753  return _IMP_algebra.BoundedGridRange5D_show(self, *args)
8754 
8755  def get_all_indexes(self):
8756  r"""get_all_indexes(BoundedGridRange5D self) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8757  return _IMP_algebra.BoundedGridRange5D_get_all_indexes(self)
8758 
8759  def get_indexes(self, lb, ub):
8760  r"""get_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
8761  return _IMP_algebra.BoundedGridRange5D_get_indexes(self, lb, ub)
8762 
8763  def get_extended_indexes(self, lb, ub):
8764  r"""get_extended_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
8765  return _IMP_algebra.BoundedGridRange5D_get_extended_indexes(self, lb, ub)
8766 
8767  def get_index(self, v):
8768  r"""get_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> GridIndex5D"""
8769  return _IMP_algebra.BoundedGridRange5D_get_index(self, v)
8770 
8771  def get_has_index(self, v):
8772  r"""get_has_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> bool"""
8773  return _IMP_algebra.BoundedGridRange5D_get_has_index(self, v)
8774 
8775  def get_minimum_extended_index(self):
8776  r"""get_minimum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8777  return _IMP_algebra.BoundedGridRange5D_get_minimum_extended_index(self)
8778 
8779  def get_maximum_extended_index(self):
8780  r"""get_maximum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
8781  return _IMP_algebra.BoundedGridRange5D_get_maximum_extended_index(self)
8782 
8783  def __str__(self):
8784  r"""__str__(BoundedGridRange5D self) -> std::string"""
8785  return _IMP_algebra.BoundedGridRange5D___str__(self)
8786 
8787  def __repr__(self):
8788  r"""__repr__(BoundedGridRange5D self) -> std::string"""
8789  return _IMP_algebra.BoundedGridRange5D___repr__(self)
8790 
8791  def __cmp__(self, arg2):
8792  r"""__cmp__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> int"""
8793  return _IMP_algebra.BoundedGridRange5D___cmp__(self, arg2)
8794 
8795  def __eq__(self, arg2):
8796  r"""__eq__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> bool"""
8797  return _IMP_algebra.BoundedGridRange5D___eq__(self, arg2)
8798 
8799  def _get_as_binary(self):
8800  r"""_get_as_binary(BoundedGridRange5D self) -> PyObject *"""
8801  return _IMP_algebra.BoundedGridRange5D__get_as_binary(self)
8802 
8803  def _set_from_binary(self, p):
8804  r"""_set_from_binary(BoundedGridRange5D self, PyObject * p)"""
8805  return _IMP_algebra.BoundedGridRange5D__set_from_binary(self, p)
8806 
8807  def __getstate__(self):
8808  p = self._get_as_binary()
8809  if len(self.__dict__) > 1:
8810  d = self.__dict__.copy()
8811  del d['this']
8812  p = (d, p)
8813  return p
8814 
8815  def __setstate__(self, p):
8816  if not hasattr(self, 'this'):
8817  self.__init__()
8818  if isinstance(p, tuple):
8819  d, p = p
8820  self.__dict__.update(d)
8821  return self._set_from_binary(p)
8822 
8823  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange5D
8824 
8825 # Register BoundedGridRange5D in _IMP_algebra:
8826 _IMP_algebra.BoundedGridRange5D_swigregister(BoundedGridRange5D)
8827 class BoundedGridRange6D(object):
8828  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 6 > class."""
8829 
8830  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8831 
8832  @staticmethod
8833  def get_is_bounded():
8834  r"""get_is_bounded() -> bool"""
8835  return _IMP_algebra.BoundedGridRange6D_get_is_bounded()
8836 
8837  def __init__(self, *args):
8838  r"""
8839  __init__(BoundedGridRange6D self) -> BoundedGridRange6D
8840  __init__(BoundedGridRange6D self, IMP::Ints const & counts) -> BoundedGridRange6D
8841  """
8842  _IMP_algebra.BoundedGridRange6D_swiginit(self, _IMP_algebra.new_BoundedGridRange6D(*args))
8843 
8844  def get_number_of_voxels(self, *args):
8845  r"""
8846  get_number_of_voxels(BoundedGridRange6D self, unsigned int i) -> unsigned int
8847  get_number_of_voxels(BoundedGridRange6D self) -> unsigned int
8848  """
8849  return _IMP_algebra.BoundedGridRange6D_get_number_of_voxels(self, *args)
8850 
8851  def get_end_index(self):
8852  r"""get_end_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8853  return _IMP_algebra.BoundedGridRange6D_get_end_index(self)
8854 
8855  def show(self, *args):
8856  r"""show(BoundedGridRange6D self, _ostream out=std::cout)"""
8857  return _IMP_algebra.BoundedGridRange6D_show(self, *args)
8858 
8859  def get_all_indexes(self):
8860  r"""get_all_indexes(BoundedGridRange6D self) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8861  return _IMP_algebra.BoundedGridRange6D_get_all_indexes(self)
8862 
8863  def get_indexes(self, lb, ub):
8864  r"""get_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
8865  return _IMP_algebra.BoundedGridRange6D_get_indexes(self, lb, ub)
8866 
8867  def get_extended_indexes(self, lb, ub):
8868  r"""get_extended_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
8869  return _IMP_algebra.BoundedGridRange6D_get_extended_indexes(self, lb, ub)
8870 
8871  def get_index(self, v):
8872  r"""get_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> GridIndex6D"""
8873  return _IMP_algebra.BoundedGridRange6D_get_index(self, v)
8874 
8875  def get_has_index(self, v):
8876  r"""get_has_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> bool"""
8877  return _IMP_algebra.BoundedGridRange6D_get_has_index(self, v)
8878 
8879  def get_minimum_extended_index(self):
8880  r"""get_minimum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8881  return _IMP_algebra.BoundedGridRange6D_get_minimum_extended_index(self)
8882 
8883  def get_maximum_extended_index(self):
8884  r"""get_maximum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
8885  return _IMP_algebra.BoundedGridRange6D_get_maximum_extended_index(self)
8886 
8887  def __str__(self):
8888  r"""__str__(BoundedGridRange6D self) -> std::string"""
8889  return _IMP_algebra.BoundedGridRange6D___str__(self)
8890 
8891  def __repr__(self):
8892  r"""__repr__(BoundedGridRange6D self) -> std::string"""
8893  return _IMP_algebra.BoundedGridRange6D___repr__(self)
8894 
8895  def __cmp__(self, arg2):
8896  r"""__cmp__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> int"""
8897  return _IMP_algebra.BoundedGridRange6D___cmp__(self, arg2)
8898 
8899  def __eq__(self, arg2):
8900  r"""__eq__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> bool"""
8901  return _IMP_algebra.BoundedGridRange6D___eq__(self, arg2)
8902 
8903  def _get_as_binary(self):
8904  r"""_get_as_binary(BoundedGridRange6D self) -> PyObject *"""
8905  return _IMP_algebra.BoundedGridRange6D__get_as_binary(self)
8906 
8907  def _set_from_binary(self, p):
8908  r"""_set_from_binary(BoundedGridRange6D self, PyObject * p)"""
8909  return _IMP_algebra.BoundedGridRange6D__set_from_binary(self, p)
8910 
8911  def __getstate__(self):
8912  p = self._get_as_binary()
8913  if len(self.__dict__) > 1:
8914  d = self.__dict__.copy()
8915  del d['this']
8916  p = (d, p)
8917  return p
8918 
8919  def __setstate__(self, p):
8920  if not hasattr(self, 'this'):
8921  self.__init__()
8922  if isinstance(p, tuple):
8923  d, p = p
8924  self.__dict__.update(d)
8925  return self._set_from_binary(p)
8926 
8927  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange6D
8928 
8929 # Register BoundedGridRange6D in _IMP_algebra:
8930 _IMP_algebra.BoundedGridRange6D_swigregister(BoundedGridRange6D)
8931 class BoundedGridRangeKD(object):
8932  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< -1 > class."""
8933 
8934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8935 
8936  @staticmethod
8937  def get_is_bounded():
8938  r"""get_is_bounded() -> bool"""
8939  return _IMP_algebra.BoundedGridRangeKD_get_is_bounded()
8940 
8941  def __init__(self, *args):
8942  r"""
8943  __init__(BoundedGridRangeKD self) -> BoundedGridRangeKD
8944  __init__(BoundedGridRangeKD self, IMP::Ints const & counts) -> BoundedGridRangeKD
8945  """
8946  _IMP_algebra.BoundedGridRangeKD_swiginit(self, _IMP_algebra.new_BoundedGridRangeKD(*args))
8947 
8948  def get_number_of_voxels(self, *args):
8949  r"""
8950  get_number_of_voxels(BoundedGridRangeKD self, unsigned int i) -> unsigned int
8951  get_number_of_voxels(BoundedGridRangeKD self) -> unsigned int
8952  """
8953  return _IMP_algebra.BoundedGridRangeKD_get_number_of_voxels(self, *args)
8954 
8955  def get_end_index(self):
8956  r"""get_end_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8957  return _IMP_algebra.BoundedGridRangeKD_get_end_index(self)
8958 
8959  def show(self, *args):
8960  r"""show(BoundedGridRangeKD self, _ostream out=std::cout)"""
8961  return _IMP_algebra.BoundedGridRangeKD_show(self, *args)
8962 
8963  def get_all_indexes(self):
8964  r"""get_all_indexes(BoundedGridRangeKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8965  return _IMP_algebra.BoundedGridRangeKD_get_all_indexes(self)
8966 
8967  def get_indexes(self, lb, ub):
8968  r"""get_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
8969  return _IMP_algebra.BoundedGridRangeKD_get_indexes(self, lb, ub)
8970 
8971  def get_extended_indexes(self, lb, ub):
8972  r"""get_extended_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
8973  return _IMP_algebra.BoundedGridRangeKD_get_extended_indexes(self, lb, ub)
8974 
8975  def get_index(self, v):
8976  r"""get_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
8977  return _IMP_algebra.BoundedGridRangeKD_get_index(self, v)
8978 
8979  def get_has_index(self, v):
8980  r"""get_has_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> bool"""
8981  return _IMP_algebra.BoundedGridRangeKD_get_has_index(self, v)
8982 
8983  def get_minimum_extended_index(self):
8984  r"""get_minimum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8985  return _IMP_algebra.BoundedGridRangeKD_get_minimum_extended_index(self)
8986 
8987  def get_maximum_extended_index(self):
8988  r"""get_maximum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
8989  return _IMP_algebra.BoundedGridRangeKD_get_maximum_extended_index(self)
8990 
8991  def __str__(self):
8992  r"""__str__(BoundedGridRangeKD self) -> std::string"""
8993  return _IMP_algebra.BoundedGridRangeKD___str__(self)
8994 
8995  def __repr__(self):
8996  r"""__repr__(BoundedGridRangeKD self) -> std::string"""
8997  return _IMP_algebra.BoundedGridRangeKD___repr__(self)
8998 
8999  def __cmp__(self, arg2):
9000  r"""__cmp__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> int"""
9001  return _IMP_algebra.BoundedGridRangeKD___cmp__(self, arg2)
9002 
9003  def __eq__(self, arg2):
9004  r"""__eq__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> bool"""
9005  return _IMP_algebra.BoundedGridRangeKD___eq__(self, arg2)
9006 
9007  def _get_as_binary(self):
9008  r"""_get_as_binary(BoundedGridRangeKD self) -> PyObject *"""
9009  return _IMP_algebra.BoundedGridRangeKD__get_as_binary(self)
9010 
9011  def _set_from_binary(self, p):
9012  r"""_set_from_binary(BoundedGridRangeKD self, PyObject * p)"""
9013  return _IMP_algebra.BoundedGridRangeKD__set_from_binary(self, p)
9014 
9015  def __getstate__(self):
9016  p = self._get_as_binary()
9017  if len(self.__dict__) > 1:
9018  d = self.__dict__.copy()
9019  del d['this']
9020  p = (d, p)
9021  return p
9022 
9023  def __setstate__(self, p):
9024  if not hasattr(self, 'this'):
9025  self.__init__()
9026  if isinstance(p, tuple):
9027  d, p = p
9028  self.__dict__.update(d)
9029  return self._set_from_binary(p)
9030 
9031  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRangeKD
9032 
9033 # Register BoundedGridRangeKD in _IMP_algebra:
9034 _IMP_algebra.BoundedGridRangeKD_swigregister(BoundedGridRangeKD)
9035 class UnboundedGridRange1D(object):
9036  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 1 > class."""
9037 
9038  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9039 
9040  def __init__(self, *args):
9041  r"""
9042  __init__(UnboundedGridRange1D self) -> UnboundedGridRange1D
9043  __init__(UnboundedGridRange1D self, IMP::Ints const & arg2) -> UnboundedGridRange1D
9044  """
9045  _IMP_algebra.UnboundedGridRange1D_swiginit(self, _IMP_algebra.new_UnboundedGridRange1D(*args))
9046 
9047  def set_number_of_voxels(self, arg2):
9048  r"""set_number_of_voxels(UnboundedGridRange1D self, IMP::Ints arg2)"""
9049  return _IMP_algebra.UnboundedGridRange1D_set_number_of_voxels(self, arg2)
9050 
9051  def get_number_of_voxels(self, arg2):
9052  r"""get_number_of_voxels(UnboundedGridRange1D self, int arg2) -> unsigned int"""
9053  return _IMP_algebra.UnboundedGridRange1D_get_number_of_voxels(self, arg2)
9054 
9055  @staticmethod
9056  def get_is_bounded():
9057  r"""get_is_bounded() -> bool"""
9058  return _IMP_algebra.UnboundedGridRange1D_get_is_bounded()
9059 
9060  def get_has_index(self, arg2):
9061  r"""get_has_index(UnboundedGridRange1D self, ExtendedGridIndex1D arg2) -> bool"""
9062  return _IMP_algebra.UnboundedGridRange1D_get_has_index(self, arg2)
9063 
9064  def show(self, *args):
9065  r"""show(UnboundedGridRange1D self, _ostream out=std::cout)"""
9066  return _IMP_algebra.UnboundedGridRange1D_show(self, *args)
9067 
9068  def get_extended_indexes(self, lb, ub):
9069  r"""get_extended_indexes(UnboundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
9070  return _IMP_algebra.UnboundedGridRange1D_get_extended_indexes(self, lb, ub)
9071 
9072  def __str__(self):
9073  r"""__str__(UnboundedGridRange1D self) -> std::string"""
9074  return _IMP_algebra.UnboundedGridRange1D___str__(self)
9075 
9076  def __repr__(self):
9077  r"""__repr__(UnboundedGridRange1D self) -> std::string"""
9078  return _IMP_algebra.UnboundedGridRange1D___repr__(self)
9079 
9080  def __cmp__(self, arg2):
9081  r"""__cmp__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> int"""
9082  return _IMP_algebra.UnboundedGridRange1D___cmp__(self, arg2)
9083 
9084  def __eq__(self, arg2):
9085  r"""__eq__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> bool"""
9086  return _IMP_algebra.UnboundedGridRange1D___eq__(self, arg2)
9087 
9088  def _get_as_binary(self):
9089  r"""_get_as_binary(UnboundedGridRange1D self) -> PyObject *"""
9090  return _IMP_algebra.UnboundedGridRange1D__get_as_binary(self)
9091 
9092  def _set_from_binary(self, p):
9093  r"""_set_from_binary(UnboundedGridRange1D self, PyObject * p)"""
9094  return _IMP_algebra.UnboundedGridRange1D__set_from_binary(self, p)
9095 
9096  def __getstate__(self):
9097  p = self._get_as_binary()
9098  if len(self.__dict__) > 1:
9099  d = self.__dict__.copy()
9100  del d['this']
9101  p = (d, p)
9102  return p
9103 
9104  def __setstate__(self, p):
9105  if not hasattr(self, 'this'):
9106  self.__init__()
9107  if isinstance(p, tuple):
9108  d, p = p
9109  self.__dict__.update(d)
9110  return self._set_from_binary(p)
9111 
9112  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange1D
9113 
9114 # Register UnboundedGridRange1D in _IMP_algebra:
9115 _IMP_algebra.UnboundedGridRange1D_swigregister(UnboundedGridRange1D)
9116 class UnboundedGridRange2D(object):
9117  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 2 > class."""
9118 
9119  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9120 
9121  def __init__(self, *args):
9122  r"""
9123  __init__(UnboundedGridRange2D self) -> UnboundedGridRange2D
9124  __init__(UnboundedGridRange2D self, IMP::Ints const & arg2) -> UnboundedGridRange2D
9125  """
9126  _IMP_algebra.UnboundedGridRange2D_swiginit(self, _IMP_algebra.new_UnboundedGridRange2D(*args))
9127 
9128  def set_number_of_voxels(self, arg2):
9129  r"""set_number_of_voxels(UnboundedGridRange2D self, IMP::Ints arg2)"""
9130  return _IMP_algebra.UnboundedGridRange2D_set_number_of_voxels(self, arg2)
9131 
9132  def get_number_of_voxels(self, arg2):
9133  r"""get_number_of_voxels(UnboundedGridRange2D self, int arg2) -> unsigned int"""
9134  return _IMP_algebra.UnboundedGridRange2D_get_number_of_voxels(self, arg2)
9135 
9136  @staticmethod
9137  def get_is_bounded():
9138  r"""get_is_bounded() -> bool"""
9139  return _IMP_algebra.UnboundedGridRange2D_get_is_bounded()
9140 
9141  def get_has_index(self, arg2):
9142  r"""get_has_index(UnboundedGridRange2D self, ExtendedGridIndex2D arg2) -> bool"""
9143  return _IMP_algebra.UnboundedGridRange2D_get_has_index(self, arg2)
9144 
9145  def show(self, *args):
9146  r"""show(UnboundedGridRange2D self, _ostream out=std::cout)"""
9147  return _IMP_algebra.UnboundedGridRange2D_show(self, *args)
9148 
9149  def get_extended_indexes(self, lb, ub):
9150  r"""get_extended_indexes(UnboundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
9151  return _IMP_algebra.UnboundedGridRange2D_get_extended_indexes(self, lb, ub)
9152 
9153  def __str__(self):
9154  r"""__str__(UnboundedGridRange2D self) -> std::string"""
9155  return _IMP_algebra.UnboundedGridRange2D___str__(self)
9156 
9157  def __repr__(self):
9158  r"""__repr__(UnboundedGridRange2D self) -> std::string"""
9159  return _IMP_algebra.UnboundedGridRange2D___repr__(self)
9160 
9161  def __cmp__(self, arg2):
9162  r"""__cmp__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> int"""
9163  return _IMP_algebra.UnboundedGridRange2D___cmp__(self, arg2)
9164 
9165  def __eq__(self, arg2):
9166  r"""__eq__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> bool"""
9167  return _IMP_algebra.UnboundedGridRange2D___eq__(self, arg2)
9168 
9169  def _get_as_binary(self):
9170  r"""_get_as_binary(UnboundedGridRange2D self) -> PyObject *"""
9171  return _IMP_algebra.UnboundedGridRange2D__get_as_binary(self)
9172 
9173  def _set_from_binary(self, p):
9174  r"""_set_from_binary(UnboundedGridRange2D self, PyObject * p)"""
9175  return _IMP_algebra.UnboundedGridRange2D__set_from_binary(self, p)
9176 
9177  def __getstate__(self):
9178  p = self._get_as_binary()
9179  if len(self.__dict__) > 1:
9180  d = self.__dict__.copy()
9181  del d['this']
9182  p = (d, p)
9183  return p
9184 
9185  def __setstate__(self, p):
9186  if not hasattr(self, 'this'):
9187  self.__init__()
9188  if isinstance(p, tuple):
9189  d, p = p
9190  self.__dict__.update(d)
9191  return self._set_from_binary(p)
9192 
9193  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange2D
9194 
9195 # Register UnboundedGridRange2D in _IMP_algebra:
9196 _IMP_algebra.UnboundedGridRange2D_swigregister(UnboundedGridRange2D)
9197 class UnboundedGridRange3D(object):
9198  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 3 > class."""
9199 
9200  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9201 
9202  def __init__(self, *args):
9203  r"""
9204  __init__(UnboundedGridRange3D self) -> UnboundedGridRange3D
9205  __init__(UnboundedGridRange3D self, IMP::Ints const & arg2) -> UnboundedGridRange3D
9206  """
9207  _IMP_algebra.UnboundedGridRange3D_swiginit(self, _IMP_algebra.new_UnboundedGridRange3D(*args))
9208 
9209  def set_number_of_voxels(self, arg2):
9210  r"""set_number_of_voxels(UnboundedGridRange3D self, IMP::Ints arg2)"""
9211  return _IMP_algebra.UnboundedGridRange3D_set_number_of_voxels(self, arg2)
9212 
9213  def get_number_of_voxels(self, arg2):
9214  r"""get_number_of_voxels(UnboundedGridRange3D self, int arg2) -> unsigned int"""
9215  return _IMP_algebra.UnboundedGridRange3D_get_number_of_voxels(self, arg2)
9216 
9217  @staticmethod
9218  def get_is_bounded():
9219  r"""get_is_bounded() -> bool"""
9220  return _IMP_algebra.UnboundedGridRange3D_get_is_bounded()
9221 
9222  def get_has_index(self, arg2):
9223  r"""get_has_index(UnboundedGridRange3D self, ExtendedGridIndex3D arg2) -> bool"""
9224  return _IMP_algebra.UnboundedGridRange3D_get_has_index(self, arg2)
9225 
9226  def show(self, *args):
9227  r"""show(UnboundedGridRange3D self, _ostream out=std::cout)"""
9228  return _IMP_algebra.UnboundedGridRange3D_show(self, *args)
9229 
9230  def get_extended_indexes(self, lb, ub):
9231  r"""get_extended_indexes(UnboundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
9232  return _IMP_algebra.UnboundedGridRange3D_get_extended_indexes(self, lb, ub)
9233 
9234  def __str__(self):
9235  r"""__str__(UnboundedGridRange3D self) -> std::string"""
9236  return _IMP_algebra.UnboundedGridRange3D___str__(self)
9237 
9238  def __repr__(self):
9239  r"""__repr__(UnboundedGridRange3D self) -> std::string"""
9240  return _IMP_algebra.UnboundedGridRange3D___repr__(self)
9241 
9242  def __cmp__(self, arg2):
9243  r"""__cmp__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> int"""
9244  return _IMP_algebra.UnboundedGridRange3D___cmp__(self, arg2)
9245 
9246  def __eq__(self, arg2):
9247  r"""__eq__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> bool"""
9248  return _IMP_algebra.UnboundedGridRange3D___eq__(self, arg2)
9249 
9250  def _get_as_binary(self):
9251  r"""_get_as_binary(UnboundedGridRange3D self) -> PyObject *"""
9252  return _IMP_algebra.UnboundedGridRange3D__get_as_binary(self)
9253 
9254  def _set_from_binary(self, p):
9255  r"""_set_from_binary(UnboundedGridRange3D self, PyObject * p)"""
9256  return _IMP_algebra.UnboundedGridRange3D__set_from_binary(self, p)
9257 
9258  def __getstate__(self):
9259  p = self._get_as_binary()
9260  if len(self.__dict__) > 1:
9261  d = self.__dict__.copy()
9262  del d['this']
9263  p = (d, p)
9264  return p
9265 
9266  def __setstate__(self, p):
9267  if not hasattr(self, 'this'):
9268  self.__init__()
9269  if isinstance(p, tuple):
9270  d, p = p
9271  self.__dict__.update(d)
9272  return self._set_from_binary(p)
9273 
9274  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange3D
9275 
9276 # Register UnboundedGridRange3D in _IMP_algebra:
9277 _IMP_algebra.UnboundedGridRange3D_swigregister(UnboundedGridRange3D)
9278 class UnboundedGridRange4D(object):
9279  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 4 > class."""
9280 
9281  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9282 
9283  def __init__(self, *args):
9284  r"""
9285  __init__(UnboundedGridRange4D self) -> UnboundedGridRange4D
9286  __init__(UnboundedGridRange4D self, IMP::Ints const & arg2) -> UnboundedGridRange4D
9287  """
9288  _IMP_algebra.UnboundedGridRange4D_swiginit(self, _IMP_algebra.new_UnboundedGridRange4D(*args))
9289 
9290  def set_number_of_voxels(self, arg2):
9291  r"""set_number_of_voxels(UnboundedGridRange4D self, IMP::Ints arg2)"""
9292  return _IMP_algebra.UnboundedGridRange4D_set_number_of_voxels(self, arg2)
9293 
9294  def get_number_of_voxels(self, arg2):
9295  r"""get_number_of_voxels(UnboundedGridRange4D self, int arg2) -> unsigned int"""
9296  return _IMP_algebra.UnboundedGridRange4D_get_number_of_voxels(self, arg2)
9297 
9298  @staticmethod
9299  def get_is_bounded():
9300  r"""get_is_bounded() -> bool"""
9301  return _IMP_algebra.UnboundedGridRange4D_get_is_bounded()
9302 
9303  def get_has_index(self, arg2):
9304  r"""get_has_index(UnboundedGridRange4D self, ExtendedGridIndex4D arg2) -> bool"""
9305  return _IMP_algebra.UnboundedGridRange4D_get_has_index(self, arg2)
9306 
9307  def show(self, *args):
9308  r"""show(UnboundedGridRange4D self, _ostream out=std::cout)"""
9309  return _IMP_algebra.UnboundedGridRange4D_show(self, *args)
9310 
9311  def get_extended_indexes(self, lb, ub):
9312  r"""get_extended_indexes(UnboundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
9313  return _IMP_algebra.UnboundedGridRange4D_get_extended_indexes(self, lb, ub)
9314 
9315  def __str__(self):
9316  r"""__str__(UnboundedGridRange4D self) -> std::string"""
9317  return _IMP_algebra.UnboundedGridRange4D___str__(self)
9318 
9319  def __repr__(self):
9320  r"""__repr__(UnboundedGridRange4D self) -> std::string"""
9321  return _IMP_algebra.UnboundedGridRange4D___repr__(self)
9322 
9323  def __cmp__(self, arg2):
9324  r"""__cmp__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> int"""
9325  return _IMP_algebra.UnboundedGridRange4D___cmp__(self, arg2)
9326 
9327  def __eq__(self, arg2):
9328  r"""__eq__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> bool"""
9329  return _IMP_algebra.UnboundedGridRange4D___eq__(self, arg2)
9330 
9331  def _get_as_binary(self):
9332  r"""_get_as_binary(UnboundedGridRange4D self) -> PyObject *"""
9333  return _IMP_algebra.UnboundedGridRange4D__get_as_binary(self)
9334 
9335  def _set_from_binary(self, p):
9336  r"""_set_from_binary(UnboundedGridRange4D self, PyObject * p)"""
9337  return _IMP_algebra.UnboundedGridRange4D__set_from_binary(self, p)
9338 
9339  def __getstate__(self):
9340  p = self._get_as_binary()
9341  if len(self.__dict__) > 1:
9342  d = self.__dict__.copy()
9343  del d['this']
9344  p = (d, p)
9345  return p
9346 
9347  def __setstate__(self, p):
9348  if not hasattr(self, 'this'):
9349  self.__init__()
9350  if isinstance(p, tuple):
9351  d, p = p
9352  self.__dict__.update(d)
9353  return self._set_from_binary(p)
9354 
9355  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange4D
9356 
9357 # Register UnboundedGridRange4D in _IMP_algebra:
9358 _IMP_algebra.UnboundedGridRange4D_swigregister(UnboundedGridRange4D)
9359 class UnboundedGridRange5D(object):
9360  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 5 > class."""
9361 
9362  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9363 
9364  def __init__(self, *args):
9365  r"""
9366  __init__(UnboundedGridRange5D self) -> UnboundedGridRange5D
9367  __init__(UnboundedGridRange5D self, IMP::Ints const & arg2) -> UnboundedGridRange5D
9368  """
9369  _IMP_algebra.UnboundedGridRange5D_swiginit(self, _IMP_algebra.new_UnboundedGridRange5D(*args))
9370 
9371  def set_number_of_voxels(self, arg2):
9372  r"""set_number_of_voxels(UnboundedGridRange5D self, IMP::Ints arg2)"""
9373  return _IMP_algebra.UnboundedGridRange5D_set_number_of_voxels(self, arg2)
9374 
9375  def get_number_of_voxels(self, arg2):
9376  r"""get_number_of_voxels(UnboundedGridRange5D self, int arg2) -> unsigned int"""
9377  return _IMP_algebra.UnboundedGridRange5D_get_number_of_voxels(self, arg2)
9378 
9379  @staticmethod
9380  def get_is_bounded():
9381  r"""get_is_bounded() -> bool"""
9382  return _IMP_algebra.UnboundedGridRange5D_get_is_bounded()
9383 
9384  def get_has_index(self, arg2):
9385  r"""get_has_index(UnboundedGridRange5D self, ExtendedGridIndex5D arg2) -> bool"""
9386  return _IMP_algebra.UnboundedGridRange5D_get_has_index(self, arg2)
9387 
9388  def show(self, *args):
9389  r"""show(UnboundedGridRange5D self, _ostream out=std::cout)"""
9390  return _IMP_algebra.UnboundedGridRange5D_show(self, *args)
9391 
9392  def get_extended_indexes(self, lb, ub):
9393  r"""get_extended_indexes(UnboundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
9394  return _IMP_algebra.UnboundedGridRange5D_get_extended_indexes(self, lb, ub)
9395 
9396  def __str__(self):
9397  r"""__str__(UnboundedGridRange5D self) -> std::string"""
9398  return _IMP_algebra.UnboundedGridRange5D___str__(self)
9399 
9400  def __repr__(self):
9401  r"""__repr__(UnboundedGridRange5D self) -> std::string"""
9402  return _IMP_algebra.UnboundedGridRange5D___repr__(self)
9403 
9404  def __cmp__(self, arg2):
9405  r"""__cmp__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> int"""
9406  return _IMP_algebra.UnboundedGridRange5D___cmp__(self, arg2)
9407 
9408  def __eq__(self, arg2):
9409  r"""__eq__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> bool"""
9410  return _IMP_algebra.UnboundedGridRange5D___eq__(self, arg2)
9411 
9412  def _get_as_binary(self):
9413  r"""_get_as_binary(UnboundedGridRange5D self) -> PyObject *"""
9414  return _IMP_algebra.UnboundedGridRange5D__get_as_binary(self)
9415 
9416  def _set_from_binary(self, p):
9417  r"""_set_from_binary(UnboundedGridRange5D self, PyObject * p)"""
9418  return _IMP_algebra.UnboundedGridRange5D__set_from_binary(self, p)
9419 
9420  def __getstate__(self):
9421  p = self._get_as_binary()
9422  if len(self.__dict__) > 1:
9423  d = self.__dict__.copy()
9424  del d['this']
9425  p = (d, p)
9426  return p
9427 
9428  def __setstate__(self, p):
9429  if not hasattr(self, 'this'):
9430  self.__init__()
9431  if isinstance(p, tuple):
9432  d, p = p
9433  self.__dict__.update(d)
9434  return self._set_from_binary(p)
9435 
9436  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange5D
9437 
9438 # Register UnboundedGridRange5D in _IMP_algebra:
9439 _IMP_algebra.UnboundedGridRange5D_swigregister(UnboundedGridRange5D)
9440 class UnboundedGridRange6D(object):
9441  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 6 > class."""
9442 
9443  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9444 
9445  def __init__(self, *args):
9446  r"""
9447  __init__(UnboundedGridRange6D self) -> UnboundedGridRange6D
9448  __init__(UnboundedGridRange6D self, IMP::Ints const & arg2) -> UnboundedGridRange6D
9449  """
9450  _IMP_algebra.UnboundedGridRange6D_swiginit(self, _IMP_algebra.new_UnboundedGridRange6D(*args))
9451 
9452  def set_number_of_voxels(self, arg2):
9453  r"""set_number_of_voxels(UnboundedGridRange6D self, IMP::Ints arg2)"""
9454  return _IMP_algebra.UnboundedGridRange6D_set_number_of_voxels(self, arg2)
9455 
9456  def get_number_of_voxels(self, arg2):
9457  r"""get_number_of_voxels(UnboundedGridRange6D self, int arg2) -> unsigned int"""
9458  return _IMP_algebra.UnboundedGridRange6D_get_number_of_voxels(self, arg2)
9459 
9460  @staticmethod
9461  def get_is_bounded():
9462  r"""get_is_bounded() -> bool"""
9463  return _IMP_algebra.UnboundedGridRange6D_get_is_bounded()
9464 
9465  def get_has_index(self, arg2):
9466  r"""get_has_index(UnboundedGridRange6D self, ExtendedGridIndex6D arg2) -> bool"""
9467  return _IMP_algebra.UnboundedGridRange6D_get_has_index(self, arg2)
9468 
9469  def show(self, *args):
9470  r"""show(UnboundedGridRange6D self, _ostream out=std::cout)"""
9471  return _IMP_algebra.UnboundedGridRange6D_show(self, *args)
9472 
9473  def get_extended_indexes(self, lb, ub):
9474  r"""get_extended_indexes(UnboundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
9475  return _IMP_algebra.UnboundedGridRange6D_get_extended_indexes(self, lb, ub)
9476 
9477  def __str__(self):
9478  r"""__str__(UnboundedGridRange6D self) -> std::string"""
9479  return _IMP_algebra.UnboundedGridRange6D___str__(self)
9480 
9481  def __repr__(self):
9482  r"""__repr__(UnboundedGridRange6D self) -> std::string"""
9483  return _IMP_algebra.UnboundedGridRange6D___repr__(self)
9484 
9485  def __cmp__(self, arg2):
9486  r"""__cmp__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> int"""
9487  return _IMP_algebra.UnboundedGridRange6D___cmp__(self, arg2)
9488 
9489  def __eq__(self, arg2):
9490  r"""__eq__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> bool"""
9491  return _IMP_algebra.UnboundedGridRange6D___eq__(self, arg2)
9492 
9493  def _get_as_binary(self):
9494  r"""_get_as_binary(UnboundedGridRange6D self) -> PyObject *"""
9495  return _IMP_algebra.UnboundedGridRange6D__get_as_binary(self)
9496 
9497  def _set_from_binary(self, p):
9498  r"""_set_from_binary(UnboundedGridRange6D self, PyObject * p)"""
9499  return _IMP_algebra.UnboundedGridRange6D__set_from_binary(self, p)
9500 
9501  def __getstate__(self):
9502  p = self._get_as_binary()
9503  if len(self.__dict__) > 1:
9504  d = self.__dict__.copy()
9505  del d['this']
9506  p = (d, p)
9507  return p
9508 
9509  def __setstate__(self, p):
9510  if not hasattr(self, 'this'):
9511  self.__init__()
9512  if isinstance(p, tuple):
9513  d, p = p
9514  self.__dict__.update(d)
9515  return self._set_from_binary(p)
9516 
9517  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange6D
9518 
9519 # Register UnboundedGridRange6D in _IMP_algebra:
9520 _IMP_algebra.UnboundedGridRange6D_swigregister(UnboundedGridRange6D)
9521 class UnboundedGridRangeKD(object):
9522  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< -1 > class."""
9523 
9524  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9525 
9526  def __init__(self, *args):
9527  r"""
9528  __init__(UnboundedGridRangeKD self) -> UnboundedGridRangeKD
9529  __init__(UnboundedGridRangeKD self, IMP::Ints const & arg2) -> UnboundedGridRangeKD
9530  """
9531  _IMP_algebra.UnboundedGridRangeKD_swiginit(self, _IMP_algebra.new_UnboundedGridRangeKD(*args))
9532 
9533  def set_number_of_voxels(self, arg2):
9534  r"""set_number_of_voxels(UnboundedGridRangeKD self, IMP::Ints arg2)"""
9535  return _IMP_algebra.UnboundedGridRangeKD_set_number_of_voxels(self, arg2)
9536 
9537  def get_number_of_voxels(self, arg2):
9538  r"""get_number_of_voxels(UnboundedGridRangeKD self, int arg2) -> unsigned int"""
9539  return _IMP_algebra.UnboundedGridRangeKD_get_number_of_voxels(self, arg2)
9540 
9541  @staticmethod
9542  def get_is_bounded():
9543  r"""get_is_bounded() -> bool"""
9544  return _IMP_algebra.UnboundedGridRangeKD_get_is_bounded()
9545 
9546  def get_has_index(self, arg2):
9547  r"""get_has_index(UnboundedGridRangeKD self, ExtendedGridIndexKD arg2) -> bool"""
9548  return _IMP_algebra.UnboundedGridRangeKD_get_has_index(self, arg2)
9549 
9550  def show(self, *args):
9551  r"""show(UnboundedGridRangeKD self, _ostream out=std::cout)"""
9552  return _IMP_algebra.UnboundedGridRangeKD_show(self, *args)
9553 
9554  def get_extended_indexes(self, lb, ub):
9555  r"""get_extended_indexes(UnboundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
9556  return _IMP_algebra.UnboundedGridRangeKD_get_extended_indexes(self, lb, ub)
9557 
9558  def __str__(self):
9559  r"""__str__(UnboundedGridRangeKD self) -> std::string"""
9560  return _IMP_algebra.UnboundedGridRangeKD___str__(self)
9561 
9562  def __repr__(self):
9563  r"""__repr__(UnboundedGridRangeKD self) -> std::string"""
9564  return _IMP_algebra.UnboundedGridRangeKD___repr__(self)
9565 
9566  def __cmp__(self, arg2):
9567  r"""__cmp__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> int"""
9568  return _IMP_algebra.UnboundedGridRangeKD___cmp__(self, arg2)
9569 
9570  def __eq__(self, arg2):
9571  r"""__eq__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> bool"""
9572  return _IMP_algebra.UnboundedGridRangeKD___eq__(self, arg2)
9573 
9574  def _get_as_binary(self):
9575  r"""_get_as_binary(UnboundedGridRangeKD self) -> PyObject *"""
9576  return _IMP_algebra.UnboundedGridRangeKD__get_as_binary(self)
9577 
9578  def _set_from_binary(self, p):
9579  r"""_set_from_binary(UnboundedGridRangeKD self, PyObject * p)"""
9580  return _IMP_algebra.UnboundedGridRangeKD__set_from_binary(self, p)
9581 
9582  def __getstate__(self):
9583  p = self._get_as_binary()
9584  if len(self.__dict__) > 1:
9585  d = self.__dict__.copy()
9586  del d['this']
9587  p = (d, p)
9588  return p
9589 
9590  def __setstate__(self, p):
9591  if not hasattr(self, 'this'):
9592  self.__init__()
9593  if isinstance(p, tuple):
9594  d, p = p
9595  self.__dict__.update(d)
9596  return self._set_from_binary(p)
9597 
9598  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRangeKD
9599 
9600 # Register UnboundedGridRangeKD in _IMP_algebra:
9601 _IMP_algebra.UnboundedGridRangeKD_swigregister(UnboundedGridRangeKD)
9602 class DefaultEmbedding1D(object):
9603  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 1 > class."""
9604 
9605  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9606 
9607  def __init__(self, *args):
9608  r"""
9609  __init__(DefaultEmbedding1D self, Vector1D origin, Vector1D cell) -> DefaultEmbedding1D
9610  __init__(DefaultEmbedding1D self) -> DefaultEmbedding1D
9611  """
9612  _IMP_algebra.DefaultEmbedding1D_swiginit(self, _IMP_algebra.new_DefaultEmbedding1D(*args))
9613 
9614  def set_origin(self, o):
9615  r"""set_origin(DefaultEmbedding1D self, Vector1D o)"""
9616  return _IMP_algebra.DefaultEmbedding1D_set_origin(self, o)
9617 
9618  def get_origin(self):
9619  r"""get_origin(DefaultEmbedding1D self) -> Vector1D"""
9620  return _IMP_algebra.DefaultEmbedding1D_get_origin(self)
9621 
9622  def get_dimension(self):
9623  r"""get_dimension(DefaultEmbedding1D self) -> unsigned int"""
9624  return _IMP_algebra.DefaultEmbedding1D_get_dimension(self)
9625 
9626  def set_unit_cell(self, o):
9627  r"""set_unit_cell(DefaultEmbedding1D self, Vector1D o)"""
9628  return _IMP_algebra.DefaultEmbedding1D_set_unit_cell(self, o)
9629 
9630  def get_inverse_unit_cell(self):
9631  r"""get_inverse_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9632  return _IMP_algebra.DefaultEmbedding1D_get_inverse_unit_cell(self)
9633 
9634  def get_unit_cell(self):
9635  r"""get_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
9636  return _IMP_algebra.DefaultEmbedding1D_get_unit_cell(self)
9637 
9638  def get_extended_index(self, o):
9639  r"""get_extended_index(DefaultEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
9640  return _IMP_algebra.DefaultEmbedding1D_get_extended_index(self, o)
9641 
9642  def get_index(self, o):
9643  r"""get_index(DefaultEmbedding1D self, Vector1D o) -> GridIndex1D"""
9644  return _IMP_algebra.DefaultEmbedding1D_get_index(self, o)
9645 
9646  def get_center(self, *args):
9647  r"""
9648  get_center(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
9649  get_center(DefaultEmbedding1D self, GridIndex1D ei) -> Vector1D
9650  """
9651  return _IMP_algebra.DefaultEmbedding1D_get_center(self, *args)
9652 
9653  def get_bounding_box(self, *args):
9654  r"""
9655  get_bounding_box(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
9656  get_bounding_box(DefaultEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
9657  """
9658  return _IMP_algebra.DefaultEmbedding1D_get_bounding_box(self, *args)
9659 
9660  def show(self, *args):
9661  r"""show(DefaultEmbedding1D self, _ostream out=std::cout)"""
9662  return _IMP_algebra.DefaultEmbedding1D_show(self, *args)
9663 
9664  def __str__(self):
9665  r"""__str__(DefaultEmbedding1D self) -> std::string"""
9666  return _IMP_algebra.DefaultEmbedding1D___str__(self)
9667 
9668  def __repr__(self):
9669  r"""__repr__(DefaultEmbedding1D self) -> std::string"""
9670  return _IMP_algebra.DefaultEmbedding1D___repr__(self)
9671 
9672  def __cmp__(self, arg2):
9673  r"""__cmp__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> int"""
9674  return _IMP_algebra.DefaultEmbedding1D___cmp__(self, arg2)
9675 
9676  def __eq__(self, arg2):
9677  r"""__eq__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> bool"""
9678  return _IMP_algebra.DefaultEmbedding1D___eq__(self, arg2)
9679 
9680  def _get_as_binary(self):
9681  r"""_get_as_binary(DefaultEmbedding1D self) -> PyObject *"""
9682  return _IMP_algebra.DefaultEmbedding1D__get_as_binary(self)
9683 
9684  def _set_from_binary(self, p):
9685  r"""_set_from_binary(DefaultEmbedding1D self, PyObject * p)"""
9686  return _IMP_algebra.DefaultEmbedding1D__set_from_binary(self, p)
9687 
9688  def __getstate__(self):
9689  p = self._get_as_binary()
9690  if len(self.__dict__) > 1:
9691  d = self.__dict__.copy()
9692  del d['this']
9693  p = (d, p)
9694  return p
9695 
9696  def __setstate__(self, p):
9697  if not hasattr(self, 'this'):
9698  self.__init__()
9699  if isinstance(p, tuple):
9700  d, p = p
9701  self.__dict__.update(d)
9702  return self._set_from_binary(p)
9703 
9704  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding1D
9705 
9706 # Register DefaultEmbedding1D in _IMP_algebra:
9707 _IMP_algebra.DefaultEmbedding1D_swigregister(DefaultEmbedding1D)
9708 class DefaultEmbedding2D(object):
9709  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 2 > class."""
9710 
9711  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9712 
9713  def __init__(self, *args):
9714  r"""
9715  __init__(DefaultEmbedding2D self, Vector2D origin, Vector2D cell) -> DefaultEmbedding2D
9716  __init__(DefaultEmbedding2D self) -> DefaultEmbedding2D
9717  """
9718  _IMP_algebra.DefaultEmbedding2D_swiginit(self, _IMP_algebra.new_DefaultEmbedding2D(*args))
9719 
9720  def set_origin(self, o):
9721  r"""set_origin(DefaultEmbedding2D self, Vector2D o)"""
9722  return _IMP_algebra.DefaultEmbedding2D_set_origin(self, o)
9723 
9724  def get_origin(self):
9725  r"""get_origin(DefaultEmbedding2D self) -> Vector2D"""
9726  return _IMP_algebra.DefaultEmbedding2D_get_origin(self)
9727 
9728  def get_dimension(self):
9729  r"""get_dimension(DefaultEmbedding2D self) -> unsigned int"""
9730  return _IMP_algebra.DefaultEmbedding2D_get_dimension(self)
9731 
9732  def set_unit_cell(self, o):
9733  r"""set_unit_cell(DefaultEmbedding2D self, Vector2D o)"""
9734  return _IMP_algebra.DefaultEmbedding2D_set_unit_cell(self, o)
9735 
9736  def get_inverse_unit_cell(self):
9737  r"""get_inverse_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9738  return _IMP_algebra.DefaultEmbedding2D_get_inverse_unit_cell(self)
9739 
9740  def get_unit_cell(self):
9741  r"""get_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
9742  return _IMP_algebra.DefaultEmbedding2D_get_unit_cell(self)
9743 
9744  def get_extended_index(self, o):
9745  r"""get_extended_index(DefaultEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
9746  return _IMP_algebra.DefaultEmbedding2D_get_extended_index(self, o)
9747 
9748  def get_index(self, o):
9749  r"""get_index(DefaultEmbedding2D self, Vector2D o) -> GridIndex2D"""
9750  return _IMP_algebra.DefaultEmbedding2D_get_index(self, o)
9751 
9752  def get_center(self, *args):
9753  r"""
9754  get_center(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
9755  get_center(DefaultEmbedding2D self, GridIndex2D ei) -> Vector2D
9756  """
9757  return _IMP_algebra.DefaultEmbedding2D_get_center(self, *args)
9758 
9759  def get_bounding_box(self, *args):
9760  r"""
9761  get_bounding_box(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
9762  get_bounding_box(DefaultEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
9763  """
9764  return _IMP_algebra.DefaultEmbedding2D_get_bounding_box(self, *args)
9765 
9766  def show(self, *args):
9767  r"""show(DefaultEmbedding2D self, _ostream out=std::cout)"""
9768  return _IMP_algebra.DefaultEmbedding2D_show(self, *args)
9769 
9770  def __str__(self):
9771  r"""__str__(DefaultEmbedding2D self) -> std::string"""
9772  return _IMP_algebra.DefaultEmbedding2D___str__(self)
9773 
9774  def __repr__(self):
9775  r"""__repr__(DefaultEmbedding2D self) -> std::string"""
9776  return _IMP_algebra.DefaultEmbedding2D___repr__(self)
9777 
9778  def __cmp__(self, arg2):
9779  r"""__cmp__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> int"""
9780  return _IMP_algebra.DefaultEmbedding2D___cmp__(self, arg2)
9781 
9782  def __eq__(self, arg2):
9783  r"""__eq__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> bool"""
9784  return _IMP_algebra.DefaultEmbedding2D___eq__(self, arg2)
9785 
9786  def _get_as_binary(self):
9787  r"""_get_as_binary(DefaultEmbedding2D self) -> PyObject *"""
9788  return _IMP_algebra.DefaultEmbedding2D__get_as_binary(self)
9789 
9790  def _set_from_binary(self, p):
9791  r"""_set_from_binary(DefaultEmbedding2D self, PyObject * p)"""
9792  return _IMP_algebra.DefaultEmbedding2D__set_from_binary(self, p)
9793 
9794  def __getstate__(self):
9795  p = self._get_as_binary()
9796  if len(self.__dict__) > 1:
9797  d = self.__dict__.copy()
9798  del d['this']
9799  p = (d, p)
9800  return p
9801 
9802  def __setstate__(self, p):
9803  if not hasattr(self, 'this'):
9804  self.__init__()
9805  if isinstance(p, tuple):
9806  d, p = p
9807  self.__dict__.update(d)
9808  return self._set_from_binary(p)
9809 
9810  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding2D
9811 
9812 # Register DefaultEmbedding2D in _IMP_algebra:
9813 _IMP_algebra.DefaultEmbedding2D_swigregister(DefaultEmbedding2D)
9814 class DefaultEmbedding3D(object):
9815  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 3 > class."""
9816 
9817  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9818 
9819  def __init__(self, *args):
9820  r"""
9821  __init__(DefaultEmbedding3D self, Vector3D origin, Vector3D cell) -> DefaultEmbedding3D
9822  __init__(DefaultEmbedding3D self) -> DefaultEmbedding3D
9823  """
9824  _IMP_algebra.DefaultEmbedding3D_swiginit(self, _IMP_algebra.new_DefaultEmbedding3D(*args))
9825 
9826  def set_origin(self, o):
9827  r"""set_origin(DefaultEmbedding3D self, Vector3D o)"""
9828  return _IMP_algebra.DefaultEmbedding3D_set_origin(self, o)
9829 
9830  def get_origin(self):
9831  r"""get_origin(DefaultEmbedding3D self) -> Vector3D"""
9832  return _IMP_algebra.DefaultEmbedding3D_get_origin(self)
9833 
9834  def get_dimension(self):
9835  r"""get_dimension(DefaultEmbedding3D self) -> unsigned int"""
9836  return _IMP_algebra.DefaultEmbedding3D_get_dimension(self)
9837 
9838  def set_unit_cell(self, o):
9839  r"""set_unit_cell(DefaultEmbedding3D self, Vector3D o)"""
9840  return _IMP_algebra.DefaultEmbedding3D_set_unit_cell(self, o)
9841 
9842  def get_inverse_unit_cell(self):
9843  r"""get_inverse_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9844  return _IMP_algebra.DefaultEmbedding3D_get_inverse_unit_cell(self)
9845 
9846  def get_unit_cell(self):
9847  r"""get_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
9848  return _IMP_algebra.DefaultEmbedding3D_get_unit_cell(self)
9849 
9850  def get_extended_index(self, o):
9851  r"""get_extended_index(DefaultEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
9852  return _IMP_algebra.DefaultEmbedding3D_get_extended_index(self, o)
9853 
9854  def get_index(self, o):
9855  r"""get_index(DefaultEmbedding3D self, Vector3D o) -> GridIndex3D"""
9856  return _IMP_algebra.DefaultEmbedding3D_get_index(self, o)
9857 
9858  def get_center(self, *args):
9859  r"""
9860  get_center(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
9861  get_center(DefaultEmbedding3D self, GridIndex3D ei) -> Vector3D
9862  """
9863  return _IMP_algebra.DefaultEmbedding3D_get_center(self, *args)
9864 
9865  def get_bounding_box(self, *args):
9866  r"""
9867  get_bounding_box(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
9868  get_bounding_box(DefaultEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
9869  """
9870  return _IMP_algebra.DefaultEmbedding3D_get_bounding_box(self, *args)
9871 
9872  def show(self, *args):
9873  r"""show(DefaultEmbedding3D self, _ostream out=std::cout)"""
9874  return _IMP_algebra.DefaultEmbedding3D_show(self, *args)
9875 
9876  def __str__(self):
9877  r"""__str__(DefaultEmbedding3D self) -> std::string"""
9878  return _IMP_algebra.DefaultEmbedding3D___str__(self)
9879 
9880  def __repr__(self):
9881  r"""__repr__(DefaultEmbedding3D self) -> std::string"""
9882  return _IMP_algebra.DefaultEmbedding3D___repr__(self)
9883 
9884  def __cmp__(self, arg2):
9885  r"""__cmp__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> int"""
9886  return _IMP_algebra.DefaultEmbedding3D___cmp__(self, arg2)
9887 
9888  def __eq__(self, arg2):
9889  r"""__eq__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> bool"""
9890  return _IMP_algebra.DefaultEmbedding3D___eq__(self, arg2)
9891 
9892  def _get_as_binary(self):
9893  r"""_get_as_binary(DefaultEmbedding3D self) -> PyObject *"""
9894  return _IMP_algebra.DefaultEmbedding3D__get_as_binary(self)
9895 
9896  def _set_from_binary(self, p):
9897  r"""_set_from_binary(DefaultEmbedding3D self, PyObject * p)"""
9898  return _IMP_algebra.DefaultEmbedding3D__set_from_binary(self, p)
9899 
9900  def __getstate__(self):
9901  p = self._get_as_binary()
9902  if len(self.__dict__) > 1:
9903  d = self.__dict__.copy()
9904  del d['this']
9905  p = (d, p)
9906  return p
9907 
9908  def __setstate__(self, p):
9909  if not hasattr(self, 'this'):
9910  self.__init__()
9911  if isinstance(p, tuple):
9912  d, p = p
9913  self.__dict__.update(d)
9914  return self._set_from_binary(p)
9915 
9916  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding3D
9917 
9918 # Register DefaultEmbedding3D in _IMP_algebra:
9919 _IMP_algebra.DefaultEmbedding3D_swigregister(DefaultEmbedding3D)
9920 class DefaultEmbedding4D(object):
9921  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 4 > class."""
9922 
9923  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9924 
9925  def __init__(self, *args):
9926  r"""
9927  __init__(DefaultEmbedding4D self, Vector4D origin, Vector4D cell) -> DefaultEmbedding4D
9928  __init__(DefaultEmbedding4D self) -> DefaultEmbedding4D
9929  """
9930  _IMP_algebra.DefaultEmbedding4D_swiginit(self, _IMP_algebra.new_DefaultEmbedding4D(*args))
9931 
9932  def set_origin(self, o):
9933  r"""set_origin(DefaultEmbedding4D self, Vector4D o)"""
9934  return _IMP_algebra.DefaultEmbedding4D_set_origin(self, o)
9935 
9936  def get_origin(self):
9937  r"""get_origin(DefaultEmbedding4D self) -> Vector4D"""
9938  return _IMP_algebra.DefaultEmbedding4D_get_origin(self)
9939 
9940  def get_dimension(self):
9941  r"""get_dimension(DefaultEmbedding4D self) -> unsigned int"""
9942  return _IMP_algebra.DefaultEmbedding4D_get_dimension(self)
9943 
9944  def set_unit_cell(self, o):
9945  r"""set_unit_cell(DefaultEmbedding4D self, Vector4D o)"""
9946  return _IMP_algebra.DefaultEmbedding4D_set_unit_cell(self, o)
9947 
9948  def get_inverse_unit_cell(self):
9949  r"""get_inverse_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9950  return _IMP_algebra.DefaultEmbedding4D_get_inverse_unit_cell(self)
9951 
9952  def get_unit_cell(self):
9953  r"""get_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
9954  return _IMP_algebra.DefaultEmbedding4D_get_unit_cell(self)
9955 
9956  def get_extended_index(self, o):
9957  r"""get_extended_index(DefaultEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
9958  return _IMP_algebra.DefaultEmbedding4D_get_extended_index(self, o)
9959 
9960  def get_index(self, o):
9961  r"""get_index(DefaultEmbedding4D self, Vector4D o) -> GridIndex4D"""
9962  return _IMP_algebra.DefaultEmbedding4D_get_index(self, o)
9963 
9964  def get_center(self, *args):
9965  r"""
9966  get_center(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
9967  get_center(DefaultEmbedding4D self, GridIndex4D ei) -> Vector4D
9968  """
9969  return _IMP_algebra.DefaultEmbedding4D_get_center(self, *args)
9970 
9971  def get_bounding_box(self, *args):
9972  r"""
9973  get_bounding_box(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
9974  get_bounding_box(DefaultEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
9975  """
9976  return _IMP_algebra.DefaultEmbedding4D_get_bounding_box(self, *args)
9977 
9978  def show(self, *args):
9979  r"""show(DefaultEmbedding4D self, _ostream out=std::cout)"""
9980  return _IMP_algebra.DefaultEmbedding4D_show(self, *args)
9981 
9982  def __str__(self):
9983  r"""__str__(DefaultEmbedding4D self) -> std::string"""
9984  return _IMP_algebra.DefaultEmbedding4D___str__(self)
9985 
9986  def __repr__(self):
9987  r"""__repr__(DefaultEmbedding4D self) -> std::string"""
9988  return _IMP_algebra.DefaultEmbedding4D___repr__(self)
9989 
9990  def __cmp__(self, arg2):
9991  r"""__cmp__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> int"""
9992  return _IMP_algebra.DefaultEmbedding4D___cmp__(self, arg2)
9993 
9994  def __eq__(self, arg2):
9995  r"""__eq__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> bool"""
9996  return _IMP_algebra.DefaultEmbedding4D___eq__(self, arg2)
9997 
9998  def _get_as_binary(self):
9999  r"""_get_as_binary(DefaultEmbedding4D self) -> PyObject *"""
10000  return _IMP_algebra.DefaultEmbedding4D__get_as_binary(self)
10001 
10002  def _set_from_binary(self, p):
10003  r"""_set_from_binary(DefaultEmbedding4D self, PyObject * p)"""
10004  return _IMP_algebra.DefaultEmbedding4D__set_from_binary(self, p)
10005 
10006  def __getstate__(self):
10007  p = self._get_as_binary()
10008  if len(self.__dict__) > 1:
10009  d = self.__dict__.copy()
10010  del d['this']
10011  p = (d, p)
10012  return p
10013 
10014  def __setstate__(self, p):
10015  if not hasattr(self, 'this'):
10016  self.__init__()
10017  if isinstance(p, tuple):
10018  d, p = p
10019  self.__dict__.update(d)
10020  return self._set_from_binary(p)
10021 
10022  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding4D
10023 
10024 # Register DefaultEmbedding4D in _IMP_algebra:
10025 _IMP_algebra.DefaultEmbedding4D_swigregister(DefaultEmbedding4D)
10026 class DefaultEmbedding5D(object):
10027  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 5 > class."""
10028 
10029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10030 
10031  def __init__(self, *args):
10032  r"""
10033  __init__(DefaultEmbedding5D self, Vector5D origin, Vector5D cell) -> DefaultEmbedding5D
10034  __init__(DefaultEmbedding5D self) -> DefaultEmbedding5D
10035  """
10036  _IMP_algebra.DefaultEmbedding5D_swiginit(self, _IMP_algebra.new_DefaultEmbedding5D(*args))
10037 
10038  def set_origin(self, o):
10039  r"""set_origin(DefaultEmbedding5D self, Vector5D o)"""
10040  return _IMP_algebra.DefaultEmbedding5D_set_origin(self, o)
10041 
10042  def get_origin(self):
10043  r"""get_origin(DefaultEmbedding5D self) -> Vector5D"""
10044  return _IMP_algebra.DefaultEmbedding5D_get_origin(self)
10045 
10046  def get_dimension(self):
10047  r"""get_dimension(DefaultEmbedding5D self) -> unsigned int"""
10048  return _IMP_algebra.DefaultEmbedding5D_get_dimension(self)
10049 
10050  def set_unit_cell(self, o):
10051  r"""set_unit_cell(DefaultEmbedding5D self, Vector5D o)"""
10052  return _IMP_algebra.DefaultEmbedding5D_set_unit_cell(self, o)
10053 
10054  def get_inverse_unit_cell(self):
10055  r"""get_inverse_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10056  return _IMP_algebra.DefaultEmbedding5D_get_inverse_unit_cell(self)
10057 
10058  def get_unit_cell(self):
10059  r"""get_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
10060  return _IMP_algebra.DefaultEmbedding5D_get_unit_cell(self)
10061 
10062  def get_extended_index(self, o):
10063  r"""get_extended_index(DefaultEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10064  return _IMP_algebra.DefaultEmbedding5D_get_extended_index(self, o)
10065 
10066  def get_index(self, o):
10067  r"""get_index(DefaultEmbedding5D self, Vector5D o) -> GridIndex5D"""
10068  return _IMP_algebra.DefaultEmbedding5D_get_index(self, o)
10069 
10070  def get_center(self, *args):
10071  r"""
10072  get_center(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10073  get_center(DefaultEmbedding5D self, GridIndex5D ei) -> Vector5D
10074  """
10075  return _IMP_algebra.DefaultEmbedding5D_get_center(self, *args)
10076 
10077  def get_bounding_box(self, *args):
10078  r"""
10079  get_bounding_box(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10080  get_bounding_box(DefaultEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10081  """
10082  return _IMP_algebra.DefaultEmbedding5D_get_bounding_box(self, *args)
10083 
10084  def show(self, *args):
10085  r"""show(DefaultEmbedding5D self, _ostream out=std::cout)"""
10086  return _IMP_algebra.DefaultEmbedding5D_show(self, *args)
10087 
10088  def __str__(self):
10089  r"""__str__(DefaultEmbedding5D self) -> std::string"""
10090  return _IMP_algebra.DefaultEmbedding5D___str__(self)
10091 
10092  def __repr__(self):
10093  r"""__repr__(DefaultEmbedding5D self) -> std::string"""
10094  return _IMP_algebra.DefaultEmbedding5D___repr__(self)
10095 
10096  def __cmp__(self, arg2):
10097  r"""__cmp__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> int"""
10098  return _IMP_algebra.DefaultEmbedding5D___cmp__(self, arg2)
10099 
10100  def __eq__(self, arg2):
10101  r"""__eq__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> bool"""
10102  return _IMP_algebra.DefaultEmbedding5D___eq__(self, arg2)
10103 
10104  def _get_as_binary(self):
10105  r"""_get_as_binary(DefaultEmbedding5D self) -> PyObject *"""
10106  return _IMP_algebra.DefaultEmbedding5D__get_as_binary(self)
10107 
10108  def _set_from_binary(self, p):
10109  r"""_set_from_binary(DefaultEmbedding5D self, PyObject * p)"""
10110  return _IMP_algebra.DefaultEmbedding5D__set_from_binary(self, p)
10111 
10112  def __getstate__(self):
10113  p = self._get_as_binary()
10114  if len(self.__dict__) > 1:
10115  d = self.__dict__.copy()
10116  del d['this']
10117  p = (d, p)
10118  return p
10119 
10120  def __setstate__(self, p):
10121  if not hasattr(self, 'this'):
10122  self.__init__()
10123  if isinstance(p, tuple):
10124  d, p = p
10125  self.__dict__.update(d)
10126  return self._set_from_binary(p)
10127 
10128  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding5D
10129 
10130 # Register DefaultEmbedding5D in _IMP_algebra:
10131 _IMP_algebra.DefaultEmbedding5D_swigregister(DefaultEmbedding5D)
10132 class DefaultEmbedding6D(object):
10133  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 6 > class."""
10134 
10135  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10136 
10137  def __init__(self, *args):
10138  r"""
10139  __init__(DefaultEmbedding6D self, Vector6D origin, Vector6D cell) -> DefaultEmbedding6D
10140  __init__(DefaultEmbedding6D self) -> DefaultEmbedding6D
10141  """
10142  _IMP_algebra.DefaultEmbedding6D_swiginit(self, _IMP_algebra.new_DefaultEmbedding6D(*args))
10143 
10144  def set_origin(self, o):
10145  r"""set_origin(DefaultEmbedding6D self, Vector6D o)"""
10146  return _IMP_algebra.DefaultEmbedding6D_set_origin(self, o)
10147 
10148  def get_origin(self):
10149  r"""get_origin(DefaultEmbedding6D self) -> Vector6D"""
10150  return _IMP_algebra.DefaultEmbedding6D_get_origin(self)
10151 
10152  def get_dimension(self):
10153  r"""get_dimension(DefaultEmbedding6D self) -> unsigned int"""
10154  return _IMP_algebra.DefaultEmbedding6D_get_dimension(self)
10155 
10156  def set_unit_cell(self, o):
10157  r"""set_unit_cell(DefaultEmbedding6D self, Vector6D o)"""
10158  return _IMP_algebra.DefaultEmbedding6D_set_unit_cell(self, o)
10159 
10160  def get_inverse_unit_cell(self):
10161  r"""get_inverse_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10162  return _IMP_algebra.DefaultEmbedding6D_get_inverse_unit_cell(self)
10163 
10164  def get_unit_cell(self):
10165  r"""get_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
10166  return _IMP_algebra.DefaultEmbedding6D_get_unit_cell(self)
10167 
10168  def get_extended_index(self, o):
10169  r"""get_extended_index(DefaultEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10170  return _IMP_algebra.DefaultEmbedding6D_get_extended_index(self, o)
10171 
10172  def get_index(self, o):
10173  r"""get_index(DefaultEmbedding6D self, Vector6D o) -> GridIndex6D"""
10174  return _IMP_algebra.DefaultEmbedding6D_get_index(self, o)
10175 
10176  def get_center(self, *args):
10177  r"""
10178  get_center(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10179  get_center(DefaultEmbedding6D self, GridIndex6D ei) -> Vector6D
10180  """
10181  return _IMP_algebra.DefaultEmbedding6D_get_center(self, *args)
10182 
10183  def get_bounding_box(self, *args):
10184  r"""
10185  get_bounding_box(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10186  get_bounding_box(DefaultEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10187  """
10188  return _IMP_algebra.DefaultEmbedding6D_get_bounding_box(self, *args)
10189 
10190  def show(self, *args):
10191  r"""show(DefaultEmbedding6D self, _ostream out=std::cout)"""
10192  return _IMP_algebra.DefaultEmbedding6D_show(self, *args)
10193 
10194  def __str__(self):
10195  r"""__str__(DefaultEmbedding6D self) -> std::string"""
10196  return _IMP_algebra.DefaultEmbedding6D___str__(self)
10197 
10198  def __repr__(self):
10199  r"""__repr__(DefaultEmbedding6D self) -> std::string"""
10200  return _IMP_algebra.DefaultEmbedding6D___repr__(self)
10201 
10202  def __cmp__(self, arg2):
10203  r"""__cmp__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> int"""
10204  return _IMP_algebra.DefaultEmbedding6D___cmp__(self, arg2)
10205 
10206  def __eq__(self, arg2):
10207  r"""__eq__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> bool"""
10208  return _IMP_algebra.DefaultEmbedding6D___eq__(self, arg2)
10209 
10210  def _get_as_binary(self):
10211  r"""_get_as_binary(DefaultEmbedding6D self) -> PyObject *"""
10212  return _IMP_algebra.DefaultEmbedding6D__get_as_binary(self)
10213 
10214  def _set_from_binary(self, p):
10215  r"""_set_from_binary(DefaultEmbedding6D self, PyObject * p)"""
10216  return _IMP_algebra.DefaultEmbedding6D__set_from_binary(self, p)
10217 
10218  def __getstate__(self):
10219  p = self._get_as_binary()
10220  if len(self.__dict__) > 1:
10221  d = self.__dict__.copy()
10222  del d['this']
10223  p = (d, p)
10224  return p
10225 
10226  def __setstate__(self, p):
10227  if not hasattr(self, 'this'):
10228  self.__init__()
10229  if isinstance(p, tuple):
10230  d, p = p
10231  self.__dict__.update(d)
10232  return self._set_from_binary(p)
10233 
10234  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding6D
10235 
10236 # Register DefaultEmbedding6D in _IMP_algebra:
10237 _IMP_algebra.DefaultEmbedding6D_swigregister(DefaultEmbedding6D)
10238 class DefaultEmbeddingKD(object):
10239  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< -1 > class."""
10240 
10241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10242 
10243  def __init__(self, *args):
10244  r"""
10245  __init__(DefaultEmbeddingKD self, VectorKD origin, VectorKD cell) -> DefaultEmbeddingKD
10246  __init__(DefaultEmbeddingKD self) -> DefaultEmbeddingKD
10247  """
10248  _IMP_algebra.DefaultEmbeddingKD_swiginit(self, _IMP_algebra.new_DefaultEmbeddingKD(*args))
10249 
10250  def set_origin(self, o):
10251  r"""set_origin(DefaultEmbeddingKD self, VectorKD o)"""
10252  return _IMP_algebra.DefaultEmbeddingKD_set_origin(self, o)
10253 
10254  def get_origin(self):
10255  r"""get_origin(DefaultEmbeddingKD self) -> VectorKD"""
10256  return _IMP_algebra.DefaultEmbeddingKD_get_origin(self)
10257 
10258  def get_dimension(self):
10259  r"""get_dimension(DefaultEmbeddingKD self) -> unsigned int"""
10260  return _IMP_algebra.DefaultEmbeddingKD_get_dimension(self)
10261 
10262  def set_unit_cell(self, o):
10263  r"""set_unit_cell(DefaultEmbeddingKD self, VectorKD o)"""
10264  return _IMP_algebra.DefaultEmbeddingKD_set_unit_cell(self, o)
10265 
10266  def get_inverse_unit_cell(self):
10267  r"""get_inverse_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10268  return _IMP_algebra.DefaultEmbeddingKD_get_inverse_unit_cell(self)
10269 
10270  def get_unit_cell(self):
10271  r"""get_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
10272  return _IMP_algebra.DefaultEmbeddingKD_get_unit_cell(self)
10273 
10274  def get_extended_index(self, o):
10275  r"""get_extended_index(DefaultEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
10276  return _IMP_algebra.DefaultEmbeddingKD_get_extended_index(self, o)
10277 
10278  def get_index(self, o):
10279  r"""get_index(DefaultEmbeddingKD self, VectorKD o) -> GridIndexKD"""
10280  return _IMP_algebra.DefaultEmbeddingKD_get_index(self, o)
10281 
10282  def get_center(self, *args):
10283  r"""
10284  get_center(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
10285  get_center(DefaultEmbeddingKD self, GridIndexKD ei) -> VectorKD
10286  """
10287  return _IMP_algebra.DefaultEmbeddingKD_get_center(self, *args)
10288 
10289  def get_bounding_box(self, *args):
10290  r"""
10291  get_bounding_box(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
10292  get_bounding_box(DefaultEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
10293  """
10294  return _IMP_algebra.DefaultEmbeddingKD_get_bounding_box(self, *args)
10295 
10296  def show(self, *args):
10297  r"""show(DefaultEmbeddingKD self, _ostream out=std::cout)"""
10298  return _IMP_algebra.DefaultEmbeddingKD_show(self, *args)
10299 
10300  def __str__(self):
10301  r"""__str__(DefaultEmbeddingKD self) -> std::string"""
10302  return _IMP_algebra.DefaultEmbeddingKD___str__(self)
10303 
10304  def __repr__(self):
10305  r"""__repr__(DefaultEmbeddingKD self) -> std::string"""
10306  return _IMP_algebra.DefaultEmbeddingKD___repr__(self)
10307 
10308  def __cmp__(self, arg2):
10309  r"""__cmp__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> int"""
10310  return _IMP_algebra.DefaultEmbeddingKD___cmp__(self, arg2)
10311 
10312  def __eq__(self, arg2):
10313  r"""__eq__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> bool"""
10314  return _IMP_algebra.DefaultEmbeddingKD___eq__(self, arg2)
10315 
10316  def _get_as_binary(self):
10317  r"""_get_as_binary(DefaultEmbeddingKD self) -> PyObject *"""
10318  return _IMP_algebra.DefaultEmbeddingKD__get_as_binary(self)
10319 
10320  def _set_from_binary(self, p):
10321  r"""_set_from_binary(DefaultEmbeddingKD self, PyObject * p)"""
10322  return _IMP_algebra.DefaultEmbeddingKD__set_from_binary(self, p)
10323 
10324  def __getstate__(self):
10325  p = self._get_as_binary()
10326  if len(self.__dict__) > 1:
10327  d = self.__dict__.copy()
10328  del d['this']
10329  p = (d, p)
10330  return p
10331 
10332  def __setstate__(self, p):
10333  if not hasattr(self, 'this'):
10334  self.__init__()
10335  if isinstance(p, tuple):
10336  d, p = p
10337  self.__dict__.update(d)
10338  return self._set_from_binary(p)
10339 
10340  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbeddingKD
10341 
10342 # Register DefaultEmbeddingKD in _IMP_algebra:
10343 _IMP_algebra.DefaultEmbeddingKD_swigregister(DefaultEmbeddingKD)
10344 class LogEmbedding1D(object):
10345  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 1 > class."""
10346 
10347  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10348 
10349  def __init__(self, *args):
10350  r"""
10351  __init__(LogEmbedding1D self, Vector1D origin, Vector1D cell, Vector1D base) -> LogEmbedding1D
10352  __init__(LogEmbedding1D self, BoundingBox1D bb, Vector1D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding1D
10353  __init__(LogEmbedding1D self, Vector1D arg2, Vector1D arg3) -> LogEmbedding1D
10354  __init__(LogEmbedding1D self) -> LogEmbedding1D
10355  """
10356  _IMP_algebra.LogEmbedding1D_swiginit(self, _IMP_algebra.new_LogEmbedding1D(*args))
10357 
10358  def set_origin(self, o):
10359  r"""set_origin(LogEmbedding1D self, Vector1D o)"""
10360  return _IMP_algebra.LogEmbedding1D_set_origin(self, o)
10361 
10362  def get_origin(self):
10363  r"""get_origin(LogEmbedding1D self) -> Vector1D"""
10364  return _IMP_algebra.LogEmbedding1D_get_origin(self)
10365 
10366  def get_dimension(self):
10367  r"""get_dimension(LogEmbedding1D self) -> unsigned int"""
10368  return _IMP_algebra.LogEmbedding1D_get_dimension(self)
10369 
10370  def set_unit_cell(self, *args):
10371  r"""
10372  set_unit_cell(LogEmbedding1D self, Vector1D o, Vector1D base)
10373  set_unit_cell(LogEmbedding1D self, Vector1D o)
10374  """
10375  return _IMP_algebra.LogEmbedding1D_set_unit_cell(self, *args)
10376 
10377  def get_unit_cell(self):
10378  r"""get_unit_cell(LogEmbedding1D self) -> Vector1D"""
10379  return _IMP_algebra.LogEmbedding1D_get_unit_cell(self)
10380 
10381  def get_extended_index(self, o):
10382  r"""get_extended_index(LogEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
10383  return _IMP_algebra.LogEmbedding1D_get_extended_index(self, o)
10384 
10385  def get_index(self, o):
10386  r"""get_index(LogEmbedding1D self, Vector1D o) -> GridIndex1D"""
10387  return _IMP_algebra.LogEmbedding1D_get_index(self, o)
10388 
10389  def get_center(self, *args):
10390  r"""
10391  get_center(LogEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
10392  get_center(LogEmbedding1D self, GridIndex1D ei) -> Vector1D
10393  """
10394  return _IMP_algebra.LogEmbedding1D_get_center(self, *args)
10395 
10396  def get_bounding_box(self, *args):
10397  r"""
10398  get_bounding_box(LogEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
10399  get_bounding_box(LogEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
10400  """
10401  return _IMP_algebra.LogEmbedding1D_get_bounding_box(self, *args)
10402 
10403  def show(self, *args):
10404  r"""show(LogEmbedding1D self, _ostream out=std::cout)"""
10405  return _IMP_algebra.LogEmbedding1D_show(self, *args)
10406 
10407  def __str__(self):
10408  r"""__str__(LogEmbedding1D self) -> std::string"""
10409  return _IMP_algebra.LogEmbedding1D___str__(self)
10410 
10411  def __repr__(self):
10412  r"""__repr__(LogEmbedding1D self) -> std::string"""
10413  return _IMP_algebra.LogEmbedding1D___repr__(self)
10414 
10415  def __cmp__(self, arg2):
10416  r"""__cmp__(LogEmbedding1D self, LogEmbedding1D arg2) -> int"""
10417  return _IMP_algebra.LogEmbedding1D___cmp__(self, arg2)
10418 
10419  def __eq__(self, arg2):
10420  r"""__eq__(LogEmbedding1D self, LogEmbedding1D arg2) -> bool"""
10421  return _IMP_algebra.LogEmbedding1D___eq__(self, arg2)
10422 
10423  def _get_as_binary(self):
10424  r"""_get_as_binary(LogEmbedding1D self) -> PyObject *"""
10425  return _IMP_algebra.LogEmbedding1D__get_as_binary(self)
10426 
10427  def _set_from_binary(self, p):
10428  r"""_set_from_binary(LogEmbedding1D self, PyObject * p)"""
10429  return _IMP_algebra.LogEmbedding1D__set_from_binary(self, p)
10430 
10431  def __getstate__(self):
10432  p = self._get_as_binary()
10433  if len(self.__dict__) > 1:
10434  d = self.__dict__.copy()
10435  del d['this']
10436  p = (d, p)
10437  return p
10438 
10439  def __setstate__(self, p):
10440  if not hasattr(self, 'this'):
10441  self.__init__()
10442  if isinstance(p, tuple):
10443  d, p = p
10444  self.__dict__.update(d)
10445  return self._set_from_binary(p)
10446 
10447  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding1D
10448 
10449 # Register LogEmbedding1D in _IMP_algebra:
10450 _IMP_algebra.LogEmbedding1D_swigregister(LogEmbedding1D)
10451 class LogEmbedding2D(object):
10452  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 2 > class."""
10453 
10454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10455 
10456  def __init__(self, *args):
10457  r"""
10458  __init__(LogEmbedding2D self, Vector2D origin, Vector2D cell, Vector2D base) -> LogEmbedding2D
10459  __init__(LogEmbedding2D self, BoundingBox2D bb, Vector2D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding2D
10460  __init__(LogEmbedding2D self, Vector2D arg2, Vector2D arg3) -> LogEmbedding2D
10461  __init__(LogEmbedding2D self) -> LogEmbedding2D
10462  """
10463  _IMP_algebra.LogEmbedding2D_swiginit(self, _IMP_algebra.new_LogEmbedding2D(*args))
10464 
10465  def set_origin(self, o):
10466  r"""set_origin(LogEmbedding2D self, Vector2D o)"""
10467  return _IMP_algebra.LogEmbedding2D_set_origin(self, o)
10468 
10469  def get_origin(self):
10470  r"""get_origin(LogEmbedding2D self) -> Vector2D"""
10471  return _IMP_algebra.LogEmbedding2D_get_origin(self)
10472 
10473  def get_dimension(self):
10474  r"""get_dimension(LogEmbedding2D self) -> unsigned int"""
10475  return _IMP_algebra.LogEmbedding2D_get_dimension(self)
10476 
10477  def set_unit_cell(self, *args):
10478  r"""
10479  set_unit_cell(LogEmbedding2D self, Vector2D o, Vector2D base)
10480  set_unit_cell(LogEmbedding2D self, Vector2D o)
10481  """
10482  return _IMP_algebra.LogEmbedding2D_set_unit_cell(self, *args)
10483 
10484  def get_unit_cell(self):
10485  r"""get_unit_cell(LogEmbedding2D self) -> Vector2D"""
10486  return _IMP_algebra.LogEmbedding2D_get_unit_cell(self)
10487 
10488  def get_extended_index(self, o):
10489  r"""get_extended_index(LogEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
10490  return _IMP_algebra.LogEmbedding2D_get_extended_index(self, o)
10491 
10492  def get_index(self, o):
10493  r"""get_index(LogEmbedding2D self, Vector2D o) -> GridIndex2D"""
10494  return _IMP_algebra.LogEmbedding2D_get_index(self, o)
10495 
10496  def get_center(self, *args):
10497  r"""
10498  get_center(LogEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
10499  get_center(LogEmbedding2D self, GridIndex2D ei) -> Vector2D
10500  """
10501  return _IMP_algebra.LogEmbedding2D_get_center(self, *args)
10502 
10503  def get_bounding_box(self, *args):
10504  r"""
10505  get_bounding_box(LogEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
10506  get_bounding_box(LogEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
10507  """
10508  return _IMP_algebra.LogEmbedding2D_get_bounding_box(self, *args)
10509 
10510  def show(self, *args):
10511  r"""show(LogEmbedding2D self, _ostream out=std::cout)"""
10512  return _IMP_algebra.LogEmbedding2D_show(self, *args)
10513 
10514  def __str__(self):
10515  r"""__str__(LogEmbedding2D self) -> std::string"""
10516  return _IMP_algebra.LogEmbedding2D___str__(self)
10517 
10518  def __repr__(self):
10519  r"""__repr__(LogEmbedding2D self) -> std::string"""
10520  return _IMP_algebra.LogEmbedding2D___repr__(self)
10521 
10522  def __cmp__(self, arg2):
10523  r"""__cmp__(LogEmbedding2D self, LogEmbedding2D arg2) -> int"""
10524  return _IMP_algebra.LogEmbedding2D___cmp__(self, arg2)
10525 
10526  def __eq__(self, arg2):
10527  r"""__eq__(LogEmbedding2D self, LogEmbedding2D arg2) -> bool"""
10528  return _IMP_algebra.LogEmbedding2D___eq__(self, arg2)
10529 
10530  def _get_as_binary(self):
10531  r"""_get_as_binary(LogEmbedding2D self) -> PyObject *"""
10532  return _IMP_algebra.LogEmbedding2D__get_as_binary(self)
10533 
10534  def _set_from_binary(self, p):
10535  r"""_set_from_binary(LogEmbedding2D self, PyObject * p)"""
10536  return _IMP_algebra.LogEmbedding2D__set_from_binary(self, p)
10537 
10538  def __getstate__(self):
10539  p = self._get_as_binary()
10540  if len(self.__dict__) > 1:
10541  d = self.__dict__.copy()
10542  del d['this']
10543  p = (d, p)
10544  return p
10545 
10546  def __setstate__(self, p):
10547  if not hasattr(self, 'this'):
10548  self.__init__()
10549  if isinstance(p, tuple):
10550  d, p = p
10551  self.__dict__.update(d)
10552  return self._set_from_binary(p)
10553 
10554  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding2D
10555 
10556 # Register LogEmbedding2D in _IMP_algebra:
10557 _IMP_algebra.LogEmbedding2D_swigregister(LogEmbedding2D)
10558 class LogEmbedding4D(object):
10559  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 4 > class."""
10560 
10561  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10562 
10563  def __init__(self, *args):
10564  r"""
10565  __init__(LogEmbedding4D self, Vector4D origin, Vector4D cell, Vector4D base) -> LogEmbedding4D
10566  __init__(LogEmbedding4D self, BoundingBox4D bb, Vector4D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding4D
10567  __init__(LogEmbedding4D self, Vector4D arg2, Vector4D arg3) -> LogEmbedding4D
10568  __init__(LogEmbedding4D self) -> LogEmbedding4D
10569  """
10570  _IMP_algebra.LogEmbedding4D_swiginit(self, _IMP_algebra.new_LogEmbedding4D(*args))
10571 
10572  def set_origin(self, o):
10573  r"""set_origin(LogEmbedding4D self, Vector4D o)"""
10574  return _IMP_algebra.LogEmbedding4D_set_origin(self, o)
10575 
10576  def get_origin(self):
10577  r"""get_origin(LogEmbedding4D self) -> Vector4D"""
10578  return _IMP_algebra.LogEmbedding4D_get_origin(self)
10579 
10580  def get_dimension(self):
10581  r"""get_dimension(LogEmbedding4D self) -> unsigned int"""
10582  return _IMP_algebra.LogEmbedding4D_get_dimension(self)
10583 
10584  def set_unit_cell(self, *args):
10585  r"""
10586  set_unit_cell(LogEmbedding4D self, Vector4D o, Vector4D base)
10587  set_unit_cell(LogEmbedding4D self, Vector4D o)
10588  """
10589  return _IMP_algebra.LogEmbedding4D_set_unit_cell(self, *args)
10590 
10591  def get_unit_cell(self):
10592  r"""get_unit_cell(LogEmbedding4D self) -> Vector4D"""
10593  return _IMP_algebra.LogEmbedding4D_get_unit_cell(self)
10594 
10595  def get_extended_index(self, o):
10596  r"""get_extended_index(LogEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
10597  return _IMP_algebra.LogEmbedding4D_get_extended_index(self, o)
10598 
10599  def get_index(self, o):
10600  r"""get_index(LogEmbedding4D self, Vector4D o) -> GridIndex4D"""
10601  return _IMP_algebra.LogEmbedding4D_get_index(self, o)
10602 
10603  def get_center(self, *args):
10604  r"""
10605  get_center(LogEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
10606  get_center(LogEmbedding4D self, GridIndex4D ei) -> Vector4D
10607  """
10608  return _IMP_algebra.LogEmbedding4D_get_center(self, *args)
10609 
10610  def get_bounding_box(self, *args):
10611  r"""
10612  get_bounding_box(LogEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
10613  get_bounding_box(LogEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
10614  """
10615  return _IMP_algebra.LogEmbedding4D_get_bounding_box(self, *args)
10616 
10617  def show(self, *args):
10618  r"""show(LogEmbedding4D self, _ostream out=std::cout)"""
10619  return _IMP_algebra.LogEmbedding4D_show(self, *args)
10620 
10621  def __str__(self):
10622  r"""__str__(LogEmbedding4D self) -> std::string"""
10623  return _IMP_algebra.LogEmbedding4D___str__(self)
10624 
10625  def __repr__(self):
10626  r"""__repr__(LogEmbedding4D self) -> std::string"""
10627  return _IMP_algebra.LogEmbedding4D___repr__(self)
10628 
10629  def __cmp__(self, arg2):
10630  r"""__cmp__(LogEmbedding4D self, LogEmbedding4D arg2) -> int"""
10631  return _IMP_algebra.LogEmbedding4D___cmp__(self, arg2)
10632 
10633  def __eq__(self, arg2):
10634  r"""__eq__(LogEmbedding4D self, LogEmbedding4D arg2) -> bool"""
10635  return _IMP_algebra.LogEmbedding4D___eq__(self, arg2)
10636 
10637  def _get_as_binary(self):
10638  r"""_get_as_binary(LogEmbedding4D self) -> PyObject *"""
10639  return _IMP_algebra.LogEmbedding4D__get_as_binary(self)
10640 
10641  def _set_from_binary(self, p):
10642  r"""_set_from_binary(LogEmbedding4D self, PyObject * p)"""
10643  return _IMP_algebra.LogEmbedding4D__set_from_binary(self, p)
10644 
10645  def __getstate__(self):
10646  p = self._get_as_binary()
10647  if len(self.__dict__) > 1:
10648  d = self.__dict__.copy()
10649  del d['this']
10650  p = (d, p)
10651  return p
10652 
10653  def __setstate__(self, p):
10654  if not hasattr(self, 'this'):
10655  self.__init__()
10656  if isinstance(p, tuple):
10657  d, p = p
10658  self.__dict__.update(d)
10659  return self._set_from_binary(p)
10660 
10661  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding4D
10662 
10663 # Register LogEmbedding4D in _IMP_algebra:
10664 _IMP_algebra.LogEmbedding4D_swigregister(LogEmbedding4D)
10665 class LogEmbedding5D(object):
10666  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 5 > class."""
10667 
10668  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10669 
10670  def __init__(self, *args):
10671  r"""
10672  __init__(LogEmbedding5D self, Vector5D origin, Vector5D cell, Vector5D base) -> LogEmbedding5D
10673  __init__(LogEmbedding5D self, BoundingBox5D bb, Vector5D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding5D
10674  __init__(LogEmbedding5D self, Vector5D arg2, Vector5D arg3) -> LogEmbedding5D
10675  __init__(LogEmbedding5D self) -> LogEmbedding5D
10676  """
10677  _IMP_algebra.LogEmbedding5D_swiginit(self, _IMP_algebra.new_LogEmbedding5D(*args))
10678 
10679  def set_origin(self, o):
10680  r"""set_origin(LogEmbedding5D self, Vector5D o)"""
10681  return _IMP_algebra.LogEmbedding5D_set_origin(self, o)
10682 
10683  def get_origin(self):
10684  r"""get_origin(LogEmbedding5D self) -> Vector5D"""
10685  return _IMP_algebra.LogEmbedding5D_get_origin(self)
10686 
10687  def get_dimension(self):
10688  r"""get_dimension(LogEmbedding5D self) -> unsigned int"""
10689  return _IMP_algebra.LogEmbedding5D_get_dimension(self)
10690 
10691  def set_unit_cell(self, *args):
10692  r"""
10693  set_unit_cell(LogEmbedding5D self, Vector5D o, Vector5D base)
10694  set_unit_cell(LogEmbedding5D self, Vector5D o)
10695  """
10696  return _IMP_algebra.LogEmbedding5D_set_unit_cell(self, *args)
10697 
10698  def get_unit_cell(self):
10699  r"""get_unit_cell(LogEmbedding5D self) -> Vector5D"""
10700  return _IMP_algebra.LogEmbedding5D_get_unit_cell(self)
10701 
10702  def get_extended_index(self, o):
10703  r"""get_extended_index(LogEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
10704  return _IMP_algebra.LogEmbedding5D_get_extended_index(self, o)
10705 
10706  def get_index(self, o):
10707  r"""get_index(LogEmbedding5D self, Vector5D o) -> GridIndex5D"""
10708  return _IMP_algebra.LogEmbedding5D_get_index(self, o)
10709 
10710  def get_center(self, *args):
10711  r"""
10712  get_center(LogEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
10713  get_center(LogEmbedding5D self, GridIndex5D ei) -> Vector5D
10714  """
10715  return _IMP_algebra.LogEmbedding5D_get_center(self, *args)
10716 
10717  def get_bounding_box(self, *args):
10718  r"""
10719  get_bounding_box(LogEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
10720  get_bounding_box(LogEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
10721  """
10722  return _IMP_algebra.LogEmbedding5D_get_bounding_box(self, *args)
10723 
10724  def show(self, *args):
10725  r"""show(LogEmbedding5D self, _ostream out=std::cout)"""
10726  return _IMP_algebra.LogEmbedding5D_show(self, *args)
10727 
10728  def __str__(self):
10729  r"""__str__(LogEmbedding5D self) -> std::string"""
10730  return _IMP_algebra.LogEmbedding5D___str__(self)
10731 
10732  def __repr__(self):
10733  r"""__repr__(LogEmbedding5D self) -> std::string"""
10734  return _IMP_algebra.LogEmbedding5D___repr__(self)
10735 
10736  def __cmp__(self, arg2):
10737  r"""__cmp__(LogEmbedding5D self, LogEmbedding5D arg2) -> int"""
10738  return _IMP_algebra.LogEmbedding5D___cmp__(self, arg2)
10739 
10740  def __eq__(self, arg2):
10741  r"""__eq__(LogEmbedding5D self, LogEmbedding5D arg2) -> bool"""
10742  return _IMP_algebra.LogEmbedding5D___eq__(self, arg2)
10743 
10744  def _get_as_binary(self):
10745  r"""_get_as_binary(LogEmbedding5D self) -> PyObject *"""
10746  return _IMP_algebra.LogEmbedding5D__get_as_binary(self)
10747 
10748  def _set_from_binary(self, p):
10749  r"""_set_from_binary(LogEmbedding5D self, PyObject * p)"""
10750  return _IMP_algebra.LogEmbedding5D__set_from_binary(self, p)
10751 
10752  def __getstate__(self):
10753  p = self._get_as_binary()
10754  if len(self.__dict__) > 1:
10755  d = self.__dict__.copy()
10756  del d['this']
10757  p = (d, p)
10758  return p
10759 
10760  def __setstate__(self, p):
10761  if not hasattr(self, 'this'):
10762  self.__init__()
10763  if isinstance(p, tuple):
10764  d, p = p
10765  self.__dict__.update(d)
10766  return self._set_from_binary(p)
10767 
10768  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding5D
10769 
10770 # Register LogEmbedding5D in _IMP_algebra:
10771 _IMP_algebra.LogEmbedding5D_swigregister(LogEmbedding5D)
10772 class LogEmbedding6D(object):
10773  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 6 > class."""
10774 
10775  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10776 
10777  def __init__(self, *args):
10778  r"""
10779  __init__(LogEmbedding6D self, Vector6D origin, Vector6D cell, Vector6D base) -> LogEmbedding6D
10780  __init__(LogEmbedding6D self, BoundingBox6D bb, Vector6D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding6D
10781  __init__(LogEmbedding6D self, Vector6D arg2, Vector6D arg3) -> LogEmbedding6D
10782  __init__(LogEmbedding6D self) -> LogEmbedding6D
10783  """
10784  _IMP_algebra.LogEmbedding6D_swiginit(self, _IMP_algebra.new_LogEmbedding6D(*args))
10785 
10786  def set_origin(self, o):
10787  r"""set_origin(LogEmbedding6D self, Vector6D o)"""
10788  return _IMP_algebra.LogEmbedding6D_set_origin(self, o)
10789 
10790  def get_origin(self):
10791  r"""get_origin(LogEmbedding6D self) -> Vector6D"""
10792  return _IMP_algebra.LogEmbedding6D_get_origin(self)
10793 
10794  def get_dimension(self):
10795  r"""get_dimension(LogEmbedding6D self) -> unsigned int"""
10796  return _IMP_algebra.LogEmbedding6D_get_dimension(self)
10797 
10798  def set_unit_cell(self, *args):
10799  r"""
10800  set_unit_cell(LogEmbedding6D self, Vector6D o, Vector6D base)
10801  set_unit_cell(LogEmbedding6D self, Vector6D o)
10802  """
10803  return _IMP_algebra.LogEmbedding6D_set_unit_cell(self, *args)
10804 
10805  def get_unit_cell(self):
10806  r"""get_unit_cell(LogEmbedding6D self) -> Vector6D"""
10807  return _IMP_algebra.LogEmbedding6D_get_unit_cell(self)
10808 
10809  def get_extended_index(self, o):
10810  r"""get_extended_index(LogEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
10811  return _IMP_algebra.LogEmbedding6D_get_extended_index(self, o)
10812 
10813  def get_index(self, o):
10814  r"""get_index(LogEmbedding6D self, Vector6D o) -> GridIndex6D"""
10815  return _IMP_algebra.LogEmbedding6D_get_index(self, o)
10816 
10817  def get_center(self, *args):
10818  r"""
10819  get_center(LogEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
10820  get_center(LogEmbedding6D self, GridIndex6D ei) -> Vector6D
10821  """
10822  return _IMP_algebra.LogEmbedding6D_get_center(self, *args)
10823 
10824  def get_bounding_box(self, *args):
10825  r"""
10826  get_bounding_box(LogEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
10827  get_bounding_box(LogEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
10828  """
10829  return _IMP_algebra.LogEmbedding6D_get_bounding_box(self, *args)
10830 
10831  def show(self, *args):
10832  r"""show(LogEmbedding6D self, _ostream out=std::cout)"""
10833  return _IMP_algebra.LogEmbedding6D_show(self, *args)
10834 
10835  def __str__(self):
10836  r"""__str__(LogEmbedding6D self) -> std::string"""
10837  return _IMP_algebra.LogEmbedding6D___str__(self)
10838 
10839  def __repr__(self):
10840  r"""__repr__(LogEmbedding6D self) -> std::string"""
10841  return _IMP_algebra.LogEmbedding6D___repr__(self)
10842 
10843  def __cmp__(self, arg2):
10844  r"""__cmp__(LogEmbedding6D self, LogEmbedding6D arg2) -> int"""
10845  return _IMP_algebra.LogEmbedding6D___cmp__(self, arg2)
10846 
10847  def __eq__(self, arg2):
10848  r"""__eq__(LogEmbedding6D self, LogEmbedding6D arg2) -> bool"""
10849  return _IMP_algebra.LogEmbedding6D___eq__(self, arg2)
10850 
10851  def _get_as_binary(self):
10852  r"""_get_as_binary(LogEmbedding6D self) -> PyObject *"""
10853  return _IMP_algebra.LogEmbedding6D__get_as_binary(self)
10854 
10855  def _set_from_binary(self, p):
10856  r"""_set_from_binary(LogEmbedding6D self, PyObject * p)"""
10857  return _IMP_algebra.LogEmbedding6D__set_from_binary(self, p)
10858 
10859  def __getstate__(self):
10860  p = self._get_as_binary()
10861  if len(self.__dict__) > 1:
10862  d = self.__dict__.copy()
10863  del d['this']
10864  p = (d, p)
10865  return p
10866 
10867  def __setstate__(self, p):
10868  if not hasattr(self, 'this'):
10869  self.__init__()
10870  if isinstance(p, tuple):
10871  d, p = p
10872  self.__dict__.update(d)
10873  return self._set_from_binary(p)
10874 
10875  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding6D
10876 
10877 # Register LogEmbedding6D in _IMP_algebra:
10878 _IMP_algebra.LogEmbedding6D_swigregister(LogEmbedding6D)
10879 class SpherePatch3D(_GeometricPrimitive3D):
10880  r"""Proxy of C++ IMP::algebra::SpherePatch3D class."""
10881 
10882  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10883 
10884  def __init__(self, *args):
10885  r"""
10886  __init__(SpherePatch3D self) -> SpherePatch3D
10887  __init__(SpherePatch3D self, Sphere3D sph, Plane3D crossing_plane) -> SpherePatch3D
10888  """
10889  _IMP_algebra.SpherePatch3D_swiginit(self, _IMP_algebra.new_SpherePatch3D(*args))
10890 
10891  def get_contains(self, p):
10892  r"""get_contains(SpherePatch3D self, Vector3D p) -> bool"""
10893  return _IMP_algebra.SpherePatch3D_get_contains(self, p)
10894 
10895  def get_plane(self):
10896  r"""get_plane(SpherePatch3D self) -> Plane3D"""
10897  return _IMP_algebra.SpherePatch3D_get_plane(self)
10898 
10899  def get_sphere(self):
10900  r"""get_sphere(SpherePatch3D self) -> Sphere3D"""
10901  return _IMP_algebra.SpherePatch3D_get_sphere(self)
10902 
10903  def show(self, *args):
10904  r"""show(SpherePatch3D self, _ostream out=std::cout)"""
10905  return _IMP_algebra.SpherePatch3D_show(self, *args)
10906 
10907  def get_boundary_point(self):
10908  r"""get_boundary_point(SpherePatch3D self) -> Vector3D"""
10909  return _IMP_algebra.SpherePatch3D_get_boundary_point(self)
10910 
10911  def __str__(self):
10912  r"""__str__(SpherePatch3D self) -> std::string"""
10913  return _IMP_algebra.SpherePatch3D___str__(self)
10914 
10915  def __repr__(self):
10916  r"""__repr__(SpherePatch3D self) -> std::string"""
10917  return _IMP_algebra.SpherePatch3D___repr__(self)
10918 
10919  def _get_as_binary(self):
10920  r"""_get_as_binary(SpherePatch3D self) -> PyObject *"""
10921  return _IMP_algebra.SpherePatch3D__get_as_binary(self)
10922 
10923  def _set_from_binary(self, p):
10924  r"""_set_from_binary(SpherePatch3D self, PyObject * p)"""
10925  return _IMP_algebra.SpherePatch3D__set_from_binary(self, p)
10926 
10927  def __getstate__(self):
10928  p = self._get_as_binary()
10929  if len(self.__dict__) > 1:
10930  d = self.__dict__.copy()
10931  del d['this']
10932  p = (d, p)
10933  return p
10934 
10935  def __setstate__(self, p):
10936  if not hasattr(self, 'this'):
10937  self.__init__()
10938  if isinstance(p, tuple):
10939  d, p = p
10940  self.__dict__.update(d)
10941  return self._set_from_binary(p)
10942 
10943  __swig_destroy__ = _IMP_algebra.delete_SpherePatch3D
10944 
10945 # Register SpherePatch3D in _IMP_algebra:
10946 _IMP_algebra.SpherePatch3D_swigregister(SpherePatch3D)
10947 
10948 def get_area(*args):
10949  r"""
10950  get_area(Plane3D g) -> double
10951  get_area(SpherePatch3D g) -> double
10952  """
10953  return _IMP_algebra.get_area(*args)
10954 
10955 def get_sphere_patch_3d_geometry(g):
10956  r"""get_sphere_patch_3d_geometry(SpherePatch3D g) -> SpherePatch3D"""
10957  return _IMP_algebra.get_sphere_patch_3d_geometry(g)
10958 class Cone3D(_GeometricPrimitive3D):
10959  r"""Proxy of C++ IMP::algebra::Cone3D class."""
10960 
10961  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10962 
10963  def __init__(self, *args):
10964  r"""
10965  __init__(Cone3D self) -> Cone3D
10966  __init__(Cone3D self, Segment3D s, double radius) -> Cone3D
10967  """
10968  _IMP_algebra.Cone3D_swiginit(self, _IMP_algebra.new_Cone3D(*args))
10969 
10970  def get_tip(self):
10971  r"""get_tip(Cone3D self) -> Vector3D"""
10972  return _IMP_algebra.Cone3D_get_tip(self)
10973 
10974  def get_direction(self):
10975  r"""get_direction(Cone3D self) -> Vector3D"""
10976  return _IMP_algebra.Cone3D_get_direction(self)
10977 
10978  def get_height(self):
10979  r"""get_height(Cone3D self) -> double"""
10980  return _IMP_algebra.Cone3D_get_height(self)
10981 
10982  def get_angle(self):
10983  r"""get_angle(Cone3D self) -> double"""
10984  return _IMP_algebra.Cone3D_get_angle(self)
10985 
10986  def get_radius(self):
10987  r"""get_radius(Cone3D self) -> double"""
10988  return _IMP_algebra.Cone3D_get_radius(self)
10989 
10990  def get_contains(self, v):
10991  r"""get_contains(Cone3D self, Vector3D v) -> bool"""
10992  return _IMP_algebra.Cone3D_get_contains(self, v)
10993 
10994  def get_base_plane(self):
10995  r"""get_base_plane(Cone3D self) -> Plane3D"""
10996  return _IMP_algebra.Cone3D_get_base_plane(self)
10997 
10998  def show(self, *args):
10999  r"""show(Cone3D self, _ostream out=std::cout)"""
11000  return _IMP_algebra.Cone3D_show(self, *args)
11001 
11002  def __str__(self):
11003  r"""__str__(Cone3D self) -> std::string"""
11004  return _IMP_algebra.Cone3D___str__(self)
11005 
11006  def __repr__(self):
11007  r"""__repr__(Cone3D self) -> std::string"""
11008  return _IMP_algebra.Cone3D___repr__(self)
11009 
11010  def _get_as_binary(self):
11011  r"""_get_as_binary(Cone3D self) -> PyObject *"""
11012  return _IMP_algebra.Cone3D__get_as_binary(self)
11013 
11014  def _set_from_binary(self, p):
11015  r"""_set_from_binary(Cone3D self, PyObject * p)"""
11016  return _IMP_algebra.Cone3D__set_from_binary(self, p)
11017 
11018  def __getstate__(self):
11019  p = self._get_as_binary()
11020  if len(self.__dict__) > 1:
11021  d = self.__dict__.copy()
11022  del d['this']
11023  p = (d, p)
11024  return p
11025 
11026  def __setstate__(self, p):
11027  if not hasattr(self, 'this'):
11028  self.__init__()
11029  if isinstance(p, tuple):
11030  d, p = p
11031  self.__dict__.update(d)
11032  return self._set_from_binary(p)
11033 
11034  __swig_destroy__ = _IMP_algebra.delete_Cone3D
11035 
11036 # Register Cone3D in _IMP_algebra:
11037 _IMP_algebra.Cone3D_swigregister(Cone3D)
11038 
11039 def get_surface_area(*args):
11040  r"""
11041  get_surface_area(BoundingBox3D g) -> double
11042  get_surface_area(Sphere3D g) -> double
11043  get_surface_area(Cylinder3D g) -> double
11044  get_surface_area(Ellipsoid3D g) -> double
11045  get_surface_area(Cone3D g) -> double
11046  """
11047  return _IMP_algebra.get_surface_area(*args)
11048 
11049 def get_volume(*args):
11050  r"""
11051  get_volume(BoundingBox3D g) -> double
11052  get_volume(Sphere3D g) -> double
11053  get_volume(Cylinder3D g) -> double
11054  get_volume(Ellipsoid3D g) -> double
11055  get_volume(Cone3D g) -> double
11056  """
11057  return _IMP_algebra.get_volume(*args)
11058 
11059 def get_cone_3d_geometry(g):
11060  r"""get_cone_3d_geometry(Cone3D g) -> Cone3D"""
11061  return _IMP_algebra.get_cone_3d_geometry(g)
11062 
11063 def write_pts(vs, out):
11064  r"""write_pts(IMP::algebra::Vector3Ds const & vs, TextOutput out)"""
11065  return _IMP_algebra.write_pts(vs, out)
11066 
11067 def read_pts(input):
11068  r"""read_pts(TextInput input) -> IMP::algebra::Vector3Ds"""
11069  return _IMP_algebra.read_pts(input)
11070 
11071 def write_spheres(vs, out):
11072  r"""write_spheres(IMP::algebra::Sphere3Ds const & vs, TextOutput out)"""
11073  return _IMP_algebra.write_spheres(vs, out)
11074 
11075 def read_spheres(input):
11076  r"""read_spheres(TextInput input) -> IMP::algebra::Sphere3Ds"""
11077  return _IMP_algebra.read_spheres(input)
11078 
11080  r"""get_random_vector_on_unit_sphere() -> Vector3D"""
11081  return _IMP_algebra.get_random_vector_on_unit_sphere()
11082 
11083 def get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle):
11084  r"""get_grid_surface_cover(Cylinder3D cyl, int number_of_cycles, int number_of_points_on_cycle) -> IMP::algebra::Vector3Ds"""
11085  return _IMP_algebra.get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle)
11086 
11087 def get_random_chain(*args):
11088  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"""
11089  return _IMP_algebra.get_random_chain(*args)
11090 
11091 def reversed_read(dest, size, nitems, f, reverse):
11092  r"""reversed_read(void * dest, size_t size, size_t nitems, std::ifstream & f, bool reverse)"""
11093  return _IMP_algebra.reversed_read(dest, size, nitems, f, reverse)
11094 
11095 def reversed_write(src, size, nitems, f, reverse=False):
11096  r"""reversed_write(void const * src, size_t size, size_t nitems, std::ofstream & f, bool reverse=False)"""
11097  return _IMP_algebra.reversed_write(src, size, nitems, f, reverse)
11098 
11099 def get_is_big_endian():
11100  r"""get_is_big_endian() -> bool"""
11101  return _IMP_algebra.get_is_big_endian()
11102 
11103 def get_is_little_endian():
11104  r"""get_is_little_endian() -> bool"""
11105  return _IMP_algebra.get_is_little_endian()
11106 
11107 def get_shortest_segment(*args):
11108  r"""
11109  get_shortest_segment(Segment3D s, Vector3D p) -> Segment3D
11110  get_shortest_segment(Segment3D sa, Segment3D sb) -> Segment3D
11111  """
11112  return _IMP_algebra.get_shortest_segment(*args)
11113 class DynamicNearestNeighbor3D(IMP.Object):
11114  r"""Proxy of C++ IMP::algebra::DynamicNearestNeighbor3D class."""
11115 
11116  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11117 
11118  def __init__(self, vs, query_estimate=1):
11119  r"""__init__(DynamicNearestNeighbor3D self, IMP::algebra::Vector3Ds const & vs, double query_estimate=1) -> DynamicNearestNeighbor3D"""
11120  _IMP_algebra.DynamicNearestNeighbor3D_swiginit(self, _IMP_algebra.new_DynamicNearestNeighbor3D(vs, query_estimate))
11121 
11122  def get_in_ball(self, id, distance):
11123  r"""get_in_ball(DynamicNearestNeighbor3D self, int id, double distance) -> IMP::Ints"""
11124  return _IMP_algebra.DynamicNearestNeighbor3D_get_in_ball(self, id, distance)
11125 
11126  def set_coordinates(self, id, nc):
11127  r"""set_coordinates(DynamicNearestNeighbor3D self, int id, Vector3D nc)"""
11128  return _IMP_algebra.DynamicNearestNeighbor3D_set_coordinates(self, id, nc)
11129 
11130  def get_version_info(self):
11131  r"""get_version_info(DynamicNearestNeighbor3D self) -> VersionInfo"""
11132  return _IMP_algebra.DynamicNearestNeighbor3D_get_version_info(self)
11133  __swig_destroy__ = _IMP_algebra.delete_DynamicNearestNeighbor3D
11134 
11135  def __str__(self):
11136  r"""__str__(DynamicNearestNeighbor3D self) -> std::string"""
11137  return _IMP_algebra.DynamicNearestNeighbor3D___str__(self)
11138 
11139  def __repr__(self):
11140  r"""__repr__(DynamicNearestNeighbor3D self) -> std::string"""
11141  return _IMP_algebra.DynamicNearestNeighbor3D___repr__(self)
11142 
11143  @staticmethod
11144  def get_from(o):
11145  return _object_cast_to_DynamicNearestNeighbor3D(o)
11146 
11147 
11148 # Register DynamicNearestNeighbor3D in _IMP_algebra:
11149 _IMP_algebra.DynamicNearestNeighbor3D_swigregister(DynamicNearestNeighbor3D)
11150 class VectorKDMetric(IMP.Object):
11151  r"""Proxy of C++ IMP::algebra::VectorKDMetric class."""
11152 
11153  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11154 
11155  def __init__(self, name):
11156  r"""__init__(VectorKDMetric self, std::string name) -> VectorKDMetric"""
11157  if self.__class__ == VectorKDMetric:
11158  _self = None
11159  else:
11160  _self = self
11161  _IMP_algebra.VectorKDMetric_swiginit(self, _IMP_algebra.new_VectorKDMetric(_self, name))
11162 
11163  if self.__class__ != VectorKDMetric:
11164  _director_objects.register(self)
11165 
11166 
11167 
11168 
11169  def get_distance(self, a, b):
11170  r"""get_distance(VectorKDMetric self, VectorKD a, VectorKD b) -> double"""
11171  return _IMP_algebra.VectorKDMetric_get_distance(self, a, b)
11172 
11173  def get_centroid(self, vs):
11174  r"""get_centroid(VectorKDMetric self, IMP::algebra::VectorKDs const & vs) -> VectorKD"""
11175  return _IMP_algebra.VectorKDMetric_get_centroid(self, vs)
11176 
11177  def __str__(self):
11178  r"""__str__(VectorKDMetric self) -> std::string"""
11179  return _IMP_algebra.VectorKDMetric___str__(self)
11180 
11181  def __repr__(self):
11182  r"""__repr__(VectorKDMetric self) -> std::string"""
11183  return _IMP_algebra.VectorKDMetric___repr__(self)
11184 
11185  @staticmethod
11186  def get_from(o):
11187  return _object_cast_to_VectorKDMetric(o)
11188 
11189 
11190  def get_type_name(self):
11191  return self.__class__.__name__
11192  def do_show(self, out):
11193  pass
11194  def get_version_info(self):
11195  if"IMP::algebra" == "IMP":
11196  return VersionInfo(self.__module__,
11197  __import__(self.__module__).get_module_version())
11198  else:
11199  return IMP.VersionInfo(self.__module__,
11200  __import__(self.__module__).get_module_version())
11201  @staticmethod
11202  def get_from(o):
11203  return _object_cast_to_VectorKDMetric(o)
11204 
11205  __swig_destroy__ = _IMP_algebra.delete_VectorKDMetric
11206  def __disown__(self):
11207  self.this.disown()
11208  _IMP_algebra.disown_VectorKDMetric(self)
11209  return weakref.proxy(self)
11210 
11211  def do_destroy(self):
11212  r"""do_destroy(VectorKDMetric self)"""
11213  return _IMP_algebra.VectorKDMetric_do_destroy(self)
11214 
11215 # Register VectorKDMetric in _IMP_algebra:
11216 _IMP_algebra.VectorKDMetric_swigregister(VectorKDMetric)
11217 class EuclideanVectorKDMetric(VectorKDMetric):
11218  r"""Proxy of C++ IMP::algebra::EuclideanVectorKDMetric class."""
11219 
11220  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11221 
11222  def __init__(self, *args):
11223  r"""__init__(EuclideanVectorKDMetric self, std::string name="EuclideanVectorKDMetric%1%") -> EuclideanVectorKDMetric"""
11224  _IMP_algebra.EuclideanVectorKDMetric_swiginit(self, _IMP_algebra.new_EuclideanVectorKDMetric(*args))
11225 
11226  def get_version_info(self):
11227  r"""get_version_info(EuclideanVectorKDMetric self) -> VersionInfo"""
11228  return _IMP_algebra.EuclideanVectorKDMetric_get_version_info(self)
11229  __swig_destroy__ = _IMP_algebra.delete_EuclideanVectorKDMetric
11230 
11231  def __str__(self):
11232  r"""__str__(EuclideanVectorKDMetric self) -> std::string"""
11233  return _IMP_algebra.EuclideanVectorKDMetric___str__(self)
11234 
11235  def __repr__(self):
11236  r"""__repr__(EuclideanVectorKDMetric self) -> std::string"""
11237  return _IMP_algebra.EuclideanVectorKDMetric___repr__(self)
11238 
11239  @staticmethod
11240  def get_from(o):
11241  return _object_cast_to_EuclideanVectorKDMetric(o)
11242 
11243 
11244  def _get_as_binary(self):
11245  r"""_get_as_binary(EuclideanVectorKDMetric self) -> PyObject *"""
11246  return _IMP_algebra.EuclideanVectorKDMetric__get_as_binary(self)
11247 
11248  def _set_from_binary(self, p):
11249  r"""_set_from_binary(EuclideanVectorKDMetric self, PyObject * p)"""
11250  return _IMP_algebra.EuclideanVectorKDMetric__set_from_binary(self, p)
11251 
11252  def __getstate__(self):
11253  p = self._get_as_binary()
11254  if len(self.__dict__) > 1:
11255  d = self.__dict__.copy()
11256  del d['this']
11257  p = (d, p)
11258  return p
11259 
11260  def __setstate__(self, p):
11261  if not hasattr(self, 'this'):
11262  self.__init__()
11263  if isinstance(p, tuple):
11264  d, p = p
11265  self.__dict__.update(d)
11266  return self._set_from_binary(p)
11267 
11268 
11269 # Register EuclideanVectorKDMetric in _IMP_algebra:
11270 _IMP_algebra.EuclideanVectorKDMetric_swigregister(EuclideanVectorKDMetric)
11271 class MaxVectorKDMetric(VectorKDMetric):
11272  r"""Proxy of C++ IMP::algebra::MaxVectorKDMetric class."""
11273 
11274  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11275 
11276  def __init__(self, *args):
11277  r"""__init__(MaxVectorKDMetric self, std::string name="MaxVectorKDMetric%1%") -> MaxVectorKDMetric"""
11278  _IMP_algebra.MaxVectorKDMetric_swiginit(self, _IMP_algebra.new_MaxVectorKDMetric(*args))
11279 
11280  def get_version_info(self):
11281  r"""get_version_info(MaxVectorKDMetric self) -> VersionInfo"""
11282  return _IMP_algebra.MaxVectorKDMetric_get_version_info(self)
11283  __swig_destroy__ = _IMP_algebra.delete_MaxVectorKDMetric
11284 
11285  def __str__(self):
11286  r"""__str__(MaxVectorKDMetric self) -> std::string"""
11287  return _IMP_algebra.MaxVectorKDMetric___str__(self)
11288 
11289  def __repr__(self):
11290  r"""__repr__(MaxVectorKDMetric self) -> std::string"""
11291  return _IMP_algebra.MaxVectorKDMetric___repr__(self)
11292 
11293  @staticmethod
11294  def get_from(o):
11295  return _object_cast_to_MaxVectorKDMetric(o)
11296 
11297 
11298  def _get_as_binary(self):
11299  r"""_get_as_binary(MaxVectorKDMetric self) -> PyObject *"""
11300  return _IMP_algebra.MaxVectorKDMetric__get_as_binary(self)
11301 
11302  def _set_from_binary(self, p):
11303  r"""_set_from_binary(MaxVectorKDMetric self, PyObject * p)"""
11304  return _IMP_algebra.MaxVectorKDMetric__set_from_binary(self, p)
11305 
11306  def __getstate__(self):
11307  p = self._get_as_binary()
11308  if len(self.__dict__) > 1:
11309  d = self.__dict__.copy()
11310  del d['this']
11311  p = (d, p)
11312  return p
11313 
11314  def __setstate__(self, p):
11315  if not hasattr(self, 'this'):
11316  self.__init__()
11317  if isinstance(p, tuple):
11318  d, p = p
11319  self.__dict__.update(d)
11320  return self._set_from_binary(p)
11321 
11322 
11323 # Register MaxVectorKDMetric in _IMP_algebra:
11324 _IMP_algebra.MaxVectorKDMetric_swigregister(MaxVectorKDMetric)
11325 class Gaussian3D(_GeometricPrimitive3D):
11326  r"""Proxy of C++ IMP::algebra::Gaussian3D class."""
11327 
11328  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11329 
11330  def __init__(self, *args):
11331  r"""
11332  __init__(Gaussian3D self) -> Gaussian3D
11333  __init__(Gaussian3D self, ReferenceFrame3D tr, Vector3D variances) -> Gaussian3D
11334  """
11335  _IMP_algebra.Gaussian3D_swiginit(self, _IMP_algebra.new_Gaussian3D(*args))
11336 
11337  def get_reference_frame(self):
11338  r"""get_reference_frame(Gaussian3D self) -> ReferenceFrame3D"""
11339  return _IMP_algebra.Gaussian3D_get_reference_frame(self)
11340 
11341  def get_variances(self):
11342  r"""get_variances(Gaussian3D self) -> Vector3D"""
11343  return _IMP_algebra.Gaussian3D_get_variances(self)
11344 
11345  def get_center(self):
11346  r"""get_center(Gaussian3D self) -> Vector3D"""
11347  return _IMP_algebra.Gaussian3D_get_center(self)
11348 
11349  def show(self, *args):
11350  r"""show(Gaussian3D self, _ostream out=std::cout)"""
11351  return _IMP_algebra.Gaussian3D_show(self, *args)
11352 
11353  def __str__(self):
11354  r"""__str__(Gaussian3D self) -> std::string"""
11355  return _IMP_algebra.Gaussian3D___str__(self)
11356 
11357  def __repr__(self):
11358  r"""__repr__(Gaussian3D self) -> std::string"""
11359  return _IMP_algebra.Gaussian3D___repr__(self)
11360 
11361  def _get_as_binary(self):
11362  r"""_get_as_binary(Gaussian3D self) -> PyObject *"""
11363  return _IMP_algebra.Gaussian3D__get_as_binary(self)
11364 
11365  def _set_from_binary(self, p):
11366  r"""_set_from_binary(Gaussian3D self, PyObject * p)"""
11367  return _IMP_algebra.Gaussian3D__set_from_binary(self, p)
11368 
11369  def __getstate__(self):
11370  p = self._get_as_binary()
11371  if len(self.__dict__) > 1:
11372  d = self.__dict__.copy()
11373  del d['this']
11374  p = (d, p)
11375  return p
11376 
11377  def __setstate__(self, p):
11378  if not hasattr(self, 'this'):
11379  self.__init__()
11380  if isinstance(p, tuple):
11381  d, p = p
11382  self.__dict__.update(d)
11383  return self._set_from_binary(p)
11384 
11385  __swig_destroy__ = _IMP_algebra.delete_Gaussian3D
11386 
11387 # Register Gaussian3D in _IMP_algebra:
11388 _IMP_algebra.Gaussian3D_swigregister(Gaussian3D)
11389 
11390 def get_covariance(g):
11391  r"""get_covariance(Gaussian3D g) -> Eigen::Matrix3d"""
11392  return _IMP_algebra.get_covariance(g)
11393 
11394 def get_gaussian_from_covariance(covariance, center):
11395  r"""get_gaussian_from_covariance(Eigen::Matrix3d const & covariance, Vector3D center) -> Gaussian3D"""
11396  return _IMP_algebra.get_gaussian_from_covariance(covariance, center)
11397 
11398 def get_rasterized(gmm, weights, cell_width, bb):
11399  r"""get_rasterized(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb) -> DenseDoubleGrid3D"""
11400  return _IMP_algebra.get_rasterized(gmm, weights, cell_width, bb)
11401 
11402 def get_rasterized_fast(gmm, weights, cell_width, bb, factor=2.5):
11403  r"""get_rasterized_fast(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb, double factor=2.5) -> DenseDoubleGrid3D"""
11404  return _IMP_algebra.get_rasterized_fast(gmm, weights, cell_width, bb, factor)
11405 
11406 def _pass_matrix_xf(m):
11407  r"""_pass_matrix_xf(Eigen::MatrixXf const & m) -> Eigen::MatrixXf"""
11408  return _IMP_algebra._pass_matrix_xf(m)
11409 
11410 def _pass_matrix_xd(m):
11411  r"""_pass_matrix_xd(Eigen::MatrixXd const & m) -> Eigen::MatrixXd"""
11412  return _IMP_algebra._pass_matrix_xd(m)
11413 
11414 def _pass_matrix_3d(m):
11415  r"""_pass_matrix_3d(Eigen::Matrix3d const & m) -> Eigen::Matrix3d"""
11416  return _IMP_algebra._pass_matrix_3d(m)
11417 
11418 def _pass_array_xd(m):
11419  r"""_pass_array_xd(Eigen::ArrayXXd const & m) -> Eigen::ArrayXXd"""
11420  return _IMP_algebra._pass_array_xd(m)
11421 
11422 def _pass_vector_xd(m):
11423  r"""_pass_vector_xd(Eigen::VectorXd const & m) -> Eigen::VectorXd"""
11424  return _IMP_algebra._pass_vector_xd(m)
11425 class NearestNeighbor1D(IMP.Object):
11426  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 1 > class."""
11427 
11428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11429 
11430  def __init__(self, vs, epsilon=0):
11431  r"""__init__(NearestNeighbor1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & vs, double epsilon=0) -> NearestNeighbor1D"""
11432  _IMP_algebra.NearestNeighbor1D_swiginit(self, _IMP_algebra.new_NearestNeighbor1D(vs, epsilon))
11433 
11434  def set_query_log(self, fname):
11435  r"""set_query_log(NearestNeighbor1D self, std::string fname)"""
11436  return _IMP_algebra.NearestNeighbor1D_set_query_log(self, fname)
11437 
11438  def get_nearest_neighbor(self, *args):
11439  r"""
11440  get_nearest_neighbor(NearestNeighbor1D self, Vector1D q) -> unsigned int
11441  get_nearest_neighbor(NearestNeighbor1D self, unsigned int i) -> unsigned int
11442  """
11443  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbor(self, *args)
11444 
11445  def get_nearest_neighbors(self, *args):
11446  r"""
11447  get_nearest_neighbors(NearestNeighbor1D self, unsigned int i, unsigned int k) -> IMP::Ints
11448  get_nearest_neighbors(NearestNeighbor1D self, Vector1D v, unsigned int k) -> IMP::Ints
11449  """
11450  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbors(self, *args)
11451 
11452  def get_in_ball(self, *args):
11453  r"""
11454  get_in_ball(NearestNeighbor1D self, unsigned int i, double distance) -> IMP::Ints
11455  get_in_ball(NearestNeighbor1D self, Vector1D pt, double distance) -> IMP::Ints
11456  """
11457  return _IMP_algebra.NearestNeighbor1D_get_in_ball(self, *args)
11458 
11459  def get_version_info(self):
11460  r"""get_version_info(NearestNeighbor1D self) -> VersionInfo"""
11461  return _IMP_algebra.NearestNeighbor1D_get_version_info(self)
11462  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor1D
11463 
11464  def __str__(self):
11465  r"""__str__(NearestNeighbor1D self) -> std::string"""
11466  return _IMP_algebra.NearestNeighbor1D___str__(self)
11467 
11468  def __repr__(self):
11469  r"""__repr__(NearestNeighbor1D self) -> std::string"""
11470  return _IMP_algebra.NearestNeighbor1D___repr__(self)
11471 
11472  @staticmethod
11473  def get_from(o):
11474  return _object_cast_to_NearestNeighborD(o)
11475 
11476 
11477 # Register NearestNeighbor1D in _IMP_algebra:
11478 _IMP_algebra.NearestNeighbor1D_swigregister(NearestNeighbor1D)
11479 class NearestNeighbor2D(IMP.Object):
11480  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 2 > class."""
11481 
11482  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11483 
11484  def __init__(self, vs, epsilon=0):
11485  r"""__init__(NearestNeighbor2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & vs, double epsilon=0) -> NearestNeighbor2D"""
11486  _IMP_algebra.NearestNeighbor2D_swiginit(self, _IMP_algebra.new_NearestNeighbor2D(vs, epsilon))
11487 
11488  def set_query_log(self, fname):
11489  r"""set_query_log(NearestNeighbor2D self, std::string fname)"""
11490  return _IMP_algebra.NearestNeighbor2D_set_query_log(self, fname)
11491 
11492  def get_nearest_neighbor(self, *args):
11493  r"""
11494  get_nearest_neighbor(NearestNeighbor2D self, Vector2D q) -> unsigned int
11495  get_nearest_neighbor(NearestNeighbor2D self, unsigned int i) -> unsigned int
11496  """
11497  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbor(self, *args)
11498 
11499  def get_nearest_neighbors(self, *args):
11500  r"""
11501  get_nearest_neighbors(NearestNeighbor2D self, unsigned int i, unsigned int k) -> IMP::Ints
11502  get_nearest_neighbors(NearestNeighbor2D self, Vector2D v, unsigned int k) -> IMP::Ints
11503  """
11504  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbors(self, *args)
11505 
11506  def get_in_ball(self, *args):
11507  r"""
11508  get_in_ball(NearestNeighbor2D self, unsigned int i, double distance) -> IMP::Ints
11509  get_in_ball(NearestNeighbor2D self, Vector2D pt, double distance) -> IMP::Ints
11510  """
11511  return _IMP_algebra.NearestNeighbor2D_get_in_ball(self, *args)
11512 
11513  def get_version_info(self):
11514  r"""get_version_info(NearestNeighbor2D self) -> VersionInfo"""
11515  return _IMP_algebra.NearestNeighbor2D_get_version_info(self)
11516  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor2D
11517 
11518  def __str__(self):
11519  r"""__str__(NearestNeighbor2D self) -> std::string"""
11520  return _IMP_algebra.NearestNeighbor2D___str__(self)
11521 
11522  def __repr__(self):
11523  r"""__repr__(NearestNeighbor2D self) -> std::string"""
11524  return _IMP_algebra.NearestNeighbor2D___repr__(self)
11525 
11526  @staticmethod
11527  def get_from(o):
11528  return _object_cast_to_NearestNeighborD(o)
11529 
11530 
11531 # Register NearestNeighbor2D in _IMP_algebra:
11532 _IMP_algebra.NearestNeighbor2D_swigregister(NearestNeighbor2D)
11533 class NearestNeighbor3D(IMP.Object):
11534  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 3 > class."""
11535 
11536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11537 
11538  def __init__(self, vs, epsilon=0):
11539  r"""__init__(NearestNeighbor3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & vs, double epsilon=0) -> NearestNeighbor3D"""
11540  _IMP_algebra.NearestNeighbor3D_swiginit(self, _IMP_algebra.new_NearestNeighbor3D(vs, epsilon))
11541 
11542  def set_query_log(self, fname):
11543  r"""set_query_log(NearestNeighbor3D self, std::string fname)"""
11544  return _IMP_algebra.NearestNeighbor3D_set_query_log(self, fname)
11545 
11546  def get_nearest_neighbor(self, *args):
11547  r"""
11548  get_nearest_neighbor(NearestNeighbor3D self, Vector3D q) -> unsigned int
11549  get_nearest_neighbor(NearestNeighbor3D self, unsigned int i) -> unsigned int
11550  """
11551  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbor(self, *args)
11552 
11553  def get_nearest_neighbors(self, *args):
11554  r"""
11555  get_nearest_neighbors(NearestNeighbor3D self, unsigned int i, unsigned int k) -> IMP::Ints
11556  get_nearest_neighbors(NearestNeighbor3D self, Vector3D v, unsigned int k) -> IMP::Ints
11557  """
11558  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbors(self, *args)
11559 
11560  def get_in_ball(self, *args):
11561  r"""
11562  get_in_ball(NearestNeighbor3D self, unsigned int i, double distance) -> IMP::Ints
11563  get_in_ball(NearestNeighbor3D self, Vector3D pt, double distance) -> IMP::Ints
11564  """
11565  return _IMP_algebra.NearestNeighbor3D_get_in_ball(self, *args)
11566 
11567  def get_version_info(self):
11568  r"""get_version_info(NearestNeighbor3D self) -> VersionInfo"""
11569  return _IMP_algebra.NearestNeighbor3D_get_version_info(self)
11570  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor3D
11571 
11572  def __str__(self):
11573  r"""__str__(NearestNeighbor3D self) -> std::string"""
11574  return _IMP_algebra.NearestNeighbor3D___str__(self)
11575 
11576  def __repr__(self):
11577  r"""__repr__(NearestNeighbor3D self) -> std::string"""
11578  return _IMP_algebra.NearestNeighbor3D___repr__(self)
11579 
11580  @staticmethod
11581  def get_from(o):
11582  return _object_cast_to_NearestNeighborD(o)
11583 
11584 
11585 # Register NearestNeighbor3D in _IMP_algebra:
11586 _IMP_algebra.NearestNeighbor3D_swigregister(NearestNeighbor3D)
11587 class NearestNeighbor4D(IMP.Object):
11588  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 4 > class."""
11589 
11590  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11591 
11592  def __init__(self, vs, epsilon=0):
11593  r"""__init__(NearestNeighbor4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & vs, double epsilon=0) -> NearestNeighbor4D"""
11594  _IMP_algebra.NearestNeighbor4D_swiginit(self, _IMP_algebra.new_NearestNeighbor4D(vs, epsilon))
11595 
11596  def set_query_log(self, fname):
11597  r"""set_query_log(NearestNeighbor4D self, std::string fname)"""
11598  return _IMP_algebra.NearestNeighbor4D_set_query_log(self, fname)
11599 
11600  def get_nearest_neighbor(self, *args):
11601  r"""
11602  get_nearest_neighbor(NearestNeighbor4D self, Vector4D q) -> unsigned int
11603  get_nearest_neighbor(NearestNeighbor4D self, unsigned int i) -> unsigned int
11604  """
11605  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbor(self, *args)
11606 
11607  def get_nearest_neighbors(self, *args):
11608  r"""
11609  get_nearest_neighbors(NearestNeighbor4D self, unsigned int i, unsigned int k) -> IMP::Ints
11610  get_nearest_neighbors(NearestNeighbor4D self, Vector4D v, unsigned int k) -> IMP::Ints
11611  """
11612  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbors(self, *args)
11613 
11614  def get_in_ball(self, *args):
11615  r"""
11616  get_in_ball(NearestNeighbor4D self, unsigned int i, double distance) -> IMP::Ints
11617  get_in_ball(NearestNeighbor4D self, Vector4D pt, double distance) -> IMP::Ints
11618  """
11619  return _IMP_algebra.NearestNeighbor4D_get_in_ball(self, *args)
11620 
11621  def get_version_info(self):
11622  r"""get_version_info(NearestNeighbor4D self) -> VersionInfo"""
11623  return _IMP_algebra.NearestNeighbor4D_get_version_info(self)
11624  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor4D
11625 
11626  def __str__(self):
11627  r"""__str__(NearestNeighbor4D self) -> std::string"""
11628  return _IMP_algebra.NearestNeighbor4D___str__(self)
11629 
11630  def __repr__(self):
11631  r"""__repr__(NearestNeighbor4D self) -> std::string"""
11632  return _IMP_algebra.NearestNeighbor4D___repr__(self)
11633 
11634  @staticmethod
11635  def get_from(o):
11636  return _object_cast_to_NearestNeighborD(o)
11637 
11638 
11639 # Register NearestNeighbor4D in _IMP_algebra:
11640 _IMP_algebra.NearestNeighbor4D_swigregister(NearestNeighbor4D)
11641 class NearestNeighbor5D(IMP.Object):
11642  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 5 > class."""
11643 
11644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11645 
11646  def __init__(self, vs, epsilon=0):
11647  r"""__init__(NearestNeighbor5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & vs, double epsilon=0) -> NearestNeighbor5D"""
11648  _IMP_algebra.NearestNeighbor5D_swiginit(self, _IMP_algebra.new_NearestNeighbor5D(vs, epsilon))
11649 
11650  def set_query_log(self, fname):
11651  r"""set_query_log(NearestNeighbor5D self, std::string fname)"""
11652  return _IMP_algebra.NearestNeighbor5D_set_query_log(self, fname)
11653 
11654  def get_nearest_neighbor(self, *args):
11655  r"""
11656  get_nearest_neighbor(NearestNeighbor5D self, Vector5D q) -> unsigned int
11657  get_nearest_neighbor(NearestNeighbor5D self, unsigned int i) -> unsigned int
11658  """
11659  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbor(self, *args)
11660 
11661  def get_nearest_neighbors(self, *args):
11662  r"""
11663  get_nearest_neighbors(NearestNeighbor5D self, unsigned int i, unsigned int k) -> IMP::Ints
11664  get_nearest_neighbors(NearestNeighbor5D self, Vector5D v, unsigned int k) -> IMP::Ints
11665  """
11666  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbors(self, *args)
11667 
11668  def get_in_ball(self, *args):
11669  r"""
11670  get_in_ball(NearestNeighbor5D self, unsigned int i, double distance) -> IMP::Ints
11671  get_in_ball(NearestNeighbor5D self, Vector5D pt, double distance) -> IMP::Ints
11672  """
11673  return _IMP_algebra.NearestNeighbor5D_get_in_ball(self, *args)
11674 
11675  def get_version_info(self):
11676  r"""get_version_info(NearestNeighbor5D self) -> VersionInfo"""
11677  return _IMP_algebra.NearestNeighbor5D_get_version_info(self)
11678  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor5D
11679 
11680  def __str__(self):
11681  r"""__str__(NearestNeighbor5D self) -> std::string"""
11682  return _IMP_algebra.NearestNeighbor5D___str__(self)
11683 
11684  def __repr__(self):
11685  r"""__repr__(NearestNeighbor5D self) -> std::string"""
11686  return _IMP_algebra.NearestNeighbor5D___repr__(self)
11687 
11688  @staticmethod
11689  def get_from(o):
11690  return _object_cast_to_NearestNeighborD(o)
11691 
11692 
11693 # Register NearestNeighbor5D in _IMP_algebra:
11694 _IMP_algebra.NearestNeighbor5D_swigregister(NearestNeighbor5D)
11695 class NearestNeighbor6D(IMP.Object):
11696  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 6 > class."""
11697 
11698  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11699 
11700  def __init__(self, vs, epsilon=0):
11701  r"""__init__(NearestNeighbor6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & vs, double epsilon=0) -> NearestNeighbor6D"""
11702  _IMP_algebra.NearestNeighbor6D_swiginit(self, _IMP_algebra.new_NearestNeighbor6D(vs, epsilon))
11703 
11704  def set_query_log(self, fname):
11705  r"""set_query_log(NearestNeighbor6D self, std::string fname)"""
11706  return _IMP_algebra.NearestNeighbor6D_set_query_log(self, fname)
11707 
11708  def get_nearest_neighbor(self, *args):
11709  r"""
11710  get_nearest_neighbor(NearestNeighbor6D self, Vector6D q) -> unsigned int
11711  get_nearest_neighbor(NearestNeighbor6D self, unsigned int i) -> unsigned int
11712  """
11713  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbor(self, *args)
11714 
11715  def get_nearest_neighbors(self, *args):
11716  r"""
11717  get_nearest_neighbors(NearestNeighbor6D self, unsigned int i, unsigned int k) -> IMP::Ints
11718  get_nearest_neighbors(NearestNeighbor6D self, Vector6D v, unsigned int k) -> IMP::Ints
11719  """
11720  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbors(self, *args)
11721 
11722  def get_in_ball(self, *args):
11723  r"""
11724  get_in_ball(NearestNeighbor6D self, unsigned int i, double distance) -> IMP::Ints
11725  get_in_ball(NearestNeighbor6D self, Vector6D pt, double distance) -> IMP::Ints
11726  """
11727  return _IMP_algebra.NearestNeighbor6D_get_in_ball(self, *args)
11728 
11729  def get_version_info(self):
11730  r"""get_version_info(NearestNeighbor6D self) -> VersionInfo"""
11731  return _IMP_algebra.NearestNeighbor6D_get_version_info(self)
11732  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor6D
11733 
11734  def __str__(self):
11735  r"""__str__(NearestNeighbor6D self) -> std::string"""
11736  return _IMP_algebra.NearestNeighbor6D___str__(self)
11737 
11738  def __repr__(self):
11739  r"""__repr__(NearestNeighbor6D self) -> std::string"""
11740  return _IMP_algebra.NearestNeighbor6D___repr__(self)
11741 
11742  @staticmethod
11743  def get_from(o):
11744  return _object_cast_to_NearestNeighborD(o)
11745 
11746 
11747 # Register NearestNeighbor6D in _IMP_algebra:
11748 _IMP_algebra.NearestNeighbor6D_swigregister(NearestNeighbor6D)
11749 class NearestNeighborKD(IMP.Object):
11750  r"""Proxy of C++ IMP::algebra::NearestNeighborD< -1 > class."""
11751 
11752  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11753 
11754  def __init__(self, vs, epsilon=0):
11755  r"""__init__(NearestNeighborKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & vs, double epsilon=0) -> NearestNeighborKD"""
11756  _IMP_algebra.NearestNeighborKD_swiginit(self, _IMP_algebra.new_NearestNeighborKD(vs, epsilon))
11757 
11758  def set_query_log(self, fname):
11759  r"""set_query_log(NearestNeighborKD self, std::string fname)"""
11760  return _IMP_algebra.NearestNeighborKD_set_query_log(self, fname)
11761 
11762  def get_nearest_neighbor(self, *args):
11763  r"""
11764  get_nearest_neighbor(NearestNeighborKD self, VectorKD q) -> unsigned int
11765  get_nearest_neighbor(NearestNeighborKD self, unsigned int i) -> unsigned int
11766  """
11767  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbor(self, *args)
11768 
11769  def get_nearest_neighbors(self, *args):
11770  r"""
11771  get_nearest_neighbors(NearestNeighborKD self, unsigned int i, unsigned int k) -> IMP::Ints
11772  get_nearest_neighbors(NearestNeighborKD self, VectorKD v, unsigned int k) -> IMP::Ints
11773  """
11774  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbors(self, *args)
11775 
11776  def get_in_ball(self, *args):
11777  r"""
11778  get_in_ball(NearestNeighborKD self, unsigned int i, double distance) -> IMP::Ints
11779  get_in_ball(NearestNeighborKD self, VectorKD pt, double distance) -> IMP::Ints
11780  """
11781  return _IMP_algebra.NearestNeighborKD_get_in_ball(self, *args)
11782 
11783  def get_version_info(self):
11784  r"""get_version_info(NearestNeighborKD self) -> VersionInfo"""
11785  return _IMP_algebra.NearestNeighborKD_get_version_info(self)
11786  __swig_destroy__ = _IMP_algebra.delete_NearestNeighborKD
11787 
11788  def __str__(self):
11789  r"""__str__(NearestNeighborKD self) -> std::string"""
11790  return _IMP_algebra.NearestNeighborKD___str__(self)
11791 
11792  def __repr__(self):
11793  r"""__repr__(NearestNeighborKD self) -> std::string"""
11794  return _IMP_algebra.NearestNeighborKD___repr__(self)
11795 
11796  @staticmethod
11797  def get_from(o):
11798  return _object_cast_to_NearestNeighborD(o)
11799 
11800 
11801 # Register NearestNeighborKD in _IMP_algebra:
11802 _IMP_algebra.NearestNeighborKD_swigregister(NearestNeighborKD)
11803 
11804 def get_transformation_aligning_pair(set_from, set_to):
11805  r"""get_transformation_aligning_pair(IMP::algebra::Vector2Ds const & set_from, IMP::algebra::Vector2Ds const & set_to) -> Transformation2D"""
11806  return _IMP_algebra.get_transformation_aligning_pair(set_from, set_to)
11807 class PrincipalComponentAnalysis1D(_GeometricPrimitive1D):
11808  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 1 > class."""
11809 
11810  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11811 
11812  def __init__(self, *args):
11813  r"""
11814  __init__(PrincipalComponentAnalysis1D self) -> PrincipalComponentAnalysis1D
11815  __init__(PrincipalComponentAnalysis1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & pcs, Vector1D values, Vector1D centroid) -> PrincipalComponentAnalysis1D
11816  """
11817  _IMP_algebra.PrincipalComponentAnalysis1D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis1D(*args))
11818 
11819  def get_principal_components(self):
11820  r"""get_principal_components(PrincipalComponentAnalysis1D self) -> IMP::Vector< IMP::algebra::VectorD< 1 > >"""
11821  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_components(self)
11822 
11823  def get_principal_component(self, i):
11824  r"""get_principal_component(PrincipalComponentAnalysis1D self, unsigned int i) -> Vector1D"""
11825  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_component(self, i)
11826 
11827  def get_principal_values(self):
11828  r"""get_principal_values(PrincipalComponentAnalysis1D self) -> Vector1D"""
11829  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_values(self)
11830 
11831  def get_principal_value(self, i):
11832  r"""get_principal_value(PrincipalComponentAnalysis1D self, unsigned int i) -> double"""
11833  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_value(self, i)
11834 
11835  def get_centroid(self):
11836  r"""get_centroid(PrincipalComponentAnalysis1D self) -> Vector1D"""
11837  return _IMP_algebra.PrincipalComponentAnalysis1D_get_centroid(self)
11838 
11839  def set_centroid(self, cntr):
11840  r"""set_centroid(PrincipalComponentAnalysis1D self, Vector1D cntr)"""
11841  return _IMP_algebra.PrincipalComponentAnalysis1D_set_centroid(self, cntr)
11842 
11843  def show(self, *args):
11844  r"""show(PrincipalComponentAnalysis1D self, _ostream out=std::cout)"""
11845  return _IMP_algebra.PrincipalComponentAnalysis1D_show(self, *args)
11846 
11847  def __cmp__(self, o):
11848  r"""__cmp__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> int"""
11849  return _IMP_algebra.PrincipalComponentAnalysis1D___cmp__(self, o)
11850 
11851  def __eq__(self, o):
11852  r"""__eq__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11853  return _IMP_algebra.PrincipalComponentAnalysis1D___eq__(self, o)
11854 
11855  def __ne__(self, o):
11856  r"""__ne__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11857  return _IMP_algebra.PrincipalComponentAnalysis1D___ne__(self, o)
11858 
11859  def __lt__(self, o):
11860  r"""__lt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11861  return _IMP_algebra.PrincipalComponentAnalysis1D___lt__(self, o)
11862 
11863  def __gt__(self, o):
11864  r"""__gt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11865  return _IMP_algebra.PrincipalComponentAnalysis1D___gt__(self, o)
11866 
11867  def __ge__(self, o):
11868  r"""__ge__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11869  return _IMP_algebra.PrincipalComponentAnalysis1D___ge__(self, o)
11870 
11871  def __le__(self, o):
11872  r"""__le__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
11873  return _IMP_algebra.PrincipalComponentAnalysis1D___le__(self, o)
11874 
11875  def __str__(self):
11876  r"""__str__(PrincipalComponentAnalysis1D self) -> std::string"""
11877  return _IMP_algebra.PrincipalComponentAnalysis1D___str__(self)
11878 
11879  def __repr__(self):
11880  r"""__repr__(PrincipalComponentAnalysis1D self) -> std::string"""
11881  return _IMP_algebra.PrincipalComponentAnalysis1D___repr__(self)
11882 
11883  def _get_as_binary(self):
11884  r"""_get_as_binary(PrincipalComponentAnalysis1D self) -> PyObject *"""
11885  return _IMP_algebra.PrincipalComponentAnalysis1D__get_as_binary(self)
11886 
11887  def _set_from_binary(self, p):
11888  r"""_set_from_binary(PrincipalComponentAnalysis1D self, PyObject * p)"""
11889  return _IMP_algebra.PrincipalComponentAnalysis1D__set_from_binary(self, p)
11890 
11891  def __getstate__(self):
11892  p = self._get_as_binary()
11893  if len(self.__dict__) > 1:
11894  d = self.__dict__.copy()
11895  del d['this']
11896  p = (d, p)
11897  return p
11898 
11899  def __setstate__(self, p):
11900  if not hasattr(self, 'this'):
11901  self.__init__()
11902  if isinstance(p, tuple):
11903  d, p = p
11904  self.__dict__.update(d)
11905  return self._set_from_binary(p)
11906 
11907  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis1D
11908 
11909 # Register PrincipalComponentAnalysis1D in _IMP_algebra:
11910 _IMP_algebra.PrincipalComponentAnalysis1D_swigregister(PrincipalComponentAnalysis1D)
11911 class PrincipalComponentAnalysis2D(_GeometricPrimitive2D):
11912  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 2 > class."""
11913 
11914  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11915 
11916  def __init__(self, *args):
11917  r"""
11918  __init__(PrincipalComponentAnalysis2D self) -> PrincipalComponentAnalysis2D
11919  __init__(PrincipalComponentAnalysis2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & pcs, Vector2D values, Vector2D centroid) -> PrincipalComponentAnalysis2D
11920  """
11921  _IMP_algebra.PrincipalComponentAnalysis2D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis2D(*args))
11922 
11923  def get_principal_components(self):
11924  r"""get_principal_components(PrincipalComponentAnalysis2D self) -> IMP::Vector< IMP::algebra::VectorD< 2 > >"""
11925  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_components(self)
11926 
11927  def get_principal_component(self, i):
11928  r"""get_principal_component(PrincipalComponentAnalysis2D self, unsigned int i) -> Vector2D"""
11929  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_component(self, i)
11930 
11931  def get_principal_values(self):
11932  r"""get_principal_values(PrincipalComponentAnalysis2D self) -> Vector2D"""
11933  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_values(self)
11934 
11935  def get_principal_value(self, i):
11936  r"""get_principal_value(PrincipalComponentAnalysis2D self, unsigned int i) -> double"""
11937  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_value(self, i)
11938 
11939  def get_centroid(self):
11940  r"""get_centroid(PrincipalComponentAnalysis2D self) -> Vector2D"""
11941  return _IMP_algebra.PrincipalComponentAnalysis2D_get_centroid(self)
11942 
11943  def set_centroid(self, cntr):
11944  r"""set_centroid(PrincipalComponentAnalysis2D self, Vector2D cntr)"""
11945  return _IMP_algebra.PrincipalComponentAnalysis2D_set_centroid(self, cntr)
11946 
11947  def show(self, *args):
11948  r"""show(PrincipalComponentAnalysis2D self, _ostream out=std::cout)"""
11949  return _IMP_algebra.PrincipalComponentAnalysis2D_show(self, *args)
11950 
11951  def __cmp__(self, o):
11952  r"""__cmp__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> int"""
11953  return _IMP_algebra.PrincipalComponentAnalysis2D___cmp__(self, o)
11954 
11955  def __eq__(self, o):
11956  r"""__eq__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11957  return _IMP_algebra.PrincipalComponentAnalysis2D___eq__(self, o)
11958 
11959  def __ne__(self, o):
11960  r"""__ne__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11961  return _IMP_algebra.PrincipalComponentAnalysis2D___ne__(self, o)
11962 
11963  def __lt__(self, o):
11964  r"""__lt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11965  return _IMP_algebra.PrincipalComponentAnalysis2D___lt__(self, o)
11966 
11967  def __gt__(self, o):
11968  r"""__gt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11969  return _IMP_algebra.PrincipalComponentAnalysis2D___gt__(self, o)
11970 
11971  def __ge__(self, o):
11972  r"""__ge__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11973  return _IMP_algebra.PrincipalComponentAnalysis2D___ge__(self, o)
11974 
11975  def __le__(self, o):
11976  r"""__le__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
11977  return _IMP_algebra.PrincipalComponentAnalysis2D___le__(self, o)
11978 
11979  def __str__(self):
11980  r"""__str__(PrincipalComponentAnalysis2D self) -> std::string"""
11981  return _IMP_algebra.PrincipalComponentAnalysis2D___str__(self)
11982 
11983  def __repr__(self):
11984  r"""__repr__(PrincipalComponentAnalysis2D self) -> std::string"""
11985  return _IMP_algebra.PrincipalComponentAnalysis2D___repr__(self)
11986 
11987  def _get_as_binary(self):
11988  r"""_get_as_binary(PrincipalComponentAnalysis2D self) -> PyObject *"""
11989  return _IMP_algebra.PrincipalComponentAnalysis2D__get_as_binary(self)
11990 
11991  def _set_from_binary(self, p):
11992  r"""_set_from_binary(PrincipalComponentAnalysis2D self, PyObject * p)"""
11993  return _IMP_algebra.PrincipalComponentAnalysis2D__set_from_binary(self, p)
11994 
11995  def __getstate__(self):
11996  p = self._get_as_binary()
11997  if len(self.__dict__) > 1:
11998  d = self.__dict__.copy()
11999  del d['this']
12000  p = (d, p)
12001  return p
12002 
12003  def __setstate__(self, p):
12004  if not hasattr(self, 'this'):
12005  self.__init__()
12006  if isinstance(p, tuple):
12007  d, p = p
12008  self.__dict__.update(d)
12009  return self._set_from_binary(p)
12010 
12011  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis2D
12012 
12013 # Register PrincipalComponentAnalysis2D in _IMP_algebra:
12014 _IMP_algebra.PrincipalComponentAnalysis2D_swigregister(PrincipalComponentAnalysis2D)
12015 class PrincipalComponentAnalysis3D(_GeometricPrimitive3D):
12016  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 3 > class."""
12017 
12018  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12019 
12020  def __init__(self, *args):
12021  r"""
12022  __init__(PrincipalComponentAnalysis3D self) -> PrincipalComponentAnalysis3D
12023  __init__(PrincipalComponentAnalysis3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & pcs, Vector3D values, Vector3D centroid) -> PrincipalComponentAnalysis3D
12024  """
12025  _IMP_algebra.PrincipalComponentAnalysis3D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis3D(*args))
12026 
12027  def get_principal_components(self):
12028  r"""get_principal_components(PrincipalComponentAnalysis3D self) -> IMP::Vector< IMP::algebra::VectorD< 3 > >"""
12029  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_components(self)
12030 
12031  def get_principal_component(self, i):
12032  r"""get_principal_component(PrincipalComponentAnalysis3D self, unsigned int i) -> Vector3D"""
12033  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_component(self, i)
12034 
12035  def get_principal_values(self):
12036  r"""get_principal_values(PrincipalComponentAnalysis3D self) -> Vector3D"""
12037  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_values(self)
12038 
12039  def get_principal_value(self, i):
12040  r"""get_principal_value(PrincipalComponentAnalysis3D self, unsigned int i) -> double"""
12041  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_value(self, i)
12042 
12043  def get_centroid(self):
12044  r"""get_centroid(PrincipalComponentAnalysis3D self) -> Vector3D"""
12045  return _IMP_algebra.PrincipalComponentAnalysis3D_get_centroid(self)
12046 
12047  def set_centroid(self, cntr):
12048  r"""set_centroid(PrincipalComponentAnalysis3D self, Vector3D cntr)"""
12049  return _IMP_algebra.PrincipalComponentAnalysis3D_set_centroid(self, cntr)
12050 
12051  def show(self, *args):
12052  r"""show(PrincipalComponentAnalysis3D self, _ostream out=std::cout)"""
12053  return _IMP_algebra.PrincipalComponentAnalysis3D_show(self, *args)
12054 
12055  def __cmp__(self, o):
12056  r"""__cmp__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> int"""
12057  return _IMP_algebra.PrincipalComponentAnalysis3D___cmp__(self, o)
12058 
12059  def __eq__(self, o):
12060  r"""__eq__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12061  return _IMP_algebra.PrincipalComponentAnalysis3D___eq__(self, o)
12062 
12063  def __ne__(self, o):
12064  r"""__ne__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12065  return _IMP_algebra.PrincipalComponentAnalysis3D___ne__(self, o)
12066 
12067  def __lt__(self, o):
12068  r"""__lt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12069  return _IMP_algebra.PrincipalComponentAnalysis3D___lt__(self, o)
12070 
12071  def __gt__(self, o):
12072  r"""__gt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12073  return _IMP_algebra.PrincipalComponentAnalysis3D___gt__(self, o)
12074 
12075  def __ge__(self, o):
12076  r"""__ge__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12077  return _IMP_algebra.PrincipalComponentAnalysis3D___ge__(self, o)
12078 
12079  def __le__(self, o):
12080  r"""__le__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
12081  return _IMP_algebra.PrincipalComponentAnalysis3D___le__(self, o)
12082 
12083  def __str__(self):
12084  r"""__str__(PrincipalComponentAnalysis3D self) -> std::string"""
12085  return _IMP_algebra.PrincipalComponentAnalysis3D___str__(self)
12086 
12087  def __repr__(self):
12088  r"""__repr__(PrincipalComponentAnalysis3D self) -> std::string"""
12089  return _IMP_algebra.PrincipalComponentAnalysis3D___repr__(self)
12090 
12091  def _get_as_binary(self):
12092  r"""_get_as_binary(PrincipalComponentAnalysis3D self) -> PyObject *"""
12093  return _IMP_algebra.PrincipalComponentAnalysis3D__get_as_binary(self)
12094 
12095  def _set_from_binary(self, p):
12096  r"""_set_from_binary(PrincipalComponentAnalysis3D self, PyObject * p)"""
12097  return _IMP_algebra.PrincipalComponentAnalysis3D__set_from_binary(self, p)
12098 
12099  def __getstate__(self):
12100  p = self._get_as_binary()
12101  if len(self.__dict__) > 1:
12102  d = self.__dict__.copy()
12103  del d['this']
12104  p = (d, p)
12105  return p
12106 
12107  def __setstate__(self, p):
12108  if not hasattr(self, 'this'):
12109  self.__init__()
12110  if isinstance(p, tuple):
12111  d, p = p
12112  self.__dict__.update(d)
12113  return self._set_from_binary(p)
12114 
12115  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis3D
12116 
12117 # Register PrincipalComponentAnalysis3D in _IMP_algebra:
12118 _IMP_algebra.PrincipalComponentAnalysis3D_swigregister(PrincipalComponentAnalysis3D)
12119 class PrincipalComponentAnalysis4D(_GeometricPrimitive4D):
12120  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 4 > class."""
12121 
12122  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12123 
12124  def __init__(self, *args):
12125  r"""
12126  __init__(PrincipalComponentAnalysis4D self) -> PrincipalComponentAnalysis4D
12127  __init__(PrincipalComponentAnalysis4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & pcs, Vector4D values, Vector4D centroid) -> PrincipalComponentAnalysis4D
12128  """
12129  _IMP_algebra.PrincipalComponentAnalysis4D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis4D(*args))
12130 
12131  def get_principal_components(self):
12132  r"""get_principal_components(PrincipalComponentAnalysis4D self) -> IMP::Vector< IMP::algebra::VectorD< 4 > >"""
12133  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_components(self)
12134 
12135  def get_principal_component(self, i):
12136  r"""get_principal_component(PrincipalComponentAnalysis4D self, unsigned int i) -> Vector4D"""
12137  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_component(self, i)
12138 
12139  def get_principal_values(self):
12140  r"""get_principal_values(PrincipalComponentAnalysis4D self) -> Vector4D"""
12141  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_values(self)
12142 
12143  def get_principal_value(self, i):
12144  r"""get_principal_value(PrincipalComponentAnalysis4D self, unsigned int i) -> double"""
12145  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_value(self, i)
12146 
12147  def get_centroid(self):
12148  r"""get_centroid(PrincipalComponentAnalysis4D self) -> Vector4D"""
12149  return _IMP_algebra.PrincipalComponentAnalysis4D_get_centroid(self)
12150 
12151  def set_centroid(self, cntr):
12152  r"""set_centroid(PrincipalComponentAnalysis4D self, Vector4D cntr)"""
12153  return _IMP_algebra.PrincipalComponentAnalysis4D_set_centroid(self, cntr)
12154 
12155  def show(self, *args):
12156  r"""show(PrincipalComponentAnalysis4D self, _ostream out=std::cout)"""
12157  return _IMP_algebra.PrincipalComponentAnalysis4D_show(self, *args)
12158 
12159  def __cmp__(self, o):
12160  r"""__cmp__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> int"""
12161  return _IMP_algebra.PrincipalComponentAnalysis4D___cmp__(self, o)
12162 
12163  def __eq__(self, o):
12164  r"""__eq__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12165  return _IMP_algebra.PrincipalComponentAnalysis4D___eq__(self, o)
12166 
12167  def __ne__(self, o):
12168  r"""__ne__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12169  return _IMP_algebra.PrincipalComponentAnalysis4D___ne__(self, o)
12170 
12171  def __lt__(self, o):
12172  r"""__lt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12173  return _IMP_algebra.PrincipalComponentAnalysis4D___lt__(self, o)
12174 
12175  def __gt__(self, o):
12176  r"""__gt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12177  return _IMP_algebra.PrincipalComponentAnalysis4D___gt__(self, o)
12178 
12179  def __ge__(self, o):
12180  r"""__ge__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12181  return _IMP_algebra.PrincipalComponentAnalysis4D___ge__(self, o)
12182 
12183  def __le__(self, o):
12184  r"""__le__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
12185  return _IMP_algebra.PrincipalComponentAnalysis4D___le__(self, o)
12186 
12187  def __str__(self):
12188  r"""__str__(PrincipalComponentAnalysis4D self) -> std::string"""
12189  return _IMP_algebra.PrincipalComponentAnalysis4D___str__(self)
12190 
12191  def __repr__(self):
12192  r"""__repr__(PrincipalComponentAnalysis4D self) -> std::string"""
12193  return _IMP_algebra.PrincipalComponentAnalysis4D___repr__(self)
12194 
12195  def _get_as_binary(self):
12196  r"""_get_as_binary(PrincipalComponentAnalysis4D self) -> PyObject *"""
12197  return _IMP_algebra.PrincipalComponentAnalysis4D__get_as_binary(self)
12198 
12199  def _set_from_binary(self, p):
12200  r"""_set_from_binary(PrincipalComponentAnalysis4D self, PyObject * p)"""
12201  return _IMP_algebra.PrincipalComponentAnalysis4D__set_from_binary(self, p)
12202 
12203  def __getstate__(self):
12204  p = self._get_as_binary()
12205  if len(self.__dict__) > 1:
12206  d = self.__dict__.copy()
12207  del d['this']
12208  p = (d, p)
12209  return p
12210 
12211  def __setstate__(self, p):
12212  if not hasattr(self, 'this'):
12213  self.__init__()
12214  if isinstance(p, tuple):
12215  d, p = p
12216  self.__dict__.update(d)
12217  return self._set_from_binary(p)
12218 
12219  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis4D
12220 
12221 # Register PrincipalComponentAnalysis4D in _IMP_algebra:
12222 _IMP_algebra.PrincipalComponentAnalysis4D_swigregister(PrincipalComponentAnalysis4D)
12223 class PrincipalComponentAnalysis5D(_GeometricPrimitive5D):
12224  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 5 > class."""
12225 
12226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12227 
12228  def __init__(self, *args):
12229  r"""
12230  __init__(PrincipalComponentAnalysis5D self) -> PrincipalComponentAnalysis5D
12231  __init__(PrincipalComponentAnalysis5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & pcs, Vector5D values, Vector5D centroid) -> PrincipalComponentAnalysis5D
12232  """
12233  _IMP_algebra.PrincipalComponentAnalysis5D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis5D(*args))
12234 
12235  def get_principal_components(self):
12236  r"""get_principal_components(PrincipalComponentAnalysis5D self) -> IMP::Vector< IMP::algebra::VectorD< 5 > >"""
12237  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_components(self)
12238 
12239  def get_principal_component(self, i):
12240  r"""get_principal_component(PrincipalComponentAnalysis5D self, unsigned int i) -> Vector5D"""
12241  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_component(self, i)
12242 
12243  def get_principal_values(self):
12244  r"""get_principal_values(PrincipalComponentAnalysis5D self) -> Vector5D"""
12245  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_values(self)
12246 
12247  def get_principal_value(self, i):
12248  r"""get_principal_value(PrincipalComponentAnalysis5D self, unsigned int i) -> double"""
12249  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_value(self, i)
12250 
12251  def get_centroid(self):
12252  r"""get_centroid(PrincipalComponentAnalysis5D self) -> Vector5D"""
12253  return _IMP_algebra.PrincipalComponentAnalysis5D_get_centroid(self)
12254 
12255  def set_centroid(self, cntr):
12256  r"""set_centroid(PrincipalComponentAnalysis5D self, Vector5D cntr)"""
12257  return _IMP_algebra.PrincipalComponentAnalysis5D_set_centroid(self, cntr)
12258 
12259  def show(self, *args):
12260  r"""show(PrincipalComponentAnalysis5D self, _ostream out=std::cout)"""
12261  return _IMP_algebra.PrincipalComponentAnalysis5D_show(self, *args)
12262 
12263  def __cmp__(self, o):
12264  r"""__cmp__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> int"""
12265  return _IMP_algebra.PrincipalComponentAnalysis5D___cmp__(self, o)
12266 
12267  def __eq__(self, o):
12268  r"""__eq__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12269  return _IMP_algebra.PrincipalComponentAnalysis5D___eq__(self, o)
12270 
12271  def __ne__(self, o):
12272  r"""__ne__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12273  return _IMP_algebra.PrincipalComponentAnalysis5D___ne__(self, o)
12274 
12275  def __lt__(self, o):
12276  r"""__lt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12277  return _IMP_algebra.PrincipalComponentAnalysis5D___lt__(self, o)
12278 
12279  def __gt__(self, o):
12280  r"""__gt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12281  return _IMP_algebra.PrincipalComponentAnalysis5D___gt__(self, o)
12282 
12283  def __ge__(self, o):
12284  r"""__ge__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12285  return _IMP_algebra.PrincipalComponentAnalysis5D___ge__(self, o)
12286 
12287  def __le__(self, o):
12288  r"""__le__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
12289  return _IMP_algebra.PrincipalComponentAnalysis5D___le__(self, o)
12290 
12291  def __str__(self):
12292  r"""__str__(PrincipalComponentAnalysis5D self) -> std::string"""
12293  return _IMP_algebra.PrincipalComponentAnalysis5D___str__(self)
12294 
12295  def __repr__(self):
12296  r"""__repr__(PrincipalComponentAnalysis5D self) -> std::string"""
12297  return _IMP_algebra.PrincipalComponentAnalysis5D___repr__(self)
12298 
12299  def _get_as_binary(self):
12300  r"""_get_as_binary(PrincipalComponentAnalysis5D self) -> PyObject *"""
12301  return _IMP_algebra.PrincipalComponentAnalysis5D__get_as_binary(self)
12302 
12303  def _set_from_binary(self, p):
12304  r"""_set_from_binary(PrincipalComponentAnalysis5D self, PyObject * p)"""
12305  return _IMP_algebra.PrincipalComponentAnalysis5D__set_from_binary(self, p)
12306 
12307  def __getstate__(self):
12308  p = self._get_as_binary()
12309  if len(self.__dict__) > 1:
12310  d = self.__dict__.copy()
12311  del d['this']
12312  p = (d, p)
12313  return p
12314 
12315  def __setstate__(self, p):
12316  if not hasattr(self, 'this'):
12317  self.__init__()
12318  if isinstance(p, tuple):
12319  d, p = p
12320  self.__dict__.update(d)
12321  return self._set_from_binary(p)
12322 
12323  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis5D
12324 
12325 # Register PrincipalComponentAnalysis5D in _IMP_algebra:
12326 _IMP_algebra.PrincipalComponentAnalysis5D_swigregister(PrincipalComponentAnalysis5D)
12327 class PrincipalComponentAnalysis6D(_GeometricPrimitive6D):
12328  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 6 > class."""
12329 
12330  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12331 
12332  def __init__(self, *args):
12333  r"""
12334  __init__(PrincipalComponentAnalysis6D self) -> PrincipalComponentAnalysis6D
12335  __init__(PrincipalComponentAnalysis6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & pcs, Vector6D values, Vector6D centroid) -> PrincipalComponentAnalysis6D
12336  """
12337  _IMP_algebra.PrincipalComponentAnalysis6D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis6D(*args))
12338 
12339  def get_principal_components(self):
12340  r"""get_principal_components(PrincipalComponentAnalysis6D self) -> IMP::Vector< IMP::algebra::VectorD< 6 > >"""
12341  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_components(self)
12342 
12343  def get_principal_component(self, i):
12344  r"""get_principal_component(PrincipalComponentAnalysis6D self, unsigned int i) -> Vector6D"""
12345  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_component(self, i)
12346 
12347  def get_principal_values(self):
12348  r"""get_principal_values(PrincipalComponentAnalysis6D self) -> Vector6D"""
12349  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_values(self)
12350 
12351  def get_principal_value(self, i):
12352  r"""get_principal_value(PrincipalComponentAnalysis6D self, unsigned int i) -> double"""
12353  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_value(self, i)
12354 
12355  def get_centroid(self):
12356  r"""get_centroid(PrincipalComponentAnalysis6D self) -> Vector6D"""
12357  return _IMP_algebra.PrincipalComponentAnalysis6D_get_centroid(self)
12358 
12359  def set_centroid(self, cntr):
12360  r"""set_centroid(PrincipalComponentAnalysis6D self, Vector6D cntr)"""
12361  return _IMP_algebra.PrincipalComponentAnalysis6D_set_centroid(self, cntr)
12362 
12363  def show(self, *args):
12364  r"""show(PrincipalComponentAnalysis6D self, _ostream out=std::cout)"""
12365  return _IMP_algebra.PrincipalComponentAnalysis6D_show(self, *args)
12366 
12367  def __cmp__(self, o):
12368  r"""__cmp__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> int"""
12369  return _IMP_algebra.PrincipalComponentAnalysis6D___cmp__(self, o)
12370 
12371  def __eq__(self, o):
12372  r"""__eq__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12373  return _IMP_algebra.PrincipalComponentAnalysis6D___eq__(self, o)
12374 
12375  def __ne__(self, o):
12376  r"""__ne__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12377  return _IMP_algebra.PrincipalComponentAnalysis6D___ne__(self, o)
12378 
12379  def __lt__(self, o):
12380  r"""__lt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12381  return _IMP_algebra.PrincipalComponentAnalysis6D___lt__(self, o)
12382 
12383  def __gt__(self, o):
12384  r"""__gt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12385  return _IMP_algebra.PrincipalComponentAnalysis6D___gt__(self, o)
12386 
12387  def __ge__(self, o):
12388  r"""__ge__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12389  return _IMP_algebra.PrincipalComponentAnalysis6D___ge__(self, o)
12390 
12391  def __le__(self, o):
12392  r"""__le__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
12393  return _IMP_algebra.PrincipalComponentAnalysis6D___le__(self, o)
12394 
12395  def __str__(self):
12396  r"""__str__(PrincipalComponentAnalysis6D self) -> std::string"""
12397  return _IMP_algebra.PrincipalComponentAnalysis6D___str__(self)
12398 
12399  def __repr__(self):
12400  r"""__repr__(PrincipalComponentAnalysis6D self) -> std::string"""
12401  return _IMP_algebra.PrincipalComponentAnalysis6D___repr__(self)
12402 
12403  def _get_as_binary(self):
12404  r"""_get_as_binary(PrincipalComponentAnalysis6D self) -> PyObject *"""
12405  return _IMP_algebra.PrincipalComponentAnalysis6D__get_as_binary(self)
12406 
12407  def _set_from_binary(self, p):
12408  r"""_set_from_binary(PrincipalComponentAnalysis6D self, PyObject * p)"""
12409  return _IMP_algebra.PrincipalComponentAnalysis6D__set_from_binary(self, p)
12410 
12411  def __getstate__(self):
12412  p = self._get_as_binary()
12413  if len(self.__dict__) > 1:
12414  d = self.__dict__.copy()
12415  del d['this']
12416  p = (d, p)
12417  return p
12418 
12419  def __setstate__(self, p):
12420  if not hasattr(self, 'this'):
12421  self.__init__()
12422  if isinstance(p, tuple):
12423  d, p = p
12424  self.__dict__.update(d)
12425  return self._set_from_binary(p)
12426 
12427  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis6D
12428 
12429 # Register PrincipalComponentAnalysis6D in _IMP_algebra:
12430 _IMP_algebra.PrincipalComponentAnalysis6D_swigregister(PrincipalComponentAnalysis6D)
12431 class PrincipalComponentAnalysisKD(_GeometricPrimitiveKD):
12432  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< -1 > class."""
12433 
12434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12435 
12436  def __init__(self, *args):
12437  r"""
12438  __init__(PrincipalComponentAnalysisKD self) -> PrincipalComponentAnalysisKD
12439  __init__(PrincipalComponentAnalysisKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & pcs, VectorKD values, VectorKD centroid) -> PrincipalComponentAnalysisKD
12440  """
12441  _IMP_algebra.PrincipalComponentAnalysisKD_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysisKD(*args))
12442 
12443  def get_principal_components(self):
12444  r"""get_principal_components(PrincipalComponentAnalysisKD self) -> IMP::Vector< IMP::algebra::VectorD< -1 > >"""
12445  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_components(self)
12446 
12447  def get_principal_component(self, i):
12448  r"""get_principal_component(PrincipalComponentAnalysisKD self, unsigned int i) -> VectorKD"""
12449  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_component(self, i)
12450 
12451  def get_principal_values(self):
12452  r"""get_principal_values(PrincipalComponentAnalysisKD self) -> VectorKD"""
12453  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_values(self)
12454 
12455  def get_principal_value(self, i):
12456  r"""get_principal_value(PrincipalComponentAnalysisKD self, unsigned int i) -> double"""
12457  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_value(self, i)
12458 
12459  def get_centroid(self):
12460  r"""get_centroid(PrincipalComponentAnalysisKD self) -> VectorKD"""
12461  return _IMP_algebra.PrincipalComponentAnalysisKD_get_centroid(self)
12462 
12463  def set_centroid(self, cntr):
12464  r"""set_centroid(PrincipalComponentAnalysisKD self, VectorKD cntr)"""
12465  return _IMP_algebra.PrincipalComponentAnalysisKD_set_centroid(self, cntr)
12466 
12467  def show(self, *args):
12468  r"""show(PrincipalComponentAnalysisKD self, _ostream out=std::cout)"""
12469  return _IMP_algebra.PrincipalComponentAnalysisKD_show(self, *args)
12470 
12471  def __cmp__(self, o):
12472  r"""__cmp__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> int"""
12473  return _IMP_algebra.PrincipalComponentAnalysisKD___cmp__(self, o)
12474 
12475  def __eq__(self, o):
12476  r"""__eq__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12477  return _IMP_algebra.PrincipalComponentAnalysisKD___eq__(self, o)
12478 
12479  def __ne__(self, o):
12480  r"""__ne__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12481  return _IMP_algebra.PrincipalComponentAnalysisKD___ne__(self, o)
12482 
12483  def __lt__(self, o):
12484  r"""__lt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12485  return _IMP_algebra.PrincipalComponentAnalysisKD___lt__(self, o)
12486 
12487  def __gt__(self, o):
12488  r"""__gt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12489  return _IMP_algebra.PrincipalComponentAnalysisKD___gt__(self, o)
12490 
12491  def __ge__(self, o):
12492  r"""__ge__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12493  return _IMP_algebra.PrincipalComponentAnalysisKD___ge__(self, o)
12494 
12495  def __le__(self, o):
12496  r"""__le__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
12497  return _IMP_algebra.PrincipalComponentAnalysisKD___le__(self, o)
12498 
12499  def __str__(self):
12500  r"""__str__(PrincipalComponentAnalysisKD self) -> std::string"""
12501  return _IMP_algebra.PrincipalComponentAnalysisKD___str__(self)
12502 
12503  def __repr__(self):
12504  r"""__repr__(PrincipalComponentAnalysisKD self) -> std::string"""
12505  return _IMP_algebra.PrincipalComponentAnalysisKD___repr__(self)
12506 
12507  def _get_as_binary(self):
12508  r"""_get_as_binary(PrincipalComponentAnalysisKD self) -> PyObject *"""
12509  return _IMP_algebra.PrincipalComponentAnalysisKD__get_as_binary(self)
12510 
12511  def _set_from_binary(self, p):
12512  r"""_set_from_binary(PrincipalComponentAnalysisKD self, PyObject * p)"""
12513  return _IMP_algebra.PrincipalComponentAnalysisKD__set_from_binary(self, p)
12514 
12515  def __getstate__(self):
12516  p = self._get_as_binary()
12517  if len(self.__dict__) > 1:
12518  d = self.__dict__.copy()
12519  del d['this']
12520  p = (d, p)
12521  return p
12522 
12523  def __setstate__(self, p):
12524  if not hasattr(self, 'this'):
12525  self.__init__()
12526  if isinstance(p, tuple):
12527  d, p = p
12528  self.__dict__.update(d)
12529  return self._set_from_binary(p)
12530 
12531  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysisKD
12532 
12533 # Register PrincipalComponentAnalysisKD in _IMP_algebra:
12534 _IMP_algebra.PrincipalComponentAnalysisKD_swigregister(PrincipalComponentAnalysisKD)
12535 
12536 def get_principal_components(*args):
12537  r"""
12538  get_principal_components(IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > > const & a) -> PrincipalComponentAnalysis1D
12539  get_principal_components(IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > > const & a) -> PrincipalComponentAnalysis2D
12540  get_principal_components(IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > > const & a) -> PrincipalComponentAnalysis3D
12541  get_principal_components(IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > > const & a) -> PrincipalComponentAnalysis4D
12542  get_principal_components(IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > > const & a) -> PrincipalComponentAnalysis5D
12543  get_principal_components(IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > > const & a) -> PrincipalComponentAnalysis6D
12544  get_principal_components(IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > > const & a) -> PrincipalComponentAnalysisKD
12545  """
12546  return _IMP_algebra.get_principal_components(*args)
12547 
12548 def get_distance(*args):
12549  r"""
12550  get_distance(Rotation3D r0, Rotation3D r1) -> double
12551  get_distance(Line3D s, Vector3D p) -> double
12552  get_distance(Line3D a, Line3D b) -> double
12553  get_distance(Segment3D s, Vector3D p) -> double
12554  get_distance(Segment3D a, Segment3D b) -> double
12555  get_distance(Plane3D pln, Vector3D p) -> double
12556  get_distance(Vector1D a, Vector1D b) -> double
12557  get_distance(Vector2D a, Vector2D b) -> double
12558  get_distance(Vector3D a, Vector3D b) -> double
12559  get_distance(Vector4D a, Vector4D b) -> double
12560  get_distance(Vector5D a, Vector5D b) -> double
12561  get_distance(Vector6D a, Vector6D b) -> double
12562  get_distance(VectorKD a, VectorKD b) -> double
12563  get_distance(Sphere1D a, Sphere1D b) -> double
12564  get_distance(Sphere2D a, Sphere2D b) -> double
12565  get_distance(Sphere3D a, Sphere3D b) -> double
12566  get_distance(Sphere4D a, Sphere4D b) -> double
12567  get_distance(Sphere5D a, Sphere5D b) -> double
12568  get_distance(Sphere6D a, Sphere6D b) -> double
12569  get_distance(SphereKD a, SphereKD b) -> double
12570  """
12571  return _IMP_algebra.get_distance(*args)
12572 
12573 def get_squared_distance(*args):
12574  r"""
12575  get_squared_distance(Vector1D a, Vector1D b) -> double
12576  get_squared_distance(Vector2D a, Vector2D b) -> double
12577  get_squared_distance(Vector3D a, Vector3D b) -> double
12578  get_squared_distance(Vector4D a, Vector4D b) -> double
12579  get_squared_distance(Vector5D a, Vector5D b) -> double
12580  get_squared_distance(Vector6D a, Vector6D b) -> double
12581  get_squared_distance(VectorKD a, VectorKD b) -> double
12582  """
12583  return _IMP_algebra.get_squared_distance(*args)
12584 
12585 def get_basis_vector_1d(coordinate):
12586  r"""get_basis_vector_1d(unsigned int coordinate) -> Vector1D"""
12587  return _IMP_algebra.get_basis_vector_1d(coordinate)
12588 
12589 def get_basis_vector_2d(coordinate):
12590  r"""get_basis_vector_2d(unsigned int coordinate) -> Vector2D"""
12591  return _IMP_algebra.get_basis_vector_2d(coordinate)
12592 
12593 def get_basis_vector_3d(coordinate):
12594  r"""get_basis_vector_3d(unsigned int coordinate) -> Vector3D"""
12595  return _IMP_algebra.get_basis_vector_3d(coordinate)
12596 
12597 def get_basis_vector_4d(coordinate):
12598  r"""get_basis_vector_4d(unsigned int coordinate) -> Vector4D"""
12599  return _IMP_algebra.get_basis_vector_4d(coordinate)
12600 
12601 def get_basis_vector_5d(coordinate):
12602  r"""get_basis_vector_5d(unsigned int coordinate) -> Vector5D"""
12603  return _IMP_algebra.get_basis_vector_5d(coordinate)
12604 
12605 def get_basis_vector_6d(coordinate):
12606  r"""get_basis_vector_6d(unsigned int coordinate) -> Vector6D"""
12607  return _IMP_algebra.get_basis_vector_6d(coordinate)
12608 
12609 def get_zero_vector_1d():
12610  r"""get_zero_vector_1d() -> Vector1D"""
12611  return _IMP_algebra.get_zero_vector_1d()
12612 
12613 def get_zero_vector_2d():
12614  r"""get_zero_vector_2d() -> Vector2D"""
12615  return _IMP_algebra.get_zero_vector_2d()
12616 
12617 def get_zero_vector_3d():
12618  r"""get_zero_vector_3d() -> Vector3D"""
12619  return _IMP_algebra.get_zero_vector_3d()
12620 
12621 def get_zero_vector_4d():
12622  r"""get_zero_vector_4d() -> Vector4D"""
12623  return _IMP_algebra.get_zero_vector_4d()
12624 
12625 def get_zero_vector_5d():
12626  r"""get_zero_vector_5d() -> Vector5D"""
12627  return _IMP_algebra.get_zero_vector_5d()
12628 
12629 def get_zero_vector_6d():
12630  r"""get_zero_vector_6d() -> Vector6D"""
12631  return _IMP_algebra.get_zero_vector_6d()
12632 
12633 def get_ones_vector_1d(v=1):
12634  r"""get_ones_vector_1d(double v=1) -> Vector1D"""
12635  return _IMP_algebra.get_ones_vector_1d(v)
12636 
12637 def get_ones_vector_2d(v=1):
12638  r"""get_ones_vector_2d(double v=1) -> Vector2D"""
12639  return _IMP_algebra.get_ones_vector_2d(v)
12640 
12641 def get_ones_vector_3d(v=1):
12642  r"""get_ones_vector_3d(double v=1) -> Vector3D"""
12643  return _IMP_algebra.get_ones_vector_3d(v)
12644 
12645 def get_ones_vector_4d(v=1):
12646  r"""get_ones_vector_4d(double v=1) -> Vector4D"""
12647  return _IMP_algebra.get_ones_vector_4d(v)
12648 
12649 def get_ones_vector_5d(v=1):
12650  r"""get_ones_vector_5d(double v=1) -> Vector5D"""
12651  return _IMP_algebra.get_ones_vector_5d(v)
12652 
12653 def get_ones_vector_6d(v=1):
12654  r"""get_ones_vector_6d(double v=1) -> Vector6D"""
12655  return _IMP_algebra.get_ones_vector_6d(v)
12656 
12657 def get_unit_bounding_box_1d():
12658  r"""get_unit_bounding_box_1d() -> BoundingBox1D"""
12659  return _IMP_algebra.get_unit_bounding_box_1d()
12660 
12661 def get_unit_bounding_box_2d():
12662  r"""get_unit_bounding_box_2d() -> BoundingBox2D"""
12663  return _IMP_algebra.get_unit_bounding_box_2d()
12664 
12665 def get_unit_bounding_box_3d():
12666  r"""get_unit_bounding_box_3d() -> BoundingBox3D"""
12667  return _IMP_algebra.get_unit_bounding_box_3d()
12668 
12669 def get_unit_bounding_box_4d():
12670  r"""get_unit_bounding_box_4d() -> BoundingBox4D"""
12671  return _IMP_algebra.get_unit_bounding_box_4d()
12672 
12673 def get_unit_bounding_box_5d():
12674  r"""get_unit_bounding_box_5d() -> BoundingBox5D"""
12675  return _IMP_algebra.get_unit_bounding_box_5d()
12676 
12677 def get_unit_bounding_box_6d():
12678  r"""get_unit_bounding_box_6d() -> BoundingBox6D"""
12679  return _IMP_algebra.get_unit_bounding_box_6d()
12680 
12681 def get_cube_1d(radius):
12682  r"""get_cube_1d(double radius) -> BoundingBox1D"""
12683  return _IMP_algebra.get_cube_1d(radius)
12684 
12685 def get_cube_2d(radius):
12686  r"""get_cube_2d(double radius) -> BoundingBox2D"""
12687  return _IMP_algebra.get_cube_2d(radius)
12688 
12689 def get_cube_3d(radius):
12690  r"""get_cube_3d(double radius) -> BoundingBox3D"""
12691  return _IMP_algebra.get_cube_3d(radius)
12692 
12693 def get_cube_4d(radius):
12694  r"""get_cube_4d(double radius) -> BoundingBox4D"""
12695  return _IMP_algebra.get_cube_4d(radius)
12696 
12697 def get_cube_5d(radius):
12698  r"""get_cube_5d(double radius) -> BoundingBox5D"""
12699  return _IMP_algebra.get_cube_5d(radius)
12700 
12701 def get_cube_6d(radius):
12702  r"""get_cube_6d(double radius) -> BoundingBox6D"""
12703  return _IMP_algebra.get_cube_6d(radius)
12704 
12705 def get_unit_sphere_1d():
12706  r"""get_unit_sphere_1d() -> Sphere1D"""
12707  return _IMP_algebra.get_unit_sphere_1d()
12708 
12709 def get_unit_sphere_2d():
12710  r"""get_unit_sphere_2d() -> Sphere2D"""
12711  return _IMP_algebra.get_unit_sphere_2d()
12712 
12713 def get_unit_sphere_3d():
12714  r"""get_unit_sphere_3d() -> Sphere3D"""
12715  return _IMP_algebra.get_unit_sphere_3d()
12716 
12717 def get_unit_sphere_4d():
12718  r"""get_unit_sphere_4d() -> Sphere4D"""
12719  return _IMP_algebra.get_unit_sphere_4d()
12720 
12721 def get_unit_sphere_5d():
12722  r"""get_unit_sphere_5d() -> Sphere5D"""
12723  return _IMP_algebra.get_unit_sphere_5d()
12724 
12725 def get_unit_sphere_6d():
12726  r"""get_unit_sphere_6d() -> Sphere6D"""
12727  return _IMP_algebra.get_unit_sphere_6d()
12728 
12729 def get_interiors_intersect(*args):
12730  r"""
12731  get_interiors_intersect(Sphere1D a, Sphere1D b) -> bool
12732  get_interiors_intersect(Sphere2D a, Sphere2D b) -> bool
12733  get_interiors_intersect(Sphere3D a, Sphere3D b) -> bool
12734  get_interiors_intersect(Sphere4D a, Sphere4D b) -> bool
12735  get_interiors_intersect(Sphere5D a, Sphere5D b) -> bool
12736  get_interiors_intersect(Sphere6D a, Sphere6D b) -> bool
12737  get_interiors_intersect(SphereKD a, SphereKD b) -> bool
12738  get_interiors_intersect(BoundingBox1D a, BoundingBox1D b) -> bool
12739  get_interiors_intersect(BoundingBox2D a, BoundingBox2D b) -> bool
12740  get_interiors_intersect(BoundingBox3D a, BoundingBox3D b) -> bool
12741  get_interiors_intersect(BoundingBox4D a, BoundingBox4D b) -> bool
12742  get_interiors_intersect(BoundingBox5D a, BoundingBox5D b) -> bool
12743  get_interiors_intersect(BoundingBox6D a, BoundingBox6D b) -> bool
12744  get_interiors_intersect(BoundingBoxKD a, BoundingBoxKD b) -> bool
12745  """
12746  return _IMP_algebra.get_interiors_intersect(*args)
12747 
12748 def get_random_vector_on(*args):
12749  r"""
12750  get_random_vector_on(Sphere1D a) -> Vector1D
12751  get_random_vector_on(Sphere2D a) -> Vector2D
12752  get_random_vector_on(Sphere3D a) -> Vector3D
12753  get_random_vector_on(Sphere4D a) -> Vector4D
12754  get_random_vector_on(Sphere5D a) -> Vector5D
12755  get_random_vector_on(Sphere6D a) -> Vector6D
12756  get_random_vector_on(SphereKD a) -> VectorKD
12757  get_random_vector_on(UnitSimplex1D a) -> Vector1D
12758  get_random_vector_on(UnitSimplex2D a) -> Vector2D
12759  get_random_vector_on(UnitSimplex3D a) -> Vector3D
12760  get_random_vector_on(UnitSimplex4D a) -> Vector4D
12761  get_random_vector_on(UnitSimplex5D a) -> Vector5D
12762  get_random_vector_on(UnitSimplex6D a) -> Vector6D
12763  get_random_vector_on(UnitSimplexKD a) -> VectorKD
12764  get_random_vector_on(BoundingBox1D a) -> Vector1D
12765  get_random_vector_on(BoundingBox2D a) -> Vector2D
12766  get_random_vector_on(BoundingBox3D a) -> Vector3D
12767  get_random_vector_on(BoundingBox4D a) -> Vector4D
12768  get_random_vector_on(BoundingBox5D a) -> Vector5D
12769  get_random_vector_on(BoundingBox6D a) -> Vector6D
12770  get_random_vector_on(BoundingBoxKD a) -> VectorKD
12771  """
12772  return _IMP_algebra.get_random_vector_on(*args)
12773 
12774 def get_random_vector_in(*args):
12775  r"""
12776  get_random_vector_in(Cylinder3D c) -> Vector3D
12777  get_random_vector_in(Sphere1D a) -> Vector1D
12778  get_random_vector_in(Sphere2D a) -> Vector2D
12779  get_random_vector_in(Sphere3D a) -> Vector3D
12780  get_random_vector_in(Sphere4D a) -> Vector4D
12781  get_random_vector_in(Sphere5D a) -> Vector5D
12782  get_random_vector_in(Sphere6D a) -> Vector6D
12783  get_random_vector_in(SphereKD a) -> VectorKD
12784  get_random_vector_in(BoundingBox1D a) -> Vector1D
12785  get_random_vector_in(BoundingBox2D a) -> Vector2D
12786  get_random_vector_in(BoundingBox3D a) -> Vector3D
12787  get_random_vector_in(BoundingBox4D a) -> Vector4D
12788  get_random_vector_in(BoundingBox5D a) -> Vector5D
12789  get_random_vector_in(BoundingBox6D a) -> Vector6D
12790  get_random_vector_in(BoundingBoxKD a) -> VectorKD
12791  """
12792  return _IMP_algebra.get_random_vector_in(*args)
12793 
12794 def get_intersection(*args):
12795  r"""
12796  get_intersection(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12797  get_intersection(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12798  get_intersection(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12799  get_intersection(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12800  get_intersection(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12801  get_intersection(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12802  get_intersection(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12803  """
12804  return _IMP_algebra.get_intersection(*args)
12805 
12806 def get_union(*args):
12807  r"""
12808  get_union(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
12809  get_union(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
12810  get_union(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
12811  get_union(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
12812  get_union(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
12813  get_union(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
12814  get_union(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
12815  """
12816  return _IMP_algebra.get_union(*args)
12817 
12818 def get_bounding_box(*args):
12819  r"""
12820  get_bounding_box(Line3D g) -> BoundingBox3D
12821  get_bounding_box(Segment3D g) -> BoundingBox3D
12822  get_bounding_box(Plane3D g) -> BoundingBox3D
12823  get_bounding_box(Cylinder3D g) -> BoundingBox3D
12824  get_bounding_box(Ellipsoid3D g) -> BoundingBox3D
12825  get_bounding_box(SpherePatch3D g) -> BoundingBox3D
12826  get_bounding_box(Cone3D g) -> BoundingBox3D
12827  get_bounding_box(Sphere1D a) -> BoundingBox1D
12828  get_bounding_box(Sphere2D a) -> BoundingBox2D
12829  get_bounding_box(Sphere3D a) -> BoundingBox3D
12830  get_bounding_box(Sphere4D a) -> BoundingBox4D
12831  get_bounding_box(Sphere5D a) -> BoundingBox5D
12832  get_bounding_box(Sphere6D a) -> BoundingBox6D
12833  get_bounding_box(SphereKD a) -> BoundingBoxKD
12834  """
12835  return _IMP_algebra.get_bounding_box(*args)
12836 
12837 def get_uniform_surface_cover(*args):
12838  r"""
12839  get_uniform_surface_cover(Cylinder3D cyl, int number_of_points) -> IMP::algebra::Vector3Ds
12840  get_uniform_surface_cover(SpherePatch3D sph, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12841  get_uniform_surface_cover(Cone3D cone, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
12842  get_uniform_surface_cover(IMP::algebra::Sphere3Ds const & _in, double points_per_square_angstrom) -> IMP::algebra::Vector3Ds
12843  get_uniform_surface_cover(Sphere1D a, unsigned int const & b) -> IMP::algebra::Vector1Ds
12844  get_uniform_surface_cover(Sphere2D a, unsigned int const & b) -> IMP::algebra::Vector2Ds
12845  get_uniform_surface_cover(Sphere3D a, unsigned int const & b) -> IMP::algebra::Vector3Ds
12846  get_uniform_surface_cover(Sphere4D a, unsigned int const & b) -> IMP::algebra::Vector4Ds
12847  get_uniform_surface_cover(Sphere5D a, unsigned int const & b) -> IMP::algebra::Vector5Ds
12848  get_uniform_surface_cover(Sphere6D a, unsigned int const & b) -> IMP::algebra::Vector6Ds
12849  get_uniform_surface_cover(SphereKD a, unsigned int const & b) -> IMP::algebra::VectorKDs
12850  """
12851  return _IMP_algebra.get_uniform_surface_cover(*args)
12852 
12854  r"""
12855  get_grid_interior_cover_by_spacing(BoundingBox1D a, double const & b) -> IMP::algebra::Vector1Ds
12856  get_grid_interior_cover_by_spacing(BoundingBox2D a, double const & b) -> IMP::algebra::Vector2Ds
12857  get_grid_interior_cover_by_spacing(BoundingBox3D a, double const & b) -> IMP::algebra::Vector3Ds
12858  get_grid_interior_cover_by_spacing(BoundingBox4D a, double const & b) -> IMP::algebra::Vector4Ds
12859  get_grid_interior_cover_by_spacing(BoundingBox5D a, double const & b) -> IMP::algebra::Vector5Ds
12860  get_grid_interior_cover_by_spacing(BoundingBox6D a, double const & b) -> IMP::algebra::Vector6Ds
12861  get_grid_interior_cover_by_spacing(BoundingBoxKD a, double const & b) -> IMP::algebra::VectorKDs
12862  """
12863  return _IMP_algebra.get_grid_interior_cover_by_spacing(*args)
12864 
12865 def get_projected(*args):
12866  r"""
12867  get_projected(Line3D l, Vector3D p) -> Vector3D
12868  get_projected(Line3D l, Segment3D s) -> Segment3D
12869  get_projected(UnitSimplex1D a, Vector1D b) -> Vector1D
12870  get_projected(UnitSimplex2D a, Vector2D b) -> Vector2D
12871  get_projected(UnitSimplex3D a, Vector3D b) -> Vector3D
12872  get_projected(UnitSimplex4D a, Vector4D b) -> Vector4D
12873  get_projected(UnitSimplex5D a, Vector5D b) -> Vector5D
12874  get_projected(UnitSimplex6D a, Vector6D b) -> Vector6D
12875  get_projected(UnitSimplexKD a, VectorKD b) -> VectorKD
12876  """
12877  return _IMP_algebra.get_projected(*args)
12878 
12879 def get_vertices(*args):
12880  r"""
12881  get_vertices(BoundingBox1D a) -> IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > >
12882  get_vertices(BoundingBox2D a) -> IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > >
12883  get_vertices(BoundingBox3D a) -> IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > >
12884  get_vertices(BoundingBox4D a) -> IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > >
12885  get_vertices(BoundingBox5D a) -> IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > >
12886  get_vertices(BoundingBox6D a) -> IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > >
12887  get_vertices(BoundingBoxKD a) -> IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > >
12888  get_vertices(UnitSimplex1D a) -> IMP::Vector< IMP::algebra::Vector1D,std::allocator< IMP::algebra::Vector1D > >
12889  get_vertices(UnitSimplex2D a) -> IMP::Vector< IMP::algebra::Vector2D,std::allocator< IMP::algebra::Vector2D > >
12890  get_vertices(UnitSimplex3D a) -> IMP::Vector< IMP::algebra::Vector3D,std::allocator< IMP::algebra::Vector3D > >
12891  get_vertices(UnitSimplex4D a) -> IMP::Vector< IMP::algebra::Vector4D,std::allocator< IMP::algebra::Vector4D > >
12892  get_vertices(UnitSimplex5D a) -> IMP::Vector< IMP::algebra::Vector5D,std::allocator< IMP::algebra::Vector5D > >
12893  get_vertices(UnitSimplex6D a) -> IMP::Vector< IMP::algebra::Vector6D,std::allocator< IMP::algebra::Vector6D > >
12894  get_vertices(UnitSimplexKD a) -> IMP::Vector< IMP::algebra::VectorKD,std::allocator< IMP::algebra::VectorKD > >
12895  """
12896  return _IMP_algebra.get_vertices(*args)
12897 
12898 def get_increasing_from_embedded(*args):
12899  r"""
12900  get_increasing_from_embedded(UnitSimplex1D a, Vector1D b) -> Vector1D
12901  get_increasing_from_embedded(UnitSimplex2D a, Vector2D b) -> Vector2D
12902  get_increasing_from_embedded(UnitSimplex3D a, Vector3D b) -> Vector3D
12903  get_increasing_from_embedded(UnitSimplex4D a, Vector4D b) -> Vector4D
12904  get_increasing_from_embedded(UnitSimplex5D a, Vector5D b) -> Vector5D
12905  get_increasing_from_embedded(UnitSimplex6D a, Vector6D b) -> Vector6D
12906  get_increasing_from_embedded(UnitSimplexKD a, VectorKD b) -> VectorKD
12907  """
12908  return _IMP_algebra.get_increasing_from_embedded(*args)
12909 
12910 def get_embedded_from_increasing(*args):
12911  r"""
12912  get_embedded_from_increasing(UnitSimplex1D a, Vector1D b) -> Vector1D
12913  get_embedded_from_increasing(UnitSimplex2D a, Vector2D b) -> Vector2D
12914  get_embedded_from_increasing(UnitSimplex3D a, Vector3D b) -> Vector3D
12915  get_embedded_from_increasing(UnitSimplex4D a, Vector4D b) -> Vector4D
12916  get_embedded_from_increasing(UnitSimplex5D a, Vector5D b) -> Vector5D
12917  get_embedded_from_increasing(UnitSimplex6D a, Vector6D b) -> Vector6D
12918  get_embedded_from_increasing(UnitSimplexKD a, VectorKD b) -> VectorKD
12919  """
12920  return _IMP_algebra.get_embedded_from_increasing(*args)
12921 class _AxisAnglePair(object):
12922  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,double > class."""
12923 
12924  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12925  __repr__ = _swig_repr
12926 
12927  def __init__(self, *args):
12928  r"""
12929  __init__(_AxisAnglePair self) -> _AxisAnglePair
12930  __init__(_AxisAnglePair self, Vector3D first, double second) -> _AxisAnglePair
12931  __init__(_AxisAnglePair self, _AxisAnglePair other) -> _AxisAnglePair
12932  """
12933  _IMP_algebra._AxisAnglePair_swiginit(self, _IMP_algebra.new__AxisAnglePair(*args))
12934  first = property(_IMP_algebra._AxisAnglePair_first_get, _IMP_algebra._AxisAnglePair_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12935  second = property(_IMP_algebra._AxisAnglePair_second_get, _IMP_algebra._AxisAnglePair_second_set, doc=r"""second : double""")
12936  def __len__(self):
12937  return 2
12938  def __repr__(self):
12939  return str((self.first, self.second))
12940  def __getitem__(self, index):
12941  if not (index % 2):
12942  return self.first
12943  else:
12944  return self.second
12945  def __setitem__(self, index, val):
12946  if not (index % 2):
12947  self.first = val
12948  else:
12949  self.second = val
12950  __swig_destroy__ = _IMP_algebra.delete__AxisAnglePair
12951 
12952 # Register _AxisAnglePair in _IMP_algebra:
12953 _IMP_algebra._AxisAnglePair_swigregister(_AxisAnglePair)
12954 
12956  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"""
12957  return _IMP_algebra.get_transformation_aligning_first_to_second(source, target)
12958 class _RotatedVector3DAdjoint(object):
12959  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,IMP::algebra::VectorD< 4 > > class."""
12960 
12961  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12962  __repr__ = _swig_repr
12963 
12964  def __init__(self, *args):
12965  r"""
12966  __init__(_RotatedVector3DAdjoint self) -> _RotatedVector3DAdjoint
12967  __init__(_RotatedVector3DAdjoint self, Vector3D first, Vector4D second) -> _RotatedVector3DAdjoint
12968  __init__(_RotatedVector3DAdjoint self, _RotatedVector3DAdjoint other) -> _RotatedVector3DAdjoint
12969  """
12970  _IMP_algebra._RotatedVector3DAdjoint_swiginit(self, _IMP_algebra.new__RotatedVector3DAdjoint(*args))
12971  first = property(_IMP_algebra._RotatedVector3DAdjoint_first_get, _IMP_algebra._RotatedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
12972  second = property(_IMP_algebra._RotatedVector3DAdjoint_second_get, _IMP_algebra._RotatedVector3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
12973  def __len__(self):
12974  return 2
12975  def __repr__(self):
12976  return str((self.first, self.second))
12977  def __getitem__(self, index):
12978  if not (index % 2):
12979  return self.first
12980  else:
12981  return self.second
12982  def __setitem__(self, index, val):
12983  if not (index % 2):
12984  self.first = val
12985  else:
12986  self.second = val
12987  __swig_destroy__ = _IMP_algebra.delete__RotatedVector3DAdjoint
12988 
12989 # Register _RotatedVector3DAdjoint in _IMP_algebra:
12990 _IMP_algebra._RotatedVector3DAdjoint_swigregister(_RotatedVector3DAdjoint)
12991 class _ComposeRotation3DAdjoint(object):
12992  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 4 > > class."""
12993 
12994  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12995  __repr__ = _swig_repr
12996 
12997  def __init__(self, *args):
12998  r"""
12999  __init__(_ComposeRotation3DAdjoint self) -> _ComposeRotation3DAdjoint
13000  __init__(_ComposeRotation3DAdjoint self, Vector4D first, Vector4D second) -> _ComposeRotation3DAdjoint
13001  __init__(_ComposeRotation3DAdjoint self, _ComposeRotation3DAdjoint other) -> _ComposeRotation3DAdjoint
13002  """
13003  _IMP_algebra._ComposeRotation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeRotation3DAdjoint(*args))
13004  first = property(_IMP_algebra._ComposeRotation3DAdjoint_first_get, _IMP_algebra._ComposeRotation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
13005  second = property(_IMP_algebra._ComposeRotation3DAdjoint_second_get, _IMP_algebra._ComposeRotation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(4)>""")
13006  def __len__(self):
13007  return 2
13008  def __repr__(self):
13009  return str((self.first, self.second))
13010  def __getitem__(self, index):
13011  if not (index % 2):
13012  return self.first
13013  else:
13014  return self.second
13015  def __setitem__(self, index, val):
13016  if not (index % 2):
13017  self.first = val
13018  else:
13019  self.second = val
13020  __swig_destroy__ = _IMP_algebra.delete__ComposeRotation3DAdjoint
13021 
13022 # Register _ComposeRotation3DAdjoint in _IMP_algebra:
13023 _IMP_algebra._ComposeRotation3DAdjoint_swigregister(_ComposeRotation3DAdjoint)
13024 class _Transformation3DAdjoint(object):
13025  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > class."""
13026 
13027  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13028  __repr__ = _swig_repr
13029 
13030  def __init__(self, *args):
13031  r"""
13032  __init__(_Transformation3DAdjoint self) -> _Transformation3DAdjoint
13033  __init__(_Transformation3DAdjoint self, Vector4D first, Vector3D second) -> _Transformation3DAdjoint
13034  __init__(_Transformation3DAdjoint self, _Transformation3DAdjoint other) -> _Transformation3DAdjoint
13035  """
13036  _IMP_algebra._Transformation3DAdjoint_swiginit(self, _IMP_algebra.new__Transformation3DAdjoint(*args))
13037  first = property(_IMP_algebra._Transformation3DAdjoint_first_get, _IMP_algebra._Transformation3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(4)>""")
13038  second = property(_IMP_algebra._Transformation3DAdjoint_second_get, _IMP_algebra._Transformation3DAdjoint_second_set, doc=r"""second : IMP::algebra::VectorD<(3)>""")
13039  def __len__(self):
13040  return 2
13041  def __repr__(self):
13042  return str((self.first, self.second))
13043  def __getitem__(self, index):
13044  if not (index % 2):
13045  return self.first
13046  else:
13047  return self.second
13048  def __setitem__(self, index, val):
13049  if not (index % 2):
13050  self.first = val
13051  else:
13052  self.second = val
13053  __swig_destroy__ = _IMP_algebra.delete__Transformation3DAdjoint
13054 
13055 # Register _Transformation3DAdjoint in _IMP_algebra:
13056 _IMP_algebra._Transformation3DAdjoint_swigregister(_Transformation3DAdjoint)
13057 class _TransformedVector3DAdjoint(object):
13058  r"""Proxy of C++ std::pair< IMP::algebra::VectorD< 3 >,std::pair< IMP::algebra::VectorD< 4 >,IMP::algebra::VectorD< 3 > > > class."""
13059 
13060  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13061  __repr__ = _swig_repr
13062 
13063  def __init__(self, *args):
13064  r"""
13065  __init__(_TransformedVector3DAdjoint self) -> _TransformedVector3DAdjoint
13066  __init__(_TransformedVector3DAdjoint self, Vector3D first, _Transformation3DAdjoint second) -> _TransformedVector3DAdjoint
13067  __init__(_TransformedVector3DAdjoint self, _TransformedVector3DAdjoint other) -> _TransformedVector3DAdjoint
13068  """
13069  _IMP_algebra._TransformedVector3DAdjoint_swiginit(self, _IMP_algebra.new__TransformedVector3DAdjoint(*args))
13070  first = property(_IMP_algebra._TransformedVector3DAdjoint_first_get, _IMP_algebra._TransformedVector3DAdjoint_first_set, doc=r"""first : IMP::algebra::VectorD<(3)>""")
13071  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)>)>""")
13072  def __len__(self):
13073  return 2
13074  def __repr__(self):
13075  return str((self.first, self.second))
13076  def __getitem__(self, index):
13077  if not (index % 2):
13078  return self.first
13079  else:
13080  return self.second
13081  def __setitem__(self, index, val):
13082  if not (index % 2):
13083  self.first = val
13084  else:
13085  self.second = val
13086  __swig_destroy__ = _IMP_algebra.delete__TransformedVector3DAdjoint
13087 
13088 # Register _TransformedVector3DAdjoint in _IMP_algebra:
13089 _IMP_algebra._TransformedVector3DAdjoint_swigregister(_TransformedVector3DAdjoint)
13090 class _ComposeTransformation3DAdjoint(object):
13091  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."""
13092 
13093  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13094  __repr__ = _swig_repr
13095 
13096  def __init__(self, *args):
13097  r"""
13098  __init__(_ComposeTransformation3DAdjoint self) -> _ComposeTransformation3DAdjoint
13099  __init__(_ComposeTransformation3DAdjoint self, _Transformation3DAdjoint first, _Transformation3DAdjoint second) -> _ComposeTransformation3DAdjoint
13100  __init__(_ComposeTransformation3DAdjoint self, _ComposeTransformation3DAdjoint other) -> _ComposeTransformation3DAdjoint
13101  """
13102  _IMP_algebra._ComposeTransformation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeTransformation3DAdjoint(*args))
13103  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)>)>""")
13104  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)>)>""")
13105  def __len__(self):
13106  return 2
13107  def __repr__(self):
13108  return str((self.first, self.second))
13109  def __getitem__(self, index):
13110  if not (index % 2):
13111  return self.first
13112  else:
13113  return self.second
13114  def __setitem__(self, index, val):
13115  if not (index % 2):
13116  self.first = val
13117  else:
13118  self.second = val
13119  __swig_destroy__ = _IMP_algebra.delete__ComposeTransformation3DAdjoint
13120 
13121 # Register _ComposeTransformation3DAdjoint in _IMP_algebra:
13122 _IMP_algebra._ComposeTransformation3DAdjoint_swigregister(_ComposeTransformation3DAdjoint)
13123 
13124 def get_rmsd_transforming_first(tr, v0, v1):
13125  r"""get_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13126  return _IMP_algebra.get_rmsd_transforming_first(tr, v0, v1)
13127 
13128 def get_rmsd(v0, v1):
13129  r"""get_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
13130  return _IMP_algebra.get_rmsd(v0, v1)
13131 
13132 def get_weighted_rmsd_transforming_first(tr, v0, v1, weights):
13133  r"""get_weighted_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13134  return _IMP_algebra.get_weighted_rmsd_transforming_first(tr, v0, v1, weights)
13135 
13136 def get_weighted_rmsd(v0, v1, weights):
13137  r"""get_weighted_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
13138  return _IMP_algebra.get_weighted_rmsd(v0, v1, weights)
13139 
13140 LinearFit=LinearFit2D
13141 ParabolicFit=ParabolicFit2D
13142 
13143 
13144 def get_module_version():
13145  r"""get_module_version() -> std::string const"""
13146  return _IMP_algebra.get_module_version()
13147 
13148 def get_example_path(fname):
13149  r"""get_example_path(std::string fname) -> std::string"""
13150  return _IMP_algebra.get_example_path(fname)
13151 
13152 def get_data_path(fname):
13153  r"""get_data_path(std::string fname) -> std::string"""
13154  return _IMP_algebra.get_data_path(fname)
13155 
13156 from . import _version_check
13157 _version_check.check_version(get_module_version())
13158 __version__ = get_module_version()
13159 
13160 
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
Version and module information for Objects.
Definition: VersionInfo.h:29
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:77
std::pair< Vector3D, double > get_axis_and_angle(const Rotation3D &rot)
Decompose a Rotation3D object into a rotation around an axis.
VectorD< 1 > Vector1D
Definition: VectorD.h: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