IMP logo
IMP Reference Guide  develop.eb1b99edaa,2026/06/25
The Integrative Modeling Platform
algebra/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.4.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 from sys import version_info as _swig_python_version_info
15 import _IMP_algebra
16 
17 try:
18  import builtins as __builtin__
19 except ImportError:
20  import __builtin__
21 
22 def _swig_repr(self):
23  try:
24  strthis = "proxy of " + self.this.__repr__()
25  except __builtin__.Exception:
26  strthis = ""
27  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
28 
29 
30 def _swig_setattr_nondynamic_instance_variable(set):
31  def set_instance_attr(self, name, value):
32  if name == "this":
33  set(self, name, value)
34  elif name == "thisown":
35  self.this.own(value)
36  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
37  set(self, name, value)
38  else:
39  raise AttributeError("You cannot add instance attributes to %s" % self)
40  return set_instance_attr
41 
42 
43 def _swig_setattr_nondynamic_class_variable(set):
44  def set_class_attr(cls, name, value):
45  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
46  set(cls, name, value)
47  else:
48  raise AttributeError("You cannot add class attributes to %s" % cls)
49  return set_class_attr
50 
51 
52 def _swig_add_metaclass(metaclass):
53  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
54  def wrapper(cls):
55  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
56  return wrapper
57 
58 
59 class _SwigNonDynamicMeta(type):
60  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
61  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
62 
63 
64 import weakref
65 
66 class IMP_ALGEBRA_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_ALGEBRA_SwigPyIterator class."""
68 
69  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
70 
71  def __init__(self, *args, **kwargs):
72  raise AttributeError("No constructor defined - class is abstract")
73  __repr__ = _swig_repr
74  __swig_destroy__ = _IMP_algebra.delete_IMP_ALGEBRA_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
78  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
82  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
86  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
94  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_ALGEBRA_SwigPyIterator self) -> IMP_ALGEBRA_SwigPyIterator"""
98  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
102  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
106  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
110  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
114  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
118  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
122  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
126  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
130  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
134  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator
139  __sub__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_ALGEBRA_SwigPyIterator in _IMP_algebra:
146 _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_swigregister(IMP_ALGEBRA_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_algebra.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_algebra.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_algebra.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_algebra.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_algebra.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_algebra.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_algebra.IMP_MEMORY
166 
167 IMP_NONE = _IMP_algebra.IMP_NONE
168 
169 IMP_USAGE = _IMP_algebra.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_algebra.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_algebra.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_algebra.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_algebra.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_algebra.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_algebra.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_algebra.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_algebra.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_algebra.IMPKERNEL_SHOW_WARNINGS
196 
197 
198 import sys
199 class _DirectorObjects:
200  """@internal Simple class to keep references to director objects
201  to prevent premature deletion."""
202  def __init__(self):
203  self._objects = []
204  def register(self, obj):
205  """Take a reference to a director object; will only work for
206  refcounted C++ classes"""
207  if hasattr(obj, 'get_ref_count'):
208  self._objects.append(obj)
209  def cleanup(self):
210  """Only drop our reference and allow cleanup by Python if no other
211  Python references exist (we hold 3 references: one in self._objects,
212  one in x, and one in the argument list for getrefcount) *and* no
213  other C++ references exist (the Python object always holds one)"""
214  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
215  or x.get_ref_count() > 1]
216 # Do in two steps so the references are kept until the end of the
217 # function (deleting references may trigger a fresh call to this method)
218  self._objects = objs
219  def get_object_count(self):
220  """Get number of director objects (useful for testing only)"""
221  return len(self._objects)
222 _director_objects = _DirectorObjects()
223 
224 class _ostream(object):
225  r"""Proxy of C++ std::ostream class."""
226 
227  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
228 
229  def __init__(self, *args, **kwargs):
230  raise AttributeError("No constructor defined")
231  __repr__ = _swig_repr
232 
233  def write(self, osa_buf):
234  r"""write(_ostream self, char const * osa_buf)"""
235  return _IMP_algebra._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_algebra:
238 _IMP_algebra._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_algebra.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_algebra.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_algebra.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_algebra.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_algebra.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_algebra.IMPALGEBRA_SHOW_WARNINGS
268 
269 
270 def get_vector(v):
271  try:
272  return v.get_coordinates()
273  except:
274  return v
275 def get_sphere(v):
276  try:
277  return v.get_sphere()
278  except:
279  return v
280 
281 
282 _object_types.append("VectorKDMetric")
283 
284 
285 def _object_cast_to_VectorKDMetric(o):
286  r"""_object_cast_to_VectorKDMetric(Object o) -> VectorKDMetric"""
287  return _IMP_algebra._object_cast_to_VectorKDMetric(o)
288 
289 _object_types.append("EuclideanVectorKDMetric")
290 
291 
292 def _object_cast_to_EuclideanVectorKDMetric(o):
293  r"""_object_cast_to_EuclideanVectorKDMetric(Object o) -> EuclideanVectorKDMetric"""
294  return _IMP_algebra._object_cast_to_EuclideanVectorKDMetric(o)
295 
296 _object_types.append("MaxVectorKDMetric")
297 
298 
299 def _object_cast_to_MaxVectorKDMetric(o):
300  r"""_object_cast_to_MaxVectorKDMetric(Object o) -> MaxVectorKDMetric"""
301  return _IMP_algebra._object_cast_to_MaxVectorKDMetric(o)
302 
303 _object_types.append("DynamicNearestNeighbor3D")
304 
305 
306 def _object_cast_to_DynamicNearestNeighbor3D(o):
307  r"""_object_cast_to_DynamicNearestNeighbor3D(Object o) -> DynamicNearestNeighbor3D"""
308  return _IMP_algebra._object_cast_to_DynamicNearestNeighbor3D(o)
309 
310 Rotation2Ds=list
311 _plural_types.append("Rotation2Ds")
312 _value_types.append("Rotation2D")
313 
314 
315 Rotation3Ds=list
316 _plural_types.append("Rotation3Ds")
317 _value_types.append("Rotation3D")
318 
319 
320 Reflection3Ds=list
321 _plural_types.append("Reflection3Ds")
322 _value_types.append("Reflection3D")
323 
324 
325 Transformation2Ds=list
326 _plural_types.append("Transformation2Ds")
327 _value_types.append("Transformation2D")
328 
329 
330 Transformation3Ds=list
331 _plural_types.append("Transformation3Ds")
332 _value_types.append("Transformation3D")
333 
334 
335 SphericalVector3Ds=list
336 _plural_types.append("SphericalVector3Ds")
337 _value_types.append("SphericalVector3D")
338 
339 
340 Triangle3Ds=list
341 _plural_types.append("Triangle3Ds")
342 _value_types.append("Triangle3D")
343 
344 
345 Cone3Ds=list
346 _plural_types.append("Cone3Ds")
347 _value_types.append("Cone3D")
348 
349 
350 Cylinder3Ds=list
351 _plural_types.append("Cylinder3Ds")
352 _value_types.append("Cylinder3D")
353 
354 
355 Ellipsoid3Ds=list
356 _plural_types.append("Ellipsoid3Ds")
357 _value_types.append("Ellipsoid3D")
358 
359 
360 Line3Ds=list
361 _plural_types.append("Line3Ds")
362 _value_types.append("Line3D")
363 
364 
365 Plane3Ds=list
366 _plural_types.append("Plane3Ds")
367 _value_types.append("Plane3D")
368 
369 
370 Segment3Ds=list
371 _plural_types.append("Segment3Ds")
372 _value_types.append("Segment3D")
373 
374 
375 SpherePatch3Ds=list
376 _plural_types.append("SpherePatch3Ds")
377 _value_types.append("SpherePatch3D")
378 
379 
380 ConnollySurfacePoints=list
381 _plural_types.append("ConnollySurfacePoints")
382 _value_types.append("ConnollySurfacePoint")
383 
384 
385 Sphere1Ds=list
386 _plural_types.append("Sphere1Ds")
387 _value_types.append("Sphere1D")
388 
389 
390 Sphere2Ds=list
391 _plural_types.append("Sphere2Ds")
392 _value_types.append("Sphere2D")
393 
394 
395 Sphere3Ds=list
396 _plural_types.append("Sphere3Ds")
397 _value_types.append("Sphere3D")
398 
399 
400 Sphere4Ds=list
401 _plural_types.append("Sphere4Ds")
402 _value_types.append("Sphere4D")
403 
404 
405 Sphere5Ds=list
406 _plural_types.append("Sphere5Ds")
407 _value_types.append("Sphere5D")
408 
409 
410 Sphere6Ds=list
411 _plural_types.append("Sphere6Ds")
412 _value_types.append("Sphere6D")
413 
414 
415 Sphere1Ds=list
416 _plural_types.append("Sphere1Ds")
417 _value_types.append("SphereD<1>")
418 
419 
420 Sphere2Ds=list
421 _plural_types.append("Sphere2Ds")
422 _value_types.append("SphereD<2>")
423 
424 
425 Sphere3Ds=list
426 _plural_types.append("Sphere3Ds")
427 _value_types.append("SphereD<3>")
428 
429 
430 Sphere4Ds=list
431 _plural_types.append("Sphere4Ds")
432 _value_types.append("SphereD<4>")
433 
434 
435 Sphere5Ds=list
436 _plural_types.append("Sphere5Ds")
437 _value_types.append("SphereD<5>")
438 
439 
440 Sphere6Ds=list
441 _plural_types.append("Sphere6Ds")
442 _value_types.append("SphereD<6>")
443 
444 
445 SphereKDs=list
446 _plural_types.append("SphereKDs")
447 _value_types.append("SphereKD")
448 
449 
450 SphereKDs=list
451 _plural_types.append("SphereKDs")
452 _value_types.append("SphereD<-1>")
453 
454 
455 UnitSimplex1Ds=list
456 _plural_types.append("UnitSimplex1Ds")
457 _value_types.append("UnitSimplex1D")
458 
459 
460 UnitSimplex2Ds=list
461 _plural_types.append("UnitSimplex2Ds")
462 _value_types.append("UnitSimplex2D")
463 
464 
465 UnitSimplex3Ds=list
466 _plural_types.append("UnitSimplex3Ds")
467 _value_types.append("UnitSimplex3D")
468 
469 
470 UnitSimplex4Ds=list
471 _plural_types.append("UnitSimplex4Ds")
472 _value_types.append("UnitSimplex4D")
473 
474 
475 UnitSimplex5Ds=list
476 _plural_types.append("UnitSimplex5Ds")
477 _value_types.append("UnitSimplex5D")
478 
479 
480 UnitSimplex6Ds=list
481 _plural_types.append("UnitSimplex6Ds")
482 _value_types.append("UnitSimplex6D")
483 
484 
485 UnitSimplex1Ds=list
486 _plural_types.append("UnitSimplex1Ds")
487 _value_types.append("UnitSimplexD<1>")
488 
489 
490 UnitSimplex2Ds=list
491 _plural_types.append("UnitSimplex2Ds")
492 _value_types.append("UnitSimplexD<2>")
493 
494 
495 UnitSimplex3Ds=list
496 _plural_types.append("UnitSimplex3Ds")
497 _value_types.append("UnitSimplexD<3>")
498 
499 
500 UnitSimplex4Ds=list
501 _plural_types.append("UnitSimplex4Ds")
502 _value_types.append("UnitSimplexD<4>")
503 
504 
505 UnitSimplex5Ds=list
506 _plural_types.append("UnitSimplex5Ds")
507 _value_types.append("UnitSimplexD<5>")
508 
509 
510 UnitSimplex6Ds=list
511 _plural_types.append("UnitSimplex6Ds")
512 _value_types.append("UnitSimplexD<6>")
513 
514 
515 UnitSimplexKDs=list
516 _plural_types.append("UnitSimplexKDs")
517 _value_types.append("UnitSimplexKD")
518 
519 
520 UnitSimplexKDs=list
521 _plural_types.append("UnitSimplexKDs")
522 _value_types.append("UnitSimplexD<-1>")
523 
524 
525 BoundingBox1Ds=list
526 _plural_types.append("BoundingBox1Ds")
527 _value_types.append("BoundingBox1D")
528 
529 
530 BoundingBox2Ds=list
531 _plural_types.append("BoundingBox2Ds")
532 _value_types.append("BoundingBox2D")
533 
534 
535 BoundingBox3Ds=list
536 _plural_types.append("BoundingBox3Ds")
537 _value_types.append("BoundingBox3D")
538 
539 
540 BoundingBox4Ds=list
541 _plural_types.append("BoundingBox4Ds")
542 _value_types.append("BoundingBox4D")
543 
544 
545 BoundingBox5Ds=list
546 _plural_types.append("BoundingBox5Ds")
547 _value_types.append("BoundingBox5D")
548 
549 
550 BoundingBox6Ds=list
551 _plural_types.append("BoundingBox6Ds")
552 _value_types.append("BoundingBox6D")
553 
554 
555 BoundingBox1Ds=list
556 _plural_types.append("BoundingBox1Ds")
557 _value_types.append("BoundingBoxD<1>")
558 
559 
560 BoundingBox2Ds=list
561 _plural_types.append("BoundingBox2Ds")
562 _value_types.append("BoundingBoxD<2>")
563 
564 
565 BoundingBox3Ds=list
566 _plural_types.append("BoundingBox3Ds")
567 _value_types.append("BoundingBoxD<3>")
568 
569 
570 BoundingBox4Ds=list
571 _plural_types.append("BoundingBox4Ds")
572 _value_types.append("BoundingBoxD<4>")
573 
574 
575 BoundingBox5Ds=list
576 _plural_types.append("BoundingBox5Ds")
577 _value_types.append("BoundingBoxD<5>")
578 
579 
580 BoundingBox6Ds=list
581 _plural_types.append("BoundingBox6Ds")
582 _value_types.append("BoundingBoxD<6>")
583 
584 
585 BoundingBoxKDs=list
586 _plural_types.append("BoundingBoxKDs")
587 _value_types.append("BoundingBoxKD")
588 
589 
590 BoundingBoxKDs=list
591 _plural_types.append("BoundingBoxKDs")
592 _value_types.append("BoundingBoxD<-1>")
593 
594 
595 PrincipalComponentAnalysis1Ds=list
596 _plural_types.append("PrincipalComponentAnalysis1Ds")
597 _value_types.append("PrincipalComponentAnalysis1D")
598 
599 
600 PrincipalComponentAnalysis2Ds=list
601 _plural_types.append("PrincipalComponentAnalysis2Ds")
602 _value_types.append("PrincipalComponentAnalysis2D")
603 
604 
605 PrincipalComponentAnalysis3Ds=list
606 _plural_types.append("PrincipalComponentAnalysis3Ds")
607 _value_types.append("PrincipalComponentAnalysis3D")
608 
609 
610 PrincipalComponentAnalysis4Ds=list
611 _plural_types.append("PrincipalComponentAnalysis4Ds")
612 _value_types.append("PrincipalComponentAnalysis4D")
613 
614 
615 PrincipalComponentAnalysis5Ds=list
616 _plural_types.append("PrincipalComponentAnalysis5Ds")
617 _value_types.append("PrincipalComponentAnalysis5D")
618 
619 
620 PrincipalComponentAnalysis6Ds=list
621 _plural_types.append("PrincipalComponentAnalysis6Ds")
622 _value_types.append("PrincipalComponentAnalysis6D")
623 
624 
625 PrincipalComponentAnalysis1Ds=list
626 _plural_types.append("PrincipalComponentAnalysis1Ds")
627 _value_types.append("PrincipalComponentAnalysisD<1>")
628 
629 
630 PrincipalComponentAnalysis2Ds=list
631 _plural_types.append("PrincipalComponentAnalysis2Ds")
632 _value_types.append("PrincipalComponentAnalysisD<2>")
633 
634 
635 PrincipalComponentAnalysis3Ds=list
636 _plural_types.append("PrincipalComponentAnalysis3Ds")
637 _value_types.append("PrincipalComponentAnalysisD<3>")
638 
639 
640 PrincipalComponentAnalysis4Ds=list
641 _plural_types.append("PrincipalComponentAnalysis4Ds")
642 _value_types.append("PrincipalComponentAnalysisD<4>")
643 
644 
645 PrincipalComponentAnalysis5Ds=list
646 _plural_types.append("PrincipalComponentAnalysis5Ds")
647 _value_types.append("PrincipalComponentAnalysisD<5>")
648 
649 
650 PrincipalComponentAnalysis6Ds=list
651 _plural_types.append("PrincipalComponentAnalysis6Ds")
652 _value_types.append("PrincipalComponentAnalysisD<6>")
653 
654 
655 PrincipalComponentAnalysisKDs=list
656 _plural_types.append("PrincipalComponentAnalysisKDs")
657 _value_types.append("PrincipalComponentAnalysisKD")
658 
659 
660 PrincipalComponentAnalysisKDs=list
661 _plural_types.append("PrincipalComponentAnalysisKDs")
662 _value_types.append("PrincipalComponentAnalysisD<-1>")
663 
664 
665 _object_types.append("NearestNeighbor1D")
666 
667 
668 def _object_cast_to_NearestNeighbor1D(o):
669  r"""_object_cast_to_NearestNeighbor1D(Object o) -> NearestNeighbor1D"""
670  return _IMP_algebra._object_cast_to_NearestNeighbor1D(o)
671 
672 _object_types.append("NearestNeighbor2D")
673 
674 
675 def _object_cast_to_NearestNeighbor2D(o):
676  r"""_object_cast_to_NearestNeighbor2D(Object o) -> NearestNeighbor2D"""
677  return _IMP_algebra._object_cast_to_NearestNeighbor2D(o)
678 
679 _object_types.append("NearestNeighbor3D")
680 
681 
682 def _object_cast_to_NearestNeighbor3D(o):
683  r"""_object_cast_to_NearestNeighbor3D(Object o) -> NearestNeighbor3D"""
684  return _IMP_algebra._object_cast_to_NearestNeighbor3D(o)
685 
686 _object_types.append("NearestNeighbor4D")
687 
688 
689 def _object_cast_to_NearestNeighbor4D(o):
690  r"""_object_cast_to_NearestNeighbor4D(Object o) -> NearestNeighbor4D"""
691  return _IMP_algebra._object_cast_to_NearestNeighbor4D(o)
692 
693 _object_types.append("NearestNeighbor5D")
694 
695 
696 def _object_cast_to_NearestNeighbor5D(o):
697  r"""_object_cast_to_NearestNeighbor5D(Object o) -> NearestNeighbor5D"""
698  return _IMP_algebra._object_cast_to_NearestNeighbor5D(o)
699 
700 _object_types.append("NearestNeighbor6D")
701 
702 
703 def _object_cast_to_NearestNeighbor6D(o):
704  r"""_object_cast_to_NearestNeighbor6D(Object o) -> NearestNeighbor6D"""
705  return _IMP_algebra._object_cast_to_NearestNeighbor6D(o)
706 
707 _object_types.append("NearestNeighborKD")
708 
709 
710 def _object_cast_to_NearestNeighborKD(o):
711  r"""_object_cast_to_NearestNeighborKD(Object o) -> NearestNeighborKD"""
712  return _IMP_algebra._object_cast_to_NearestNeighborKD(o)
713 
714 ReferenceFrame3Ds=list
715 _plural_types.append("ReferenceFrame3Ds")
716 _value_types.append("ReferenceFrame3D")
717 
718 
719 Gaussian3Ds=list
720 _plural_types.append("Gaussian3Ds")
721 _value_types.append("Gaussian3D")
722 
723 
724 DefaultEmbedding1Ds=list
725 _plural_types.append("DefaultEmbedding1Ds")
726 _value_types.append("DefaultEmbedding1D")
727 
728 
729 DefaultEmbedding2Ds=list
730 _plural_types.append("DefaultEmbedding2Ds")
731 _value_types.append("DefaultEmbedding2D")
732 
733 
734 DefaultEmbedding3Ds=list
735 _plural_types.append("DefaultEmbedding3Ds")
736 _value_types.append("DefaultEmbedding3D")
737 
738 
739 DefaultEmbedding4Ds=list
740 _plural_types.append("DefaultEmbedding4Ds")
741 _value_types.append("DefaultEmbedding4D")
742 
743 
744 DefaultEmbedding5Ds=list
745 _plural_types.append("DefaultEmbedding5Ds")
746 _value_types.append("DefaultEmbedding5D")
747 
748 
749 DefaultEmbedding6Ds=list
750 _plural_types.append("DefaultEmbedding6Ds")
751 _value_types.append("DefaultEmbedding6D")
752 
753 
754 DefaultEmbedding1Ds=list
755 _plural_types.append("DefaultEmbedding1Ds")
756 _value_types.append("DefaultEmbeddingD<1>")
757 
758 
759 DefaultEmbedding2Ds=list
760 _plural_types.append("DefaultEmbedding2Ds")
761 _value_types.append("DefaultEmbeddingD<2>")
762 
763 
764 DefaultEmbedding3Ds=list
765 _plural_types.append("DefaultEmbedding3Ds")
766 _value_types.append("DefaultEmbeddingD<3>")
767 
768 
769 DefaultEmbedding4Ds=list
770 _plural_types.append("DefaultEmbedding4Ds")
771 _value_types.append("DefaultEmbeddingD<4>")
772 
773 
774 DefaultEmbedding5Ds=list
775 _plural_types.append("DefaultEmbedding5Ds")
776 _value_types.append("DefaultEmbeddingD<5>")
777 
778 
779 DefaultEmbedding6Ds=list
780 _plural_types.append("DefaultEmbedding6Ds")
781 _value_types.append("DefaultEmbeddingD<6>")
782 
783 
784 DefaultEmbeddingKDs=list
785 _plural_types.append("DefaultEmbeddingKDs")
786 _value_types.append("DefaultEmbeddingKD")
787 
788 
789 DefaultEmbeddingKDs=list
790 _plural_types.append("DefaultEmbeddingKDs")
791 _value_types.append("DefaultEmbeddingD<-1>")
792 
793 
794 LogEmbedding1Ds=list
795 _plural_types.append("LogEmbedding1Ds")
796 _value_types.append("LogEmbedding1D")
797 
798 
799 LogEmbedding2Ds=list
800 _plural_types.append("LogEmbedding2Ds")
801 _value_types.append("LogEmbedding2D")
802 
803 
804 LogEmbedding3Ds=list
805 _plural_types.append("LogEmbedding3Ds")
806 _value_types.append("LogEmbedding3D")
807 
808 
809 LogEmbedding4Ds=list
810 _plural_types.append("LogEmbedding4Ds")
811 _value_types.append("LogEmbedding4D")
812 
813 
814 LogEmbedding5Ds=list
815 _plural_types.append("LogEmbedding5Ds")
816 _value_types.append("LogEmbedding5D")
817 
818 
819 LogEmbedding6Ds=list
820 _plural_types.append("LogEmbedding6Ds")
821 _value_types.append("LogEmbedding6D")
822 
823 
824 LogEmbedding1Ds=list
825 _plural_types.append("LogEmbedding1Ds")
826 _value_types.append("LogEmbeddingD<1>")
827 
828 
829 LogEmbedding2Ds=list
830 _plural_types.append("LogEmbedding2Ds")
831 _value_types.append("LogEmbeddingD<2>")
832 
833 
834 LogEmbedding3Ds=list
835 _plural_types.append("LogEmbedding3Ds")
836 _value_types.append("LogEmbeddingD<3>")
837 
838 
839 LogEmbedding4Ds=list
840 _plural_types.append("LogEmbedding4Ds")
841 _value_types.append("LogEmbeddingD<4>")
842 
843 
844 LogEmbedding5Ds=list
845 _plural_types.append("LogEmbedding5Ds")
846 _value_types.append("LogEmbeddingD<5>")
847 
848 
849 LogEmbedding6Ds=list
850 _plural_types.append("LogEmbedding6Ds")
851 _value_types.append("LogEmbeddingD<6>")
852 
853 
854 LogEmbeddingKDs=list
855 _plural_types.append("LogEmbeddingKDs")
856 _value_types.append("LogEmbeddingKD")
857 
858 
859 LogEmbeddingKDs=list
860 _plural_types.append("LogEmbeddingKDs")
861 _value_types.append("LogEmbeddingD<-1>")
862 
863 
864 GridIndex1Ds=list
865 _plural_types.append("GridIndex1Ds")
866 _value_types.append("GridIndex1D")
867 
868 
869 GridIndex2Ds=list
870 _plural_types.append("GridIndex2Ds")
871 _value_types.append("GridIndex2D")
872 
873 
874 GridIndex3Ds=list
875 _plural_types.append("GridIndex3Ds")
876 _value_types.append("GridIndex3D")
877 
878 
879 GridIndex4Ds=list
880 _plural_types.append("GridIndex4Ds")
881 _value_types.append("GridIndex4D")
882 
883 
884 GridIndex5Ds=list
885 _plural_types.append("GridIndex5Ds")
886 _value_types.append("GridIndex5D")
887 
888 
889 GridIndex6Ds=list
890 _plural_types.append("GridIndex6Ds")
891 _value_types.append("GridIndex6D")
892 
893 
894 GridIndex1Ds=list
895 _plural_types.append("GridIndex1Ds")
896 _value_types.append("GridIndexD<1>")
897 
898 
899 GridIndex2Ds=list
900 _plural_types.append("GridIndex2Ds")
901 _value_types.append("GridIndexD<2>")
902 
903 
904 GridIndex3Ds=list
905 _plural_types.append("GridIndex3Ds")
906 _value_types.append("GridIndexD<3>")
907 
908 
909 GridIndex4Ds=list
910 _plural_types.append("GridIndex4Ds")
911 _value_types.append("GridIndexD<4>")
912 
913 
914 GridIndex5Ds=list
915 _plural_types.append("GridIndex5Ds")
916 _value_types.append("GridIndexD<5>")
917 
918 
919 GridIndex6Ds=list
920 _plural_types.append("GridIndex6Ds")
921 _value_types.append("GridIndexD<6>")
922 
923 
924 GridIndexKDs=list
925 _plural_types.append("GridIndexKDs")
926 _value_types.append("GridIndexKD")
927 
928 
929 GridIndexKDs=list
930 _plural_types.append("GridIndexKDs")
931 _value_types.append("GridIndexD<-1>")
932 
933 
934 ExtendedGridIndex1Ds=list
935 _plural_types.append("ExtendedGridIndex1Ds")
936 _value_types.append("ExtendedGridIndex1D")
937 
938 
939 ExtendedGridIndex2Ds=list
940 _plural_types.append("ExtendedGridIndex2Ds")
941 _value_types.append("ExtendedGridIndex2D")
942 
943 
944 ExtendedGridIndex3Ds=list
945 _plural_types.append("ExtendedGridIndex3Ds")
946 _value_types.append("ExtendedGridIndex3D")
947 
948 
949 ExtendedGridIndex4Ds=list
950 _plural_types.append("ExtendedGridIndex4Ds")
951 _value_types.append("ExtendedGridIndex4D")
952 
953 
954 ExtendedGridIndex5Ds=list
955 _plural_types.append("ExtendedGridIndex5Ds")
956 _value_types.append("ExtendedGridIndex5D")
957 
958 
959 ExtendedGridIndex6Ds=list
960 _plural_types.append("ExtendedGridIndex6Ds")
961 _value_types.append("ExtendedGridIndex6D")
962 
963 
964 ExtendedGridIndex1Ds=list
965 _plural_types.append("ExtendedGridIndex1Ds")
966 _value_types.append("ExtendedGridIndexD<1>")
967 
968 
969 ExtendedGridIndex2Ds=list
970 _plural_types.append("ExtendedGridIndex2Ds")
971 _value_types.append("ExtendedGridIndexD<2>")
972 
973 
974 ExtendedGridIndex3Ds=list
975 _plural_types.append("ExtendedGridIndex3Ds")
976 _value_types.append("ExtendedGridIndexD<3>")
977 
978 
979 ExtendedGridIndex4Ds=list
980 _plural_types.append("ExtendedGridIndex4Ds")
981 _value_types.append("ExtendedGridIndexD<4>")
982 
983 
984 ExtendedGridIndex5Ds=list
985 _plural_types.append("ExtendedGridIndex5Ds")
986 _value_types.append("ExtendedGridIndexD<5>")
987 
988 
989 ExtendedGridIndex6Ds=list
990 _plural_types.append("ExtendedGridIndex6Ds")
991 _value_types.append("ExtendedGridIndexD<6>")
992 
993 
994 ExtendedGridIndexKDs=list
995 _plural_types.append("ExtendedGridIndexKDs")
996 _value_types.append("ExtendedGridIndexKD")
997 
998 
999 ExtendedGridIndexKDs=list
1000 _plural_types.append("ExtendedGridIndexKDs")
1001 _value_types.append("ExtendedGridIndexD<-1>")
1002 
1003 
1004 BoundedGridRange1Ds=list
1005 _plural_types.append("BoundedGridRange1Ds")
1006 _value_types.append("BoundedGridRange1D")
1007 
1008 
1009 BoundedGridRange2Ds=list
1010 _plural_types.append("BoundedGridRange2Ds")
1011 _value_types.append("BoundedGridRange2D")
1012 
1013 
1014 BoundedGridRange3Ds=list
1015 _plural_types.append("BoundedGridRange3Ds")
1016 _value_types.append("BoundedGridRange3D")
1017 
1018 
1019 BoundedGridRange4Ds=list
1020 _plural_types.append("BoundedGridRange4Ds")
1021 _value_types.append("BoundedGridRange4D")
1022 
1023 
1024 BoundedGridRange5Ds=list
1025 _plural_types.append("BoundedGridRange5Ds")
1026 _value_types.append("BoundedGridRange5D")
1027 
1028 
1029 BoundedGridRange6Ds=list
1030 _plural_types.append("BoundedGridRange6Ds")
1031 _value_types.append("BoundedGridRange6D")
1032 
1033 
1034 BoundedGridRange1Ds=list
1035 _plural_types.append("BoundedGridRange1Ds")
1036 _value_types.append("BoundedGridRangeD<1>")
1037 
1038 
1039 BoundedGridRange2Ds=list
1040 _plural_types.append("BoundedGridRange2Ds")
1041 _value_types.append("BoundedGridRangeD<2>")
1042 
1043 
1044 BoundedGridRange3Ds=list
1045 _plural_types.append("BoundedGridRange3Ds")
1046 _value_types.append("BoundedGridRangeD<3>")
1047 
1048 
1049 BoundedGridRange4Ds=list
1050 _plural_types.append("BoundedGridRange4Ds")
1051 _value_types.append("BoundedGridRangeD<4>")
1052 
1053 
1054 BoundedGridRange5Ds=list
1055 _plural_types.append("BoundedGridRange5Ds")
1056 _value_types.append("BoundedGridRangeD<5>")
1057 
1058 
1059 BoundedGridRange6Ds=list
1060 _plural_types.append("BoundedGridRange6Ds")
1061 _value_types.append("BoundedGridRangeD<6>")
1062 
1063 
1064 BoundedGridRangeKDs=list
1065 _plural_types.append("BoundedGridRangeKDs")
1066 _value_types.append("BoundedGridRangeKD")
1067 
1068 
1069 BoundedGridRangeKDs=list
1070 _plural_types.append("BoundedGridRangeKDs")
1071 _value_types.append("BoundedGridRangeD<-1>")
1072 
1073 
1074 UnboundedGridRange1Ds=list
1075 _plural_types.append("UnboundedGridRange1Ds")
1076 _value_types.append("UnboundedGridRange1D")
1077 
1078 
1079 UnboundedGridRange2Ds=list
1080 _plural_types.append("UnboundedGridRange2Ds")
1081 _value_types.append("UnboundedGridRange2D")
1082 
1083 
1084 UnboundedGridRange3Ds=list
1085 _plural_types.append("UnboundedGridRange3Ds")
1086 _value_types.append("UnboundedGridRange3D")
1087 
1088 
1089 UnboundedGridRange4Ds=list
1090 _plural_types.append("UnboundedGridRange4Ds")
1091 _value_types.append("UnboundedGridRange4D")
1092 
1093 
1094 UnboundedGridRange5Ds=list
1095 _plural_types.append("UnboundedGridRange5Ds")
1096 _value_types.append("UnboundedGridRange5D")
1097 
1098 
1099 UnboundedGridRange6Ds=list
1100 _plural_types.append("UnboundedGridRange6Ds")
1101 _value_types.append("UnboundedGridRange6D")
1102 
1103 
1104 UnboundedGridRange1Ds=list
1105 _plural_types.append("UnboundedGridRange1Ds")
1106 _value_types.append("UnboundedGridRangeD<1>")
1107 
1108 
1109 UnboundedGridRange2Ds=list
1110 _plural_types.append("UnboundedGridRange2Ds")
1111 _value_types.append("UnboundedGridRangeD<2>")
1112 
1113 
1114 UnboundedGridRange3Ds=list
1115 _plural_types.append("UnboundedGridRange3Ds")
1116 _value_types.append("UnboundedGridRangeD<3>")
1117 
1118 
1119 UnboundedGridRange4Ds=list
1120 _plural_types.append("UnboundedGridRange4Ds")
1121 _value_types.append("UnboundedGridRangeD<4>")
1122 
1123 
1124 UnboundedGridRange5Ds=list
1125 _plural_types.append("UnboundedGridRange5Ds")
1126 _value_types.append("UnboundedGridRangeD<5>")
1127 
1128 
1129 UnboundedGridRange6Ds=list
1130 _plural_types.append("UnboundedGridRange6Ds")
1131 _value_types.append("UnboundedGridRangeD<6>")
1132 
1133 
1134 UnboundedGridRangeKDs=list
1135 _plural_types.append("UnboundedGridRangeKDs")
1136 _value_types.append("UnboundedGridRangeKD")
1137 
1138 
1139 UnboundedGridRangeKDs=list
1140 _plural_types.append("UnboundedGridRangeKDs")
1141 _value_types.append("UnboundedGridRangeD<-1>")
1142 
1143 
1144 LinearFit2Ds=list
1145 _plural_types.append("LinearFit2Ds")
1146 _value_types.append("LinearFit2D")
1147 
1148 
1149 ParabolicFit2Ds=list
1150 _plural_types.append("ParabolicFit2Ds")
1151 _value_types.append("ParabolicFit2D")
1152 
1153 
1154 FixedXYZs=list
1155 _plural_types.append("FixedXYZs")
1156 _value_types.append("FixedXYZ")
1157 
1158 class Rotation3D(IMP._GeometricPrimitive3D):
1159  r"""Proxy of C++ IMP::algebra::Rotation3D class."""
1160 
1161  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1162 
1163  def __init__(self, *args):
1164  r"""
1165  __init__(Rotation3D self, Rotation3D rot) -> Rotation3D
1166  __init__(Rotation3D self, Vector4D v, bool assume_normalized=False) -> Rotation3D
1167  __init__(Rotation3D self) -> Rotation3D
1168  __init__(Rotation3D self, double a, double b, double c, double d) -> Rotation3D
1169  """
1170  _IMP_algebra.Rotation3D_swiginit(self, _IMP_algebra.new_Rotation3D(*args))
1171  __swig_destroy__ = _IMP_algebra.delete_Rotation3D
1172 
1173  def get_rotated_no_cache(self, o):
1174  r"""get_rotated_no_cache(Rotation3D self, Vector3D o) -> Vector3D"""
1175  return _IMP_algebra.Rotation3D_get_rotated_no_cache(self, o)
1176 
1177  def get_rotated_one_coordinate_no_cache(self, o, coord):
1178  r"""get_rotated_one_coordinate_no_cache(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1179  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate_no_cache(self, o, coord)
1180 
1181  def get_rotated(self, o):
1182  r"""get_rotated(Rotation3D self, Vector3D o) -> Vector3D"""
1183  return _IMP_algebra.Rotation3D_get_rotated(self, o)
1184 
1185  def get_rotated_adjoint(self, v, Dw):
1186  r"""get_rotated_adjoint(Rotation3D self, Vector3D v, Vector3D Dw) -> _RotatedVector3DAdjoint"""
1187  return _IMP_algebra.Rotation3D_get_rotated_adjoint(self, v, Dw)
1188 
1189  def get_rotated_one_coordinate(self, o, coord):
1190  r"""get_rotated_one_coordinate(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1191  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate(self, o, coord)
1192 
1193  def get_rotation_matrix_row(self, i):
1194  r"""get_rotation_matrix_row(Rotation3D self, int i) -> Vector3D"""
1195  return _IMP_algebra.Rotation3D_get_rotation_matrix_row(self, i)
1196 
1197  def show(self, *args):
1198  r"""show(Rotation3D self, _ostream out=std::cout)"""
1199  return _IMP_algebra.Rotation3D_show(self, *args)
1200 
1201  def get_inverse(self):
1202  r"""get_inverse(Rotation3D self) -> Rotation3D"""
1203  return _IMP_algebra.Rotation3D_get_inverse(self)
1204 
1205  def get_quaternion(self):
1206  r"""get_quaternion(Rotation3D self) -> Vector4D"""
1207  return _IMP_algebra.Rotation3D_get_quaternion(self)
1208 
1209  def __mul__(self, *args):
1210  r"""
1211  __mul__(Rotation3D self, Vector3D v) -> Vector3D
1212  __mul__(Rotation3D self, Rotation3D q) -> Rotation3D
1213  """
1214  return _IMP_algebra.Rotation3D___mul__(self, *args)
1215 
1216  def __truediv__(self, *args):
1217  return _IMP_algebra.Rotation3D___truediv__(self, *args)
1218  __div__ = __truediv__
1219 
1220 
1221 
1222  def get_gradient_of_rotated(self, v, i, wrt_unnorm=False):
1223  r"""get_gradient_of_rotated(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=False) -> Vector3D"""
1224  return _IMP_algebra.Rotation3D_get_gradient_of_rotated(self, v, i, wrt_unnorm)
1225 
1226  def get_jacobian_of_rotated(self, v, wrt_unnorm=False):
1227  r"""get_jacobian_of_rotated(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1228  return _IMP_algebra.Rotation3D_get_jacobian_of_rotated(self, v, wrt_unnorm)
1229 
1230  def get_is_valid(self):
1231  r"""get_is_valid(Rotation3D self) -> bool"""
1232  return _IMP_algebra.Rotation3D_get_is_valid(self)
1233 
1234  def __str__(self):
1235  r"""__str__(Rotation3D self) -> std::string"""
1236  return _IMP_algebra.Rotation3D___str__(self)
1237 
1238  def __repr__(self):
1239  r"""__repr__(Rotation3D self) -> std::string"""
1240  return _IMP_algebra.Rotation3D___repr__(self)
1241 
1242  def _get_as_binary(self):
1243  r"""_get_as_binary(Rotation3D self) -> PyObject *"""
1244  return _IMP_algebra.Rotation3D__get_as_binary(self)
1245 
1246  def _set_from_binary(self, p):
1247  r"""_set_from_binary(Rotation3D self, PyObject * p)"""
1248  return _IMP_algebra.Rotation3D__set_from_binary(self, p)
1249 
1250  def __getstate__(self):
1251  p = self._get_as_binary()
1252  if len(self.__dict__) > 1:
1253  d = self.__dict__.copy()
1254  del d['this']
1255  p = (d, p)
1256  return p
1257 
1258  def __setstate__(self, p):
1259  if not hasattr(self, 'this'):
1260  self.__init__()
1261  if isinstance(p, tuple):
1262  d, p = p
1263  self.__dict__.update(d)
1264  return self._set_from_binary(p)
1265 
1266 
1267  __truediv__ = __div__
1268 
1269 
1270 # Register Rotation3D in _IMP_algebra:
1271 _IMP_algebra.Rotation3D_swigregister(Rotation3D)
1272 
1273 def get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm=False):
1274  r"""get_jacobian_of_composed_wrt_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1275  return _IMP_algebra.get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm)
1276 
1277 def get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm=False):
1278  r"""get_jacobian_of_composed_wrt_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1279  return _IMP_algebra.get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm)
1280 
1282  r"""get_identity_rotation_3d() -> Rotation3D"""
1283  return _IMP_algebra.get_identity_rotation_3d()
1284 
1285 def get_rotation_about_normalized_axis(axis_norm, angle):
1286  r"""get_rotation_about_normalized_axis(Vector3D axis_norm, double angle) -> Rotation3D"""
1287  return _IMP_algebra.get_rotation_about_normalized_axis(axis_norm, angle)
1288 
1289 def get_rotation_about_axis(axis, angle):
1290  r"""get_rotation_about_axis(Vector3D axis, double angle) -> Rotation3D"""
1291  return _IMP_algebra.get_rotation_about_axis(axis, angle)
1292 
1294  r"""get_rotation_taking_first_to_second(Vector3D v1, Vector3D v2) -> Rotation3D"""
1295  return _IMP_algebra.get_rotation_taking_first_to_second(v1, v2)
1296 
1297 def get_rotation_from_matrix(*args):
1298  r"""
1299  get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) -> Rotation3D
1300  get_rotation_from_matrix(Eigen::Matrix3d m) -> Rotation3D
1301  """
1302  return _IMP_algebra.get_rotation_from_matrix(*args)
1303 
1304 def get_random_rotation_3d(*args):
1305  r"""
1306  get_random_rotation_3d() -> Rotation3D
1307  get_random_rotation_3d(Rotation3D center, double distance) -> Rotation3D
1308  """
1309  return _IMP_algebra.get_random_rotation_3d(*args)
1310 
1311 def get_uniform_cover_rotations_3d(num_points):
1312  r"""get_uniform_cover_rotations_3d(unsigned int num_points) -> IMP::algebra::Rotation3Ds"""
1313  return _IMP_algebra.get_uniform_cover_rotations_3d(num_points)
1314 
1316  r"""get_uniformly_sampled_rotations(double delta) -> IMP::algebra::Rotation3Ds"""
1317  return _IMP_algebra.get_uniformly_sampled_rotations(delta)
1318 
1320  r"""get_rotation_from_vector4d(Vector4D v) -> Rotation3D"""
1321  return _IMP_algebra.get_rotation_from_vector4d(v)
1322 
1323 def get_rotation_from_fixed_xyz(xr, yr, zr):
1324  r"""get_rotation_from_fixed_xyz(double xr, double yr, double zr) -> Rotation3D"""
1325  return _IMP_algebra.get_rotation_from_fixed_xyz(xr, yr, zr)
1326 
1327 def get_rotation_from_fixed_zxz(phi, theta, psi):
1328  r"""get_rotation_from_fixed_zxz(double phi, double theta, double psi) -> Rotation3D"""
1329  return _IMP_algebra.get_rotation_from_fixed_zxz(phi, theta, psi)
1330 
1331 def get_rotation_from_fixed_zyz(Rot, Tilt, Psi):
1332  r"""get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi) -> Rotation3D"""
1333  return _IMP_algebra.get_rotation_from_fixed_zyz(Rot, Tilt, Psi)
1334 class FixedXYZ(IMP._GeometricPrimitive3D):
1335  r"""Proxy of C++ IMP::algebra::FixedXYZ class."""
1336 
1337  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1338 
1339  def __init__(self, *args):
1340  r"""
1341  __init__(FixedXYZ self) -> FixedXYZ
1342  __init__(FixedXYZ self, double x, double y, double z) -> FixedXYZ
1343  """
1344  _IMP_algebra.FixedXYZ_swiginit(self, _IMP_algebra.new_FixedXYZ(*args))
1345 
1346  def get_x(self):
1347  r"""get_x(FixedXYZ self) -> double"""
1348  return _IMP_algebra.FixedXYZ_get_x(self)
1349 
1350  def get_y(self):
1351  r"""get_y(FixedXYZ self) -> double"""
1352  return _IMP_algebra.FixedXYZ_get_y(self)
1353 
1354  def get_z(self):
1355  r"""get_z(FixedXYZ self) -> double"""
1356  return _IMP_algebra.FixedXYZ_get_z(self)
1357 
1358  def show(self, *args):
1359  r"""show(FixedXYZ self, _ostream out=std::cout)"""
1360  return _IMP_algebra.FixedXYZ_show(self, *args)
1361 
1362  def __str__(self):
1363  r"""__str__(FixedXYZ self) -> std::string"""
1364  return _IMP_algebra.FixedXYZ___str__(self)
1365 
1366  def __repr__(self):
1367  r"""__repr__(FixedXYZ self) -> std::string"""
1368  return _IMP_algebra.FixedXYZ___repr__(self)
1369 
1370  def _get_as_binary(self):
1371  r"""_get_as_binary(FixedXYZ self) -> PyObject *"""
1372  return _IMP_algebra.FixedXYZ__get_as_binary(self)
1373 
1374  def _set_from_binary(self, p):
1375  r"""_set_from_binary(FixedXYZ self, PyObject * p)"""
1376  return _IMP_algebra.FixedXYZ__set_from_binary(self, p)
1377 
1378  def __getstate__(self):
1379  p = self._get_as_binary()
1380  if len(self.__dict__) > 1:
1381  d = self.__dict__.copy()
1382  del d['this']
1383  p = (d, p)
1384  return p
1385 
1386  def __setstate__(self, p):
1387  if not hasattr(self, 'this'):
1388  self.__init__()
1389  if isinstance(p, tuple):
1390  d, p = p
1391  self.__dict__.update(d)
1392  return self._set_from_binary(p)
1393 
1394  __swig_destroy__ = _IMP_algebra.delete_FixedXYZ
1395 
1396 # Register FixedXYZ in _IMP_algebra:
1397 _IMP_algebra.FixedXYZ_swigregister(FixedXYZ)
1398 
1400  r"""get_fixed_xyz_from_rotation(Rotation3D r) -> FixedXYZ"""
1401  return _IMP_algebra.get_fixed_xyz_from_rotation(r)
1402 
1403 def get_interpolated(a, b, f):
1404  r"""get_interpolated(Rotation3D a, Rotation3D b, double f) -> Rotation3D"""
1405  return _IMP_algebra.get_interpolated(a, b, f)
1406 
1407 def get_rotation_from_x_y_axes(x, y):
1408  r"""get_rotation_from_x_y_axes(Vector3D x, Vector3D y) -> Rotation3D"""
1409  return _IMP_algebra.get_rotation_from_x_y_axes(x, y)
1410 
1411 def get_axis_and_angle(rot):
1412  r"""get_axis_and_angle(Rotation3D rot) -> _AxisAnglePair"""
1413  return _IMP_algebra.get_axis_and_angle(rot)
1414 
1416  r"""get_unit_bounding_box_kd(unsigned int d) -> BoundingBoxKD"""
1417  return _IMP_algebra.get_unit_bounding_box_kd(d)
1418 
1419 def get_cube_kd(d, radius):
1420  r"""get_cube_kd(unsigned int d, double radius) -> BoundingBoxKD"""
1421  return _IMP_algebra.get_cube_kd(d, radius)
1422 
1423 def get_edges(arg1):
1424  r"""get_edges(BoundingBox3D arg1) -> IMP::IntPairs"""
1425  return _IMP_algebra.get_edges(arg1)
1426 class Transformation3D(IMP._GeometricPrimitive3D):
1427  r"""Proxy of C++ IMP::algebra::Transformation3D class."""
1428 
1429  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1430 
1431  def __init__(self, *args):
1432  r"""
1433  __init__(Transformation3D self, Transformation3D arg2) -> Transformation3D
1434  __init__(Transformation3D self) -> Transformation3D
1435  __init__(Transformation3D self, Rotation3D r, Vector3D t=IMP::Vector3D(0, 0, 0)) -> Transformation3D
1436  __init__(Transformation3D self, Vector3D t) -> Transformation3D
1437  """
1438  _IMP_algebra.Transformation3D_swiginit(self, _IMP_algebra.new_Transformation3D(*args))
1439  __swig_destroy__ = _IMP_algebra.delete_Transformation3D
1440 
1441  def get_transformed(self, o):
1442  r"""get_transformed(Transformation3D self, Vector3D o) -> Vector3D"""
1443  return _IMP_algebra.Transformation3D_get_transformed(self, o)
1444 
1445  def get_transformed_adjoint(self, v, Dw):
1446  r"""get_transformed_adjoint(Transformation3D self, Vector3D v, Vector3D Dw) -> _TransformedVector3DAdjoint"""
1447  return _IMP_algebra.Transformation3D_get_transformed_adjoint(self, v, Dw)
1448 
1449  def __mul__(self, *args):
1450  r"""
1451  __mul__(Transformation3D self, Vector3D v) -> Vector3D
1452  __mul__(Transformation3D self, Transformation3D tr) -> Transformation3D
1453  """
1454  return _IMP_algebra.Transformation3D___mul__(self, *args)
1455 
1456  def __truediv__(self, *args):
1457  return _IMP_algebra.Transformation3D___truediv__(self, *args)
1458  __div__ = __truediv__
1459 
1460 
1461 
1462  def get_rotation(self):
1463  r"""get_rotation(Transformation3D self) -> Rotation3D"""
1464  return _IMP_algebra.Transformation3D_get_rotation(self)
1465 
1466  def get_translation(self):
1467  r"""get_translation(Transformation3D self) -> Vector3D"""
1468  return _IMP_algebra.Transformation3D_get_translation(self)
1469 
1470  def show(self, *args):
1471  r"""show(Transformation3D self, _ostream out=std::cout)"""
1472  return _IMP_algebra.Transformation3D_show(self, *args)
1473 
1474  def get_inverse(self):
1475  r"""get_inverse(Transformation3D self) -> Transformation3D"""
1476  return _IMP_algebra.Transformation3D_get_inverse(self)
1477 
1478  def get_is_valid(self):
1479  r"""get_is_valid(Transformation3D self) -> bool"""
1480  return _IMP_algebra.Transformation3D_get_is_valid(self)
1481 
1482  def __str__(self):
1483  r"""__str__(Transformation3D self) -> std::string"""
1484  return _IMP_algebra.Transformation3D___str__(self)
1485 
1486  def __repr__(self):
1487  r"""__repr__(Transformation3D self) -> std::string"""
1488  return _IMP_algebra.Transformation3D___repr__(self)
1489 
1490  def _get_as_binary(self):
1491  r"""_get_as_binary(Transformation3D self) -> PyObject *"""
1492  return _IMP_algebra.Transformation3D__get_as_binary(self)
1493 
1494  def _set_from_binary(self, p):
1495  r"""_set_from_binary(Transformation3D self, PyObject * p)"""
1496  return _IMP_algebra.Transformation3D__set_from_binary(self, p)
1497 
1498  def __getstate__(self):
1499  p = self._get_as_binary()
1500  if len(self.__dict__) > 1:
1501  d = self.__dict__.copy()
1502  del d['this']
1503  p = (d, p)
1504  return p
1505 
1506  def __setstate__(self, p):
1507  if not hasattr(self, 'this'):
1508  self.__init__()
1509  if isinstance(p, tuple):
1510  d, p = p
1511  self.__dict__.update(d)
1512  return self._set_from_binary(p)
1513 
1514 
1515  __truediv__ = __div__
1516 
1517 
1518 # Register Transformation3D in _IMP_algebra:
1519 _IMP_algebra.Transformation3D_swigregister(Transformation3D)
1520 
1522  r"""get_identity_transformation_3d() -> Transformation3D"""
1523  return _IMP_algebra.get_identity_transformation_3d()
1524 
1525 def compose_adjoint(*args):
1526  r"""
1527  compose_adjoint(Rotation3D A, Rotation3D B, Vector4D DC) -> _ComposeRotation3DAdjoint
1528  compose_adjoint(Transformation3D TA, Transformation3D TB, _Transformation3DAdjoint DTC) -> _ComposeTransformation3DAdjoint
1529  """
1530  return _IMP_algebra.compose_adjoint(*args)
1531 
1532 def get_transformation_3d(t2d):
1533  r"""get_transformation_3d(Transformation2D t2d) -> Transformation3D"""
1534  return _IMP_algebra.get_transformation_3d(t2d)
1535 
1536 def get_random_local_transformation(origin, max_translation=5., max_angle_in_rad=0.26):
1537  r"""get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26) -> Transformation3D"""
1538  return _IMP_algebra.get_random_local_transformation(origin, max_translation, max_angle_in_rad)
1539 class Rotation2D(IMP._GeometricPrimitive2D):
1540  r"""Proxy of C++ IMP::algebra::Rotation2D class."""
1541 
1542  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1543 
1544  def __init__(self, *args):
1545  r"""
1546  __init__(Rotation2D self) -> Rotation2D
1547  __init__(Rotation2D self, double angle) -> Rotation2D
1548  """
1549  _IMP_algebra.Rotation2D_swiginit(self, _IMP_algebra.new_Rotation2D(*args))
1550 
1551  def get_rotated(self, *args):
1552  r"""
1553  get_rotated(Rotation2D self, Vector2D o) -> Vector2D
1554  get_rotated(Rotation2D self, double const x, double const y) -> Vector2D
1555  """
1556  return _IMP_algebra.Rotation2D_get_rotated(self, *args)
1557 
1558  def get_inverse(self):
1559  r"""get_inverse(Rotation2D self) -> Rotation2D"""
1560  return _IMP_algebra.Rotation2D_get_inverse(self)
1561 
1562  def set_angle(self, angle):
1563  r"""set_angle(Rotation2D self, double angle)"""
1564  return _IMP_algebra.Rotation2D_set_angle(self, angle)
1565 
1566  def get_angle(self):
1567  r"""get_angle(Rotation2D self) -> double"""
1568  return _IMP_algebra.Rotation2D_get_angle(self)
1569 
1570  def show(self, *args):
1571  r"""show(Rotation2D self, _ostream out=std::cout)"""
1572  return _IMP_algebra.Rotation2D_show(self, *args)
1573 
1574  def __str__(self):
1575  r"""__str__(Rotation2D self) -> std::string"""
1576  return _IMP_algebra.Rotation2D___str__(self)
1577 
1578  def __repr__(self):
1579  r"""__repr__(Rotation2D self) -> std::string"""
1580  return _IMP_algebra.Rotation2D___repr__(self)
1581 
1582  def _get_as_binary(self):
1583  r"""_get_as_binary(Rotation2D self) -> PyObject *"""
1584  return _IMP_algebra.Rotation2D__get_as_binary(self)
1585 
1586  def _set_from_binary(self, p):
1587  r"""_set_from_binary(Rotation2D self, PyObject * p)"""
1588  return _IMP_algebra.Rotation2D__set_from_binary(self, p)
1589 
1590  def __getstate__(self):
1591  p = self._get_as_binary()
1592  if len(self.__dict__) > 1:
1593  d = self.__dict__.copy()
1594  del d['this']
1595  p = (d, p)
1596  return p
1597 
1598  def __setstate__(self, p):
1599  if not hasattr(self, 'this'):
1600  self.__init__()
1601  if isinstance(p, tuple):
1602  d, p = p
1603  self.__dict__.update(d)
1604  return self._set_from_binary(p)
1605 
1606  __swig_destroy__ = _IMP_algebra.delete_Rotation2D
1607 
1608 # Register Rotation2D in _IMP_algebra:
1609 _IMP_algebra.Rotation2D_swigregister(Rotation2D)
1610 
1612  r"""get_identity_rotation_2d() -> Rotation2D"""
1613  return _IMP_algebra.get_identity_rotation_2d()
1614 
1616  r"""get_random_rotation_2d() -> Rotation2D"""
1617  return _IMP_algebra.get_random_rotation_2d()
1618 
1619 def get_rotation_to_x_axis(v):
1620  r"""get_rotation_to_x_axis(Vector2D v) -> Rotation2D"""
1621  return _IMP_algebra.get_rotation_to_x_axis(v)
1622 class Transformation2D(IMP._GeometricPrimitive2D):
1623  r"""Proxy of C++ IMP::algebra::Transformation2D class."""
1624 
1625  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1626 
1627  def __init__(self, *args):
1628  r"""
1629  __init__(Transformation2D self, Transformation2D arg2) -> Transformation2D
1630  __init__(Transformation2D self) -> Transformation2D
1631  __init__(Transformation2D self, Rotation2D r, Vector2D t=IMP::Vector2D(0.0, 0.0)) -> Transformation2D
1632  __init__(Transformation2D self, Vector2D t) -> Transformation2D
1633  """
1634  _IMP_algebra.Transformation2D_swiginit(self, _IMP_algebra.new_Transformation2D(*args))
1635  __swig_destroy__ = _IMP_algebra.delete_Transformation2D
1636 
1637  def get_transformed(self, o):
1638  r"""get_transformed(Transformation2D self, Vector2D o) -> Vector2D"""
1639  return _IMP_algebra.Transformation2D_get_transformed(self, o)
1640 
1641  def __mul__(self, *args):
1642  r"""
1643  __mul__(Transformation2D self, Vector2D v) -> Vector2D
1644  __mul__(Transformation2D self, Transformation2D tr) -> Transformation2D
1645  """
1646  return _IMP_algebra.Transformation2D___mul__(self, *args)
1647 
1648  def __truediv__(self, *args):
1649  return _IMP_algebra.Transformation2D___truediv__(self, *args)
1650  __div__ = __truediv__
1651 
1652 
1653 
1654  def get_rotation(self):
1655  r"""get_rotation(Transformation2D self) -> Rotation2D"""
1656  return _IMP_algebra.Transformation2D_get_rotation(self)
1657 
1658  def set_rotation(self, angle):
1659  r"""set_rotation(Transformation2D self, double angle)"""
1660  return _IMP_algebra.Transformation2D_set_rotation(self, angle)
1661 
1662  def get_translation(self):
1663  r"""get_translation(Transformation2D self) -> Vector2D"""
1664  return _IMP_algebra.Transformation2D_get_translation(self)
1665 
1666  def set_translation(self, v):
1667  r"""set_translation(Transformation2D self, Vector2D v)"""
1668  return _IMP_algebra.Transformation2D_set_translation(self, v)
1669 
1670  def show(self, *args):
1671  r"""show(Transformation2D self, _ostream out=std::cout)"""
1672  return _IMP_algebra.Transformation2D_show(self, *args)
1673 
1674  def get_inverse(self):
1675  r"""get_inverse(Transformation2D self) -> Transformation2D"""
1676  return _IMP_algebra.Transformation2D_get_inverse(self)
1677 
1678  def __str__(self):
1679  r"""__str__(Transformation2D self) -> std::string"""
1680  return _IMP_algebra.Transformation2D___str__(self)
1681 
1682  def __repr__(self):
1683  r"""__repr__(Transformation2D self) -> std::string"""
1684  return _IMP_algebra.Transformation2D___repr__(self)
1685 
1686  def _get_as_binary(self):
1687  r"""_get_as_binary(Transformation2D self) -> PyObject *"""
1688  return _IMP_algebra.Transformation2D__get_as_binary(self)
1689 
1690  def _set_from_binary(self, p):
1691  r"""_set_from_binary(Transformation2D self, PyObject * p)"""
1692  return _IMP_algebra.Transformation2D__set_from_binary(self, p)
1693 
1694  def __getstate__(self):
1695  p = self._get_as_binary()
1696  if len(self.__dict__) > 1:
1697  d = self.__dict__.copy()
1698  del d['this']
1699  p = (d, p)
1700  return p
1701 
1702  def __setstate__(self, p):
1703  if not hasattr(self, 'this'):
1704  self.__init__()
1705  if isinstance(p, tuple):
1706  d, p = p
1707  self.__dict__.update(d)
1708  return self._set_from_binary(p)
1709 
1710 
1711  __truediv__ = __div__
1712 
1713 
1714 # Register Transformation2D in _IMP_algebra:
1715 _IMP_algebra.Transformation2D_swigregister(Transformation2D)
1716 
1718  r"""get_identity_transformation_2d() -> Transformation2D"""
1719  return _IMP_algebra.get_identity_transformation_2d()
1720 
1721 def get_rotation_about_point(*args):
1722  r"""
1723  get_rotation_about_point(Vector3D point, Rotation3D rotation) -> Transformation3D
1724  get_rotation_about_point(Vector2D point, Rotation2D rotation) -> Transformation2D
1725  """
1726  return _IMP_algebra.get_rotation_about_point(*args)
1727 
1728 def compose(*args):
1729  r"""
1730  compose(Rotation3D a, Rotation3D b) -> Rotation3D
1731  compose(Transformation3D a, Transformation3D b) -> Transformation3D
1732  compose(Rotation2D a, Rotation2D b) -> Rotation2D
1733  compose(Transformation2D a, Transformation2D b) -> Transformation2D
1734  """
1735  return _IMP_algebra.compose(*args)
1736 
1737 def get_unit_sphere_kd(d):
1738  r"""get_unit_sphere_kd(unsigned int d) -> SphereKD"""
1739  return _IMP_algebra.get_unit_sphere_kd(d)
1740 
1741 def get_enclosing_sphere(*args):
1742  r"""
1743  get_enclosing_sphere(IMP::algebra::Sphere3Ds const & ss) -> Sphere3D
1744  get_enclosing_sphere(IMP::algebra::Vector3Ds const & ss) -> Sphere3D
1745  """
1746  return _IMP_algebra.get_enclosing_sphere(*args)
1747 
1748 def get_ball_radius_from_volume_3d(volume):
1749  r"""get_ball_radius_from_volume_3d(double volume) -> double"""
1750  return _IMP_algebra.get_ball_radius_from_volume_3d(volume)
1751 
1753  r"""get_surface_area_and_volume(IMP::algebra::Sphere3Ds const & ss) -> IMP::FloatPair"""
1754  return _IMP_algebra.get_surface_area_and_volume(ss)
1755 
1756 def get_simplified_from_volume(_in, maximum_allowed_error_angstroms):
1757  r"""get_simplified_from_volume(IMP::algebra::Sphere3Ds _in, double maximum_allowed_error_angstroms) -> IMP::algebra::Sphere3Ds"""
1758  return _IMP_algebra.get_simplified_from_volume(_in, maximum_allowed_error_angstroms)
1759 
1760 def get_triangle_3d(s):
1761  r"""get_triangle_3d(UnitSimplex3D s) -> Triangle3D"""
1762  return _IMP_algebra.get_triangle_3d(s)
1763 class _UnitSimplexBaseKD(IMP._GeometricPrimitiveKD):
1764  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< -1 > class."""
1765 
1766  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1767 
1768  def __init__(self, *args, **kwargs):
1769  raise AttributeError("No constructor defined - class is abstract")
1770  __repr__ = _swig_repr
1771 
1772  def get_dimension(self):
1773  r"""get_dimension(_UnitSimplexBaseKD self) -> int"""
1774  return _IMP_algebra._UnitSimplexBaseKD_get_dimension(self)
1775 
1776  def get_barycenter(self):
1777  r"""get_barycenter(_UnitSimplexBaseKD self) -> VectorKD"""
1778  return _IMP_algebra._UnitSimplexBaseKD_get_barycenter(self)
1779 
1780  def get_contains(self, *args):
1781  r"""get_contains(_UnitSimplexBaseKD self, VectorKD p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1782  return _IMP_algebra._UnitSimplexBaseKD_get_contains(self, *args)
1783  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBaseKD
1784 
1785 # Register _UnitSimplexBaseKD in _IMP_algebra:
1786 _IMP_algebra._UnitSimplexBaseKD_swigregister(_UnitSimplexBaseKD)
1787 class _UnitSimplexBase1D(IMP._GeometricPrimitive1D):
1788  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 1 > class."""
1789 
1790  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1791 
1792  def __init__(self, *args, **kwargs):
1793  raise AttributeError("No constructor defined - class is abstract")
1794  __repr__ = _swig_repr
1795 
1796  def get_dimension(self):
1797  r"""get_dimension(_UnitSimplexBase1D self) -> int"""
1798  return _IMP_algebra._UnitSimplexBase1D_get_dimension(self)
1799 
1800  def get_barycenter(self):
1801  r"""get_barycenter(_UnitSimplexBase1D self) -> Vector1D"""
1802  return _IMP_algebra._UnitSimplexBase1D_get_barycenter(self)
1803 
1804  def get_contains(self, *args):
1805  r"""get_contains(_UnitSimplexBase1D self, Vector1D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1806  return _IMP_algebra._UnitSimplexBase1D_get_contains(self, *args)
1807  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase1D
1808 
1809 # Register _UnitSimplexBase1D in _IMP_algebra:
1810 _IMP_algebra._UnitSimplexBase1D_swigregister(_UnitSimplexBase1D)
1811 class _UnitSimplexBase2D(IMP._GeometricPrimitive2D):
1812  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 2 > class."""
1813 
1814  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1815 
1816  def __init__(self, *args, **kwargs):
1817  raise AttributeError("No constructor defined - class is abstract")
1818  __repr__ = _swig_repr
1819 
1820  def get_dimension(self):
1821  r"""get_dimension(_UnitSimplexBase2D self) -> int"""
1822  return _IMP_algebra._UnitSimplexBase2D_get_dimension(self)
1823 
1824  def get_barycenter(self):
1825  r"""get_barycenter(_UnitSimplexBase2D self) -> Vector2D"""
1826  return _IMP_algebra._UnitSimplexBase2D_get_barycenter(self)
1827 
1828  def get_contains(self, *args):
1829  r"""get_contains(_UnitSimplexBase2D self, Vector2D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1830  return _IMP_algebra._UnitSimplexBase2D_get_contains(self, *args)
1831  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase2D
1832 
1833 # Register _UnitSimplexBase2D in _IMP_algebra:
1834 _IMP_algebra._UnitSimplexBase2D_swigregister(_UnitSimplexBase2D)
1835 class _UnitSimplexBase3D(IMP._GeometricPrimitive3D):
1836  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 3 > class."""
1837 
1838  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1839 
1840  def __init__(self, *args, **kwargs):
1841  raise AttributeError("No constructor defined - class is abstract")
1842  __repr__ = _swig_repr
1843 
1844  def get_dimension(self):
1845  r"""get_dimension(_UnitSimplexBase3D self) -> int"""
1846  return _IMP_algebra._UnitSimplexBase3D_get_dimension(self)
1847 
1848  def get_barycenter(self):
1849  r"""get_barycenter(_UnitSimplexBase3D self) -> Vector3D"""
1850  return _IMP_algebra._UnitSimplexBase3D_get_barycenter(self)
1851 
1852  def get_contains(self, *args):
1853  r"""get_contains(_UnitSimplexBase3D self, Vector3D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1854  return _IMP_algebra._UnitSimplexBase3D_get_contains(self, *args)
1855  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase3D
1856 
1857 # Register _UnitSimplexBase3D in _IMP_algebra:
1858 _IMP_algebra._UnitSimplexBase3D_swigregister(_UnitSimplexBase3D)
1859 class _UnitSimplexBase4D(IMP._GeometricPrimitive4D):
1860  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 4 > class."""
1861 
1862  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1863 
1864  def __init__(self, *args, **kwargs):
1865  raise AttributeError("No constructor defined - class is abstract")
1866  __repr__ = _swig_repr
1867 
1868  def get_dimension(self):
1869  r"""get_dimension(_UnitSimplexBase4D self) -> int"""
1870  return _IMP_algebra._UnitSimplexBase4D_get_dimension(self)
1871 
1872  def get_barycenter(self):
1873  r"""get_barycenter(_UnitSimplexBase4D self) -> Vector4D"""
1874  return _IMP_algebra._UnitSimplexBase4D_get_barycenter(self)
1875 
1876  def get_contains(self, *args):
1877  r"""get_contains(_UnitSimplexBase4D self, Vector4D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1878  return _IMP_algebra._UnitSimplexBase4D_get_contains(self, *args)
1879  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase4D
1880 
1881 # Register _UnitSimplexBase4D in _IMP_algebra:
1882 _IMP_algebra._UnitSimplexBase4D_swigregister(_UnitSimplexBase4D)
1883 class _UnitSimplexBase5D(IMP._GeometricPrimitive5D):
1884  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 5 > class."""
1885 
1886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1887 
1888  def __init__(self, *args, **kwargs):
1889  raise AttributeError("No constructor defined - class is abstract")
1890  __repr__ = _swig_repr
1891 
1892  def get_dimension(self):
1893  r"""get_dimension(_UnitSimplexBase5D self) -> int"""
1894  return _IMP_algebra._UnitSimplexBase5D_get_dimension(self)
1895 
1896  def get_barycenter(self):
1897  r"""get_barycenter(_UnitSimplexBase5D self) -> Vector5D"""
1898  return _IMP_algebra._UnitSimplexBase5D_get_barycenter(self)
1899 
1900  def get_contains(self, *args):
1901  r"""get_contains(_UnitSimplexBase5D self, Vector5D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1902  return _IMP_algebra._UnitSimplexBase5D_get_contains(self, *args)
1903  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase5D
1904 
1905 # Register _UnitSimplexBase5D in _IMP_algebra:
1906 _IMP_algebra._UnitSimplexBase5D_swigregister(_UnitSimplexBase5D)
1907 class _UnitSimplexBase6D(IMP._GeometricPrimitive6D):
1908  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 6 > class."""
1909 
1910  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1911 
1912  def __init__(self, *args, **kwargs):
1913  raise AttributeError("No constructor defined - class is abstract")
1914  __repr__ = _swig_repr
1915 
1916  def get_dimension(self):
1917  r"""get_dimension(_UnitSimplexBase6D self) -> int"""
1918  return _IMP_algebra._UnitSimplexBase6D_get_dimension(self)
1919 
1920  def get_barycenter(self):
1921  r"""get_barycenter(_UnitSimplexBase6D self) -> Vector6D"""
1922  return _IMP_algebra._UnitSimplexBase6D_get_barycenter(self)
1923 
1924  def get_contains(self, *args):
1925  r"""get_contains(_UnitSimplexBase6D self, Vector6D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1926  return _IMP_algebra._UnitSimplexBase6D_get_contains(self, *args)
1927  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase6D
1928 
1929 # Register _UnitSimplexBase6D in _IMP_algebra:
1930 _IMP_algebra._UnitSimplexBase6D_swigregister(_UnitSimplexBase6D)
1931 class BoundingBox1D(object):
1932  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 1 > class."""
1933 
1934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1935 
1936  def get_dimension(self):
1937  r"""get_dimension(BoundingBox1D self) -> unsigned int"""
1938  return _IMP_algebra.BoundingBox1D_get_dimension(self)
1939 
1940  def get_corner(self, i):
1941  r"""get_corner(BoundingBox1D self, unsigned int i) -> Vector1D"""
1942  return _IMP_algebra.BoundingBox1D_get_corner(self, i)
1943 
1944  def get_contains(self, *args):
1945  r"""
1946  get_contains(BoundingBox1D self, Vector1D o) -> bool
1947  get_contains(BoundingBox1D self, BoundingBox1D bb) -> bool
1948  """
1949  return _IMP_algebra.BoundingBox1D_get_contains(self, *args)
1950 
1951  def show(self, *args):
1952  r"""show(BoundingBox1D self, _ostream out=std::cout)"""
1953  return _IMP_algebra.BoundingBox1D_show(self, *args)
1954 
1955  def __str__(self):
1956  r"""__str__(BoundingBox1D self) -> std::string"""
1957  return _IMP_algebra.BoundingBox1D___str__(self)
1958 
1959  def __repr__(self):
1960  r"""__repr__(BoundingBox1D self) -> std::string"""
1961  return _IMP_algebra.BoundingBox1D___repr__(self)
1962 
1963  def __cmp__(self, arg2):
1964  r"""__cmp__(BoundingBox1D self, BoundingBox1D arg2) -> int"""
1965  return _IMP_algebra.BoundingBox1D___cmp__(self, arg2)
1966 
1967  def __eq__(self, arg2):
1968  r"""__eq__(BoundingBox1D self, BoundingBox1D arg2) -> bool"""
1969  return _IMP_algebra.BoundingBox1D___eq__(self, arg2)
1970 
1971  def __init__(self, *args):
1972  r"""
1973  __init__(BoundingBox1D self, unsigned int d) -> BoundingBox1D
1974  __init__(BoundingBox1D self, Vector1D lb, Vector1D ub) -> BoundingBox1D
1975  __init__(BoundingBox1D self, Vector1D v) -> BoundingBox1D
1976  __init__(BoundingBox1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & points) -> BoundingBox1D
1977  __init__(BoundingBox1D self) -> BoundingBox1D
1978  """
1979  _IMP_algebra.BoundingBox1D_swiginit(self, _IMP_algebra.new_BoundingBox1D(*args))
1980 
1981  def __getitem__(self, index):
1982  r"""__getitem__(BoundingBox1D self, unsigned int index) -> Vector1D"""
1983  return _IMP_algebra.BoundingBox1D___getitem__(self, index)
1984 
1985  def __iadd__(self, *args):
1986  _IMP_algebra.BoundingBox1D___iadd__(self, *args)
1987  return self
1988 
1989 
1990 
1991  def __len__(self):
1992  r"""__len__(BoundingBox1D self) -> unsigned int"""
1993  return _IMP_algebra.BoundingBox1D___len__(self)
1994 
1995  def __add__(self, *args):
1996  r"""
1997  __add__(BoundingBox1D self, BoundingBox1D o) -> BoundingBox1D
1998  __add__(BoundingBox1D self, Vector1D o) -> BoundingBox1D
1999  __add__(BoundingBox1D self, double o) -> BoundingBox1D
2000  """
2001  return _IMP_algebra.BoundingBox1D___add__(self, *args)
2002 
2003  def _get_as_binary(self):
2004  r"""_get_as_binary(BoundingBox1D self) -> PyObject *"""
2005  return _IMP_algebra.BoundingBox1D__get_as_binary(self)
2006 
2007  def _set_from_binary(self, p):
2008  r"""_set_from_binary(BoundingBox1D self, PyObject * p)"""
2009  return _IMP_algebra.BoundingBox1D__set_from_binary(self, p)
2010 
2011  def __getstate__(self):
2012  p = self._get_as_binary()
2013  if len(self.__dict__) > 1:
2014  d = self.__dict__.copy()
2015  del d['this']
2016  p = (d, p)
2017  return p
2018 
2019  def __setstate__(self, p):
2020  if not hasattr(self, 'this'):
2021  self.__init__()
2022  if isinstance(p, tuple):
2023  d, p = p
2024  self.__dict__.update(d)
2025  return self._set_from_binary(p)
2026 
2027  __swig_destroy__ = _IMP_algebra.delete_BoundingBox1D
2028 
2029 # Register BoundingBox1D in _IMP_algebra:
2030 _IMP_algebra.BoundingBox1D_swigregister(BoundingBox1D)
2031 class BoundingBox2D(object):
2032  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 2 > class."""
2033 
2034  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2035 
2036  def get_dimension(self):
2037  r"""get_dimension(BoundingBox2D self) -> unsigned int"""
2038  return _IMP_algebra.BoundingBox2D_get_dimension(self)
2039 
2040  def get_corner(self, i):
2041  r"""get_corner(BoundingBox2D self, unsigned int i) -> Vector2D"""
2042  return _IMP_algebra.BoundingBox2D_get_corner(self, i)
2043 
2044  def get_contains(self, *args):
2045  r"""
2046  get_contains(BoundingBox2D self, Vector2D o) -> bool
2047  get_contains(BoundingBox2D self, BoundingBox2D bb) -> bool
2048  """
2049  return _IMP_algebra.BoundingBox2D_get_contains(self, *args)
2050 
2051  def show(self, *args):
2052  r"""show(BoundingBox2D self, _ostream out=std::cout)"""
2053  return _IMP_algebra.BoundingBox2D_show(self, *args)
2054 
2055  def __str__(self):
2056  r"""__str__(BoundingBox2D self) -> std::string"""
2057  return _IMP_algebra.BoundingBox2D___str__(self)
2058 
2059  def __repr__(self):
2060  r"""__repr__(BoundingBox2D self) -> std::string"""
2061  return _IMP_algebra.BoundingBox2D___repr__(self)
2062 
2063  def __cmp__(self, arg2):
2064  r"""__cmp__(BoundingBox2D self, BoundingBox2D arg2) -> int"""
2065  return _IMP_algebra.BoundingBox2D___cmp__(self, arg2)
2066 
2067  def __eq__(self, arg2):
2068  r"""__eq__(BoundingBox2D self, BoundingBox2D arg2) -> bool"""
2069  return _IMP_algebra.BoundingBox2D___eq__(self, arg2)
2070 
2071  def __init__(self, *args):
2072  r"""
2073  __init__(BoundingBox2D self, unsigned int d) -> BoundingBox2D
2074  __init__(BoundingBox2D self, Vector2D lb, Vector2D ub) -> BoundingBox2D
2075  __init__(BoundingBox2D self, Vector2D v) -> BoundingBox2D
2076  __init__(BoundingBox2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & points) -> BoundingBox2D
2077  __init__(BoundingBox2D self) -> BoundingBox2D
2078  """
2079  _IMP_algebra.BoundingBox2D_swiginit(self, _IMP_algebra.new_BoundingBox2D(*args))
2080 
2081  def __getitem__(self, index):
2082  r"""__getitem__(BoundingBox2D self, unsigned int index) -> Vector2D"""
2083  return _IMP_algebra.BoundingBox2D___getitem__(self, index)
2084 
2085  def __iadd__(self, *args):
2086  _IMP_algebra.BoundingBox2D___iadd__(self, *args)
2087  return self
2088 
2089 
2090 
2091  def __len__(self):
2092  r"""__len__(BoundingBox2D self) -> unsigned int"""
2093  return _IMP_algebra.BoundingBox2D___len__(self)
2094 
2095  def __add__(self, *args):
2096  r"""
2097  __add__(BoundingBox2D self, BoundingBox2D o) -> BoundingBox2D
2098  __add__(BoundingBox2D self, Vector2D o) -> BoundingBox2D
2099  __add__(BoundingBox2D self, double o) -> BoundingBox2D
2100  """
2101  return _IMP_algebra.BoundingBox2D___add__(self, *args)
2102 
2103  def _get_as_binary(self):
2104  r"""_get_as_binary(BoundingBox2D self) -> PyObject *"""
2105  return _IMP_algebra.BoundingBox2D__get_as_binary(self)
2106 
2107  def _set_from_binary(self, p):
2108  r"""_set_from_binary(BoundingBox2D self, PyObject * p)"""
2109  return _IMP_algebra.BoundingBox2D__set_from_binary(self, p)
2110 
2111  def __getstate__(self):
2112  p = self._get_as_binary()
2113  if len(self.__dict__) > 1:
2114  d = self.__dict__.copy()
2115  del d['this']
2116  p = (d, p)
2117  return p
2118 
2119  def __setstate__(self, p):
2120  if not hasattr(self, 'this'):
2121  self.__init__()
2122  if isinstance(p, tuple):
2123  d, p = p
2124  self.__dict__.update(d)
2125  return self._set_from_binary(p)
2126 
2127  __swig_destroy__ = _IMP_algebra.delete_BoundingBox2D
2128 
2129 # Register BoundingBox2D in _IMP_algebra:
2130 _IMP_algebra.BoundingBox2D_swigregister(BoundingBox2D)
2131 class BoundingBox3D(object):
2132  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 3 > class."""
2133 
2134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2135 
2136  def get_dimension(self):
2137  r"""get_dimension(BoundingBox3D self) -> unsigned int"""
2138  return _IMP_algebra.BoundingBox3D_get_dimension(self)
2139 
2140  def get_corner(self, i):
2141  r"""get_corner(BoundingBox3D self, unsigned int i) -> Vector3D"""
2142  return _IMP_algebra.BoundingBox3D_get_corner(self, i)
2143 
2144  def get_contains(self, *args):
2145  r"""
2146  get_contains(BoundingBox3D self, Vector3D o) -> bool
2147  get_contains(BoundingBox3D self, BoundingBox3D bb) -> bool
2148  """
2149  return _IMP_algebra.BoundingBox3D_get_contains(self, *args)
2150 
2151  def show(self, *args):
2152  r"""show(BoundingBox3D self, _ostream out=std::cout)"""
2153  return _IMP_algebra.BoundingBox3D_show(self, *args)
2154 
2155  def __str__(self):
2156  r"""__str__(BoundingBox3D self) -> std::string"""
2157  return _IMP_algebra.BoundingBox3D___str__(self)
2158 
2159  def __repr__(self):
2160  r"""__repr__(BoundingBox3D self) -> std::string"""
2161  return _IMP_algebra.BoundingBox3D___repr__(self)
2162 
2163  def __cmp__(self, arg2):
2164  r"""__cmp__(BoundingBox3D self, BoundingBox3D arg2) -> int"""
2165  return _IMP_algebra.BoundingBox3D___cmp__(self, arg2)
2166 
2167  def __eq__(self, arg2):
2168  r"""__eq__(BoundingBox3D self, BoundingBox3D arg2) -> bool"""
2169  return _IMP_algebra.BoundingBox3D___eq__(self, arg2)
2170 
2171  def __init__(self, *args):
2172  r"""
2173  __init__(BoundingBox3D self, unsigned int d) -> BoundingBox3D
2174  __init__(BoundingBox3D self, Vector3D lb, Vector3D ub) -> BoundingBox3D
2175  __init__(BoundingBox3D self, Vector3D v) -> BoundingBox3D
2176  __init__(BoundingBox3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & points) -> BoundingBox3D
2177  __init__(BoundingBox3D self) -> BoundingBox3D
2178  """
2179  _IMP_algebra.BoundingBox3D_swiginit(self, _IMP_algebra.new_BoundingBox3D(*args))
2180 
2181  def __getitem__(self, index):
2182  r"""__getitem__(BoundingBox3D self, unsigned int index) -> Vector3D"""
2183  return _IMP_algebra.BoundingBox3D___getitem__(self, index)
2184 
2185  def __iadd__(self, *args):
2186  _IMP_algebra.BoundingBox3D___iadd__(self, *args)
2187  return self
2188 
2189 
2190 
2191  def __len__(self):
2192  r"""__len__(BoundingBox3D self) -> unsigned int"""
2193  return _IMP_algebra.BoundingBox3D___len__(self)
2194 
2195  def __add__(self, *args):
2196  r"""
2197  __add__(BoundingBox3D self, BoundingBox3D o) -> BoundingBox3D
2198  __add__(BoundingBox3D self, Vector3D o) -> BoundingBox3D
2199  __add__(BoundingBox3D self, double o) -> BoundingBox3D
2200  """
2201  return _IMP_algebra.BoundingBox3D___add__(self, *args)
2202 
2203  def _get_as_binary(self):
2204  r"""_get_as_binary(BoundingBox3D self) -> PyObject *"""
2205  return _IMP_algebra.BoundingBox3D__get_as_binary(self)
2206 
2207  def _set_from_binary(self, p):
2208  r"""_set_from_binary(BoundingBox3D self, PyObject * p)"""
2209  return _IMP_algebra.BoundingBox3D__set_from_binary(self, p)
2210 
2211  def __getstate__(self):
2212  p = self._get_as_binary()
2213  if len(self.__dict__) > 1:
2214  d = self.__dict__.copy()
2215  del d['this']
2216  p = (d, p)
2217  return p
2218 
2219  def __setstate__(self, p):
2220  if not hasattr(self, 'this'):
2221  self.__init__()
2222  if isinstance(p, tuple):
2223  d, p = p
2224  self.__dict__.update(d)
2225  return self._set_from_binary(p)
2226 
2227  __swig_destroy__ = _IMP_algebra.delete_BoundingBox3D
2228 
2229 # Register BoundingBox3D in _IMP_algebra:
2230 _IMP_algebra.BoundingBox3D_swigregister(BoundingBox3D)
2231 class BoundingBox4D(object):
2232  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 4 > class."""
2233 
2234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2235 
2236  def get_dimension(self):
2237  r"""get_dimension(BoundingBox4D self) -> unsigned int"""
2238  return _IMP_algebra.BoundingBox4D_get_dimension(self)
2239 
2240  def get_corner(self, i):
2241  r"""get_corner(BoundingBox4D self, unsigned int i) -> Vector4D"""
2242  return _IMP_algebra.BoundingBox4D_get_corner(self, i)
2243 
2244  def get_contains(self, *args):
2245  r"""
2246  get_contains(BoundingBox4D self, Vector4D o) -> bool
2247  get_contains(BoundingBox4D self, BoundingBox4D bb) -> bool
2248  """
2249  return _IMP_algebra.BoundingBox4D_get_contains(self, *args)
2250 
2251  def show(self, *args):
2252  r"""show(BoundingBox4D self, _ostream out=std::cout)"""
2253  return _IMP_algebra.BoundingBox4D_show(self, *args)
2254 
2255  def __str__(self):
2256  r"""__str__(BoundingBox4D self) -> std::string"""
2257  return _IMP_algebra.BoundingBox4D___str__(self)
2258 
2259  def __repr__(self):
2260  r"""__repr__(BoundingBox4D self) -> std::string"""
2261  return _IMP_algebra.BoundingBox4D___repr__(self)
2262 
2263  def __cmp__(self, arg2):
2264  r"""__cmp__(BoundingBox4D self, BoundingBox4D arg2) -> int"""
2265  return _IMP_algebra.BoundingBox4D___cmp__(self, arg2)
2266 
2267  def __eq__(self, arg2):
2268  r"""__eq__(BoundingBox4D self, BoundingBox4D arg2) -> bool"""
2269  return _IMP_algebra.BoundingBox4D___eq__(self, arg2)
2270 
2271  def __init__(self, *args):
2272  r"""
2273  __init__(BoundingBox4D self, unsigned int d) -> BoundingBox4D
2274  __init__(BoundingBox4D self, Vector4D lb, Vector4D ub) -> BoundingBox4D
2275  __init__(BoundingBox4D self, Vector4D v) -> BoundingBox4D
2276  __init__(BoundingBox4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & points) -> BoundingBox4D
2277  __init__(BoundingBox4D self) -> BoundingBox4D
2278  """
2279  _IMP_algebra.BoundingBox4D_swiginit(self, _IMP_algebra.new_BoundingBox4D(*args))
2280 
2281  def __getitem__(self, index):
2282  r"""__getitem__(BoundingBox4D self, unsigned int index) -> Vector4D"""
2283  return _IMP_algebra.BoundingBox4D___getitem__(self, index)
2284 
2285  def __iadd__(self, *args):
2286  _IMP_algebra.BoundingBox4D___iadd__(self, *args)
2287  return self
2288 
2289 
2290 
2291  def __len__(self):
2292  r"""__len__(BoundingBox4D self) -> unsigned int"""
2293  return _IMP_algebra.BoundingBox4D___len__(self)
2294 
2295  def __add__(self, *args):
2296  r"""
2297  __add__(BoundingBox4D self, BoundingBox4D o) -> BoundingBox4D
2298  __add__(BoundingBox4D self, Vector4D o) -> BoundingBox4D
2299  __add__(BoundingBox4D self, double o) -> BoundingBox4D
2300  """
2301  return _IMP_algebra.BoundingBox4D___add__(self, *args)
2302 
2303  def _get_as_binary(self):
2304  r"""_get_as_binary(BoundingBox4D self) -> PyObject *"""
2305  return _IMP_algebra.BoundingBox4D__get_as_binary(self)
2306 
2307  def _set_from_binary(self, p):
2308  r"""_set_from_binary(BoundingBox4D self, PyObject * p)"""
2309  return _IMP_algebra.BoundingBox4D__set_from_binary(self, p)
2310 
2311  def __getstate__(self):
2312  p = self._get_as_binary()
2313  if len(self.__dict__) > 1:
2314  d = self.__dict__.copy()
2315  del d['this']
2316  p = (d, p)
2317  return p
2318 
2319  def __setstate__(self, p):
2320  if not hasattr(self, 'this'):
2321  self.__init__()
2322  if isinstance(p, tuple):
2323  d, p = p
2324  self.__dict__.update(d)
2325  return self._set_from_binary(p)
2326 
2327  __swig_destroy__ = _IMP_algebra.delete_BoundingBox4D
2328 
2329 # Register BoundingBox4D in _IMP_algebra:
2330 _IMP_algebra.BoundingBox4D_swigregister(BoundingBox4D)
2331 class BoundingBox5D(object):
2332  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 5 > class."""
2333 
2334  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2335 
2336  def get_dimension(self):
2337  r"""get_dimension(BoundingBox5D self) -> unsigned int"""
2338  return _IMP_algebra.BoundingBox5D_get_dimension(self)
2339 
2340  def get_corner(self, i):
2341  r"""get_corner(BoundingBox5D self, unsigned int i) -> Vector5D"""
2342  return _IMP_algebra.BoundingBox5D_get_corner(self, i)
2343 
2344  def get_contains(self, *args):
2345  r"""
2346  get_contains(BoundingBox5D self, Vector5D o) -> bool
2347  get_contains(BoundingBox5D self, BoundingBox5D bb) -> bool
2348  """
2349  return _IMP_algebra.BoundingBox5D_get_contains(self, *args)
2350 
2351  def show(self, *args):
2352  r"""show(BoundingBox5D self, _ostream out=std::cout)"""
2353  return _IMP_algebra.BoundingBox5D_show(self, *args)
2354 
2355  def __str__(self):
2356  r"""__str__(BoundingBox5D self) -> std::string"""
2357  return _IMP_algebra.BoundingBox5D___str__(self)
2358 
2359  def __repr__(self):
2360  r"""__repr__(BoundingBox5D self) -> std::string"""
2361  return _IMP_algebra.BoundingBox5D___repr__(self)
2362 
2363  def __cmp__(self, arg2):
2364  r"""__cmp__(BoundingBox5D self, BoundingBox5D arg2) -> int"""
2365  return _IMP_algebra.BoundingBox5D___cmp__(self, arg2)
2366 
2367  def __eq__(self, arg2):
2368  r"""__eq__(BoundingBox5D self, BoundingBox5D arg2) -> bool"""
2369  return _IMP_algebra.BoundingBox5D___eq__(self, arg2)
2370 
2371  def __init__(self, *args):
2372  r"""
2373  __init__(BoundingBox5D self, unsigned int d) -> BoundingBox5D
2374  __init__(BoundingBox5D self, Vector5D lb, Vector5D ub) -> BoundingBox5D
2375  __init__(BoundingBox5D self, Vector5D v) -> BoundingBox5D
2376  __init__(BoundingBox5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & points) -> BoundingBox5D
2377  __init__(BoundingBox5D self) -> BoundingBox5D
2378  """
2379  _IMP_algebra.BoundingBox5D_swiginit(self, _IMP_algebra.new_BoundingBox5D(*args))
2380 
2381  def __getitem__(self, index):
2382  r"""__getitem__(BoundingBox5D self, unsigned int index) -> Vector5D"""
2383  return _IMP_algebra.BoundingBox5D___getitem__(self, index)
2384 
2385  def __iadd__(self, *args):
2386  _IMP_algebra.BoundingBox5D___iadd__(self, *args)
2387  return self
2388 
2389 
2390 
2391  def __len__(self):
2392  r"""__len__(BoundingBox5D self) -> unsigned int"""
2393  return _IMP_algebra.BoundingBox5D___len__(self)
2394 
2395  def __add__(self, *args):
2396  r"""
2397  __add__(BoundingBox5D self, BoundingBox5D o) -> BoundingBox5D
2398  __add__(BoundingBox5D self, Vector5D o) -> BoundingBox5D
2399  __add__(BoundingBox5D self, double o) -> BoundingBox5D
2400  """
2401  return _IMP_algebra.BoundingBox5D___add__(self, *args)
2402 
2403  def _get_as_binary(self):
2404  r"""_get_as_binary(BoundingBox5D self) -> PyObject *"""
2405  return _IMP_algebra.BoundingBox5D__get_as_binary(self)
2406 
2407  def _set_from_binary(self, p):
2408  r"""_set_from_binary(BoundingBox5D self, PyObject * p)"""
2409  return _IMP_algebra.BoundingBox5D__set_from_binary(self, p)
2410 
2411  def __getstate__(self):
2412  p = self._get_as_binary()
2413  if len(self.__dict__) > 1:
2414  d = self.__dict__.copy()
2415  del d['this']
2416  p = (d, p)
2417  return p
2418 
2419  def __setstate__(self, p):
2420  if not hasattr(self, 'this'):
2421  self.__init__()
2422  if isinstance(p, tuple):
2423  d, p = p
2424  self.__dict__.update(d)
2425  return self._set_from_binary(p)
2426 
2427  __swig_destroy__ = _IMP_algebra.delete_BoundingBox5D
2428 
2429 # Register BoundingBox5D in _IMP_algebra:
2430 _IMP_algebra.BoundingBox5D_swigregister(BoundingBox5D)
2431 class BoundingBox6D(object):
2432  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 6 > class."""
2433 
2434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2435 
2436  def get_dimension(self):
2437  r"""get_dimension(BoundingBox6D self) -> unsigned int"""
2438  return _IMP_algebra.BoundingBox6D_get_dimension(self)
2439 
2440  def get_corner(self, i):
2441  r"""get_corner(BoundingBox6D self, unsigned int i) -> Vector6D"""
2442  return _IMP_algebra.BoundingBox6D_get_corner(self, i)
2443 
2444  def get_contains(self, *args):
2445  r"""
2446  get_contains(BoundingBox6D self, Vector6D o) -> bool
2447  get_contains(BoundingBox6D self, BoundingBox6D bb) -> bool
2448  """
2449  return _IMP_algebra.BoundingBox6D_get_contains(self, *args)
2450 
2451  def show(self, *args):
2452  r"""show(BoundingBox6D self, _ostream out=std::cout)"""
2453  return _IMP_algebra.BoundingBox6D_show(self, *args)
2454 
2455  def __str__(self):
2456  r"""__str__(BoundingBox6D self) -> std::string"""
2457  return _IMP_algebra.BoundingBox6D___str__(self)
2458 
2459  def __repr__(self):
2460  r"""__repr__(BoundingBox6D self) -> std::string"""
2461  return _IMP_algebra.BoundingBox6D___repr__(self)
2462 
2463  def __cmp__(self, arg2):
2464  r"""__cmp__(BoundingBox6D self, BoundingBox6D arg2) -> int"""
2465  return _IMP_algebra.BoundingBox6D___cmp__(self, arg2)
2466 
2467  def __eq__(self, arg2):
2468  r"""__eq__(BoundingBox6D self, BoundingBox6D arg2) -> bool"""
2469  return _IMP_algebra.BoundingBox6D___eq__(self, arg2)
2470 
2471  def __init__(self, *args):
2472  r"""
2473  __init__(BoundingBox6D self, unsigned int d) -> BoundingBox6D
2474  __init__(BoundingBox6D self, Vector6D lb, Vector6D ub) -> BoundingBox6D
2475  __init__(BoundingBox6D self, Vector6D v) -> BoundingBox6D
2476  __init__(BoundingBox6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & points) -> BoundingBox6D
2477  __init__(BoundingBox6D self) -> BoundingBox6D
2478  """
2479  _IMP_algebra.BoundingBox6D_swiginit(self, _IMP_algebra.new_BoundingBox6D(*args))
2480 
2481  def __getitem__(self, index):
2482  r"""__getitem__(BoundingBox6D self, unsigned int index) -> Vector6D"""
2483  return _IMP_algebra.BoundingBox6D___getitem__(self, index)
2484 
2485  def __iadd__(self, *args):
2486  _IMP_algebra.BoundingBox6D___iadd__(self, *args)
2487  return self
2488 
2489 
2490 
2491  def __len__(self):
2492  r"""__len__(BoundingBox6D self) -> unsigned int"""
2493  return _IMP_algebra.BoundingBox6D___len__(self)
2494 
2495  def __add__(self, *args):
2496  r"""
2497  __add__(BoundingBox6D self, BoundingBox6D o) -> BoundingBox6D
2498  __add__(BoundingBox6D self, Vector6D o) -> BoundingBox6D
2499  __add__(BoundingBox6D self, double o) -> BoundingBox6D
2500  """
2501  return _IMP_algebra.BoundingBox6D___add__(self, *args)
2502 
2503  def _get_as_binary(self):
2504  r"""_get_as_binary(BoundingBox6D self) -> PyObject *"""
2505  return _IMP_algebra.BoundingBox6D__get_as_binary(self)
2506 
2507  def _set_from_binary(self, p):
2508  r"""_set_from_binary(BoundingBox6D self, PyObject * p)"""
2509  return _IMP_algebra.BoundingBox6D__set_from_binary(self, p)
2510 
2511  def __getstate__(self):
2512  p = self._get_as_binary()
2513  if len(self.__dict__) > 1:
2514  d = self.__dict__.copy()
2515  del d['this']
2516  p = (d, p)
2517  return p
2518 
2519  def __setstate__(self, p):
2520  if not hasattr(self, 'this'):
2521  self.__init__()
2522  if isinstance(p, tuple):
2523  d, p = p
2524  self.__dict__.update(d)
2525  return self._set_from_binary(p)
2526 
2527  __swig_destroy__ = _IMP_algebra.delete_BoundingBox6D
2528 
2529 # Register BoundingBox6D in _IMP_algebra:
2530 _IMP_algebra.BoundingBox6D_swigregister(BoundingBox6D)
2531 class BoundingBoxKD(object):
2532  r"""Proxy of C++ IMP::algebra::BoundingBoxD< -1 > class."""
2533 
2534  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2535 
2536  def get_dimension(self):
2537  r"""get_dimension(BoundingBoxKD self) -> unsigned int"""
2538  return _IMP_algebra.BoundingBoxKD_get_dimension(self)
2539 
2540  def get_corner(self, i):
2541  r"""get_corner(BoundingBoxKD self, unsigned int i) -> VectorKD"""
2542  return _IMP_algebra.BoundingBoxKD_get_corner(self, i)
2543 
2544  def get_contains(self, *args):
2545  r"""
2546  get_contains(BoundingBoxKD self, VectorKD o) -> bool
2547  get_contains(BoundingBoxKD self, BoundingBoxKD bb) -> bool
2548  """
2549  return _IMP_algebra.BoundingBoxKD_get_contains(self, *args)
2550 
2551  def show(self, *args):
2552  r"""show(BoundingBoxKD self, _ostream out=std::cout)"""
2553  return _IMP_algebra.BoundingBoxKD_show(self, *args)
2554 
2555  def __str__(self):
2556  r"""__str__(BoundingBoxKD self) -> std::string"""
2557  return _IMP_algebra.BoundingBoxKD___str__(self)
2558 
2559  def __repr__(self):
2560  r"""__repr__(BoundingBoxKD self) -> std::string"""
2561  return _IMP_algebra.BoundingBoxKD___repr__(self)
2562 
2563  def __cmp__(self, arg2):
2564  r"""__cmp__(BoundingBoxKD self, BoundingBoxKD arg2) -> int"""
2565  return _IMP_algebra.BoundingBoxKD___cmp__(self, arg2)
2566 
2567  def __eq__(self, arg2):
2568  r"""__eq__(BoundingBoxKD self, BoundingBoxKD arg2) -> bool"""
2569  return _IMP_algebra.BoundingBoxKD___eq__(self, arg2)
2570 
2571  def __init__(self, *args):
2572  r"""
2573  __init__(BoundingBoxKD self, unsigned int d) -> BoundingBoxKD
2574  __init__(BoundingBoxKD self, VectorKD lb, VectorKD ub) -> BoundingBoxKD
2575  __init__(BoundingBoxKD self, VectorKD v) -> BoundingBoxKD
2576  __init__(BoundingBoxKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & points) -> BoundingBoxKD
2577  __init__(BoundingBoxKD self) -> BoundingBoxKD
2578  """
2579  _IMP_algebra.BoundingBoxKD_swiginit(self, _IMP_algebra.new_BoundingBoxKD(*args))
2580 
2581  def __getitem__(self, index):
2582  r"""__getitem__(BoundingBoxKD self, unsigned int index) -> VectorKD"""
2583  return _IMP_algebra.BoundingBoxKD___getitem__(self, index)
2584 
2585  def __iadd__(self, *args):
2586  _IMP_algebra.BoundingBoxKD___iadd__(self, *args)
2587  return self
2588 
2589 
2590 
2591  def __len__(self):
2592  r"""__len__(BoundingBoxKD self) -> unsigned int"""
2593  return _IMP_algebra.BoundingBoxKD___len__(self)
2594 
2595  def __add__(self, *args):
2596  r"""
2597  __add__(BoundingBoxKD self, BoundingBoxKD o) -> BoundingBoxKD
2598  __add__(BoundingBoxKD self, VectorKD o) -> BoundingBoxKD
2599  __add__(BoundingBoxKD self, double o) -> BoundingBoxKD
2600  """
2601  return _IMP_algebra.BoundingBoxKD___add__(self, *args)
2602 
2603  def _get_as_binary(self):
2604  r"""_get_as_binary(BoundingBoxKD self) -> PyObject *"""
2605  return _IMP_algebra.BoundingBoxKD__get_as_binary(self)
2606 
2607  def _set_from_binary(self, p):
2608  r"""_set_from_binary(BoundingBoxKD self, PyObject * p)"""
2609  return _IMP_algebra.BoundingBoxKD__set_from_binary(self, p)
2610 
2611  def __getstate__(self):
2612  p = self._get_as_binary()
2613  if len(self.__dict__) > 1:
2614  d = self.__dict__.copy()
2615  del d['this']
2616  p = (d, p)
2617  return p
2618 
2619  def __setstate__(self, p):
2620  if not hasattr(self, 'this'):
2621  self.__init__()
2622  if isinstance(p, tuple):
2623  d, p = p
2624  self.__dict__.update(d)
2625  return self._set_from_binary(p)
2626 
2627  __swig_destroy__ = _IMP_algebra.delete_BoundingBoxKD
2628 
2629 # Register BoundingBoxKD in _IMP_algebra:
2630 _IMP_algebra.BoundingBoxKD_swigregister(BoundingBoxKD)
2631 class Sphere1D(IMP._GeometricPrimitive1D):
2632  r"""Proxy of C++ IMP::algebra::SphereD< 1 > class."""
2633 
2634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2635 
2636  def __init__(self, *args):
2637  r"""
2638  __init__(Sphere1D self) -> Sphere1D
2639  __init__(Sphere1D self, Vector1D center, double radius) -> Sphere1D
2640  """
2641  _IMP_algebra.Sphere1D_swiginit(self, _IMP_algebra.new_Sphere1D(*args))
2642 
2643  def get_radius(self):
2644  r"""get_radius(Sphere1D self) -> double"""
2645  return _IMP_algebra.Sphere1D_get_radius(self)
2646 
2647  def get_center(self):
2648  r"""get_center(Sphere1D self) -> Vector1D"""
2649  return _IMP_algebra.Sphere1D_get_center(self)
2650 
2651  def get_contains(self, *args):
2652  r"""
2653  get_contains(Sphere1D self, Sphere1D o) -> bool
2654  get_contains(Sphere1D self, Vector1D p) -> bool
2655  """
2656  return _IMP_algebra.Sphere1D_get_contains(self, *args)
2657 
2658  def show(self, *args):
2659  r"""show(Sphere1D self, _ostream out=std::cout)"""
2660  return _IMP_algebra.Sphere1D_show(self, *args)
2661 
2662  def get_dimension(self):
2663  r"""get_dimension(Sphere1D self) -> unsigned int"""
2664  return _IMP_algebra.Sphere1D_get_dimension(self)
2665 
2666  def __str__(self):
2667  r"""__str__(Sphere1D self) -> std::string"""
2668  return _IMP_algebra.Sphere1D___str__(self)
2669 
2670  def __repr__(self):
2671  r"""__repr__(Sphere1D self) -> std::string"""
2672  return _IMP_algebra.Sphere1D___repr__(self)
2673 
2674  def __cmp__(self, arg2):
2675  r"""__cmp__(Sphere1D self, Sphere1D arg2) -> int"""
2676  return _IMP_algebra.Sphere1D___cmp__(self, arg2)
2677 
2678  def __eq__(self, arg2):
2679  r"""__eq__(Sphere1D self, Sphere1D arg2) -> bool"""
2680  return _IMP_algebra.Sphere1D___eq__(self, arg2)
2681 
2682  def _get_as_binary(self):
2683  r"""_get_as_binary(Sphere1D self) -> PyObject *"""
2684  return _IMP_algebra.Sphere1D__get_as_binary(self)
2685 
2686  def _set_from_binary(self, p):
2687  r"""_set_from_binary(Sphere1D self, PyObject * p)"""
2688  return _IMP_algebra.Sphere1D__set_from_binary(self, p)
2689 
2690  def __getstate__(self):
2691  p = self._get_as_binary()
2692  if len(self.__dict__) > 1:
2693  d = self.__dict__.copy()
2694  del d['this']
2695  p = (d, p)
2696  return p
2697 
2698  def __setstate__(self, p):
2699  if not hasattr(self, 'this'):
2700  self.__init__()
2701  if isinstance(p, tuple):
2702  d, p = p
2703  self.__dict__.update(d)
2704  return self._set_from_binary(p)
2705 
2706  __swig_destroy__ = _IMP_algebra.delete_Sphere1D
2707 
2708 # Register Sphere1D in _IMP_algebra:
2709 _IMP_algebra.Sphere1D_swigregister(Sphere1D)
2710 class Sphere2D(IMP._GeometricPrimitive2D):
2711  r"""Proxy of C++ IMP::algebra::SphereD< 2 > class."""
2712 
2713  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2714 
2715  def __init__(self, *args):
2716  r"""
2717  __init__(Sphere2D self) -> Sphere2D
2718  __init__(Sphere2D self, Vector2D center, double radius) -> Sphere2D
2719  """
2720  _IMP_algebra.Sphere2D_swiginit(self, _IMP_algebra.new_Sphere2D(*args))
2721 
2722  def get_radius(self):
2723  r"""get_radius(Sphere2D self) -> double"""
2724  return _IMP_algebra.Sphere2D_get_radius(self)
2725 
2726  def get_center(self):
2727  r"""get_center(Sphere2D self) -> Vector2D"""
2728  return _IMP_algebra.Sphere2D_get_center(self)
2729 
2730  def get_contains(self, *args):
2731  r"""
2732  get_contains(Sphere2D self, Sphere2D o) -> bool
2733  get_contains(Sphere2D self, Vector2D p) -> bool
2734  """
2735  return _IMP_algebra.Sphere2D_get_contains(self, *args)
2736 
2737  def show(self, *args):
2738  r"""show(Sphere2D self, _ostream out=std::cout)"""
2739  return _IMP_algebra.Sphere2D_show(self, *args)
2740 
2741  def get_dimension(self):
2742  r"""get_dimension(Sphere2D self) -> unsigned int"""
2743  return _IMP_algebra.Sphere2D_get_dimension(self)
2744 
2745  def __str__(self):
2746  r"""__str__(Sphere2D self) -> std::string"""
2747  return _IMP_algebra.Sphere2D___str__(self)
2748 
2749  def __repr__(self):
2750  r"""__repr__(Sphere2D self) -> std::string"""
2751  return _IMP_algebra.Sphere2D___repr__(self)
2752 
2753  def __cmp__(self, arg2):
2754  r"""__cmp__(Sphere2D self, Sphere2D arg2) -> int"""
2755  return _IMP_algebra.Sphere2D___cmp__(self, arg2)
2756 
2757  def __eq__(self, arg2):
2758  r"""__eq__(Sphere2D self, Sphere2D arg2) -> bool"""
2759  return _IMP_algebra.Sphere2D___eq__(self, arg2)
2760 
2761  def _get_as_binary(self):
2762  r"""_get_as_binary(Sphere2D self) -> PyObject *"""
2763  return _IMP_algebra.Sphere2D__get_as_binary(self)
2764 
2765  def _set_from_binary(self, p):
2766  r"""_set_from_binary(Sphere2D self, PyObject * p)"""
2767  return _IMP_algebra.Sphere2D__set_from_binary(self, p)
2768 
2769  def __getstate__(self):
2770  p = self._get_as_binary()
2771  if len(self.__dict__) > 1:
2772  d = self.__dict__.copy()
2773  del d['this']
2774  p = (d, p)
2775  return p
2776 
2777  def __setstate__(self, p):
2778  if not hasattr(self, 'this'):
2779  self.__init__()
2780  if isinstance(p, tuple):
2781  d, p = p
2782  self.__dict__.update(d)
2783  return self._set_from_binary(p)
2784 
2785  __swig_destroy__ = _IMP_algebra.delete_Sphere2D
2786 
2787 # Register Sphere2D in _IMP_algebra:
2788 _IMP_algebra.Sphere2D_swigregister(Sphere2D)
2789 class Sphere3D(IMP._GeometricPrimitive3D):
2790  r"""Proxy of C++ IMP::algebra::SphereD< 3 > class."""
2791 
2792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2793 
2794  def __init__(self, *args):
2795  r"""
2796  __init__(Sphere3D self) -> Sphere3D
2797  __init__(Sphere3D self, Vector3D center, double radius) -> Sphere3D
2798  """
2799  _IMP_algebra.Sphere3D_swiginit(self, _IMP_algebra.new_Sphere3D(*args))
2800 
2801  def get_radius(self):
2802  r"""get_radius(Sphere3D self) -> double"""
2803  return _IMP_algebra.Sphere3D_get_radius(self)
2804 
2805  def get_center(self):
2806  r"""get_center(Sphere3D self) -> Vector3D"""
2807  return _IMP_algebra.Sphere3D_get_center(self)
2808 
2809  def get_contains(self, *args):
2810  r"""
2811  get_contains(Sphere3D self, Sphere3D o) -> bool
2812  get_contains(Sphere3D self, Vector3D p) -> bool
2813  """
2814  return _IMP_algebra.Sphere3D_get_contains(self, *args)
2815 
2816  def show(self, *args):
2817  r"""show(Sphere3D self, _ostream out=std::cout)"""
2818  return _IMP_algebra.Sphere3D_show(self, *args)
2819 
2820  def get_dimension(self):
2821  r"""get_dimension(Sphere3D self) -> unsigned int"""
2822  return _IMP_algebra.Sphere3D_get_dimension(self)
2823 
2824  def __str__(self):
2825  r"""__str__(Sphere3D self) -> std::string"""
2826  return _IMP_algebra.Sphere3D___str__(self)
2827 
2828  def __repr__(self):
2829  r"""__repr__(Sphere3D self) -> std::string"""
2830  return _IMP_algebra.Sphere3D___repr__(self)
2831 
2832  def __cmp__(self, arg2):
2833  r"""__cmp__(Sphere3D self, Sphere3D arg2) -> int"""
2834  return _IMP_algebra.Sphere3D___cmp__(self, arg2)
2835 
2836  def __eq__(self, arg2):
2837  r"""__eq__(Sphere3D self, Sphere3D arg2) -> bool"""
2838  return _IMP_algebra.Sphere3D___eq__(self, arg2)
2839 
2840  def _get_as_binary(self):
2841  r"""_get_as_binary(Sphere3D self) -> PyObject *"""
2842  return _IMP_algebra.Sphere3D__get_as_binary(self)
2843 
2844  def _set_from_binary(self, p):
2845  r"""_set_from_binary(Sphere3D self, PyObject * p)"""
2846  return _IMP_algebra.Sphere3D__set_from_binary(self, p)
2847 
2848  def __getstate__(self):
2849  p = self._get_as_binary()
2850  if len(self.__dict__) > 1:
2851  d = self.__dict__.copy()
2852  del d['this']
2853  p = (d, p)
2854  return p
2855 
2856  def __setstate__(self, p):
2857  if not hasattr(self, 'this'):
2858  self.__init__()
2859  if isinstance(p, tuple):
2860  d, p = p
2861  self.__dict__.update(d)
2862  return self._set_from_binary(p)
2863 
2864  __swig_destroy__ = _IMP_algebra.delete_Sphere3D
2865 
2866 # Register Sphere3D in _IMP_algebra:
2867 _IMP_algebra.Sphere3D_swigregister(Sphere3D)
2868 class Sphere4D(IMP._GeometricPrimitive4D):
2869  r"""Proxy of C++ IMP::algebra::SphereD< 4 > class."""
2870 
2871  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2872 
2873  def __init__(self, *args):
2874  r"""
2875  __init__(Sphere4D self) -> Sphere4D
2876  __init__(Sphere4D self, Vector4D center, double radius) -> Sphere4D
2877  """
2878  _IMP_algebra.Sphere4D_swiginit(self, _IMP_algebra.new_Sphere4D(*args))
2879 
2880  def get_radius(self):
2881  r"""get_radius(Sphere4D self) -> double"""
2882  return _IMP_algebra.Sphere4D_get_radius(self)
2883 
2884  def get_center(self):
2885  r"""get_center(Sphere4D self) -> Vector4D"""
2886  return _IMP_algebra.Sphere4D_get_center(self)
2887 
2888  def get_contains(self, *args):
2889  r"""
2890  get_contains(Sphere4D self, Sphere4D o) -> bool
2891  get_contains(Sphere4D self, Vector4D p) -> bool
2892  """
2893  return _IMP_algebra.Sphere4D_get_contains(self, *args)
2894 
2895  def show(self, *args):
2896  r"""show(Sphere4D self, _ostream out=std::cout)"""
2897  return _IMP_algebra.Sphere4D_show(self, *args)
2898 
2899  def get_dimension(self):
2900  r"""get_dimension(Sphere4D self) -> unsigned int"""
2901  return _IMP_algebra.Sphere4D_get_dimension(self)
2902 
2903  def __str__(self):
2904  r"""__str__(Sphere4D self) -> std::string"""
2905  return _IMP_algebra.Sphere4D___str__(self)
2906 
2907  def __repr__(self):
2908  r"""__repr__(Sphere4D self) -> std::string"""
2909  return _IMP_algebra.Sphere4D___repr__(self)
2910 
2911  def __cmp__(self, arg2):
2912  r"""__cmp__(Sphere4D self, Sphere4D arg2) -> int"""
2913  return _IMP_algebra.Sphere4D___cmp__(self, arg2)
2914 
2915  def __eq__(self, arg2):
2916  r"""__eq__(Sphere4D self, Sphere4D arg2) -> bool"""
2917  return _IMP_algebra.Sphere4D___eq__(self, arg2)
2918 
2919  def _get_as_binary(self):
2920  r"""_get_as_binary(Sphere4D self) -> PyObject *"""
2921  return _IMP_algebra.Sphere4D__get_as_binary(self)
2922 
2923  def _set_from_binary(self, p):
2924  r"""_set_from_binary(Sphere4D self, PyObject * p)"""
2925  return _IMP_algebra.Sphere4D__set_from_binary(self, p)
2926 
2927  def __getstate__(self):
2928  p = self._get_as_binary()
2929  if len(self.__dict__) > 1:
2930  d = self.__dict__.copy()
2931  del d['this']
2932  p = (d, p)
2933  return p
2934 
2935  def __setstate__(self, p):
2936  if not hasattr(self, 'this'):
2937  self.__init__()
2938  if isinstance(p, tuple):
2939  d, p = p
2940  self.__dict__.update(d)
2941  return self._set_from_binary(p)
2942 
2943  __swig_destroy__ = _IMP_algebra.delete_Sphere4D
2944 
2945 # Register Sphere4D in _IMP_algebra:
2946 _IMP_algebra.Sphere4D_swigregister(Sphere4D)
2947 class Sphere5D(IMP._GeometricPrimitive5D):
2948  r"""Proxy of C++ IMP::algebra::SphereD< 5 > class."""
2949 
2950  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2951 
2952  def __init__(self, *args):
2953  r"""
2954  __init__(Sphere5D self) -> Sphere5D
2955  __init__(Sphere5D self, Vector5D center, double radius) -> Sphere5D
2956  """
2957  _IMP_algebra.Sphere5D_swiginit(self, _IMP_algebra.new_Sphere5D(*args))
2958 
2959  def get_radius(self):
2960  r"""get_radius(Sphere5D self) -> double"""
2961  return _IMP_algebra.Sphere5D_get_radius(self)
2962 
2963  def get_center(self):
2964  r"""get_center(Sphere5D self) -> Vector5D"""
2965  return _IMP_algebra.Sphere5D_get_center(self)
2966 
2967  def get_contains(self, *args):
2968  r"""
2969  get_contains(Sphere5D self, Sphere5D o) -> bool
2970  get_contains(Sphere5D self, Vector5D p) -> bool
2971  """
2972  return _IMP_algebra.Sphere5D_get_contains(self, *args)
2973 
2974  def show(self, *args):
2975  r"""show(Sphere5D self, _ostream out=std::cout)"""
2976  return _IMP_algebra.Sphere5D_show(self, *args)
2977 
2978  def get_dimension(self):
2979  r"""get_dimension(Sphere5D self) -> unsigned int"""
2980  return _IMP_algebra.Sphere5D_get_dimension(self)
2981 
2982  def __str__(self):
2983  r"""__str__(Sphere5D self) -> std::string"""
2984  return _IMP_algebra.Sphere5D___str__(self)
2985 
2986  def __repr__(self):
2987  r"""__repr__(Sphere5D self) -> std::string"""
2988  return _IMP_algebra.Sphere5D___repr__(self)
2989 
2990  def __cmp__(self, arg2):
2991  r"""__cmp__(Sphere5D self, Sphere5D arg2) -> int"""
2992  return _IMP_algebra.Sphere5D___cmp__(self, arg2)
2993 
2994  def __eq__(self, arg2):
2995  r"""__eq__(Sphere5D self, Sphere5D arg2) -> bool"""
2996  return _IMP_algebra.Sphere5D___eq__(self, arg2)
2997 
2998  def _get_as_binary(self):
2999  r"""_get_as_binary(Sphere5D self) -> PyObject *"""
3000  return _IMP_algebra.Sphere5D__get_as_binary(self)
3001 
3002  def _set_from_binary(self, p):
3003  r"""_set_from_binary(Sphere5D self, PyObject * p)"""
3004  return _IMP_algebra.Sphere5D__set_from_binary(self, p)
3005 
3006  def __getstate__(self):
3007  p = self._get_as_binary()
3008  if len(self.__dict__) > 1:
3009  d = self.__dict__.copy()
3010  del d['this']
3011  p = (d, p)
3012  return p
3013 
3014  def __setstate__(self, p):
3015  if not hasattr(self, 'this'):
3016  self.__init__()
3017  if isinstance(p, tuple):
3018  d, p = p
3019  self.__dict__.update(d)
3020  return self._set_from_binary(p)
3021 
3022  __swig_destroy__ = _IMP_algebra.delete_Sphere5D
3023 
3024 # Register Sphere5D in _IMP_algebra:
3025 _IMP_algebra.Sphere5D_swigregister(Sphere5D)
3026 class Sphere6D(IMP._GeometricPrimitive6D):
3027  r"""Proxy of C++ IMP::algebra::SphereD< 6 > class."""
3028 
3029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3030 
3031  def __init__(self, *args):
3032  r"""
3033  __init__(Sphere6D self) -> Sphere6D
3034  __init__(Sphere6D self, Vector6D center, double radius) -> Sphere6D
3035  """
3036  _IMP_algebra.Sphere6D_swiginit(self, _IMP_algebra.new_Sphere6D(*args))
3037 
3038  def get_radius(self):
3039  r"""get_radius(Sphere6D self) -> double"""
3040  return _IMP_algebra.Sphere6D_get_radius(self)
3041 
3042  def get_center(self):
3043  r"""get_center(Sphere6D self) -> Vector6D"""
3044  return _IMP_algebra.Sphere6D_get_center(self)
3045 
3046  def get_contains(self, *args):
3047  r"""
3048  get_contains(Sphere6D self, Sphere6D o) -> bool
3049  get_contains(Sphere6D self, Vector6D p) -> bool
3050  """
3051  return _IMP_algebra.Sphere6D_get_contains(self, *args)
3052 
3053  def show(self, *args):
3054  r"""show(Sphere6D self, _ostream out=std::cout)"""
3055  return _IMP_algebra.Sphere6D_show(self, *args)
3056 
3057  def get_dimension(self):
3058  r"""get_dimension(Sphere6D self) -> unsigned int"""
3059  return _IMP_algebra.Sphere6D_get_dimension(self)
3060 
3061  def __str__(self):
3062  r"""__str__(Sphere6D self) -> std::string"""
3063  return _IMP_algebra.Sphere6D___str__(self)
3064 
3065  def __repr__(self):
3066  r"""__repr__(Sphere6D self) -> std::string"""
3067  return _IMP_algebra.Sphere6D___repr__(self)
3068 
3069  def __cmp__(self, arg2):
3070  r"""__cmp__(Sphere6D self, Sphere6D arg2) -> int"""
3071  return _IMP_algebra.Sphere6D___cmp__(self, arg2)
3072 
3073  def __eq__(self, arg2):
3074  r"""__eq__(Sphere6D self, Sphere6D arg2) -> bool"""
3075  return _IMP_algebra.Sphere6D___eq__(self, arg2)
3076 
3077  def _get_as_binary(self):
3078  r"""_get_as_binary(Sphere6D self) -> PyObject *"""
3079  return _IMP_algebra.Sphere6D__get_as_binary(self)
3080 
3081  def _set_from_binary(self, p):
3082  r"""_set_from_binary(Sphere6D self, PyObject * p)"""
3083  return _IMP_algebra.Sphere6D__set_from_binary(self, p)
3084 
3085  def __getstate__(self):
3086  p = self._get_as_binary()
3087  if len(self.__dict__) > 1:
3088  d = self.__dict__.copy()
3089  del d['this']
3090  p = (d, p)
3091  return p
3092 
3093  def __setstate__(self, p):
3094  if not hasattr(self, 'this'):
3095  self.__init__()
3096  if isinstance(p, tuple):
3097  d, p = p
3098  self.__dict__.update(d)
3099  return self._set_from_binary(p)
3100 
3101  __swig_destroy__ = _IMP_algebra.delete_Sphere6D
3102 
3103 # Register Sphere6D in _IMP_algebra:
3104 _IMP_algebra.Sphere6D_swigregister(Sphere6D)
3105 class SphereKD(IMP._GeometricPrimitiveKD):
3106  r"""Proxy of C++ IMP::algebra::SphereD< -1 > class."""
3107 
3108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3109 
3110  def __init__(self, *args):
3111  r"""
3112  __init__(SphereKD self) -> SphereKD
3113  __init__(SphereKD self, VectorKD center, double radius) -> SphereKD
3114  """
3115  _IMP_algebra.SphereKD_swiginit(self, _IMP_algebra.new_SphereKD(*args))
3116 
3117  def get_radius(self):
3118  r"""get_radius(SphereKD self) -> double"""
3119  return _IMP_algebra.SphereKD_get_radius(self)
3120 
3121  def get_center(self):
3122  r"""get_center(SphereKD self) -> VectorKD"""
3123  return _IMP_algebra.SphereKD_get_center(self)
3124 
3125  def get_contains(self, *args):
3126  r"""
3127  get_contains(SphereKD self, SphereKD o) -> bool
3128  get_contains(SphereKD self, VectorKD p) -> bool
3129  """
3130  return _IMP_algebra.SphereKD_get_contains(self, *args)
3131 
3132  def show(self, *args):
3133  r"""show(SphereKD self, _ostream out=std::cout)"""
3134  return _IMP_algebra.SphereKD_show(self, *args)
3135 
3136  def get_dimension(self):
3137  r"""get_dimension(SphereKD self) -> unsigned int"""
3138  return _IMP_algebra.SphereKD_get_dimension(self)
3139 
3140  def __str__(self):
3141  r"""__str__(SphereKD self) -> std::string"""
3142  return _IMP_algebra.SphereKD___str__(self)
3143 
3144  def __repr__(self):
3145  r"""__repr__(SphereKD self) -> std::string"""
3146  return _IMP_algebra.SphereKD___repr__(self)
3147 
3148  def __cmp__(self, arg2):
3149  r"""__cmp__(SphereKD self, SphereKD arg2) -> int"""
3150  return _IMP_algebra.SphereKD___cmp__(self, arg2)
3151 
3152  def __eq__(self, arg2):
3153  r"""__eq__(SphereKD self, SphereKD arg2) -> bool"""
3154  return _IMP_algebra.SphereKD___eq__(self, arg2)
3155 
3156  def _get_as_binary(self):
3157  r"""_get_as_binary(SphereKD self) -> PyObject *"""
3158  return _IMP_algebra.SphereKD__get_as_binary(self)
3159 
3160  def _set_from_binary(self, p):
3161  r"""_set_from_binary(SphereKD self, PyObject * p)"""
3162  return _IMP_algebra.SphereKD__set_from_binary(self, p)
3163 
3164  def __getstate__(self):
3165  p = self._get_as_binary()
3166  if len(self.__dict__) > 1:
3167  d = self.__dict__.copy()
3168  del d['this']
3169  p = (d, p)
3170  return p
3171 
3172  def __setstate__(self, p):
3173  if not hasattr(self, 'this'):
3174  self.__init__()
3175  if isinstance(p, tuple):
3176  d, p = p
3177  self.__dict__.update(d)
3178  return self._set_from_binary(p)
3179 
3180  __swig_destroy__ = _IMP_algebra.delete_SphereKD
3181 
3182 # Register SphereKD in _IMP_algebra:
3183 _IMP_algebra.SphereKD_swigregister(SphereKD)
3184 class UnitSimplex1D(_UnitSimplexBase1D):
3185  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 1 > class."""
3186 
3187  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3188 
3189  def __init__(self):
3190  r"""__init__(UnitSimplex1D self) -> UnitSimplex1D"""
3191  _IMP_algebra.UnitSimplex1D_swiginit(self, _IMP_algebra.new_UnitSimplex1D())
3192 
3193  def show(self, *args):
3194  r"""show(UnitSimplex1D self, _ostream out=std::cout)"""
3195  return _IMP_algebra.UnitSimplex1D_show(self, *args)
3196 
3197  def __str__(self):
3198  r"""__str__(UnitSimplex1D self) -> std::string"""
3199  return _IMP_algebra.UnitSimplex1D___str__(self)
3200 
3201  def __repr__(self):
3202  r"""__repr__(UnitSimplex1D self) -> std::string"""
3203  return _IMP_algebra.UnitSimplex1D___repr__(self)
3204 
3205  def __cmp__(self, arg2):
3206  r"""__cmp__(UnitSimplex1D self, UnitSimplex1D arg2) -> int"""
3207  return _IMP_algebra.UnitSimplex1D___cmp__(self, arg2)
3208 
3209  def __eq__(self, arg2):
3210  r"""__eq__(UnitSimplex1D self, UnitSimplex1D arg2) -> bool"""
3211  return _IMP_algebra.UnitSimplex1D___eq__(self, arg2)
3212 
3213  def _get_as_binary(self):
3214  r"""_get_as_binary(UnitSimplex1D self) -> PyObject *"""
3215  return _IMP_algebra.UnitSimplex1D__get_as_binary(self)
3216 
3217  def _set_from_binary(self, p):
3218  r"""_set_from_binary(UnitSimplex1D self, PyObject * p)"""
3219  return _IMP_algebra.UnitSimplex1D__set_from_binary(self, p)
3220 
3221  def __getstate__(self):
3222  p = self._get_as_binary()
3223  if len(self.__dict__) > 1:
3224  d = self.__dict__.copy()
3225  del d['this']
3226  p = (d, p)
3227  return p
3228 
3229  def __setstate__(self, p):
3230  if not hasattr(self, 'this'):
3231  self.__init__()
3232  if isinstance(p, tuple):
3233  d, p = p
3234  self.__dict__.update(d)
3235  return self._set_from_binary(p)
3236 
3237  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex1D
3238 
3239 # Register UnitSimplex1D in _IMP_algebra:
3240 _IMP_algebra.UnitSimplex1D_swigregister(UnitSimplex1D)
3241 class UnitSimplex2D(_UnitSimplexBase2D):
3242  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 2 > class."""
3243 
3244  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3245 
3246  def __init__(self):
3247  r"""__init__(UnitSimplex2D self) -> UnitSimplex2D"""
3248  _IMP_algebra.UnitSimplex2D_swiginit(self, _IMP_algebra.new_UnitSimplex2D())
3249 
3250  def show(self, *args):
3251  r"""show(UnitSimplex2D self, _ostream out=std::cout)"""
3252  return _IMP_algebra.UnitSimplex2D_show(self, *args)
3253 
3254  def __str__(self):
3255  r"""__str__(UnitSimplex2D self) -> std::string"""
3256  return _IMP_algebra.UnitSimplex2D___str__(self)
3257 
3258  def __repr__(self):
3259  r"""__repr__(UnitSimplex2D self) -> std::string"""
3260  return _IMP_algebra.UnitSimplex2D___repr__(self)
3261 
3262  def __cmp__(self, arg2):
3263  r"""__cmp__(UnitSimplex2D self, UnitSimplex2D arg2) -> int"""
3264  return _IMP_algebra.UnitSimplex2D___cmp__(self, arg2)
3265 
3266  def __eq__(self, arg2):
3267  r"""__eq__(UnitSimplex2D self, UnitSimplex2D arg2) -> bool"""
3268  return _IMP_algebra.UnitSimplex2D___eq__(self, arg2)
3269 
3270  def _get_as_binary(self):
3271  r"""_get_as_binary(UnitSimplex2D self) -> PyObject *"""
3272  return _IMP_algebra.UnitSimplex2D__get_as_binary(self)
3273 
3274  def _set_from_binary(self, p):
3275  r"""_set_from_binary(UnitSimplex2D self, PyObject * p)"""
3276  return _IMP_algebra.UnitSimplex2D__set_from_binary(self, p)
3277 
3278  def __getstate__(self):
3279  p = self._get_as_binary()
3280  if len(self.__dict__) > 1:
3281  d = self.__dict__.copy()
3282  del d['this']
3283  p = (d, p)
3284  return p
3285 
3286  def __setstate__(self, p):
3287  if not hasattr(self, 'this'):
3288  self.__init__()
3289  if isinstance(p, tuple):
3290  d, p = p
3291  self.__dict__.update(d)
3292  return self._set_from_binary(p)
3293 
3294  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex2D
3295 
3296 # Register UnitSimplex2D in _IMP_algebra:
3297 _IMP_algebra.UnitSimplex2D_swigregister(UnitSimplex2D)
3298 class UnitSimplex3D(_UnitSimplexBase3D):
3299  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 3 > class."""
3300 
3301  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3302 
3303  def __init__(self):
3304  r"""__init__(UnitSimplex3D self) -> UnitSimplex3D"""
3305  _IMP_algebra.UnitSimplex3D_swiginit(self, _IMP_algebra.new_UnitSimplex3D())
3306 
3307  def show(self, *args):
3308  r"""show(UnitSimplex3D self, _ostream out=std::cout)"""
3309  return _IMP_algebra.UnitSimplex3D_show(self, *args)
3310 
3311  def __str__(self):
3312  r"""__str__(UnitSimplex3D self) -> std::string"""
3313  return _IMP_algebra.UnitSimplex3D___str__(self)
3314 
3315  def __repr__(self):
3316  r"""__repr__(UnitSimplex3D self) -> std::string"""
3317  return _IMP_algebra.UnitSimplex3D___repr__(self)
3318 
3319  def __cmp__(self, arg2):
3320  r"""__cmp__(UnitSimplex3D self, UnitSimplex3D arg2) -> int"""
3321  return _IMP_algebra.UnitSimplex3D___cmp__(self, arg2)
3322 
3323  def __eq__(self, arg2):
3324  r"""__eq__(UnitSimplex3D self, UnitSimplex3D arg2) -> bool"""
3325  return _IMP_algebra.UnitSimplex3D___eq__(self, arg2)
3326 
3327  def _get_as_binary(self):
3328  r"""_get_as_binary(UnitSimplex3D self) -> PyObject *"""
3329  return _IMP_algebra.UnitSimplex3D__get_as_binary(self)
3330 
3331  def _set_from_binary(self, p):
3332  r"""_set_from_binary(UnitSimplex3D self, PyObject * p)"""
3333  return _IMP_algebra.UnitSimplex3D__set_from_binary(self, p)
3334 
3335  def __getstate__(self):
3336  p = self._get_as_binary()
3337  if len(self.__dict__) > 1:
3338  d = self.__dict__.copy()
3339  del d['this']
3340  p = (d, p)
3341  return p
3342 
3343  def __setstate__(self, p):
3344  if not hasattr(self, 'this'):
3345  self.__init__()
3346  if isinstance(p, tuple):
3347  d, p = p
3348  self.__dict__.update(d)
3349  return self._set_from_binary(p)
3350 
3351  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex3D
3352 
3353 # Register UnitSimplex3D in _IMP_algebra:
3354 _IMP_algebra.UnitSimplex3D_swigregister(UnitSimplex3D)
3355 class UnitSimplex4D(_UnitSimplexBase4D):
3356  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 4 > class."""
3357 
3358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3359 
3360  def __init__(self):
3361  r"""__init__(UnitSimplex4D self) -> UnitSimplex4D"""
3362  _IMP_algebra.UnitSimplex4D_swiginit(self, _IMP_algebra.new_UnitSimplex4D())
3363 
3364  def show(self, *args):
3365  r"""show(UnitSimplex4D self, _ostream out=std::cout)"""
3366  return _IMP_algebra.UnitSimplex4D_show(self, *args)
3367 
3368  def __str__(self):
3369  r"""__str__(UnitSimplex4D self) -> std::string"""
3370  return _IMP_algebra.UnitSimplex4D___str__(self)
3371 
3372  def __repr__(self):
3373  r"""__repr__(UnitSimplex4D self) -> std::string"""
3374  return _IMP_algebra.UnitSimplex4D___repr__(self)
3375 
3376  def __cmp__(self, arg2):
3377  r"""__cmp__(UnitSimplex4D self, UnitSimplex4D arg2) -> int"""
3378  return _IMP_algebra.UnitSimplex4D___cmp__(self, arg2)
3379 
3380  def __eq__(self, arg2):
3381  r"""__eq__(UnitSimplex4D self, UnitSimplex4D arg2) -> bool"""
3382  return _IMP_algebra.UnitSimplex4D___eq__(self, arg2)
3383 
3384  def _get_as_binary(self):
3385  r"""_get_as_binary(UnitSimplex4D self) -> PyObject *"""
3386  return _IMP_algebra.UnitSimplex4D__get_as_binary(self)
3387 
3388  def _set_from_binary(self, p):
3389  r"""_set_from_binary(UnitSimplex4D self, PyObject * p)"""
3390  return _IMP_algebra.UnitSimplex4D__set_from_binary(self, p)
3391 
3392  def __getstate__(self):
3393  p = self._get_as_binary()
3394  if len(self.__dict__) > 1:
3395  d = self.__dict__.copy()
3396  del d['this']
3397  p = (d, p)
3398  return p
3399 
3400  def __setstate__(self, p):
3401  if not hasattr(self, 'this'):
3402  self.__init__()
3403  if isinstance(p, tuple):
3404  d, p = p
3405  self.__dict__.update(d)
3406  return self._set_from_binary(p)
3407 
3408  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex4D
3409 
3410 # Register UnitSimplex4D in _IMP_algebra:
3411 _IMP_algebra.UnitSimplex4D_swigregister(UnitSimplex4D)
3412 class UnitSimplex5D(_UnitSimplexBase5D):
3413  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 5 > class."""
3414 
3415  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3416 
3417  def __init__(self):
3418  r"""__init__(UnitSimplex5D self) -> UnitSimplex5D"""
3419  _IMP_algebra.UnitSimplex5D_swiginit(self, _IMP_algebra.new_UnitSimplex5D())
3420 
3421  def show(self, *args):
3422  r"""show(UnitSimplex5D self, _ostream out=std::cout)"""
3423  return _IMP_algebra.UnitSimplex5D_show(self, *args)
3424 
3425  def __str__(self):
3426  r"""__str__(UnitSimplex5D self) -> std::string"""
3427  return _IMP_algebra.UnitSimplex5D___str__(self)
3428 
3429  def __repr__(self):
3430  r"""__repr__(UnitSimplex5D self) -> std::string"""
3431  return _IMP_algebra.UnitSimplex5D___repr__(self)
3432 
3433  def __cmp__(self, arg2):
3434  r"""__cmp__(UnitSimplex5D self, UnitSimplex5D arg2) -> int"""
3435  return _IMP_algebra.UnitSimplex5D___cmp__(self, arg2)
3436 
3437  def __eq__(self, arg2):
3438  r"""__eq__(UnitSimplex5D self, UnitSimplex5D arg2) -> bool"""
3439  return _IMP_algebra.UnitSimplex5D___eq__(self, arg2)
3440 
3441  def _get_as_binary(self):
3442  r"""_get_as_binary(UnitSimplex5D self) -> PyObject *"""
3443  return _IMP_algebra.UnitSimplex5D__get_as_binary(self)
3444 
3445  def _set_from_binary(self, p):
3446  r"""_set_from_binary(UnitSimplex5D self, PyObject * p)"""
3447  return _IMP_algebra.UnitSimplex5D__set_from_binary(self, p)
3448 
3449  def __getstate__(self):
3450  p = self._get_as_binary()
3451  if len(self.__dict__) > 1:
3452  d = self.__dict__.copy()
3453  del d['this']
3454  p = (d, p)
3455  return p
3456 
3457  def __setstate__(self, p):
3458  if not hasattr(self, 'this'):
3459  self.__init__()
3460  if isinstance(p, tuple):
3461  d, p = p
3462  self.__dict__.update(d)
3463  return self._set_from_binary(p)
3464 
3465  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex5D
3466 
3467 # Register UnitSimplex5D in _IMP_algebra:
3468 _IMP_algebra.UnitSimplex5D_swigregister(UnitSimplex5D)
3469 class UnitSimplex6D(_UnitSimplexBase6D):
3470  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 6 > class."""
3471 
3472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3473 
3474  def __init__(self):
3475  r"""__init__(UnitSimplex6D self) -> UnitSimplex6D"""
3476  _IMP_algebra.UnitSimplex6D_swiginit(self, _IMP_algebra.new_UnitSimplex6D())
3477 
3478  def show(self, *args):
3479  r"""show(UnitSimplex6D self, _ostream out=std::cout)"""
3480  return _IMP_algebra.UnitSimplex6D_show(self, *args)
3481 
3482  def __str__(self):
3483  r"""__str__(UnitSimplex6D self) -> std::string"""
3484  return _IMP_algebra.UnitSimplex6D___str__(self)
3485 
3486  def __repr__(self):
3487  r"""__repr__(UnitSimplex6D self) -> std::string"""
3488  return _IMP_algebra.UnitSimplex6D___repr__(self)
3489 
3490  def __cmp__(self, arg2):
3491  r"""__cmp__(UnitSimplex6D self, UnitSimplex6D arg2) -> int"""
3492  return _IMP_algebra.UnitSimplex6D___cmp__(self, arg2)
3493 
3494  def __eq__(self, arg2):
3495  r"""__eq__(UnitSimplex6D self, UnitSimplex6D arg2) -> bool"""
3496  return _IMP_algebra.UnitSimplex6D___eq__(self, arg2)
3497 
3498  def _get_as_binary(self):
3499  r"""_get_as_binary(UnitSimplex6D self) -> PyObject *"""
3500  return _IMP_algebra.UnitSimplex6D__get_as_binary(self)
3501 
3502  def _set_from_binary(self, p):
3503  r"""_set_from_binary(UnitSimplex6D self, PyObject * p)"""
3504  return _IMP_algebra.UnitSimplex6D__set_from_binary(self, p)
3505 
3506  def __getstate__(self):
3507  p = self._get_as_binary()
3508  if len(self.__dict__) > 1:
3509  d = self.__dict__.copy()
3510  del d['this']
3511  p = (d, p)
3512  return p
3513 
3514  def __setstate__(self, p):
3515  if not hasattr(self, 'this'):
3516  self.__init__()
3517  if isinstance(p, tuple):
3518  d, p = p
3519  self.__dict__.update(d)
3520  return self._set_from_binary(p)
3521 
3522  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex6D
3523 
3524 # Register UnitSimplex6D in _IMP_algebra:
3525 _IMP_algebra.UnitSimplex6D_swigregister(UnitSimplex6D)
3526 class UnitSimplexKD(_UnitSimplexBaseKD):
3527  r"""Proxy of C++ IMP::algebra::UnitSimplexD< -1 > class."""
3528 
3529  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3530  __repr__ = _swig_repr
3531 
3532  def __init__(self, d=1):
3533  r"""__init__(UnitSimplexKD self, int d=1) -> UnitSimplexKD"""
3534  _IMP_algebra.UnitSimplexKD_swiginit(self, _IMP_algebra.new_UnitSimplexKD(d))
3535 
3536  def show(self, *args):
3537  r"""show(UnitSimplexKD self, _ostream out=std::cout)"""
3538  return _IMP_algebra.UnitSimplexKD_show(self, *args)
3539 
3540  def _get_as_binary(self):
3541  r"""_get_as_binary(UnitSimplexKD self) -> PyObject *"""
3542  return _IMP_algebra.UnitSimplexKD__get_as_binary(self)
3543 
3544  def _set_from_binary(self, p):
3545  r"""_set_from_binary(UnitSimplexKD self, PyObject * p)"""
3546  return _IMP_algebra.UnitSimplexKD__set_from_binary(self, p)
3547 
3548  def __getstate__(self):
3549  p = self._get_as_binary()
3550  if len(self.__dict__) > 1:
3551  d = self.__dict__.copy()
3552  del d['this']
3553  p = (d, p)
3554  return p
3555 
3556  def __setstate__(self, p):
3557  if not hasattr(self, 'this'):
3558  self.__init__()
3559  if isinstance(p, tuple):
3560  d, p = p
3561  self.__dict__.update(d)
3562  return self._set_from_binary(p)
3563 
3564  __swig_destroy__ = _IMP_algebra.delete_UnitSimplexKD
3565 
3566 # Register UnitSimplexKD in _IMP_algebra:
3567 _IMP_algebra.UnitSimplexKD_swigregister(UnitSimplexKD)
3568 class ReferenceFrame3D(object):
3569  r"""Proxy of C++ IMP::algebra::ReferenceFrame3D class."""
3570 
3571  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3572 
3573  def __init__(self, *args):
3574  r"""
3575  __init__(ReferenceFrame3D self, ReferenceFrame3D arg2) -> ReferenceFrame3D
3576  __init__(ReferenceFrame3D self) -> ReferenceFrame3D
3577  __init__(ReferenceFrame3D self, Transformation3D tr) -> ReferenceFrame3D
3578  """
3579  _IMP_algebra.ReferenceFrame3D_swiginit(self, _IMP_algebra.new_ReferenceFrame3D(*args))
3580  __swig_destroy__ = _IMP_algebra.delete_ReferenceFrame3D
3581 
3582  def get_transformation_to(self):
3583  r"""get_transformation_to(ReferenceFrame3D self) -> Transformation3D"""
3584  return _IMP_algebra.ReferenceFrame3D_get_transformation_to(self)
3585 
3586  def get_transformation_from(self):
3587  r"""get_transformation_from(ReferenceFrame3D self) -> Transformation3D"""
3588  return _IMP_algebra.ReferenceFrame3D_get_transformation_from(self)
3589 
3590  def get_global_coordinates(self, v):
3591  r"""get_global_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
3592  return _IMP_algebra.ReferenceFrame3D_get_global_coordinates(self, v)
3593 
3594  def get_local_coordinates(self, v):
3595  r"""get_local_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
3596  return _IMP_algebra.ReferenceFrame3D_get_local_coordinates(self, v)
3597 
3598  def get_global_reference_frame(self, v):
3599  r"""get_global_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
3600  return _IMP_algebra.ReferenceFrame3D_get_global_reference_frame(self, v)
3601 
3602  def get_local_reference_frame(self, v):
3603  r"""get_local_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
3604  return _IMP_algebra.ReferenceFrame3D_get_local_reference_frame(self, v)
3605 
3606  def show(self, *args):
3607  r"""show(ReferenceFrame3D self, _ostream out=std::cout)"""
3608  return _IMP_algebra.ReferenceFrame3D_show(self, *args)
3609 
3610  def __str__(self):
3611  r"""__str__(ReferenceFrame3D self) -> std::string"""
3612  return _IMP_algebra.ReferenceFrame3D___str__(self)
3613 
3614  def __repr__(self):
3615  r"""__repr__(ReferenceFrame3D self) -> std::string"""
3616  return _IMP_algebra.ReferenceFrame3D___repr__(self)
3617 
3618  def _get_as_binary(self):
3619  r"""_get_as_binary(ReferenceFrame3D self) -> PyObject *"""
3620  return _IMP_algebra.ReferenceFrame3D__get_as_binary(self)
3621 
3622  def _set_from_binary(self, p):
3623  r"""_set_from_binary(ReferenceFrame3D self, PyObject * p)"""
3624  return _IMP_algebra.ReferenceFrame3D__set_from_binary(self, p)
3625 
3626  def __getstate__(self):
3627  p = self._get_as_binary()
3628  if len(self.__dict__) > 1:
3629  d = self.__dict__.copy()
3630  del d['this']
3631  p = (d, p)
3632  return p
3633 
3634  def __setstate__(self, p):
3635  if not hasattr(self, 'this'):
3636  self.__init__()
3637  if isinstance(p, tuple):
3638  d, p = p
3639  self.__dict__.update(d)
3640  return self._set_from_binary(p)
3641 
3642 
3643 # Register ReferenceFrame3D in _IMP_algebra:
3644 _IMP_algebra.ReferenceFrame3D_swigregister(ReferenceFrame3D)
3645 
3646 def get_transformed(*args):
3647  r"""
3648  get_transformed(BoundingBox3D bb, Transformation3D tr) -> BoundingBox3D
3649  get_transformed(Line3D l, Transformation3D tr) -> Line3D
3650  get_transformed(ReferenceFrame3D rf, Transformation3D tr) -> ReferenceFrame3D
3651  """
3652  return _IMP_algebra.get_transformed(*args)
3653 
3654 def get_transformation_from_first_to_second(a, b):
3655  r"""get_transformation_from_first_to_second(ReferenceFrame3D a, ReferenceFrame3D b) -> Transformation3D"""
3656  return _IMP_algebra.get_transformation_from_first_to_second(a, b)
3657 class SphericalVector3D(IMP._GeometricPrimitive3D):
3658  r"""Proxy of C++ IMP::algebra::SphericalVector3D class."""
3659 
3660  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3661 
3662  def __init__(self, *args):
3663  r"""
3664  __init__(SphericalVector3D self) -> SphericalVector3D
3665  __init__(SphericalVector3D self, Vector3D v) -> SphericalVector3D
3666  __init__(SphericalVector3D self, double r, double theta, double psi, bool apply_check=True) -> SphericalVector3D
3667  """
3668  _IMP_algebra.SphericalVector3D_swiginit(self, _IMP_algebra.new_SphericalVector3D(*args))
3669 
3670  def get_cartesian_coordinates(self):
3671  r"""get_cartesian_coordinates(SphericalVector3D self) -> Vector3D"""
3672  return _IMP_algebra.SphericalVector3D_get_cartesian_coordinates(self)
3673 
3674  def show(self, *args):
3675  r"""show(SphericalVector3D self, _ostream out=std::cout)"""
3676  return _IMP_algebra.SphericalVector3D_show(self, *args)
3677 
3678  def __str__(self):
3679  r"""__str__(SphericalVector3D self) -> std::string"""
3680  return _IMP_algebra.SphericalVector3D___str__(self)
3681 
3682  def __repr__(self):
3683  r"""__repr__(SphericalVector3D self) -> std::string"""
3684  return _IMP_algebra.SphericalVector3D___repr__(self)
3685 
3686  def _get_as_binary(self):
3687  r"""_get_as_binary(SphericalVector3D self) -> PyObject *"""
3688  return _IMP_algebra.SphericalVector3D__get_as_binary(self)
3689 
3690  def _set_from_binary(self, p):
3691  r"""_set_from_binary(SphericalVector3D self, PyObject * p)"""
3692  return _IMP_algebra.SphericalVector3D__set_from_binary(self, p)
3693 
3694  def __getstate__(self):
3695  p = self._get_as_binary()
3696  if len(self.__dict__) > 1:
3697  d = self.__dict__.copy()
3698  del d['this']
3699  p = (d, p)
3700  return p
3701 
3702  def __setstate__(self, p):
3703  if not hasattr(self, 'this'):
3704  self.__init__()
3705  if isinstance(p, tuple):
3706  d, p = p
3707  self.__dict__.update(d)
3708  return self._set_from_binary(p)
3709 
3710 
3711  def __getitem__(self, index):
3712  r"""__getitem__(SphericalVector3D self, unsigned int index) -> double"""
3713  return _IMP_algebra.SphericalVector3D___getitem__(self, index)
3714 
3715  def __setitem__(self, index, val):
3716  r"""__setitem__(SphericalVector3D self, unsigned int index, double val)"""
3717  return _IMP_algebra.SphericalVector3D___setitem__(self, index, val)
3718  __swig_destroy__ = _IMP_algebra.delete_SphericalVector3D
3719 
3720 # Register SphericalVector3D in _IMP_algebra:
3721 _IMP_algebra.SphericalVector3D_swigregister(SphericalVector3D)
3722 
3723 def get_alignments_from_first_to_second(pca1, pca2):
3724  r"""get_alignments_from_first_to_second(PrincipalComponentAnalysis3D pca1, PrincipalComponentAnalysis3D pca2) -> IMP::algebra::Transformation3Ds"""
3725  return _IMP_algebra.get_alignments_from_first_to_second(pca1, pca2)
3726 class Line3D(IMP._GeometricPrimitive3D):
3727  r"""Proxy of C++ IMP::algebra::Line3D class."""
3728 
3729  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3730 
3731  def __init__(self, *args):
3732  r"""
3733  __init__(Line3D self) -> Line3D
3734  __init__(Line3D self, Vector3D direction, Vector3D point_on_line) -> Line3D
3735  __init__(Line3D self, Segment3D s) -> Line3D
3736  """
3737  _IMP_algebra.Line3D_swiginit(self, _IMP_algebra.new_Line3D(*args))
3738 
3739  def get_direction(self):
3740  r"""get_direction(Line3D self) -> Vector3D"""
3741  return _IMP_algebra.Line3D_get_direction(self)
3742 
3743  def get_point_on_line(self):
3744  r"""get_point_on_line(Line3D self) -> Vector3D"""
3745  return _IMP_algebra.Line3D_get_point_on_line(self)
3746 
3747  def get_moment(self, *args):
3748  r"""
3749  get_moment(Line3D self) -> Vector3D
3750  get_moment(Line3D self, Vector3D v) -> Vector3D
3751  """
3752  return _IMP_algebra.Line3D_get_moment(self, *args)
3753 
3754  def get_reciprocal_product(self, l):
3755  r"""get_reciprocal_product(Line3D self, Line3D l) -> double"""
3756  return _IMP_algebra.Line3D_get_reciprocal_product(self, l)
3757 
3758  def get_opposite(self):
3759  r"""get_opposite(Line3D self) -> Line3D"""
3760  return _IMP_algebra.Line3D_get_opposite(self)
3761 
3762  def get_segment_starting_at(self, v, d):
3763  r"""get_segment_starting_at(Line3D self, Vector3D v, double d) -> Segment3D"""
3764  return _IMP_algebra.Line3D_get_segment_starting_at(self, v, d)
3765 
3766  def show(self, *args):
3767  r"""show(Line3D self, _ostream out=std::cout)"""
3768  return _IMP_algebra.Line3D_show(self, *args)
3769 
3770  def __str__(self):
3771  r"""__str__(Line3D self) -> std::string"""
3772  return _IMP_algebra.Line3D___str__(self)
3773 
3774  def __repr__(self):
3775  r"""__repr__(Line3D self) -> std::string"""
3776  return _IMP_algebra.Line3D___repr__(self)
3777 
3778  def _get_as_binary(self):
3779  r"""_get_as_binary(Line3D self) -> PyObject *"""
3780  return _IMP_algebra.Line3D__get_as_binary(self)
3781 
3782  def _set_from_binary(self, p):
3783  r"""_set_from_binary(Line3D self, PyObject * p)"""
3784  return _IMP_algebra.Line3D__set_from_binary(self, p)
3785 
3786  def __getstate__(self):
3787  p = self._get_as_binary()
3788  if len(self.__dict__) > 1:
3789  d = self.__dict__.copy()
3790  del d['this']
3791  p = (d, p)
3792  return p
3793 
3794  def __setstate__(self, p):
3795  if not hasattr(self, 'this'):
3796  self.__init__()
3797  if isinstance(p, tuple):
3798  d, p = p
3799  self.__dict__.update(d)
3800  return self._set_from_binary(p)
3801 
3802  __swig_destroy__ = _IMP_algebra.delete_Line3D
3803 
3804 # Register Line3D in _IMP_algebra:
3805 _IMP_algebra.Line3D_swigregister(Line3D)
3806 
3807 def get_line_3d_geometry(g):
3808  r"""get_line_3d_geometry(Line3D g) -> Line3D"""
3809  return _IMP_algebra.get_line_3d_geometry(g)
3810 
3811 def get_angle(a, b):
3812  r"""get_angle(Line3D a, Line3D b) -> double"""
3813  return _IMP_algebra.get_angle(a, b)
3814 
3816  r"""get_segment_connecting_first_to_second(Line3D a, Line3D b) -> Segment3D"""
3817  return _IMP_algebra.get_segment_connecting_first_to_second(a, b)
3818 class Segment3D(IMP._GeometricPrimitive3D):
3819  r"""Proxy of C++ IMP::algebra::Segment3D class."""
3820 
3821  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3822 
3823  def __init__(self, *args):
3824  r"""
3825  __init__(Segment3D self) -> Segment3D
3826  __init__(Segment3D self, Vector3D start, Vector3D end) -> Segment3D
3827  """
3828  _IMP_algebra.Segment3D_swiginit(self, _IMP_algebra.new_Segment3D(*args))
3829 
3830  def get_point(self, i):
3831  if i < 0 or i >= 2:
3832  raise IMP.UsageException("Invalid point index")
3833  return _IMP_algebra.Segment3D_get_point(self, i)
3834 
3835 
3836 
3837  def get_middle_point(self):
3838  r"""get_middle_point(Segment3D self) -> Vector3D"""
3839  return _IMP_algebra.Segment3D_get_middle_point(self)
3840 
3841  def get_direction(self):
3842  r"""get_direction(Segment3D self) -> Vector3D"""
3843  return _IMP_algebra.Segment3D_get_direction(self)
3844 
3845  def get_length(self):
3846  r"""get_length(Segment3D self) -> double"""
3847  return _IMP_algebra.Segment3D_get_length(self)
3848 
3849  def show(self, *args):
3850  r"""show(Segment3D self, _ostream out=std::cout)"""
3851  return _IMP_algebra.Segment3D_show(self, *args)
3852 
3853  def __str__(self):
3854  r"""__str__(Segment3D self) -> std::string"""
3855  return _IMP_algebra.Segment3D___str__(self)
3856 
3857  def __repr__(self):
3858  r"""__repr__(Segment3D self) -> std::string"""
3859  return _IMP_algebra.Segment3D___repr__(self)
3860 
3861  def _get_as_binary(self):
3862  r"""_get_as_binary(Segment3D self) -> PyObject *"""
3863  return _IMP_algebra.Segment3D__get_as_binary(self)
3864 
3865  def _set_from_binary(self, p):
3866  r"""_set_from_binary(Segment3D self, PyObject * p)"""
3867  return _IMP_algebra.Segment3D__set_from_binary(self, p)
3868 
3869  def __getstate__(self):
3870  p = self._get_as_binary()
3871  if len(self.__dict__) > 1:
3872  d = self.__dict__.copy()
3873  del d['this']
3874  p = (d, p)
3875  return p
3876 
3877  def __setstate__(self, p):
3878  if not hasattr(self, 'this'):
3879  self.__init__()
3880  if isinstance(p, tuple):
3881  d, p = p
3882  self.__dict__.update(d)
3883  return self._set_from_binary(p)
3884 
3885  __swig_destroy__ = _IMP_algebra.delete_Segment3D
3886 
3887 # Register Segment3D in _IMP_algebra:
3888 _IMP_algebra.Segment3D_swigregister(Segment3D)
3889 
3890 def get_segment_3d_geometry(g):
3891  r"""get_segment_3d_geometry(Segment3D g) -> Segment3D"""
3892  return _IMP_algebra.get_segment_3d_geometry(g)
3893 
3895  r"""get_relative_projection_on_segment(Segment3D s, Vector3D p) -> double"""
3896  return _IMP_algebra.get_relative_projection_on_segment(s, p)
3897 class Triangle3D(IMP._GeometricPrimitive3D):
3898  r"""Proxy of C++ IMP::algebra::Triangle3D class."""
3899 
3900  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3901 
3902  def __init__(self, *args):
3903  r"""
3904  __init__(Triangle3D self) -> Triangle3D
3905  __init__(Triangle3D self, Vector3D p1, Vector3D p2, Vector3D p3) -> Triangle3D
3906  """
3907  _IMP_algebra.Triangle3D_swiginit(self, _IMP_algebra.new_Triangle3D(*args))
3908 
3909  def get_point(self, i):
3910  r"""get_point(Triangle3D self, unsigned int i) -> Vector3D"""
3911  return _IMP_algebra.Triangle3D_get_point(self, i)
3912 
3913  def show(self, *args):
3914  r"""show(Triangle3D self, _ostream out=std::cout)"""
3915  return _IMP_algebra.Triangle3D_show(self, *args)
3916 
3917  def get_edge_lengths(self):
3918  r"""get_edge_lengths(Triangle3D self) -> IMP::Floats"""
3919  return _IMP_algebra.Triangle3D_get_edge_lengths(self)
3920 
3921  def __str__(self):
3922  r"""__str__(Triangle3D self) -> std::string"""
3923  return _IMP_algebra.Triangle3D___str__(self)
3924 
3925  def __repr__(self):
3926  r"""__repr__(Triangle3D self) -> std::string"""
3927  return _IMP_algebra.Triangle3D___repr__(self)
3928 
3929  def _get_as_binary(self):
3930  r"""_get_as_binary(Triangle3D self) -> PyObject *"""
3931  return _IMP_algebra.Triangle3D__get_as_binary(self)
3932 
3933  def _set_from_binary(self, p):
3934  r"""_set_from_binary(Triangle3D self, PyObject * p)"""
3935  return _IMP_algebra.Triangle3D__set_from_binary(self, p)
3936 
3937  def __getstate__(self):
3938  p = self._get_as_binary()
3939  if len(self.__dict__) > 1:
3940  d = self.__dict__.copy()
3941  del d['this']
3942  p = (d, p)
3943  return p
3944 
3945  def __setstate__(self, p):
3946  if not hasattr(self, 'this'):
3947  self.__init__()
3948  if isinstance(p, tuple):
3949  d, p = p
3950  self.__dict__.update(d)
3951  return self._set_from_binary(p)
3952 
3953  __swig_destroy__ = _IMP_algebra.delete_Triangle3D
3954 
3955 # Register Triangle3D in _IMP_algebra:
3956 _IMP_algebra.Triangle3D_swigregister(Triangle3D)
3957 
3958 def get_largest_triangle(points):
3959  r"""get_largest_triangle(IMP::algebra::Vector3Ds const & points) -> Triangle3D"""
3960  return _IMP_algebra.get_largest_triangle(points)
3961 
3962 def get_transformation_from_first_triangle_to_second(first_tri, second_tri):
3963  r"""get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri) -> Transformation3D"""
3964  return _IMP_algebra.get_transformation_from_first_triangle_to_second(first_tri, second_tri)
3965 
3966 def get_are_colinear(p1, p2, p3):
3967  r"""get_are_colinear(Vector3D p1, Vector3D p2, Vector3D p3) -> bool"""
3968  return _IMP_algebra.get_are_colinear(p1, p2, p3)
3969 class LinearFit2D(IMP._GeometricPrimitive2D):
3970  r"""Proxy of C++ IMP::algebra::LinearFit2D class."""
3971 
3972  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3973 
3974  def __init__(self, *args):
3975  r"""
3976  __init__(LinearFit2D self) -> LinearFit2D
3977  __init__(LinearFit2D self, IMP::algebra::Vector2Ds const & data, IMP::Floats const & error_bars=IMP::Floats()) -> LinearFit2D
3978  """
3979  _IMP_algebra.LinearFit2D_swiginit(self, _IMP_algebra.new_LinearFit2D(*args))
3980 
3981  def get_fit_error(self):
3982  r"""get_fit_error(LinearFit2D self) -> double"""
3983  return _IMP_algebra.LinearFit2D_get_fit_error(self)
3984 
3985  def get_a(self):
3986  r"""get_a(LinearFit2D self) -> double"""
3987  return _IMP_algebra.LinearFit2D_get_a(self)
3988 
3989  def get_b(self):
3990  r"""get_b(LinearFit2D self) -> double"""
3991  return _IMP_algebra.LinearFit2D_get_b(self)
3992 
3993  def show(self, *args):
3994  r"""show(LinearFit2D self, _ostream out=std::cout)"""
3995  return _IMP_algebra.LinearFit2D_show(self, *args)
3996 
3997  def __str__(self):
3998  r"""__str__(LinearFit2D self) -> std::string"""
3999  return _IMP_algebra.LinearFit2D___str__(self)
4000 
4001  def __repr__(self):
4002  r"""__repr__(LinearFit2D self) -> std::string"""
4003  return _IMP_algebra.LinearFit2D___repr__(self)
4004 
4005  def _get_as_binary(self):
4006  r"""_get_as_binary(LinearFit2D self) -> PyObject *"""
4007  return _IMP_algebra.LinearFit2D__get_as_binary(self)
4008 
4009  def _set_from_binary(self, p):
4010  r"""_set_from_binary(LinearFit2D self, PyObject * p)"""
4011  return _IMP_algebra.LinearFit2D__set_from_binary(self, p)
4012 
4013  def __getstate__(self):
4014  p = self._get_as_binary()
4015  if len(self.__dict__) > 1:
4016  d = self.__dict__.copy()
4017  del d['this']
4018  p = (d, p)
4019  return p
4020 
4021  def __setstate__(self, p):
4022  if not hasattr(self, 'this'):
4023  self.__init__()
4024  if isinstance(p, tuple):
4025  d, p = p
4026  self.__dict__.update(d)
4027  return self._set_from_binary(p)
4028 
4029  __swig_destroy__ = _IMP_algebra.delete_LinearFit2D
4030 
4031 # Register LinearFit2D in _IMP_algebra:
4032 _IMP_algebra.LinearFit2D_swigregister(LinearFit2D)
4033 class ParabolicFit2D(IMP._GeometricPrimitive2D):
4034  r"""Proxy of C++ IMP::algebra::ParabolicFit2D class."""
4035 
4036  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4037 
4038  def __init__(self, *args):
4039  r"""
4040  __init__(ParabolicFit2D self) -> ParabolicFit2D
4041  __init__(ParabolicFit2D self, IMP::algebra::Vector2Ds const & data) -> ParabolicFit2D
4042  """
4043  _IMP_algebra.ParabolicFit2D_swiginit(self, _IMP_algebra.new_ParabolicFit2D(*args))
4044 
4045  def get_fit_error(self):
4046  r"""get_fit_error(ParabolicFit2D self) -> double"""
4047  return _IMP_algebra.ParabolicFit2D_get_fit_error(self)
4048 
4049  def get_a(self):
4050  r"""get_a(ParabolicFit2D self) -> double"""
4051  return _IMP_algebra.ParabolicFit2D_get_a(self)
4052 
4053  def get_b(self):
4054  r"""get_b(ParabolicFit2D self) -> double"""
4055  return _IMP_algebra.ParabolicFit2D_get_b(self)
4056 
4057  def get_c(self):
4058  r"""get_c(ParabolicFit2D self) -> double"""
4059  return _IMP_algebra.ParabolicFit2D_get_c(self)
4060 
4061  def show(self, *args):
4062  r"""show(ParabolicFit2D self, _ostream out=std::cout)"""
4063  return _IMP_algebra.ParabolicFit2D_show(self, *args)
4064 
4065  def __str__(self):
4066  r"""__str__(ParabolicFit2D self) -> std::string"""
4067  return _IMP_algebra.ParabolicFit2D___str__(self)
4068 
4069  def __repr__(self):
4070  r"""__repr__(ParabolicFit2D self) -> std::string"""
4071  return _IMP_algebra.ParabolicFit2D___repr__(self)
4072 
4073  def _get_as_binary(self):
4074  r"""_get_as_binary(ParabolicFit2D self) -> PyObject *"""
4075  return _IMP_algebra.ParabolicFit2D__get_as_binary(self)
4076 
4077  def _set_from_binary(self, p):
4078  r"""_set_from_binary(ParabolicFit2D self, PyObject * p)"""
4079  return _IMP_algebra.ParabolicFit2D__set_from_binary(self, p)
4080 
4081  def __getstate__(self):
4082  p = self._get_as_binary()
4083  if len(self.__dict__) > 1:
4084  d = self.__dict__.copy()
4085  del d['this']
4086  p = (d, p)
4087  return p
4088 
4089  def __setstate__(self, p):
4090  if not hasattr(self, 'this'):
4091  self.__init__()
4092  if isinstance(p, tuple):
4093  d, p = p
4094  self.__dict__.update(d)
4095  return self._set_from_binary(p)
4096 
4097  __swig_destroy__ = _IMP_algebra.delete_ParabolicFit2D
4098 
4099 # Register ParabolicFit2D in _IMP_algebra:
4100 _IMP_algebra.ParabolicFit2D_swigregister(ParabolicFit2D)
4101 class Plane3D(IMP._GeometricPrimitive3D):
4102  r"""Proxy of C++ IMP::algebra::Plane3D class."""
4103 
4104  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4105 
4106  def __init__(self, *args):
4107  r"""
4108  __init__(Plane3D self) -> Plane3D
4109  __init__(Plane3D self, Vector3D point_on_plane, Vector3D normal_to_plane) -> Plane3D
4110  __init__(Plane3D self, double distance_to_plane, Vector3D normal_to_plane) -> Plane3D
4111  """
4112  _IMP_algebra.Plane3D_swiginit(self, _IMP_algebra.new_Plane3D(*args))
4113 
4114  def get_point_on_plane(self):
4115  r"""get_point_on_plane(Plane3D self) -> Vector3D"""
4116  return _IMP_algebra.Plane3D_get_point_on_plane(self)
4117 
4118  def get_normal(self):
4119  r"""get_normal(Plane3D self) -> Vector3D"""
4120  return _IMP_algebra.Plane3D_get_normal(self)
4121 
4122  def get_projected(self, p):
4123  r"""get_projected(Plane3D self, Vector3D p) -> Vector3D"""
4124  return _IMP_algebra.Plane3D_get_projected(self, p)
4125 
4126  def get_is_above(self, p):
4127  r"""get_is_above(Plane3D self, Vector3D p) -> bool"""
4128  return _IMP_algebra.Plane3D_get_is_above(self, p)
4129 
4130  def get_is_below(self, p):
4131  r"""get_is_below(Plane3D self, Vector3D p) -> bool"""
4132  return _IMP_algebra.Plane3D_get_is_below(self, p)
4133 
4134  def get_height(self, p):
4135  r"""get_height(Plane3D self, Vector3D p) -> double"""
4136  return _IMP_algebra.Plane3D_get_height(self, p)
4137 
4138  def show(self, *args):
4139  r"""show(Plane3D self, _ostream out=std::cout)"""
4140  return _IMP_algebra.Plane3D_show(self, *args)
4141 
4142  def get_opposite(self):
4143  r"""get_opposite(Plane3D self) -> Plane3D"""
4144  return _IMP_algebra.Plane3D_get_opposite(self)
4145 
4146  def get_distance_from_origin(self):
4147  r"""get_distance_from_origin(Plane3D self) -> double"""
4148  return _IMP_algebra.Plane3D_get_distance_from_origin(self)
4149 
4150  def __str__(self):
4151  r"""__str__(Plane3D self) -> std::string"""
4152  return _IMP_algebra.Plane3D___str__(self)
4153 
4154  def __repr__(self):
4155  r"""__repr__(Plane3D self) -> std::string"""
4156  return _IMP_algebra.Plane3D___repr__(self)
4157 
4158  def _get_as_binary(self):
4159  r"""_get_as_binary(Plane3D self) -> PyObject *"""
4160  return _IMP_algebra.Plane3D__get_as_binary(self)
4161 
4162  def _set_from_binary(self, p):
4163  r"""_set_from_binary(Plane3D self, PyObject * p)"""
4164  return _IMP_algebra.Plane3D__set_from_binary(self, p)
4165 
4166  def __getstate__(self):
4167  p = self._get_as_binary()
4168  if len(self.__dict__) > 1:
4169  d = self.__dict__.copy()
4170  del d['this']
4171  p = (d, p)
4172  return p
4173 
4174  def __setstate__(self, p):
4175  if not hasattr(self, 'this'):
4176  self.__init__()
4177  if isinstance(p, tuple):
4178  d, p = p
4179  self.__dict__.update(d)
4180  return self._set_from_binary(p)
4181 
4182  __swig_destroy__ = _IMP_algebra.delete_Plane3D
4183 
4184 # Register Plane3D in _IMP_algebra:
4185 _IMP_algebra.Plane3D_swigregister(Plane3D)
4186 
4187 def get_reflected(pln, p):
4188  r"""get_reflected(Plane3D pln, Vector3D p) -> Vector3D"""
4189  return _IMP_algebra.get_reflected(pln, p)
4190 
4191 def get_plane_3d_geometry(g):
4192  r"""get_plane_3d_geometry(Plane3D g) -> Plane3D"""
4193  return _IMP_algebra.get_plane_3d_geometry(g)
4194 class Reflection3D(IMP._GeometricPrimitive3D):
4195  r"""Proxy of C++ IMP::algebra::Reflection3D class."""
4196 
4197  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4198 
4199  def __init__(self, *args):
4200  r"""
4201  __init__(Reflection3D self) -> Reflection3D
4202  __init__(Reflection3D self, Plane3D pl) -> Reflection3D
4203  """
4204  _IMP_algebra.Reflection3D_swiginit(self, _IMP_algebra.new_Reflection3D(*args))
4205 
4206  def get_reflected(self, v):
4207  r"""get_reflected(Reflection3D self, Vector3D v) -> Vector3D"""
4208  return _IMP_algebra.Reflection3D_get_reflected(self, v)
4209 
4210  def show(self, *args):
4211  r"""show(Reflection3D self, _ostream out=std::cout)"""
4212  return _IMP_algebra.Reflection3D_show(self, *args)
4213 
4214  def __str__(self):
4215  r"""__str__(Reflection3D self) -> std::string"""
4216  return _IMP_algebra.Reflection3D___str__(self)
4217 
4218  def __repr__(self):
4219  r"""__repr__(Reflection3D self) -> std::string"""
4220  return _IMP_algebra.Reflection3D___repr__(self)
4221 
4222  def _get_as_binary(self):
4223  r"""_get_as_binary(Reflection3D self) -> PyObject *"""
4224  return _IMP_algebra.Reflection3D__get_as_binary(self)
4225 
4226  def _set_from_binary(self, p):
4227  r"""_set_from_binary(Reflection3D self, PyObject * p)"""
4228  return _IMP_algebra.Reflection3D__set_from_binary(self, p)
4229 
4230  def __getstate__(self):
4231  p = self._get_as_binary()
4232  if len(self.__dict__) > 1:
4233  d = self.__dict__.copy()
4234  del d['this']
4235  p = (d, p)
4236  return p
4237 
4238  def __setstate__(self, p):
4239  if not hasattr(self, 'this'):
4240  self.__init__()
4241  if isinstance(p, tuple):
4242  d, p = p
4243  self.__dict__.update(d)
4244  return self._set_from_binary(p)
4245 
4246  __swig_destroy__ = _IMP_algebra.delete_Reflection3D
4247 
4248 # Register Reflection3D in _IMP_algebra:
4249 _IMP_algebra.Reflection3D_swigregister(Reflection3D)
4250 class Cylinder3D(IMP._GeometricPrimitive3D):
4251  r"""Proxy of C++ IMP::algebra::Cylinder3D class."""
4252 
4253  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4254 
4255  def __init__(self, *args):
4256  r"""
4257  __init__(Cylinder3D self) -> Cylinder3D
4258  __init__(Cylinder3D self, Segment3D s, double radius) -> Cylinder3D
4259  """
4260  _IMP_algebra.Cylinder3D_swiginit(self, _IMP_algebra.new_Cylinder3D(*args))
4261 
4262  def get_radius(self):
4263  r"""get_radius(Cylinder3D self) -> double"""
4264  return _IMP_algebra.Cylinder3D_get_radius(self)
4265 
4266  def get_segment(self):
4267  r"""get_segment(Cylinder3D self) -> Segment3D"""
4268  return _IMP_algebra.Cylinder3D_get_segment(self)
4269 
4270  def get_surface_point_at(self, relative_height, angle):
4271  r"""get_surface_point_at(Cylinder3D self, double relative_height, double angle) -> Vector3D"""
4272  return _IMP_algebra.Cylinder3D_get_surface_point_at(self, relative_height, angle)
4273 
4274  def get_inner_point_at(self, relative_height, relative_radius, angle):
4275  r"""get_inner_point_at(Cylinder3D self, double relative_height, double relative_radius, double angle) -> Vector3D"""
4276  return _IMP_algebra.Cylinder3D_get_inner_point_at(self, relative_height, relative_radius, angle)
4277 
4278  def show(self, *args):
4279  r"""show(Cylinder3D self, _ostream out=std::cout)"""
4280  return _IMP_algebra.Cylinder3D_show(self, *args)
4281 
4282  def __str__(self):
4283  r"""__str__(Cylinder3D self) -> std::string"""
4284  return _IMP_algebra.Cylinder3D___str__(self)
4285 
4286  def __repr__(self):
4287  r"""__repr__(Cylinder3D self) -> std::string"""
4288  return _IMP_algebra.Cylinder3D___repr__(self)
4289 
4290  def _get_as_binary(self):
4291  r"""_get_as_binary(Cylinder3D self) -> PyObject *"""
4292  return _IMP_algebra.Cylinder3D__get_as_binary(self)
4293 
4294  def _set_from_binary(self, p):
4295  r"""_set_from_binary(Cylinder3D self, PyObject * p)"""
4296  return _IMP_algebra.Cylinder3D__set_from_binary(self, p)
4297 
4298  def __getstate__(self):
4299  p = self._get_as_binary()
4300  if len(self.__dict__) > 1:
4301  d = self.__dict__.copy()
4302  del d['this']
4303  p = (d, p)
4304  return p
4305 
4306  def __setstate__(self, p):
4307  if not hasattr(self, 'this'):
4308  self.__init__()
4309  if isinstance(p, tuple):
4310  d, p = p
4311  self.__dict__.update(d)
4312  return self._set_from_binary(p)
4313 
4314  __swig_destroy__ = _IMP_algebra.delete_Cylinder3D
4315 
4316 # Register Cylinder3D in _IMP_algebra:
4317 _IMP_algebra.Cylinder3D_swigregister(Cylinder3D)
4318 
4319 def get_cylinder_3d_geometry(g):
4320  r"""get_cylinder_3d_geometry(Cylinder3D g) -> Cylinder3D"""
4321  return _IMP_algebra.get_cylinder_3d_geometry(g)
4322 class Ellipsoid3D(IMP._GeometricPrimitive3D):
4323  r"""Proxy of C++ IMP::algebra::Ellipsoid3D class."""
4324 
4325  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4326 
4327  def __init__(self, *args):
4328  r"""
4329  __init__(Ellipsoid3D self) -> Ellipsoid3D
4330  __init__(Ellipsoid3D self, ReferenceFrame3D rf, Vector3D radii) -> Ellipsoid3D
4331  __init__(Ellipsoid3D self, Vector3D center, double radius_x, double radius_y, double radius_z, Rotation3D rot) -> Ellipsoid3D
4332  """
4333  _IMP_algebra.Ellipsoid3D_swiginit(self, _IMP_algebra.new_Ellipsoid3D(*args))
4334 
4335  def get_radii(self):
4336  r"""get_radii(Ellipsoid3D self) -> Vector3D"""
4337  return _IMP_algebra.Ellipsoid3D_get_radii(self)
4338 
4339  def get_reference_frame(self):
4340  r"""get_reference_frame(Ellipsoid3D self) -> ReferenceFrame3D"""
4341  return _IMP_algebra.Ellipsoid3D_get_reference_frame(self)
4342 
4343  def show(self, *args):
4344  r"""show(Ellipsoid3D self, _ostream out=std::cout)"""
4345  return _IMP_algebra.Ellipsoid3D_show(self, *args)
4346 
4347  def __str__(self):
4348  r"""__str__(Ellipsoid3D self) -> std::string"""
4349  return _IMP_algebra.Ellipsoid3D___str__(self)
4350 
4351  def __repr__(self):
4352  r"""__repr__(Ellipsoid3D self) -> std::string"""
4353  return _IMP_algebra.Ellipsoid3D___repr__(self)
4354 
4355  def _get_as_binary(self):
4356  r"""_get_as_binary(Ellipsoid3D self) -> PyObject *"""
4357  return _IMP_algebra.Ellipsoid3D__get_as_binary(self)
4358 
4359  def _set_from_binary(self, p):
4360  r"""_set_from_binary(Ellipsoid3D self, PyObject * p)"""
4361  return _IMP_algebra.Ellipsoid3D__set_from_binary(self, p)
4362 
4363  def __getstate__(self):
4364  p = self._get_as_binary()
4365  if len(self.__dict__) > 1:
4366  d = self.__dict__.copy()
4367  del d['this']
4368  p = (d, p)
4369  return p
4370 
4371  def __setstate__(self, p):
4372  if not hasattr(self, 'this'):
4373  self.__init__()
4374  if isinstance(p, tuple):
4375  d, p = p
4376  self.__dict__.update(d)
4377  return self._set_from_binary(p)
4378 
4379  __swig_destroy__ = _IMP_algebra.delete_Ellipsoid3D
4380 
4381 # Register Ellipsoid3D in _IMP_algebra:
4382 _IMP_algebra.Ellipsoid3D_swigregister(Ellipsoid3D)
4383 
4384 def get_ellipsoid_3d_geometry(g):
4385  r"""get_ellipsoid_3d_geometry(Ellipsoid3D g) -> Ellipsoid3D"""
4386  return _IMP_algebra.get_ellipsoid_3d_geometry(g)
4387 class ConnollySurfacePoint(object):
4388  r"""Proxy of C++ IMP::algebra::ConnollySurfacePoint class."""
4389 
4390  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4391 
4392  def __init__(self, *args):
4393  r"""
4394  __init__(ConnollySurfacePoint self) -> ConnollySurfacePoint
4395  __init__(ConnollySurfacePoint self, int a0, int a1, int a2, Vector3D sp, float a, Vector3D n) -> ConnollySurfacePoint
4396  """
4397  _IMP_algebra.ConnollySurfacePoint_swiginit(self, _IMP_algebra.new_ConnollySurfacePoint(*args))
4398 
4399  def get_atom(self, i):
4400  r"""get_atom(ConnollySurfacePoint self, unsigned int i) -> int"""
4401  return _IMP_algebra.ConnollySurfacePoint_get_atom(self, i)
4402 
4403  def get_surface_point(self):
4404  r"""get_surface_point(ConnollySurfacePoint self) -> Vector3D"""
4405  return _IMP_algebra.ConnollySurfacePoint_get_surface_point(self)
4406 
4407  def get_area(self):
4408  r"""get_area(ConnollySurfacePoint self) -> double"""
4409  return _IMP_algebra.ConnollySurfacePoint_get_area(self)
4410 
4411  def get_normal(self):
4412  r"""get_normal(ConnollySurfacePoint self) -> Vector3D"""
4413  return _IMP_algebra.ConnollySurfacePoint_get_normal(self)
4414 
4415  def show(self, *args):
4416  r"""show(ConnollySurfacePoint self, _ostream out=std::cout)"""
4417  return _IMP_algebra.ConnollySurfacePoint_show(self, *args)
4418 
4419  def __str__(self):
4420  r"""__str__(ConnollySurfacePoint self) -> std::string"""
4421  return _IMP_algebra.ConnollySurfacePoint___str__(self)
4422 
4423  def __repr__(self):
4424  r"""__repr__(ConnollySurfacePoint self) -> std::string"""
4425  return _IMP_algebra.ConnollySurfacePoint___repr__(self)
4426 
4427  def _get_as_binary(self):
4428  r"""_get_as_binary(ConnollySurfacePoint self) -> PyObject *"""
4429  return _IMP_algebra.ConnollySurfacePoint__get_as_binary(self)
4430 
4431  def _set_from_binary(self, p):
4432  r"""_set_from_binary(ConnollySurfacePoint self, PyObject * p)"""
4433  return _IMP_algebra.ConnollySurfacePoint__set_from_binary(self, p)
4434 
4435  def __getstate__(self):
4436  p = self._get_as_binary()
4437  if len(self.__dict__) > 1:
4438  d = self.__dict__.copy()
4439  del d['this']
4440  p = (d, p)
4441  return p
4442 
4443  def __setstate__(self, p):
4444  if not hasattr(self, 'this'):
4445  self.__init__()
4446  if isinstance(p, tuple):
4447  d, p = p
4448  self.__dict__.update(d)
4449  return self._set_from_binary(p)
4450 
4451  __swig_destroy__ = _IMP_algebra.delete_ConnollySurfacePoint
4452 
4453 # Register ConnollySurfacePoint in _IMP_algebra:
4454 _IMP_algebra.ConnollySurfacePoint_swigregister(ConnollySurfacePoint)
4455 
4456 def get_connolly_surface(spheres, density, probe_radius):
4457  r"""get_connolly_surface(IMP::algebra::Sphere3Ds const & spheres, double density, double probe_radius) -> IMP::algebra::ConnollySurfacePoints"""
4458  return _IMP_algebra.get_connolly_surface(spheres, density, probe_radius)
4459 class LogEmbedding3D(object):
4460  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 3 > class."""
4461 
4462  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4463 
4464  def __init__(self, *args):
4465  r"""
4466  __init__(LogEmbedding3D self, Vector3D origin, Vector3D cell, Vector3D base) -> LogEmbedding3D
4467  __init__(LogEmbedding3D self, BoundingBox3D bb, Vector3D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding3D
4468  __init__(LogEmbedding3D self, Vector3D arg2, Vector3D arg3) -> LogEmbedding3D
4469  __init__(LogEmbedding3D self) -> LogEmbedding3D
4470  """
4471  _IMP_algebra.LogEmbedding3D_swiginit(self, _IMP_algebra.new_LogEmbedding3D(*args))
4472 
4473  def set_origin(self, o):
4474  r"""set_origin(LogEmbedding3D self, Vector3D o)"""
4475  return _IMP_algebra.LogEmbedding3D_set_origin(self, o)
4476 
4477  def get_origin(self):
4478  r"""get_origin(LogEmbedding3D self) -> Vector3D"""
4479  return _IMP_algebra.LogEmbedding3D_get_origin(self)
4480 
4481  def get_dimension(self):
4482  r"""get_dimension(LogEmbedding3D self) -> unsigned int"""
4483  return _IMP_algebra.LogEmbedding3D_get_dimension(self)
4484 
4485  def set_unit_cell(self, *args):
4486  r"""
4487  set_unit_cell(LogEmbedding3D self, Vector3D o, Vector3D base)
4488  set_unit_cell(LogEmbedding3D self, Vector3D o)
4489  """
4490  return _IMP_algebra.LogEmbedding3D_set_unit_cell(self, *args)
4491 
4492  def get_unit_cell(self):
4493  r"""get_unit_cell(LogEmbedding3D self) -> Vector3D"""
4494  return _IMP_algebra.LogEmbedding3D_get_unit_cell(self)
4495 
4496  def get_extended_index(self, o):
4497  r"""get_extended_index(LogEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
4498  return _IMP_algebra.LogEmbedding3D_get_extended_index(self, o)
4499 
4500  def get_index(self, o):
4501  r"""get_index(LogEmbedding3D self, Vector3D o) -> GridIndex3D"""
4502  return _IMP_algebra.LogEmbedding3D_get_index(self, o)
4503 
4504  def get_center(self, *args):
4505  r"""
4506  get_center(LogEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
4507  get_center(LogEmbedding3D self, GridIndex3D ei) -> Vector3D
4508  """
4509  return _IMP_algebra.LogEmbedding3D_get_center(self, *args)
4510 
4511  def get_bounding_box(self, *args):
4512  r"""
4513  get_bounding_box(LogEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
4514  get_bounding_box(LogEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
4515  """
4516  return _IMP_algebra.LogEmbedding3D_get_bounding_box(self, *args)
4517 
4518  def show(self, *args):
4519  r"""show(LogEmbedding3D self, _ostream out=std::cout)"""
4520  return _IMP_algebra.LogEmbedding3D_show(self, *args)
4521 
4522  def __str__(self):
4523  r"""__str__(LogEmbedding3D self) -> std::string"""
4524  return _IMP_algebra.LogEmbedding3D___str__(self)
4525 
4526  def __repr__(self):
4527  r"""__repr__(LogEmbedding3D self) -> std::string"""
4528  return _IMP_algebra.LogEmbedding3D___repr__(self)
4529 
4530  def __cmp__(self, arg2):
4531  r"""__cmp__(LogEmbedding3D self, LogEmbedding3D arg2) -> int"""
4532  return _IMP_algebra.LogEmbedding3D___cmp__(self, arg2)
4533 
4534  def __eq__(self, arg2):
4535  r"""__eq__(LogEmbedding3D self, LogEmbedding3D arg2) -> bool"""
4536  return _IMP_algebra.LogEmbedding3D___eq__(self, arg2)
4537 
4538  def _get_as_binary(self):
4539  r"""_get_as_binary(LogEmbedding3D self) -> PyObject *"""
4540  return _IMP_algebra.LogEmbedding3D__get_as_binary(self)
4541 
4542  def _set_from_binary(self, p):
4543  r"""_set_from_binary(LogEmbedding3D self, PyObject * p)"""
4544  return _IMP_algebra.LogEmbedding3D__set_from_binary(self, p)
4545 
4546  def __getstate__(self):
4547  p = self._get_as_binary()
4548  if len(self.__dict__) > 1:
4549  d = self.__dict__.copy()
4550  del d['this']
4551  p = (d, p)
4552  return p
4553 
4554  def __setstate__(self, p):
4555  if not hasattr(self, 'this'):
4556  self.__init__()
4557  if isinstance(p, tuple):
4558  d, p = p
4559  self.__dict__.update(d)
4560  return self._set_from_binary(p)
4561 
4562  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding3D
4563 
4564 # Register LogEmbedding3D in _IMP_algebra:
4565 _IMP_algebra.LogEmbedding3D_swigregister(LogEmbedding3D)
4566 class LogEmbeddingKD(object):
4567  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< -1 > class."""
4568 
4569  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4570 
4571  def __init__(self, *args):
4572  r"""
4573  __init__(LogEmbeddingKD self, VectorKD origin, VectorKD cell, VectorKD base) -> LogEmbeddingKD
4574  __init__(LogEmbeddingKD self, BoundingBoxKD bb, VectorKD bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbeddingKD
4575  __init__(LogEmbeddingKD self, VectorKD arg2, VectorKD arg3) -> LogEmbeddingKD
4576  __init__(LogEmbeddingKD self) -> LogEmbeddingKD
4577  """
4578  _IMP_algebra.LogEmbeddingKD_swiginit(self, _IMP_algebra.new_LogEmbeddingKD(*args))
4579 
4580  def set_origin(self, o):
4581  r"""set_origin(LogEmbeddingKD self, VectorKD o)"""
4582  return _IMP_algebra.LogEmbeddingKD_set_origin(self, o)
4583 
4584  def get_origin(self):
4585  r"""get_origin(LogEmbeddingKD self) -> VectorKD"""
4586  return _IMP_algebra.LogEmbeddingKD_get_origin(self)
4587 
4588  def get_dimension(self):
4589  r"""get_dimension(LogEmbeddingKD self) -> unsigned int"""
4590  return _IMP_algebra.LogEmbeddingKD_get_dimension(self)
4591 
4592  def set_unit_cell(self, *args):
4593  r"""
4594  set_unit_cell(LogEmbeddingKD self, VectorKD o, VectorKD base)
4595  set_unit_cell(LogEmbeddingKD self, VectorKD o)
4596  """
4597  return _IMP_algebra.LogEmbeddingKD_set_unit_cell(self, *args)
4598 
4599  def get_unit_cell(self):
4600  r"""get_unit_cell(LogEmbeddingKD self) -> VectorKD"""
4601  return _IMP_algebra.LogEmbeddingKD_get_unit_cell(self)
4602 
4603  def get_extended_index(self, o):
4604  r"""get_extended_index(LogEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
4605  return _IMP_algebra.LogEmbeddingKD_get_extended_index(self, o)
4606 
4607  def get_index(self, o):
4608  r"""get_index(LogEmbeddingKD self, VectorKD o) -> GridIndexKD"""
4609  return _IMP_algebra.LogEmbeddingKD_get_index(self, o)
4610 
4611  def get_center(self, *args):
4612  r"""
4613  get_center(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
4614  get_center(LogEmbeddingKD self, GridIndexKD ei) -> VectorKD
4615  """
4616  return _IMP_algebra.LogEmbeddingKD_get_center(self, *args)
4617 
4618  def get_bounding_box(self, *args):
4619  r"""
4620  get_bounding_box(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
4621  get_bounding_box(LogEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
4622  """
4623  return _IMP_algebra.LogEmbeddingKD_get_bounding_box(self, *args)
4624 
4625  def show(self, *args):
4626  r"""show(LogEmbeddingKD self, _ostream out=std::cout)"""
4627  return _IMP_algebra.LogEmbeddingKD_show(self, *args)
4628 
4629  def __str__(self):
4630  r"""__str__(LogEmbeddingKD self) -> std::string"""
4631  return _IMP_algebra.LogEmbeddingKD___str__(self)
4632 
4633  def __repr__(self):
4634  r"""__repr__(LogEmbeddingKD self) -> std::string"""
4635  return _IMP_algebra.LogEmbeddingKD___repr__(self)
4636 
4637  def __cmp__(self, arg2):
4638  r"""__cmp__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> int"""
4639  return _IMP_algebra.LogEmbeddingKD___cmp__(self, arg2)
4640 
4641  def __eq__(self, arg2):
4642  r"""__eq__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> bool"""
4643  return _IMP_algebra.LogEmbeddingKD___eq__(self, arg2)
4644 
4645  def _get_as_binary(self):
4646  r"""_get_as_binary(LogEmbeddingKD self) -> PyObject *"""
4647  return _IMP_algebra.LogEmbeddingKD__get_as_binary(self)
4648 
4649  def _set_from_binary(self, p):
4650  r"""_set_from_binary(LogEmbeddingKD self, PyObject * p)"""
4651  return _IMP_algebra.LogEmbeddingKD__set_from_binary(self, p)
4652 
4653  def __getstate__(self):
4654  p = self._get_as_binary()
4655  if len(self.__dict__) > 1:
4656  d = self.__dict__.copy()
4657  del d['this']
4658  p = (d, p)
4659  return p
4660 
4661  def __setstate__(self, p):
4662  if not hasattr(self, 'this'):
4663  self.__init__()
4664  if isinstance(p, tuple):
4665  d, p = p
4666  self.__dict__.update(d)
4667  return self._set_from_binary(p)
4668 
4669  __swig_destroy__ = _IMP_algebra.delete_LogEmbeddingKD
4670 
4671 # Register LogEmbeddingKD in _IMP_algebra:
4672 _IMP_algebra.LogEmbeddingKD_swigregister(LogEmbeddingKD)
4673 class DenseFloatLogGridKD(object):
4674  r"""Proxy of C++ IMP::algebra::DenseFloatLogGridKD class."""
4675 
4676  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4677 
4678  def __init__(self, sz, le):
4679  r"""__init__(DenseFloatLogGridKD self, IMP::Ints const & sz, LogEmbeddingKD le) -> DenseFloatLogGridKD"""
4680  _IMP_algebra.DenseFloatLogGridKD_swiginit(self, _IMP_algebra.new_DenseFloatLogGridKD(sz, le))
4681 
4682  def add_voxel(self, i, q):
4683  r"""add_voxel(DenseFloatLogGridKD self, ExtendedGridIndexKD i, float const & q) -> GridIndexKD"""
4684  return _IMP_algebra.DenseFloatLogGridKD_add_voxel(self, i, q)
4685 
4686  def __getitem__(self, *args):
4687  r"""
4688  __getitem__(DenseFloatLogGridKD self, GridIndexKD i) -> float
4689  __getitem__(DenseFloatLogGridKD self, VectorKD i) -> float
4690  """
4691  return _IMP_algebra.DenseFloatLogGridKD___getitem__(self, *args)
4692 
4693  def __setitem__(self, *args):
4694  r"""
4695  __setitem__(DenseFloatLogGridKD self, GridIndexKD i, float const & q)
4696  __setitem__(DenseFloatLogGridKD self, VectorKD i, float const & q)
4697  """
4698  return _IMP_algebra.DenseFloatLogGridKD___setitem__(self, *args)
4699 
4700  def get_bounding_box(self, *args):
4701  r"""
4702  get_bounding_box(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
4703  get_bounding_box(DenseFloatLogGridKD self) -> BoundingBoxKD
4704  """
4705  return _IMP_algebra.DenseFloatLogGridKD_get_bounding_box(self, *args)
4706 
4707  def get_indexes(self, *args):
4708  r"""
4709  get_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
4710  get_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
4711  """
4712  return _IMP_algebra.DenseFloatLogGridKD_get_indexes(self, *args)
4713 
4714  def get_all_indexes(self):
4715  r"""get_all_indexes(DenseFloatLogGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
4716  return _IMP_algebra.DenseFloatLogGridKD_get_all_indexes(self)
4717 
4718  def get_extended_indexes(self, *args):
4719  r"""
4720  get_extended_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
4721  get_extended_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
4722  """
4723  return _IMP_algebra.DenseFloatLogGridKD_get_extended_indexes(self, *args)
4724 
4725  def get_center(self, *args):
4726  r"""
4727  get_center(DenseFloatLogGridKD self, ExtendedGridIndexKD ei) -> VectorKD
4728  get_center(DenseFloatLogGridKD self, GridIndexKD ei) -> VectorKD
4729  """
4730  return _IMP_algebra.DenseFloatLogGridKD_get_center(self, *args)
4731 
4732  def get_extended_index(self, v):
4733  r"""get_extended_index(DenseFloatLogGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
4734  return _IMP_algebra.DenseFloatLogGridKD_get_extended_index(self, v)
4735 
4736  def get_index(self, v):
4737  r"""get_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
4738  return _IMP_algebra.DenseFloatLogGridKD_get_index(self, v)
4739 
4740  def get_origin(self):
4741  r"""get_origin(DenseFloatLogGridKD self) -> VectorKD"""
4742  return _IMP_algebra.DenseFloatLogGridKD_get_origin(self)
4743 
4744  def get_dimension(self):
4745  r"""get_dimension(DenseFloatLogGridKD self) -> unsigned int"""
4746  return _IMP_algebra.DenseFloatLogGridKD_get_dimension(self)
4747 
4748  def get_unit_cell(self):
4749  r"""get_unit_cell(DenseFloatLogGridKD self) -> VectorKD"""
4750  return _IMP_algebra.DenseFloatLogGridKD_get_unit_cell(self)
4751 
4752  def get_has_index(self, v):
4753  r"""get_has_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> bool"""
4754  return _IMP_algebra.DenseFloatLogGridKD_get_has_index(self, v)
4755 
4756  def __str__(self):
4757  r"""__str__(DenseFloatLogGridKD self) -> std::string"""
4758  return _IMP_algebra.DenseFloatLogGridKD___str__(self)
4759 
4760  def __repr__(self):
4761  r"""__repr__(DenseFloatLogGridKD self) -> std::string"""
4762  return _IMP_algebra.DenseFloatLogGridKD___repr__(self)
4763 
4764  def show(self, *args):
4765  r"""show(DenseFloatLogGridKD self, _ostream out=std::cout)"""
4766  return _IMP_algebra.DenseFloatLogGridKD_show(self, *args)
4767  __swig_destroy__ = _IMP_algebra.delete_DenseFloatLogGridKD
4768 
4769 # Register DenseFloatLogGridKD in _IMP_algebra:
4770 _IMP_algebra.DenseFloatLogGridKD_swigregister(DenseFloatLogGridKD)
4771 class DenseIntLogGrid3D(object):
4772  r"""Proxy of C++ IMP::algebra::DenseIntLogGrid3D class."""
4773 
4774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4775 
4776  def __init__(self, sz, le):
4777  r"""__init__(DenseIntLogGrid3D self, IMP::Ints const & sz, LogEmbedding3D le) -> DenseIntLogGrid3D"""
4778  _IMP_algebra.DenseIntLogGrid3D_swiginit(self, _IMP_algebra.new_DenseIntLogGrid3D(sz, le))
4779 
4780  def add_voxel(self, i, q):
4781  r"""add_voxel(DenseIntLogGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
4782  return _IMP_algebra.DenseIntLogGrid3D_add_voxel(self, i, q)
4783 
4784  def __getitem__(self, *args):
4785  r"""
4786  __getitem__(DenseIntLogGrid3D self, GridIndex3D i) -> int
4787  __getitem__(DenseIntLogGrid3D self, Vector3D i) -> int
4788  """
4789  return _IMP_algebra.DenseIntLogGrid3D___getitem__(self, *args)
4790 
4791  def __setitem__(self, *args):
4792  r"""
4793  __setitem__(DenseIntLogGrid3D self, GridIndex3D i, int const & q)
4794  __setitem__(DenseIntLogGrid3D self, Vector3D i, int const & q)
4795  """
4796  return _IMP_algebra.DenseIntLogGrid3D___setitem__(self, *args)
4797 
4798  def get_bounding_box(self, *args):
4799  r"""
4800  get_bounding_box(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
4801  get_bounding_box(DenseIntLogGrid3D self) -> BoundingBox3D
4802  """
4803  return _IMP_algebra.DenseIntLogGrid3D_get_bounding_box(self, *args)
4804 
4805  def get_indexes(self, *args):
4806  r"""
4807  get_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4808  get_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4809  """
4810  return _IMP_algebra.DenseIntLogGrid3D_get_indexes(self, *args)
4811 
4812  def get_all_indexes(self):
4813  r"""get_all_indexes(DenseIntLogGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
4814  return _IMP_algebra.DenseIntLogGrid3D_get_all_indexes(self)
4815 
4816  def get_extended_indexes(self, *args):
4817  r"""
4818  get_extended_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4819  get_extended_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4820  """
4821  return _IMP_algebra.DenseIntLogGrid3D_get_extended_indexes(self, *args)
4822 
4823  def get_center(self, *args):
4824  r"""
4825  get_center(DenseIntLogGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
4826  get_center(DenseIntLogGrid3D self, GridIndex3D ei) -> Vector3D
4827  """
4828  return _IMP_algebra.DenseIntLogGrid3D_get_center(self, *args)
4829 
4830  def get_extended_index(self, v):
4831  r"""get_extended_index(DenseIntLogGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
4832  return _IMP_algebra.DenseIntLogGrid3D_get_extended_index(self, v)
4833 
4834  def get_index(self, v):
4835  r"""get_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
4836  return _IMP_algebra.DenseIntLogGrid3D_get_index(self, v)
4837 
4838  def get_origin(self):
4839  r"""get_origin(DenseIntLogGrid3D self) -> Vector3D"""
4840  return _IMP_algebra.DenseIntLogGrid3D_get_origin(self)
4841 
4842  def get_dimension(self):
4843  r"""get_dimension(DenseIntLogGrid3D self) -> unsigned int"""
4844  return _IMP_algebra.DenseIntLogGrid3D_get_dimension(self)
4845 
4846  def get_unit_cell(self):
4847  r"""get_unit_cell(DenseIntLogGrid3D self) -> Vector3D"""
4848  return _IMP_algebra.DenseIntLogGrid3D_get_unit_cell(self)
4849 
4850  def get_has_index(self, v):
4851  r"""get_has_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> bool"""
4852  return _IMP_algebra.DenseIntLogGrid3D_get_has_index(self, v)
4853 
4854  def __str__(self):
4855  r"""__str__(DenseIntLogGrid3D self) -> std::string"""
4856  return _IMP_algebra.DenseIntLogGrid3D___str__(self)
4857 
4858  def __repr__(self):
4859  r"""__repr__(DenseIntLogGrid3D self) -> std::string"""
4860  return _IMP_algebra.DenseIntLogGrid3D___repr__(self)
4861 
4862  def show(self, *args):
4863  r"""show(DenseIntLogGrid3D self, _ostream out=std::cout)"""
4864  return _IMP_algebra.DenseIntLogGrid3D_show(self, *args)
4865  __swig_destroy__ = _IMP_algebra.delete_DenseIntLogGrid3D
4866 
4867 # Register DenseIntLogGrid3D in _IMP_algebra:
4868 _IMP_algebra.DenseIntLogGrid3D_swigregister(DenseIntLogGrid3D)
4869 class DenseDoubleGrid3D(object):
4870  r"""Proxy of C++ IMP::algebra::DenseGrid3D< double > class."""
4871 
4872  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4873 
4874  def __init__(self, *args):
4875  r"""
4876  __init__(DenseDoubleGrid3D self, double side, BoundingBox3D bb, double _def=double()) -> DenseDoubleGrid3D
4877  __init__(DenseDoubleGrid3D self) -> DenseDoubleGrid3D
4878  """
4879  _IMP_algebra.DenseDoubleGrid3D_swiginit(self, _IMP_algebra.new_DenseDoubleGrid3D(*args))
4880 
4881  def add_voxel(self, i, q):
4882  r"""add_voxel(DenseDoubleGrid3D self, ExtendedGridIndex3D i, double const & q) -> GridIndex3D"""
4883  return _IMP_algebra.DenseDoubleGrid3D_add_voxel(self, i, q)
4884 
4885  def __getitem__(self, *args):
4886  r"""
4887  __getitem__(DenseDoubleGrid3D self, GridIndex3D i) -> double
4888  __getitem__(DenseDoubleGrid3D self, Vector3D i) -> double
4889  """
4890  return _IMP_algebra.DenseDoubleGrid3D___getitem__(self, *args)
4891 
4892  def __setitem__(self, *args):
4893  r"""
4894  __setitem__(DenseDoubleGrid3D self, GridIndex3D i, double const & q)
4895  __setitem__(DenseDoubleGrid3D self, Vector3D i, double const & q)
4896  """
4897  return _IMP_algebra.DenseDoubleGrid3D___setitem__(self, *args)
4898 
4899  def get_bounding_box(self, *args):
4900  r"""
4901  get_bounding_box(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
4902  get_bounding_box(DenseDoubleGrid3D self) -> BoundingBox3D
4903  """
4904  return _IMP_algebra.DenseDoubleGrid3D_get_bounding_box(self, *args)
4905 
4906  def get_indexes(self, *args):
4907  r"""
4908  get_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4909  get_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4910  """
4911  return _IMP_algebra.DenseDoubleGrid3D_get_indexes(self, *args)
4912 
4913  def get_all_indexes(self):
4914  r"""get_all_indexes(DenseDoubleGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
4915  return _IMP_algebra.DenseDoubleGrid3D_get_all_indexes(self)
4916 
4917  def get_extended_indexes(self, *args):
4918  r"""
4919  get_extended_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4920  get_extended_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4921  """
4922  return _IMP_algebra.DenseDoubleGrid3D_get_extended_indexes(self, *args)
4923 
4924  def get_center(self, *args):
4925  r"""
4926  get_center(DenseDoubleGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
4927  get_center(DenseDoubleGrid3D self, GridIndex3D ei) -> Vector3D
4928  """
4929  return _IMP_algebra.DenseDoubleGrid3D_get_center(self, *args)
4930 
4931  def get_extended_index(self, v):
4932  r"""get_extended_index(DenseDoubleGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
4933  return _IMP_algebra.DenseDoubleGrid3D_get_extended_index(self, v)
4934 
4935  def get_index(self, v):
4936  r"""get_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
4937  return _IMP_algebra.DenseDoubleGrid3D_get_index(self, v)
4938 
4939  def get_origin(self):
4940  r"""get_origin(DenseDoubleGrid3D self) -> Vector3D"""
4941  return _IMP_algebra.DenseDoubleGrid3D_get_origin(self)
4942 
4943  def get_dimension(self):
4944  r"""get_dimension(DenseDoubleGrid3D self) -> unsigned int"""
4945  return _IMP_algebra.DenseDoubleGrid3D_get_dimension(self)
4946 
4947  def get_unit_cell(self):
4948  r"""get_unit_cell(DenseDoubleGrid3D self) -> Vector3D"""
4949  return _IMP_algebra.DenseDoubleGrid3D_get_unit_cell(self)
4950 
4951  def get_has_index(self, v):
4952  r"""get_has_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> bool"""
4953  return _IMP_algebra.DenseDoubleGrid3D_get_has_index(self, v)
4954 
4955  def __str__(self):
4956  r"""__str__(DenseDoubleGrid3D self) -> std::string"""
4957  return _IMP_algebra.DenseDoubleGrid3D___str__(self)
4958 
4959  def __repr__(self):
4960  r"""__repr__(DenseDoubleGrid3D self) -> std::string"""
4961  return _IMP_algebra.DenseDoubleGrid3D___repr__(self)
4962 
4963  def show(self, *args):
4964  r"""show(DenseDoubleGrid3D self, _ostream out=std::cout)"""
4965  return _IMP_algebra.DenseDoubleGrid3D_show(self, *args)
4966  __swig_destroy__ = _IMP_algebra.delete_DenseDoubleGrid3D
4967 
4968 # Register DenseDoubleGrid3D in _IMP_algebra:
4969 _IMP_algebra.DenseDoubleGrid3D_swigregister(DenseDoubleGrid3D)
4970 class DenseFloatGrid3D(object):
4971  r"""Proxy of C++ IMP::algebra::DenseGrid3D< float > class."""
4972 
4973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4974 
4975  def __init__(self, *args):
4976  r"""
4977  __init__(DenseFloatGrid3D self, double side, BoundingBox3D bb, float _def=float()) -> DenseFloatGrid3D
4978  __init__(DenseFloatGrid3D self) -> DenseFloatGrid3D
4979  """
4980  _IMP_algebra.DenseFloatGrid3D_swiginit(self, _IMP_algebra.new_DenseFloatGrid3D(*args))
4981 
4982  def add_voxel(self, i, q):
4983  r"""add_voxel(DenseFloatGrid3D self, ExtendedGridIndex3D i, float const & q) -> GridIndex3D"""
4984  return _IMP_algebra.DenseFloatGrid3D_add_voxel(self, i, q)
4985 
4986  def __getitem__(self, *args):
4987  r"""
4988  __getitem__(DenseFloatGrid3D self, GridIndex3D i) -> float
4989  __getitem__(DenseFloatGrid3D self, Vector3D i) -> float
4990  """
4991  return _IMP_algebra.DenseFloatGrid3D___getitem__(self, *args)
4992 
4993  def __setitem__(self, *args):
4994  r"""
4995  __setitem__(DenseFloatGrid3D self, GridIndex3D i, float const & q)
4996  __setitem__(DenseFloatGrid3D self, Vector3D i, float const & q)
4997  """
4998  return _IMP_algebra.DenseFloatGrid3D___setitem__(self, *args)
4999 
5000  def get_bounding_box(self, *args):
5001  r"""
5002  get_bounding_box(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
5003  get_bounding_box(DenseFloatGrid3D self) -> BoundingBox3D
5004  """
5005  return _IMP_algebra.DenseFloatGrid3D_get_bounding_box(self, *args)
5006 
5007  def get_indexes(self, *args):
5008  r"""
5009  get_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5010  get_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5011  """
5012  return _IMP_algebra.DenseFloatGrid3D_get_indexes(self, *args)
5013 
5014  def get_all_indexes(self):
5015  r"""get_all_indexes(DenseFloatGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
5016  return _IMP_algebra.DenseFloatGrid3D_get_all_indexes(self)
5017 
5018  def get_extended_indexes(self, *args):
5019  r"""
5020  get_extended_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5021  get_extended_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5022  """
5023  return _IMP_algebra.DenseFloatGrid3D_get_extended_indexes(self, *args)
5024 
5025  def get_center(self, *args):
5026  r"""
5027  get_center(DenseFloatGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
5028  get_center(DenseFloatGrid3D self, GridIndex3D ei) -> Vector3D
5029  """
5030  return _IMP_algebra.DenseFloatGrid3D_get_center(self, *args)
5031 
5032  def get_extended_index(self, v):
5033  r"""get_extended_index(DenseFloatGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
5034  return _IMP_algebra.DenseFloatGrid3D_get_extended_index(self, v)
5035 
5036  def get_index(self, v):
5037  r"""get_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
5038  return _IMP_algebra.DenseFloatGrid3D_get_index(self, v)
5039 
5040  def get_origin(self):
5041  r"""get_origin(DenseFloatGrid3D self) -> Vector3D"""
5042  return _IMP_algebra.DenseFloatGrid3D_get_origin(self)
5043 
5044  def get_dimension(self):
5045  r"""get_dimension(DenseFloatGrid3D self) -> unsigned int"""
5046  return _IMP_algebra.DenseFloatGrid3D_get_dimension(self)
5047 
5048  def get_unit_cell(self):
5049  r"""get_unit_cell(DenseFloatGrid3D self) -> Vector3D"""
5050  return _IMP_algebra.DenseFloatGrid3D_get_unit_cell(self)
5051 
5052  def get_has_index(self, v):
5053  r"""get_has_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> bool"""
5054  return _IMP_algebra.DenseFloatGrid3D_get_has_index(self, v)
5055 
5056  def __str__(self):
5057  r"""__str__(DenseFloatGrid3D self) -> std::string"""
5058  return _IMP_algebra.DenseFloatGrid3D___str__(self)
5059 
5060  def __repr__(self):
5061  r"""__repr__(DenseFloatGrid3D self) -> std::string"""
5062  return _IMP_algebra.DenseFloatGrid3D___repr__(self)
5063 
5064  def show(self, *args):
5065  r"""show(DenseFloatGrid3D self, _ostream out=std::cout)"""
5066  return _IMP_algebra.DenseFloatGrid3D_show(self, *args)
5067  __swig_destroy__ = _IMP_algebra.delete_DenseFloatGrid3D
5068 
5069 # Register DenseFloatGrid3D in _IMP_algebra:
5070 _IMP_algebra.DenseFloatGrid3D_swigregister(DenseFloatGrid3D)
5071 class SparseUnboundedIntGrid3D(object):
5072  r"""Proxy of C++ IMP::algebra::SparseUnboundedGrid3D< int > class."""
5073 
5074  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5075 
5076  def __init__(self, *args):
5077  r"""
5078  __init__(SparseUnboundedIntGrid3D self, double side, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
5079  __init__(SparseUnboundedIntGrid3D self, Vector3D sides, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
5080  __init__(SparseUnboundedIntGrid3D self) -> SparseUnboundedIntGrid3D
5081  """
5082  _IMP_algebra.SparseUnboundedIntGrid3D_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGrid3D(*args))
5083 
5084  def add_voxel(self, i, q):
5085  r"""add_voxel(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
5086  return _IMP_algebra.SparseUnboundedIntGrid3D_add_voxel(self, i, q)
5087 
5088  def __getitem__(self, *args):
5089  r"""
5090  __getitem__(SparseUnboundedIntGrid3D self, GridIndex3D i) -> int
5091  __getitem__(SparseUnboundedIntGrid3D self, Vector3D i) -> int
5092  """
5093  return _IMP_algebra.SparseUnboundedIntGrid3D___getitem__(self, *args)
5094 
5095  def __setitem__(self, *args):
5096  r"""
5097  __setitem__(SparseUnboundedIntGrid3D self, GridIndex3D i, int const & q)
5098  __setitem__(SparseUnboundedIntGrid3D self, Vector3D i, int const & q)
5099  """
5100  return _IMP_algebra.SparseUnboundedIntGrid3D___setitem__(self, *args)
5101 
5102  def get_bounding_box(self, *args):
5103  r"""
5104  get_bounding_box(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
5105  get_bounding_box(SparseUnboundedIntGrid3D self) -> BoundingBox3D
5106  """
5107  return _IMP_algebra.SparseUnboundedIntGrid3D_get_bounding_box(self, *args)
5108 
5109  def get_indexes(self, *args):
5110  r"""
5111  get_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5112  get_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5113  """
5114  return _IMP_algebra.SparseUnboundedIntGrid3D_get_indexes(self, *args)
5115 
5116  def get_all_indexes(self):
5117  r"""get_all_indexes(SparseUnboundedIntGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
5118  return _IMP_algebra.SparseUnboundedIntGrid3D_get_all_indexes(self)
5119 
5120  def get_extended_indexes(self, *args):
5121  r"""
5122  get_extended_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5123  get_extended_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5124  """
5125  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_indexes(self, *args)
5126 
5127  def get_center(self, *args):
5128  r"""
5129  get_center(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
5130  get_center(SparseUnboundedIntGrid3D self, GridIndex3D ei) -> Vector3D
5131  """
5132  return _IMP_algebra.SparseUnboundedIntGrid3D_get_center(self, *args)
5133 
5134  def get_extended_index(self, v):
5135  r"""get_extended_index(SparseUnboundedIntGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
5136  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_index(self, v)
5137 
5138  def get_index(self, v):
5139  r"""get_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
5140  return _IMP_algebra.SparseUnboundedIntGrid3D_get_index(self, v)
5141 
5142  def get_origin(self):
5143  r"""get_origin(SparseUnboundedIntGrid3D self) -> Vector3D"""
5144  return _IMP_algebra.SparseUnboundedIntGrid3D_get_origin(self)
5145 
5146  def get_dimension(self):
5147  r"""get_dimension(SparseUnboundedIntGrid3D self) -> unsigned int"""
5148  return _IMP_algebra.SparseUnboundedIntGrid3D_get_dimension(self)
5149 
5150  def get_unit_cell(self):
5151  r"""get_unit_cell(SparseUnboundedIntGrid3D self) -> Vector3D"""
5152  return _IMP_algebra.SparseUnboundedIntGrid3D_get_unit_cell(self)
5153 
5154  def get_has_index(self, v):
5155  r"""get_has_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> bool"""
5156  return _IMP_algebra.SparseUnboundedIntGrid3D_get_has_index(self, v)
5157 
5158  def __str__(self):
5159  r"""__str__(SparseUnboundedIntGrid3D self) -> std::string"""
5160  return _IMP_algebra.SparseUnboundedIntGrid3D___str__(self)
5161 
5162  def __repr__(self):
5163  r"""__repr__(SparseUnboundedIntGrid3D self) -> std::string"""
5164  return _IMP_algebra.SparseUnboundedIntGrid3D___repr__(self)
5165 
5166  def show(self, *args):
5167  r"""show(SparseUnboundedIntGrid3D self, _ostream out=std::cout)"""
5168  return _IMP_algebra.SparseUnboundedIntGrid3D_show(self, *args)
5169  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGrid3D
5170 
5171 # Register SparseUnboundedIntGrid3D in _IMP_algebra:
5172 _IMP_algebra.SparseUnboundedIntGrid3D_swigregister(SparseUnboundedIntGrid3D)
5173 class SparseUnboundedIntGridKD(object):
5174  r"""Proxy of C++ IMP::algebra::SparseUnboundedGridD< -1,int > class."""
5175 
5176  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5177 
5178  def __init__(self, *args):
5179  r"""
5180  __init__(SparseUnboundedIntGridKD self, double side, VectorKD origin, int _def=int()) -> SparseUnboundedIntGridKD
5181  __init__(SparseUnboundedIntGridKD self) -> SparseUnboundedIntGridKD
5182  """
5183  _IMP_algebra.SparseUnboundedIntGridKD_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGridKD(*args))
5184 
5185  def add_voxel(self, i, q):
5186  r"""add_voxel(SparseUnboundedIntGridKD self, ExtendedGridIndexKD i, int const & q) -> GridIndexKD"""
5187  return _IMP_algebra.SparseUnboundedIntGridKD_add_voxel(self, i, q)
5188 
5189  def __getitem__(self, *args):
5190  r"""
5191  __getitem__(SparseUnboundedIntGridKD self, GridIndexKD i) -> int
5192  __getitem__(SparseUnboundedIntGridKD self, VectorKD i) -> int
5193  """
5194  return _IMP_algebra.SparseUnboundedIntGridKD___getitem__(self, *args)
5195 
5196  def __setitem__(self, *args):
5197  r"""
5198  __setitem__(SparseUnboundedIntGridKD self, GridIndexKD i, int const & q)
5199  __setitem__(SparseUnboundedIntGridKD self, VectorKD i, int const & q)
5200  """
5201  return _IMP_algebra.SparseUnboundedIntGridKD___setitem__(self, *args)
5202 
5203  def get_bounding_box(self, *args):
5204  r"""
5205  get_bounding_box(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
5206  get_bounding_box(SparseUnboundedIntGridKD self) -> BoundingBoxKD
5207  """
5208  return _IMP_algebra.SparseUnboundedIntGridKD_get_bounding_box(self, *args)
5209 
5210  def get_indexes(self, *args):
5211  r"""
5212  get_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
5213  get_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
5214  """
5215  return _IMP_algebra.SparseUnboundedIntGridKD_get_indexes(self, *args)
5216 
5217  def get_all_indexes(self):
5218  r"""get_all_indexes(SparseUnboundedIntGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
5219  return _IMP_algebra.SparseUnboundedIntGridKD_get_all_indexes(self)
5220 
5221  def get_extended_indexes(self, *args):
5222  r"""
5223  get_extended_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
5224  get_extended_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
5225  """
5226  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_indexes(self, *args)
5227 
5228  def get_center(self, *args):
5229  r"""
5230  get_center(SparseUnboundedIntGridKD self, ExtendedGridIndexKD ei) -> VectorKD
5231  get_center(SparseUnboundedIntGridKD self, GridIndexKD ei) -> VectorKD
5232  """
5233  return _IMP_algebra.SparseUnboundedIntGridKD_get_center(self, *args)
5234 
5235  def get_extended_index(self, v):
5236  r"""get_extended_index(SparseUnboundedIntGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
5237  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_index(self, v)
5238 
5239  def get_index(self, v):
5240  r"""get_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
5241  return _IMP_algebra.SparseUnboundedIntGridKD_get_index(self, v)
5242 
5243  def get_origin(self):
5244  r"""get_origin(SparseUnboundedIntGridKD self) -> VectorKD"""
5245  return _IMP_algebra.SparseUnboundedIntGridKD_get_origin(self)
5246 
5247  def get_dimension(self):
5248  r"""get_dimension(SparseUnboundedIntGridKD self) -> unsigned int"""
5249  return _IMP_algebra.SparseUnboundedIntGridKD_get_dimension(self)
5250 
5251  def get_unit_cell(self):
5252  r"""get_unit_cell(SparseUnboundedIntGridKD self) -> VectorKD"""
5253  return _IMP_algebra.SparseUnboundedIntGridKD_get_unit_cell(self)
5254 
5255  def get_has_index(self, v):
5256  r"""get_has_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> bool"""
5257  return _IMP_algebra.SparseUnboundedIntGridKD_get_has_index(self, v)
5258 
5259  def __str__(self):
5260  r"""__str__(SparseUnboundedIntGridKD self) -> std::string"""
5261  return _IMP_algebra.SparseUnboundedIntGridKD___str__(self)
5262 
5263  def __repr__(self):
5264  r"""__repr__(SparseUnboundedIntGridKD self) -> std::string"""
5265  return _IMP_algebra.SparseUnboundedIntGridKD___repr__(self)
5266 
5267  def show(self, *args):
5268  r"""show(SparseUnboundedIntGridKD self, _ostream out=std::cout)"""
5269  return _IMP_algebra.SparseUnboundedIntGridKD_show(self, *args)
5270  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGridKD
5271 
5272 # Register SparseUnboundedIntGridKD in _IMP_algebra:
5273 _IMP_algebra.SparseUnboundedIntGridKD_swigregister(SparseUnboundedIntGridKD)
5274 class GridIndex1D(IMP._Value):
5275  r"""Proxy of C++ IMP::algebra::GridIndexD< 1 > class."""
5276 
5277  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5278 
5279  def __init__(self, *args):
5280  r"""
5281  __init__(GridIndex1D self) -> GridIndex1D
5282  __init__(GridIndex1D self, int x) -> GridIndex1D
5283  __init__(GridIndex1D self, int x, int y) -> GridIndex1D
5284  __init__(GridIndex1D self, int x, int y, int z) -> GridIndex1D
5285  __init__(GridIndex1D self, int i, int j, int k, int l) -> GridIndex1D
5286  __init__(GridIndex1D self, int i, int j, int k, int l, int m) -> GridIndex1D
5287  __init__(GridIndex1D self, int i, int j, int k, int l, int m, int n) -> GridIndex1D
5288  """
5289  _IMP_algebra.GridIndex1D_swiginit(self, _IMP_algebra.new_GridIndex1D(*args))
5290 
5291  def get_dimension(self):
5292  r"""get_dimension(GridIndex1D self) -> unsigned int"""
5293  return _IMP_algebra.GridIndex1D_get_dimension(self)
5294 
5295  def __getitem__(self, i):
5296  r"""__getitem__(GridIndex1D self, unsigned int i) -> int const &"""
5297  return _IMP_algebra.GridIndex1D___getitem__(self, i)
5298 
5299  def show(self, *args):
5300  r"""show(GridIndex1D self, _ostream out=std::cout)"""
5301  return _IMP_algebra.GridIndex1D_show(self, *args)
5302 
5303  def __len__(self):
5304  r"""__len__(GridIndex1D self) -> unsigned int"""
5305  return _IMP_algebra.GridIndex1D___len__(self)
5306 
5307  def __cmp__(self, o):
5308  r"""__cmp__(GridIndex1D self, GridIndex1D o) -> int"""
5309  return _IMP_algebra.GridIndex1D___cmp__(self, o)
5310 
5311  def __eq__(self, o):
5312  r"""__eq__(GridIndex1D self, GridIndex1D o) -> bool"""
5313  return _IMP_algebra.GridIndex1D___eq__(self, o)
5314 
5315  def __ne__(self, o):
5316  r"""__ne__(GridIndex1D self, GridIndex1D o) -> bool"""
5317  return _IMP_algebra.GridIndex1D___ne__(self, o)
5318 
5319  def __lt__(self, o):
5320  r"""__lt__(GridIndex1D self, GridIndex1D o) -> bool"""
5321  return _IMP_algebra.GridIndex1D___lt__(self, o)
5322 
5323  def __gt__(self, o):
5324  r"""__gt__(GridIndex1D self, GridIndex1D o) -> bool"""
5325  return _IMP_algebra.GridIndex1D___gt__(self, o)
5326 
5327  def __ge__(self, o):
5328  r"""__ge__(GridIndex1D self, GridIndex1D o) -> bool"""
5329  return _IMP_algebra.GridIndex1D___ge__(self, o)
5330 
5331  def __le__(self, o):
5332  r"""__le__(GridIndex1D self, GridIndex1D o) -> bool"""
5333  return _IMP_algebra.GridIndex1D___le__(self, o)
5334 
5335  def __hash__(self):
5336  r"""__hash__(GridIndex1D self) -> std::size_t"""
5337  return _IMP_algebra.GridIndex1D___hash__(self)
5338 
5339  def __str__(self):
5340  r"""__str__(GridIndex1D self) -> std::string"""
5341  return _IMP_algebra.GridIndex1D___str__(self)
5342 
5343  def __repr__(self):
5344  r"""__repr__(GridIndex1D self) -> std::string"""
5345  return _IMP_algebra.GridIndex1D___repr__(self)
5346 
5347  def _get_as_binary(self):
5348  r"""_get_as_binary(GridIndex1D self) -> PyObject *"""
5349  return _IMP_algebra.GridIndex1D__get_as_binary(self)
5350 
5351  def _set_from_binary(self, p):
5352  r"""_set_from_binary(GridIndex1D self, PyObject * p)"""
5353  return _IMP_algebra.GridIndex1D__set_from_binary(self, p)
5354 
5355  def __getstate__(self):
5356  p = self._get_as_binary()
5357  if len(self.__dict__) > 1:
5358  d = self.__dict__.copy()
5359  del d['this']
5360  p = (d, p)
5361  return p
5362 
5363  def __setstate__(self, p):
5364  if not hasattr(self, 'this'):
5365  self.__init__()
5366  if isinstance(p, tuple):
5367  d, p = p
5368  self.__dict__.update(d)
5369  return self._set_from_binary(p)
5370 
5371  __swig_destroy__ = _IMP_algebra.delete_GridIndex1D
5372 
5373 # Register GridIndex1D in _IMP_algebra:
5374 _IMP_algebra.GridIndex1D_swigregister(GridIndex1D)
5375 class GridIndex2D(IMP._Value):
5376  r"""Proxy of C++ IMP::algebra::GridIndexD< 2 > class."""
5377 
5378  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5379 
5380  def __init__(self, *args):
5381  r"""
5382  __init__(GridIndex2D self) -> GridIndex2D
5383  __init__(GridIndex2D self, int x) -> GridIndex2D
5384  __init__(GridIndex2D self, int x, int y) -> GridIndex2D
5385  __init__(GridIndex2D self, int x, int y, int z) -> GridIndex2D
5386  __init__(GridIndex2D self, int i, int j, int k, int l) -> GridIndex2D
5387  __init__(GridIndex2D self, int i, int j, int k, int l, int m) -> GridIndex2D
5388  __init__(GridIndex2D self, int i, int j, int k, int l, int m, int n) -> GridIndex2D
5389  """
5390  _IMP_algebra.GridIndex2D_swiginit(self, _IMP_algebra.new_GridIndex2D(*args))
5391 
5392  def get_dimension(self):
5393  r"""get_dimension(GridIndex2D self) -> unsigned int"""
5394  return _IMP_algebra.GridIndex2D_get_dimension(self)
5395 
5396  def __getitem__(self, i):
5397  r"""__getitem__(GridIndex2D self, unsigned int i) -> int const &"""
5398  return _IMP_algebra.GridIndex2D___getitem__(self, i)
5399 
5400  def show(self, *args):
5401  r"""show(GridIndex2D self, _ostream out=std::cout)"""
5402  return _IMP_algebra.GridIndex2D_show(self, *args)
5403 
5404  def __len__(self):
5405  r"""__len__(GridIndex2D self) -> unsigned int"""
5406  return _IMP_algebra.GridIndex2D___len__(self)
5407 
5408  def __cmp__(self, o):
5409  r"""__cmp__(GridIndex2D self, GridIndex2D o) -> int"""
5410  return _IMP_algebra.GridIndex2D___cmp__(self, o)
5411 
5412  def __eq__(self, o):
5413  r"""__eq__(GridIndex2D self, GridIndex2D o) -> bool"""
5414  return _IMP_algebra.GridIndex2D___eq__(self, o)
5415 
5416  def __ne__(self, o):
5417  r"""__ne__(GridIndex2D self, GridIndex2D o) -> bool"""
5418  return _IMP_algebra.GridIndex2D___ne__(self, o)
5419 
5420  def __lt__(self, o):
5421  r"""__lt__(GridIndex2D self, GridIndex2D o) -> bool"""
5422  return _IMP_algebra.GridIndex2D___lt__(self, o)
5423 
5424  def __gt__(self, o):
5425  r"""__gt__(GridIndex2D self, GridIndex2D o) -> bool"""
5426  return _IMP_algebra.GridIndex2D___gt__(self, o)
5427 
5428  def __ge__(self, o):
5429  r"""__ge__(GridIndex2D self, GridIndex2D o) -> bool"""
5430  return _IMP_algebra.GridIndex2D___ge__(self, o)
5431 
5432  def __le__(self, o):
5433  r"""__le__(GridIndex2D self, GridIndex2D o) -> bool"""
5434  return _IMP_algebra.GridIndex2D___le__(self, o)
5435 
5436  def __hash__(self):
5437  r"""__hash__(GridIndex2D self) -> std::size_t"""
5438  return _IMP_algebra.GridIndex2D___hash__(self)
5439 
5440  def __str__(self):
5441  r"""__str__(GridIndex2D self) -> std::string"""
5442  return _IMP_algebra.GridIndex2D___str__(self)
5443 
5444  def __repr__(self):
5445  r"""__repr__(GridIndex2D self) -> std::string"""
5446  return _IMP_algebra.GridIndex2D___repr__(self)
5447 
5448  def _get_as_binary(self):
5449  r"""_get_as_binary(GridIndex2D self) -> PyObject *"""
5450  return _IMP_algebra.GridIndex2D__get_as_binary(self)
5451 
5452  def _set_from_binary(self, p):
5453  r"""_set_from_binary(GridIndex2D self, PyObject * p)"""
5454  return _IMP_algebra.GridIndex2D__set_from_binary(self, p)
5455 
5456  def __getstate__(self):
5457  p = self._get_as_binary()
5458  if len(self.__dict__) > 1:
5459  d = self.__dict__.copy()
5460  del d['this']
5461  p = (d, p)
5462  return p
5463 
5464  def __setstate__(self, p):
5465  if not hasattr(self, 'this'):
5466  self.__init__()
5467  if isinstance(p, tuple):
5468  d, p = p
5469  self.__dict__.update(d)
5470  return self._set_from_binary(p)
5471 
5472  __swig_destroy__ = _IMP_algebra.delete_GridIndex2D
5473 
5474 # Register GridIndex2D in _IMP_algebra:
5475 _IMP_algebra.GridIndex2D_swigregister(GridIndex2D)
5476 class GridIndex3D(IMP._Value):
5477  r"""Proxy of C++ IMP::algebra::GridIndexD< 3 > class."""
5478 
5479  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5480 
5481  def __init__(self, *args):
5482  r"""
5483  __init__(GridIndex3D self) -> GridIndex3D
5484  __init__(GridIndex3D self, int x) -> GridIndex3D
5485  __init__(GridIndex3D self, int x, int y) -> GridIndex3D
5486  __init__(GridIndex3D self, int x, int y, int z) -> GridIndex3D
5487  __init__(GridIndex3D self, int i, int j, int k, int l) -> GridIndex3D
5488  __init__(GridIndex3D self, int i, int j, int k, int l, int m) -> GridIndex3D
5489  __init__(GridIndex3D self, int i, int j, int k, int l, int m, int n) -> GridIndex3D
5490  """
5491  _IMP_algebra.GridIndex3D_swiginit(self, _IMP_algebra.new_GridIndex3D(*args))
5492 
5493  def get_dimension(self):
5494  r"""get_dimension(GridIndex3D self) -> unsigned int"""
5495  return _IMP_algebra.GridIndex3D_get_dimension(self)
5496 
5497  def __getitem__(self, i):
5498  r"""__getitem__(GridIndex3D self, unsigned int i) -> int const &"""
5499  return _IMP_algebra.GridIndex3D___getitem__(self, i)
5500 
5501  def show(self, *args):
5502  r"""show(GridIndex3D self, _ostream out=std::cout)"""
5503  return _IMP_algebra.GridIndex3D_show(self, *args)
5504 
5505  def __len__(self):
5506  r"""__len__(GridIndex3D self) -> unsigned int"""
5507  return _IMP_algebra.GridIndex3D___len__(self)
5508 
5509  def __cmp__(self, o):
5510  r"""__cmp__(GridIndex3D self, GridIndex3D o) -> int"""
5511  return _IMP_algebra.GridIndex3D___cmp__(self, o)
5512 
5513  def __eq__(self, o):
5514  r"""__eq__(GridIndex3D self, GridIndex3D o) -> bool"""
5515  return _IMP_algebra.GridIndex3D___eq__(self, o)
5516 
5517  def __ne__(self, o):
5518  r"""__ne__(GridIndex3D self, GridIndex3D o) -> bool"""
5519  return _IMP_algebra.GridIndex3D___ne__(self, o)
5520 
5521  def __lt__(self, o):
5522  r"""__lt__(GridIndex3D self, GridIndex3D o) -> bool"""
5523  return _IMP_algebra.GridIndex3D___lt__(self, o)
5524 
5525  def __gt__(self, o):
5526  r"""__gt__(GridIndex3D self, GridIndex3D o) -> bool"""
5527  return _IMP_algebra.GridIndex3D___gt__(self, o)
5528 
5529  def __ge__(self, o):
5530  r"""__ge__(GridIndex3D self, GridIndex3D o) -> bool"""
5531  return _IMP_algebra.GridIndex3D___ge__(self, o)
5532 
5533  def __le__(self, o):
5534  r"""__le__(GridIndex3D self, GridIndex3D o) -> bool"""
5535  return _IMP_algebra.GridIndex3D___le__(self, o)
5536 
5537  def __hash__(self):
5538  r"""__hash__(GridIndex3D self) -> std::size_t"""
5539  return _IMP_algebra.GridIndex3D___hash__(self)
5540 
5541  def __str__(self):
5542  r"""__str__(GridIndex3D self) -> std::string"""
5543  return _IMP_algebra.GridIndex3D___str__(self)
5544 
5545  def __repr__(self):
5546  r"""__repr__(GridIndex3D self) -> std::string"""
5547  return _IMP_algebra.GridIndex3D___repr__(self)
5548 
5549  def _get_as_binary(self):
5550  r"""_get_as_binary(GridIndex3D self) -> PyObject *"""
5551  return _IMP_algebra.GridIndex3D__get_as_binary(self)
5552 
5553  def _set_from_binary(self, p):
5554  r"""_set_from_binary(GridIndex3D self, PyObject * p)"""
5555  return _IMP_algebra.GridIndex3D__set_from_binary(self, p)
5556 
5557  def __getstate__(self):
5558  p = self._get_as_binary()
5559  if len(self.__dict__) > 1:
5560  d = self.__dict__.copy()
5561  del d['this']
5562  p = (d, p)
5563  return p
5564 
5565  def __setstate__(self, p):
5566  if not hasattr(self, 'this'):
5567  self.__init__()
5568  if isinstance(p, tuple):
5569  d, p = p
5570  self.__dict__.update(d)
5571  return self._set_from_binary(p)
5572 
5573  __swig_destroy__ = _IMP_algebra.delete_GridIndex3D
5574 
5575 # Register GridIndex3D in _IMP_algebra:
5576 _IMP_algebra.GridIndex3D_swigregister(GridIndex3D)
5577 class GridIndex4D(IMP._Value):
5578  r"""Proxy of C++ IMP::algebra::GridIndexD< 4 > class."""
5579 
5580  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5581 
5582  def __init__(self, *args):
5583  r"""
5584  __init__(GridIndex4D self) -> GridIndex4D
5585  __init__(GridIndex4D self, int x) -> GridIndex4D
5586  __init__(GridIndex4D self, int x, int y) -> GridIndex4D
5587  __init__(GridIndex4D self, int x, int y, int z) -> GridIndex4D
5588  __init__(GridIndex4D self, int i, int j, int k, int l) -> GridIndex4D
5589  __init__(GridIndex4D self, int i, int j, int k, int l, int m) -> GridIndex4D
5590  __init__(GridIndex4D self, int i, int j, int k, int l, int m, int n) -> GridIndex4D
5591  """
5592  _IMP_algebra.GridIndex4D_swiginit(self, _IMP_algebra.new_GridIndex4D(*args))
5593 
5594  def get_dimension(self):
5595  r"""get_dimension(GridIndex4D self) -> unsigned int"""
5596  return _IMP_algebra.GridIndex4D_get_dimension(self)
5597 
5598  def __getitem__(self, i):
5599  r"""__getitem__(GridIndex4D self, unsigned int i) -> int const &"""
5600  return _IMP_algebra.GridIndex4D___getitem__(self, i)
5601 
5602  def show(self, *args):
5603  r"""show(GridIndex4D self, _ostream out=std::cout)"""
5604  return _IMP_algebra.GridIndex4D_show(self, *args)
5605 
5606  def __len__(self):
5607  r"""__len__(GridIndex4D self) -> unsigned int"""
5608  return _IMP_algebra.GridIndex4D___len__(self)
5609 
5610  def __cmp__(self, o):
5611  r"""__cmp__(GridIndex4D self, GridIndex4D o) -> int"""
5612  return _IMP_algebra.GridIndex4D___cmp__(self, o)
5613 
5614  def __eq__(self, o):
5615  r"""__eq__(GridIndex4D self, GridIndex4D o) -> bool"""
5616  return _IMP_algebra.GridIndex4D___eq__(self, o)
5617 
5618  def __ne__(self, o):
5619  r"""__ne__(GridIndex4D self, GridIndex4D o) -> bool"""
5620  return _IMP_algebra.GridIndex4D___ne__(self, o)
5621 
5622  def __lt__(self, o):
5623  r"""__lt__(GridIndex4D self, GridIndex4D o) -> bool"""
5624  return _IMP_algebra.GridIndex4D___lt__(self, o)
5625 
5626  def __gt__(self, o):
5627  r"""__gt__(GridIndex4D self, GridIndex4D o) -> bool"""
5628  return _IMP_algebra.GridIndex4D___gt__(self, o)
5629 
5630  def __ge__(self, o):
5631  r"""__ge__(GridIndex4D self, GridIndex4D o) -> bool"""
5632  return _IMP_algebra.GridIndex4D___ge__(self, o)
5633 
5634  def __le__(self, o):
5635  r"""__le__(GridIndex4D self, GridIndex4D o) -> bool"""
5636  return _IMP_algebra.GridIndex4D___le__(self, o)
5637 
5638  def __hash__(self):
5639  r"""__hash__(GridIndex4D self) -> std::size_t"""
5640  return _IMP_algebra.GridIndex4D___hash__(self)
5641 
5642  def __str__(self):
5643  r"""__str__(GridIndex4D self) -> std::string"""
5644  return _IMP_algebra.GridIndex4D___str__(self)
5645 
5646  def __repr__(self):
5647  r"""__repr__(GridIndex4D self) -> std::string"""
5648  return _IMP_algebra.GridIndex4D___repr__(self)
5649 
5650  def _get_as_binary(self):
5651  r"""_get_as_binary(GridIndex4D self) -> PyObject *"""
5652  return _IMP_algebra.GridIndex4D__get_as_binary(self)
5653 
5654  def _set_from_binary(self, p):
5655  r"""_set_from_binary(GridIndex4D self, PyObject * p)"""
5656  return _IMP_algebra.GridIndex4D__set_from_binary(self, p)
5657 
5658  def __getstate__(self):
5659  p = self._get_as_binary()
5660  if len(self.__dict__) > 1:
5661  d = self.__dict__.copy()
5662  del d['this']
5663  p = (d, p)
5664  return p
5665 
5666  def __setstate__(self, p):
5667  if not hasattr(self, 'this'):
5668  self.__init__()
5669  if isinstance(p, tuple):
5670  d, p = p
5671  self.__dict__.update(d)
5672  return self._set_from_binary(p)
5673 
5674  __swig_destroy__ = _IMP_algebra.delete_GridIndex4D
5675 
5676 # Register GridIndex4D in _IMP_algebra:
5677 _IMP_algebra.GridIndex4D_swigregister(GridIndex4D)
5678 class GridIndex5D(IMP._Value):
5679  r"""Proxy of C++ IMP::algebra::GridIndexD< 5 > class."""
5680 
5681  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5682 
5683  def __init__(self, *args):
5684  r"""
5685  __init__(GridIndex5D self) -> GridIndex5D
5686  __init__(GridIndex5D self, int x) -> GridIndex5D
5687  __init__(GridIndex5D self, int x, int y) -> GridIndex5D
5688  __init__(GridIndex5D self, int x, int y, int z) -> GridIndex5D
5689  __init__(GridIndex5D self, int i, int j, int k, int l) -> GridIndex5D
5690  __init__(GridIndex5D self, int i, int j, int k, int l, int m) -> GridIndex5D
5691  __init__(GridIndex5D self, int i, int j, int k, int l, int m, int n) -> GridIndex5D
5692  """
5693  _IMP_algebra.GridIndex5D_swiginit(self, _IMP_algebra.new_GridIndex5D(*args))
5694 
5695  def get_dimension(self):
5696  r"""get_dimension(GridIndex5D self) -> unsigned int"""
5697  return _IMP_algebra.GridIndex5D_get_dimension(self)
5698 
5699  def __getitem__(self, i):
5700  r"""__getitem__(GridIndex5D self, unsigned int i) -> int const &"""
5701  return _IMP_algebra.GridIndex5D___getitem__(self, i)
5702 
5703  def show(self, *args):
5704  r"""show(GridIndex5D self, _ostream out=std::cout)"""
5705  return _IMP_algebra.GridIndex5D_show(self, *args)
5706 
5707  def __len__(self):
5708  r"""__len__(GridIndex5D self) -> unsigned int"""
5709  return _IMP_algebra.GridIndex5D___len__(self)
5710 
5711  def __cmp__(self, o):
5712  r"""__cmp__(GridIndex5D self, GridIndex5D o) -> int"""
5713  return _IMP_algebra.GridIndex5D___cmp__(self, o)
5714 
5715  def __eq__(self, o):
5716  r"""__eq__(GridIndex5D self, GridIndex5D o) -> bool"""
5717  return _IMP_algebra.GridIndex5D___eq__(self, o)
5718 
5719  def __ne__(self, o):
5720  r"""__ne__(GridIndex5D self, GridIndex5D o) -> bool"""
5721  return _IMP_algebra.GridIndex5D___ne__(self, o)
5722 
5723  def __lt__(self, o):
5724  r"""__lt__(GridIndex5D self, GridIndex5D o) -> bool"""
5725  return _IMP_algebra.GridIndex5D___lt__(self, o)
5726 
5727  def __gt__(self, o):
5728  r"""__gt__(GridIndex5D self, GridIndex5D o) -> bool"""
5729  return _IMP_algebra.GridIndex5D___gt__(self, o)
5730 
5731  def __ge__(self, o):
5732  r"""__ge__(GridIndex5D self, GridIndex5D o) -> bool"""
5733  return _IMP_algebra.GridIndex5D___ge__(self, o)
5734 
5735  def __le__(self, o):
5736  r"""__le__(GridIndex5D self, GridIndex5D o) -> bool"""
5737  return _IMP_algebra.GridIndex5D___le__(self, o)
5738 
5739  def __hash__(self):
5740  r"""__hash__(GridIndex5D self) -> std::size_t"""
5741  return _IMP_algebra.GridIndex5D___hash__(self)
5742 
5743  def __str__(self):
5744  r"""__str__(GridIndex5D self) -> std::string"""
5745  return _IMP_algebra.GridIndex5D___str__(self)
5746 
5747  def __repr__(self):
5748  r"""__repr__(GridIndex5D self) -> std::string"""
5749  return _IMP_algebra.GridIndex5D___repr__(self)
5750 
5751  def _get_as_binary(self):
5752  r"""_get_as_binary(GridIndex5D self) -> PyObject *"""
5753  return _IMP_algebra.GridIndex5D__get_as_binary(self)
5754 
5755  def _set_from_binary(self, p):
5756  r"""_set_from_binary(GridIndex5D self, PyObject * p)"""
5757  return _IMP_algebra.GridIndex5D__set_from_binary(self, p)
5758 
5759  def __getstate__(self):
5760  p = self._get_as_binary()
5761  if len(self.__dict__) > 1:
5762  d = self.__dict__.copy()
5763  del d['this']
5764  p = (d, p)
5765  return p
5766 
5767  def __setstate__(self, p):
5768  if not hasattr(self, 'this'):
5769  self.__init__()
5770  if isinstance(p, tuple):
5771  d, p = p
5772  self.__dict__.update(d)
5773  return self._set_from_binary(p)
5774 
5775  __swig_destroy__ = _IMP_algebra.delete_GridIndex5D
5776 
5777 # Register GridIndex5D in _IMP_algebra:
5778 _IMP_algebra.GridIndex5D_swigregister(GridIndex5D)
5779 class GridIndex6D(IMP._Value):
5780  r"""Proxy of C++ IMP::algebra::GridIndexD< 6 > class."""
5781 
5782  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5783 
5784  def __init__(self, *args):
5785  r"""
5786  __init__(GridIndex6D self) -> GridIndex6D
5787  __init__(GridIndex6D self, int x) -> GridIndex6D
5788  __init__(GridIndex6D self, int x, int y) -> GridIndex6D
5789  __init__(GridIndex6D self, int x, int y, int z) -> GridIndex6D
5790  __init__(GridIndex6D self, int i, int j, int k, int l) -> GridIndex6D
5791  __init__(GridIndex6D self, int i, int j, int k, int l, int m) -> GridIndex6D
5792  __init__(GridIndex6D self, int i, int j, int k, int l, int m, int n) -> GridIndex6D
5793  """
5794  _IMP_algebra.GridIndex6D_swiginit(self, _IMP_algebra.new_GridIndex6D(*args))
5795 
5796  def get_dimension(self):
5797  r"""get_dimension(GridIndex6D self) -> unsigned int"""
5798  return _IMP_algebra.GridIndex6D_get_dimension(self)
5799 
5800  def __getitem__(self, i):
5801  r"""__getitem__(GridIndex6D self, unsigned int i) -> int const &"""
5802  return _IMP_algebra.GridIndex6D___getitem__(self, i)
5803 
5804  def show(self, *args):
5805  r"""show(GridIndex6D self, _ostream out=std::cout)"""
5806  return _IMP_algebra.GridIndex6D_show(self, *args)
5807 
5808  def __len__(self):
5809  r"""__len__(GridIndex6D self) -> unsigned int"""
5810  return _IMP_algebra.GridIndex6D___len__(self)
5811 
5812  def __cmp__(self, o):
5813  r"""__cmp__(GridIndex6D self, GridIndex6D o) -> int"""
5814  return _IMP_algebra.GridIndex6D___cmp__(self, o)
5815 
5816  def __eq__(self, o):
5817  r"""__eq__(GridIndex6D self, GridIndex6D o) -> bool"""
5818  return _IMP_algebra.GridIndex6D___eq__(self, o)
5819 
5820  def __ne__(self, o):
5821  r"""__ne__(GridIndex6D self, GridIndex6D o) -> bool"""
5822  return _IMP_algebra.GridIndex6D___ne__(self, o)
5823 
5824  def __lt__(self, o):
5825  r"""__lt__(GridIndex6D self, GridIndex6D o) -> bool"""
5826  return _IMP_algebra.GridIndex6D___lt__(self, o)
5827 
5828  def __gt__(self, o):
5829  r"""__gt__(GridIndex6D self, GridIndex6D o) -> bool"""
5830  return _IMP_algebra.GridIndex6D___gt__(self, o)
5831 
5832  def __ge__(self, o):
5833  r"""__ge__(GridIndex6D self, GridIndex6D o) -> bool"""
5834  return _IMP_algebra.GridIndex6D___ge__(self, o)
5835 
5836  def __le__(self, o):
5837  r"""__le__(GridIndex6D self, GridIndex6D o) -> bool"""
5838  return _IMP_algebra.GridIndex6D___le__(self, o)
5839 
5840  def __hash__(self):
5841  r"""__hash__(GridIndex6D self) -> std::size_t"""
5842  return _IMP_algebra.GridIndex6D___hash__(self)
5843 
5844  def __str__(self):
5845  r"""__str__(GridIndex6D self) -> std::string"""
5846  return _IMP_algebra.GridIndex6D___str__(self)
5847 
5848  def __repr__(self):
5849  r"""__repr__(GridIndex6D self) -> std::string"""
5850  return _IMP_algebra.GridIndex6D___repr__(self)
5851 
5852  def _get_as_binary(self):
5853  r"""_get_as_binary(GridIndex6D self) -> PyObject *"""
5854  return _IMP_algebra.GridIndex6D__get_as_binary(self)
5855 
5856  def _set_from_binary(self, p):
5857  r"""_set_from_binary(GridIndex6D self, PyObject * p)"""
5858  return _IMP_algebra.GridIndex6D__set_from_binary(self, p)
5859 
5860  def __getstate__(self):
5861  p = self._get_as_binary()
5862  if len(self.__dict__) > 1:
5863  d = self.__dict__.copy()
5864  del d['this']
5865  p = (d, p)
5866  return p
5867 
5868  def __setstate__(self, p):
5869  if not hasattr(self, 'this'):
5870  self.__init__()
5871  if isinstance(p, tuple):
5872  d, p = p
5873  self.__dict__.update(d)
5874  return self._set_from_binary(p)
5875 
5876  __swig_destroy__ = _IMP_algebra.delete_GridIndex6D
5877 
5878 # Register GridIndex6D in _IMP_algebra:
5879 _IMP_algebra.GridIndex6D_swigregister(GridIndex6D)
5880 class GridIndexKD(IMP._Value):
5881  r"""Proxy of C++ IMP::algebra::GridIndexD< -1 > class."""
5882 
5883  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5884 
5885  def __init__(self, *args):
5886  r"""
5887  __init__(GridIndexKD self) -> GridIndexKD
5888  __init__(GridIndexKD self, int x) -> GridIndexKD
5889  __init__(GridIndexKD self, int x, int y) -> GridIndexKD
5890  __init__(GridIndexKD self, int x, int y, int z) -> GridIndexKD
5891  __init__(GridIndexKD self, int i, int j, int k, int l) -> GridIndexKD
5892  __init__(GridIndexKD self, int i, int j, int k, int l, int m) -> GridIndexKD
5893  __init__(GridIndexKD self, int i, int j, int k, int l, int m, int n) -> GridIndexKD
5894  """
5895  _IMP_algebra.GridIndexKD_swiginit(self, _IMP_algebra.new_GridIndexKD(*args))
5896 
5897  def get_dimension(self):
5898  r"""get_dimension(GridIndexKD self) -> unsigned int"""
5899  return _IMP_algebra.GridIndexKD_get_dimension(self)
5900 
5901  def __getitem__(self, i):
5902  r"""__getitem__(GridIndexKD self, unsigned int i) -> int const &"""
5903  return _IMP_algebra.GridIndexKD___getitem__(self, i)
5904 
5905  def show(self, *args):
5906  r"""show(GridIndexKD self, _ostream out=std::cout)"""
5907  return _IMP_algebra.GridIndexKD_show(self, *args)
5908 
5909  def __len__(self):
5910  r"""__len__(GridIndexKD self) -> unsigned int"""
5911  return _IMP_algebra.GridIndexKD___len__(self)
5912 
5913  def __cmp__(self, o):
5914  r"""__cmp__(GridIndexKD self, GridIndexKD o) -> int"""
5915  return _IMP_algebra.GridIndexKD___cmp__(self, o)
5916 
5917  def __eq__(self, o):
5918  r"""__eq__(GridIndexKD self, GridIndexKD o) -> bool"""
5919  return _IMP_algebra.GridIndexKD___eq__(self, o)
5920 
5921  def __ne__(self, o):
5922  r"""__ne__(GridIndexKD self, GridIndexKD o) -> bool"""
5923  return _IMP_algebra.GridIndexKD___ne__(self, o)
5924 
5925  def __lt__(self, o):
5926  r"""__lt__(GridIndexKD self, GridIndexKD o) -> bool"""
5927  return _IMP_algebra.GridIndexKD___lt__(self, o)
5928 
5929  def __gt__(self, o):
5930  r"""__gt__(GridIndexKD self, GridIndexKD o) -> bool"""
5931  return _IMP_algebra.GridIndexKD___gt__(self, o)
5932 
5933  def __ge__(self, o):
5934  r"""__ge__(GridIndexKD self, GridIndexKD o) -> bool"""
5935  return _IMP_algebra.GridIndexKD___ge__(self, o)
5936 
5937  def __le__(self, o):
5938  r"""__le__(GridIndexKD self, GridIndexKD o) -> bool"""
5939  return _IMP_algebra.GridIndexKD___le__(self, o)
5940 
5941  def __hash__(self):
5942  r"""__hash__(GridIndexKD self) -> std::size_t"""
5943  return _IMP_algebra.GridIndexKD___hash__(self)
5944 
5945  def __str__(self):
5946  r"""__str__(GridIndexKD self) -> std::string"""
5947  return _IMP_algebra.GridIndexKD___str__(self)
5948 
5949  def __repr__(self):
5950  r"""__repr__(GridIndexKD self) -> std::string"""
5951  return _IMP_algebra.GridIndexKD___repr__(self)
5952 
5953  def _get_as_binary(self):
5954  r"""_get_as_binary(GridIndexKD self) -> PyObject *"""
5955  return _IMP_algebra.GridIndexKD__get_as_binary(self)
5956 
5957  def _set_from_binary(self, p):
5958  r"""_set_from_binary(GridIndexKD self, PyObject * p)"""
5959  return _IMP_algebra.GridIndexKD__set_from_binary(self, p)
5960 
5961  def __getstate__(self):
5962  p = self._get_as_binary()
5963  if len(self.__dict__) > 1:
5964  d = self.__dict__.copy()
5965  del d['this']
5966  p = (d, p)
5967  return p
5968 
5969  def __setstate__(self, p):
5970  if not hasattr(self, 'this'):
5971  self.__init__()
5972  if isinstance(p, tuple):
5973  d, p = p
5974  self.__dict__.update(d)
5975  return self._set_from_binary(p)
5976 
5977  __swig_destroy__ = _IMP_algebra.delete_GridIndexKD
5978 
5979 # Register GridIndexKD in _IMP_algebra:
5980 _IMP_algebra.GridIndexKD_swigregister(GridIndexKD)
5981 class ExtendedGridIndex1D(IMP._Value):
5982  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 1 > class."""
5983 
5984  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5985 
5986  def __init__(self, *args):
5987  r"""
5988  __init__(ExtendedGridIndex1D self, IMP::Ints vals) -> ExtendedGridIndex1D
5989  __init__(ExtendedGridIndex1D self, int x) -> ExtendedGridIndex1D
5990  __init__(ExtendedGridIndex1D self, int x, int y) -> ExtendedGridIndex1D
5991  __init__(ExtendedGridIndex1D self, int x, int y, int z) -> ExtendedGridIndex1D
5992  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l) -> ExtendedGridIndex1D
5993  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex1D
5994  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex1D
5995  __init__(ExtendedGridIndex1D self) -> ExtendedGridIndex1D
5996  """
5997  _IMP_algebra.ExtendedGridIndex1D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex1D(*args))
5998 
5999  def get_dimension(self):
6000  r"""get_dimension(ExtendedGridIndex1D self) -> unsigned int"""
6001  return _IMP_algebra.ExtendedGridIndex1D_get_dimension(self)
6002 
6003  def __cmp__(self, o):
6004  r"""__cmp__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> int"""
6005  return _IMP_algebra.ExtendedGridIndex1D___cmp__(self, o)
6006 
6007  def __eq__(self, o):
6008  r"""__eq__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6009  return _IMP_algebra.ExtendedGridIndex1D___eq__(self, o)
6010 
6011  def __ne__(self, o):
6012  r"""__ne__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6013  return _IMP_algebra.ExtendedGridIndex1D___ne__(self, o)
6014 
6015  def __lt__(self, o):
6016  r"""__lt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6017  return _IMP_algebra.ExtendedGridIndex1D___lt__(self, o)
6018 
6019  def __gt__(self, o):
6020  r"""__gt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6021  return _IMP_algebra.ExtendedGridIndex1D___gt__(self, o)
6022 
6023  def __ge__(self, o):
6024  r"""__ge__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6025  return _IMP_algebra.ExtendedGridIndex1D___ge__(self, o)
6026 
6027  def __le__(self, o):
6028  r"""__le__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6029  return _IMP_algebra.ExtendedGridIndex1D___le__(self, o)
6030 
6031  def __setitem__(self, i, v):
6032  r"""__setitem__(ExtendedGridIndex1D self, unsigned int i, int const & v)"""
6033  return _IMP_algebra.ExtendedGridIndex1D___setitem__(self, i, v)
6034 
6035  def __getitem__(self, i):
6036  r"""__getitem__(ExtendedGridIndex1D self, unsigned int i) -> int const &"""
6037  return _IMP_algebra.ExtendedGridIndex1D___getitem__(self, i)
6038 
6039  def show(self, *args):
6040  r"""show(ExtendedGridIndex1D self, _ostream out=std::cout)"""
6041  return _IMP_algebra.ExtendedGridIndex1D_show(self, *args)
6042 
6043  def __len__(self):
6044  r"""__len__(ExtendedGridIndex1D self) -> unsigned int"""
6045  return _IMP_algebra.ExtendedGridIndex1D___len__(self)
6046 
6047  def __hash__(self):
6048  r"""__hash__(ExtendedGridIndex1D self) -> std::size_t"""
6049  return _IMP_algebra.ExtendedGridIndex1D___hash__(self)
6050 
6051  def get_uniform_offset(self, ii):
6052  r"""get_uniform_offset(ExtendedGridIndex1D self, int ii) -> ExtendedGridIndex1D"""
6053  return _IMP_algebra.ExtendedGridIndex1D_get_uniform_offset(self, ii)
6054 
6055  def get_offset(self, i, j, k):
6056  r"""get_offset(ExtendedGridIndex1D self, int i, int j, int k) -> ExtendedGridIndex1D"""
6057  return _IMP_algebra.ExtendedGridIndex1D_get_offset(self, i, j, k)
6058 
6059  def __str__(self):
6060  r"""__str__(ExtendedGridIndex1D self) -> std::string"""
6061  return _IMP_algebra.ExtendedGridIndex1D___str__(self)
6062 
6063  def __repr__(self):
6064  r"""__repr__(ExtendedGridIndex1D self) -> std::string"""
6065  return _IMP_algebra.ExtendedGridIndex1D___repr__(self)
6066 
6067  def _get_as_binary(self):
6068  r"""_get_as_binary(ExtendedGridIndex1D self) -> PyObject *"""
6069  return _IMP_algebra.ExtendedGridIndex1D__get_as_binary(self)
6070 
6071  def _set_from_binary(self, p):
6072  r"""_set_from_binary(ExtendedGridIndex1D self, PyObject * p)"""
6073  return _IMP_algebra.ExtendedGridIndex1D__set_from_binary(self, p)
6074 
6075  def __getstate__(self):
6076  p = self._get_as_binary()
6077  if len(self.__dict__) > 1:
6078  d = self.__dict__.copy()
6079  del d['this']
6080  p = (d, p)
6081  return p
6082 
6083  def __setstate__(self, p):
6084  if not hasattr(self, 'this'):
6085  self.__init__()
6086  if isinstance(p, tuple):
6087  d, p = p
6088  self.__dict__.update(d)
6089  return self._set_from_binary(p)
6090 
6091  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex1D
6092 
6093 # Register ExtendedGridIndex1D in _IMP_algebra:
6094 _IMP_algebra.ExtendedGridIndex1D_swigregister(ExtendedGridIndex1D)
6095 class ExtendedGridIndex2D(IMP._Value):
6096  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 2 > class."""
6097 
6098  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6099 
6100  def __init__(self, *args):
6101  r"""
6102  __init__(ExtendedGridIndex2D self, IMP::Ints vals) -> ExtendedGridIndex2D
6103  __init__(ExtendedGridIndex2D self, int x) -> ExtendedGridIndex2D
6104  __init__(ExtendedGridIndex2D self, int x, int y) -> ExtendedGridIndex2D
6105  __init__(ExtendedGridIndex2D self, int x, int y, int z) -> ExtendedGridIndex2D
6106  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l) -> ExtendedGridIndex2D
6107  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex2D
6108  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex2D
6109  __init__(ExtendedGridIndex2D self) -> ExtendedGridIndex2D
6110  """
6111  _IMP_algebra.ExtendedGridIndex2D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex2D(*args))
6112 
6113  def get_dimension(self):
6114  r"""get_dimension(ExtendedGridIndex2D self) -> unsigned int"""
6115  return _IMP_algebra.ExtendedGridIndex2D_get_dimension(self)
6116 
6117  def __cmp__(self, o):
6118  r"""__cmp__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> int"""
6119  return _IMP_algebra.ExtendedGridIndex2D___cmp__(self, o)
6120 
6121  def __eq__(self, o):
6122  r"""__eq__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6123  return _IMP_algebra.ExtendedGridIndex2D___eq__(self, o)
6124 
6125  def __ne__(self, o):
6126  r"""__ne__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6127  return _IMP_algebra.ExtendedGridIndex2D___ne__(self, o)
6128 
6129  def __lt__(self, o):
6130  r"""__lt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6131  return _IMP_algebra.ExtendedGridIndex2D___lt__(self, o)
6132 
6133  def __gt__(self, o):
6134  r"""__gt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6135  return _IMP_algebra.ExtendedGridIndex2D___gt__(self, o)
6136 
6137  def __ge__(self, o):
6138  r"""__ge__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6139  return _IMP_algebra.ExtendedGridIndex2D___ge__(self, o)
6140 
6141  def __le__(self, o):
6142  r"""__le__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6143  return _IMP_algebra.ExtendedGridIndex2D___le__(self, o)
6144 
6145  def __setitem__(self, i, v):
6146  r"""__setitem__(ExtendedGridIndex2D self, unsigned int i, int const & v)"""
6147  return _IMP_algebra.ExtendedGridIndex2D___setitem__(self, i, v)
6148 
6149  def __getitem__(self, i):
6150  r"""__getitem__(ExtendedGridIndex2D self, unsigned int i) -> int const &"""
6151  return _IMP_algebra.ExtendedGridIndex2D___getitem__(self, i)
6152 
6153  def show(self, *args):
6154  r"""show(ExtendedGridIndex2D self, _ostream out=std::cout)"""
6155  return _IMP_algebra.ExtendedGridIndex2D_show(self, *args)
6156 
6157  def __len__(self):
6158  r"""__len__(ExtendedGridIndex2D self) -> unsigned int"""
6159  return _IMP_algebra.ExtendedGridIndex2D___len__(self)
6160 
6161  def __hash__(self):
6162  r"""__hash__(ExtendedGridIndex2D self) -> std::size_t"""
6163  return _IMP_algebra.ExtendedGridIndex2D___hash__(self)
6164 
6165  def get_uniform_offset(self, ii):
6166  r"""get_uniform_offset(ExtendedGridIndex2D self, int ii) -> ExtendedGridIndex2D"""
6167  return _IMP_algebra.ExtendedGridIndex2D_get_uniform_offset(self, ii)
6168 
6169  def get_offset(self, i, j, k):
6170  r"""get_offset(ExtendedGridIndex2D self, int i, int j, int k) -> ExtendedGridIndex2D"""
6171  return _IMP_algebra.ExtendedGridIndex2D_get_offset(self, i, j, k)
6172 
6173  def __str__(self):
6174  r"""__str__(ExtendedGridIndex2D self) -> std::string"""
6175  return _IMP_algebra.ExtendedGridIndex2D___str__(self)
6176 
6177  def __repr__(self):
6178  r"""__repr__(ExtendedGridIndex2D self) -> std::string"""
6179  return _IMP_algebra.ExtendedGridIndex2D___repr__(self)
6180 
6181  def _get_as_binary(self):
6182  r"""_get_as_binary(ExtendedGridIndex2D self) -> PyObject *"""
6183  return _IMP_algebra.ExtendedGridIndex2D__get_as_binary(self)
6184 
6185  def _set_from_binary(self, p):
6186  r"""_set_from_binary(ExtendedGridIndex2D self, PyObject * p)"""
6187  return _IMP_algebra.ExtendedGridIndex2D__set_from_binary(self, p)
6188 
6189  def __getstate__(self):
6190  p = self._get_as_binary()
6191  if len(self.__dict__) > 1:
6192  d = self.__dict__.copy()
6193  del d['this']
6194  p = (d, p)
6195  return p
6196 
6197  def __setstate__(self, p):
6198  if not hasattr(self, 'this'):
6199  self.__init__()
6200  if isinstance(p, tuple):
6201  d, p = p
6202  self.__dict__.update(d)
6203  return self._set_from_binary(p)
6204 
6205  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex2D
6206 
6207 # Register ExtendedGridIndex2D in _IMP_algebra:
6208 _IMP_algebra.ExtendedGridIndex2D_swigregister(ExtendedGridIndex2D)
6209 class ExtendedGridIndex3D(IMP._Value):
6210  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 3 > class."""
6211 
6212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6213 
6214  def __init__(self, *args):
6215  r"""
6216  __init__(ExtendedGridIndex3D self, IMP::Ints vals) -> ExtendedGridIndex3D
6217  __init__(ExtendedGridIndex3D self, int x) -> ExtendedGridIndex3D
6218  __init__(ExtendedGridIndex3D self, int x, int y) -> ExtendedGridIndex3D
6219  __init__(ExtendedGridIndex3D self, int x, int y, int z) -> ExtendedGridIndex3D
6220  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l) -> ExtendedGridIndex3D
6221  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex3D
6222  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex3D
6223  __init__(ExtendedGridIndex3D self) -> ExtendedGridIndex3D
6224  """
6225  _IMP_algebra.ExtendedGridIndex3D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex3D(*args))
6226 
6227  def get_dimension(self):
6228  r"""get_dimension(ExtendedGridIndex3D self) -> unsigned int"""
6229  return _IMP_algebra.ExtendedGridIndex3D_get_dimension(self)
6230 
6231  def __cmp__(self, o):
6232  r"""__cmp__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> int"""
6233  return _IMP_algebra.ExtendedGridIndex3D___cmp__(self, o)
6234 
6235  def __eq__(self, o):
6236  r"""__eq__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6237  return _IMP_algebra.ExtendedGridIndex3D___eq__(self, o)
6238 
6239  def __ne__(self, o):
6240  r"""__ne__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6241  return _IMP_algebra.ExtendedGridIndex3D___ne__(self, o)
6242 
6243  def __lt__(self, o):
6244  r"""__lt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6245  return _IMP_algebra.ExtendedGridIndex3D___lt__(self, o)
6246 
6247  def __gt__(self, o):
6248  r"""__gt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6249  return _IMP_algebra.ExtendedGridIndex3D___gt__(self, o)
6250 
6251  def __ge__(self, o):
6252  r"""__ge__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6253  return _IMP_algebra.ExtendedGridIndex3D___ge__(self, o)
6254 
6255  def __le__(self, o):
6256  r"""__le__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6257  return _IMP_algebra.ExtendedGridIndex3D___le__(self, o)
6258 
6259  def __setitem__(self, i, v):
6260  r"""__setitem__(ExtendedGridIndex3D self, unsigned int i, int const & v)"""
6261  return _IMP_algebra.ExtendedGridIndex3D___setitem__(self, i, v)
6262 
6263  def __getitem__(self, i):
6264  r"""__getitem__(ExtendedGridIndex3D self, unsigned int i) -> int const &"""
6265  return _IMP_algebra.ExtendedGridIndex3D___getitem__(self, i)
6266 
6267  def show(self, *args):
6268  r"""show(ExtendedGridIndex3D self, _ostream out=std::cout)"""
6269  return _IMP_algebra.ExtendedGridIndex3D_show(self, *args)
6270 
6271  def __len__(self):
6272  r"""__len__(ExtendedGridIndex3D self) -> unsigned int"""
6273  return _IMP_algebra.ExtendedGridIndex3D___len__(self)
6274 
6275  def __hash__(self):
6276  r"""__hash__(ExtendedGridIndex3D self) -> std::size_t"""
6277  return _IMP_algebra.ExtendedGridIndex3D___hash__(self)
6278 
6279  def get_uniform_offset(self, ii):
6280  r"""get_uniform_offset(ExtendedGridIndex3D self, int ii) -> ExtendedGridIndex3D"""
6281  return _IMP_algebra.ExtendedGridIndex3D_get_uniform_offset(self, ii)
6282 
6283  def get_offset(self, i, j, k):
6284  r"""get_offset(ExtendedGridIndex3D self, int i, int j, int k) -> ExtendedGridIndex3D"""
6285  return _IMP_algebra.ExtendedGridIndex3D_get_offset(self, i, j, k)
6286 
6287  def __str__(self):
6288  r"""__str__(ExtendedGridIndex3D self) -> std::string"""
6289  return _IMP_algebra.ExtendedGridIndex3D___str__(self)
6290 
6291  def __repr__(self):
6292  r"""__repr__(ExtendedGridIndex3D self) -> std::string"""
6293  return _IMP_algebra.ExtendedGridIndex3D___repr__(self)
6294 
6295  def _get_as_binary(self):
6296  r"""_get_as_binary(ExtendedGridIndex3D self) -> PyObject *"""
6297  return _IMP_algebra.ExtendedGridIndex3D__get_as_binary(self)
6298 
6299  def _set_from_binary(self, p):
6300  r"""_set_from_binary(ExtendedGridIndex3D self, PyObject * p)"""
6301  return _IMP_algebra.ExtendedGridIndex3D__set_from_binary(self, p)
6302 
6303  def __getstate__(self):
6304  p = self._get_as_binary()
6305  if len(self.__dict__) > 1:
6306  d = self.__dict__.copy()
6307  del d['this']
6308  p = (d, p)
6309  return p
6310 
6311  def __setstate__(self, p):
6312  if not hasattr(self, 'this'):
6313  self.__init__()
6314  if isinstance(p, tuple):
6315  d, p = p
6316  self.__dict__.update(d)
6317  return self._set_from_binary(p)
6318 
6319  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex3D
6320 
6321 # Register ExtendedGridIndex3D in _IMP_algebra:
6322 _IMP_algebra.ExtendedGridIndex3D_swigregister(ExtendedGridIndex3D)
6323 class ExtendedGridIndex4D(IMP._Value):
6324  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 4 > class."""
6325 
6326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6327 
6328  def __init__(self, *args):
6329  r"""
6330  __init__(ExtendedGridIndex4D self, IMP::Ints vals) -> ExtendedGridIndex4D
6331  __init__(ExtendedGridIndex4D self, int x) -> ExtendedGridIndex4D
6332  __init__(ExtendedGridIndex4D self, int x, int y) -> ExtendedGridIndex4D
6333  __init__(ExtendedGridIndex4D self, int x, int y, int z) -> ExtendedGridIndex4D
6334  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l) -> ExtendedGridIndex4D
6335  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex4D
6336  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex4D
6337  __init__(ExtendedGridIndex4D self) -> ExtendedGridIndex4D
6338  """
6339  _IMP_algebra.ExtendedGridIndex4D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex4D(*args))
6340 
6341  def get_dimension(self):
6342  r"""get_dimension(ExtendedGridIndex4D self) -> unsigned int"""
6343  return _IMP_algebra.ExtendedGridIndex4D_get_dimension(self)
6344 
6345  def __cmp__(self, o):
6346  r"""__cmp__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> int"""
6347  return _IMP_algebra.ExtendedGridIndex4D___cmp__(self, o)
6348 
6349  def __eq__(self, o):
6350  r"""__eq__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6351  return _IMP_algebra.ExtendedGridIndex4D___eq__(self, o)
6352 
6353  def __ne__(self, o):
6354  r"""__ne__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6355  return _IMP_algebra.ExtendedGridIndex4D___ne__(self, o)
6356 
6357  def __lt__(self, o):
6358  r"""__lt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6359  return _IMP_algebra.ExtendedGridIndex4D___lt__(self, o)
6360 
6361  def __gt__(self, o):
6362  r"""__gt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6363  return _IMP_algebra.ExtendedGridIndex4D___gt__(self, o)
6364 
6365  def __ge__(self, o):
6366  r"""__ge__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6367  return _IMP_algebra.ExtendedGridIndex4D___ge__(self, o)
6368 
6369  def __le__(self, o):
6370  r"""__le__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6371  return _IMP_algebra.ExtendedGridIndex4D___le__(self, o)
6372 
6373  def __setitem__(self, i, v):
6374  r"""__setitem__(ExtendedGridIndex4D self, unsigned int i, int const & v)"""
6375  return _IMP_algebra.ExtendedGridIndex4D___setitem__(self, i, v)
6376 
6377  def __getitem__(self, i):
6378  r"""__getitem__(ExtendedGridIndex4D self, unsigned int i) -> int const &"""
6379  return _IMP_algebra.ExtendedGridIndex4D___getitem__(self, i)
6380 
6381  def show(self, *args):
6382  r"""show(ExtendedGridIndex4D self, _ostream out=std::cout)"""
6383  return _IMP_algebra.ExtendedGridIndex4D_show(self, *args)
6384 
6385  def __len__(self):
6386  r"""__len__(ExtendedGridIndex4D self) -> unsigned int"""
6387  return _IMP_algebra.ExtendedGridIndex4D___len__(self)
6388 
6389  def __hash__(self):
6390  r"""__hash__(ExtendedGridIndex4D self) -> std::size_t"""
6391  return _IMP_algebra.ExtendedGridIndex4D___hash__(self)
6392 
6393  def get_uniform_offset(self, ii):
6394  r"""get_uniform_offset(ExtendedGridIndex4D self, int ii) -> ExtendedGridIndex4D"""
6395  return _IMP_algebra.ExtendedGridIndex4D_get_uniform_offset(self, ii)
6396 
6397  def get_offset(self, i, j, k):
6398  r"""get_offset(ExtendedGridIndex4D self, int i, int j, int k) -> ExtendedGridIndex4D"""
6399  return _IMP_algebra.ExtendedGridIndex4D_get_offset(self, i, j, k)
6400 
6401  def __str__(self):
6402  r"""__str__(ExtendedGridIndex4D self) -> std::string"""
6403  return _IMP_algebra.ExtendedGridIndex4D___str__(self)
6404 
6405  def __repr__(self):
6406  r"""__repr__(ExtendedGridIndex4D self) -> std::string"""
6407  return _IMP_algebra.ExtendedGridIndex4D___repr__(self)
6408 
6409  def _get_as_binary(self):
6410  r"""_get_as_binary(ExtendedGridIndex4D self) -> PyObject *"""
6411  return _IMP_algebra.ExtendedGridIndex4D__get_as_binary(self)
6412 
6413  def _set_from_binary(self, p):
6414  r"""_set_from_binary(ExtendedGridIndex4D self, PyObject * p)"""
6415  return _IMP_algebra.ExtendedGridIndex4D__set_from_binary(self, p)
6416 
6417  def __getstate__(self):
6418  p = self._get_as_binary()
6419  if len(self.__dict__) > 1:
6420  d = self.__dict__.copy()
6421  del d['this']
6422  p = (d, p)
6423  return p
6424 
6425  def __setstate__(self, p):
6426  if not hasattr(self, 'this'):
6427  self.__init__()
6428  if isinstance(p, tuple):
6429  d, p = p
6430  self.__dict__.update(d)
6431  return self._set_from_binary(p)
6432 
6433  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex4D
6434 
6435 # Register ExtendedGridIndex4D in _IMP_algebra:
6436 _IMP_algebra.ExtendedGridIndex4D_swigregister(ExtendedGridIndex4D)
6437 class ExtendedGridIndex5D(IMP._Value):
6438  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 5 > class."""
6439 
6440  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6441 
6442  def __init__(self, *args):
6443  r"""
6444  __init__(ExtendedGridIndex5D self, IMP::Ints vals) -> ExtendedGridIndex5D
6445  __init__(ExtendedGridIndex5D self, int x) -> ExtendedGridIndex5D
6446  __init__(ExtendedGridIndex5D self, int x, int y) -> ExtendedGridIndex5D
6447  __init__(ExtendedGridIndex5D self, int x, int y, int z) -> ExtendedGridIndex5D
6448  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l) -> ExtendedGridIndex5D
6449  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex5D
6450  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex5D
6451  __init__(ExtendedGridIndex5D self) -> ExtendedGridIndex5D
6452  """
6453  _IMP_algebra.ExtendedGridIndex5D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex5D(*args))
6454 
6455  def get_dimension(self):
6456  r"""get_dimension(ExtendedGridIndex5D self) -> unsigned int"""
6457  return _IMP_algebra.ExtendedGridIndex5D_get_dimension(self)
6458 
6459  def __cmp__(self, o):
6460  r"""__cmp__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> int"""
6461  return _IMP_algebra.ExtendedGridIndex5D___cmp__(self, o)
6462 
6463  def __eq__(self, o):
6464  r"""__eq__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6465  return _IMP_algebra.ExtendedGridIndex5D___eq__(self, o)
6466 
6467  def __ne__(self, o):
6468  r"""__ne__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6469  return _IMP_algebra.ExtendedGridIndex5D___ne__(self, o)
6470 
6471  def __lt__(self, o):
6472  r"""__lt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6473  return _IMP_algebra.ExtendedGridIndex5D___lt__(self, o)
6474 
6475  def __gt__(self, o):
6476  r"""__gt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6477  return _IMP_algebra.ExtendedGridIndex5D___gt__(self, o)
6478 
6479  def __ge__(self, o):
6480  r"""__ge__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6481  return _IMP_algebra.ExtendedGridIndex5D___ge__(self, o)
6482 
6483  def __le__(self, o):
6484  r"""__le__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6485  return _IMP_algebra.ExtendedGridIndex5D___le__(self, o)
6486 
6487  def __setitem__(self, i, v):
6488  r"""__setitem__(ExtendedGridIndex5D self, unsigned int i, int const & v)"""
6489  return _IMP_algebra.ExtendedGridIndex5D___setitem__(self, i, v)
6490 
6491  def __getitem__(self, i):
6492  r"""__getitem__(ExtendedGridIndex5D self, unsigned int i) -> int const &"""
6493  return _IMP_algebra.ExtendedGridIndex5D___getitem__(self, i)
6494 
6495  def show(self, *args):
6496  r"""show(ExtendedGridIndex5D self, _ostream out=std::cout)"""
6497  return _IMP_algebra.ExtendedGridIndex5D_show(self, *args)
6498 
6499  def __len__(self):
6500  r"""__len__(ExtendedGridIndex5D self) -> unsigned int"""
6501  return _IMP_algebra.ExtendedGridIndex5D___len__(self)
6502 
6503  def __hash__(self):
6504  r"""__hash__(ExtendedGridIndex5D self) -> std::size_t"""
6505  return _IMP_algebra.ExtendedGridIndex5D___hash__(self)
6506 
6507  def get_uniform_offset(self, ii):
6508  r"""get_uniform_offset(ExtendedGridIndex5D self, int ii) -> ExtendedGridIndex5D"""
6509  return _IMP_algebra.ExtendedGridIndex5D_get_uniform_offset(self, ii)
6510 
6511  def get_offset(self, i, j, k):
6512  r"""get_offset(ExtendedGridIndex5D self, int i, int j, int k) -> ExtendedGridIndex5D"""
6513  return _IMP_algebra.ExtendedGridIndex5D_get_offset(self, i, j, k)
6514 
6515  def __str__(self):
6516  r"""__str__(ExtendedGridIndex5D self) -> std::string"""
6517  return _IMP_algebra.ExtendedGridIndex5D___str__(self)
6518 
6519  def __repr__(self):
6520  r"""__repr__(ExtendedGridIndex5D self) -> std::string"""
6521  return _IMP_algebra.ExtendedGridIndex5D___repr__(self)
6522 
6523  def _get_as_binary(self):
6524  r"""_get_as_binary(ExtendedGridIndex5D self) -> PyObject *"""
6525  return _IMP_algebra.ExtendedGridIndex5D__get_as_binary(self)
6526 
6527  def _set_from_binary(self, p):
6528  r"""_set_from_binary(ExtendedGridIndex5D self, PyObject * p)"""
6529  return _IMP_algebra.ExtendedGridIndex5D__set_from_binary(self, p)
6530 
6531  def __getstate__(self):
6532  p = self._get_as_binary()
6533  if len(self.__dict__) > 1:
6534  d = self.__dict__.copy()
6535  del d['this']
6536  p = (d, p)
6537  return p
6538 
6539  def __setstate__(self, p):
6540  if not hasattr(self, 'this'):
6541  self.__init__()
6542  if isinstance(p, tuple):
6543  d, p = p
6544  self.__dict__.update(d)
6545  return self._set_from_binary(p)
6546 
6547  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex5D
6548 
6549 # Register ExtendedGridIndex5D in _IMP_algebra:
6550 _IMP_algebra.ExtendedGridIndex5D_swigregister(ExtendedGridIndex5D)
6551 class ExtendedGridIndex6D(IMP._Value):
6552  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 6 > class."""
6553 
6554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6555 
6556  def __init__(self, *args):
6557  r"""
6558  __init__(ExtendedGridIndex6D self, IMP::Ints vals) -> ExtendedGridIndex6D
6559  __init__(ExtendedGridIndex6D self, int x) -> ExtendedGridIndex6D
6560  __init__(ExtendedGridIndex6D self, int x, int y) -> ExtendedGridIndex6D
6561  __init__(ExtendedGridIndex6D self, int x, int y, int z) -> ExtendedGridIndex6D
6562  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l) -> ExtendedGridIndex6D
6563  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex6D
6564  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex6D
6565  __init__(ExtendedGridIndex6D self) -> ExtendedGridIndex6D
6566  """
6567  _IMP_algebra.ExtendedGridIndex6D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex6D(*args))
6568 
6569  def get_dimension(self):
6570  r"""get_dimension(ExtendedGridIndex6D self) -> unsigned int"""
6571  return _IMP_algebra.ExtendedGridIndex6D_get_dimension(self)
6572 
6573  def __cmp__(self, o):
6574  r"""__cmp__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> int"""
6575  return _IMP_algebra.ExtendedGridIndex6D___cmp__(self, o)
6576 
6577  def __eq__(self, o):
6578  r"""__eq__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6579  return _IMP_algebra.ExtendedGridIndex6D___eq__(self, o)
6580 
6581  def __ne__(self, o):
6582  r"""__ne__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6583  return _IMP_algebra.ExtendedGridIndex6D___ne__(self, o)
6584 
6585  def __lt__(self, o):
6586  r"""__lt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6587  return _IMP_algebra.ExtendedGridIndex6D___lt__(self, o)
6588 
6589  def __gt__(self, o):
6590  r"""__gt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6591  return _IMP_algebra.ExtendedGridIndex6D___gt__(self, o)
6592 
6593  def __ge__(self, o):
6594  r"""__ge__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6595  return _IMP_algebra.ExtendedGridIndex6D___ge__(self, o)
6596 
6597  def __le__(self, o):
6598  r"""__le__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6599  return _IMP_algebra.ExtendedGridIndex6D___le__(self, o)
6600 
6601  def __setitem__(self, i, v):
6602  r"""__setitem__(ExtendedGridIndex6D self, unsigned int i, int const & v)"""
6603  return _IMP_algebra.ExtendedGridIndex6D___setitem__(self, i, v)
6604 
6605  def __getitem__(self, i):
6606  r"""__getitem__(ExtendedGridIndex6D self, unsigned int i) -> int const &"""
6607  return _IMP_algebra.ExtendedGridIndex6D___getitem__(self, i)
6608 
6609  def show(self, *args):
6610  r"""show(ExtendedGridIndex6D self, _ostream out=std::cout)"""
6611  return _IMP_algebra.ExtendedGridIndex6D_show(self, *args)
6612 
6613  def __len__(self):
6614  r"""__len__(ExtendedGridIndex6D self) -> unsigned int"""
6615  return _IMP_algebra.ExtendedGridIndex6D___len__(self)
6616 
6617  def __hash__(self):
6618  r"""__hash__(ExtendedGridIndex6D self) -> std::size_t"""
6619  return _IMP_algebra.ExtendedGridIndex6D___hash__(self)
6620 
6621  def get_uniform_offset(self, ii):
6622  r"""get_uniform_offset(ExtendedGridIndex6D self, int ii) -> ExtendedGridIndex6D"""
6623  return _IMP_algebra.ExtendedGridIndex6D_get_uniform_offset(self, ii)
6624 
6625  def get_offset(self, i, j, k):
6626  r"""get_offset(ExtendedGridIndex6D self, int i, int j, int k) -> ExtendedGridIndex6D"""
6627  return _IMP_algebra.ExtendedGridIndex6D_get_offset(self, i, j, k)
6628 
6629  def __str__(self):
6630  r"""__str__(ExtendedGridIndex6D self) -> std::string"""
6631  return _IMP_algebra.ExtendedGridIndex6D___str__(self)
6632 
6633  def __repr__(self):
6634  r"""__repr__(ExtendedGridIndex6D self) -> std::string"""
6635  return _IMP_algebra.ExtendedGridIndex6D___repr__(self)
6636 
6637  def _get_as_binary(self):
6638  r"""_get_as_binary(ExtendedGridIndex6D self) -> PyObject *"""
6639  return _IMP_algebra.ExtendedGridIndex6D__get_as_binary(self)
6640 
6641  def _set_from_binary(self, p):
6642  r"""_set_from_binary(ExtendedGridIndex6D self, PyObject * p)"""
6643  return _IMP_algebra.ExtendedGridIndex6D__set_from_binary(self, p)
6644 
6645  def __getstate__(self):
6646  p = self._get_as_binary()
6647  if len(self.__dict__) > 1:
6648  d = self.__dict__.copy()
6649  del d['this']
6650  p = (d, p)
6651  return p
6652 
6653  def __setstate__(self, p):
6654  if not hasattr(self, 'this'):
6655  self.__init__()
6656  if isinstance(p, tuple):
6657  d, p = p
6658  self.__dict__.update(d)
6659  return self._set_from_binary(p)
6660 
6661  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex6D
6662 
6663 # Register ExtendedGridIndex6D in _IMP_algebra:
6664 _IMP_algebra.ExtendedGridIndex6D_swigregister(ExtendedGridIndex6D)
6665 class ExtendedGridIndexKD(IMP._Value):
6666  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< -1 > class."""
6667 
6668  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6669 
6670  def __init__(self, *args):
6671  r"""
6672  __init__(ExtendedGridIndexKD self, IMP::Ints vals) -> ExtendedGridIndexKD
6673  __init__(ExtendedGridIndexKD self, int x) -> ExtendedGridIndexKD
6674  __init__(ExtendedGridIndexKD self, int x, int y) -> ExtendedGridIndexKD
6675  __init__(ExtendedGridIndexKD self, int x, int y, int z) -> ExtendedGridIndexKD
6676  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l) -> ExtendedGridIndexKD
6677  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m) -> ExtendedGridIndexKD
6678  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndexKD
6679  __init__(ExtendedGridIndexKD self) -> ExtendedGridIndexKD
6680  """
6681  _IMP_algebra.ExtendedGridIndexKD_swiginit(self, _IMP_algebra.new_ExtendedGridIndexKD(*args))
6682 
6683  def get_dimension(self):
6684  r"""get_dimension(ExtendedGridIndexKD self) -> unsigned int"""
6685  return _IMP_algebra.ExtendedGridIndexKD_get_dimension(self)
6686 
6687  def __cmp__(self, o):
6688  r"""__cmp__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> int"""
6689  return _IMP_algebra.ExtendedGridIndexKD___cmp__(self, o)
6690 
6691  def __eq__(self, o):
6692  r"""__eq__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6693  return _IMP_algebra.ExtendedGridIndexKD___eq__(self, o)
6694 
6695  def __ne__(self, o):
6696  r"""__ne__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6697  return _IMP_algebra.ExtendedGridIndexKD___ne__(self, o)
6698 
6699  def __lt__(self, o):
6700  r"""__lt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6701  return _IMP_algebra.ExtendedGridIndexKD___lt__(self, o)
6702 
6703  def __gt__(self, o):
6704  r"""__gt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6705  return _IMP_algebra.ExtendedGridIndexKD___gt__(self, o)
6706 
6707  def __ge__(self, o):
6708  r"""__ge__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6709  return _IMP_algebra.ExtendedGridIndexKD___ge__(self, o)
6710 
6711  def __le__(self, o):
6712  r"""__le__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6713  return _IMP_algebra.ExtendedGridIndexKD___le__(self, o)
6714 
6715  def __setitem__(self, i, v):
6716  r"""__setitem__(ExtendedGridIndexKD self, unsigned int i, int const & v)"""
6717  return _IMP_algebra.ExtendedGridIndexKD___setitem__(self, i, v)
6718 
6719  def __getitem__(self, i):
6720  r"""__getitem__(ExtendedGridIndexKD self, unsigned int i) -> int const &"""
6721  return _IMP_algebra.ExtendedGridIndexKD___getitem__(self, i)
6722 
6723  def show(self, *args):
6724  r"""show(ExtendedGridIndexKD self, _ostream out=std::cout)"""
6725  return _IMP_algebra.ExtendedGridIndexKD_show(self, *args)
6726 
6727  def __len__(self):
6728  r"""__len__(ExtendedGridIndexKD self) -> unsigned int"""
6729  return _IMP_algebra.ExtendedGridIndexKD___len__(self)
6730 
6731  def __hash__(self):
6732  r"""__hash__(ExtendedGridIndexKD self) -> std::size_t"""
6733  return _IMP_algebra.ExtendedGridIndexKD___hash__(self)
6734 
6735  def get_uniform_offset(self, ii):
6736  r"""get_uniform_offset(ExtendedGridIndexKD self, int ii) -> ExtendedGridIndexKD"""
6737  return _IMP_algebra.ExtendedGridIndexKD_get_uniform_offset(self, ii)
6738 
6739  def get_offset(self, i, j, k):
6740  r"""get_offset(ExtendedGridIndexKD self, int i, int j, int k) -> ExtendedGridIndexKD"""
6741  return _IMP_algebra.ExtendedGridIndexKD_get_offset(self, i, j, k)
6742 
6743  def __str__(self):
6744  r"""__str__(ExtendedGridIndexKD self) -> std::string"""
6745  return _IMP_algebra.ExtendedGridIndexKD___str__(self)
6746 
6747  def __repr__(self):
6748  r"""__repr__(ExtendedGridIndexKD self) -> std::string"""
6749  return _IMP_algebra.ExtendedGridIndexKD___repr__(self)
6750 
6751  def _get_as_binary(self):
6752  r"""_get_as_binary(ExtendedGridIndexKD self) -> PyObject *"""
6753  return _IMP_algebra.ExtendedGridIndexKD__get_as_binary(self)
6754 
6755  def _set_from_binary(self, p):
6756  r"""_set_from_binary(ExtendedGridIndexKD self, PyObject * p)"""
6757  return _IMP_algebra.ExtendedGridIndexKD__set_from_binary(self, p)
6758 
6759  def __getstate__(self):
6760  p = self._get_as_binary()
6761  if len(self.__dict__) > 1:
6762  d = self.__dict__.copy()
6763  del d['this']
6764  p = (d, p)
6765  return p
6766 
6767  def __setstate__(self, p):
6768  if not hasattr(self, 'this'):
6769  self.__init__()
6770  if isinstance(p, tuple):
6771  d, p = p
6772  self.__dict__.update(d)
6773  return self._set_from_binary(p)
6774 
6775  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndexKD
6776 
6777 # Register ExtendedGridIndexKD in _IMP_algebra:
6778 _IMP_algebra.ExtendedGridIndexKD_swigregister(ExtendedGridIndexKD)
6779 class BoundedGridRange1D(object):
6780  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 1 > class."""
6781 
6782  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6783 
6784  @staticmethod
6785  def get_is_bounded():
6786  r"""get_is_bounded() -> bool"""
6787  return _IMP_algebra.BoundedGridRange1D_get_is_bounded()
6788 
6789  def __init__(self, *args):
6790  r"""
6791  __init__(BoundedGridRange1D self) -> BoundedGridRange1D
6792  __init__(BoundedGridRange1D self, IMP::Ints const & counts) -> BoundedGridRange1D
6793  """
6794  _IMP_algebra.BoundedGridRange1D_swiginit(self, _IMP_algebra.new_BoundedGridRange1D(*args))
6795 
6796  def get_number_of_voxels(self, *args):
6797  r"""
6798  get_number_of_voxels(BoundedGridRange1D self, unsigned int i) -> unsigned int
6799  get_number_of_voxels(BoundedGridRange1D self) -> unsigned int
6800  """
6801  return _IMP_algebra.BoundedGridRange1D_get_number_of_voxels(self, *args)
6802 
6803  def get_end_index(self):
6804  r"""get_end_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6805  return _IMP_algebra.BoundedGridRange1D_get_end_index(self)
6806 
6807  def show(self, *args):
6808  r"""show(BoundedGridRange1D self, _ostream out=std::cout)"""
6809  return _IMP_algebra.BoundedGridRange1D_show(self, *args)
6810 
6811  def get_all_indexes(self):
6812  r"""get_all_indexes(BoundedGridRange1D self) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
6813  return _IMP_algebra.BoundedGridRange1D_get_all_indexes(self)
6814 
6815  def get_indexes(self, lb, ub):
6816  r"""get_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
6817  return _IMP_algebra.BoundedGridRange1D_get_indexes(self, lb, ub)
6818 
6819  def get_extended_indexes(self, lb, ub):
6820  r"""get_extended_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
6821  return _IMP_algebra.BoundedGridRange1D_get_extended_indexes(self, lb, ub)
6822 
6823  def get_index(self, v):
6824  r"""get_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> GridIndex1D"""
6825  return _IMP_algebra.BoundedGridRange1D_get_index(self, v)
6826 
6827  def get_has_index(self, v):
6828  r"""get_has_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> bool"""
6829  return _IMP_algebra.BoundedGridRange1D_get_has_index(self, v)
6830 
6831  def get_minimum_extended_index(self):
6832  r"""get_minimum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6833  return _IMP_algebra.BoundedGridRange1D_get_minimum_extended_index(self)
6834 
6835  def get_maximum_extended_index(self):
6836  r"""get_maximum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6837  return _IMP_algebra.BoundedGridRange1D_get_maximum_extended_index(self)
6838 
6839  def __str__(self):
6840  r"""__str__(BoundedGridRange1D self) -> std::string"""
6841  return _IMP_algebra.BoundedGridRange1D___str__(self)
6842 
6843  def __repr__(self):
6844  r"""__repr__(BoundedGridRange1D self) -> std::string"""
6845  return _IMP_algebra.BoundedGridRange1D___repr__(self)
6846 
6847  def __cmp__(self, arg2):
6848  r"""__cmp__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> int"""
6849  return _IMP_algebra.BoundedGridRange1D___cmp__(self, arg2)
6850 
6851  def __eq__(self, arg2):
6852  r"""__eq__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> bool"""
6853  return _IMP_algebra.BoundedGridRange1D___eq__(self, arg2)
6854 
6855  def _get_as_binary(self):
6856  r"""_get_as_binary(BoundedGridRange1D self) -> PyObject *"""
6857  return _IMP_algebra.BoundedGridRange1D__get_as_binary(self)
6858 
6859  def _set_from_binary(self, p):
6860  r"""_set_from_binary(BoundedGridRange1D self, PyObject * p)"""
6861  return _IMP_algebra.BoundedGridRange1D__set_from_binary(self, p)
6862 
6863  def __getstate__(self):
6864  p = self._get_as_binary()
6865  if len(self.__dict__) > 1:
6866  d = self.__dict__.copy()
6867  del d['this']
6868  p = (d, p)
6869  return p
6870 
6871  def __setstate__(self, p):
6872  if not hasattr(self, 'this'):
6873  self.__init__()
6874  if isinstance(p, tuple):
6875  d, p = p
6876  self.__dict__.update(d)
6877  return self._set_from_binary(p)
6878 
6879  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange1D
6880 
6881 # Register BoundedGridRange1D in _IMP_algebra:
6882 _IMP_algebra.BoundedGridRange1D_swigregister(BoundedGridRange1D)
6883 class BoundedGridRange2D(object):
6884  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 2 > class."""
6885 
6886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6887 
6888  @staticmethod
6889  def get_is_bounded():
6890  r"""get_is_bounded() -> bool"""
6891  return _IMP_algebra.BoundedGridRange2D_get_is_bounded()
6892 
6893  def __init__(self, *args):
6894  r"""
6895  __init__(BoundedGridRange2D self) -> BoundedGridRange2D
6896  __init__(BoundedGridRange2D self, IMP::Ints const & counts) -> BoundedGridRange2D
6897  """
6898  _IMP_algebra.BoundedGridRange2D_swiginit(self, _IMP_algebra.new_BoundedGridRange2D(*args))
6899 
6900  def get_number_of_voxels(self, *args):
6901  r"""
6902  get_number_of_voxels(BoundedGridRange2D self, unsigned int i) -> unsigned int
6903  get_number_of_voxels(BoundedGridRange2D self) -> unsigned int
6904  """
6905  return _IMP_algebra.BoundedGridRange2D_get_number_of_voxels(self, *args)
6906 
6907  def get_end_index(self):
6908  r"""get_end_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6909  return _IMP_algebra.BoundedGridRange2D_get_end_index(self)
6910 
6911  def show(self, *args):
6912  r"""show(BoundedGridRange2D self, _ostream out=std::cout)"""
6913  return _IMP_algebra.BoundedGridRange2D_show(self, *args)
6914 
6915  def get_all_indexes(self):
6916  r"""get_all_indexes(BoundedGridRange2D self) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
6917  return _IMP_algebra.BoundedGridRange2D_get_all_indexes(self)
6918 
6919  def get_indexes(self, lb, ub):
6920  r"""get_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
6921  return _IMP_algebra.BoundedGridRange2D_get_indexes(self, lb, ub)
6922 
6923  def get_extended_indexes(self, lb, ub):
6924  r"""get_extended_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
6925  return _IMP_algebra.BoundedGridRange2D_get_extended_indexes(self, lb, ub)
6926 
6927  def get_index(self, v):
6928  r"""get_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> GridIndex2D"""
6929  return _IMP_algebra.BoundedGridRange2D_get_index(self, v)
6930 
6931  def get_has_index(self, v):
6932  r"""get_has_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> bool"""
6933  return _IMP_algebra.BoundedGridRange2D_get_has_index(self, v)
6934 
6935  def get_minimum_extended_index(self):
6936  r"""get_minimum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6937  return _IMP_algebra.BoundedGridRange2D_get_minimum_extended_index(self)
6938 
6939  def get_maximum_extended_index(self):
6940  r"""get_maximum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6941  return _IMP_algebra.BoundedGridRange2D_get_maximum_extended_index(self)
6942 
6943  def __str__(self):
6944  r"""__str__(BoundedGridRange2D self) -> std::string"""
6945  return _IMP_algebra.BoundedGridRange2D___str__(self)
6946 
6947  def __repr__(self):
6948  r"""__repr__(BoundedGridRange2D self) -> std::string"""
6949  return _IMP_algebra.BoundedGridRange2D___repr__(self)
6950 
6951  def __cmp__(self, arg2):
6952  r"""__cmp__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> int"""
6953  return _IMP_algebra.BoundedGridRange2D___cmp__(self, arg2)
6954 
6955  def __eq__(self, arg2):
6956  r"""__eq__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> bool"""
6957  return _IMP_algebra.BoundedGridRange2D___eq__(self, arg2)
6958 
6959  def _get_as_binary(self):
6960  r"""_get_as_binary(BoundedGridRange2D self) -> PyObject *"""
6961  return _IMP_algebra.BoundedGridRange2D__get_as_binary(self)
6962 
6963  def _set_from_binary(self, p):
6964  r"""_set_from_binary(BoundedGridRange2D self, PyObject * p)"""
6965  return _IMP_algebra.BoundedGridRange2D__set_from_binary(self, p)
6966 
6967  def __getstate__(self):
6968  p = self._get_as_binary()
6969  if len(self.__dict__) > 1:
6970  d = self.__dict__.copy()
6971  del d['this']
6972  p = (d, p)
6973  return p
6974 
6975  def __setstate__(self, p):
6976  if not hasattr(self, 'this'):
6977  self.__init__()
6978  if isinstance(p, tuple):
6979  d, p = p
6980  self.__dict__.update(d)
6981  return self._set_from_binary(p)
6982 
6983  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange2D
6984 
6985 # Register BoundedGridRange2D in _IMP_algebra:
6986 _IMP_algebra.BoundedGridRange2D_swigregister(BoundedGridRange2D)
6987 class BoundedGridRange3D(object):
6988  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 3 > class."""
6989 
6990  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6991 
6992  @staticmethod
6993  def get_is_bounded():
6994  r"""get_is_bounded() -> bool"""
6995  return _IMP_algebra.BoundedGridRange3D_get_is_bounded()
6996 
6997  def __init__(self, *args):
6998  r"""
6999  __init__(BoundedGridRange3D self) -> BoundedGridRange3D
7000  __init__(BoundedGridRange3D self, IMP::Ints const & counts) -> BoundedGridRange3D
7001  """
7002  _IMP_algebra.BoundedGridRange3D_swiginit(self, _IMP_algebra.new_BoundedGridRange3D(*args))
7003 
7004  def get_number_of_voxels(self, *args):
7005  r"""
7006  get_number_of_voxels(BoundedGridRange3D self, unsigned int i) -> unsigned int
7007  get_number_of_voxels(BoundedGridRange3D self) -> unsigned int
7008  """
7009  return _IMP_algebra.BoundedGridRange3D_get_number_of_voxels(self, *args)
7010 
7011  def get_end_index(self):
7012  r"""get_end_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
7013  return _IMP_algebra.BoundedGridRange3D_get_end_index(self)
7014 
7015  def show(self, *args):
7016  r"""show(BoundedGridRange3D self, _ostream out=std::cout)"""
7017  return _IMP_algebra.BoundedGridRange3D_show(self, *args)
7018 
7019  def get_all_indexes(self):
7020  r"""get_all_indexes(BoundedGridRange3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
7021  return _IMP_algebra.BoundedGridRange3D_get_all_indexes(self)
7022 
7023  def get_indexes(self, lb, ub):
7024  r"""get_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
7025  return _IMP_algebra.BoundedGridRange3D_get_indexes(self, lb, ub)
7026 
7027  def get_extended_indexes(self, lb, ub):
7028  r"""get_extended_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
7029  return _IMP_algebra.BoundedGridRange3D_get_extended_indexes(self, lb, ub)
7030 
7031  def get_index(self, v):
7032  r"""get_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
7033  return _IMP_algebra.BoundedGridRange3D_get_index(self, v)
7034 
7035  def get_has_index(self, v):
7036  r"""get_has_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> bool"""
7037  return _IMP_algebra.BoundedGridRange3D_get_has_index(self, v)
7038 
7039  def get_minimum_extended_index(self):
7040  r"""get_minimum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
7041  return _IMP_algebra.BoundedGridRange3D_get_minimum_extended_index(self)
7042 
7043  def get_maximum_extended_index(self):
7044  r"""get_maximum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
7045  return _IMP_algebra.BoundedGridRange3D_get_maximum_extended_index(self)
7046 
7047  def __str__(self):
7048  r"""__str__(BoundedGridRange3D self) -> std::string"""
7049  return _IMP_algebra.BoundedGridRange3D___str__(self)
7050 
7051  def __repr__(self):
7052  r"""__repr__(BoundedGridRange3D self) -> std::string"""
7053  return _IMP_algebra.BoundedGridRange3D___repr__(self)
7054 
7055  def __cmp__(self, arg2):
7056  r"""__cmp__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> int"""
7057  return _IMP_algebra.BoundedGridRange3D___cmp__(self, arg2)
7058 
7059  def __eq__(self, arg2):
7060  r"""__eq__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> bool"""
7061  return _IMP_algebra.BoundedGridRange3D___eq__(self, arg2)
7062 
7063  def _get_as_binary(self):
7064  r"""_get_as_binary(BoundedGridRange3D self) -> PyObject *"""
7065  return _IMP_algebra.BoundedGridRange3D__get_as_binary(self)
7066 
7067  def _set_from_binary(self, p):
7068  r"""_set_from_binary(BoundedGridRange3D self, PyObject * p)"""
7069  return _IMP_algebra.BoundedGridRange3D__set_from_binary(self, p)
7070 
7071  def __getstate__(self):
7072  p = self._get_as_binary()
7073  if len(self.__dict__) > 1:
7074  d = self.__dict__.copy()
7075  del d['this']
7076  p = (d, p)
7077  return p
7078 
7079  def __setstate__(self, p):
7080  if not hasattr(self, 'this'):
7081  self.__init__()
7082  if isinstance(p, tuple):
7083  d, p = p
7084  self.__dict__.update(d)
7085  return self._set_from_binary(p)
7086 
7087  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange3D
7088 
7089 # Register BoundedGridRange3D in _IMP_algebra:
7090 _IMP_algebra.BoundedGridRange3D_swigregister(BoundedGridRange3D)
7091 class BoundedGridRange4D(object):
7092  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 4 > class."""
7093 
7094  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7095 
7096  @staticmethod
7097  def get_is_bounded():
7098  r"""get_is_bounded() -> bool"""
7099  return _IMP_algebra.BoundedGridRange4D_get_is_bounded()
7100 
7101  def __init__(self, *args):
7102  r"""
7103  __init__(BoundedGridRange4D self) -> BoundedGridRange4D
7104  __init__(BoundedGridRange4D self, IMP::Ints const & counts) -> BoundedGridRange4D
7105  """
7106  _IMP_algebra.BoundedGridRange4D_swiginit(self, _IMP_algebra.new_BoundedGridRange4D(*args))
7107 
7108  def get_number_of_voxels(self, *args):
7109  r"""
7110  get_number_of_voxels(BoundedGridRange4D self, unsigned int i) -> unsigned int
7111  get_number_of_voxels(BoundedGridRange4D self) -> unsigned int
7112  """
7113  return _IMP_algebra.BoundedGridRange4D_get_number_of_voxels(self, *args)
7114 
7115  def get_end_index(self):
7116  r"""get_end_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7117  return _IMP_algebra.BoundedGridRange4D_get_end_index(self)
7118 
7119  def show(self, *args):
7120  r"""show(BoundedGridRange4D self, _ostream out=std::cout)"""
7121  return _IMP_algebra.BoundedGridRange4D_show(self, *args)
7122 
7123  def get_all_indexes(self):
7124  r"""get_all_indexes(BoundedGridRange4D self) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
7125  return _IMP_algebra.BoundedGridRange4D_get_all_indexes(self)
7126 
7127  def get_indexes(self, lb, ub):
7128  r"""get_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
7129  return _IMP_algebra.BoundedGridRange4D_get_indexes(self, lb, ub)
7130 
7131  def get_extended_indexes(self, lb, ub):
7132  r"""get_extended_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
7133  return _IMP_algebra.BoundedGridRange4D_get_extended_indexes(self, lb, ub)
7134 
7135  def get_index(self, v):
7136  r"""get_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> GridIndex4D"""
7137  return _IMP_algebra.BoundedGridRange4D_get_index(self, v)
7138 
7139  def get_has_index(self, v):
7140  r"""get_has_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> bool"""
7141  return _IMP_algebra.BoundedGridRange4D_get_has_index(self, v)
7142 
7143  def get_minimum_extended_index(self):
7144  r"""get_minimum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7145  return _IMP_algebra.BoundedGridRange4D_get_minimum_extended_index(self)
7146 
7147  def get_maximum_extended_index(self):
7148  r"""get_maximum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7149  return _IMP_algebra.BoundedGridRange4D_get_maximum_extended_index(self)
7150 
7151  def __str__(self):
7152  r"""__str__(BoundedGridRange4D self) -> std::string"""
7153  return _IMP_algebra.BoundedGridRange4D___str__(self)
7154 
7155  def __repr__(self):
7156  r"""__repr__(BoundedGridRange4D self) -> std::string"""
7157  return _IMP_algebra.BoundedGridRange4D___repr__(self)
7158 
7159  def __cmp__(self, arg2):
7160  r"""__cmp__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> int"""
7161  return _IMP_algebra.BoundedGridRange4D___cmp__(self, arg2)
7162 
7163  def __eq__(self, arg2):
7164  r"""__eq__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> bool"""
7165  return _IMP_algebra.BoundedGridRange4D___eq__(self, arg2)
7166 
7167  def _get_as_binary(self):
7168  r"""_get_as_binary(BoundedGridRange4D self) -> PyObject *"""
7169  return _IMP_algebra.BoundedGridRange4D__get_as_binary(self)
7170 
7171  def _set_from_binary(self, p):
7172  r"""_set_from_binary(BoundedGridRange4D self, PyObject * p)"""
7173  return _IMP_algebra.BoundedGridRange4D__set_from_binary(self, p)
7174 
7175  def __getstate__(self):
7176  p = self._get_as_binary()
7177  if len(self.__dict__) > 1:
7178  d = self.__dict__.copy()
7179  del d['this']
7180  p = (d, p)
7181  return p
7182 
7183  def __setstate__(self, p):
7184  if not hasattr(self, 'this'):
7185  self.__init__()
7186  if isinstance(p, tuple):
7187  d, p = p
7188  self.__dict__.update(d)
7189  return self._set_from_binary(p)
7190 
7191  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange4D
7192 
7193 # Register BoundedGridRange4D in _IMP_algebra:
7194 _IMP_algebra.BoundedGridRange4D_swigregister(BoundedGridRange4D)
7195 class BoundedGridRange5D(object):
7196  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 5 > class."""
7197 
7198  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7199 
7200  @staticmethod
7201  def get_is_bounded():
7202  r"""get_is_bounded() -> bool"""
7203  return _IMP_algebra.BoundedGridRange5D_get_is_bounded()
7204 
7205  def __init__(self, *args):
7206  r"""
7207  __init__(BoundedGridRange5D self) -> BoundedGridRange5D
7208  __init__(BoundedGridRange5D self, IMP::Ints const & counts) -> BoundedGridRange5D
7209  """
7210  _IMP_algebra.BoundedGridRange5D_swiginit(self, _IMP_algebra.new_BoundedGridRange5D(*args))
7211 
7212  def get_number_of_voxels(self, *args):
7213  r"""
7214  get_number_of_voxels(BoundedGridRange5D self, unsigned int i) -> unsigned int
7215  get_number_of_voxels(BoundedGridRange5D self) -> unsigned int
7216  """
7217  return _IMP_algebra.BoundedGridRange5D_get_number_of_voxels(self, *args)
7218 
7219  def get_end_index(self):
7220  r"""get_end_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7221  return _IMP_algebra.BoundedGridRange5D_get_end_index(self)
7222 
7223  def show(self, *args):
7224  r"""show(BoundedGridRange5D self, _ostream out=std::cout)"""
7225  return _IMP_algebra.BoundedGridRange5D_show(self, *args)
7226 
7227  def get_all_indexes(self):
7228  r"""get_all_indexes(BoundedGridRange5D self) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
7229  return _IMP_algebra.BoundedGridRange5D_get_all_indexes(self)
7230 
7231  def get_indexes(self, lb, ub):
7232  r"""get_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
7233  return _IMP_algebra.BoundedGridRange5D_get_indexes(self, lb, ub)
7234 
7235  def get_extended_indexes(self, lb, ub):
7236  r"""get_extended_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
7237  return _IMP_algebra.BoundedGridRange5D_get_extended_indexes(self, lb, ub)
7238 
7239  def get_index(self, v):
7240  r"""get_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> GridIndex5D"""
7241  return _IMP_algebra.BoundedGridRange5D_get_index(self, v)
7242 
7243  def get_has_index(self, v):
7244  r"""get_has_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> bool"""
7245  return _IMP_algebra.BoundedGridRange5D_get_has_index(self, v)
7246 
7247  def get_minimum_extended_index(self):
7248  r"""get_minimum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7249  return _IMP_algebra.BoundedGridRange5D_get_minimum_extended_index(self)
7250 
7251  def get_maximum_extended_index(self):
7252  r"""get_maximum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7253  return _IMP_algebra.BoundedGridRange5D_get_maximum_extended_index(self)
7254 
7255  def __str__(self):
7256  r"""__str__(BoundedGridRange5D self) -> std::string"""
7257  return _IMP_algebra.BoundedGridRange5D___str__(self)
7258 
7259  def __repr__(self):
7260  r"""__repr__(BoundedGridRange5D self) -> std::string"""
7261  return _IMP_algebra.BoundedGridRange5D___repr__(self)
7262 
7263  def __cmp__(self, arg2):
7264  r"""__cmp__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> int"""
7265  return _IMP_algebra.BoundedGridRange5D___cmp__(self, arg2)
7266 
7267  def __eq__(self, arg2):
7268  r"""__eq__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> bool"""
7269  return _IMP_algebra.BoundedGridRange5D___eq__(self, arg2)
7270 
7271  def _get_as_binary(self):
7272  r"""_get_as_binary(BoundedGridRange5D self) -> PyObject *"""
7273  return _IMP_algebra.BoundedGridRange5D__get_as_binary(self)
7274 
7275  def _set_from_binary(self, p):
7276  r"""_set_from_binary(BoundedGridRange5D self, PyObject * p)"""
7277  return _IMP_algebra.BoundedGridRange5D__set_from_binary(self, p)
7278 
7279  def __getstate__(self):
7280  p = self._get_as_binary()
7281  if len(self.__dict__) > 1:
7282  d = self.__dict__.copy()
7283  del d['this']
7284  p = (d, p)
7285  return p
7286 
7287  def __setstate__(self, p):
7288  if not hasattr(self, 'this'):
7289  self.__init__()
7290  if isinstance(p, tuple):
7291  d, p = p
7292  self.__dict__.update(d)
7293  return self._set_from_binary(p)
7294 
7295  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange5D
7296 
7297 # Register BoundedGridRange5D in _IMP_algebra:
7298 _IMP_algebra.BoundedGridRange5D_swigregister(BoundedGridRange5D)
7299 class BoundedGridRange6D(object):
7300  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 6 > class."""
7301 
7302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7303 
7304  @staticmethod
7305  def get_is_bounded():
7306  r"""get_is_bounded() -> bool"""
7307  return _IMP_algebra.BoundedGridRange6D_get_is_bounded()
7308 
7309  def __init__(self, *args):
7310  r"""
7311  __init__(BoundedGridRange6D self) -> BoundedGridRange6D
7312  __init__(BoundedGridRange6D self, IMP::Ints const & counts) -> BoundedGridRange6D
7313  """
7314  _IMP_algebra.BoundedGridRange6D_swiginit(self, _IMP_algebra.new_BoundedGridRange6D(*args))
7315 
7316  def get_number_of_voxels(self, *args):
7317  r"""
7318  get_number_of_voxels(BoundedGridRange6D self, unsigned int i) -> unsigned int
7319  get_number_of_voxels(BoundedGridRange6D self) -> unsigned int
7320  """
7321  return _IMP_algebra.BoundedGridRange6D_get_number_of_voxels(self, *args)
7322 
7323  def get_end_index(self):
7324  r"""get_end_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7325  return _IMP_algebra.BoundedGridRange6D_get_end_index(self)
7326 
7327  def show(self, *args):
7328  r"""show(BoundedGridRange6D self, _ostream out=std::cout)"""
7329  return _IMP_algebra.BoundedGridRange6D_show(self, *args)
7330 
7331  def get_all_indexes(self):
7332  r"""get_all_indexes(BoundedGridRange6D self) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
7333  return _IMP_algebra.BoundedGridRange6D_get_all_indexes(self)
7334 
7335  def get_indexes(self, lb, ub):
7336  r"""get_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
7337  return _IMP_algebra.BoundedGridRange6D_get_indexes(self, lb, ub)
7338 
7339  def get_extended_indexes(self, lb, ub):
7340  r"""get_extended_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
7341  return _IMP_algebra.BoundedGridRange6D_get_extended_indexes(self, lb, ub)
7342 
7343  def get_index(self, v):
7344  r"""get_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> GridIndex6D"""
7345  return _IMP_algebra.BoundedGridRange6D_get_index(self, v)
7346 
7347  def get_has_index(self, v):
7348  r"""get_has_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> bool"""
7349  return _IMP_algebra.BoundedGridRange6D_get_has_index(self, v)
7350 
7351  def get_minimum_extended_index(self):
7352  r"""get_minimum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7353  return _IMP_algebra.BoundedGridRange6D_get_minimum_extended_index(self)
7354 
7355  def get_maximum_extended_index(self):
7356  r"""get_maximum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7357  return _IMP_algebra.BoundedGridRange6D_get_maximum_extended_index(self)
7358 
7359  def __str__(self):
7360  r"""__str__(BoundedGridRange6D self) -> std::string"""
7361  return _IMP_algebra.BoundedGridRange6D___str__(self)
7362 
7363  def __repr__(self):
7364  r"""__repr__(BoundedGridRange6D self) -> std::string"""
7365  return _IMP_algebra.BoundedGridRange6D___repr__(self)
7366 
7367  def __cmp__(self, arg2):
7368  r"""__cmp__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> int"""
7369  return _IMP_algebra.BoundedGridRange6D___cmp__(self, arg2)
7370 
7371  def __eq__(self, arg2):
7372  r"""__eq__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> bool"""
7373  return _IMP_algebra.BoundedGridRange6D___eq__(self, arg2)
7374 
7375  def _get_as_binary(self):
7376  r"""_get_as_binary(BoundedGridRange6D self) -> PyObject *"""
7377  return _IMP_algebra.BoundedGridRange6D__get_as_binary(self)
7378 
7379  def _set_from_binary(self, p):
7380  r"""_set_from_binary(BoundedGridRange6D self, PyObject * p)"""
7381  return _IMP_algebra.BoundedGridRange6D__set_from_binary(self, p)
7382 
7383  def __getstate__(self):
7384  p = self._get_as_binary()
7385  if len(self.__dict__) > 1:
7386  d = self.__dict__.copy()
7387  del d['this']
7388  p = (d, p)
7389  return p
7390 
7391  def __setstate__(self, p):
7392  if not hasattr(self, 'this'):
7393  self.__init__()
7394  if isinstance(p, tuple):
7395  d, p = p
7396  self.__dict__.update(d)
7397  return self._set_from_binary(p)
7398 
7399  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange6D
7400 
7401 # Register BoundedGridRange6D in _IMP_algebra:
7402 _IMP_algebra.BoundedGridRange6D_swigregister(BoundedGridRange6D)
7403 class BoundedGridRangeKD(object):
7404  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< -1 > class."""
7405 
7406  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7407 
7408  @staticmethod
7409  def get_is_bounded():
7410  r"""get_is_bounded() -> bool"""
7411  return _IMP_algebra.BoundedGridRangeKD_get_is_bounded()
7412 
7413  def __init__(self, *args):
7414  r"""
7415  __init__(BoundedGridRangeKD self) -> BoundedGridRangeKD
7416  __init__(BoundedGridRangeKD self, IMP::Ints const & counts) -> BoundedGridRangeKD
7417  """
7418  _IMP_algebra.BoundedGridRangeKD_swiginit(self, _IMP_algebra.new_BoundedGridRangeKD(*args))
7419 
7420  def get_number_of_voxels(self, *args):
7421  r"""
7422  get_number_of_voxels(BoundedGridRangeKD self, unsigned int i) -> unsigned int
7423  get_number_of_voxels(BoundedGridRangeKD self) -> unsigned int
7424  """
7425  return _IMP_algebra.BoundedGridRangeKD_get_number_of_voxels(self, *args)
7426 
7427  def get_end_index(self):
7428  r"""get_end_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7429  return _IMP_algebra.BoundedGridRangeKD_get_end_index(self)
7430 
7431  def show(self, *args):
7432  r"""show(BoundedGridRangeKD self, _ostream out=std::cout)"""
7433  return _IMP_algebra.BoundedGridRangeKD_show(self, *args)
7434 
7435  def get_all_indexes(self):
7436  r"""get_all_indexes(BoundedGridRangeKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
7437  return _IMP_algebra.BoundedGridRangeKD_get_all_indexes(self)
7438 
7439  def get_indexes(self, lb, ub):
7440  r"""get_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
7441  return _IMP_algebra.BoundedGridRangeKD_get_indexes(self, lb, ub)
7442 
7443  def get_extended_indexes(self, lb, ub):
7444  r"""get_extended_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
7445  return _IMP_algebra.BoundedGridRangeKD_get_extended_indexes(self, lb, ub)
7446 
7447  def get_index(self, v):
7448  r"""get_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
7449  return _IMP_algebra.BoundedGridRangeKD_get_index(self, v)
7450 
7451  def get_has_index(self, v):
7452  r"""get_has_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> bool"""
7453  return _IMP_algebra.BoundedGridRangeKD_get_has_index(self, v)
7454 
7455  def get_minimum_extended_index(self):
7456  r"""get_minimum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7457  return _IMP_algebra.BoundedGridRangeKD_get_minimum_extended_index(self)
7458 
7459  def get_maximum_extended_index(self):
7460  r"""get_maximum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7461  return _IMP_algebra.BoundedGridRangeKD_get_maximum_extended_index(self)
7462 
7463  def __str__(self):
7464  r"""__str__(BoundedGridRangeKD self) -> std::string"""
7465  return _IMP_algebra.BoundedGridRangeKD___str__(self)
7466 
7467  def __repr__(self):
7468  r"""__repr__(BoundedGridRangeKD self) -> std::string"""
7469  return _IMP_algebra.BoundedGridRangeKD___repr__(self)
7470 
7471  def __cmp__(self, arg2):
7472  r"""__cmp__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> int"""
7473  return _IMP_algebra.BoundedGridRangeKD___cmp__(self, arg2)
7474 
7475  def __eq__(self, arg2):
7476  r"""__eq__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> bool"""
7477  return _IMP_algebra.BoundedGridRangeKD___eq__(self, arg2)
7478 
7479  def _get_as_binary(self):
7480  r"""_get_as_binary(BoundedGridRangeKD self) -> PyObject *"""
7481  return _IMP_algebra.BoundedGridRangeKD__get_as_binary(self)
7482 
7483  def _set_from_binary(self, p):
7484  r"""_set_from_binary(BoundedGridRangeKD self, PyObject * p)"""
7485  return _IMP_algebra.BoundedGridRangeKD__set_from_binary(self, p)
7486 
7487  def __getstate__(self):
7488  p = self._get_as_binary()
7489  if len(self.__dict__) > 1:
7490  d = self.__dict__.copy()
7491  del d['this']
7492  p = (d, p)
7493  return p
7494 
7495  def __setstate__(self, p):
7496  if not hasattr(self, 'this'):
7497  self.__init__()
7498  if isinstance(p, tuple):
7499  d, p = p
7500  self.__dict__.update(d)
7501  return self._set_from_binary(p)
7502 
7503  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRangeKD
7504 
7505 # Register BoundedGridRangeKD in _IMP_algebra:
7506 _IMP_algebra.BoundedGridRangeKD_swigregister(BoundedGridRangeKD)
7507 class UnboundedGridRange1D(object):
7508  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 1 > class."""
7509 
7510  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7511 
7512  def __init__(self, *args):
7513  r"""
7514  __init__(UnboundedGridRange1D self) -> UnboundedGridRange1D
7515  __init__(UnboundedGridRange1D self, IMP::Ints const & arg2) -> UnboundedGridRange1D
7516  """
7517  _IMP_algebra.UnboundedGridRange1D_swiginit(self, _IMP_algebra.new_UnboundedGridRange1D(*args))
7518 
7519  def set_number_of_voxels(self, arg2):
7520  r"""set_number_of_voxels(UnboundedGridRange1D self, IMP::Ints arg2)"""
7521  return _IMP_algebra.UnboundedGridRange1D_set_number_of_voxels(self, arg2)
7522 
7523  def get_number_of_voxels(self, arg2):
7524  r"""get_number_of_voxels(UnboundedGridRange1D self, int arg2) -> unsigned int"""
7525  return _IMP_algebra.UnboundedGridRange1D_get_number_of_voxels(self, arg2)
7526 
7527  @staticmethod
7528  def get_is_bounded():
7529  r"""get_is_bounded() -> bool"""
7530  return _IMP_algebra.UnboundedGridRange1D_get_is_bounded()
7531 
7532  def get_has_index(self, arg2):
7533  r"""get_has_index(UnboundedGridRange1D self, ExtendedGridIndex1D arg2) -> bool"""
7534  return _IMP_algebra.UnboundedGridRange1D_get_has_index(self, arg2)
7535 
7536  def show(self, *args):
7537  r"""show(UnboundedGridRange1D self, _ostream out=std::cout)"""
7538  return _IMP_algebra.UnboundedGridRange1D_show(self, *args)
7539 
7540  def get_extended_indexes(self, lb, ub):
7541  r"""get_extended_indexes(UnboundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
7542  return _IMP_algebra.UnboundedGridRange1D_get_extended_indexes(self, lb, ub)
7543 
7544  def __str__(self):
7545  r"""__str__(UnboundedGridRange1D self) -> std::string"""
7546  return _IMP_algebra.UnboundedGridRange1D___str__(self)
7547 
7548  def __repr__(self):
7549  r"""__repr__(UnboundedGridRange1D self) -> std::string"""
7550  return _IMP_algebra.UnboundedGridRange1D___repr__(self)
7551 
7552  def __cmp__(self, arg2):
7553  r"""__cmp__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> int"""
7554  return _IMP_algebra.UnboundedGridRange1D___cmp__(self, arg2)
7555 
7556  def __eq__(self, arg2):
7557  r"""__eq__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> bool"""
7558  return _IMP_algebra.UnboundedGridRange1D___eq__(self, arg2)
7559 
7560  def _get_as_binary(self):
7561  r"""_get_as_binary(UnboundedGridRange1D self) -> PyObject *"""
7562  return _IMP_algebra.UnboundedGridRange1D__get_as_binary(self)
7563 
7564  def _set_from_binary(self, p):
7565  r"""_set_from_binary(UnboundedGridRange1D self, PyObject * p)"""
7566  return _IMP_algebra.UnboundedGridRange1D__set_from_binary(self, p)
7567 
7568  def __getstate__(self):
7569  p = self._get_as_binary()
7570  if len(self.__dict__) > 1:
7571  d = self.__dict__.copy()
7572  del d['this']
7573  p = (d, p)
7574  return p
7575 
7576  def __setstate__(self, p):
7577  if not hasattr(self, 'this'):
7578  self.__init__()
7579  if isinstance(p, tuple):
7580  d, p = p
7581  self.__dict__.update(d)
7582  return self._set_from_binary(p)
7583 
7584  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange1D
7585 
7586 # Register UnboundedGridRange1D in _IMP_algebra:
7587 _IMP_algebra.UnboundedGridRange1D_swigregister(UnboundedGridRange1D)
7588 class UnboundedGridRange2D(object):
7589  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 2 > class."""
7590 
7591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7592 
7593  def __init__(self, *args):
7594  r"""
7595  __init__(UnboundedGridRange2D self) -> UnboundedGridRange2D
7596  __init__(UnboundedGridRange2D self, IMP::Ints const & arg2) -> UnboundedGridRange2D
7597  """
7598  _IMP_algebra.UnboundedGridRange2D_swiginit(self, _IMP_algebra.new_UnboundedGridRange2D(*args))
7599 
7600  def set_number_of_voxels(self, arg2):
7601  r"""set_number_of_voxels(UnboundedGridRange2D self, IMP::Ints arg2)"""
7602  return _IMP_algebra.UnboundedGridRange2D_set_number_of_voxels(self, arg2)
7603 
7604  def get_number_of_voxels(self, arg2):
7605  r"""get_number_of_voxels(UnboundedGridRange2D self, int arg2) -> unsigned int"""
7606  return _IMP_algebra.UnboundedGridRange2D_get_number_of_voxels(self, arg2)
7607 
7608  @staticmethod
7609  def get_is_bounded():
7610  r"""get_is_bounded() -> bool"""
7611  return _IMP_algebra.UnboundedGridRange2D_get_is_bounded()
7612 
7613  def get_has_index(self, arg2):
7614  r"""get_has_index(UnboundedGridRange2D self, ExtendedGridIndex2D arg2) -> bool"""
7615  return _IMP_algebra.UnboundedGridRange2D_get_has_index(self, arg2)
7616 
7617  def show(self, *args):
7618  r"""show(UnboundedGridRange2D self, _ostream out=std::cout)"""
7619  return _IMP_algebra.UnboundedGridRange2D_show(self, *args)
7620 
7621  def get_extended_indexes(self, lb, ub):
7622  r"""get_extended_indexes(UnboundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
7623  return _IMP_algebra.UnboundedGridRange2D_get_extended_indexes(self, lb, ub)
7624 
7625  def __str__(self):
7626  r"""__str__(UnboundedGridRange2D self) -> std::string"""
7627  return _IMP_algebra.UnboundedGridRange2D___str__(self)
7628 
7629  def __repr__(self):
7630  r"""__repr__(UnboundedGridRange2D self) -> std::string"""
7631  return _IMP_algebra.UnboundedGridRange2D___repr__(self)
7632 
7633  def __cmp__(self, arg2):
7634  r"""__cmp__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> int"""
7635  return _IMP_algebra.UnboundedGridRange2D___cmp__(self, arg2)
7636 
7637  def __eq__(self, arg2):
7638  r"""__eq__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> bool"""
7639  return _IMP_algebra.UnboundedGridRange2D___eq__(self, arg2)
7640 
7641  def _get_as_binary(self):
7642  r"""_get_as_binary(UnboundedGridRange2D self) -> PyObject *"""
7643  return _IMP_algebra.UnboundedGridRange2D__get_as_binary(self)
7644 
7645  def _set_from_binary(self, p):
7646  r"""_set_from_binary(UnboundedGridRange2D self, PyObject * p)"""
7647  return _IMP_algebra.UnboundedGridRange2D__set_from_binary(self, p)
7648 
7649  def __getstate__(self):
7650  p = self._get_as_binary()
7651  if len(self.__dict__) > 1:
7652  d = self.__dict__.copy()
7653  del d['this']
7654  p = (d, p)
7655  return p
7656 
7657  def __setstate__(self, p):
7658  if not hasattr(self, 'this'):
7659  self.__init__()
7660  if isinstance(p, tuple):
7661  d, p = p
7662  self.__dict__.update(d)
7663  return self._set_from_binary(p)
7664 
7665  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange2D
7666 
7667 # Register UnboundedGridRange2D in _IMP_algebra:
7668 _IMP_algebra.UnboundedGridRange2D_swigregister(UnboundedGridRange2D)
7669 class UnboundedGridRange3D(object):
7670  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 3 > class."""
7671 
7672  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7673 
7674  def __init__(self, *args):
7675  r"""
7676  __init__(UnboundedGridRange3D self) -> UnboundedGridRange3D
7677  __init__(UnboundedGridRange3D self, IMP::Ints const & arg2) -> UnboundedGridRange3D
7678  """
7679  _IMP_algebra.UnboundedGridRange3D_swiginit(self, _IMP_algebra.new_UnboundedGridRange3D(*args))
7680 
7681  def set_number_of_voxels(self, arg2):
7682  r"""set_number_of_voxels(UnboundedGridRange3D self, IMP::Ints arg2)"""
7683  return _IMP_algebra.UnboundedGridRange3D_set_number_of_voxels(self, arg2)
7684 
7685  def get_number_of_voxels(self, arg2):
7686  r"""get_number_of_voxels(UnboundedGridRange3D self, int arg2) -> unsigned int"""
7687  return _IMP_algebra.UnboundedGridRange3D_get_number_of_voxels(self, arg2)
7688 
7689  @staticmethod
7690  def get_is_bounded():
7691  r"""get_is_bounded() -> bool"""
7692  return _IMP_algebra.UnboundedGridRange3D_get_is_bounded()
7693 
7694  def get_has_index(self, arg2):
7695  r"""get_has_index(UnboundedGridRange3D self, ExtendedGridIndex3D arg2) -> bool"""
7696  return _IMP_algebra.UnboundedGridRange3D_get_has_index(self, arg2)
7697 
7698  def show(self, *args):
7699  r"""show(UnboundedGridRange3D self, _ostream out=std::cout)"""
7700  return _IMP_algebra.UnboundedGridRange3D_show(self, *args)
7701 
7702  def get_extended_indexes(self, lb, ub):
7703  r"""get_extended_indexes(UnboundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
7704  return _IMP_algebra.UnboundedGridRange3D_get_extended_indexes(self, lb, ub)
7705 
7706  def __str__(self):
7707  r"""__str__(UnboundedGridRange3D self) -> std::string"""
7708  return _IMP_algebra.UnboundedGridRange3D___str__(self)
7709 
7710  def __repr__(self):
7711  r"""__repr__(UnboundedGridRange3D self) -> std::string"""
7712  return _IMP_algebra.UnboundedGridRange3D___repr__(self)
7713 
7714  def __cmp__(self, arg2):
7715  r"""__cmp__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> int"""
7716  return _IMP_algebra.UnboundedGridRange3D___cmp__(self, arg2)
7717 
7718  def __eq__(self, arg2):
7719  r"""__eq__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> bool"""
7720  return _IMP_algebra.UnboundedGridRange3D___eq__(self, arg2)
7721 
7722  def _get_as_binary(self):
7723  r"""_get_as_binary(UnboundedGridRange3D self) -> PyObject *"""
7724  return _IMP_algebra.UnboundedGridRange3D__get_as_binary(self)
7725 
7726  def _set_from_binary(self, p):
7727  r"""_set_from_binary(UnboundedGridRange3D self, PyObject * p)"""
7728  return _IMP_algebra.UnboundedGridRange3D__set_from_binary(self, p)
7729 
7730  def __getstate__(self):
7731  p = self._get_as_binary()
7732  if len(self.__dict__) > 1:
7733  d = self.__dict__.copy()
7734  del d['this']
7735  p = (d, p)
7736  return p
7737 
7738  def __setstate__(self, p):
7739  if not hasattr(self, 'this'):
7740  self.__init__()
7741  if isinstance(p, tuple):
7742  d, p = p
7743  self.__dict__.update(d)
7744  return self._set_from_binary(p)
7745 
7746  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange3D
7747 
7748 # Register UnboundedGridRange3D in _IMP_algebra:
7749 _IMP_algebra.UnboundedGridRange3D_swigregister(UnboundedGridRange3D)
7750 class UnboundedGridRange4D(object):
7751  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 4 > class."""
7752 
7753  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7754 
7755  def __init__(self, *args):
7756  r"""
7757  __init__(UnboundedGridRange4D self) -> UnboundedGridRange4D
7758  __init__(UnboundedGridRange4D self, IMP::Ints const & arg2) -> UnboundedGridRange4D
7759  """
7760  _IMP_algebra.UnboundedGridRange4D_swiginit(self, _IMP_algebra.new_UnboundedGridRange4D(*args))
7761 
7762  def set_number_of_voxels(self, arg2):
7763  r"""set_number_of_voxels(UnboundedGridRange4D self, IMP::Ints arg2)"""
7764  return _IMP_algebra.UnboundedGridRange4D_set_number_of_voxels(self, arg2)
7765 
7766  def get_number_of_voxels(self, arg2):
7767  r"""get_number_of_voxels(UnboundedGridRange4D self, int arg2) -> unsigned int"""
7768  return _IMP_algebra.UnboundedGridRange4D_get_number_of_voxels(self, arg2)
7769 
7770  @staticmethod
7771  def get_is_bounded():
7772  r"""get_is_bounded() -> bool"""
7773  return _IMP_algebra.UnboundedGridRange4D_get_is_bounded()
7774 
7775  def get_has_index(self, arg2):
7776  r"""get_has_index(UnboundedGridRange4D self, ExtendedGridIndex4D arg2) -> bool"""
7777  return _IMP_algebra.UnboundedGridRange4D_get_has_index(self, arg2)
7778 
7779  def show(self, *args):
7780  r"""show(UnboundedGridRange4D self, _ostream out=std::cout)"""
7781  return _IMP_algebra.UnboundedGridRange4D_show(self, *args)
7782 
7783  def get_extended_indexes(self, lb, ub):
7784  r"""get_extended_indexes(UnboundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
7785  return _IMP_algebra.UnboundedGridRange4D_get_extended_indexes(self, lb, ub)
7786 
7787  def __str__(self):
7788  r"""__str__(UnboundedGridRange4D self) -> std::string"""
7789  return _IMP_algebra.UnboundedGridRange4D___str__(self)
7790 
7791  def __repr__(self):
7792  r"""__repr__(UnboundedGridRange4D self) -> std::string"""
7793  return _IMP_algebra.UnboundedGridRange4D___repr__(self)
7794 
7795  def __cmp__(self, arg2):
7796  r"""__cmp__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> int"""
7797  return _IMP_algebra.UnboundedGridRange4D___cmp__(self, arg2)
7798 
7799  def __eq__(self, arg2):
7800  r"""__eq__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> bool"""
7801  return _IMP_algebra.UnboundedGridRange4D___eq__(self, arg2)
7802 
7803  def _get_as_binary(self):
7804  r"""_get_as_binary(UnboundedGridRange4D self) -> PyObject *"""
7805  return _IMP_algebra.UnboundedGridRange4D__get_as_binary(self)
7806 
7807  def _set_from_binary(self, p):
7808  r"""_set_from_binary(UnboundedGridRange4D self, PyObject * p)"""
7809  return _IMP_algebra.UnboundedGridRange4D__set_from_binary(self, p)
7810 
7811  def __getstate__(self):
7812  p = self._get_as_binary()
7813  if len(self.__dict__) > 1:
7814  d = self.__dict__.copy()
7815  del d['this']
7816  p = (d, p)
7817  return p
7818 
7819  def __setstate__(self, p):
7820  if not hasattr(self, 'this'):
7821  self.__init__()
7822  if isinstance(p, tuple):
7823  d, p = p
7824  self.__dict__.update(d)
7825  return self._set_from_binary(p)
7826 
7827  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange4D
7828 
7829 # Register UnboundedGridRange4D in _IMP_algebra:
7830 _IMP_algebra.UnboundedGridRange4D_swigregister(UnboundedGridRange4D)
7831 class UnboundedGridRange5D(object):
7832  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 5 > class."""
7833 
7834  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7835 
7836  def __init__(self, *args):
7837  r"""
7838  __init__(UnboundedGridRange5D self) -> UnboundedGridRange5D
7839  __init__(UnboundedGridRange5D self, IMP::Ints const & arg2) -> UnboundedGridRange5D
7840  """
7841  _IMP_algebra.UnboundedGridRange5D_swiginit(self, _IMP_algebra.new_UnboundedGridRange5D(*args))
7842 
7843  def set_number_of_voxels(self, arg2):
7844  r"""set_number_of_voxels(UnboundedGridRange5D self, IMP::Ints arg2)"""
7845  return _IMP_algebra.UnboundedGridRange5D_set_number_of_voxels(self, arg2)
7846 
7847  def get_number_of_voxels(self, arg2):
7848  r"""get_number_of_voxels(UnboundedGridRange5D self, int arg2) -> unsigned int"""
7849  return _IMP_algebra.UnboundedGridRange5D_get_number_of_voxels(self, arg2)
7850 
7851  @staticmethod
7852  def get_is_bounded():
7853  r"""get_is_bounded() -> bool"""
7854  return _IMP_algebra.UnboundedGridRange5D_get_is_bounded()
7855 
7856  def get_has_index(self, arg2):
7857  r"""get_has_index(UnboundedGridRange5D self, ExtendedGridIndex5D arg2) -> bool"""
7858  return _IMP_algebra.UnboundedGridRange5D_get_has_index(self, arg2)
7859 
7860  def show(self, *args):
7861  r"""show(UnboundedGridRange5D self, _ostream out=std::cout)"""
7862  return _IMP_algebra.UnboundedGridRange5D_show(self, *args)
7863 
7864  def get_extended_indexes(self, lb, ub):
7865  r"""get_extended_indexes(UnboundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
7866  return _IMP_algebra.UnboundedGridRange5D_get_extended_indexes(self, lb, ub)
7867 
7868  def __str__(self):
7869  r"""__str__(UnboundedGridRange5D self) -> std::string"""
7870  return _IMP_algebra.UnboundedGridRange5D___str__(self)
7871 
7872  def __repr__(self):
7873  r"""__repr__(UnboundedGridRange5D self) -> std::string"""
7874  return _IMP_algebra.UnboundedGridRange5D___repr__(self)
7875 
7876  def __cmp__(self, arg2):
7877  r"""__cmp__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> int"""
7878  return _IMP_algebra.UnboundedGridRange5D___cmp__(self, arg2)
7879 
7880  def __eq__(self, arg2):
7881  r"""__eq__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> bool"""
7882  return _IMP_algebra.UnboundedGridRange5D___eq__(self, arg2)
7883 
7884  def _get_as_binary(self):
7885  r"""_get_as_binary(UnboundedGridRange5D self) -> PyObject *"""
7886  return _IMP_algebra.UnboundedGridRange5D__get_as_binary(self)
7887 
7888  def _set_from_binary(self, p):
7889  r"""_set_from_binary(UnboundedGridRange5D self, PyObject * p)"""
7890  return _IMP_algebra.UnboundedGridRange5D__set_from_binary(self, p)
7891 
7892  def __getstate__(self):
7893  p = self._get_as_binary()
7894  if len(self.__dict__) > 1:
7895  d = self.__dict__.copy()
7896  del d['this']
7897  p = (d, p)
7898  return p
7899 
7900  def __setstate__(self, p):
7901  if not hasattr(self, 'this'):
7902  self.__init__()
7903  if isinstance(p, tuple):
7904  d, p = p
7905  self.__dict__.update(d)
7906  return self._set_from_binary(p)
7907 
7908  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange5D
7909 
7910 # Register UnboundedGridRange5D in _IMP_algebra:
7911 _IMP_algebra.UnboundedGridRange5D_swigregister(UnboundedGridRange5D)
7912 class UnboundedGridRange6D(object):
7913  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 6 > class."""
7914 
7915  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7916 
7917  def __init__(self, *args):
7918  r"""
7919  __init__(UnboundedGridRange6D self) -> UnboundedGridRange6D
7920  __init__(UnboundedGridRange6D self, IMP::Ints const & arg2) -> UnboundedGridRange6D
7921  """
7922  _IMP_algebra.UnboundedGridRange6D_swiginit(self, _IMP_algebra.new_UnboundedGridRange6D(*args))
7923 
7924  def set_number_of_voxels(self, arg2):
7925  r"""set_number_of_voxels(UnboundedGridRange6D self, IMP::Ints arg2)"""
7926  return _IMP_algebra.UnboundedGridRange6D_set_number_of_voxels(self, arg2)
7927 
7928  def get_number_of_voxels(self, arg2):
7929  r"""get_number_of_voxels(UnboundedGridRange6D self, int arg2) -> unsigned int"""
7930  return _IMP_algebra.UnboundedGridRange6D_get_number_of_voxels(self, arg2)
7931 
7932  @staticmethod
7933  def get_is_bounded():
7934  r"""get_is_bounded() -> bool"""
7935  return _IMP_algebra.UnboundedGridRange6D_get_is_bounded()
7936 
7937  def get_has_index(self, arg2):
7938  r"""get_has_index(UnboundedGridRange6D self, ExtendedGridIndex6D arg2) -> bool"""
7939  return _IMP_algebra.UnboundedGridRange6D_get_has_index(self, arg2)
7940 
7941  def show(self, *args):
7942  r"""show(UnboundedGridRange6D self, _ostream out=std::cout)"""
7943  return _IMP_algebra.UnboundedGridRange6D_show(self, *args)
7944 
7945  def get_extended_indexes(self, lb, ub):
7946  r"""get_extended_indexes(UnboundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
7947  return _IMP_algebra.UnboundedGridRange6D_get_extended_indexes(self, lb, ub)
7948 
7949  def __str__(self):
7950  r"""__str__(UnboundedGridRange6D self) -> std::string"""
7951  return _IMP_algebra.UnboundedGridRange6D___str__(self)
7952 
7953  def __repr__(self):
7954  r"""__repr__(UnboundedGridRange6D self) -> std::string"""
7955  return _IMP_algebra.UnboundedGridRange6D___repr__(self)
7956 
7957  def __cmp__(self, arg2):
7958  r"""__cmp__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> int"""
7959  return _IMP_algebra.UnboundedGridRange6D___cmp__(self, arg2)
7960 
7961  def __eq__(self, arg2):
7962  r"""__eq__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> bool"""
7963  return _IMP_algebra.UnboundedGridRange6D___eq__(self, arg2)
7964 
7965  def _get_as_binary(self):
7966  r"""_get_as_binary(UnboundedGridRange6D self) -> PyObject *"""
7967  return _IMP_algebra.UnboundedGridRange6D__get_as_binary(self)
7968 
7969  def _set_from_binary(self, p):
7970  r"""_set_from_binary(UnboundedGridRange6D self, PyObject * p)"""
7971  return _IMP_algebra.UnboundedGridRange6D__set_from_binary(self, p)
7972 
7973  def __getstate__(self):
7974  p = self._get_as_binary()
7975  if len(self.__dict__) > 1:
7976  d = self.__dict__.copy()
7977  del d['this']
7978  p = (d, p)
7979  return p
7980 
7981  def __setstate__(self, p):
7982  if not hasattr(self, 'this'):
7983  self.__init__()
7984  if isinstance(p, tuple):
7985  d, p = p
7986  self.__dict__.update(d)
7987  return self._set_from_binary(p)
7988 
7989  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange6D
7990 
7991 # Register UnboundedGridRange6D in _IMP_algebra:
7992 _IMP_algebra.UnboundedGridRange6D_swigregister(UnboundedGridRange6D)
7993 class UnboundedGridRangeKD(object):
7994  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< -1 > class."""
7995 
7996  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7997 
7998  def __init__(self, *args):
7999  r"""
8000  __init__(UnboundedGridRangeKD self) -> UnboundedGridRangeKD
8001  __init__(UnboundedGridRangeKD self, IMP::Ints const & arg2) -> UnboundedGridRangeKD
8002  """
8003  _IMP_algebra.UnboundedGridRangeKD_swiginit(self, _IMP_algebra.new_UnboundedGridRangeKD(*args))
8004 
8005  def set_number_of_voxels(self, arg2):
8006  r"""set_number_of_voxels(UnboundedGridRangeKD self, IMP::Ints arg2)"""
8007  return _IMP_algebra.UnboundedGridRangeKD_set_number_of_voxels(self, arg2)
8008 
8009  def get_number_of_voxels(self, arg2):
8010  r"""get_number_of_voxels(UnboundedGridRangeKD self, int arg2) -> unsigned int"""
8011  return _IMP_algebra.UnboundedGridRangeKD_get_number_of_voxels(self, arg2)
8012 
8013  @staticmethod
8014  def get_is_bounded():
8015  r"""get_is_bounded() -> bool"""
8016  return _IMP_algebra.UnboundedGridRangeKD_get_is_bounded()
8017 
8018  def get_has_index(self, arg2):
8019  r"""get_has_index(UnboundedGridRangeKD self, ExtendedGridIndexKD arg2) -> bool"""
8020  return _IMP_algebra.UnboundedGridRangeKD_get_has_index(self, arg2)
8021 
8022  def show(self, *args):
8023  r"""show(UnboundedGridRangeKD self, _ostream out=std::cout)"""
8024  return _IMP_algebra.UnboundedGridRangeKD_show(self, *args)
8025 
8026  def get_extended_indexes(self, lb, ub):
8027  r"""get_extended_indexes(UnboundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
8028  return _IMP_algebra.UnboundedGridRangeKD_get_extended_indexes(self, lb, ub)
8029 
8030  def __str__(self):
8031  r"""__str__(UnboundedGridRangeKD self) -> std::string"""
8032  return _IMP_algebra.UnboundedGridRangeKD___str__(self)
8033 
8034  def __repr__(self):
8035  r"""__repr__(UnboundedGridRangeKD self) -> std::string"""
8036  return _IMP_algebra.UnboundedGridRangeKD___repr__(self)
8037 
8038  def __cmp__(self, arg2):
8039  r"""__cmp__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> int"""
8040  return _IMP_algebra.UnboundedGridRangeKD___cmp__(self, arg2)
8041 
8042  def __eq__(self, arg2):
8043  r"""__eq__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> bool"""
8044  return _IMP_algebra.UnboundedGridRangeKD___eq__(self, arg2)
8045 
8046  def _get_as_binary(self):
8047  r"""_get_as_binary(UnboundedGridRangeKD self) -> PyObject *"""
8048  return _IMP_algebra.UnboundedGridRangeKD__get_as_binary(self)
8049 
8050  def _set_from_binary(self, p):
8051  r"""_set_from_binary(UnboundedGridRangeKD self, PyObject * p)"""
8052  return _IMP_algebra.UnboundedGridRangeKD__set_from_binary(self, p)
8053 
8054  def __getstate__(self):
8055  p = self._get_as_binary()
8056  if len(self.__dict__) > 1:
8057  d = self.__dict__.copy()
8058  del d['this']
8059  p = (d, p)
8060  return p
8061 
8062  def __setstate__(self, p):
8063  if not hasattr(self, 'this'):
8064  self.__init__()
8065  if isinstance(p, tuple):
8066  d, p = p
8067  self.__dict__.update(d)
8068  return self._set_from_binary(p)
8069 
8070  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRangeKD
8071 
8072 # Register UnboundedGridRangeKD in _IMP_algebra:
8073 _IMP_algebra.UnboundedGridRangeKD_swigregister(UnboundedGridRangeKD)
8074 class DefaultEmbedding1D(object):
8075  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 1 > class."""
8076 
8077  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8078 
8079  def __init__(self, *args):
8080  r"""
8081  __init__(DefaultEmbedding1D self, Vector1D origin, Vector1D cell) -> DefaultEmbedding1D
8082  __init__(DefaultEmbedding1D self) -> DefaultEmbedding1D
8083  """
8084  _IMP_algebra.DefaultEmbedding1D_swiginit(self, _IMP_algebra.new_DefaultEmbedding1D(*args))
8085 
8086  def set_origin(self, o):
8087  r"""set_origin(DefaultEmbedding1D self, Vector1D o)"""
8088  return _IMP_algebra.DefaultEmbedding1D_set_origin(self, o)
8089 
8090  def get_origin(self):
8091  r"""get_origin(DefaultEmbedding1D self) -> Vector1D"""
8092  return _IMP_algebra.DefaultEmbedding1D_get_origin(self)
8093 
8094  def get_dimension(self):
8095  r"""get_dimension(DefaultEmbedding1D self) -> unsigned int"""
8096  return _IMP_algebra.DefaultEmbedding1D_get_dimension(self)
8097 
8098  def set_unit_cell(self, o):
8099  r"""set_unit_cell(DefaultEmbedding1D self, Vector1D o)"""
8100  return _IMP_algebra.DefaultEmbedding1D_set_unit_cell(self, o)
8101 
8102  def get_inverse_unit_cell(self):
8103  r"""get_inverse_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
8104  return _IMP_algebra.DefaultEmbedding1D_get_inverse_unit_cell(self)
8105 
8106  def get_unit_cell(self):
8107  r"""get_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
8108  return _IMP_algebra.DefaultEmbedding1D_get_unit_cell(self)
8109 
8110  def get_extended_index(self, o):
8111  r"""get_extended_index(DefaultEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
8112  return _IMP_algebra.DefaultEmbedding1D_get_extended_index(self, o)
8113 
8114  def get_index(self, o):
8115  r"""get_index(DefaultEmbedding1D self, Vector1D o) -> GridIndex1D"""
8116  return _IMP_algebra.DefaultEmbedding1D_get_index(self, o)
8117 
8118  def get_center(self, *args):
8119  r"""
8120  get_center(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
8121  get_center(DefaultEmbedding1D self, GridIndex1D ei) -> Vector1D
8122  """
8123  return _IMP_algebra.DefaultEmbedding1D_get_center(self, *args)
8124 
8125  def get_bounding_box(self, *args):
8126  r"""
8127  get_bounding_box(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
8128  get_bounding_box(DefaultEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
8129  """
8130  return _IMP_algebra.DefaultEmbedding1D_get_bounding_box(self, *args)
8131 
8132  def show(self, *args):
8133  r"""show(DefaultEmbedding1D self, _ostream out=std::cout)"""
8134  return _IMP_algebra.DefaultEmbedding1D_show(self, *args)
8135 
8136  def __str__(self):
8137  r"""__str__(DefaultEmbedding1D self) -> std::string"""
8138  return _IMP_algebra.DefaultEmbedding1D___str__(self)
8139 
8140  def __repr__(self):
8141  r"""__repr__(DefaultEmbedding1D self) -> std::string"""
8142  return _IMP_algebra.DefaultEmbedding1D___repr__(self)
8143 
8144  def __cmp__(self, arg2):
8145  r"""__cmp__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> int"""
8146  return _IMP_algebra.DefaultEmbedding1D___cmp__(self, arg2)
8147 
8148  def __eq__(self, arg2):
8149  r"""__eq__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> bool"""
8150  return _IMP_algebra.DefaultEmbedding1D___eq__(self, arg2)
8151 
8152  def _get_as_binary(self):
8153  r"""_get_as_binary(DefaultEmbedding1D self) -> PyObject *"""
8154  return _IMP_algebra.DefaultEmbedding1D__get_as_binary(self)
8155 
8156  def _set_from_binary(self, p):
8157  r"""_set_from_binary(DefaultEmbedding1D self, PyObject * p)"""
8158  return _IMP_algebra.DefaultEmbedding1D__set_from_binary(self, p)
8159 
8160  def __getstate__(self):
8161  p = self._get_as_binary()
8162  if len(self.__dict__) > 1:
8163  d = self.__dict__.copy()
8164  del d['this']
8165  p = (d, p)
8166  return p
8167 
8168  def __setstate__(self, p):
8169  if not hasattr(self, 'this'):
8170  self.__init__()
8171  if isinstance(p, tuple):
8172  d, p = p
8173  self.__dict__.update(d)
8174  return self._set_from_binary(p)
8175 
8176  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding1D
8177 
8178 # Register DefaultEmbedding1D in _IMP_algebra:
8179 _IMP_algebra.DefaultEmbedding1D_swigregister(DefaultEmbedding1D)
8180 class DefaultEmbedding2D(object):
8181  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 2 > class."""
8182 
8183  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8184 
8185  def __init__(self, *args):
8186  r"""
8187  __init__(DefaultEmbedding2D self, Vector2D origin, Vector2D cell) -> DefaultEmbedding2D
8188  __init__(DefaultEmbedding2D self) -> DefaultEmbedding2D
8189  """
8190  _IMP_algebra.DefaultEmbedding2D_swiginit(self, _IMP_algebra.new_DefaultEmbedding2D(*args))
8191 
8192  def set_origin(self, o):
8193  r"""set_origin(DefaultEmbedding2D self, Vector2D o)"""
8194  return _IMP_algebra.DefaultEmbedding2D_set_origin(self, o)
8195 
8196  def get_origin(self):
8197  r"""get_origin(DefaultEmbedding2D self) -> Vector2D"""
8198  return _IMP_algebra.DefaultEmbedding2D_get_origin(self)
8199 
8200  def get_dimension(self):
8201  r"""get_dimension(DefaultEmbedding2D self) -> unsigned int"""
8202  return _IMP_algebra.DefaultEmbedding2D_get_dimension(self)
8203 
8204  def set_unit_cell(self, o):
8205  r"""set_unit_cell(DefaultEmbedding2D self, Vector2D o)"""
8206  return _IMP_algebra.DefaultEmbedding2D_set_unit_cell(self, o)
8207 
8208  def get_inverse_unit_cell(self):
8209  r"""get_inverse_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
8210  return _IMP_algebra.DefaultEmbedding2D_get_inverse_unit_cell(self)
8211 
8212  def get_unit_cell(self):
8213  r"""get_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
8214  return _IMP_algebra.DefaultEmbedding2D_get_unit_cell(self)
8215 
8216  def get_extended_index(self, o):
8217  r"""get_extended_index(DefaultEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
8218  return _IMP_algebra.DefaultEmbedding2D_get_extended_index(self, o)
8219 
8220  def get_index(self, o):
8221  r"""get_index(DefaultEmbedding2D self, Vector2D o) -> GridIndex2D"""
8222  return _IMP_algebra.DefaultEmbedding2D_get_index(self, o)
8223 
8224  def get_center(self, *args):
8225  r"""
8226  get_center(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
8227  get_center(DefaultEmbedding2D self, GridIndex2D ei) -> Vector2D
8228  """
8229  return _IMP_algebra.DefaultEmbedding2D_get_center(self, *args)
8230 
8231  def get_bounding_box(self, *args):
8232  r"""
8233  get_bounding_box(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
8234  get_bounding_box(DefaultEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
8235  """
8236  return _IMP_algebra.DefaultEmbedding2D_get_bounding_box(self, *args)
8237 
8238  def show(self, *args):
8239  r"""show(DefaultEmbedding2D self, _ostream out=std::cout)"""
8240  return _IMP_algebra.DefaultEmbedding2D_show(self, *args)
8241 
8242  def __str__(self):
8243  r"""__str__(DefaultEmbedding2D self) -> std::string"""
8244  return _IMP_algebra.DefaultEmbedding2D___str__(self)
8245 
8246  def __repr__(self):
8247  r"""__repr__(DefaultEmbedding2D self) -> std::string"""
8248  return _IMP_algebra.DefaultEmbedding2D___repr__(self)
8249 
8250  def __cmp__(self, arg2):
8251  r"""__cmp__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> int"""
8252  return _IMP_algebra.DefaultEmbedding2D___cmp__(self, arg2)
8253 
8254  def __eq__(self, arg2):
8255  r"""__eq__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> bool"""
8256  return _IMP_algebra.DefaultEmbedding2D___eq__(self, arg2)
8257 
8258  def _get_as_binary(self):
8259  r"""_get_as_binary(DefaultEmbedding2D self) -> PyObject *"""
8260  return _IMP_algebra.DefaultEmbedding2D__get_as_binary(self)
8261 
8262  def _set_from_binary(self, p):
8263  r"""_set_from_binary(DefaultEmbedding2D self, PyObject * p)"""
8264  return _IMP_algebra.DefaultEmbedding2D__set_from_binary(self, p)
8265 
8266  def __getstate__(self):
8267  p = self._get_as_binary()
8268  if len(self.__dict__) > 1:
8269  d = self.__dict__.copy()
8270  del d['this']
8271  p = (d, p)
8272  return p
8273 
8274  def __setstate__(self, p):
8275  if not hasattr(self, 'this'):
8276  self.__init__()
8277  if isinstance(p, tuple):
8278  d, p = p
8279  self.__dict__.update(d)
8280  return self._set_from_binary(p)
8281 
8282  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding2D
8283 
8284 # Register DefaultEmbedding2D in _IMP_algebra:
8285 _IMP_algebra.DefaultEmbedding2D_swigregister(DefaultEmbedding2D)
8286 class DefaultEmbedding3D(object):
8287  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 3 > class."""
8288 
8289  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8290 
8291  def __init__(self, *args):
8292  r"""
8293  __init__(DefaultEmbedding3D self, Vector3D origin, Vector3D cell) -> DefaultEmbedding3D
8294  __init__(DefaultEmbedding3D self) -> DefaultEmbedding3D
8295  """
8296  _IMP_algebra.DefaultEmbedding3D_swiginit(self, _IMP_algebra.new_DefaultEmbedding3D(*args))
8297 
8298  def set_origin(self, o):
8299  r"""set_origin(DefaultEmbedding3D self, Vector3D o)"""
8300  return _IMP_algebra.DefaultEmbedding3D_set_origin(self, o)
8301 
8302  def get_origin(self):
8303  r"""get_origin(DefaultEmbedding3D self) -> Vector3D"""
8304  return _IMP_algebra.DefaultEmbedding3D_get_origin(self)
8305 
8306  def get_dimension(self):
8307  r"""get_dimension(DefaultEmbedding3D self) -> unsigned int"""
8308  return _IMP_algebra.DefaultEmbedding3D_get_dimension(self)
8309 
8310  def set_unit_cell(self, o):
8311  r"""set_unit_cell(DefaultEmbedding3D self, Vector3D o)"""
8312  return _IMP_algebra.DefaultEmbedding3D_set_unit_cell(self, o)
8313 
8314  def get_inverse_unit_cell(self):
8315  r"""get_inverse_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
8316  return _IMP_algebra.DefaultEmbedding3D_get_inverse_unit_cell(self)
8317 
8318  def get_unit_cell(self):
8319  r"""get_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
8320  return _IMP_algebra.DefaultEmbedding3D_get_unit_cell(self)
8321 
8322  def get_extended_index(self, o):
8323  r"""get_extended_index(DefaultEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
8324  return _IMP_algebra.DefaultEmbedding3D_get_extended_index(self, o)
8325 
8326  def get_index(self, o):
8327  r"""get_index(DefaultEmbedding3D self, Vector3D o) -> GridIndex3D"""
8328  return _IMP_algebra.DefaultEmbedding3D_get_index(self, o)
8329 
8330  def get_center(self, *args):
8331  r"""
8332  get_center(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
8333  get_center(DefaultEmbedding3D self, GridIndex3D ei) -> Vector3D
8334  """
8335  return _IMP_algebra.DefaultEmbedding3D_get_center(self, *args)
8336 
8337  def get_bounding_box(self, *args):
8338  r"""
8339  get_bounding_box(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
8340  get_bounding_box(DefaultEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
8341  """
8342  return _IMP_algebra.DefaultEmbedding3D_get_bounding_box(self, *args)
8343 
8344  def show(self, *args):
8345  r"""show(DefaultEmbedding3D self, _ostream out=std::cout)"""
8346  return _IMP_algebra.DefaultEmbedding3D_show(self, *args)
8347 
8348  def __str__(self):
8349  r"""__str__(DefaultEmbedding3D self) -> std::string"""
8350  return _IMP_algebra.DefaultEmbedding3D___str__(self)
8351 
8352  def __repr__(self):
8353  r"""__repr__(DefaultEmbedding3D self) -> std::string"""
8354  return _IMP_algebra.DefaultEmbedding3D___repr__(self)
8355 
8356  def __cmp__(self, arg2):
8357  r"""__cmp__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> int"""
8358  return _IMP_algebra.DefaultEmbedding3D___cmp__(self, arg2)
8359 
8360  def __eq__(self, arg2):
8361  r"""__eq__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> bool"""
8362  return _IMP_algebra.DefaultEmbedding3D___eq__(self, arg2)
8363 
8364  def _get_as_binary(self):
8365  r"""_get_as_binary(DefaultEmbedding3D self) -> PyObject *"""
8366  return _IMP_algebra.DefaultEmbedding3D__get_as_binary(self)
8367 
8368  def _set_from_binary(self, p):
8369  r"""_set_from_binary(DefaultEmbedding3D self, PyObject * p)"""
8370  return _IMP_algebra.DefaultEmbedding3D__set_from_binary(self, p)
8371 
8372  def __getstate__(self):
8373  p = self._get_as_binary()
8374  if len(self.__dict__) > 1:
8375  d = self.__dict__.copy()
8376  del d['this']
8377  p = (d, p)
8378  return p
8379 
8380  def __setstate__(self, p):
8381  if not hasattr(self, 'this'):
8382  self.__init__()
8383  if isinstance(p, tuple):
8384  d, p = p
8385  self.__dict__.update(d)
8386  return self._set_from_binary(p)
8387 
8388  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding3D
8389 
8390 # Register DefaultEmbedding3D in _IMP_algebra:
8391 _IMP_algebra.DefaultEmbedding3D_swigregister(DefaultEmbedding3D)
8392 class DefaultEmbedding4D(object):
8393  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 4 > class."""
8394 
8395  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8396 
8397  def __init__(self, *args):
8398  r"""
8399  __init__(DefaultEmbedding4D self, Vector4D origin, Vector4D cell) -> DefaultEmbedding4D
8400  __init__(DefaultEmbedding4D self) -> DefaultEmbedding4D
8401  """
8402  _IMP_algebra.DefaultEmbedding4D_swiginit(self, _IMP_algebra.new_DefaultEmbedding4D(*args))
8403 
8404  def set_origin(self, o):
8405  r"""set_origin(DefaultEmbedding4D self, Vector4D o)"""
8406  return _IMP_algebra.DefaultEmbedding4D_set_origin(self, o)
8407 
8408  def get_origin(self):
8409  r"""get_origin(DefaultEmbedding4D self) -> Vector4D"""
8410  return _IMP_algebra.DefaultEmbedding4D_get_origin(self)
8411 
8412  def get_dimension(self):
8413  r"""get_dimension(DefaultEmbedding4D self) -> unsigned int"""
8414  return _IMP_algebra.DefaultEmbedding4D_get_dimension(self)
8415 
8416  def set_unit_cell(self, o):
8417  r"""set_unit_cell(DefaultEmbedding4D self, Vector4D o)"""
8418  return _IMP_algebra.DefaultEmbedding4D_set_unit_cell(self, o)
8419 
8420  def get_inverse_unit_cell(self):
8421  r"""get_inverse_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
8422  return _IMP_algebra.DefaultEmbedding4D_get_inverse_unit_cell(self)
8423 
8424  def get_unit_cell(self):
8425  r"""get_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
8426  return _IMP_algebra.DefaultEmbedding4D_get_unit_cell(self)
8427 
8428  def get_extended_index(self, o):
8429  r"""get_extended_index(DefaultEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
8430  return _IMP_algebra.DefaultEmbedding4D_get_extended_index(self, o)
8431 
8432  def get_index(self, o):
8433  r"""get_index(DefaultEmbedding4D self, Vector4D o) -> GridIndex4D"""
8434  return _IMP_algebra.DefaultEmbedding4D_get_index(self, o)
8435 
8436  def get_center(self, *args):
8437  r"""
8438  get_center(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
8439  get_center(DefaultEmbedding4D self, GridIndex4D ei) -> Vector4D
8440  """
8441  return _IMP_algebra.DefaultEmbedding4D_get_center(self, *args)
8442 
8443  def get_bounding_box(self, *args):
8444  r"""
8445  get_bounding_box(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
8446  get_bounding_box(DefaultEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
8447  """
8448  return _IMP_algebra.DefaultEmbedding4D_get_bounding_box(self, *args)
8449 
8450  def show(self, *args):
8451  r"""show(DefaultEmbedding4D self, _ostream out=std::cout)"""
8452  return _IMP_algebra.DefaultEmbedding4D_show(self, *args)
8453 
8454  def __str__(self):
8455  r"""__str__(DefaultEmbedding4D self) -> std::string"""
8456  return _IMP_algebra.DefaultEmbedding4D___str__(self)
8457 
8458  def __repr__(self):
8459  r"""__repr__(DefaultEmbedding4D self) -> std::string"""
8460  return _IMP_algebra.DefaultEmbedding4D___repr__(self)
8461 
8462  def __cmp__(self, arg2):
8463  r"""__cmp__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> int"""
8464  return _IMP_algebra.DefaultEmbedding4D___cmp__(self, arg2)
8465 
8466  def __eq__(self, arg2):
8467  r"""__eq__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> bool"""
8468  return _IMP_algebra.DefaultEmbedding4D___eq__(self, arg2)
8469 
8470  def _get_as_binary(self):
8471  r"""_get_as_binary(DefaultEmbedding4D self) -> PyObject *"""
8472  return _IMP_algebra.DefaultEmbedding4D__get_as_binary(self)
8473 
8474  def _set_from_binary(self, p):
8475  r"""_set_from_binary(DefaultEmbedding4D self, PyObject * p)"""
8476  return _IMP_algebra.DefaultEmbedding4D__set_from_binary(self, p)
8477 
8478  def __getstate__(self):
8479  p = self._get_as_binary()
8480  if len(self.__dict__) > 1:
8481  d = self.__dict__.copy()
8482  del d['this']
8483  p = (d, p)
8484  return p
8485 
8486  def __setstate__(self, p):
8487  if not hasattr(self, 'this'):
8488  self.__init__()
8489  if isinstance(p, tuple):
8490  d, p = p
8491  self.__dict__.update(d)
8492  return self._set_from_binary(p)
8493 
8494  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding4D
8495 
8496 # Register DefaultEmbedding4D in _IMP_algebra:
8497 _IMP_algebra.DefaultEmbedding4D_swigregister(DefaultEmbedding4D)
8498 class DefaultEmbedding5D(object):
8499  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 5 > class."""
8500 
8501  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8502 
8503  def __init__(self, *args):
8504  r"""
8505  __init__(DefaultEmbedding5D self, Vector5D origin, Vector5D cell) -> DefaultEmbedding5D
8506  __init__(DefaultEmbedding5D self) -> DefaultEmbedding5D
8507  """
8508  _IMP_algebra.DefaultEmbedding5D_swiginit(self, _IMP_algebra.new_DefaultEmbedding5D(*args))
8509 
8510  def set_origin(self, o):
8511  r"""set_origin(DefaultEmbedding5D self, Vector5D o)"""
8512  return _IMP_algebra.DefaultEmbedding5D_set_origin(self, o)
8513 
8514  def get_origin(self):
8515  r"""get_origin(DefaultEmbedding5D self) -> Vector5D"""
8516  return _IMP_algebra.DefaultEmbedding5D_get_origin(self)
8517 
8518  def get_dimension(self):
8519  r"""get_dimension(DefaultEmbedding5D self) -> unsigned int"""
8520  return _IMP_algebra.DefaultEmbedding5D_get_dimension(self)
8521 
8522  def set_unit_cell(self, o):
8523  r"""set_unit_cell(DefaultEmbedding5D self, Vector5D o)"""
8524  return _IMP_algebra.DefaultEmbedding5D_set_unit_cell(self, o)
8525 
8526  def get_inverse_unit_cell(self):
8527  r"""get_inverse_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
8528  return _IMP_algebra.DefaultEmbedding5D_get_inverse_unit_cell(self)
8529 
8530  def get_unit_cell(self):
8531  r"""get_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
8532  return _IMP_algebra.DefaultEmbedding5D_get_unit_cell(self)
8533 
8534  def get_extended_index(self, o):
8535  r"""get_extended_index(DefaultEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
8536  return _IMP_algebra.DefaultEmbedding5D_get_extended_index(self, o)
8537 
8538  def get_index(self, o):
8539  r"""get_index(DefaultEmbedding5D self, Vector5D o) -> GridIndex5D"""
8540  return _IMP_algebra.DefaultEmbedding5D_get_index(self, o)
8541 
8542  def get_center(self, *args):
8543  r"""
8544  get_center(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
8545  get_center(DefaultEmbedding5D self, GridIndex5D ei) -> Vector5D
8546  """
8547  return _IMP_algebra.DefaultEmbedding5D_get_center(self, *args)
8548 
8549  def get_bounding_box(self, *args):
8550  r"""
8551  get_bounding_box(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
8552  get_bounding_box(DefaultEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
8553  """
8554  return _IMP_algebra.DefaultEmbedding5D_get_bounding_box(self, *args)
8555 
8556  def show(self, *args):
8557  r"""show(DefaultEmbedding5D self, _ostream out=std::cout)"""
8558  return _IMP_algebra.DefaultEmbedding5D_show(self, *args)
8559 
8560  def __str__(self):
8561  r"""__str__(DefaultEmbedding5D self) -> std::string"""
8562  return _IMP_algebra.DefaultEmbedding5D___str__(self)
8563 
8564  def __repr__(self):
8565  r"""__repr__(DefaultEmbedding5D self) -> std::string"""
8566  return _IMP_algebra.DefaultEmbedding5D___repr__(self)
8567 
8568  def __cmp__(self, arg2):
8569  r"""__cmp__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> int"""
8570  return _IMP_algebra.DefaultEmbedding5D___cmp__(self, arg2)
8571 
8572  def __eq__(self, arg2):
8573  r"""__eq__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> bool"""
8574  return _IMP_algebra.DefaultEmbedding5D___eq__(self, arg2)
8575 
8576  def _get_as_binary(self):
8577  r"""_get_as_binary(DefaultEmbedding5D self) -> PyObject *"""
8578  return _IMP_algebra.DefaultEmbedding5D__get_as_binary(self)
8579 
8580  def _set_from_binary(self, p):
8581  r"""_set_from_binary(DefaultEmbedding5D self, PyObject * p)"""
8582  return _IMP_algebra.DefaultEmbedding5D__set_from_binary(self, p)
8583 
8584  def __getstate__(self):
8585  p = self._get_as_binary()
8586  if len(self.__dict__) > 1:
8587  d = self.__dict__.copy()
8588  del d['this']
8589  p = (d, p)
8590  return p
8591 
8592  def __setstate__(self, p):
8593  if not hasattr(self, 'this'):
8594  self.__init__()
8595  if isinstance(p, tuple):
8596  d, p = p
8597  self.__dict__.update(d)
8598  return self._set_from_binary(p)
8599 
8600  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding5D
8601 
8602 # Register DefaultEmbedding5D in _IMP_algebra:
8603 _IMP_algebra.DefaultEmbedding5D_swigregister(DefaultEmbedding5D)
8604 class DefaultEmbedding6D(object):
8605  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 6 > class."""
8606 
8607  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8608 
8609  def __init__(self, *args):
8610  r"""
8611  __init__(DefaultEmbedding6D self, Vector6D origin, Vector6D cell) -> DefaultEmbedding6D
8612  __init__(DefaultEmbedding6D self) -> DefaultEmbedding6D
8613  """
8614  _IMP_algebra.DefaultEmbedding6D_swiginit(self, _IMP_algebra.new_DefaultEmbedding6D(*args))
8615 
8616  def set_origin(self, o):
8617  r"""set_origin(DefaultEmbedding6D self, Vector6D o)"""
8618  return _IMP_algebra.DefaultEmbedding6D_set_origin(self, o)
8619 
8620  def get_origin(self):
8621  r"""get_origin(DefaultEmbedding6D self) -> Vector6D"""
8622  return _IMP_algebra.DefaultEmbedding6D_get_origin(self)
8623 
8624  def get_dimension(self):
8625  r"""get_dimension(DefaultEmbedding6D self) -> unsigned int"""
8626  return _IMP_algebra.DefaultEmbedding6D_get_dimension(self)
8627 
8628  def set_unit_cell(self, o):
8629  r"""set_unit_cell(DefaultEmbedding6D self, Vector6D o)"""
8630  return _IMP_algebra.DefaultEmbedding6D_set_unit_cell(self, o)
8631 
8632  def get_inverse_unit_cell(self):
8633  r"""get_inverse_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
8634  return _IMP_algebra.DefaultEmbedding6D_get_inverse_unit_cell(self)
8635 
8636  def get_unit_cell(self):
8637  r"""get_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
8638  return _IMP_algebra.DefaultEmbedding6D_get_unit_cell(self)
8639 
8640  def get_extended_index(self, o):
8641  r"""get_extended_index(DefaultEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
8642  return _IMP_algebra.DefaultEmbedding6D_get_extended_index(self, o)
8643 
8644  def get_index(self, o):
8645  r"""get_index(DefaultEmbedding6D self, Vector6D o) -> GridIndex6D"""
8646  return _IMP_algebra.DefaultEmbedding6D_get_index(self, o)
8647 
8648  def get_center(self, *args):
8649  r"""
8650  get_center(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
8651  get_center(DefaultEmbedding6D self, GridIndex6D ei) -> Vector6D
8652  """
8653  return _IMP_algebra.DefaultEmbedding6D_get_center(self, *args)
8654 
8655  def get_bounding_box(self, *args):
8656  r"""
8657  get_bounding_box(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
8658  get_bounding_box(DefaultEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
8659  """
8660  return _IMP_algebra.DefaultEmbedding6D_get_bounding_box(self, *args)
8661 
8662  def show(self, *args):
8663  r"""show(DefaultEmbedding6D self, _ostream out=std::cout)"""
8664  return _IMP_algebra.DefaultEmbedding6D_show(self, *args)
8665 
8666  def __str__(self):
8667  r"""__str__(DefaultEmbedding6D self) -> std::string"""
8668  return _IMP_algebra.DefaultEmbedding6D___str__(self)
8669 
8670  def __repr__(self):
8671  r"""__repr__(DefaultEmbedding6D self) -> std::string"""
8672  return _IMP_algebra.DefaultEmbedding6D___repr__(self)
8673 
8674  def __cmp__(self, arg2):
8675  r"""__cmp__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> int"""
8676  return _IMP_algebra.DefaultEmbedding6D___cmp__(self, arg2)
8677 
8678  def __eq__(self, arg2):
8679  r"""__eq__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> bool"""
8680  return _IMP_algebra.DefaultEmbedding6D___eq__(self, arg2)
8681 
8682  def _get_as_binary(self):
8683  r"""_get_as_binary(DefaultEmbedding6D self) -> PyObject *"""
8684  return _IMP_algebra.DefaultEmbedding6D__get_as_binary(self)
8685 
8686  def _set_from_binary(self, p):
8687  r"""_set_from_binary(DefaultEmbedding6D self, PyObject * p)"""
8688  return _IMP_algebra.DefaultEmbedding6D__set_from_binary(self, p)
8689 
8690  def __getstate__(self):
8691  p = self._get_as_binary()
8692  if len(self.__dict__) > 1:
8693  d = self.__dict__.copy()
8694  del d['this']
8695  p = (d, p)
8696  return p
8697 
8698  def __setstate__(self, p):
8699  if not hasattr(self, 'this'):
8700  self.__init__()
8701  if isinstance(p, tuple):
8702  d, p = p
8703  self.__dict__.update(d)
8704  return self._set_from_binary(p)
8705 
8706  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding6D
8707 
8708 # Register DefaultEmbedding6D in _IMP_algebra:
8709 _IMP_algebra.DefaultEmbedding6D_swigregister(DefaultEmbedding6D)
8710 class DefaultEmbeddingKD(object):
8711  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< -1 > class."""
8712 
8713  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8714 
8715  def __init__(self, *args):
8716  r"""
8717  __init__(DefaultEmbeddingKD self, VectorKD origin, VectorKD cell) -> DefaultEmbeddingKD
8718  __init__(DefaultEmbeddingKD self) -> DefaultEmbeddingKD
8719  """
8720  _IMP_algebra.DefaultEmbeddingKD_swiginit(self, _IMP_algebra.new_DefaultEmbeddingKD(*args))
8721 
8722  def set_origin(self, o):
8723  r"""set_origin(DefaultEmbeddingKD self, VectorKD o)"""
8724  return _IMP_algebra.DefaultEmbeddingKD_set_origin(self, o)
8725 
8726  def get_origin(self):
8727  r"""get_origin(DefaultEmbeddingKD self) -> VectorKD"""
8728  return _IMP_algebra.DefaultEmbeddingKD_get_origin(self)
8729 
8730  def get_dimension(self):
8731  r"""get_dimension(DefaultEmbeddingKD self) -> unsigned int"""
8732  return _IMP_algebra.DefaultEmbeddingKD_get_dimension(self)
8733 
8734  def set_unit_cell(self, o):
8735  r"""set_unit_cell(DefaultEmbeddingKD self, VectorKD o)"""
8736  return _IMP_algebra.DefaultEmbeddingKD_set_unit_cell(self, o)
8737 
8738  def get_inverse_unit_cell(self):
8739  r"""get_inverse_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
8740  return _IMP_algebra.DefaultEmbeddingKD_get_inverse_unit_cell(self)
8741 
8742  def get_unit_cell(self):
8743  r"""get_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
8744  return _IMP_algebra.DefaultEmbeddingKD_get_unit_cell(self)
8745 
8746  def get_extended_index(self, o):
8747  r"""get_extended_index(DefaultEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
8748  return _IMP_algebra.DefaultEmbeddingKD_get_extended_index(self, o)
8749 
8750  def get_index(self, o):
8751  r"""get_index(DefaultEmbeddingKD self, VectorKD o) -> GridIndexKD"""
8752  return _IMP_algebra.DefaultEmbeddingKD_get_index(self, o)
8753 
8754  def get_center(self, *args):
8755  r"""
8756  get_center(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
8757  get_center(DefaultEmbeddingKD self, GridIndexKD ei) -> VectorKD
8758  """
8759  return _IMP_algebra.DefaultEmbeddingKD_get_center(self, *args)
8760 
8761  def get_bounding_box(self, *args):
8762  r"""
8763  get_bounding_box(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
8764  get_bounding_box(DefaultEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
8765  """
8766  return _IMP_algebra.DefaultEmbeddingKD_get_bounding_box(self, *args)
8767 
8768  def show(self, *args):
8769  r"""show(DefaultEmbeddingKD self, _ostream out=std::cout)"""
8770  return _IMP_algebra.DefaultEmbeddingKD_show(self, *args)
8771 
8772  def __str__(self):
8773  r"""__str__(DefaultEmbeddingKD self) -> std::string"""
8774  return _IMP_algebra.DefaultEmbeddingKD___str__(self)
8775 
8776  def __repr__(self):
8777  r"""__repr__(DefaultEmbeddingKD self) -> std::string"""
8778  return _IMP_algebra.DefaultEmbeddingKD___repr__(self)
8779 
8780  def __cmp__(self, arg2):
8781  r"""__cmp__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> int"""
8782  return _IMP_algebra.DefaultEmbeddingKD___cmp__(self, arg2)
8783 
8784  def __eq__(self, arg2):
8785  r"""__eq__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> bool"""
8786  return _IMP_algebra.DefaultEmbeddingKD___eq__(self, arg2)
8787 
8788  def _get_as_binary(self):
8789  r"""_get_as_binary(DefaultEmbeddingKD self) -> PyObject *"""
8790  return _IMP_algebra.DefaultEmbeddingKD__get_as_binary(self)
8791 
8792  def _set_from_binary(self, p):
8793  r"""_set_from_binary(DefaultEmbeddingKD self, PyObject * p)"""
8794  return _IMP_algebra.DefaultEmbeddingKD__set_from_binary(self, p)
8795 
8796  def __getstate__(self):
8797  p = self._get_as_binary()
8798  if len(self.__dict__) > 1:
8799  d = self.__dict__.copy()
8800  del d['this']
8801  p = (d, p)
8802  return p
8803 
8804  def __setstate__(self, p):
8805  if not hasattr(self, 'this'):
8806  self.__init__()
8807  if isinstance(p, tuple):
8808  d, p = p
8809  self.__dict__.update(d)
8810  return self._set_from_binary(p)
8811 
8812  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbeddingKD
8813 
8814 # Register DefaultEmbeddingKD in _IMP_algebra:
8815 _IMP_algebra.DefaultEmbeddingKD_swigregister(DefaultEmbeddingKD)
8816 class LogEmbedding1D(object):
8817  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 1 > class."""
8818 
8819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8820 
8821  def __init__(self, *args):
8822  r"""
8823  __init__(LogEmbedding1D self, Vector1D origin, Vector1D cell, Vector1D base) -> LogEmbedding1D
8824  __init__(LogEmbedding1D self, BoundingBox1D bb, Vector1D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding1D
8825  __init__(LogEmbedding1D self, Vector1D arg2, Vector1D arg3) -> LogEmbedding1D
8826  __init__(LogEmbedding1D self) -> LogEmbedding1D
8827  """
8828  _IMP_algebra.LogEmbedding1D_swiginit(self, _IMP_algebra.new_LogEmbedding1D(*args))
8829 
8830  def set_origin(self, o):
8831  r"""set_origin(LogEmbedding1D self, Vector1D o)"""
8832  return _IMP_algebra.LogEmbedding1D_set_origin(self, o)
8833 
8834  def get_origin(self):
8835  r"""get_origin(LogEmbedding1D self) -> Vector1D"""
8836  return _IMP_algebra.LogEmbedding1D_get_origin(self)
8837 
8838  def get_dimension(self):
8839  r"""get_dimension(LogEmbedding1D self) -> unsigned int"""
8840  return _IMP_algebra.LogEmbedding1D_get_dimension(self)
8841 
8842  def set_unit_cell(self, *args):
8843  r"""
8844  set_unit_cell(LogEmbedding1D self, Vector1D o, Vector1D base)
8845  set_unit_cell(LogEmbedding1D self, Vector1D o)
8846  """
8847  return _IMP_algebra.LogEmbedding1D_set_unit_cell(self, *args)
8848 
8849  def get_unit_cell(self):
8850  r"""get_unit_cell(LogEmbedding1D self) -> Vector1D"""
8851  return _IMP_algebra.LogEmbedding1D_get_unit_cell(self)
8852 
8853  def get_extended_index(self, o):
8854  r"""get_extended_index(LogEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
8855  return _IMP_algebra.LogEmbedding1D_get_extended_index(self, o)
8856 
8857  def get_index(self, o):
8858  r"""get_index(LogEmbedding1D self, Vector1D o) -> GridIndex1D"""
8859  return _IMP_algebra.LogEmbedding1D_get_index(self, o)
8860 
8861  def get_center(self, *args):
8862  r"""
8863  get_center(LogEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
8864  get_center(LogEmbedding1D self, GridIndex1D ei) -> Vector1D
8865  """
8866  return _IMP_algebra.LogEmbedding1D_get_center(self, *args)
8867 
8868  def get_bounding_box(self, *args):
8869  r"""
8870  get_bounding_box(LogEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
8871  get_bounding_box(LogEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
8872  """
8873  return _IMP_algebra.LogEmbedding1D_get_bounding_box(self, *args)
8874 
8875  def show(self, *args):
8876  r"""show(LogEmbedding1D self, _ostream out=std::cout)"""
8877  return _IMP_algebra.LogEmbedding1D_show(self, *args)
8878 
8879  def __str__(self):
8880  r"""__str__(LogEmbedding1D self) -> std::string"""
8881  return _IMP_algebra.LogEmbedding1D___str__(self)
8882 
8883  def __repr__(self):
8884  r"""__repr__(LogEmbedding1D self) -> std::string"""
8885  return _IMP_algebra.LogEmbedding1D___repr__(self)
8886 
8887  def __cmp__(self, arg2):
8888  r"""__cmp__(LogEmbedding1D self, LogEmbedding1D arg2) -> int"""
8889  return _IMP_algebra.LogEmbedding1D___cmp__(self, arg2)
8890 
8891  def __eq__(self, arg2):
8892  r"""__eq__(LogEmbedding1D self, LogEmbedding1D arg2) -> bool"""
8893  return _IMP_algebra.LogEmbedding1D___eq__(self, arg2)
8894 
8895  def _get_as_binary(self):
8896  r"""_get_as_binary(LogEmbedding1D self) -> PyObject *"""
8897  return _IMP_algebra.LogEmbedding1D__get_as_binary(self)
8898 
8899  def _set_from_binary(self, p):
8900  r"""_set_from_binary(LogEmbedding1D self, PyObject * p)"""
8901  return _IMP_algebra.LogEmbedding1D__set_from_binary(self, p)
8902 
8903  def __getstate__(self):
8904  p = self._get_as_binary()
8905  if len(self.__dict__) > 1:
8906  d = self.__dict__.copy()
8907  del d['this']
8908  p = (d, p)
8909  return p
8910 
8911  def __setstate__(self, p):
8912  if not hasattr(self, 'this'):
8913  self.__init__()
8914  if isinstance(p, tuple):
8915  d, p = p
8916  self.__dict__.update(d)
8917  return self._set_from_binary(p)
8918 
8919  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding1D
8920 
8921 # Register LogEmbedding1D in _IMP_algebra:
8922 _IMP_algebra.LogEmbedding1D_swigregister(LogEmbedding1D)
8923 class LogEmbedding2D(object):
8924  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 2 > class."""
8925 
8926  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8927 
8928  def __init__(self, *args):
8929  r"""
8930  __init__(LogEmbedding2D self, Vector2D origin, Vector2D cell, Vector2D base) -> LogEmbedding2D
8931  __init__(LogEmbedding2D self, BoundingBox2D bb, Vector2D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding2D
8932  __init__(LogEmbedding2D self, Vector2D arg2, Vector2D arg3) -> LogEmbedding2D
8933  __init__(LogEmbedding2D self) -> LogEmbedding2D
8934  """
8935  _IMP_algebra.LogEmbedding2D_swiginit(self, _IMP_algebra.new_LogEmbedding2D(*args))
8936 
8937  def set_origin(self, o):
8938  r"""set_origin(LogEmbedding2D self, Vector2D o)"""
8939  return _IMP_algebra.LogEmbedding2D_set_origin(self, o)
8940 
8941  def get_origin(self):
8942  r"""get_origin(LogEmbedding2D self) -> Vector2D"""
8943  return _IMP_algebra.LogEmbedding2D_get_origin(self)
8944 
8945  def get_dimension(self):
8946  r"""get_dimension(LogEmbedding2D self) -> unsigned int"""
8947  return _IMP_algebra.LogEmbedding2D_get_dimension(self)
8948 
8949  def set_unit_cell(self, *args):
8950  r"""
8951  set_unit_cell(LogEmbedding2D self, Vector2D o, Vector2D base)
8952  set_unit_cell(LogEmbedding2D self, Vector2D o)
8953  """
8954  return _IMP_algebra.LogEmbedding2D_set_unit_cell(self, *args)
8955 
8956  def get_unit_cell(self):
8957  r"""get_unit_cell(LogEmbedding2D self) -> Vector2D"""
8958  return _IMP_algebra.LogEmbedding2D_get_unit_cell(self)
8959 
8960  def get_extended_index(self, o):
8961  r"""get_extended_index(LogEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
8962  return _IMP_algebra.LogEmbedding2D_get_extended_index(self, o)
8963 
8964  def get_index(self, o):
8965  r"""get_index(LogEmbedding2D self, Vector2D o) -> GridIndex2D"""
8966  return _IMP_algebra.LogEmbedding2D_get_index(self, o)
8967 
8968  def get_center(self, *args):
8969  r"""
8970  get_center(LogEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
8971  get_center(LogEmbedding2D self, GridIndex2D ei) -> Vector2D
8972  """
8973  return _IMP_algebra.LogEmbedding2D_get_center(self, *args)
8974 
8975  def get_bounding_box(self, *args):
8976  r"""
8977  get_bounding_box(LogEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
8978  get_bounding_box(LogEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
8979  """
8980  return _IMP_algebra.LogEmbedding2D_get_bounding_box(self, *args)
8981 
8982  def show(self, *args):
8983  r"""show(LogEmbedding2D self, _ostream out=std::cout)"""
8984  return _IMP_algebra.LogEmbedding2D_show(self, *args)
8985 
8986  def __str__(self):
8987  r"""__str__(LogEmbedding2D self) -> std::string"""
8988  return _IMP_algebra.LogEmbedding2D___str__(self)
8989 
8990  def __repr__(self):
8991  r"""__repr__(LogEmbedding2D self) -> std::string"""
8992  return _IMP_algebra.LogEmbedding2D___repr__(self)
8993 
8994  def __cmp__(self, arg2):
8995  r"""__cmp__(LogEmbedding2D self, LogEmbedding2D arg2) -> int"""
8996  return _IMP_algebra.LogEmbedding2D___cmp__(self, arg2)
8997 
8998  def __eq__(self, arg2):
8999  r"""__eq__(LogEmbedding2D self, LogEmbedding2D arg2) -> bool"""
9000  return _IMP_algebra.LogEmbedding2D___eq__(self, arg2)
9001 
9002  def _get_as_binary(self):
9003  r"""_get_as_binary(LogEmbedding2D self) -> PyObject *"""
9004  return _IMP_algebra.LogEmbedding2D__get_as_binary(self)
9005 
9006  def _set_from_binary(self, p):
9007  r"""_set_from_binary(LogEmbedding2D self, PyObject * p)"""
9008  return _IMP_algebra.LogEmbedding2D__set_from_binary(self, p)
9009 
9010  def __getstate__(self):
9011  p = self._get_as_binary()
9012  if len(self.__dict__) > 1:
9013  d = self.__dict__.copy()
9014  del d['this']
9015  p = (d, p)
9016  return p
9017 
9018  def __setstate__(self, p):
9019  if not hasattr(self, 'this'):
9020  self.__init__()
9021  if isinstance(p, tuple):
9022  d, p = p
9023  self.__dict__.update(d)
9024  return self._set_from_binary(p)
9025 
9026  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding2D
9027 
9028 # Register LogEmbedding2D in _IMP_algebra:
9029 _IMP_algebra.LogEmbedding2D_swigregister(LogEmbedding2D)
9030 class LogEmbedding4D(object):
9031  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 4 > class."""
9032 
9033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9034 
9035  def __init__(self, *args):
9036  r"""
9037  __init__(LogEmbedding4D self, Vector4D origin, Vector4D cell, Vector4D base) -> LogEmbedding4D
9038  __init__(LogEmbedding4D self, BoundingBox4D bb, Vector4D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding4D
9039  __init__(LogEmbedding4D self, Vector4D arg2, Vector4D arg3) -> LogEmbedding4D
9040  __init__(LogEmbedding4D self) -> LogEmbedding4D
9041  """
9042  _IMP_algebra.LogEmbedding4D_swiginit(self, _IMP_algebra.new_LogEmbedding4D(*args))
9043 
9044  def set_origin(self, o):
9045  r"""set_origin(LogEmbedding4D self, Vector4D o)"""
9046  return _IMP_algebra.LogEmbedding4D_set_origin(self, o)
9047 
9048  def get_origin(self):
9049  r"""get_origin(LogEmbedding4D self) -> Vector4D"""
9050  return _IMP_algebra.LogEmbedding4D_get_origin(self)
9051 
9052  def get_dimension(self):
9053  r"""get_dimension(LogEmbedding4D self) -> unsigned int"""
9054  return _IMP_algebra.LogEmbedding4D_get_dimension(self)
9055 
9056  def set_unit_cell(self, *args):
9057  r"""
9058  set_unit_cell(LogEmbedding4D self, Vector4D o, Vector4D base)
9059  set_unit_cell(LogEmbedding4D self, Vector4D o)
9060  """
9061  return _IMP_algebra.LogEmbedding4D_set_unit_cell(self, *args)
9062 
9063  def get_unit_cell(self):
9064  r"""get_unit_cell(LogEmbedding4D self) -> Vector4D"""
9065  return _IMP_algebra.LogEmbedding4D_get_unit_cell(self)
9066 
9067  def get_extended_index(self, o):
9068  r"""get_extended_index(LogEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
9069  return _IMP_algebra.LogEmbedding4D_get_extended_index(self, o)
9070 
9071  def get_index(self, o):
9072  r"""get_index(LogEmbedding4D self, Vector4D o) -> GridIndex4D"""
9073  return _IMP_algebra.LogEmbedding4D_get_index(self, o)
9074 
9075  def get_center(self, *args):
9076  r"""
9077  get_center(LogEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
9078  get_center(LogEmbedding4D self, GridIndex4D ei) -> Vector4D
9079  """
9080  return _IMP_algebra.LogEmbedding4D_get_center(self, *args)
9081 
9082  def get_bounding_box(self, *args):
9083  r"""
9084  get_bounding_box(LogEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
9085  get_bounding_box(LogEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
9086  """
9087  return _IMP_algebra.LogEmbedding4D_get_bounding_box(self, *args)
9088 
9089  def show(self, *args):
9090  r"""show(LogEmbedding4D self, _ostream out=std::cout)"""
9091  return _IMP_algebra.LogEmbedding4D_show(self, *args)
9092 
9093  def __str__(self):
9094  r"""__str__(LogEmbedding4D self) -> std::string"""
9095  return _IMP_algebra.LogEmbedding4D___str__(self)
9096 
9097  def __repr__(self):
9098  r"""__repr__(LogEmbedding4D self) -> std::string"""
9099  return _IMP_algebra.LogEmbedding4D___repr__(self)
9100 
9101  def __cmp__(self, arg2):
9102  r"""__cmp__(LogEmbedding4D self, LogEmbedding4D arg2) -> int"""
9103  return _IMP_algebra.LogEmbedding4D___cmp__(self, arg2)
9104 
9105  def __eq__(self, arg2):
9106  r"""__eq__(LogEmbedding4D self, LogEmbedding4D arg2) -> bool"""
9107  return _IMP_algebra.LogEmbedding4D___eq__(self, arg2)
9108 
9109  def _get_as_binary(self):
9110  r"""_get_as_binary(LogEmbedding4D self) -> PyObject *"""
9111  return _IMP_algebra.LogEmbedding4D__get_as_binary(self)
9112 
9113  def _set_from_binary(self, p):
9114  r"""_set_from_binary(LogEmbedding4D self, PyObject * p)"""
9115  return _IMP_algebra.LogEmbedding4D__set_from_binary(self, p)
9116 
9117  def __getstate__(self):
9118  p = self._get_as_binary()
9119  if len(self.__dict__) > 1:
9120  d = self.__dict__.copy()
9121  del d['this']
9122  p = (d, p)
9123  return p
9124 
9125  def __setstate__(self, p):
9126  if not hasattr(self, 'this'):
9127  self.__init__()
9128  if isinstance(p, tuple):
9129  d, p = p
9130  self.__dict__.update(d)
9131  return self._set_from_binary(p)
9132 
9133  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding4D
9134 
9135 # Register LogEmbedding4D in _IMP_algebra:
9136 _IMP_algebra.LogEmbedding4D_swigregister(LogEmbedding4D)
9137 class LogEmbedding5D(object):
9138  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 5 > class."""
9139 
9140  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9141 
9142  def __init__(self, *args):
9143  r"""
9144  __init__(LogEmbedding5D self, Vector5D origin, Vector5D cell, Vector5D base) -> LogEmbedding5D
9145  __init__(LogEmbedding5D self, BoundingBox5D bb, Vector5D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding5D
9146  __init__(LogEmbedding5D self, Vector5D arg2, Vector5D arg3) -> LogEmbedding5D
9147  __init__(LogEmbedding5D self) -> LogEmbedding5D
9148  """
9149  _IMP_algebra.LogEmbedding5D_swiginit(self, _IMP_algebra.new_LogEmbedding5D(*args))
9150 
9151  def set_origin(self, o):
9152  r"""set_origin(LogEmbedding5D self, Vector5D o)"""
9153  return _IMP_algebra.LogEmbedding5D_set_origin(self, o)
9154 
9155  def get_origin(self):
9156  r"""get_origin(LogEmbedding5D self) -> Vector5D"""
9157  return _IMP_algebra.LogEmbedding5D_get_origin(self)
9158 
9159  def get_dimension(self):
9160  r"""get_dimension(LogEmbedding5D self) -> unsigned int"""
9161  return _IMP_algebra.LogEmbedding5D_get_dimension(self)
9162 
9163  def set_unit_cell(self, *args):
9164  r"""
9165  set_unit_cell(LogEmbedding5D self, Vector5D o, Vector5D base)
9166  set_unit_cell(LogEmbedding5D self, Vector5D o)
9167  """
9168  return _IMP_algebra.LogEmbedding5D_set_unit_cell(self, *args)
9169 
9170  def get_unit_cell(self):
9171  r"""get_unit_cell(LogEmbedding5D self) -> Vector5D"""
9172  return _IMP_algebra.LogEmbedding5D_get_unit_cell(self)
9173 
9174  def get_extended_index(self, o):
9175  r"""get_extended_index(LogEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
9176  return _IMP_algebra.LogEmbedding5D_get_extended_index(self, o)
9177 
9178  def get_index(self, o):
9179  r"""get_index(LogEmbedding5D self, Vector5D o) -> GridIndex5D"""
9180  return _IMP_algebra.LogEmbedding5D_get_index(self, o)
9181 
9182  def get_center(self, *args):
9183  r"""
9184  get_center(LogEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
9185  get_center(LogEmbedding5D self, GridIndex5D ei) -> Vector5D
9186  """
9187  return _IMP_algebra.LogEmbedding5D_get_center(self, *args)
9188 
9189  def get_bounding_box(self, *args):
9190  r"""
9191  get_bounding_box(LogEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
9192  get_bounding_box(LogEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
9193  """
9194  return _IMP_algebra.LogEmbedding5D_get_bounding_box(self, *args)
9195 
9196  def show(self, *args):
9197  r"""show(LogEmbedding5D self, _ostream out=std::cout)"""
9198  return _IMP_algebra.LogEmbedding5D_show(self, *args)
9199 
9200  def __str__(self):
9201  r"""__str__(LogEmbedding5D self) -> std::string"""
9202  return _IMP_algebra.LogEmbedding5D___str__(self)
9203 
9204  def __repr__(self):
9205  r"""__repr__(LogEmbedding5D self) -> std::string"""
9206  return _IMP_algebra.LogEmbedding5D___repr__(self)
9207 
9208  def __cmp__(self, arg2):
9209  r"""__cmp__(LogEmbedding5D self, LogEmbedding5D arg2) -> int"""
9210  return _IMP_algebra.LogEmbedding5D___cmp__(self, arg2)
9211 
9212  def __eq__(self, arg2):
9213  r"""__eq__(LogEmbedding5D self, LogEmbedding5D arg2) -> bool"""
9214  return _IMP_algebra.LogEmbedding5D___eq__(self, arg2)
9215 
9216  def _get_as_binary(self):
9217  r"""_get_as_binary(LogEmbedding5D self) -> PyObject *"""
9218  return _IMP_algebra.LogEmbedding5D__get_as_binary(self)
9219 
9220  def _set_from_binary(self, p):
9221  r"""_set_from_binary(LogEmbedding5D self, PyObject * p)"""
9222  return _IMP_algebra.LogEmbedding5D__set_from_binary(self, p)
9223 
9224  def __getstate__(self):
9225  p = self._get_as_binary()
9226  if len(self.__dict__) > 1:
9227  d = self.__dict__.copy()
9228  del d['this']
9229  p = (d, p)
9230  return p
9231 
9232  def __setstate__(self, p):
9233  if not hasattr(self, 'this'):
9234  self.__init__()
9235  if isinstance(p, tuple):
9236  d, p = p
9237  self.__dict__.update(d)
9238  return self._set_from_binary(p)
9239 
9240  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding5D
9241 
9242 # Register LogEmbedding5D in _IMP_algebra:
9243 _IMP_algebra.LogEmbedding5D_swigregister(LogEmbedding5D)
9244 class LogEmbedding6D(object):
9245  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 6 > class."""
9246 
9247  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9248 
9249  def __init__(self, *args):
9250  r"""
9251  __init__(LogEmbedding6D self, Vector6D origin, Vector6D cell, Vector6D base) -> LogEmbedding6D
9252  __init__(LogEmbedding6D self, BoundingBox6D bb, Vector6D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding6D
9253  __init__(LogEmbedding6D self, Vector6D arg2, Vector6D arg3) -> LogEmbedding6D
9254  __init__(LogEmbedding6D self) -> LogEmbedding6D
9255  """
9256  _IMP_algebra.LogEmbedding6D_swiginit(self, _IMP_algebra.new_LogEmbedding6D(*args))
9257 
9258  def set_origin(self, o):
9259  r"""set_origin(LogEmbedding6D self, Vector6D o)"""
9260  return _IMP_algebra.LogEmbedding6D_set_origin(self, o)
9261 
9262  def get_origin(self):
9263  r"""get_origin(LogEmbedding6D self) -> Vector6D"""
9264  return _IMP_algebra.LogEmbedding6D_get_origin(self)
9265 
9266  def get_dimension(self):
9267  r"""get_dimension(LogEmbedding6D self) -> unsigned int"""
9268  return _IMP_algebra.LogEmbedding6D_get_dimension(self)
9269 
9270  def set_unit_cell(self, *args):
9271  r"""
9272  set_unit_cell(LogEmbedding6D self, Vector6D o, Vector6D base)
9273  set_unit_cell(LogEmbedding6D self, Vector6D o)
9274  """
9275  return _IMP_algebra.LogEmbedding6D_set_unit_cell(self, *args)
9276 
9277  def get_unit_cell(self):
9278  r"""get_unit_cell(LogEmbedding6D self) -> Vector6D"""
9279  return _IMP_algebra.LogEmbedding6D_get_unit_cell(self)
9280 
9281  def get_extended_index(self, o):
9282  r"""get_extended_index(LogEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
9283  return _IMP_algebra.LogEmbedding6D_get_extended_index(self, o)
9284 
9285  def get_index(self, o):
9286  r"""get_index(LogEmbedding6D self, Vector6D o) -> GridIndex6D"""
9287  return _IMP_algebra.LogEmbedding6D_get_index(self, o)
9288 
9289  def get_center(self, *args):
9290  r"""
9291  get_center(LogEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
9292  get_center(LogEmbedding6D self, GridIndex6D ei) -> Vector6D
9293  """
9294  return _IMP_algebra.LogEmbedding6D_get_center(self, *args)
9295 
9296  def get_bounding_box(self, *args):
9297  r"""
9298  get_bounding_box(LogEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
9299  get_bounding_box(LogEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
9300  """
9301  return _IMP_algebra.LogEmbedding6D_get_bounding_box(self, *args)
9302 
9303  def show(self, *args):
9304  r"""show(LogEmbedding6D self, _ostream out=std::cout)"""
9305  return _IMP_algebra.LogEmbedding6D_show(self, *args)
9306 
9307  def __str__(self):
9308  r"""__str__(LogEmbedding6D self) -> std::string"""
9309  return _IMP_algebra.LogEmbedding6D___str__(self)
9310 
9311  def __repr__(self):
9312  r"""__repr__(LogEmbedding6D self) -> std::string"""
9313  return _IMP_algebra.LogEmbedding6D___repr__(self)
9314 
9315  def __cmp__(self, arg2):
9316  r"""__cmp__(LogEmbedding6D self, LogEmbedding6D arg2) -> int"""
9317  return _IMP_algebra.LogEmbedding6D___cmp__(self, arg2)
9318 
9319  def __eq__(self, arg2):
9320  r"""__eq__(LogEmbedding6D self, LogEmbedding6D arg2) -> bool"""
9321  return _IMP_algebra.LogEmbedding6D___eq__(self, arg2)
9322 
9323  def _get_as_binary(self):
9324  r"""_get_as_binary(LogEmbedding6D self) -> PyObject *"""
9325  return _IMP_algebra.LogEmbedding6D__get_as_binary(self)
9326 
9327  def _set_from_binary(self, p):
9328  r"""_set_from_binary(LogEmbedding6D self, PyObject * p)"""
9329  return _IMP_algebra.LogEmbedding6D__set_from_binary(self, p)
9330 
9331  def __getstate__(self):
9332  p = self._get_as_binary()
9333  if len(self.__dict__) > 1:
9334  d = self.__dict__.copy()
9335  del d['this']
9336  p = (d, p)
9337  return p
9338 
9339  def __setstate__(self, p):
9340  if not hasattr(self, 'this'):
9341  self.__init__()
9342  if isinstance(p, tuple):
9343  d, p = p
9344  self.__dict__.update(d)
9345  return self._set_from_binary(p)
9346 
9347  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding6D
9348 
9349 # Register LogEmbedding6D in _IMP_algebra:
9350 _IMP_algebra.LogEmbedding6D_swigregister(LogEmbedding6D)
9351 class SpherePatch3D(IMP._GeometricPrimitive3D):
9352  r"""Proxy of C++ IMP::algebra::SpherePatch3D class."""
9353 
9354  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9355 
9356  def __init__(self, *args):
9357  r"""
9358  __init__(SpherePatch3D self) -> SpherePatch3D
9359  __init__(SpherePatch3D self, Sphere3D sph, Plane3D crossing_plane) -> SpherePatch3D
9360  """
9361  _IMP_algebra.SpherePatch3D_swiginit(self, _IMP_algebra.new_SpherePatch3D(*args))
9362 
9363  def get_contains(self, p):
9364  r"""get_contains(SpherePatch3D self, Vector3D p) -> bool"""
9365  return _IMP_algebra.SpherePatch3D_get_contains(self, p)
9366 
9367  def get_plane(self):
9368  r"""get_plane(SpherePatch3D self) -> Plane3D"""
9369  return _IMP_algebra.SpherePatch3D_get_plane(self)
9370 
9371  def get_sphere(self):
9372  r"""get_sphere(SpherePatch3D self) -> Sphere3D"""
9373  return _IMP_algebra.SpherePatch3D_get_sphere(self)
9374 
9375  def show(self, *args):
9376  r"""show(SpherePatch3D self, _ostream out=std::cout)"""
9377  return _IMP_algebra.SpherePatch3D_show(self, *args)
9378 
9379  def get_boundary_point(self):
9380  r"""get_boundary_point(SpherePatch3D self) -> Vector3D"""
9381  return _IMP_algebra.SpherePatch3D_get_boundary_point(self)
9382 
9383  def __str__(self):
9384  r"""__str__(SpherePatch3D self) -> std::string"""
9385  return _IMP_algebra.SpherePatch3D___str__(self)
9386 
9387  def __repr__(self):
9388  r"""__repr__(SpherePatch3D self) -> std::string"""
9389  return _IMP_algebra.SpherePatch3D___repr__(self)
9390 
9391  def _get_as_binary(self):
9392  r"""_get_as_binary(SpherePatch3D self) -> PyObject *"""
9393  return _IMP_algebra.SpherePatch3D__get_as_binary(self)
9394 
9395  def _set_from_binary(self, p):
9396  r"""_set_from_binary(SpherePatch3D self, PyObject * p)"""
9397  return _IMP_algebra.SpherePatch3D__set_from_binary(self, p)
9398 
9399  def __getstate__(self):
9400  p = self._get_as_binary()
9401  if len(self.__dict__) > 1:
9402  d = self.__dict__.copy()
9403  del d['this']
9404  p = (d, p)
9405  return p
9406 
9407  def __setstate__(self, p):
9408  if not hasattr(self, 'this'):
9409  self.__init__()
9410  if isinstance(p, tuple):
9411  d, p = p
9412  self.__dict__.update(d)
9413  return self._set_from_binary(p)
9414 
9415  __swig_destroy__ = _IMP_algebra.delete_SpherePatch3D
9416 
9417 # Register SpherePatch3D in _IMP_algebra:
9418 _IMP_algebra.SpherePatch3D_swigregister(SpherePatch3D)
9419 
9420 def get_area(*args):
9421  r"""
9422  get_area(Plane3D g) -> double
9423  get_area(SpherePatch3D g) -> double
9424  """
9425  return _IMP_algebra.get_area(*args)
9426 
9427 def get_sphere_patch_3d_geometry(g):
9428  r"""get_sphere_patch_3d_geometry(SpherePatch3D g) -> SpherePatch3D"""
9429  return _IMP_algebra.get_sphere_patch_3d_geometry(g)
9430 class Cone3D(IMP._GeometricPrimitive3D):
9431  r"""Proxy of C++ IMP::algebra::Cone3D class."""
9432 
9433  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9434 
9435  def __init__(self, *args):
9436  r"""
9437  __init__(Cone3D self) -> Cone3D
9438  __init__(Cone3D self, Segment3D s, double radius) -> Cone3D
9439  """
9440  _IMP_algebra.Cone3D_swiginit(self, _IMP_algebra.new_Cone3D(*args))
9441 
9442  def get_tip(self):
9443  r"""get_tip(Cone3D self) -> Vector3D"""
9444  return _IMP_algebra.Cone3D_get_tip(self)
9445 
9446  def get_direction(self):
9447  r"""get_direction(Cone3D self) -> Vector3D"""
9448  return _IMP_algebra.Cone3D_get_direction(self)
9449 
9450  def get_height(self):
9451  r"""get_height(Cone3D self) -> double"""
9452  return _IMP_algebra.Cone3D_get_height(self)
9453 
9454  def get_angle(self):
9455  r"""get_angle(Cone3D self) -> double"""
9456  return _IMP_algebra.Cone3D_get_angle(self)
9457 
9458  def get_radius(self):
9459  r"""get_radius(Cone3D self) -> double"""
9460  return _IMP_algebra.Cone3D_get_radius(self)
9461 
9462  def get_contains(self, v):
9463  r"""get_contains(Cone3D self, Vector3D v) -> bool"""
9464  return _IMP_algebra.Cone3D_get_contains(self, v)
9465 
9466  def get_base_plane(self):
9467  r"""get_base_plane(Cone3D self) -> Plane3D"""
9468  return _IMP_algebra.Cone3D_get_base_plane(self)
9469 
9470  def show(self, *args):
9471  r"""show(Cone3D self, _ostream out=std::cout)"""
9472  return _IMP_algebra.Cone3D_show(self, *args)
9473 
9474  def __str__(self):
9475  r"""__str__(Cone3D self) -> std::string"""
9476  return _IMP_algebra.Cone3D___str__(self)
9477 
9478  def __repr__(self):
9479  r"""__repr__(Cone3D self) -> std::string"""
9480  return _IMP_algebra.Cone3D___repr__(self)
9481 
9482  def _get_as_binary(self):
9483  r"""_get_as_binary(Cone3D self) -> PyObject *"""
9484  return _IMP_algebra.Cone3D__get_as_binary(self)
9485 
9486  def _set_from_binary(self, p):
9487  r"""_set_from_binary(Cone3D self, PyObject * p)"""
9488  return _IMP_algebra.Cone3D__set_from_binary(self, p)
9489 
9490  def __getstate__(self):
9491  p = self._get_as_binary()
9492  if len(self.__dict__) > 1:
9493  d = self.__dict__.copy()
9494  del d['this']
9495  p = (d, p)
9496  return p
9497 
9498  def __setstate__(self, p):
9499  if not hasattr(self, 'this'):
9500  self.__init__()
9501  if isinstance(p, tuple):
9502  d, p = p
9503  self.__dict__.update(d)
9504  return self._set_from_binary(p)
9505 
9506  __swig_destroy__ = _IMP_algebra.delete_Cone3D
9507 
9508 # Register Cone3D in _IMP_algebra:
9509 _IMP_algebra.Cone3D_swigregister(Cone3D)
9510 
9511 def get_surface_area(*args):
9512  r"""
9513  get_surface_area(BoundingBox3D g) -> double
9514  get_surface_area(Sphere3D g) -> double
9515  get_surface_area(Cylinder3D g) -> double
9516  get_surface_area(Ellipsoid3D g) -> double
9517  get_surface_area(Cone3D g) -> double
9518  """
9519  return _IMP_algebra.get_surface_area(*args)
9520 
9521 def get_volume(*args):
9522  r"""
9523  get_volume(BoundingBox3D g) -> double
9524  get_volume(Sphere3D g) -> double
9525  get_volume(Cylinder3D g) -> double
9526  get_volume(Ellipsoid3D g) -> double
9527  get_volume(Cone3D g) -> double
9528  """
9529  return _IMP_algebra.get_volume(*args)
9530 
9531 def get_cone_3d_geometry(g):
9532  r"""get_cone_3d_geometry(Cone3D g) -> Cone3D"""
9533  return _IMP_algebra.get_cone_3d_geometry(g)
9534 
9535 def write_pts(vs, out):
9536  r"""write_pts(IMP::algebra::Vector3Ds const & vs, TextOutput out)"""
9537  return _IMP_algebra.write_pts(vs, out)
9538 
9539 def read_pts(input):
9540  r"""read_pts(TextInput input) -> IMP::algebra::Vector3Ds"""
9541  return _IMP_algebra.read_pts(input)
9542 
9543 def write_spheres(vs, out):
9544  r"""write_spheres(IMP::algebra::Sphere3Ds const & vs, TextOutput out)"""
9545  return _IMP_algebra.write_spheres(vs, out)
9546 
9547 def read_spheres(input):
9548  r"""read_spheres(TextInput input) -> IMP::algebra::Sphere3Ds"""
9549  return _IMP_algebra.read_spheres(input)
9550 
9552  r"""get_random_vector_on_unit_sphere() -> Vector3D"""
9553  return _IMP_algebra.get_random_vector_on_unit_sphere()
9554 
9555 def get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle):
9556  r"""get_grid_surface_cover(Cylinder3D cyl, int number_of_cycles, int number_of_points_on_cycle) -> IMP::algebra::Vector3Ds"""
9557  return _IMP_algebra.get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle)
9558 
9559 def get_random_chain(*args):
9560  r"""get_random_chain(unsigned int n, double r, Vector3D start=IMP::Vector3D(0, 0, 0), IMP::algebra::Sphere3Ds const & obstacles=IMP::algebra::Sphere3Ds()) -> IMP::algebra::Vector3Ds"""
9561  return _IMP_algebra.get_random_chain(*args)
9562 
9563 def reversed_read(dest, size, nitems, f, reverse):
9564  r"""reversed_read(void * dest, size_t size, size_t nitems, std::ifstream & f, bool reverse)"""
9565  return _IMP_algebra.reversed_read(dest, size, nitems, f, reverse)
9566 
9567 def reversed_write(src, size, nitems, f, reverse=False):
9568  r"""reversed_write(void const * src, size_t size, size_t nitems, std::ofstream & f, bool reverse=False)"""
9569  return _IMP_algebra.reversed_write(src, size, nitems, f, reverse)
9570 
9571 def get_is_big_endian():
9572  r"""get_is_big_endian() -> bool"""
9573  return _IMP_algebra.get_is_big_endian()
9574 
9575 def get_is_little_endian():
9576  r"""get_is_little_endian() -> bool"""
9577  return _IMP_algebra.get_is_little_endian()
9578 
9579 def get_shortest_segment(*args):
9580  r"""
9581  get_shortest_segment(Segment3D s, Vector3D p) -> Segment3D
9582  get_shortest_segment(Segment3D sa, Segment3D sb) -> Segment3D
9583  """
9584  return _IMP_algebra.get_shortest_segment(*args)
9585 class DynamicNearestNeighbor3D(IMP.Object):
9586  r"""Proxy of C++ IMP::algebra::DynamicNearestNeighbor3D class."""
9587 
9588  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9589 
9590  def __init__(self, vs, query_estimate=1):
9591  r"""__init__(DynamicNearestNeighbor3D self, IMP::algebra::Vector3Ds const & vs, double query_estimate=1) -> DynamicNearestNeighbor3D"""
9592  _IMP_algebra.DynamicNearestNeighbor3D_swiginit(self, _IMP_algebra.new_DynamicNearestNeighbor3D(vs, query_estimate))
9593 
9594  def get_in_ball(self, id, distance):
9595  r"""get_in_ball(DynamicNearestNeighbor3D self, int id, double distance) -> IMP::Ints"""
9596  return _IMP_algebra.DynamicNearestNeighbor3D_get_in_ball(self, id, distance)
9597 
9598  def set_coordinates(self, id, nc):
9599  r"""set_coordinates(DynamicNearestNeighbor3D self, int id, Vector3D nc)"""
9600  return _IMP_algebra.DynamicNearestNeighbor3D_set_coordinates(self, id, nc)
9601 
9602  def get_version_info(self):
9603  r"""get_version_info(DynamicNearestNeighbor3D self) -> VersionInfo"""
9604  return _IMP_algebra.DynamicNearestNeighbor3D_get_version_info(self)
9605  __swig_destroy__ = _IMP_algebra.delete_DynamicNearestNeighbor3D
9606 
9607  def __str__(self):
9608  r"""__str__(DynamicNearestNeighbor3D self) -> std::string"""
9609  return _IMP_algebra.DynamicNearestNeighbor3D___str__(self)
9610 
9611  def __repr__(self):
9612  r"""__repr__(DynamicNearestNeighbor3D self) -> std::string"""
9613  return _IMP_algebra.DynamicNearestNeighbor3D___repr__(self)
9614 
9615  @staticmethod
9616  def get_from(o):
9617  return _object_cast_to_DynamicNearestNeighbor3D(o)
9618 
9619 
9620 # Register DynamicNearestNeighbor3D in _IMP_algebra:
9621 _IMP_algebra.DynamicNearestNeighbor3D_swigregister(DynamicNearestNeighbor3D)
9622 class VectorKDMetric(IMP.Object):
9623  r"""Proxy of C++ IMP::algebra::VectorKDMetric class."""
9624 
9625  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9626 
9627  def __init__(self, name):
9628  r"""__init__(VectorKDMetric self, std::string name) -> VectorKDMetric"""
9629  if self.__class__ == VectorKDMetric:
9630  _self = None
9631  else:
9632  _self = self
9633  _IMP_algebra.VectorKDMetric_swiginit(self, _IMP_algebra.new_VectorKDMetric(_self, name))
9634 
9635  if self.__class__ != VectorKDMetric:
9636  _director_objects.register(self)
9637 
9638 
9639 
9640 
9641  def get_distance(self, a, b):
9642  r"""get_distance(VectorKDMetric self, VectorKD a, VectorKD b) -> double"""
9643  return _IMP_algebra.VectorKDMetric_get_distance(self, a, b)
9644 
9645  def get_centroid(self, vs):
9646  r"""get_centroid(VectorKDMetric self, IMP::algebra::VectorKDs const & vs) -> VectorKD"""
9647  return _IMP_algebra.VectorKDMetric_get_centroid(self, vs)
9648 
9649  def __str__(self):
9650  r"""__str__(VectorKDMetric self) -> std::string"""
9651  return _IMP_algebra.VectorKDMetric___str__(self)
9652 
9653  def __repr__(self):
9654  r"""__repr__(VectorKDMetric self) -> std::string"""
9655  return _IMP_algebra.VectorKDMetric___repr__(self)
9656 
9657  @staticmethod
9658  def get_from(o):
9659  return _object_cast_to_VectorKDMetric(o)
9660 
9661 
9662  def do_show(self, out):
9663  pass
9664 
9665  @staticmethod
9666  def get_from(o):
9667  return _object_cast_to_VectorKDMetric(o)
9668 
9669  __swig_destroy__ = _IMP_algebra.delete_VectorKDMetric
9670  def __disown__(self):
9671  self.this.disown()
9672  _IMP_algebra.disown_VectorKDMetric(self)
9673  return weakref.proxy(self)
9674 
9675  def do_destroy(self):
9676  r"""do_destroy(VectorKDMetric self)"""
9677  return _IMP_algebra.VectorKDMetric_do_destroy(self)
9678 
9679 # Register VectorKDMetric in _IMP_algebra:
9680 _IMP_algebra.VectorKDMetric_swigregister(VectorKDMetric)
9681 class EuclideanVectorKDMetric(VectorKDMetric):
9682  r"""Proxy of C++ IMP::algebra::EuclideanVectorKDMetric class."""
9683 
9684  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9685 
9686  def __init__(self, *args):
9687  r"""__init__(EuclideanVectorKDMetric self, std::string name="EuclideanVectorKDMetric%1%") -> EuclideanVectorKDMetric"""
9688  _IMP_algebra.EuclideanVectorKDMetric_swiginit(self, _IMP_algebra.new_EuclideanVectorKDMetric(*args))
9689 
9690  def get_version_info(self):
9691  r"""get_version_info(EuclideanVectorKDMetric self) -> VersionInfo"""
9692  return _IMP_algebra.EuclideanVectorKDMetric_get_version_info(self)
9693  __swig_destroy__ = _IMP_algebra.delete_EuclideanVectorKDMetric
9694 
9695  def __str__(self):
9696  r"""__str__(EuclideanVectorKDMetric self) -> std::string"""
9697  return _IMP_algebra.EuclideanVectorKDMetric___str__(self)
9698 
9699  def __repr__(self):
9700  r"""__repr__(EuclideanVectorKDMetric self) -> std::string"""
9701  return _IMP_algebra.EuclideanVectorKDMetric___repr__(self)
9702 
9703  @staticmethod
9704  def get_from(o):
9705  return _object_cast_to_EuclideanVectorKDMetric(o)
9706 
9707 
9708  def _get_as_binary(self):
9709  r"""_get_as_binary(EuclideanVectorKDMetric self) -> PyObject *"""
9710  return _IMP_algebra.EuclideanVectorKDMetric__get_as_binary(self)
9711 
9712  def _set_from_binary(self, p):
9713  r"""_set_from_binary(EuclideanVectorKDMetric self, PyObject * p)"""
9714  return _IMP_algebra.EuclideanVectorKDMetric__set_from_binary(self, p)
9715 
9716  def __getstate__(self):
9717  p = self._get_as_binary()
9718  if len(self.__dict__) > 1:
9719  d = self.__dict__.copy()
9720  del d['this']
9721  p = (d, p)
9722  return p
9723 
9724  def __setstate__(self, p):
9725  if not hasattr(self, 'this'):
9726  self.__init__()
9727  if isinstance(p, tuple):
9728  d, p = p
9729  self.__dict__.update(d)
9730  return self._set_from_binary(p)
9731 
9732 
9733 # Register EuclideanVectorKDMetric in _IMP_algebra:
9734 _IMP_algebra.EuclideanVectorKDMetric_swigregister(EuclideanVectorKDMetric)
9735 class MaxVectorKDMetric(VectorKDMetric):
9736  r"""Proxy of C++ IMP::algebra::MaxVectorKDMetric class."""
9737 
9738  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9739 
9740  def __init__(self, *args):
9741  r"""__init__(MaxVectorKDMetric self, std::string name="MaxVectorKDMetric%1%") -> MaxVectorKDMetric"""
9742  _IMP_algebra.MaxVectorKDMetric_swiginit(self, _IMP_algebra.new_MaxVectorKDMetric(*args))
9743 
9744  def get_version_info(self):
9745  r"""get_version_info(MaxVectorKDMetric self) -> VersionInfo"""
9746  return _IMP_algebra.MaxVectorKDMetric_get_version_info(self)
9747  __swig_destroy__ = _IMP_algebra.delete_MaxVectorKDMetric
9748 
9749  def __str__(self):
9750  r"""__str__(MaxVectorKDMetric self) -> std::string"""
9751  return _IMP_algebra.MaxVectorKDMetric___str__(self)
9752 
9753  def __repr__(self):
9754  r"""__repr__(MaxVectorKDMetric self) -> std::string"""
9755  return _IMP_algebra.MaxVectorKDMetric___repr__(self)
9756 
9757  @staticmethod
9758  def get_from(o):
9759  return _object_cast_to_MaxVectorKDMetric(o)
9760 
9761 
9762  def _get_as_binary(self):
9763  r"""_get_as_binary(MaxVectorKDMetric self) -> PyObject *"""
9764  return _IMP_algebra.MaxVectorKDMetric__get_as_binary(self)
9765 
9766  def _set_from_binary(self, p):
9767  r"""_set_from_binary(MaxVectorKDMetric self, PyObject * p)"""
9768  return _IMP_algebra.MaxVectorKDMetric__set_from_binary(self, p)
9769 
9770  def __getstate__(self):
9771  p = self._get_as_binary()
9772  if len(self.__dict__) > 1:
9773  d = self.__dict__.copy()
9774  del d['this']
9775  p = (d, p)
9776  return p
9777 
9778  def __setstate__(self, p):
9779  if not hasattr(self, 'this'):
9780  self.__init__()
9781  if isinstance(p, tuple):
9782  d, p = p
9783  self.__dict__.update(d)
9784  return self._set_from_binary(p)
9785 
9786 
9787 # Register MaxVectorKDMetric in _IMP_algebra:
9788 _IMP_algebra.MaxVectorKDMetric_swigregister(MaxVectorKDMetric)
9789 class Gaussian3D(IMP._GeometricPrimitive3D):
9790  r"""Proxy of C++ IMP::algebra::Gaussian3D class."""
9791 
9792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9793 
9794  def __init__(self, *args):
9795  r"""
9796  __init__(Gaussian3D self) -> Gaussian3D
9797  __init__(Gaussian3D self, ReferenceFrame3D tr, Vector3D variances) -> Gaussian3D
9798  """
9799  _IMP_algebra.Gaussian3D_swiginit(self, _IMP_algebra.new_Gaussian3D(*args))
9800 
9801  def get_reference_frame(self):
9802  r"""get_reference_frame(Gaussian3D self) -> ReferenceFrame3D"""
9803  return _IMP_algebra.Gaussian3D_get_reference_frame(self)
9804 
9805  def get_variances(self):
9806  r"""get_variances(Gaussian3D self) -> Vector3D"""
9807  return _IMP_algebra.Gaussian3D_get_variances(self)
9808 
9809  def get_center(self):
9810  r"""get_center(Gaussian3D self) -> Vector3D"""
9811  return _IMP_algebra.Gaussian3D_get_center(self)
9812 
9813  def show(self, *args):
9814  r"""show(Gaussian3D self, _ostream out=std::cout)"""
9815  return _IMP_algebra.Gaussian3D_show(self, *args)
9816 
9817  def __str__(self):
9818  r"""__str__(Gaussian3D self) -> std::string"""
9819  return _IMP_algebra.Gaussian3D___str__(self)
9820 
9821  def __repr__(self):
9822  r"""__repr__(Gaussian3D self) -> std::string"""
9823  return _IMP_algebra.Gaussian3D___repr__(self)
9824 
9825  def _get_as_binary(self):
9826  r"""_get_as_binary(Gaussian3D self) -> PyObject *"""
9827  return _IMP_algebra.Gaussian3D__get_as_binary(self)
9828 
9829  def _set_from_binary(self, p):
9830  r"""_set_from_binary(Gaussian3D self, PyObject * p)"""
9831  return _IMP_algebra.Gaussian3D__set_from_binary(self, p)
9832 
9833  def __getstate__(self):
9834  p = self._get_as_binary()
9835  if len(self.__dict__) > 1:
9836  d = self.__dict__.copy()
9837  del d['this']
9838  p = (d, p)
9839  return p
9840 
9841  def __setstate__(self, p):
9842  if not hasattr(self, 'this'):
9843  self.__init__()
9844  if isinstance(p, tuple):
9845  d, p = p
9846  self.__dict__.update(d)
9847  return self._set_from_binary(p)
9848 
9849  __swig_destroy__ = _IMP_algebra.delete_Gaussian3D
9850 
9851 # Register Gaussian3D in _IMP_algebra:
9852 _IMP_algebra.Gaussian3D_swigregister(Gaussian3D)
9853 
9854 def get_covariance(g):
9855  r"""get_covariance(Gaussian3D g) -> Eigen::Matrix3d"""
9856  return _IMP_algebra.get_covariance(g)
9857 
9858 def get_gaussian_from_covariance(covariance, center):
9859  r"""get_gaussian_from_covariance(Eigen::Matrix3d const & covariance, Vector3D center) -> Gaussian3D"""
9860  return _IMP_algebra.get_gaussian_from_covariance(covariance, center)
9861 
9862 def get_rasterized(gmm, weights, cell_width, bb):
9863  r"""get_rasterized(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb) -> DenseDoubleGrid3D"""
9864  return _IMP_algebra.get_rasterized(gmm, weights, cell_width, bb)
9865 
9866 def get_rasterized_fast(gmm, weights, cell_width, bb, factor=2.5):
9867  r"""get_rasterized_fast(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb, double factor=2.5) -> DenseDoubleGrid3D"""
9868  return _IMP_algebra.get_rasterized_fast(gmm, weights, cell_width, bb, factor)
9869 
9870 def _pass_matrix_xf(m):
9871  r"""_pass_matrix_xf(Eigen::MatrixXf const & m) -> Eigen::MatrixXf"""
9872  return _IMP_algebra._pass_matrix_xf(m)
9873 
9874 def _pass_matrix_xd(m):
9875  r"""_pass_matrix_xd(Eigen::MatrixXd const & m) -> Eigen::MatrixXd"""
9876  return _IMP_algebra._pass_matrix_xd(m)
9877 
9878 def _pass_matrix_3d(m):
9879  r"""_pass_matrix_3d(Eigen::Matrix3d const & m) -> Eigen::Matrix3d"""
9880  return _IMP_algebra._pass_matrix_3d(m)
9881 
9882 def _pass_array_xd(m):
9883  r"""_pass_array_xd(Eigen::ArrayXXd const & m) -> Eigen::ArrayXXd"""
9884  return _IMP_algebra._pass_array_xd(m)
9885 
9886 def _pass_vector_xd(m):
9887  r"""_pass_vector_xd(Eigen::VectorXd const & m) -> Eigen::VectorXd"""
9888  return _IMP_algebra._pass_vector_xd(m)
9889 class NearestNeighbor1D(IMP.Object):
9890  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 1 > class."""
9891 
9892  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9893 
9894  def __init__(self, vs, epsilon=0):
9895  r"""__init__(NearestNeighbor1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & vs, double epsilon=0) -> NearestNeighbor1D"""
9896  _IMP_algebra.NearestNeighbor1D_swiginit(self, _IMP_algebra.new_NearestNeighbor1D(vs, epsilon))
9897 
9898  def set_query_log(self, fname):
9899  r"""set_query_log(NearestNeighbor1D self, std::string fname)"""
9900  return _IMP_algebra.NearestNeighbor1D_set_query_log(self, fname)
9901 
9902  def get_nearest_neighbor(self, *args):
9903  r"""
9904  get_nearest_neighbor(NearestNeighbor1D self, Vector1D q) -> unsigned int
9905  get_nearest_neighbor(NearestNeighbor1D self, unsigned int i) -> unsigned int
9906  """
9907  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbor(self, *args)
9908 
9909  def get_nearest_neighbors(self, *args):
9910  r"""
9911  get_nearest_neighbors(NearestNeighbor1D self, unsigned int i, unsigned int k) -> IMP::Ints
9912  get_nearest_neighbors(NearestNeighbor1D self, Vector1D v, unsigned int k) -> IMP::Ints
9913  """
9914  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbors(self, *args)
9915 
9916  def get_in_ball(self, *args):
9917  r"""
9918  get_in_ball(NearestNeighbor1D self, unsigned int i, double distance) -> IMP::Ints
9919  get_in_ball(NearestNeighbor1D self, Vector1D pt, double distance) -> IMP::Ints
9920  """
9921  return _IMP_algebra.NearestNeighbor1D_get_in_ball(self, *args)
9922 
9923  def get_version_info(self):
9924  r"""get_version_info(NearestNeighbor1D self) -> VersionInfo"""
9925  return _IMP_algebra.NearestNeighbor1D_get_version_info(self)
9926  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor1D
9927 
9928  def __str__(self):
9929  r"""__str__(NearestNeighbor1D self) -> std::string"""
9930  return _IMP_algebra.NearestNeighbor1D___str__(self)
9931 
9932  def __repr__(self):
9933  r"""__repr__(NearestNeighbor1D self) -> std::string"""
9934  return _IMP_algebra.NearestNeighbor1D___repr__(self)
9935 
9936  @staticmethod
9937  def get_from(o):
9938  return _object_cast_to_NearestNeighborD(o)
9939 
9940 
9941 # Register NearestNeighbor1D in _IMP_algebra:
9942 _IMP_algebra.NearestNeighbor1D_swigregister(NearestNeighbor1D)
9943 class NearestNeighbor2D(IMP.Object):
9944  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 2 > class."""
9945 
9946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9947 
9948  def __init__(self, vs, epsilon=0):
9949  r"""__init__(NearestNeighbor2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & vs, double epsilon=0) -> NearestNeighbor2D"""
9950  _IMP_algebra.NearestNeighbor2D_swiginit(self, _IMP_algebra.new_NearestNeighbor2D(vs, epsilon))
9951 
9952  def set_query_log(self, fname):
9953  r"""set_query_log(NearestNeighbor2D self, std::string fname)"""
9954  return _IMP_algebra.NearestNeighbor2D_set_query_log(self, fname)
9955 
9956  def get_nearest_neighbor(self, *args):
9957  r"""
9958  get_nearest_neighbor(NearestNeighbor2D self, Vector2D q) -> unsigned int
9959  get_nearest_neighbor(NearestNeighbor2D self, unsigned int i) -> unsigned int
9960  """
9961  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbor(self, *args)
9962 
9963  def get_nearest_neighbors(self, *args):
9964  r"""
9965  get_nearest_neighbors(NearestNeighbor2D self, unsigned int i, unsigned int k) -> IMP::Ints
9966  get_nearest_neighbors(NearestNeighbor2D self, Vector2D v, unsigned int k) -> IMP::Ints
9967  """
9968  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbors(self, *args)
9969 
9970  def get_in_ball(self, *args):
9971  r"""
9972  get_in_ball(NearestNeighbor2D self, unsigned int i, double distance) -> IMP::Ints
9973  get_in_ball(NearestNeighbor2D self, Vector2D pt, double distance) -> IMP::Ints
9974  """
9975  return _IMP_algebra.NearestNeighbor2D_get_in_ball(self, *args)
9976 
9977  def get_version_info(self):
9978  r"""get_version_info(NearestNeighbor2D self) -> VersionInfo"""
9979  return _IMP_algebra.NearestNeighbor2D_get_version_info(self)
9980  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor2D
9981 
9982  def __str__(self):
9983  r"""__str__(NearestNeighbor2D self) -> std::string"""
9984  return _IMP_algebra.NearestNeighbor2D___str__(self)
9985 
9986  def __repr__(self):
9987  r"""__repr__(NearestNeighbor2D self) -> std::string"""
9988  return _IMP_algebra.NearestNeighbor2D___repr__(self)
9989 
9990  @staticmethod
9991  def get_from(o):
9992  return _object_cast_to_NearestNeighborD(o)
9993 
9994 
9995 # Register NearestNeighbor2D in _IMP_algebra:
9996 _IMP_algebra.NearestNeighbor2D_swigregister(NearestNeighbor2D)
9997 class NearestNeighbor3D(IMP.Object):
9998  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 3 > class."""
9999 
10000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10001 
10002  def __init__(self, vs, epsilon=0):
10003  r"""__init__(NearestNeighbor3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & vs, double epsilon=0) -> NearestNeighbor3D"""
10004  _IMP_algebra.NearestNeighbor3D_swiginit(self, _IMP_algebra.new_NearestNeighbor3D(vs, epsilon))
10005 
10006  def set_query_log(self, fname):
10007  r"""set_query_log(NearestNeighbor3D self, std::string fname)"""
10008  return _IMP_algebra.NearestNeighbor3D_set_query_log(self, fname)
10009 
10010  def get_nearest_neighbor(self, *args):
10011  r"""
10012  get_nearest_neighbor(NearestNeighbor3D self, Vector3D q) -> unsigned int
10013  get_nearest_neighbor(NearestNeighbor3D self, unsigned int i) -> unsigned int
10014  """
10015  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbor(self, *args)
10016 
10017  def get_nearest_neighbors(self, *args):
10018  r"""
10019  get_nearest_neighbors(NearestNeighbor3D self, unsigned int i, unsigned int k) -> IMP::Ints
10020  get_nearest_neighbors(NearestNeighbor3D self, Vector3D v, unsigned int k) -> IMP::Ints
10021  """
10022  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbors(self, *args)
10023 
10024  def get_in_ball(self, *args):
10025  r"""
10026  get_in_ball(NearestNeighbor3D self, unsigned int i, double distance) -> IMP::Ints
10027  get_in_ball(NearestNeighbor3D self, Vector3D pt, double distance) -> IMP::Ints
10028  """
10029  return _IMP_algebra.NearestNeighbor3D_get_in_ball(self, *args)
10030 
10031  def get_version_info(self):
10032  r"""get_version_info(NearestNeighbor3D self) -> VersionInfo"""
10033  return _IMP_algebra.NearestNeighbor3D_get_version_info(self)
10034  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor3D
10035 
10036  def __str__(self):
10037  r"""__str__(NearestNeighbor3D self) -> std::string"""
10038  return _IMP_algebra.NearestNeighbor3D___str__(self)
10039 
10040  def __repr__(self):
10041  r"""__repr__(NearestNeighbor3D self) -> std::string"""
10042  return _IMP_algebra.NearestNeighbor3D___repr__(self)
10043 
10044  @staticmethod
10045  def get_from(o):
10046  return _object_cast_to_NearestNeighborD(o)
10047 
10048 
10049 # Register NearestNeighbor3D in _IMP_algebra:
10050 _IMP_algebra.NearestNeighbor3D_swigregister(NearestNeighbor3D)
10051 class NearestNeighbor4D(IMP.Object):
10052  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 4 > class."""
10053 
10054  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10055 
10056  def __init__(self, vs, epsilon=0):
10057  r"""__init__(NearestNeighbor4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & vs, double epsilon=0) -> NearestNeighbor4D"""
10058  _IMP_algebra.NearestNeighbor4D_swiginit(self, _IMP_algebra.new_NearestNeighbor4D(vs, epsilon))
10059 
10060  def set_query_log(self, fname):
10061  r"""set_query_log(NearestNeighbor4D self, std::string fname)"""
10062  return _IMP_algebra.NearestNeighbor4D_set_query_log(self, fname)
10063 
10064  def get_nearest_neighbor(self, *args):
10065  r"""
10066  get_nearest_neighbor(NearestNeighbor4D self, Vector4D q) -> unsigned int
10067  get_nearest_neighbor(NearestNeighbor4D self, unsigned int i) -> unsigned int
10068  """
10069  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbor(self, *args)
10070 
10071  def get_nearest_neighbors(self, *args):
10072  r"""
10073  get_nearest_neighbors(NearestNeighbor4D self, unsigned int i, unsigned int k) -> IMP::Ints
10074  get_nearest_neighbors(NearestNeighbor4D self, Vector4D v, unsigned int k) -> IMP::Ints
10075  """
10076  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbors(self, *args)
10077 
10078  def get_in_ball(self, *args):
10079  r"""
10080  get_in_ball(NearestNeighbor4D self, unsigned int i, double distance) -> IMP::Ints
10081  get_in_ball(NearestNeighbor4D self, Vector4D pt, double distance) -> IMP::Ints
10082  """
10083  return _IMP_algebra.NearestNeighbor4D_get_in_ball(self, *args)
10084 
10085  def get_version_info(self):
10086  r"""get_version_info(NearestNeighbor4D self) -> VersionInfo"""
10087  return _IMP_algebra.NearestNeighbor4D_get_version_info(self)
10088  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor4D
10089 
10090  def __str__(self):
10091  r"""__str__(NearestNeighbor4D self) -> std::string"""
10092  return _IMP_algebra.NearestNeighbor4D___str__(self)
10093 
10094  def __repr__(self):
10095  r"""__repr__(NearestNeighbor4D self) -> std::string"""
10096  return _IMP_algebra.NearestNeighbor4D___repr__(self)
10097 
10098  @staticmethod
10099  def get_from(o):
10100  return _object_cast_to_NearestNeighborD(o)
10101 
10102 
10103 # Register NearestNeighbor4D in _IMP_algebra:
10104 _IMP_algebra.NearestNeighbor4D_swigregister(NearestNeighbor4D)
10105 class NearestNeighbor5D(IMP.Object):
10106  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 5 > class."""
10107 
10108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10109 
10110  def __init__(self, vs, epsilon=0):
10111  r"""__init__(NearestNeighbor5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & vs, double epsilon=0) -> NearestNeighbor5D"""
10112  _IMP_algebra.NearestNeighbor5D_swiginit(self, _IMP_algebra.new_NearestNeighbor5D(vs, epsilon))
10113 
10114  def set_query_log(self, fname):
10115  r"""set_query_log(NearestNeighbor5D self, std::string fname)"""
10116  return _IMP_algebra.NearestNeighbor5D_set_query_log(self, fname)
10117 
10118  def get_nearest_neighbor(self, *args):
10119  r"""
10120  get_nearest_neighbor(NearestNeighbor5D self, Vector5D q) -> unsigned int
10121  get_nearest_neighbor(NearestNeighbor5D self, unsigned int i) -> unsigned int
10122  """
10123  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbor(self, *args)
10124 
10125  def get_nearest_neighbors(self, *args):
10126  r"""
10127  get_nearest_neighbors(NearestNeighbor5D self, unsigned int i, unsigned int k) -> IMP::Ints
10128  get_nearest_neighbors(NearestNeighbor5D self, Vector5D v, unsigned int k) -> IMP::Ints
10129  """
10130  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbors(self, *args)
10131 
10132  def get_in_ball(self, *args):
10133  r"""
10134  get_in_ball(NearestNeighbor5D self, unsigned int i, double distance) -> IMP::Ints
10135  get_in_ball(NearestNeighbor5D self, Vector5D pt, double distance) -> IMP::Ints
10136  """
10137  return _IMP_algebra.NearestNeighbor5D_get_in_ball(self, *args)
10138 
10139  def get_version_info(self):
10140  r"""get_version_info(NearestNeighbor5D self) -> VersionInfo"""
10141  return _IMP_algebra.NearestNeighbor5D_get_version_info(self)
10142  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor5D
10143 
10144  def __str__(self):
10145  r"""__str__(NearestNeighbor5D self) -> std::string"""
10146  return _IMP_algebra.NearestNeighbor5D___str__(self)
10147 
10148  def __repr__(self):
10149  r"""__repr__(NearestNeighbor5D self) -> std::string"""
10150  return _IMP_algebra.NearestNeighbor5D___repr__(self)
10151 
10152  @staticmethod
10153  def get_from(o):
10154  return _object_cast_to_NearestNeighborD(o)
10155 
10156 
10157 # Register NearestNeighbor5D in _IMP_algebra:
10158 _IMP_algebra.NearestNeighbor5D_swigregister(NearestNeighbor5D)
10159 class NearestNeighbor6D(IMP.Object):
10160  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 6 > class."""
10161 
10162  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10163 
10164  def __init__(self, vs, epsilon=0):
10165  r"""__init__(NearestNeighbor6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & vs, double epsilon=0) -> NearestNeighbor6D"""
10166  _IMP_algebra.NearestNeighbor6D_swiginit(self, _IMP_algebra.new_NearestNeighbor6D(vs, epsilon))
10167 
10168  def set_query_log(self, fname):
10169  r"""set_query_log(NearestNeighbor6D self, std::string fname)"""
10170  return _IMP_algebra.NearestNeighbor6D_set_query_log(self, fname)
10171 
10172  def get_nearest_neighbor(self, *args):
10173  r"""
10174  get_nearest_neighbor(NearestNeighbor6D self, Vector6D q) -> unsigned int
10175  get_nearest_neighbor(NearestNeighbor6D self, unsigned int i) -> unsigned int
10176  """
10177  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbor(self, *args)
10178 
10179  def get_nearest_neighbors(self, *args):
10180  r"""
10181  get_nearest_neighbors(NearestNeighbor6D self, unsigned int i, unsigned int k) -> IMP::Ints
10182  get_nearest_neighbors(NearestNeighbor6D self, Vector6D v, unsigned int k) -> IMP::Ints
10183  """
10184  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbors(self, *args)
10185 
10186  def get_in_ball(self, *args):
10187  r"""
10188  get_in_ball(NearestNeighbor6D self, unsigned int i, double distance) -> IMP::Ints
10189  get_in_ball(NearestNeighbor6D self, Vector6D pt, double distance) -> IMP::Ints
10190  """
10191  return _IMP_algebra.NearestNeighbor6D_get_in_ball(self, *args)
10192 
10193  def get_version_info(self):
10194  r"""get_version_info(NearestNeighbor6D self) -> VersionInfo"""
10195  return _IMP_algebra.NearestNeighbor6D_get_version_info(self)
10196  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor6D
10197 
10198  def __str__(self):
10199  r"""__str__(NearestNeighbor6D self) -> std::string"""
10200  return _IMP_algebra.NearestNeighbor6D___str__(self)
10201 
10202  def __repr__(self):
10203  r"""__repr__(NearestNeighbor6D self) -> std::string"""
10204  return _IMP_algebra.NearestNeighbor6D___repr__(self)
10205 
10206  @staticmethod
10207  def get_from(o):
10208  return _object_cast_to_NearestNeighborD(o)
10209 
10210 
10211 # Register NearestNeighbor6D in _IMP_algebra:
10212 _IMP_algebra.NearestNeighbor6D_swigregister(NearestNeighbor6D)
10213 class NearestNeighborKD(IMP.Object):
10214  r"""Proxy of C++ IMP::algebra::NearestNeighborD< -1 > class."""
10215 
10216  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10217 
10218  def __init__(self, vs, epsilon=0):
10219  r"""__init__(NearestNeighborKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & vs, double epsilon=0) -> NearestNeighborKD"""
10220  _IMP_algebra.NearestNeighborKD_swiginit(self, _IMP_algebra.new_NearestNeighborKD(vs, epsilon))
10221 
10222  def set_query_log(self, fname):
10223  r"""set_query_log(NearestNeighborKD self, std::string fname)"""
10224  return _IMP_algebra.NearestNeighborKD_set_query_log(self, fname)
10225 
10226  def get_nearest_neighbor(self, *args):
10227  r"""
10228  get_nearest_neighbor(NearestNeighborKD self, VectorKD q) -> unsigned int
10229  get_nearest_neighbor(NearestNeighborKD self, unsigned int i) -> unsigned int
10230  """
10231  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbor(self, *args)
10232 
10233  def get_nearest_neighbors(self, *args):
10234  r"""
10235  get_nearest_neighbors(NearestNeighborKD self, unsigned int i, unsigned int k) -> IMP::Ints
10236  get_nearest_neighbors(NearestNeighborKD self, VectorKD v, unsigned int k) -> IMP::Ints
10237  """
10238  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbors(self, *args)
10239 
10240  def get_in_ball(self, *args):
10241  r"""
10242  get_in_ball(NearestNeighborKD self, unsigned int i, double distance) -> IMP::Ints
10243  get_in_ball(NearestNeighborKD self, VectorKD pt, double distance) -> IMP::Ints
10244  """
10245  return _IMP_algebra.NearestNeighborKD_get_in_ball(self, *args)
10246 
10247  def get_version_info(self):
10248  r"""get_version_info(NearestNeighborKD self) -> VersionInfo"""
10249  return _IMP_algebra.NearestNeighborKD_get_version_info(self)
10250  __swig_destroy__ = _IMP_algebra.delete_NearestNeighborKD
10251 
10252  def __str__(self):
10253  r"""__str__(NearestNeighborKD self) -> std::string"""
10254  return _IMP_algebra.NearestNeighborKD___str__(self)
10255 
10256  def __repr__(self):
10257  r"""__repr__(NearestNeighborKD self) -> std::string"""
10258  return _IMP_algebra.NearestNeighborKD___repr__(self)
10259 
10260  @staticmethod
10261  def get_from(o):
10262  return _object_cast_to_NearestNeighborD(o)
10263 
10264 
10265 # Register NearestNeighborKD in _IMP_algebra:
10266 _IMP_algebra.NearestNeighborKD_swigregister(NearestNeighborKD)
10267 
10268 def get_transformation_aligning_pair(set_from, set_to):
10269  r"""get_transformation_aligning_pair(IMP::algebra::Vector2Ds const & set_from, IMP::algebra::Vector2Ds const & set_to) -> Transformation2D"""
10270  return _IMP_algebra.get_transformation_aligning_pair(set_from, set_to)
10271 class PrincipalComponentAnalysis1D(IMP._GeometricPrimitive1D):
10272  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 1 > class."""
10273 
10274  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10275 
10276  def __init__(self, *args):
10277  r"""
10278  __init__(PrincipalComponentAnalysis1D self) -> PrincipalComponentAnalysis1D
10279  __init__(PrincipalComponentAnalysis1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & pcs, Vector1D values, Vector1D centroid) -> PrincipalComponentAnalysis1D
10280  """
10281  _IMP_algebra.PrincipalComponentAnalysis1D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis1D(*args))
10282 
10283  def get_principal_components(self):
10284  r"""get_principal_components(PrincipalComponentAnalysis1D self) -> IMP::Vector< IMP::algebra::VectorD< 1 > >"""
10285  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_components(self)
10286 
10287  def get_principal_component(self, i):
10288  r"""get_principal_component(PrincipalComponentAnalysis1D self, unsigned int i) -> Vector1D"""
10289  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_component(self, i)
10290 
10291  def get_principal_values(self):
10292  r"""get_principal_values(PrincipalComponentAnalysis1D self) -> Vector1D"""
10293  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_values(self)
10294 
10295  def get_principal_value(self, i):
10296  r"""get_principal_value(PrincipalComponentAnalysis1D self, unsigned int i) -> double"""
10297  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_value(self, i)
10298 
10299  def get_centroid(self):
10300  r"""get_centroid(PrincipalComponentAnalysis1D self) -> Vector1D"""
10301  return _IMP_algebra.PrincipalComponentAnalysis1D_get_centroid(self)
10302 
10303  def set_centroid(self, cntr):
10304  r"""set_centroid(PrincipalComponentAnalysis1D self, Vector1D cntr)"""
10305  return _IMP_algebra.PrincipalComponentAnalysis1D_set_centroid(self, cntr)
10306 
10307  def show(self, *args):
10308  r"""show(PrincipalComponentAnalysis1D self, _ostream out=std::cout)"""
10309  return _IMP_algebra.PrincipalComponentAnalysis1D_show(self, *args)
10310 
10311  def __cmp__(self, o):
10312  r"""__cmp__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> int"""
10313  return _IMP_algebra.PrincipalComponentAnalysis1D___cmp__(self, o)
10314 
10315  def __eq__(self, o):
10316  r"""__eq__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10317  return _IMP_algebra.PrincipalComponentAnalysis1D___eq__(self, o)
10318 
10319  def __ne__(self, o):
10320  r"""__ne__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10321  return _IMP_algebra.PrincipalComponentAnalysis1D___ne__(self, o)
10322 
10323  def __lt__(self, o):
10324  r"""__lt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10325  return _IMP_algebra.PrincipalComponentAnalysis1D___lt__(self, o)
10326 
10327  def __gt__(self, o):
10328  r"""__gt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10329  return _IMP_algebra.PrincipalComponentAnalysis1D___gt__(self, o)
10330 
10331  def __ge__(self, o):
10332  r"""__ge__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10333  return _IMP_algebra.PrincipalComponentAnalysis1D___ge__(self, o)
10334 
10335  def __le__(self, o):
10336  r"""__le__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10337  return _IMP_algebra.PrincipalComponentAnalysis1D___le__(self, o)
10338 
10339  def __str__(self):
10340  r"""__str__(PrincipalComponentAnalysis1D self) -> std::string"""
10341  return _IMP_algebra.PrincipalComponentAnalysis1D___str__(self)
10342 
10343  def __repr__(self):
10344  r"""__repr__(PrincipalComponentAnalysis1D self) -> std::string"""
10345  return _IMP_algebra.PrincipalComponentAnalysis1D___repr__(self)
10346 
10347  def _get_as_binary(self):
10348  r"""_get_as_binary(PrincipalComponentAnalysis1D self) -> PyObject *"""
10349  return _IMP_algebra.PrincipalComponentAnalysis1D__get_as_binary(self)
10350 
10351  def _set_from_binary(self, p):
10352  r"""_set_from_binary(PrincipalComponentAnalysis1D self, PyObject * p)"""
10353  return _IMP_algebra.PrincipalComponentAnalysis1D__set_from_binary(self, p)
10354 
10355  def __getstate__(self):
10356  p = self._get_as_binary()
10357  if len(self.__dict__) > 1:
10358  d = self.__dict__.copy()
10359  del d['this']
10360  p = (d, p)
10361  return p
10362 
10363  def __setstate__(self, p):
10364  if not hasattr(self, 'this'):
10365  self.__init__()
10366  if isinstance(p, tuple):
10367  d, p = p
10368  self.__dict__.update(d)
10369  return self._set_from_binary(p)
10370 
10371  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis1D
10372 
10373 # Register PrincipalComponentAnalysis1D in _IMP_algebra:
10374 _IMP_algebra.PrincipalComponentAnalysis1D_swigregister(PrincipalComponentAnalysis1D)
10375 class PrincipalComponentAnalysis2D(IMP._GeometricPrimitive2D):
10376  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 2 > class."""
10377 
10378  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10379 
10380  def __init__(self, *args):
10381  r"""
10382  __init__(PrincipalComponentAnalysis2D self) -> PrincipalComponentAnalysis2D
10383  __init__(PrincipalComponentAnalysis2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & pcs, Vector2D values, Vector2D centroid) -> PrincipalComponentAnalysis2D
10384  """
10385  _IMP_algebra.PrincipalComponentAnalysis2D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis2D(*args))
10386 
10387  def get_principal_components(self):
10388  r"""get_principal_components(PrincipalComponentAnalysis2D self) -> IMP::Vector< IMP::algebra::VectorD< 2 > >"""
10389  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_components(self)
10390 
10391  def get_principal_component(self, i):
10392  r"""get_principal_component(PrincipalComponentAnalysis2D self, unsigned int i) -> Vector2D"""
10393  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_component(self, i)
10394 
10395  def get_principal_values(self):
10396  r"""get_principal_values(PrincipalComponentAnalysis2D self) -> Vector2D"""
10397  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_values(self)
10398 
10399  def get_principal_value(self, i):
10400  r"""get_principal_value(PrincipalComponentAnalysis2D self, unsigned int i) -> double"""
10401  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_value(self, i)
10402 
10403  def get_centroid(self):
10404  r"""get_centroid(PrincipalComponentAnalysis2D self) -> Vector2D"""
10405  return _IMP_algebra.PrincipalComponentAnalysis2D_get_centroid(self)
10406 
10407  def set_centroid(self, cntr):
10408  r"""set_centroid(PrincipalComponentAnalysis2D self, Vector2D cntr)"""
10409  return _IMP_algebra.PrincipalComponentAnalysis2D_set_centroid(self, cntr)
10410 
10411  def show(self, *args):
10412  r"""show(PrincipalComponentAnalysis2D self, _ostream out=std::cout)"""
10413  return _IMP_algebra.PrincipalComponentAnalysis2D_show(self, *args)
10414 
10415  def __cmp__(self, o):
10416  r"""__cmp__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> int"""
10417  return _IMP_algebra.PrincipalComponentAnalysis2D___cmp__(self, o)
10418 
10419  def __eq__(self, o):
10420  r"""__eq__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10421  return _IMP_algebra.PrincipalComponentAnalysis2D___eq__(self, o)
10422 
10423  def __ne__(self, o):
10424  r"""__ne__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10425  return _IMP_algebra.PrincipalComponentAnalysis2D___ne__(self, o)
10426 
10427  def __lt__(self, o):
10428  r"""__lt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10429  return _IMP_algebra.PrincipalComponentAnalysis2D___lt__(self, o)
10430 
10431  def __gt__(self, o):
10432  r"""__gt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10433  return _IMP_algebra.PrincipalComponentAnalysis2D___gt__(self, o)
10434 
10435  def __ge__(self, o):
10436  r"""__ge__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10437  return _IMP_algebra.PrincipalComponentAnalysis2D___ge__(self, o)
10438 
10439  def __le__(self, o):
10440  r"""__le__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10441  return _IMP_algebra.PrincipalComponentAnalysis2D___le__(self, o)
10442 
10443  def __str__(self):
10444  r"""__str__(PrincipalComponentAnalysis2D self) -> std::string"""
10445  return _IMP_algebra.PrincipalComponentAnalysis2D___str__(self)
10446 
10447  def __repr__(self):
10448  r"""__repr__(PrincipalComponentAnalysis2D self) -> std::string"""
10449  return _IMP_algebra.PrincipalComponentAnalysis2D___repr__(self)
10450 
10451  def _get_as_binary(self):
10452  r"""_get_as_binary(PrincipalComponentAnalysis2D self) -> PyObject *"""
10453  return _IMP_algebra.PrincipalComponentAnalysis2D__get_as_binary(self)
10454 
10455  def _set_from_binary(self, p):
10456  r"""_set_from_binary(PrincipalComponentAnalysis2D self, PyObject * p)"""
10457  return _IMP_algebra.PrincipalComponentAnalysis2D__set_from_binary(self, p)
10458 
10459  def __getstate__(self):
10460  p = self._get_as_binary()
10461  if len(self.__dict__) > 1:
10462  d = self.__dict__.copy()
10463  del d['this']
10464  p = (d, p)
10465  return p
10466 
10467  def __setstate__(self, p):
10468  if not hasattr(self, 'this'):
10469  self.__init__()
10470  if isinstance(p, tuple):
10471  d, p = p
10472  self.__dict__.update(d)
10473  return self._set_from_binary(p)
10474 
10475  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis2D
10476 
10477 # Register PrincipalComponentAnalysis2D in _IMP_algebra:
10478 _IMP_algebra.PrincipalComponentAnalysis2D_swigregister(PrincipalComponentAnalysis2D)
10479 class PrincipalComponentAnalysis3D(IMP._GeometricPrimitive3D):
10480  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 3 > class."""
10481 
10482  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10483 
10484  def __init__(self, *args):
10485  r"""
10486  __init__(PrincipalComponentAnalysis3D self) -> PrincipalComponentAnalysis3D
10487  __init__(PrincipalComponentAnalysis3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & pcs, Vector3D values, Vector3D centroid) -> PrincipalComponentAnalysis3D
10488  """
10489  _IMP_algebra.PrincipalComponentAnalysis3D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis3D(*args))
10490 
10491  def get_principal_components(self):
10492  r"""get_principal_components(PrincipalComponentAnalysis3D self) -> IMP::Vector< IMP::algebra::VectorD< 3 > >"""
10493  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_components(self)
10494 
10495  def get_principal_component(self, i):
10496  r"""get_principal_component(PrincipalComponentAnalysis3D self, unsigned int i) -> Vector3D"""
10497  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_component(self, i)
10498 
10499  def get_principal_values(self):
10500  r"""get_principal_values(PrincipalComponentAnalysis3D self) -> Vector3D"""
10501  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_values(self)
10502 
10503  def get_principal_value(self, i):
10504  r"""get_principal_value(PrincipalComponentAnalysis3D self, unsigned int i) -> double"""
10505  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_value(self, i)
10506 
10507  def get_centroid(self):
10508  r"""get_centroid(PrincipalComponentAnalysis3D self) -> Vector3D"""
10509  return _IMP_algebra.PrincipalComponentAnalysis3D_get_centroid(self)
10510 
10511  def set_centroid(self, cntr):
10512  r"""set_centroid(PrincipalComponentAnalysis3D self, Vector3D cntr)"""
10513  return _IMP_algebra.PrincipalComponentAnalysis3D_set_centroid(self, cntr)
10514 
10515  def show(self, *args):
10516  r"""show(PrincipalComponentAnalysis3D self, _ostream out=std::cout)"""
10517  return _IMP_algebra.PrincipalComponentAnalysis3D_show(self, *args)
10518 
10519  def __cmp__(self, o):
10520  r"""__cmp__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> int"""
10521  return _IMP_algebra.PrincipalComponentAnalysis3D___cmp__(self, o)
10522 
10523  def __eq__(self, o):
10524  r"""__eq__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10525  return _IMP_algebra.PrincipalComponentAnalysis3D___eq__(self, o)
10526 
10527  def __ne__(self, o):
10528  r"""__ne__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10529  return _IMP_algebra.PrincipalComponentAnalysis3D___ne__(self, o)
10530 
10531  def __lt__(self, o):
10532  r"""__lt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10533  return _IMP_algebra.PrincipalComponentAnalysis3D___lt__(self, o)
10534 
10535  def __gt__(self, o):
10536  r"""__gt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10537  return _IMP_algebra.PrincipalComponentAnalysis3D___gt__(self, o)
10538 
10539  def __ge__(self, o):
10540  r"""__ge__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10541  return _IMP_algebra.PrincipalComponentAnalysis3D___ge__(self, o)
10542 
10543  def __le__(self, o):
10544  r"""__le__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10545  return _IMP_algebra.PrincipalComponentAnalysis3D___le__(self, o)
10546 
10547  def __str__(self):
10548  r"""__str__(PrincipalComponentAnalysis3D self) -> std::string"""
10549  return _IMP_algebra.PrincipalComponentAnalysis3D___str__(self)
10550 
10551  def __repr__(self):
10552  r"""__repr__(PrincipalComponentAnalysis3D self) -> std::string"""
10553  return _IMP_algebra.PrincipalComponentAnalysis3D___repr__(self)
10554 
10555  def _get_as_binary(self):
10556  r"""_get_as_binary(PrincipalComponentAnalysis3D self) -> PyObject *"""
10557  return _IMP_algebra.PrincipalComponentAnalysis3D__get_as_binary(self)
10558 
10559  def _set_from_binary(self, p):
10560  r"""_set_from_binary(PrincipalComponentAnalysis3D self, PyObject * p)"""
10561  return _IMP_algebra.PrincipalComponentAnalysis3D__set_from_binary(self, p)
10562 
10563  def __getstate__(self):
10564  p = self._get_as_binary()
10565  if len(self.__dict__) > 1:
10566  d = self.__dict__.copy()
10567  del d['this']
10568  p = (d, p)
10569  return p
10570 
10571  def __setstate__(self, p):
10572  if not hasattr(self, 'this'):
10573  self.__init__()
10574  if isinstance(p, tuple):
10575  d, p = p
10576  self.__dict__.update(d)
10577  return self._set_from_binary(p)
10578 
10579  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis3D
10580 
10581 # Register PrincipalComponentAnalysis3D in _IMP_algebra:
10582 _IMP_algebra.PrincipalComponentAnalysis3D_swigregister(PrincipalComponentAnalysis3D)
10583 class PrincipalComponentAnalysis4D(IMP._GeometricPrimitive4D):
10584  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 4 > class."""
10585 
10586  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10587 
10588  def __init__(self, *args):
10589  r"""
10590  __init__(PrincipalComponentAnalysis4D self) -> PrincipalComponentAnalysis4D
10591  __init__(PrincipalComponentAnalysis4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & pcs, Vector4D values, Vector4D centroid) -> PrincipalComponentAnalysis4D
10592  """
10593  _IMP_algebra.PrincipalComponentAnalysis4D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis4D(*args))
10594 
10595  def get_principal_components(self):
10596  r"""get_principal_components(PrincipalComponentAnalysis4D self) -> IMP::Vector< IMP::algebra::VectorD< 4 > >"""
10597  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_components(self)
10598 
10599  def get_principal_component(self, i):
10600  r"""get_principal_component(PrincipalComponentAnalysis4D self, unsigned int i) -> Vector4D"""
10601  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_component(self, i)
10602 
10603  def get_principal_values(self):
10604  r"""get_principal_values(PrincipalComponentAnalysis4D self) -> Vector4D"""
10605  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_values(self)
10606 
10607  def get_principal_value(self, i):
10608  r"""get_principal_value(PrincipalComponentAnalysis4D self, unsigned int i) -> double"""
10609  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_value(self, i)
10610 
10611  def get_centroid(self):
10612  r"""get_centroid(PrincipalComponentAnalysis4D self) -> Vector4D"""
10613  return _IMP_algebra.PrincipalComponentAnalysis4D_get_centroid(self)
10614 
10615  def set_centroid(self, cntr):
10616  r"""set_centroid(PrincipalComponentAnalysis4D self, Vector4D cntr)"""
10617  return _IMP_algebra.PrincipalComponentAnalysis4D_set_centroid(self, cntr)
10618 
10619  def show(self, *args):
10620  r"""show(PrincipalComponentAnalysis4D self, _ostream out=std::cout)"""
10621  return _IMP_algebra.PrincipalComponentAnalysis4D_show(self, *args)
10622 
10623  def __cmp__(self, o):
10624  r"""__cmp__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> int"""
10625  return _IMP_algebra.PrincipalComponentAnalysis4D___cmp__(self, o)
10626 
10627  def __eq__(self, o):
10628  r"""__eq__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10629  return _IMP_algebra.PrincipalComponentAnalysis4D___eq__(self, o)
10630 
10631  def __ne__(self, o):
10632  r"""__ne__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10633  return _IMP_algebra.PrincipalComponentAnalysis4D___ne__(self, o)
10634 
10635  def __lt__(self, o):
10636  r"""__lt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10637  return _IMP_algebra.PrincipalComponentAnalysis4D___lt__(self, o)
10638 
10639  def __gt__(self, o):
10640  r"""__gt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10641  return _IMP_algebra.PrincipalComponentAnalysis4D___gt__(self, o)
10642 
10643  def __ge__(self, o):
10644  r"""__ge__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10645  return _IMP_algebra.PrincipalComponentAnalysis4D___ge__(self, o)
10646 
10647  def __le__(self, o):
10648  r"""__le__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10649  return _IMP_algebra.PrincipalComponentAnalysis4D___le__(self, o)
10650 
10651  def __str__(self):
10652  r"""__str__(PrincipalComponentAnalysis4D self) -> std::string"""
10653  return _IMP_algebra.PrincipalComponentAnalysis4D___str__(self)
10654 
10655  def __repr__(self):
10656  r"""__repr__(PrincipalComponentAnalysis4D self) -> std::string"""
10657  return _IMP_algebra.PrincipalComponentAnalysis4D___repr__(self)
10658 
10659  def _get_as_binary(self):
10660  r"""_get_as_binary(PrincipalComponentAnalysis4D self) -> PyObject *"""
10661  return _IMP_algebra.PrincipalComponentAnalysis4D__get_as_binary(self)
10662 
10663  def _set_from_binary(self, p):
10664  r"""_set_from_binary(PrincipalComponentAnalysis4D self, PyObject * p)"""
10665  return _IMP_algebra.PrincipalComponentAnalysis4D__set_from_binary(self, p)
10666 
10667  def __getstate__(self):
10668  p = self._get_as_binary()
10669  if len(self.__dict__) > 1:
10670  d = self.__dict__.copy()
10671  del d['this']
10672  p = (d, p)
10673  return p
10674 
10675  def __setstate__(self, p):
10676  if not hasattr(self, 'this'):
10677  self.__init__()
10678  if isinstance(p, tuple):
10679  d, p = p
10680  self.__dict__.update(d)
10681  return self._set_from_binary(p)
10682 
10683  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis4D
10684 
10685 # Register PrincipalComponentAnalysis4D in _IMP_algebra:
10686 _IMP_algebra.PrincipalComponentAnalysis4D_swigregister(PrincipalComponentAnalysis4D)
10687 class PrincipalComponentAnalysis5D(IMP._GeometricPrimitive5D):
10688  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 5 > class."""
10689 
10690  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10691 
10692  def __init__(self, *args):
10693  r"""
10694  __init__(PrincipalComponentAnalysis5D self) -> PrincipalComponentAnalysis5D
10695  __init__(PrincipalComponentAnalysis5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & pcs, Vector5D values, Vector5D centroid) -> PrincipalComponentAnalysis5D
10696  """
10697  _IMP_algebra.PrincipalComponentAnalysis5D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis5D(*args))
10698 
10699  def get_principal_components(self):
10700  r"""get_principal_components(PrincipalComponentAnalysis5D self) -> IMP::Vector< IMP::algebra::VectorD< 5 > >"""
10701  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_components(self)
10702 
10703  def get_principal_component(self, i):
10704  r"""get_principal_component(PrincipalComponentAnalysis5D self, unsigned int i) -> Vector5D"""
10705  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_component(self, i)
10706 
10707  def get_principal_values(self):
10708  r"""get_principal_values(PrincipalComponentAnalysis5D self) -> Vector5D"""
10709  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_values(self)
10710 
10711  def get_principal_value(self, i):
10712  r"""get_principal_value(PrincipalComponentAnalysis5D self, unsigned int i) -> double"""
10713  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_value(self, i)
10714 
10715  def get_centroid(self):
10716  r"""get_centroid(PrincipalComponentAnalysis5D self) -> Vector5D"""
10717  return _IMP_algebra.PrincipalComponentAnalysis5D_get_centroid(self)
10718 
10719  def set_centroid(self, cntr):
10720  r"""set_centroid(PrincipalComponentAnalysis5D self, Vector5D cntr)"""
10721  return _IMP_algebra.PrincipalComponentAnalysis5D_set_centroid(self, cntr)
10722 
10723  def show(self, *args):
10724  r"""show(PrincipalComponentAnalysis5D self, _ostream out=std::cout)"""
10725  return _IMP_algebra.PrincipalComponentAnalysis5D_show(self, *args)
10726 
10727  def __cmp__(self, o):
10728  r"""__cmp__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> int"""
10729  return _IMP_algebra.PrincipalComponentAnalysis5D___cmp__(self, o)
10730 
10731  def __eq__(self, o):
10732  r"""__eq__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10733  return _IMP_algebra.PrincipalComponentAnalysis5D___eq__(self, o)
10734 
10735  def __ne__(self, o):
10736  r"""__ne__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10737  return _IMP_algebra.PrincipalComponentAnalysis5D___ne__(self, o)
10738 
10739  def __lt__(self, o):
10740  r"""__lt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10741  return _IMP_algebra.PrincipalComponentAnalysis5D___lt__(self, o)
10742 
10743  def __gt__(self, o):
10744  r"""__gt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10745  return _IMP_algebra.PrincipalComponentAnalysis5D___gt__(self, o)
10746 
10747  def __ge__(self, o):
10748  r"""__ge__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10749  return _IMP_algebra.PrincipalComponentAnalysis5D___ge__(self, o)
10750 
10751  def __le__(self, o):
10752  r"""__le__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10753  return _IMP_algebra.PrincipalComponentAnalysis5D___le__(self, o)
10754 
10755  def __str__(self):
10756  r"""__str__(PrincipalComponentAnalysis5D self) -> std::string"""
10757  return _IMP_algebra.PrincipalComponentAnalysis5D___str__(self)
10758 
10759  def __repr__(self):
10760  r"""__repr__(PrincipalComponentAnalysis5D self) -> std::string"""
10761  return _IMP_algebra.PrincipalComponentAnalysis5D___repr__(self)
10762 
10763  def _get_as_binary(self):
10764  r"""_get_as_binary(PrincipalComponentAnalysis5D self) -> PyObject *"""
10765  return _IMP_algebra.PrincipalComponentAnalysis5D__get_as_binary(self)
10766 
10767  def _set_from_binary(self, p):
10768  r"""_set_from_binary(PrincipalComponentAnalysis5D self, PyObject * p)"""
10769  return _IMP_algebra.PrincipalComponentAnalysis5D__set_from_binary(self, p)
10770 
10771  def __getstate__(self):
10772  p = self._get_as_binary()
10773  if len(self.__dict__) > 1:
10774  d = self.__dict__.copy()
10775  del d['this']
10776  p = (d, p)
10777  return p
10778 
10779  def __setstate__(self, p):
10780  if not hasattr(self, 'this'):
10781  self.__init__()
10782  if isinstance(p, tuple):
10783  d, p = p
10784  self.__dict__.update(d)
10785  return self._set_from_binary(p)
10786 
10787  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis5D
10788 
10789 # Register PrincipalComponentAnalysis5D in _IMP_algebra:
10790 _IMP_algebra.PrincipalComponentAnalysis5D_swigregister(PrincipalComponentAnalysis5D)
10791 class PrincipalComponentAnalysis6D(IMP._GeometricPrimitive6D):
10792  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 6 > class."""
10793 
10794  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10795 
10796  def __init__(self, *args):
10797  r"""
10798  __init__(PrincipalComponentAnalysis6D self) -> PrincipalComponentAnalysis6D
10799  __init__(PrincipalComponentAnalysis6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & pcs, Vector6D values, Vector6D centroid) -> PrincipalComponentAnalysis6D
10800  """
10801  _IMP_algebra.PrincipalComponentAnalysis6D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis6D(*args))
10802 
10803  def get_principal_components(self):
10804  r"""get_principal_components(PrincipalComponentAnalysis6D self) -> IMP::Vector< IMP::algebra::VectorD< 6 > >"""
10805  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_components(self)
10806 
10807  def get_principal_component(self, i):
10808  r"""get_principal_component(PrincipalComponentAnalysis6D self, unsigned int i) -> Vector6D"""
10809  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_component(self, i)
10810 
10811  def get_principal_values(self):
10812  r"""get_principal_values(PrincipalComponentAnalysis6D self) -> Vector6D"""
10813  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_values(self)
10814 
10815  def get_principal_value(self, i):
10816  r"""get_principal_value(PrincipalComponentAnalysis6D self, unsigned int i) -> double"""
10817  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_value(self, i)
10818 
10819  def get_centroid(self):
10820  r"""get_centroid(PrincipalComponentAnalysis6D self) -> Vector6D"""
10821  return _IMP_algebra.PrincipalComponentAnalysis6D_get_centroid(self)
10822 
10823  def set_centroid(self, cntr):
10824  r"""set_centroid(PrincipalComponentAnalysis6D self, Vector6D cntr)"""
10825  return _IMP_algebra.PrincipalComponentAnalysis6D_set_centroid(self, cntr)
10826 
10827  def show(self, *args):
10828  r"""show(PrincipalComponentAnalysis6D self, _ostream out=std::cout)"""
10829  return _IMP_algebra.PrincipalComponentAnalysis6D_show(self, *args)
10830 
10831  def __cmp__(self, o):
10832  r"""__cmp__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> int"""
10833  return _IMP_algebra.PrincipalComponentAnalysis6D___cmp__(self, o)
10834 
10835  def __eq__(self, o):
10836  r"""__eq__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10837  return _IMP_algebra.PrincipalComponentAnalysis6D___eq__(self, o)
10838 
10839  def __ne__(self, o):
10840  r"""__ne__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10841  return _IMP_algebra.PrincipalComponentAnalysis6D___ne__(self, o)
10842 
10843  def __lt__(self, o):
10844  r"""__lt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10845  return _IMP_algebra.PrincipalComponentAnalysis6D___lt__(self, o)
10846 
10847  def __gt__(self, o):
10848  r"""__gt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10849  return _IMP_algebra.PrincipalComponentAnalysis6D___gt__(self, o)
10850 
10851  def __ge__(self, o):
10852  r"""__ge__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10853  return _IMP_algebra.PrincipalComponentAnalysis6D___ge__(self, o)
10854 
10855  def __le__(self, o):
10856  r"""__le__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10857  return _IMP_algebra.PrincipalComponentAnalysis6D___le__(self, o)
10858 
10859  def __str__(self):
10860  r"""__str__(PrincipalComponentAnalysis6D self) -> std::string"""
10861  return _IMP_algebra.PrincipalComponentAnalysis6D___str__(self)
10862 
10863  def __repr__(self):
10864  r"""__repr__(PrincipalComponentAnalysis6D self) -> std::string"""
10865  return _IMP_algebra.PrincipalComponentAnalysis6D___repr__(self)
10866 
10867  def _get_as_binary(self):
10868  r"""_get_as_binary(PrincipalComponentAnalysis6D self) -> PyObject *"""
10869  return _IMP_algebra.PrincipalComponentAnalysis6D__get_as_binary(self)
10870 
10871  def _set_from_binary(self, p):
10872  r"""_set_from_binary(PrincipalComponentAnalysis6D self, PyObject * p)"""
10873  return _IMP_algebra.PrincipalComponentAnalysis6D__set_from_binary(self, p)
10874 
10875  def __getstate__(self):
10876  p = self._get_as_binary()
10877  if len(self.__dict__) > 1:
10878  d = self.__dict__.copy()
10879  del d['this']
10880  p = (d, p)
10881  return p
10882 
10883  def __setstate__(self, p):
10884  if not hasattr(self, 'this'):
10885  self.__init__()
10886  if isinstance(p, tuple):
10887  d, p = p
10888  self.__dict__.update(d)
10889  return self._set_from_binary(p)
10890 
10891  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis6D
10892 
10893 # Register PrincipalComponentAnalysis6D in _IMP_algebra:
10894 _IMP_algebra.PrincipalComponentAnalysis6D_swigregister(PrincipalComponentAnalysis6D)
10895 class PrincipalComponentAnalysisKD(IMP._GeometricPrimitiveKD):
10896  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< -1 > class."""
10897 
10898  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10899 
10900  def __init__(self, *args):
10901  r"""
10902  __init__(PrincipalComponentAnalysisKD self) -> PrincipalComponentAnalysisKD
10903  __init__(PrincipalComponentAnalysisKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & pcs, VectorKD values, VectorKD centroid) -> PrincipalComponentAnalysisKD
10904  """
10905  _IMP_algebra.PrincipalComponentAnalysisKD_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysisKD(*args))
10906 
10907  def get_principal_components(self):
10908  r"""get_principal_components(PrincipalComponentAnalysisKD self) -> IMP::Vector< IMP::algebra::VectorD< -1 > >"""
10909  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_components(self)
10910 
10911  def get_principal_component(self, i):
10912  r"""get_principal_component(PrincipalComponentAnalysisKD self, unsigned int i) -> VectorKD"""
10913  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_component(self, i)
10914 
10915  def get_principal_values(self):
10916  r"""get_principal_values(PrincipalComponentAnalysisKD self) -> VectorKD"""
10917  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_values(self)
10918 
10919  def get_principal_value(self, i):
10920  r"""get_principal_value(PrincipalComponentAnalysisKD self, unsigned int i) -> double"""
10921  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_value(self, i)
10922 
10923  def get_centroid(self):
10924  r"""get_centroid(PrincipalComponentAnalysisKD self) -> VectorKD"""
10925  return _IMP_algebra.PrincipalComponentAnalysisKD_get_centroid(self)
10926 
10927  def set_centroid(self, cntr):
10928  r"""set_centroid(PrincipalComponentAnalysisKD self, VectorKD cntr)"""
10929  return _IMP_algebra.PrincipalComponentAnalysisKD_set_centroid(self, cntr)
10930 
10931  def show(self, *args):
10932  r"""show(PrincipalComponentAnalysisKD self, _ostream out=std::cout)"""
10933  return _IMP_algebra.PrincipalComponentAnalysisKD_show(self, *args)
10934 
10935  def __cmp__(self, o):
10936  r"""__cmp__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> int"""
10937  return _IMP_algebra.PrincipalComponentAnalysisKD___cmp__(self, o)
10938 
10939  def __eq__(self, o):
10940  r"""__eq__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10941  return _IMP_algebra.PrincipalComponentAnalysisKD___eq__(self, o)
10942 
10943  def __ne__(self, o):
10944  r"""__ne__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10945  return _IMP_algebra.PrincipalComponentAnalysisKD___ne__(self, o)
10946 
10947  def __lt__(self, o):
10948  r"""__lt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10949  return _IMP_algebra.PrincipalComponentAnalysisKD___lt__(self, o)
10950 
10951  def __gt__(self, o):
10952  r"""__gt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10953  return _IMP_algebra.PrincipalComponentAnalysisKD___gt__(self, o)
10954 
10955  def __ge__(self, o):
10956  r"""__ge__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10957  return _IMP_algebra.PrincipalComponentAnalysisKD___ge__(self, o)
10958 
10959  def __le__(self, o):
10960  r"""__le__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10961  return _IMP_algebra.PrincipalComponentAnalysisKD___le__(self, o)
10962 
10963  def __str__(self):
10964  r"""__str__(PrincipalComponentAnalysisKD self) -> std::string"""
10965  return _IMP_algebra.PrincipalComponentAnalysisKD___str__(self)
10966 
10967  def __repr__(self):
10968  r"""__repr__(PrincipalComponentAnalysisKD self) -> std::string"""
10969  return _IMP_algebra.PrincipalComponentAnalysisKD___repr__(self)
10970 
10971  def _get_as_binary(self):
10972  r"""_get_as_binary(PrincipalComponentAnalysisKD self) -> PyObject *"""
10973  return _IMP_algebra.PrincipalComponentAnalysisKD__get_as_binary(self)
10974 
10975  def _set_from_binary(self, p):
10976  r"""_set_from_binary(PrincipalComponentAnalysisKD self, PyObject * p)"""
10977  return _IMP_algebra.PrincipalComponentAnalysisKD__set_from_binary(self, p)
10978 
10979  def __getstate__(self):
10980  p = self._get_as_binary()
10981  if len(self.__dict__) > 1:
10982  d = self.__dict__.copy()
10983  del d['this']
10984  p = (d, p)
10985  return p
10986 
10987  def __setstate__(self, p):
10988  if not hasattr(self, 'this'):
10989  self.__init__()
10990  if isinstance(p, tuple):
10991  d, p = p
10992  self.__dict__.update(d)
10993  return self._set_from_binary(p)
10994 
10995  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysisKD
10996 
10997 # Register PrincipalComponentAnalysisKD in _IMP_algebra:
10998 _IMP_algebra.PrincipalComponentAnalysisKD_swigregister(PrincipalComponentAnalysisKD)
10999 
11000 def get_principal_components(*args):
11001  r"""
11002  get_principal_components(IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > > const & a) -> PrincipalComponentAnalysis1D
11003  get_principal_components(IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > > const & a) -> PrincipalComponentAnalysis2D
11004  get_principal_components(IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > > const & a) -> PrincipalComponentAnalysis3D
11005  get_principal_components(IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > > const & a) -> PrincipalComponentAnalysis4D
11006  get_principal_components(IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > > const & a) -> PrincipalComponentAnalysis5D
11007  get_principal_components(IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > > const & a) -> PrincipalComponentAnalysis6D
11008  get_principal_components(IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > > const & a) -> PrincipalComponentAnalysisKD
11009  """
11010  return _IMP_algebra.get_principal_components(*args)
11011 
11012 def get_distance(*args):
11013  r"""
11014  get_distance()
11015  get_distance(Rotation3D r0, Rotation3D r1) -> double
11016  get_distance(Line3D s, Vector3D p) -> double
11017  get_distance(Line3D a, Line3D b) -> double
11018  get_distance(Segment3D s, Vector3D p) -> double
11019  get_distance(Segment3D a, Segment3D b) -> double
11020  get_distance(Plane3D pln, Vector3D p) -> double
11021  get_distance(Vector1D a, Vector1D b) -> double
11022  get_distance(Vector2D a, Vector2D b) -> double
11023  get_distance(Vector3D a, Vector3D b) -> double
11024  get_distance(Vector4D a, Vector4D b) -> double
11025  get_distance(Vector5D a, Vector5D b) -> double
11026  get_distance(Vector6D a, Vector6D b) -> double
11027  get_distance(VectorKD a, VectorKD b) -> double
11028  get_distance(Sphere1D a, Sphere1D b) -> double
11029  get_distance(Sphere2D a, Sphere2D b) -> double
11030  get_distance(Sphere3D a, Sphere3D b) -> double
11031  get_distance(Sphere4D a, Sphere4D b) -> double
11032  get_distance(Sphere5D a, Sphere5D b) -> double
11033  get_distance(Sphere6D a, Sphere6D b) -> double
11034  get_distance(SphereKD a, SphereKD b) -> double
11035  """
11036  return _IMP_algebra.get_distance(*args)
11037 
11038 def get_squared_distance(*args):
11039  r"""
11040  get_squared_distance()
11041  get_squared_distance(Vector1D a, Vector1D b) -> double
11042  get_squared_distance(Vector2D a, Vector2D b) -> double
11043  get_squared_distance(Vector3D a, Vector3D b) -> double
11044  get_squared_distance(Vector4D a, Vector4D b) -> double
11045  get_squared_distance(Vector5D a, Vector5D b) -> double
11046  get_squared_distance(Vector6D a, Vector6D b) -> double
11047  get_squared_distance(VectorKD a, VectorKD b) -> double
11048  """
11049  return _IMP_algebra.get_squared_distance(*args)
11050 
11051 def get_unit_bounding_box_1d():
11052  r"""get_unit_bounding_box_1d() -> BoundingBox1D"""
11053  return _IMP_algebra.get_unit_bounding_box_1d()
11054 
11055 def get_unit_bounding_box_2d():
11056  r"""get_unit_bounding_box_2d() -> BoundingBox2D"""
11057  return _IMP_algebra.get_unit_bounding_box_2d()
11058 
11059 def get_unit_bounding_box_3d():
11060  r"""get_unit_bounding_box_3d() -> BoundingBox3D"""
11061  return _IMP_algebra.get_unit_bounding_box_3d()
11062 
11063 def get_unit_bounding_box_4d():
11064  r"""get_unit_bounding_box_4d() -> BoundingBox4D"""
11065  return _IMP_algebra.get_unit_bounding_box_4d()
11066 
11067 def get_unit_bounding_box_5d():
11068  r"""get_unit_bounding_box_5d() -> BoundingBox5D"""
11069  return _IMP_algebra.get_unit_bounding_box_5d()
11070 
11071 def get_unit_bounding_box_6d():
11072  r"""get_unit_bounding_box_6d() -> BoundingBox6D"""
11073  return _IMP_algebra.get_unit_bounding_box_6d()
11074 
11075 def get_cube_1d(radius):
11076  r"""get_cube_1d(double radius) -> BoundingBox1D"""
11077  return _IMP_algebra.get_cube_1d(radius)
11078 
11079 def get_cube_2d(radius):
11080  r"""get_cube_2d(double radius) -> BoundingBox2D"""
11081  return _IMP_algebra.get_cube_2d(radius)
11082 
11083 def get_cube_3d(radius):
11084  r"""get_cube_3d(double radius) -> BoundingBox3D"""
11085  return _IMP_algebra.get_cube_3d(radius)
11086 
11087 def get_cube_4d(radius):
11088  r"""get_cube_4d(double radius) -> BoundingBox4D"""
11089  return _IMP_algebra.get_cube_4d(radius)
11090 
11091 def get_cube_5d(radius):
11092  r"""get_cube_5d(double radius) -> BoundingBox5D"""
11093  return _IMP_algebra.get_cube_5d(radius)
11094 
11095 def get_cube_6d(radius):
11096  r"""get_cube_6d(double radius) -> BoundingBox6D"""
11097  return _IMP_algebra.get_cube_6d(radius)
11098 
11099 def get_unit_sphere_1d():
11100  r"""get_unit_sphere_1d() -> Sphere1D"""
11101  return _IMP_algebra.get_unit_sphere_1d()
11102 
11103 def get_unit_sphere_2d():
11104  r"""get_unit_sphere_2d() -> Sphere2D"""
11105  return _IMP_algebra.get_unit_sphere_2d()
11106 
11107 def get_unit_sphere_3d():
11108  r"""get_unit_sphere_3d() -> Sphere3D"""
11109  return _IMP_algebra.get_unit_sphere_3d()
11110 
11111 def get_unit_sphere_4d():
11112  r"""get_unit_sphere_4d() -> Sphere4D"""
11113  return _IMP_algebra.get_unit_sphere_4d()
11114 
11115 def get_unit_sphere_5d():
11116  r"""get_unit_sphere_5d() -> Sphere5D"""
11117  return _IMP_algebra.get_unit_sphere_5d()
11118 
11119 def get_unit_sphere_6d():
11120  r"""get_unit_sphere_6d() -> Sphere6D"""
11121  return _IMP_algebra.get_unit_sphere_6d()
11122 
11123 def get_interiors_intersect(*args):
11124  r"""
11125  get_interiors_intersect(Sphere1D a, Sphere1D b) -> bool
11126  get_interiors_intersect(Sphere2D a, Sphere2D b) -> bool
11127  get_interiors_intersect(Sphere3D a, Sphere3D b) -> bool
11128  get_interiors_intersect(Sphere4D a, Sphere4D b) -> bool
11129  get_interiors_intersect(Sphere5D a, Sphere5D b) -> bool
11130  get_interiors_intersect(Sphere6D a, Sphere6D b) -> bool
11131  get_interiors_intersect(SphereKD a, SphereKD b) -> bool
11132  get_interiors_intersect(BoundingBox1D a, BoundingBox1D b) -> bool
11133  get_interiors_intersect(BoundingBox2D a, BoundingBox2D b) -> bool
11134  get_interiors_intersect(BoundingBox3D a, BoundingBox3D b) -> bool
11135  get_interiors_intersect(BoundingBox4D a, BoundingBox4D b) -> bool
11136  get_interiors_intersect(BoundingBox5D a, BoundingBox5D b) -> bool
11137  get_interiors_intersect(BoundingBox6D a, BoundingBox6D b) -> bool
11138  get_interiors_intersect(BoundingBoxKD a, BoundingBoxKD b) -> bool
11139  """
11140  return _IMP_algebra.get_interiors_intersect(*args)
11141 
11142 def get_random_vector_on(*args):
11143  r"""
11144  get_random_vector_on(Sphere1D a) -> Vector1D
11145  get_random_vector_on(Sphere2D a) -> Vector2D
11146  get_random_vector_on(Sphere3D a) -> Vector3D
11147  get_random_vector_on(Sphere4D a) -> Vector4D
11148  get_random_vector_on(Sphere5D a) -> Vector5D
11149  get_random_vector_on(Sphere6D a) -> Vector6D
11150  get_random_vector_on(SphereKD a) -> VectorKD
11151  get_random_vector_on(UnitSimplex1D a) -> Vector1D
11152  get_random_vector_on(UnitSimplex2D a) -> Vector2D
11153  get_random_vector_on(UnitSimplex3D a) -> Vector3D
11154  get_random_vector_on(UnitSimplex4D a) -> Vector4D
11155  get_random_vector_on(UnitSimplex5D a) -> Vector5D
11156  get_random_vector_on(UnitSimplex6D a) -> Vector6D
11157  get_random_vector_on(UnitSimplexKD a) -> VectorKD
11158  get_random_vector_on(BoundingBox1D a) -> Vector1D
11159  get_random_vector_on(BoundingBox2D a) -> Vector2D
11160  get_random_vector_on(BoundingBox3D a) -> Vector3D
11161  get_random_vector_on(BoundingBox4D a) -> Vector4D
11162  get_random_vector_on(BoundingBox5D a) -> Vector5D
11163  get_random_vector_on(BoundingBox6D a) -> Vector6D
11164  get_random_vector_on(BoundingBoxKD a) -> VectorKD
11165  """
11166  return _IMP_algebra.get_random_vector_on(*args)
11167 
11168 def get_random_vector_in(*args):
11169  r"""
11170  get_random_vector_in(Cylinder3D c) -> Vector3D
11171  get_random_vector_in(Sphere1D a) -> Vector1D
11172  get_random_vector_in(Sphere2D a) -> Vector2D
11173  get_random_vector_in(Sphere3D a) -> Vector3D
11174  get_random_vector_in(Sphere4D a) -> Vector4D
11175  get_random_vector_in(Sphere5D a) -> Vector5D
11176  get_random_vector_in(Sphere6D a) -> Vector6D
11177  get_random_vector_in(SphereKD a) -> VectorKD
11178  get_random_vector_in(BoundingBox1D a) -> Vector1D
11179  get_random_vector_in(BoundingBox2D a) -> Vector2D
11180  get_random_vector_in(BoundingBox3D a) -> Vector3D
11181  get_random_vector_in(BoundingBox4D a) -> Vector4D
11182  get_random_vector_in(BoundingBox5D a) -> Vector5D
11183  get_random_vector_in(BoundingBox6D a) -> Vector6D
11184  get_random_vector_in(BoundingBoxKD a) -> VectorKD
11185  """
11186  return _IMP_algebra.get_random_vector_in(*args)
11187 
11188 def get_intersection(*args):
11189  r"""
11190  get_intersection(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
11191  get_intersection(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
11192  get_intersection(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
11193  get_intersection(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
11194  get_intersection(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
11195  get_intersection(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
11196  get_intersection(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
11197  """
11198  return _IMP_algebra.get_intersection(*args)
11199 
11200 def get_union(*args):
11201  r"""
11202  get_union(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
11203  get_union(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
11204  get_union(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
11205  get_union(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
11206  get_union(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
11207  get_union(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
11208  get_union(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
11209  """
11210  return _IMP_algebra.get_union(*args)
11211 
11212 def get_bounding_box(*args):
11213  r"""
11214  get_bounding_box(Line3D g) -> BoundingBox3D
11215  get_bounding_box(Segment3D g) -> BoundingBox3D
11216  get_bounding_box(Plane3D g) -> BoundingBox3D
11217  get_bounding_box(Cylinder3D g) -> BoundingBox3D
11218  get_bounding_box(Ellipsoid3D g) -> BoundingBox3D
11219  get_bounding_box(SpherePatch3D g) -> BoundingBox3D
11220  get_bounding_box(Cone3D g) -> BoundingBox3D
11221  get_bounding_box(Sphere1D a) -> BoundingBox1D
11222  get_bounding_box(Sphere2D a) -> BoundingBox2D
11223  get_bounding_box(Sphere3D a) -> BoundingBox3D
11224  get_bounding_box(Sphere4D a) -> BoundingBox4D
11225  get_bounding_box(Sphere5D a) -> BoundingBox5D
11226  get_bounding_box(Sphere6D a) -> BoundingBox6D
11227  get_bounding_box(SphereKD a) -> BoundingBoxKD
11228  """
11229  return _IMP_algebra.get_bounding_box(*args)
11230 
11231 def get_uniform_surface_cover(*args):
11232  r"""
11233  get_uniform_surface_cover(Cylinder3D cyl, int number_of_points) -> IMP::algebra::Vector3Ds
11234  get_uniform_surface_cover(SpherePatch3D sph, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
11235  get_uniform_surface_cover(Cone3D cone, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
11236  get_uniform_surface_cover(IMP::algebra::Sphere3Ds const & _in, double points_per_square_angstrom) -> IMP::algebra::Vector3Ds
11237  get_uniform_surface_cover(Sphere1D a, unsigned int const & b) -> IMP::algebra::Vector1Ds
11238  get_uniform_surface_cover(Sphere2D a, unsigned int const & b) -> IMP::algebra::Vector2Ds
11239  get_uniform_surface_cover(Sphere3D a, unsigned int const & b) -> IMP::algebra::Vector3Ds
11240  get_uniform_surface_cover(Sphere4D a, unsigned int const & b) -> IMP::algebra::Vector4Ds
11241  get_uniform_surface_cover(Sphere5D a, unsigned int const & b) -> IMP::algebra::Vector5Ds
11242  get_uniform_surface_cover(Sphere6D a, unsigned int const & b) -> IMP::algebra::Vector6Ds
11243  get_uniform_surface_cover(SphereKD a, unsigned int const & b) -> IMP::algebra::VectorKDs
11244  """
11245  return _IMP_algebra.get_uniform_surface_cover(*args)
11246 
11248  r"""
11249  get_grid_interior_cover_by_spacing(BoundingBox1D a, double const & b) -> IMP::algebra::Vector1Ds
11250  get_grid_interior_cover_by_spacing(BoundingBox2D a, double const & b) -> IMP::algebra::Vector2Ds
11251  get_grid_interior_cover_by_spacing(BoundingBox3D a, double const & b) -> IMP::algebra::Vector3Ds
11252  get_grid_interior_cover_by_spacing(BoundingBox4D a, double const & b) -> IMP::algebra::Vector4Ds
11253  get_grid_interior_cover_by_spacing(BoundingBox5D a, double const & b) -> IMP::algebra::Vector5Ds
11254  get_grid_interior_cover_by_spacing(BoundingBox6D a, double const & b) -> IMP::algebra::Vector6Ds
11255  get_grid_interior_cover_by_spacing(BoundingBoxKD a, double const & b) -> IMP::algebra::VectorKDs
11256  """
11257  return _IMP_algebra.get_grid_interior_cover_by_spacing(*args)
11258 
11259 def get_projected(*args):
11260  r"""
11261  get_projected(Line3D l, Vector3D p) -> Vector3D
11262  get_projected(Line3D l, Segment3D s) -> Segment3D
11263  get_projected(UnitSimplex1D a, Vector1D b) -> Vector1D
11264  get_projected(UnitSimplex2D a, Vector2D b) -> Vector2D
11265  get_projected(UnitSimplex3D a, Vector3D b) -> Vector3D
11266  get_projected(UnitSimplex4D a, Vector4D b) -> Vector4D
11267  get_projected(UnitSimplex5D a, Vector5D b) -> Vector5D
11268  get_projected(UnitSimplex6D a, Vector6D b) -> Vector6D
11269  get_projected(UnitSimplexKD a, VectorKD b) -> VectorKD
11270  """
11271  return _IMP_algebra.get_projected(*args)
11272 
11273 def get_vertices(*args):
11274  r"""
11275  get_vertices(BoundingBox1D a) -> IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > >
11276  get_vertices(BoundingBox2D a) -> IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > >
11277  get_vertices(BoundingBox3D a) -> IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > >
11278  get_vertices(BoundingBox4D a) -> IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > >
11279  get_vertices(BoundingBox5D a) -> IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > >
11280  get_vertices(BoundingBox6D a) -> IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > >
11281  get_vertices(BoundingBoxKD a) -> IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > >
11282  get_vertices(UnitSimplex1D a) -> IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > >
11283  get_vertices(UnitSimplex2D a) -> IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > >
11284  get_vertices(UnitSimplex3D a) -> IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > >
11285  get_vertices(UnitSimplex4D a) -> IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > >
11286  get_vertices(UnitSimplex5D a) -> IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > >
11287  get_vertices(UnitSimplex6D a) -> IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > >
11288  get_vertices(UnitSimplexKD a) -> IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > >
11289  """
11290  return _IMP_algebra.get_vertices(*args)
11291 
11292 def get_increasing_from_embedded(*args):
11293  r"""
11294  get_increasing_from_embedded(UnitSimplex1D a, Vector1D b) -> Vector1D
11295  get_increasing_from_embedded(UnitSimplex2D a, Vector2D b) -> Vector2D
11296  get_increasing_from_embedded(UnitSimplex3D a, Vector3D b) -> Vector3D
11297  get_increasing_from_embedded(UnitSimplex4D a, Vector4D b) -> Vector4D
11298  get_increasing_from_embedded(UnitSimplex5D a, Vector5D b) -> Vector5D
11299  get_increasing_from_embedded(UnitSimplex6D a, Vector6D b) -> Vector6D
11300  get_increasing_from_embedded(UnitSimplexKD a, VectorKD b) -> VectorKD
11301  """
11302  return _IMP_algebra.get_increasing_from_embedded(*args)
11303 
11304 def get_embedded_from_increasing(*args):
11305  r"""
11306  get_embedded_from_increasing(UnitSimplex1D a, Vector1D b) -> Vector1D
11307  get_embedded_from_increasing(UnitSimplex2D a, Vector2D b) -> Vector2D
11308  get_embedded_from_increasing(UnitSimplex3D a, Vector3D b) -> Vector3D
11309  get_embedded_from_increasing(UnitSimplex4D a, Vector4D b) -> Vector4D
11310  get_embedded_from_increasing(UnitSimplex5D a, Vector5D b) -> Vector5D
11311  get_embedded_from_increasing(UnitSimplex6D a, Vector6D b) -> Vector6D
11312  get_embedded_from_increasing(UnitSimplexKD a, VectorKD b) -> VectorKD
11313  """
11314  return _IMP_algebra.get_embedded_from_increasing(*args)
11315 class _AxisAnglePair(object):
11316  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,double > class."""
11317 
11318  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11319  __repr__ = _swig_repr
11320 
11321  def __init__(self, *args):
11322  r"""
11323  __init__(_AxisAnglePair self) -> _AxisAnglePair
11324  __init__(_AxisAnglePair self, Vector3D first, double second) -> _AxisAnglePair
11325  __init__(_AxisAnglePair self, _AxisAnglePair other) -> _AxisAnglePair
11326  """
11327  _IMP_algebra._AxisAnglePair_swiginit(self, _IMP_algebra.new__AxisAnglePair(*args))
11328  first = property(_IMP_algebra._AxisAnglePair_first_get, _IMP_algebra._AxisAnglePair_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11329  second = property(_IMP_algebra._AxisAnglePair_second_get, _IMP_algebra._AxisAnglePair_second_set, doc=r"""second : double""")
11330  def __len__(self):
11331  return 2
11332  def __repr__(self):
11333  return str((self.first, self.second))
11334  def __getitem__(self, index):
11335  if not (index % 2):
11336  return self.first
11337  else:
11338  return self.second
11339  def __setitem__(self, index, val):
11340  if not (index % 2):
11341  self.first = val
11342  else:
11343  self.second = val
11344  __swig_destroy__ = _IMP_algebra.delete__AxisAnglePair
11345 
11346 # Register _AxisAnglePair in _IMP_algebra:
11347 _IMP_algebra._AxisAnglePair_swigregister(_AxisAnglePair)
11348 
11350  r"""get_transformation_aligning_first_to_second(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & source, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & target) -> Transformation3D"""
11351  return _IMP_algebra.get_transformation_aligning_first_to_second(source, target)
11352 class _RotatedVector3DAdjoint(object):
11353  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,IMP::VectorD< 4 > > class."""
11354 
11355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11356  __repr__ = _swig_repr
11357 
11358  def __init__(self, *args):
11359  r"""
11360  __init__(_RotatedVector3DAdjoint self) -> _RotatedVector3DAdjoint
11361  __init__(_RotatedVector3DAdjoint self, Vector3D first, Vector4D second) -> _RotatedVector3DAdjoint
11362  __init__(_RotatedVector3DAdjoint self, _RotatedVector3DAdjoint other) -> _RotatedVector3DAdjoint
11363  """
11364  _IMP_algebra._RotatedVector3DAdjoint_swiginit(self, _IMP_algebra.new__RotatedVector3DAdjoint(*args))
11365  first = property(_IMP_algebra._RotatedVector3DAdjoint_first_get, _IMP_algebra._RotatedVector3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11366  second = property(_IMP_algebra._RotatedVector3DAdjoint_second_get, _IMP_algebra._RotatedVector3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(4)>""")
11367  def __len__(self):
11368  return 2
11369  def __repr__(self):
11370  return str((self.first, self.second))
11371  def __getitem__(self, index):
11372  if not (index % 2):
11373  return self.first
11374  else:
11375  return self.second
11376  def __setitem__(self, index, val):
11377  if not (index % 2):
11378  self.first = val
11379  else:
11380  self.second = val
11381  __swig_destroy__ = _IMP_algebra.delete__RotatedVector3DAdjoint
11382 
11383 # Register _RotatedVector3DAdjoint in _IMP_algebra:
11384 _IMP_algebra._RotatedVector3DAdjoint_swigregister(_RotatedVector3DAdjoint)
11385 class _ComposeRotation3DAdjoint(object):
11386  r"""Proxy of C++ std::pair< IMP::VectorD< 4 >,IMP::VectorD< 4 > > class."""
11387 
11388  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11389  __repr__ = _swig_repr
11390 
11391  def __init__(self, *args):
11392  r"""
11393  __init__(_ComposeRotation3DAdjoint self) -> _ComposeRotation3DAdjoint
11394  __init__(_ComposeRotation3DAdjoint self, Vector4D first, Vector4D second) -> _ComposeRotation3DAdjoint
11395  __init__(_ComposeRotation3DAdjoint self, _ComposeRotation3DAdjoint other) -> _ComposeRotation3DAdjoint
11396  """
11397  _IMP_algebra._ComposeRotation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeRotation3DAdjoint(*args))
11398  first = property(_IMP_algebra._ComposeRotation3DAdjoint_first_get, _IMP_algebra._ComposeRotation3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(4)>""")
11399  second = property(_IMP_algebra._ComposeRotation3DAdjoint_second_get, _IMP_algebra._ComposeRotation3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(4)>""")
11400  def __len__(self):
11401  return 2
11402  def __repr__(self):
11403  return str((self.first, self.second))
11404  def __getitem__(self, index):
11405  if not (index % 2):
11406  return self.first
11407  else:
11408  return self.second
11409  def __setitem__(self, index, val):
11410  if not (index % 2):
11411  self.first = val
11412  else:
11413  self.second = val
11414  __swig_destroy__ = _IMP_algebra.delete__ComposeRotation3DAdjoint
11415 
11416 # Register _ComposeRotation3DAdjoint in _IMP_algebra:
11417 _IMP_algebra._ComposeRotation3DAdjoint_swigregister(_ComposeRotation3DAdjoint)
11418 class _Transformation3DAdjoint(object):
11419  r"""Proxy of C++ std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > class."""
11420 
11421  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11422  __repr__ = _swig_repr
11423 
11424  def __init__(self, *args):
11425  r"""
11426  __init__(_Transformation3DAdjoint self) -> _Transformation3DAdjoint
11427  __init__(_Transformation3DAdjoint self, Vector4D first, Vector3D second) -> _Transformation3DAdjoint
11428  __init__(_Transformation3DAdjoint self, _Transformation3DAdjoint other) -> _Transformation3DAdjoint
11429  """
11430  _IMP_algebra._Transformation3DAdjoint_swiginit(self, _IMP_algebra.new__Transformation3DAdjoint(*args))
11431  first = property(_IMP_algebra._Transformation3DAdjoint_first_get, _IMP_algebra._Transformation3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(4)>""")
11432  second = property(_IMP_algebra._Transformation3DAdjoint_second_get, _IMP_algebra._Transformation3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(3)>""")
11433  def __len__(self):
11434  return 2
11435  def __repr__(self):
11436  return str((self.first, self.second))
11437  def __getitem__(self, index):
11438  if not (index % 2):
11439  return self.first
11440  else:
11441  return self.second
11442  def __setitem__(self, index, val):
11443  if not (index % 2):
11444  self.first = val
11445  else:
11446  self.second = val
11447  __swig_destroy__ = _IMP_algebra.delete__Transformation3DAdjoint
11448 
11449 # Register _Transformation3DAdjoint in _IMP_algebra:
11450 _IMP_algebra._Transformation3DAdjoint_swigregister(_Transformation3DAdjoint)
11451 class _TransformedVector3DAdjoint(object):
11452  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > > class."""
11453 
11454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11455  __repr__ = _swig_repr
11456 
11457  def __init__(self, *args):
11458  r"""
11459  __init__(_TransformedVector3DAdjoint self) -> _TransformedVector3DAdjoint
11460  __init__(_TransformedVector3DAdjoint self, Vector3D first, _Transformation3DAdjoint second) -> _TransformedVector3DAdjoint
11461  __init__(_TransformedVector3DAdjoint self, _TransformedVector3DAdjoint other) -> _TransformedVector3DAdjoint
11462  """
11463  _IMP_algebra._TransformedVector3DAdjoint_swiginit(self, _IMP_algebra.new__TransformedVector3DAdjoint(*args))
11464  first = property(_IMP_algebra._TransformedVector3DAdjoint_first_get, _IMP_algebra._TransformedVector3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11465  second = property(_IMP_algebra._TransformedVector3DAdjoint_second_get, _IMP_algebra._TransformedVector3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11466  def __len__(self):
11467  return 2
11468  def __repr__(self):
11469  return str((self.first, self.second))
11470  def __getitem__(self, index):
11471  if not (index % 2):
11472  return self.first
11473  else:
11474  return self.second
11475  def __setitem__(self, index, val):
11476  if not (index % 2):
11477  self.first = val
11478  else:
11479  self.second = val
11480  __swig_destroy__ = _IMP_algebra.delete__TransformedVector3DAdjoint
11481 
11482 # Register _TransformedVector3DAdjoint in _IMP_algebra:
11483 _IMP_algebra._TransformedVector3DAdjoint_swigregister(_TransformedVector3DAdjoint)
11484 class _ComposeTransformation3DAdjoint(object):
11485  r"""Proxy of C++ std::pair< std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > >,std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > > class."""
11486 
11487  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11488  __repr__ = _swig_repr
11489 
11490  def __init__(self, *args):
11491  r"""
11492  __init__(_ComposeTransformation3DAdjoint self) -> _ComposeTransformation3DAdjoint
11493  __init__(_ComposeTransformation3DAdjoint self, _Transformation3DAdjoint first, _Transformation3DAdjoint second) -> _ComposeTransformation3DAdjoint
11494  __init__(_ComposeTransformation3DAdjoint self, _ComposeTransformation3DAdjoint other) -> _ComposeTransformation3DAdjoint
11495  """
11496  _IMP_algebra._ComposeTransformation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeTransformation3DAdjoint(*args))
11497  first = property(_IMP_algebra._ComposeTransformation3DAdjoint_first_get, _IMP_algebra._ComposeTransformation3DAdjoint_first_set, doc=r"""first : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11498  second = property(_IMP_algebra._ComposeTransformation3DAdjoint_second_get, _IMP_algebra._ComposeTransformation3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11499  def __len__(self):
11500  return 2
11501  def __repr__(self):
11502  return str((self.first, self.second))
11503  def __getitem__(self, index):
11504  if not (index % 2):
11505  return self.first
11506  else:
11507  return self.second
11508  def __setitem__(self, index, val):
11509  if not (index % 2):
11510  self.first = val
11511  else:
11512  self.second = val
11513  __swig_destroy__ = _IMP_algebra.delete__ComposeTransformation3DAdjoint
11514 
11515 # Register _ComposeTransformation3DAdjoint in _IMP_algebra:
11516 _IMP_algebra._ComposeTransformation3DAdjoint_swigregister(_ComposeTransformation3DAdjoint)
11517 
11518 def get_rmsd_transforming_first(tr, v0, v1):
11519  r"""get_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
11520  return _IMP_algebra.get_rmsd_transforming_first(tr, v0, v1)
11521 
11522 def get_rmsd(v0, v1):
11523  r"""get_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
11524  return _IMP_algebra.get_rmsd(v0, v1)
11525 
11526 def get_weighted_rmsd_transforming_first(tr, v0, v1, weights):
11527  r"""get_weighted_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
11528  return _IMP_algebra.get_weighted_rmsd_transforming_first(tr, v0, v1, weights)
11529 
11530 def get_weighted_rmsd(v0, v1, weights):
11531  r"""get_weighted_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
11532  return _IMP_algebra.get_weighted_rmsd(v0, v1, weights)
11533 
11534 LinearFit=LinearFit2D
11535 ParabolicFit=ParabolicFit2D
11536 
11537 
11538 def __setup_vector_d_aliases():
11539  for n in "123456K":
11540  for func in ('get_basis_vector', 'get_zero_vector',
11541  'get_ones_vector'):
11542  funcname = func + "_" + n.lower() + 'd'
11543  globals()[funcname] = getattr(IMP, funcname)
11544  for cls in ('Vector' + n + 'D', 'Vector' + n + 'Ds'):
11545  globals()[cls] = getattr(IMP, cls)
11546 
11547 __setup_vector_d_aliases()
11548 
11549 get_vector_product = IMP.get_vector_product
11550 get_orthogonal_vector = IMP.get_orthogonal_vector
11551 get_centroid = IMP.get_centroid
11552 get_radius_of_gyration = IMP.get_radius_of_gyration
11553 
11554 
11555 def get_module_name():
11556  r"""get_module_name() -> std::string const"""
11557  return _IMP_algebra.get_module_name()
11558 
11559 def get_module_version():
11560  r"""get_module_version() -> std::string const"""
11561  return _IMP_algebra.get_module_version()
11562 
11563 def get_example_path(fname):
11564  r"""get_example_path(std::string fname) -> std::string"""
11565  return _IMP_algebra.get_example_path(fname)
11566 
11567 def get_data_path(fname):
11568  r"""get_data_path(std::string fname) -> std::string"""
11569  return _IMP_algebra.get_data_path(fname)
11570 
11571 from . import _version_check
11572 _version_check.check_version(get_module_version())
11573 __version__ = get_module_version()
11574 
11575 
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:103
SphereD< 3 > Sphere3D
Typedef for Python.
Definition: SphereD.h:103
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)
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.
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.
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.
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:103
BoundingBoxD< D > get_union(BoundingBoxD< D > a, const BoundingBoxD< D > &b)
Return the union bounding box.
Definition: BoundingBoxD.h:261
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.
Vector3D get_centroid(const Vector3Ds &ps)
Return the centroid of a set of vectors.
Definition: Vector3D.h:67
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.
double get_angle(const Line3D &a, const Line3D &b)
Get angle in radians between two lines around their closest points.
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.
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:103
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.
double get_squared_distance(const VectorD< D > &v1, const VectorD< D > &v2)
Compute the squared distance between two vectors.
Definition: VectorD.h:187
SphereD< 5 > Sphere5D
Typedef for Python.
Definition: SphereD.h:103
double get_distance(const VectorD< D > &v1, const VectorD< D > &v2)
Compute the distance between two vectors.
Definition: VectorD.h:195
BoundingBoxD<-1 > get_unit_bounding_box_kd(unsigned int d)
Box with radius one.
Definition: BoundingBoxD.h:194
std::pair< Vector3D, double > get_axis_and_angle(const Rotation3D &rot)
Decompose a Rotation3D object into a rotation around an axis.
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:103
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
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)
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.
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.
BoundingBoxD< 6 > BoundingBox6D
Typedef for Python.
Definition: BoundingBoxD.h:183
SphereD<-1 > SphereKD
Typedef for Python.
Definition: SphereD.h:103
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
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