IMP logo
IMP Reference Guide  develop.345e71cb9a,2026/08/10
The Integrative Modeling Platform
algebra/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.0
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 import typing
15 import _IMP_algebra
16 
17 import builtins as __builtin__
18 
19 def _swig_repr(self):
20  try:
21  strthis = "proxy of " + self.this.__repr__()
22  except __builtin__.Exception:
23  strthis = ""
24  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
25 
26 
27 def _swig_setattr_nondynamic_instance_variable(set):
28  def set_instance_attr(self, name, value):
29  if name == "this":
30  set(self, name, value)
31  elif name == "thisown":
32  self.this.own(value)
33  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
34  set(self, name, value)
35  else:
36  raise AttributeError("You cannot add instance attributes to %s" % self)
37  return set_instance_attr
38 
39 
40 def _swig_setattr_nondynamic_class_variable(set):
41  def set_class_attr(cls, name, value):
42  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
43  set(cls, name, value)
44  else:
45  raise AttributeError("You cannot add class attributes to %s" % cls)
46  return set_class_attr
47 
48 
49 class _SwigNonDynamicMeta(type):
50  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
51  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
52 
53 
54 import weakref
55 
56 class IMP_ALGEBRA_SwigPyIterator(object):
57  r"""Proxy of C++ swig::IMP_ALGEBRA_SwigPyIterator class."""
58 
59  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
60 
61  def __init__(self, *args, **kwargs):
62  raise AttributeError("No constructor defined - class is abstract")
63  __repr__ = _swig_repr
64  __swig_destroy__ = _IMP_algebra.delete_IMP_ALGEBRA_SwigPyIterator
65 
66  def value(self):
67  r"""value(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
68  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_value(self)
69 
70  def incr(self, n=1):
71  r"""incr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
72  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_incr(self, n)
73 
74  def decr(self, n=1):
75  r"""decr(IMP_ALGEBRA_SwigPyIterator self, size_t n=1) -> IMP_ALGEBRA_SwigPyIterator"""
76  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_decr(self, n)
77 
78  def distance(self, x):
79  r"""distance(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t"""
80  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_distance(self, x)
81 
82  def equal(self, x):
83  r"""equal(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
84  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_equal(self, x)
85 
86  def copy(self):
87  r"""copy(IMP_ALGEBRA_SwigPyIterator self) -> IMP_ALGEBRA_SwigPyIterator"""
88  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_copy(self)
89 
90  def __next__(self):
91  r"""__next__(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
92  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___next__(self)
93 
94  def previous(self):
95  r"""previous(IMP_ALGEBRA_SwigPyIterator self) -> PyObject *"""
96  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_previous(self)
97 
98  def advance(self, n):
99  r"""advance(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
100  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_advance(self, n)
101 
102  def __eq__(self, x):
103  r"""__eq__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
104  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___eq__(self, x)
105 
106  def __ne__(self, x):
107  r"""__ne__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> bool"""
108  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___ne__(self, x)
109 
110  def __iadd__(self, n):
111  r"""__iadd__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
112  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___iadd__(self, n)
113 
114  def __isub__(self, n):
115  r"""__isub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
116  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___isub__(self, n)
117 
118  def __add__(self, n):
119  r"""__add__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator"""
120  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___add__(self, n)
121 
122  def __sub__(self, *args):
123  r"""
124  __sub__(IMP_ALGEBRA_SwigPyIterator self, ptrdiff_t n) -> IMP_ALGEBRA_SwigPyIterator
125  __sub__(IMP_ALGEBRA_SwigPyIterator self, IMP_ALGEBRA_SwigPyIterator x) -> ptrdiff_t
126  """
127  return _IMP_algebra.IMP_ALGEBRA_SwigPyIterator___sub__(self, *args)
128  def __iter__(self):
129  return self
130 
131 # Register IMP_ALGEBRA_SwigPyIterator in _IMP_algebra:
132 _IMP_algebra.IMP_ALGEBRA_SwigPyIterator_swigregister(IMP_ALGEBRA_SwigPyIterator)
133 
134 _value_types=[]
135 _object_types=[]
136 _raii_types=[]
137 _plural_types=[]
138 
139 IMP_DEBUG = _IMP_algebra.IMP_DEBUG
140 
141 IMP_RELEASE = _IMP_algebra.IMP_RELEASE
142 
143 IMP_SILENT = _IMP_algebra.IMP_SILENT
144 
145 IMP_PROGRESS = _IMP_algebra.IMP_PROGRESS
146 
147 IMP_TERSE = _IMP_algebra.IMP_TERSE
148 
149 IMP_VERBOSE = _IMP_algebra.IMP_VERBOSE
150 
151 IMP_MEMORY = _IMP_algebra.IMP_MEMORY
152 
153 IMP_NONE = _IMP_algebra.IMP_NONE
154 
155 IMP_USAGE = _IMP_algebra.IMP_USAGE
156 
157 IMP_INTERNAL = _IMP_algebra.IMP_INTERNAL
158 
159 IMP_KERNEL_HAS_LOG4CXX = _IMP_algebra.IMP_KERNEL_HAS_LOG4CXX
160 
161 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_algebra.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
162 
163 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_algebra.IMP_COMPILER_HAS_DEBUG_VECTOR
164 
165 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_algebra.IMP_COMPILER_HAS_RANDOM_SHUFFLE
166 
167 IMP_COMPILER_HAS_THREE_WAY = _IMP_algebra.IMP_COMPILER_HAS_THREE_WAY
168 
169 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_RANDOM
170 
171 IMP_KERNEL_HAS_NUMPY = _IMP_algebra.IMP_KERNEL_HAS_NUMPY
172 
173 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_algebra.IMP_KERNEL_HAS_BOOST_SYSTEM
174 
175 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_algebra.IMP_KERNEL_HAS_GPERFTOOLS
176 
177 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
178 
179 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_algebra.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
180 
181 IMPKERNEL_SHOW_WARNINGS = _IMP_algebra.IMPKERNEL_SHOW_WARNINGS
182 
183 
184 import sys
185 class _DirectorObjects:
186  """@internal Simple class to keep references to director objects
187  to prevent premature deletion."""
188  def __init__(self):
189  self._objects = []
190  def register(self, obj):
191  """Take a reference to a director object; will only work for
192  refcounted C++ classes"""
193  if hasattr(obj, 'get_ref_count'):
194  self._objects.append(obj)
195  def cleanup(self):
196  """Only drop our reference and allow cleanup by Python if no other
197  Python references exist (we hold 3 references: one in self._objects,
198  one in x, and one in the argument list for getrefcount) *and* no
199  other C++ references exist (the Python object always holds one)"""
200  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
201  or x.get_ref_count() > 1]
202 # Do in two steps so the references are kept until the end of the
203 # function (deleting references may trigger a fresh call to this method)
204  self._objects = objs
205  def get_object_count(self):
206  """Get number of director objects (useful for testing only)"""
207  return len(self._objects)
208 _director_objects = _DirectorObjects()
209 
210 class _ostream(object):
211  r"""Proxy of C++ std::ostream class."""
212 
213  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
214 
215  def __init__(self, *args, **kwargs):
216  raise AttributeError("No constructor defined")
217  __repr__ = _swig_repr
218 
219  def write(self, osa_buf):
220  r"""write(_ostream self, char const * osa_buf)"""
221  return _IMP_algebra._ostream_write(self, osa_buf)
222 
223 # Register _ostream in _IMP_algebra:
224 _IMP_algebra._ostream_swigregister(_ostream)
225 IMP_C_OPEN_BINARY = _IMP_algebra.IMP_C_OPEN_BINARY
226 
227 import IMP
228 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_CGAL_HAS_BOOST_FILESYSTEM
229 
230 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
231 
232 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_algebra.IMP_CGAL_HAS_BOOST_RANDOM
233 
234 IMP_CGAL_HAS_NUMPY = _IMP_algebra.IMP_CGAL_HAS_NUMPY
235 
236 IMPCGAL_SHOW_WARNINGS = _IMP_algebra.IMPCGAL_SHOW_WARNINGS
237 
238 import IMP.cgal
239 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_IMP_CGAL
240 
241 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
242 
243 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
244 
245 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_algebra.IMP_ALGEBRA_HAS_BOOST_RANDOM
246 
247 IMP_ALGEBRA_HAS_CGAL = _IMP_algebra.IMP_ALGEBRA_HAS_CGAL
248 
249 IMP_ALGEBRA_HAS_NUMPY = _IMP_algebra.IMP_ALGEBRA_HAS_NUMPY
250 
251 IMP_ALGEBRA_HAS_ANN = _IMP_algebra.IMP_ALGEBRA_HAS_ANN
252 
253 IMPALGEBRA_SHOW_WARNINGS = _IMP_algebra.IMPALGEBRA_SHOW_WARNINGS
254 
255 
256 def get_vector(v):
257  try:
258  return v.get_coordinates()
259  except:
260  return v
261 def get_sphere(v):
262  try:
263  return v.get_sphere()
264  except:
265  return v
266 
267 
268 _object_types.append("VectorKDMetric")
269 
270 
271 def _object_cast_to_VectorKDMetric(o):
272  r"""_object_cast_to_VectorKDMetric(Object o) -> VectorKDMetric"""
273  return _IMP_algebra._object_cast_to_VectorKDMetric(o)
274 
275 _object_types.append("EuclideanVectorKDMetric")
276 
277 
278 def _object_cast_to_EuclideanVectorKDMetric(o):
279  r"""_object_cast_to_EuclideanVectorKDMetric(Object o) -> EuclideanVectorKDMetric"""
280  return _IMP_algebra._object_cast_to_EuclideanVectorKDMetric(o)
281 
282 _object_types.append("MaxVectorKDMetric")
283 
284 
285 def _object_cast_to_MaxVectorKDMetric(o):
286  r"""_object_cast_to_MaxVectorKDMetric(Object o) -> MaxVectorKDMetric"""
287  return _IMP_algebra._object_cast_to_MaxVectorKDMetric(o)
288 
289 _object_types.append("DynamicNearestNeighbor3D")
290 
291 
292 def _object_cast_to_DynamicNearestNeighbor3D(o):
293  r"""_object_cast_to_DynamicNearestNeighbor3D(Object o) -> DynamicNearestNeighbor3D"""
294  return _IMP_algebra._object_cast_to_DynamicNearestNeighbor3D(o)
295 
296 Rotation2Ds=list
297 _plural_types.append("Rotation2Ds")
298 _value_types.append("Rotation2D")
299 
300 
301 Rotation3Ds=list
302 _plural_types.append("Rotation3Ds")
303 _value_types.append("Rotation3D")
304 
305 
306 Reflection3Ds=list
307 _plural_types.append("Reflection3Ds")
308 _value_types.append("Reflection3D")
309 
310 
311 Transformation2Ds=list
312 _plural_types.append("Transformation2Ds")
313 _value_types.append("Transformation2D")
314 
315 
316 Transformation3Ds=list
317 _plural_types.append("Transformation3Ds")
318 _value_types.append("Transformation3D")
319 
320 
321 SphericalVector3Ds=list
322 _plural_types.append("SphericalVector3Ds")
323 _value_types.append("SphericalVector3D")
324 
325 
326 Triangle3Ds=list
327 _plural_types.append("Triangle3Ds")
328 _value_types.append("Triangle3D")
329 
330 
331 Cone3Ds=list
332 _plural_types.append("Cone3Ds")
333 _value_types.append("Cone3D")
334 
335 
336 Cylinder3Ds=list
337 _plural_types.append("Cylinder3Ds")
338 _value_types.append("Cylinder3D")
339 
340 
341 Ellipsoid3Ds=list
342 _plural_types.append("Ellipsoid3Ds")
343 _value_types.append("Ellipsoid3D")
344 
345 
346 Line3Ds=list
347 _plural_types.append("Line3Ds")
348 _value_types.append("Line3D")
349 
350 
351 Plane3Ds=list
352 _plural_types.append("Plane3Ds")
353 _value_types.append("Plane3D")
354 
355 
356 Segment3Ds=list
357 _plural_types.append("Segment3Ds")
358 _value_types.append("Segment3D")
359 
360 
361 SpherePatch3Ds=list
362 _plural_types.append("SpherePatch3Ds")
363 _value_types.append("SpherePatch3D")
364 
365 
366 ConnollySurfacePoints=list
367 _plural_types.append("ConnollySurfacePoints")
368 _value_types.append("ConnollySurfacePoint")
369 
370 
371 Sphere1Ds=list
372 _plural_types.append("Sphere1Ds")
373 _value_types.append("Sphere1D")
374 
375 
376 Sphere2Ds=list
377 _plural_types.append("Sphere2Ds")
378 _value_types.append("Sphere2D")
379 
380 
381 Sphere3Ds=list
382 _plural_types.append("Sphere3Ds")
383 _value_types.append("Sphere3D")
384 
385 
386 Sphere4Ds=list
387 _plural_types.append("Sphere4Ds")
388 _value_types.append("Sphere4D")
389 
390 
391 Sphere5Ds=list
392 _plural_types.append("Sphere5Ds")
393 _value_types.append("Sphere5D")
394 
395 
396 Sphere6Ds=list
397 _plural_types.append("Sphere6Ds")
398 _value_types.append("Sphere6D")
399 
400 
401 Sphere1Ds=list
402 _plural_types.append("Sphere1Ds")
403 _value_types.append("SphereD<1>")
404 
405 
406 Sphere2Ds=list
407 _plural_types.append("Sphere2Ds")
408 _value_types.append("SphereD<2>")
409 
410 
411 Sphere3Ds=list
412 _plural_types.append("Sphere3Ds")
413 _value_types.append("SphereD<3>")
414 
415 
416 Sphere4Ds=list
417 _plural_types.append("Sphere4Ds")
418 _value_types.append("SphereD<4>")
419 
420 
421 Sphere5Ds=list
422 _plural_types.append("Sphere5Ds")
423 _value_types.append("SphereD<5>")
424 
425 
426 Sphere6Ds=list
427 _plural_types.append("Sphere6Ds")
428 _value_types.append("SphereD<6>")
429 
430 
431 SphereKDs=list
432 _plural_types.append("SphereKDs")
433 _value_types.append("SphereKD")
434 
435 
436 SphereKDs=list
437 _plural_types.append("SphereKDs")
438 _value_types.append("SphereD<-1>")
439 
440 
441 UnitSimplex1Ds=list
442 _plural_types.append("UnitSimplex1Ds")
443 _value_types.append("UnitSimplex1D")
444 
445 
446 UnitSimplex2Ds=list
447 _plural_types.append("UnitSimplex2Ds")
448 _value_types.append("UnitSimplex2D")
449 
450 
451 UnitSimplex3Ds=list
452 _plural_types.append("UnitSimplex3Ds")
453 _value_types.append("UnitSimplex3D")
454 
455 
456 UnitSimplex4Ds=list
457 _plural_types.append("UnitSimplex4Ds")
458 _value_types.append("UnitSimplex4D")
459 
460 
461 UnitSimplex5Ds=list
462 _plural_types.append("UnitSimplex5Ds")
463 _value_types.append("UnitSimplex5D")
464 
465 
466 UnitSimplex6Ds=list
467 _plural_types.append("UnitSimplex6Ds")
468 _value_types.append("UnitSimplex6D")
469 
470 
471 UnitSimplex1Ds=list
472 _plural_types.append("UnitSimplex1Ds")
473 _value_types.append("UnitSimplexD<1>")
474 
475 
476 UnitSimplex2Ds=list
477 _plural_types.append("UnitSimplex2Ds")
478 _value_types.append("UnitSimplexD<2>")
479 
480 
481 UnitSimplex3Ds=list
482 _plural_types.append("UnitSimplex3Ds")
483 _value_types.append("UnitSimplexD<3>")
484 
485 
486 UnitSimplex4Ds=list
487 _plural_types.append("UnitSimplex4Ds")
488 _value_types.append("UnitSimplexD<4>")
489 
490 
491 UnitSimplex5Ds=list
492 _plural_types.append("UnitSimplex5Ds")
493 _value_types.append("UnitSimplexD<5>")
494 
495 
496 UnitSimplex6Ds=list
497 _plural_types.append("UnitSimplex6Ds")
498 _value_types.append("UnitSimplexD<6>")
499 
500 
501 UnitSimplexKDs=list
502 _plural_types.append("UnitSimplexKDs")
503 _value_types.append("UnitSimplexKD")
504 
505 
506 UnitSimplexKDs=list
507 _plural_types.append("UnitSimplexKDs")
508 _value_types.append("UnitSimplexD<-1>")
509 
510 
511 BoundingBox1Ds=list
512 _plural_types.append("BoundingBox1Ds")
513 _value_types.append("BoundingBox1D")
514 
515 
516 BoundingBox2Ds=list
517 _plural_types.append("BoundingBox2Ds")
518 _value_types.append("BoundingBox2D")
519 
520 
521 BoundingBox3Ds=list
522 _plural_types.append("BoundingBox3Ds")
523 _value_types.append("BoundingBox3D")
524 
525 
526 BoundingBox4Ds=list
527 _plural_types.append("BoundingBox4Ds")
528 _value_types.append("BoundingBox4D")
529 
530 
531 BoundingBox5Ds=list
532 _plural_types.append("BoundingBox5Ds")
533 _value_types.append("BoundingBox5D")
534 
535 
536 BoundingBox6Ds=list
537 _plural_types.append("BoundingBox6Ds")
538 _value_types.append("BoundingBox6D")
539 
540 
541 BoundingBox1Ds=list
542 _plural_types.append("BoundingBox1Ds")
543 _value_types.append("BoundingBoxD<1>")
544 
545 
546 BoundingBox2Ds=list
547 _plural_types.append("BoundingBox2Ds")
548 _value_types.append("BoundingBoxD<2>")
549 
550 
551 BoundingBox3Ds=list
552 _plural_types.append("BoundingBox3Ds")
553 _value_types.append("BoundingBoxD<3>")
554 
555 
556 BoundingBox4Ds=list
557 _plural_types.append("BoundingBox4Ds")
558 _value_types.append("BoundingBoxD<4>")
559 
560 
561 BoundingBox5Ds=list
562 _plural_types.append("BoundingBox5Ds")
563 _value_types.append("BoundingBoxD<5>")
564 
565 
566 BoundingBox6Ds=list
567 _plural_types.append("BoundingBox6Ds")
568 _value_types.append("BoundingBoxD<6>")
569 
570 
571 BoundingBoxKDs=list
572 _plural_types.append("BoundingBoxKDs")
573 _value_types.append("BoundingBoxKD")
574 
575 
576 BoundingBoxKDs=list
577 _plural_types.append("BoundingBoxKDs")
578 _value_types.append("BoundingBoxD<-1>")
579 
580 
581 PrincipalComponentAnalysis1Ds=list
582 _plural_types.append("PrincipalComponentAnalysis1Ds")
583 _value_types.append("PrincipalComponentAnalysis1D")
584 
585 
586 PrincipalComponentAnalysis2Ds=list
587 _plural_types.append("PrincipalComponentAnalysis2Ds")
588 _value_types.append("PrincipalComponentAnalysis2D")
589 
590 
591 PrincipalComponentAnalysis3Ds=list
592 _plural_types.append("PrincipalComponentAnalysis3Ds")
593 _value_types.append("PrincipalComponentAnalysis3D")
594 
595 
596 PrincipalComponentAnalysis4Ds=list
597 _plural_types.append("PrincipalComponentAnalysis4Ds")
598 _value_types.append("PrincipalComponentAnalysis4D")
599 
600 
601 PrincipalComponentAnalysis5Ds=list
602 _plural_types.append("PrincipalComponentAnalysis5Ds")
603 _value_types.append("PrincipalComponentAnalysis5D")
604 
605 
606 PrincipalComponentAnalysis6Ds=list
607 _plural_types.append("PrincipalComponentAnalysis6Ds")
608 _value_types.append("PrincipalComponentAnalysis6D")
609 
610 
611 PrincipalComponentAnalysis1Ds=list
612 _plural_types.append("PrincipalComponentAnalysis1Ds")
613 _value_types.append("PrincipalComponentAnalysisD<1>")
614 
615 
616 PrincipalComponentAnalysis2Ds=list
617 _plural_types.append("PrincipalComponentAnalysis2Ds")
618 _value_types.append("PrincipalComponentAnalysisD<2>")
619 
620 
621 PrincipalComponentAnalysis3Ds=list
622 _plural_types.append("PrincipalComponentAnalysis3Ds")
623 _value_types.append("PrincipalComponentAnalysisD<3>")
624 
625 
626 PrincipalComponentAnalysis4Ds=list
627 _plural_types.append("PrincipalComponentAnalysis4Ds")
628 _value_types.append("PrincipalComponentAnalysisD<4>")
629 
630 
631 PrincipalComponentAnalysis5Ds=list
632 _plural_types.append("PrincipalComponentAnalysis5Ds")
633 _value_types.append("PrincipalComponentAnalysisD<5>")
634 
635 
636 PrincipalComponentAnalysis6Ds=list
637 _plural_types.append("PrincipalComponentAnalysis6Ds")
638 _value_types.append("PrincipalComponentAnalysisD<6>")
639 
640 
641 PrincipalComponentAnalysisKDs=list
642 _plural_types.append("PrincipalComponentAnalysisKDs")
643 _value_types.append("PrincipalComponentAnalysisKD")
644 
645 
646 PrincipalComponentAnalysisKDs=list
647 _plural_types.append("PrincipalComponentAnalysisKDs")
648 _value_types.append("PrincipalComponentAnalysisD<-1>")
649 
650 
651 _object_types.append("NearestNeighbor1D")
652 
653 
654 def _object_cast_to_NearestNeighbor1D(o):
655  r"""_object_cast_to_NearestNeighbor1D(Object o) -> NearestNeighbor1D"""
656  return _IMP_algebra._object_cast_to_NearestNeighbor1D(o)
657 
658 _object_types.append("NearestNeighbor2D")
659 
660 
661 def _object_cast_to_NearestNeighbor2D(o):
662  r"""_object_cast_to_NearestNeighbor2D(Object o) -> NearestNeighbor2D"""
663  return _IMP_algebra._object_cast_to_NearestNeighbor2D(o)
664 
665 _object_types.append("NearestNeighbor3D")
666 
667 
668 def _object_cast_to_NearestNeighbor3D(o):
669  r"""_object_cast_to_NearestNeighbor3D(Object o) -> NearestNeighbor3D"""
670  return _IMP_algebra._object_cast_to_NearestNeighbor3D(o)
671 
672 _object_types.append("NearestNeighbor4D")
673 
674 
675 def _object_cast_to_NearestNeighbor4D(o):
676  r"""_object_cast_to_NearestNeighbor4D(Object o) -> NearestNeighbor4D"""
677  return _IMP_algebra._object_cast_to_NearestNeighbor4D(o)
678 
679 _object_types.append("NearestNeighbor5D")
680 
681 
682 def _object_cast_to_NearestNeighbor5D(o):
683  r"""_object_cast_to_NearestNeighbor5D(Object o) -> NearestNeighbor5D"""
684  return _IMP_algebra._object_cast_to_NearestNeighbor5D(o)
685 
686 _object_types.append("NearestNeighbor6D")
687 
688 
689 def _object_cast_to_NearestNeighbor6D(o):
690  r"""_object_cast_to_NearestNeighbor6D(Object o) -> NearestNeighbor6D"""
691  return _IMP_algebra._object_cast_to_NearestNeighbor6D(o)
692 
693 _object_types.append("NearestNeighborKD")
694 
695 
696 def _object_cast_to_NearestNeighborKD(o):
697  r"""_object_cast_to_NearestNeighborKD(Object o) -> NearestNeighborKD"""
698  return _IMP_algebra._object_cast_to_NearestNeighborKD(o)
699 
700 ReferenceFrame3Ds=list
701 _plural_types.append("ReferenceFrame3Ds")
702 _value_types.append("ReferenceFrame3D")
703 
704 
705 Gaussian3Ds=list
706 _plural_types.append("Gaussian3Ds")
707 _value_types.append("Gaussian3D")
708 
709 
710 DefaultEmbedding1Ds=list
711 _plural_types.append("DefaultEmbedding1Ds")
712 _value_types.append("DefaultEmbedding1D")
713 
714 
715 DefaultEmbedding2Ds=list
716 _plural_types.append("DefaultEmbedding2Ds")
717 _value_types.append("DefaultEmbedding2D")
718 
719 
720 DefaultEmbedding3Ds=list
721 _plural_types.append("DefaultEmbedding3Ds")
722 _value_types.append("DefaultEmbedding3D")
723 
724 
725 DefaultEmbedding4Ds=list
726 _plural_types.append("DefaultEmbedding4Ds")
727 _value_types.append("DefaultEmbedding4D")
728 
729 
730 DefaultEmbedding5Ds=list
731 _plural_types.append("DefaultEmbedding5Ds")
732 _value_types.append("DefaultEmbedding5D")
733 
734 
735 DefaultEmbedding6Ds=list
736 _plural_types.append("DefaultEmbedding6Ds")
737 _value_types.append("DefaultEmbedding6D")
738 
739 
740 DefaultEmbedding1Ds=list
741 _plural_types.append("DefaultEmbedding1Ds")
742 _value_types.append("DefaultEmbeddingD<1>")
743 
744 
745 DefaultEmbedding2Ds=list
746 _plural_types.append("DefaultEmbedding2Ds")
747 _value_types.append("DefaultEmbeddingD<2>")
748 
749 
750 DefaultEmbedding3Ds=list
751 _plural_types.append("DefaultEmbedding3Ds")
752 _value_types.append("DefaultEmbeddingD<3>")
753 
754 
755 DefaultEmbedding4Ds=list
756 _plural_types.append("DefaultEmbedding4Ds")
757 _value_types.append("DefaultEmbeddingD<4>")
758 
759 
760 DefaultEmbedding5Ds=list
761 _plural_types.append("DefaultEmbedding5Ds")
762 _value_types.append("DefaultEmbeddingD<5>")
763 
764 
765 DefaultEmbedding6Ds=list
766 _plural_types.append("DefaultEmbedding6Ds")
767 _value_types.append("DefaultEmbeddingD<6>")
768 
769 
770 DefaultEmbeddingKDs=list
771 _plural_types.append("DefaultEmbeddingKDs")
772 _value_types.append("DefaultEmbeddingKD")
773 
774 
775 DefaultEmbeddingKDs=list
776 _plural_types.append("DefaultEmbeddingKDs")
777 _value_types.append("DefaultEmbeddingD<-1>")
778 
779 
780 LogEmbedding1Ds=list
781 _plural_types.append("LogEmbedding1Ds")
782 _value_types.append("LogEmbedding1D")
783 
784 
785 LogEmbedding2Ds=list
786 _plural_types.append("LogEmbedding2Ds")
787 _value_types.append("LogEmbedding2D")
788 
789 
790 LogEmbedding3Ds=list
791 _plural_types.append("LogEmbedding3Ds")
792 _value_types.append("LogEmbedding3D")
793 
794 
795 LogEmbedding4Ds=list
796 _plural_types.append("LogEmbedding4Ds")
797 _value_types.append("LogEmbedding4D")
798 
799 
800 LogEmbedding5Ds=list
801 _plural_types.append("LogEmbedding5Ds")
802 _value_types.append("LogEmbedding5D")
803 
804 
805 LogEmbedding6Ds=list
806 _plural_types.append("LogEmbedding6Ds")
807 _value_types.append("LogEmbedding6D")
808 
809 
810 LogEmbedding1Ds=list
811 _plural_types.append("LogEmbedding1Ds")
812 _value_types.append("LogEmbeddingD<1>")
813 
814 
815 LogEmbedding2Ds=list
816 _plural_types.append("LogEmbedding2Ds")
817 _value_types.append("LogEmbeddingD<2>")
818 
819 
820 LogEmbedding3Ds=list
821 _plural_types.append("LogEmbedding3Ds")
822 _value_types.append("LogEmbeddingD<3>")
823 
824 
825 LogEmbedding4Ds=list
826 _plural_types.append("LogEmbedding4Ds")
827 _value_types.append("LogEmbeddingD<4>")
828 
829 
830 LogEmbedding5Ds=list
831 _plural_types.append("LogEmbedding5Ds")
832 _value_types.append("LogEmbeddingD<5>")
833 
834 
835 LogEmbedding6Ds=list
836 _plural_types.append("LogEmbedding6Ds")
837 _value_types.append("LogEmbeddingD<6>")
838 
839 
840 LogEmbeddingKDs=list
841 _plural_types.append("LogEmbeddingKDs")
842 _value_types.append("LogEmbeddingKD")
843 
844 
845 LogEmbeddingKDs=list
846 _plural_types.append("LogEmbeddingKDs")
847 _value_types.append("LogEmbeddingD<-1>")
848 
849 
850 GridIndex1Ds=list
851 _plural_types.append("GridIndex1Ds")
852 _value_types.append("GridIndex1D")
853 
854 
855 GridIndex2Ds=list
856 _plural_types.append("GridIndex2Ds")
857 _value_types.append("GridIndex2D")
858 
859 
860 GridIndex3Ds=list
861 _plural_types.append("GridIndex3Ds")
862 _value_types.append("GridIndex3D")
863 
864 
865 GridIndex4Ds=list
866 _plural_types.append("GridIndex4Ds")
867 _value_types.append("GridIndex4D")
868 
869 
870 GridIndex5Ds=list
871 _plural_types.append("GridIndex5Ds")
872 _value_types.append("GridIndex5D")
873 
874 
875 GridIndex6Ds=list
876 _plural_types.append("GridIndex6Ds")
877 _value_types.append("GridIndex6D")
878 
879 
880 GridIndex1Ds=list
881 _plural_types.append("GridIndex1Ds")
882 _value_types.append("GridIndexD<1>")
883 
884 
885 GridIndex2Ds=list
886 _plural_types.append("GridIndex2Ds")
887 _value_types.append("GridIndexD<2>")
888 
889 
890 GridIndex3Ds=list
891 _plural_types.append("GridIndex3Ds")
892 _value_types.append("GridIndexD<3>")
893 
894 
895 GridIndex4Ds=list
896 _plural_types.append("GridIndex4Ds")
897 _value_types.append("GridIndexD<4>")
898 
899 
900 GridIndex5Ds=list
901 _plural_types.append("GridIndex5Ds")
902 _value_types.append("GridIndexD<5>")
903 
904 
905 GridIndex6Ds=list
906 _plural_types.append("GridIndex6Ds")
907 _value_types.append("GridIndexD<6>")
908 
909 
910 GridIndexKDs=list
911 _plural_types.append("GridIndexKDs")
912 _value_types.append("GridIndexKD")
913 
914 
915 GridIndexKDs=list
916 _plural_types.append("GridIndexKDs")
917 _value_types.append("GridIndexD<-1>")
918 
919 
920 ExtendedGridIndex1Ds=list
921 _plural_types.append("ExtendedGridIndex1Ds")
922 _value_types.append("ExtendedGridIndex1D")
923 
924 
925 ExtendedGridIndex2Ds=list
926 _plural_types.append("ExtendedGridIndex2Ds")
927 _value_types.append("ExtendedGridIndex2D")
928 
929 
930 ExtendedGridIndex3Ds=list
931 _plural_types.append("ExtendedGridIndex3Ds")
932 _value_types.append("ExtendedGridIndex3D")
933 
934 
935 ExtendedGridIndex4Ds=list
936 _plural_types.append("ExtendedGridIndex4Ds")
937 _value_types.append("ExtendedGridIndex4D")
938 
939 
940 ExtendedGridIndex5Ds=list
941 _plural_types.append("ExtendedGridIndex5Ds")
942 _value_types.append("ExtendedGridIndex5D")
943 
944 
945 ExtendedGridIndex6Ds=list
946 _plural_types.append("ExtendedGridIndex6Ds")
947 _value_types.append("ExtendedGridIndex6D")
948 
949 
950 ExtendedGridIndex1Ds=list
951 _plural_types.append("ExtendedGridIndex1Ds")
952 _value_types.append("ExtendedGridIndexD<1>")
953 
954 
955 ExtendedGridIndex2Ds=list
956 _plural_types.append("ExtendedGridIndex2Ds")
957 _value_types.append("ExtendedGridIndexD<2>")
958 
959 
960 ExtendedGridIndex3Ds=list
961 _plural_types.append("ExtendedGridIndex3Ds")
962 _value_types.append("ExtendedGridIndexD<3>")
963 
964 
965 ExtendedGridIndex4Ds=list
966 _plural_types.append("ExtendedGridIndex4Ds")
967 _value_types.append("ExtendedGridIndexD<4>")
968 
969 
970 ExtendedGridIndex5Ds=list
971 _plural_types.append("ExtendedGridIndex5Ds")
972 _value_types.append("ExtendedGridIndexD<5>")
973 
974 
975 ExtendedGridIndex6Ds=list
976 _plural_types.append("ExtendedGridIndex6Ds")
977 _value_types.append("ExtendedGridIndexD<6>")
978 
979 
980 ExtendedGridIndexKDs=list
981 _plural_types.append("ExtendedGridIndexKDs")
982 _value_types.append("ExtendedGridIndexKD")
983 
984 
985 ExtendedGridIndexKDs=list
986 _plural_types.append("ExtendedGridIndexKDs")
987 _value_types.append("ExtendedGridIndexD<-1>")
988 
989 
990 BoundedGridRange1Ds=list
991 _plural_types.append("BoundedGridRange1Ds")
992 _value_types.append("BoundedGridRange1D")
993 
994 
995 BoundedGridRange2Ds=list
996 _plural_types.append("BoundedGridRange2Ds")
997 _value_types.append("BoundedGridRange2D")
998 
999 
1000 BoundedGridRange3Ds=list
1001 _plural_types.append("BoundedGridRange3Ds")
1002 _value_types.append("BoundedGridRange3D")
1003 
1004 
1005 BoundedGridRange4Ds=list
1006 _plural_types.append("BoundedGridRange4Ds")
1007 _value_types.append("BoundedGridRange4D")
1008 
1009 
1010 BoundedGridRange5Ds=list
1011 _plural_types.append("BoundedGridRange5Ds")
1012 _value_types.append("BoundedGridRange5D")
1013 
1014 
1015 BoundedGridRange6Ds=list
1016 _plural_types.append("BoundedGridRange6Ds")
1017 _value_types.append("BoundedGridRange6D")
1018 
1019 
1020 BoundedGridRange1Ds=list
1021 _plural_types.append("BoundedGridRange1Ds")
1022 _value_types.append("BoundedGridRangeD<1>")
1023 
1024 
1025 BoundedGridRange2Ds=list
1026 _plural_types.append("BoundedGridRange2Ds")
1027 _value_types.append("BoundedGridRangeD<2>")
1028 
1029 
1030 BoundedGridRange3Ds=list
1031 _plural_types.append("BoundedGridRange3Ds")
1032 _value_types.append("BoundedGridRangeD<3>")
1033 
1034 
1035 BoundedGridRange4Ds=list
1036 _plural_types.append("BoundedGridRange4Ds")
1037 _value_types.append("BoundedGridRangeD<4>")
1038 
1039 
1040 BoundedGridRange5Ds=list
1041 _plural_types.append("BoundedGridRange5Ds")
1042 _value_types.append("BoundedGridRangeD<5>")
1043 
1044 
1045 BoundedGridRange6Ds=list
1046 _plural_types.append("BoundedGridRange6Ds")
1047 _value_types.append("BoundedGridRangeD<6>")
1048 
1049 
1050 BoundedGridRangeKDs=list
1051 _plural_types.append("BoundedGridRangeKDs")
1052 _value_types.append("BoundedGridRangeKD")
1053 
1054 
1055 BoundedGridRangeKDs=list
1056 _plural_types.append("BoundedGridRangeKDs")
1057 _value_types.append("BoundedGridRangeD<-1>")
1058 
1059 
1060 UnboundedGridRange1Ds=list
1061 _plural_types.append("UnboundedGridRange1Ds")
1062 _value_types.append("UnboundedGridRange1D")
1063 
1064 
1065 UnboundedGridRange2Ds=list
1066 _plural_types.append("UnboundedGridRange2Ds")
1067 _value_types.append("UnboundedGridRange2D")
1068 
1069 
1070 UnboundedGridRange3Ds=list
1071 _plural_types.append("UnboundedGridRange3Ds")
1072 _value_types.append("UnboundedGridRange3D")
1073 
1074 
1075 UnboundedGridRange4Ds=list
1076 _plural_types.append("UnboundedGridRange4Ds")
1077 _value_types.append("UnboundedGridRange4D")
1078 
1079 
1080 UnboundedGridRange5Ds=list
1081 _plural_types.append("UnboundedGridRange5Ds")
1082 _value_types.append("UnboundedGridRange5D")
1083 
1084 
1085 UnboundedGridRange6Ds=list
1086 _plural_types.append("UnboundedGridRange6Ds")
1087 _value_types.append("UnboundedGridRange6D")
1088 
1089 
1090 UnboundedGridRange1Ds=list
1091 _plural_types.append("UnboundedGridRange1Ds")
1092 _value_types.append("UnboundedGridRangeD<1>")
1093 
1094 
1095 UnboundedGridRange2Ds=list
1096 _plural_types.append("UnboundedGridRange2Ds")
1097 _value_types.append("UnboundedGridRangeD<2>")
1098 
1099 
1100 UnboundedGridRange3Ds=list
1101 _plural_types.append("UnboundedGridRange3Ds")
1102 _value_types.append("UnboundedGridRangeD<3>")
1103 
1104 
1105 UnboundedGridRange4Ds=list
1106 _plural_types.append("UnboundedGridRange4Ds")
1107 _value_types.append("UnboundedGridRangeD<4>")
1108 
1109 
1110 UnboundedGridRange5Ds=list
1111 _plural_types.append("UnboundedGridRange5Ds")
1112 _value_types.append("UnboundedGridRangeD<5>")
1113 
1114 
1115 UnboundedGridRange6Ds=list
1116 _plural_types.append("UnboundedGridRange6Ds")
1117 _value_types.append("UnboundedGridRangeD<6>")
1118 
1119 
1120 UnboundedGridRangeKDs=list
1121 _plural_types.append("UnboundedGridRangeKDs")
1122 _value_types.append("UnboundedGridRangeKD")
1123 
1124 
1125 UnboundedGridRangeKDs=list
1126 _plural_types.append("UnboundedGridRangeKDs")
1127 _value_types.append("UnboundedGridRangeD<-1>")
1128 
1129 
1130 LinearFit2Ds=list
1131 _plural_types.append("LinearFit2Ds")
1132 _value_types.append("LinearFit2D")
1133 
1134 
1135 ParabolicFit2Ds=list
1136 _plural_types.append("ParabolicFit2Ds")
1137 _value_types.append("ParabolicFit2D")
1138 
1139 
1140 FixedXYZs=list
1141 _plural_types.append("FixedXYZs")
1142 _value_types.append("FixedXYZ")
1143 
1144 class Rotation3D(IMP._GeometricPrimitive3D):
1145  r"""Proxy of C++ IMP::algebra::Rotation3D class."""
1146 
1147  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1148 
1149  def __init__(self, *args):
1150  r"""
1151  __init__(Rotation3D self, Rotation3D rot) -> Rotation3D
1152  __init__(Rotation3D self, Vector4D v, bool assume_normalized=False) -> Rotation3D
1153  __init__(Rotation3D self) -> Rotation3D
1154  __init__(Rotation3D self, double a, double b, double c, double d) -> Rotation3D
1155  """
1156  _IMP_algebra.Rotation3D_swiginit(self, _IMP_algebra.new_Rotation3D(*args))
1157  __swig_destroy__ = _IMP_algebra.delete_Rotation3D
1158 
1159  def get_rotated_no_cache(self, o):
1160  r"""get_rotated_no_cache(Rotation3D self, Vector3D o) -> Vector3D"""
1161  return _IMP_algebra.Rotation3D_get_rotated_no_cache(self, o)
1162 
1163  def get_rotated_one_coordinate_no_cache(self, o, coord):
1164  r"""get_rotated_one_coordinate_no_cache(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1165  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate_no_cache(self, o, coord)
1166 
1167  def get_rotated(self, o):
1168  r"""get_rotated(Rotation3D self, Vector3D o) -> Vector3D"""
1169  return _IMP_algebra.Rotation3D_get_rotated(self, o)
1170 
1171  def get_rotated_adjoint(self, v, Dw):
1172  r"""get_rotated_adjoint(Rotation3D self, Vector3D v, Vector3D Dw) -> _RotatedVector3DAdjoint"""
1173  return _IMP_algebra.Rotation3D_get_rotated_adjoint(self, v, Dw)
1174 
1175  def get_rotated_one_coordinate(self, o, coord):
1176  r"""get_rotated_one_coordinate(Rotation3D self, Vector3D o, unsigned int coord) -> double"""
1177  return _IMP_algebra.Rotation3D_get_rotated_one_coordinate(self, o, coord)
1178 
1179  def get_rotation_matrix_row(self, i):
1180  r"""get_rotation_matrix_row(Rotation3D self, int i) -> Vector3D"""
1181  return _IMP_algebra.Rotation3D_get_rotation_matrix_row(self, i)
1182 
1183  def show(self, *args):
1184  r"""show(Rotation3D self, _ostream out=std::cout)"""
1185  return _IMP_algebra.Rotation3D_show(self, *args)
1186 
1187  def get_inverse(self):
1188  r"""get_inverse(Rotation3D self) -> Rotation3D"""
1189  return _IMP_algebra.Rotation3D_get_inverse(self)
1190 
1191  def get_quaternion(self):
1192  r"""get_quaternion(Rotation3D self) -> Vector4D"""
1193  return _IMP_algebra.Rotation3D_get_quaternion(self)
1194 
1195  def __mul__(self, *args):
1196  r"""
1197  __mul__(Rotation3D self, Vector3D v) -> Vector3D
1198  __mul__(Rotation3D self, Rotation3D q) -> Rotation3D
1199  """
1200  return _IMP_algebra.Rotation3D___mul__(self, *args)
1201 
1202  def __truediv__(self, *args):
1203  return _IMP_algebra.Rotation3D___truediv__(self, *args)
1204 
1205 
1206 
1207  def get_gradient_of_rotated(self, v, i, wrt_unnorm=False):
1208  r"""get_gradient_of_rotated(Rotation3D self, Vector3D v, unsigned int i, bool wrt_unnorm=False) -> Vector3D"""
1209  return _IMP_algebra.Rotation3D_get_gradient_of_rotated(self, v, i, wrt_unnorm)
1210 
1211  def get_jacobian_of_rotated(self, v, wrt_unnorm=False):
1212  r"""get_jacobian_of_rotated(Rotation3D self, Eigen::Vector3d const & v, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1213  return _IMP_algebra.Rotation3D_get_jacobian_of_rotated(self, v, wrt_unnorm)
1214 
1215  def get_is_valid(self):
1216  r"""get_is_valid(Rotation3D self) -> bool"""
1217  return _IMP_algebra.Rotation3D_get_is_valid(self)
1218 
1219  def __str__(self):
1220  r"""__str__(Rotation3D self) -> std::string"""
1221  return _IMP_algebra.Rotation3D___str__(self)
1222 
1223  def __repr__(self):
1224  r"""__repr__(Rotation3D self) -> std::string"""
1225  return _IMP_algebra.Rotation3D___repr__(self)
1226 
1227  def _get_as_binary(self):
1228  r"""_get_as_binary(Rotation3D self) -> PyObject *"""
1229  return _IMP_algebra.Rotation3D__get_as_binary(self)
1230 
1231  def _set_from_binary(self, p):
1232  r"""_set_from_binary(Rotation3D self, PyObject * p)"""
1233  return _IMP_algebra.Rotation3D__set_from_binary(self, p)
1234 
1235  def __getstate__(self):
1236  p = self._get_as_binary()
1237  if len(self.__dict__) > 1:
1238  d = self.__dict__.copy()
1239  del d['this']
1240  p = (d, p)
1241  return p
1242 
1243  def __setstate__(self, p):
1244  if not hasattr(self, 'this'):
1245  self.__init__()
1246  if isinstance(p, tuple):
1247  d, p = p
1248  self.__dict__.update(d)
1249  return self._set_from_binary(p)
1250 
1251 
1252 # Register Rotation3D in _IMP_algebra:
1253 _IMP_algebra.Rotation3D_swigregister(Rotation3D)
1254 
1255 def get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm=False):
1256  r"""get_jacobian_of_composed_wrt_first(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1257  return _IMP_algebra.get_jacobian_of_composed_wrt_first(q, p, wrt_unnorm)
1258 
1259 def get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm=False):
1260  r"""get_jacobian_of_composed_wrt_second(Rotation3D q, Rotation3D p, bool wrt_unnorm=False) -> Eigen::MatrixXd"""
1261  return _IMP_algebra.get_jacobian_of_composed_wrt_second(q, p, wrt_unnorm)
1262 
1264  r"""get_identity_rotation_3d() -> Rotation3D"""
1265  return _IMP_algebra.get_identity_rotation_3d()
1266 
1267 def get_rotation_about_normalized_axis(axis_norm, angle):
1268  r"""get_rotation_about_normalized_axis(Vector3D axis_norm, double angle) -> Rotation3D"""
1269  return _IMP_algebra.get_rotation_about_normalized_axis(axis_norm, angle)
1270 
1271 def get_rotation_about_axis(axis, angle):
1272  r"""get_rotation_about_axis(Vector3D axis, double angle) -> Rotation3D"""
1273  return _IMP_algebra.get_rotation_about_axis(axis, angle)
1274 
1276  r"""get_rotation_taking_first_to_second(Vector3D v1, Vector3D v2) -> Rotation3D"""
1277  return _IMP_algebra.get_rotation_taking_first_to_second(v1, v2)
1278 
1279 def get_rotation_from_matrix(*args):
1280  r"""
1281  get_rotation_from_matrix(double m00, double m01, double m02, double m10, double m11, double m12, double m20, double m21, double m22) -> Rotation3D
1282  get_rotation_from_matrix(Eigen::Matrix3d m) -> Rotation3D
1283  """
1284  return _IMP_algebra.get_rotation_from_matrix(*args)
1285 
1286 def get_random_rotation_3d(*args):
1287  r"""
1288  get_random_rotation_3d() -> Rotation3D
1289  get_random_rotation_3d(Rotation3D center, double distance) -> Rotation3D
1290  """
1291  return _IMP_algebra.get_random_rotation_3d(*args)
1292 
1293 def get_uniform_cover_rotations_3d(num_points):
1294  r"""get_uniform_cover_rotations_3d(unsigned int num_points) -> IMP::algebra::Rotation3Ds"""
1295  return _IMP_algebra.get_uniform_cover_rotations_3d(num_points)
1296 
1298  r"""get_uniformly_sampled_rotations(double delta) -> IMP::algebra::Rotation3Ds"""
1299  return _IMP_algebra.get_uniformly_sampled_rotations(delta)
1300 
1302  r"""get_rotation_from_vector4d(Vector4D v) -> Rotation3D"""
1303  return _IMP_algebra.get_rotation_from_vector4d(v)
1304 
1305 def get_rotation_from_fixed_xyz(xr, yr, zr):
1306  r"""get_rotation_from_fixed_xyz(double xr, double yr, double zr) -> Rotation3D"""
1307  return _IMP_algebra.get_rotation_from_fixed_xyz(xr, yr, zr)
1308 
1309 def get_rotation_from_fixed_zxz(phi, theta, psi):
1310  r"""get_rotation_from_fixed_zxz(double phi, double theta, double psi) -> Rotation3D"""
1311  return _IMP_algebra.get_rotation_from_fixed_zxz(phi, theta, psi)
1312 
1313 def get_rotation_from_fixed_zyz(Rot, Tilt, Psi):
1314  r"""get_rotation_from_fixed_zyz(double Rot, double Tilt, double Psi) -> Rotation3D"""
1315  return _IMP_algebra.get_rotation_from_fixed_zyz(Rot, Tilt, Psi)
1316 class FixedXYZ(IMP._GeometricPrimitive3D):
1317  r"""Proxy of C++ IMP::algebra::FixedXYZ class."""
1318 
1319  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1320 
1321  def __init__(self, *args):
1322  r"""
1323  __init__(FixedXYZ self) -> FixedXYZ
1324  __init__(FixedXYZ self, double x, double y, double z) -> FixedXYZ
1325  """
1326  _IMP_algebra.FixedXYZ_swiginit(self, _IMP_algebra.new_FixedXYZ(*args))
1327 
1328  def get_x(self):
1329  r"""get_x(FixedXYZ self) -> double"""
1330  return _IMP_algebra.FixedXYZ_get_x(self)
1331 
1332  def get_y(self):
1333  r"""get_y(FixedXYZ self) -> double"""
1334  return _IMP_algebra.FixedXYZ_get_y(self)
1335 
1336  def get_z(self):
1337  r"""get_z(FixedXYZ self) -> double"""
1338  return _IMP_algebra.FixedXYZ_get_z(self)
1339 
1340  def show(self, *args):
1341  r"""show(FixedXYZ self, _ostream out=std::cout)"""
1342  return _IMP_algebra.FixedXYZ_show(self, *args)
1343 
1344  def __str__(self):
1345  r"""__str__(FixedXYZ self) -> std::string"""
1346  return _IMP_algebra.FixedXYZ___str__(self)
1347 
1348  def __repr__(self):
1349  r"""__repr__(FixedXYZ self) -> std::string"""
1350  return _IMP_algebra.FixedXYZ___repr__(self)
1351 
1352  def _get_as_binary(self):
1353  r"""_get_as_binary(FixedXYZ self) -> PyObject *"""
1354  return _IMP_algebra.FixedXYZ__get_as_binary(self)
1355 
1356  def _set_from_binary(self, p):
1357  r"""_set_from_binary(FixedXYZ self, PyObject * p)"""
1358  return _IMP_algebra.FixedXYZ__set_from_binary(self, p)
1359 
1360  def __getstate__(self):
1361  p = self._get_as_binary()
1362  if len(self.__dict__) > 1:
1363  d = self.__dict__.copy()
1364  del d['this']
1365  p = (d, p)
1366  return p
1367 
1368  def __setstate__(self, p):
1369  if not hasattr(self, 'this'):
1370  self.__init__()
1371  if isinstance(p, tuple):
1372  d, p = p
1373  self.__dict__.update(d)
1374  return self._set_from_binary(p)
1375 
1376  __swig_destroy__ = _IMP_algebra.delete_FixedXYZ
1377 
1378 # Register FixedXYZ in _IMP_algebra:
1379 _IMP_algebra.FixedXYZ_swigregister(FixedXYZ)
1380 
1382  r"""get_fixed_xyz_from_rotation(Rotation3D r) -> FixedXYZ"""
1383  return _IMP_algebra.get_fixed_xyz_from_rotation(r)
1384 
1385 def get_interpolated(a, b, f):
1386  r"""get_interpolated(Rotation3D a, Rotation3D b, double f) -> Rotation3D"""
1387  return _IMP_algebra.get_interpolated(a, b, f)
1388 
1389 def get_rotation_from_x_y_axes(x, y):
1390  r"""get_rotation_from_x_y_axes(Vector3D x, Vector3D y) -> Rotation3D"""
1391  return _IMP_algebra.get_rotation_from_x_y_axes(x, y)
1392 
1393 def get_axis_and_angle(rot):
1394  r"""get_axis_and_angle(Rotation3D rot) -> _AxisAnglePair"""
1395  return _IMP_algebra.get_axis_and_angle(rot)
1396 
1398  r"""get_unit_bounding_box_kd(unsigned int d) -> BoundingBoxKD"""
1399  return _IMP_algebra.get_unit_bounding_box_kd(d)
1400 
1401 def get_cube_kd(d, radius):
1402  r"""get_cube_kd(unsigned int d, double radius) -> BoundingBoxKD"""
1403  return _IMP_algebra.get_cube_kd(d, radius)
1404 
1405 def get_edges(arg1):
1406  r"""get_edges(BoundingBox3D arg1) -> IMP::IntPairs"""
1407  return _IMP_algebra.get_edges(arg1)
1408 class Transformation3D(IMP._GeometricPrimitive3D):
1409  r"""Proxy of C++ IMP::algebra::Transformation3D class."""
1410 
1411  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1412 
1413  def __init__(self, *args):
1414  r"""
1415  __init__(Transformation3D self, Transformation3D arg2) -> Transformation3D
1416  __init__(Transformation3D self) -> Transformation3D
1417  __init__(Transformation3D self, Rotation3D r, Vector3D t=IMP::Vector3D(0, 0, 0)) -> Transformation3D
1418  __init__(Transformation3D self, Vector3D t) -> Transformation3D
1419  """
1420  _IMP_algebra.Transformation3D_swiginit(self, _IMP_algebra.new_Transformation3D(*args))
1421  __swig_destroy__ = _IMP_algebra.delete_Transformation3D
1422 
1423  def get_transformed(self, o):
1424  r"""get_transformed(Transformation3D self, Vector3D o) -> Vector3D"""
1425  return _IMP_algebra.Transformation3D_get_transformed(self, o)
1426 
1427  def get_transformed_adjoint(self, v, Dw):
1428  r"""get_transformed_adjoint(Transformation3D self, Vector3D v, Vector3D Dw) -> _TransformedVector3DAdjoint"""
1429  return _IMP_algebra.Transformation3D_get_transformed_adjoint(self, v, Dw)
1430 
1431  def __mul__(self, *args):
1432  r"""
1433  __mul__(Transformation3D self, Vector3D v) -> Vector3D
1434  __mul__(Transformation3D self, Transformation3D tr) -> Transformation3D
1435  """
1436  return _IMP_algebra.Transformation3D___mul__(self, *args)
1437 
1438  def __truediv__(self, *args):
1439  return _IMP_algebra.Transformation3D___truediv__(self, *args)
1440 
1441 
1442 
1443  def get_rotation(self):
1444  r"""get_rotation(Transformation3D self) -> Rotation3D"""
1445  return _IMP_algebra.Transformation3D_get_rotation(self)
1446 
1447  def get_translation(self):
1448  r"""get_translation(Transformation3D self) -> Vector3D"""
1449  return _IMP_algebra.Transformation3D_get_translation(self)
1450 
1451  def show(self, *args):
1452  r"""show(Transformation3D self, _ostream out=std::cout)"""
1453  return _IMP_algebra.Transformation3D_show(self, *args)
1454 
1455  def get_inverse(self):
1456  r"""get_inverse(Transformation3D self) -> Transformation3D"""
1457  return _IMP_algebra.Transformation3D_get_inverse(self)
1458 
1459  def get_is_valid(self):
1460  r"""get_is_valid(Transformation3D self) -> bool"""
1461  return _IMP_algebra.Transformation3D_get_is_valid(self)
1462 
1463  def __str__(self):
1464  r"""__str__(Transformation3D self) -> std::string"""
1465  return _IMP_algebra.Transformation3D___str__(self)
1466 
1467  def __repr__(self):
1468  r"""__repr__(Transformation3D self) -> std::string"""
1469  return _IMP_algebra.Transformation3D___repr__(self)
1470 
1471  def _get_as_binary(self):
1472  r"""_get_as_binary(Transformation3D self) -> PyObject *"""
1473  return _IMP_algebra.Transformation3D__get_as_binary(self)
1474 
1475  def _set_from_binary(self, p):
1476  r"""_set_from_binary(Transformation3D self, PyObject * p)"""
1477  return _IMP_algebra.Transformation3D__set_from_binary(self, p)
1478 
1479  def __getstate__(self):
1480  p = self._get_as_binary()
1481  if len(self.__dict__) > 1:
1482  d = self.__dict__.copy()
1483  del d['this']
1484  p = (d, p)
1485  return p
1486 
1487  def __setstate__(self, p):
1488  if not hasattr(self, 'this'):
1489  self.__init__()
1490  if isinstance(p, tuple):
1491  d, p = p
1492  self.__dict__.update(d)
1493  return self._set_from_binary(p)
1494 
1495 
1496 # Register Transformation3D in _IMP_algebra:
1497 _IMP_algebra.Transformation3D_swigregister(Transformation3D)
1498 
1500  r"""get_identity_transformation_3d() -> Transformation3D"""
1501  return _IMP_algebra.get_identity_transformation_3d()
1502 
1503 def compose_adjoint(*args):
1504  r"""
1505  compose_adjoint(Rotation3D A, Rotation3D B, Vector4D DC) -> _ComposeRotation3DAdjoint
1506  compose_adjoint(Transformation3D TA, Transformation3D TB, _Transformation3DAdjoint DTC) -> _ComposeTransformation3DAdjoint
1507  """
1508  return _IMP_algebra.compose_adjoint(*args)
1509 
1510 def get_transformation_3d(t2d):
1511  r"""get_transformation_3d(Transformation2D t2d) -> Transformation3D"""
1512  return _IMP_algebra.get_transformation_3d(t2d)
1513 
1514 def get_random_local_transformation(origin, max_translation=5., max_angle_in_rad=0.26):
1515  r"""get_random_local_transformation(Vector3D origin, double max_translation=5., double max_angle_in_rad=0.26) -> Transformation3D"""
1516  return _IMP_algebra.get_random_local_transformation(origin, max_translation, max_angle_in_rad)
1517 class Rotation2D(IMP._GeometricPrimitive2D):
1518  r"""Proxy of C++ IMP::algebra::Rotation2D class."""
1519 
1520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1521 
1522  def __init__(self, *args):
1523  r"""
1524  __init__(Rotation2D self) -> Rotation2D
1525  __init__(Rotation2D self, double angle) -> Rotation2D
1526  """
1527  _IMP_algebra.Rotation2D_swiginit(self, _IMP_algebra.new_Rotation2D(*args))
1528 
1529  def get_rotated(self, *args):
1530  r"""
1531  get_rotated(Rotation2D self, Vector2D o) -> Vector2D
1532  get_rotated(Rotation2D self, double const x, double const y) -> Vector2D
1533  """
1534  return _IMP_algebra.Rotation2D_get_rotated(self, *args)
1535 
1536  def get_inverse(self):
1537  r"""get_inverse(Rotation2D self) -> Rotation2D"""
1538  return _IMP_algebra.Rotation2D_get_inverse(self)
1539 
1540  def set_angle(self, angle):
1541  r"""set_angle(Rotation2D self, double angle)"""
1542  return _IMP_algebra.Rotation2D_set_angle(self, angle)
1543 
1544  def get_angle(self):
1545  r"""get_angle(Rotation2D self) -> double"""
1546  return _IMP_algebra.Rotation2D_get_angle(self)
1547 
1548  def show(self, *args):
1549  r"""show(Rotation2D self, _ostream out=std::cout)"""
1550  return _IMP_algebra.Rotation2D_show(self, *args)
1551 
1552  def __str__(self):
1553  r"""__str__(Rotation2D self) -> std::string"""
1554  return _IMP_algebra.Rotation2D___str__(self)
1555 
1556  def __repr__(self):
1557  r"""__repr__(Rotation2D self) -> std::string"""
1558  return _IMP_algebra.Rotation2D___repr__(self)
1559 
1560  def _get_as_binary(self):
1561  r"""_get_as_binary(Rotation2D self) -> PyObject *"""
1562  return _IMP_algebra.Rotation2D__get_as_binary(self)
1563 
1564  def _set_from_binary(self, p):
1565  r"""_set_from_binary(Rotation2D self, PyObject * p)"""
1566  return _IMP_algebra.Rotation2D__set_from_binary(self, p)
1567 
1568  def __getstate__(self):
1569  p = self._get_as_binary()
1570  if len(self.__dict__) > 1:
1571  d = self.__dict__.copy()
1572  del d['this']
1573  p = (d, p)
1574  return p
1575 
1576  def __setstate__(self, p):
1577  if not hasattr(self, 'this'):
1578  self.__init__()
1579  if isinstance(p, tuple):
1580  d, p = p
1581  self.__dict__.update(d)
1582  return self._set_from_binary(p)
1583 
1584  __swig_destroy__ = _IMP_algebra.delete_Rotation2D
1585 
1586 # Register Rotation2D in _IMP_algebra:
1587 _IMP_algebra.Rotation2D_swigregister(Rotation2D)
1588 
1590  r"""get_identity_rotation_2d() -> Rotation2D"""
1591  return _IMP_algebra.get_identity_rotation_2d()
1592 
1594  r"""get_random_rotation_2d() -> Rotation2D"""
1595  return _IMP_algebra.get_random_rotation_2d()
1596 
1597 def get_rotation_to_x_axis(v):
1598  r"""get_rotation_to_x_axis(Vector2D v) -> Rotation2D"""
1599  return _IMP_algebra.get_rotation_to_x_axis(v)
1600 class Transformation2D(IMP._GeometricPrimitive2D):
1601  r"""Proxy of C++ IMP::algebra::Transformation2D class."""
1602 
1603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1604 
1605  def __init__(self, *args):
1606  r"""
1607  __init__(Transformation2D self, Transformation2D arg2) -> Transformation2D
1608  __init__(Transformation2D self) -> Transformation2D
1609  __init__(Transformation2D self, Rotation2D r, Vector2D t=IMP::Vector2D(0.0, 0.0)) -> Transformation2D
1610  __init__(Transformation2D self, Vector2D t) -> Transformation2D
1611  """
1612  _IMP_algebra.Transformation2D_swiginit(self, _IMP_algebra.new_Transformation2D(*args))
1613  __swig_destroy__ = _IMP_algebra.delete_Transformation2D
1614 
1615  def get_transformed(self, o):
1616  r"""get_transformed(Transformation2D self, Vector2D o) -> Vector2D"""
1617  return _IMP_algebra.Transformation2D_get_transformed(self, o)
1618 
1619  def __mul__(self, *args):
1620  r"""
1621  __mul__(Transformation2D self, Vector2D v) -> Vector2D
1622  __mul__(Transformation2D self, Transformation2D tr) -> Transformation2D
1623  """
1624  return _IMP_algebra.Transformation2D___mul__(self, *args)
1625 
1626  def __truediv__(self, *args):
1627  return _IMP_algebra.Transformation2D___truediv__(self, *args)
1628 
1629 
1630 
1631  def get_rotation(self):
1632  r"""get_rotation(Transformation2D self) -> Rotation2D"""
1633  return _IMP_algebra.Transformation2D_get_rotation(self)
1634 
1635  def set_rotation(self, angle):
1636  r"""set_rotation(Transformation2D self, double angle)"""
1637  return _IMP_algebra.Transformation2D_set_rotation(self, angle)
1638 
1639  def get_translation(self):
1640  r"""get_translation(Transformation2D self) -> Vector2D"""
1641  return _IMP_algebra.Transformation2D_get_translation(self)
1642 
1643  def set_translation(self, v):
1644  r"""set_translation(Transformation2D self, Vector2D v)"""
1645  return _IMP_algebra.Transformation2D_set_translation(self, v)
1646 
1647  def show(self, *args):
1648  r"""show(Transformation2D self, _ostream out=std::cout)"""
1649  return _IMP_algebra.Transformation2D_show(self, *args)
1650 
1651  def get_inverse(self):
1652  r"""get_inverse(Transformation2D self) -> Transformation2D"""
1653  return _IMP_algebra.Transformation2D_get_inverse(self)
1654 
1655  def __str__(self):
1656  r"""__str__(Transformation2D self) -> std::string"""
1657  return _IMP_algebra.Transformation2D___str__(self)
1658 
1659  def __repr__(self):
1660  r"""__repr__(Transformation2D self) -> std::string"""
1661  return _IMP_algebra.Transformation2D___repr__(self)
1662 
1663  def _get_as_binary(self):
1664  r"""_get_as_binary(Transformation2D self) -> PyObject *"""
1665  return _IMP_algebra.Transformation2D__get_as_binary(self)
1666 
1667  def _set_from_binary(self, p):
1668  r"""_set_from_binary(Transformation2D self, PyObject * p)"""
1669  return _IMP_algebra.Transformation2D__set_from_binary(self, p)
1670 
1671  def __getstate__(self):
1672  p = self._get_as_binary()
1673  if len(self.__dict__) > 1:
1674  d = self.__dict__.copy()
1675  del d['this']
1676  p = (d, p)
1677  return p
1678 
1679  def __setstate__(self, p):
1680  if not hasattr(self, 'this'):
1681  self.__init__()
1682  if isinstance(p, tuple):
1683  d, p = p
1684  self.__dict__.update(d)
1685  return self._set_from_binary(p)
1686 
1687 
1688 # Register Transformation2D in _IMP_algebra:
1689 _IMP_algebra.Transformation2D_swigregister(Transformation2D)
1690 
1692  r"""get_identity_transformation_2d() -> Transformation2D"""
1693  return _IMP_algebra.get_identity_transformation_2d()
1694 
1695 def get_rotation_about_point(*args):
1696  r"""
1697  get_rotation_about_point(Vector3D point, Rotation3D rotation) -> Transformation3D
1698  get_rotation_about_point(Vector2D point, Rotation2D rotation) -> Transformation2D
1699  """
1700  return _IMP_algebra.get_rotation_about_point(*args)
1701 
1702 def compose(*args):
1703  r"""
1704  compose(Rotation3D a, Rotation3D b) -> Rotation3D
1705  compose(Transformation3D a, Transformation3D b) -> Transformation3D
1706  compose(Rotation2D a, Rotation2D b) -> Rotation2D
1707  compose(Transformation2D a, Transformation2D b) -> Transformation2D
1708  """
1709  return _IMP_algebra.compose(*args)
1710 
1711 def get_unit_sphere_kd(d):
1712  r"""get_unit_sphere_kd(unsigned int d) -> SphereKD"""
1713  return _IMP_algebra.get_unit_sphere_kd(d)
1714 
1715 def get_enclosing_sphere(*args):
1716  r"""
1717  get_enclosing_sphere(IMP::algebra::Sphere3Ds const & ss) -> Sphere3D
1718  get_enclosing_sphere(IMP::algebra::Vector3Ds const & ss) -> Sphere3D
1719  """
1720  return _IMP_algebra.get_enclosing_sphere(*args)
1721 
1722 def get_ball_radius_from_volume_3d(volume):
1723  r"""get_ball_radius_from_volume_3d(double volume) -> double"""
1724  return _IMP_algebra.get_ball_radius_from_volume_3d(volume)
1725 
1727  r"""get_surface_area_and_volume(IMP::algebra::Sphere3Ds const & ss) -> IMP::FloatPair"""
1728  return _IMP_algebra.get_surface_area_and_volume(ss)
1729 
1730 def get_simplified_from_volume(_in, maximum_allowed_error_angstroms):
1731  r"""get_simplified_from_volume(IMP::algebra::Sphere3Ds _in, double maximum_allowed_error_angstroms) -> IMP::algebra::Sphere3Ds"""
1732  return _IMP_algebra.get_simplified_from_volume(_in, maximum_allowed_error_angstroms)
1733 
1734 def get_triangle_3d(s):
1735  r"""get_triangle_3d(UnitSimplex3D s) -> Triangle3D"""
1736  return _IMP_algebra.get_triangle_3d(s)
1737 class _UnitSimplexBaseKD(IMP._GeometricPrimitiveKD):
1738  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< -1 > class."""
1739 
1740  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1741 
1742  def __init__(self, *args, **kwargs):
1743  raise AttributeError("No constructor defined - class is abstract")
1744  __repr__ = _swig_repr
1745 
1746  def get_dimension(self):
1747  r"""get_dimension(_UnitSimplexBaseKD self) -> int"""
1748  return _IMP_algebra._UnitSimplexBaseKD_get_dimension(self)
1749 
1750  def get_barycenter(self):
1751  r"""get_barycenter(_UnitSimplexBaseKD self) -> VectorKD"""
1752  return _IMP_algebra._UnitSimplexBaseKD_get_barycenter(self)
1753 
1754  def get_contains(self, *args):
1755  r"""get_contains(_UnitSimplexBaseKD self, VectorKD p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1756  return _IMP_algebra._UnitSimplexBaseKD_get_contains(self, *args)
1757  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBaseKD
1758 
1759 # Register _UnitSimplexBaseKD in _IMP_algebra:
1760 _IMP_algebra._UnitSimplexBaseKD_swigregister(_UnitSimplexBaseKD)
1761 class _UnitSimplexBase1D(IMP._GeometricPrimitive1D):
1762  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 1 > class."""
1763 
1764  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1765 
1766  def __init__(self, *args, **kwargs):
1767  raise AttributeError("No constructor defined - class is abstract")
1768  __repr__ = _swig_repr
1769 
1770  def get_dimension(self):
1771  r"""get_dimension(_UnitSimplexBase1D self) -> int"""
1772  return _IMP_algebra._UnitSimplexBase1D_get_dimension(self)
1773 
1774  def get_barycenter(self):
1775  r"""get_barycenter(_UnitSimplexBase1D self) -> Vector1D"""
1776  return _IMP_algebra._UnitSimplexBase1D_get_barycenter(self)
1777 
1778  def get_contains(self, *args):
1779  r"""get_contains(_UnitSimplexBase1D self, Vector1D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1780  return _IMP_algebra._UnitSimplexBase1D_get_contains(self, *args)
1781  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase1D
1782 
1783 # Register _UnitSimplexBase1D in _IMP_algebra:
1784 _IMP_algebra._UnitSimplexBase1D_swigregister(_UnitSimplexBase1D)
1785 class _UnitSimplexBase2D(IMP._GeometricPrimitive2D):
1786  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 2 > class."""
1787 
1788  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1789 
1790  def __init__(self, *args, **kwargs):
1791  raise AttributeError("No constructor defined - class is abstract")
1792  __repr__ = _swig_repr
1793 
1794  def get_dimension(self):
1795  r"""get_dimension(_UnitSimplexBase2D self) -> int"""
1796  return _IMP_algebra._UnitSimplexBase2D_get_dimension(self)
1797 
1798  def get_barycenter(self):
1799  r"""get_barycenter(_UnitSimplexBase2D self) -> Vector2D"""
1800  return _IMP_algebra._UnitSimplexBase2D_get_barycenter(self)
1801 
1802  def get_contains(self, *args):
1803  r"""get_contains(_UnitSimplexBase2D self, Vector2D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1804  return _IMP_algebra._UnitSimplexBase2D_get_contains(self, *args)
1805  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase2D
1806 
1807 # Register _UnitSimplexBase2D in _IMP_algebra:
1808 _IMP_algebra._UnitSimplexBase2D_swigregister(_UnitSimplexBase2D)
1809 class _UnitSimplexBase3D(IMP._GeometricPrimitive3D):
1810  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 3 > class."""
1811 
1812  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1813 
1814  def __init__(self, *args, **kwargs):
1815  raise AttributeError("No constructor defined - class is abstract")
1816  __repr__ = _swig_repr
1817 
1818  def get_dimension(self):
1819  r"""get_dimension(_UnitSimplexBase3D self) -> int"""
1820  return _IMP_algebra._UnitSimplexBase3D_get_dimension(self)
1821 
1822  def get_barycenter(self):
1823  r"""get_barycenter(_UnitSimplexBase3D self) -> Vector3D"""
1824  return _IMP_algebra._UnitSimplexBase3D_get_barycenter(self)
1825 
1826  def get_contains(self, *args):
1827  r"""get_contains(_UnitSimplexBase3D self, Vector3D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1828  return _IMP_algebra._UnitSimplexBase3D_get_contains(self, *args)
1829  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase3D
1830 
1831 # Register _UnitSimplexBase3D in _IMP_algebra:
1832 _IMP_algebra._UnitSimplexBase3D_swigregister(_UnitSimplexBase3D)
1833 class _UnitSimplexBase4D(IMP._GeometricPrimitive4D):
1834  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 4 > class."""
1835 
1836  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1837 
1838  def __init__(self, *args, **kwargs):
1839  raise AttributeError("No constructor defined - class is abstract")
1840  __repr__ = _swig_repr
1841 
1842  def get_dimension(self):
1843  r"""get_dimension(_UnitSimplexBase4D self) -> int"""
1844  return _IMP_algebra._UnitSimplexBase4D_get_dimension(self)
1845 
1846  def get_barycenter(self):
1847  r"""get_barycenter(_UnitSimplexBase4D self) -> Vector4D"""
1848  return _IMP_algebra._UnitSimplexBase4D_get_barycenter(self)
1849 
1850  def get_contains(self, *args):
1851  r"""get_contains(_UnitSimplexBase4D self, Vector4D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1852  return _IMP_algebra._UnitSimplexBase4D_get_contains(self, *args)
1853  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase4D
1854 
1855 # Register _UnitSimplexBase4D in _IMP_algebra:
1856 _IMP_algebra._UnitSimplexBase4D_swigregister(_UnitSimplexBase4D)
1857 class _UnitSimplexBase5D(IMP._GeometricPrimitive5D):
1858  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 5 > class."""
1859 
1860  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1861 
1862  def __init__(self, *args, **kwargs):
1863  raise AttributeError("No constructor defined - class is abstract")
1864  __repr__ = _swig_repr
1865 
1866  def get_dimension(self):
1867  r"""get_dimension(_UnitSimplexBase5D self) -> int"""
1868  return _IMP_algebra._UnitSimplexBase5D_get_dimension(self)
1869 
1870  def get_barycenter(self):
1871  r"""get_barycenter(_UnitSimplexBase5D self) -> Vector5D"""
1872  return _IMP_algebra._UnitSimplexBase5D_get_barycenter(self)
1873 
1874  def get_contains(self, *args):
1875  r"""get_contains(_UnitSimplexBase5D self, Vector5D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1876  return _IMP_algebra._UnitSimplexBase5D_get_contains(self, *args)
1877  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase5D
1878 
1879 # Register _UnitSimplexBase5D in _IMP_algebra:
1880 _IMP_algebra._UnitSimplexBase5D_swigregister(_UnitSimplexBase5D)
1881 class _UnitSimplexBase6D(IMP._GeometricPrimitive6D):
1882  r"""Proxy of C++ IMP::algebra::UnitSimplexBaseD< 6 > class."""
1883 
1884  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1885 
1886  def __init__(self, *args, **kwargs):
1887  raise AttributeError("No constructor defined - class is abstract")
1888  __repr__ = _swig_repr
1889 
1890  def get_dimension(self):
1891  r"""get_dimension(_UnitSimplexBase6D self) -> int"""
1892  return _IMP_algebra._UnitSimplexBase6D_get_dimension(self)
1893 
1894  def get_barycenter(self):
1895  r"""get_barycenter(_UnitSimplexBase6D self) -> Vector6D"""
1896  return _IMP_algebra._UnitSimplexBase6D_get_barycenter(self)
1897 
1898  def get_contains(self, *args):
1899  r"""get_contains(_UnitSimplexBase6D self, Vector6D p, double atol=std::numeric_limits< double >::epsilon()) -> bool"""
1900  return _IMP_algebra._UnitSimplexBase6D_get_contains(self, *args)
1901  __swig_destroy__ = _IMP_algebra.delete__UnitSimplexBase6D
1902 
1903 # Register _UnitSimplexBase6D in _IMP_algebra:
1904 _IMP_algebra._UnitSimplexBase6D_swigregister(_UnitSimplexBase6D)
1905 class BoundingBox1D(object):
1906  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 1 > class."""
1907 
1908  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1909 
1910  def get_dimension(self):
1911  r"""get_dimension(BoundingBox1D self) -> unsigned int"""
1912  return _IMP_algebra.BoundingBox1D_get_dimension(self)
1913 
1914  def get_corner(self, i):
1915  r"""get_corner(BoundingBox1D self, unsigned int i) -> Vector1D"""
1916  return _IMP_algebra.BoundingBox1D_get_corner(self, i)
1917 
1918  def get_contains(self, *args):
1919  r"""
1920  get_contains(BoundingBox1D self, Vector1D o) -> bool
1921  get_contains(BoundingBox1D self, BoundingBox1D bb) -> bool
1922  """
1923  return _IMP_algebra.BoundingBox1D_get_contains(self, *args)
1924 
1925  def show(self, *args):
1926  r"""show(BoundingBox1D self, _ostream out=std::cout)"""
1927  return _IMP_algebra.BoundingBox1D_show(self, *args)
1928 
1929  def __str__(self):
1930  r"""__str__(BoundingBox1D self) -> std::string"""
1931  return _IMP_algebra.BoundingBox1D___str__(self)
1932 
1933  def __repr__(self):
1934  r"""__repr__(BoundingBox1D self) -> std::string"""
1935  return _IMP_algebra.BoundingBox1D___repr__(self)
1936 
1937  def __cmp__(self, arg2):
1938  r"""__cmp__(BoundingBox1D self, BoundingBox1D arg2) -> int"""
1939  return _IMP_algebra.BoundingBox1D___cmp__(self, arg2)
1940 
1941  def __eq__(self, arg2):
1942  r"""__eq__(BoundingBox1D self, BoundingBox1D arg2) -> bool"""
1943  return _IMP_algebra.BoundingBox1D___eq__(self, arg2)
1944 
1945  def __init__(self, *args):
1946  r"""
1947  __init__(BoundingBox1D self, unsigned int d) -> BoundingBox1D
1948  __init__(BoundingBox1D self, Vector1D lb, Vector1D ub) -> BoundingBox1D
1949  __init__(BoundingBox1D self, Vector1D v) -> BoundingBox1D
1950  __init__(BoundingBox1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & points) -> BoundingBox1D
1951  __init__(BoundingBox1D self) -> BoundingBox1D
1952  """
1953  _IMP_algebra.BoundingBox1D_swiginit(self, _IMP_algebra.new_BoundingBox1D(*args))
1954 
1955  def __getitem__(self, index):
1956  r"""__getitem__(BoundingBox1D self, unsigned int index) -> Vector1D"""
1957  return _IMP_algebra.BoundingBox1D___getitem__(self, index)
1958 
1959  def __iadd__(self, *args):
1960  _IMP_algebra.BoundingBox1D___iadd__(self, *args)
1961  return self
1962 
1963 
1964 
1965  def __len__(self):
1966  r"""__len__(BoundingBox1D self) -> unsigned int"""
1967  return _IMP_algebra.BoundingBox1D___len__(self)
1968 
1969  def __add__(self, *args):
1970  r"""
1971  __add__(BoundingBox1D self, BoundingBox1D o) -> BoundingBox1D
1972  __add__(BoundingBox1D self, Vector1D o) -> BoundingBox1D
1973  __add__(BoundingBox1D self, double o) -> BoundingBox1D
1974  """
1975  return _IMP_algebra.BoundingBox1D___add__(self, *args)
1976 
1977  def _get_as_binary(self):
1978  r"""_get_as_binary(BoundingBox1D self) -> PyObject *"""
1979  return _IMP_algebra.BoundingBox1D__get_as_binary(self)
1980 
1981  def _set_from_binary(self, p):
1982  r"""_set_from_binary(BoundingBox1D self, PyObject * p)"""
1983  return _IMP_algebra.BoundingBox1D__set_from_binary(self, p)
1984 
1985  def __getstate__(self):
1986  p = self._get_as_binary()
1987  if len(self.__dict__) > 1:
1988  d = self.__dict__.copy()
1989  del d['this']
1990  p = (d, p)
1991  return p
1992 
1993  def __setstate__(self, p):
1994  if not hasattr(self, 'this'):
1995  self.__init__()
1996  if isinstance(p, tuple):
1997  d, p = p
1998  self.__dict__.update(d)
1999  return self._set_from_binary(p)
2000 
2001  __swig_destroy__ = _IMP_algebra.delete_BoundingBox1D
2002 
2003 # Register BoundingBox1D in _IMP_algebra:
2004 _IMP_algebra.BoundingBox1D_swigregister(BoundingBox1D)
2005 class BoundingBox2D(object):
2006  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 2 > class."""
2007 
2008  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2009 
2010  def get_dimension(self):
2011  r"""get_dimension(BoundingBox2D self) -> unsigned int"""
2012  return _IMP_algebra.BoundingBox2D_get_dimension(self)
2013 
2014  def get_corner(self, i):
2015  r"""get_corner(BoundingBox2D self, unsigned int i) -> Vector2D"""
2016  return _IMP_algebra.BoundingBox2D_get_corner(self, i)
2017 
2018  def get_contains(self, *args):
2019  r"""
2020  get_contains(BoundingBox2D self, Vector2D o) -> bool
2021  get_contains(BoundingBox2D self, BoundingBox2D bb) -> bool
2022  """
2023  return _IMP_algebra.BoundingBox2D_get_contains(self, *args)
2024 
2025  def show(self, *args):
2026  r"""show(BoundingBox2D self, _ostream out=std::cout)"""
2027  return _IMP_algebra.BoundingBox2D_show(self, *args)
2028 
2029  def __str__(self):
2030  r"""__str__(BoundingBox2D self) -> std::string"""
2031  return _IMP_algebra.BoundingBox2D___str__(self)
2032 
2033  def __repr__(self):
2034  r"""__repr__(BoundingBox2D self) -> std::string"""
2035  return _IMP_algebra.BoundingBox2D___repr__(self)
2036 
2037  def __cmp__(self, arg2):
2038  r"""__cmp__(BoundingBox2D self, BoundingBox2D arg2) -> int"""
2039  return _IMP_algebra.BoundingBox2D___cmp__(self, arg2)
2040 
2041  def __eq__(self, arg2):
2042  r"""__eq__(BoundingBox2D self, BoundingBox2D arg2) -> bool"""
2043  return _IMP_algebra.BoundingBox2D___eq__(self, arg2)
2044 
2045  def __init__(self, *args):
2046  r"""
2047  __init__(BoundingBox2D self, unsigned int d) -> BoundingBox2D
2048  __init__(BoundingBox2D self, Vector2D lb, Vector2D ub) -> BoundingBox2D
2049  __init__(BoundingBox2D self, Vector2D v) -> BoundingBox2D
2050  __init__(BoundingBox2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & points) -> BoundingBox2D
2051  __init__(BoundingBox2D self) -> BoundingBox2D
2052  """
2053  _IMP_algebra.BoundingBox2D_swiginit(self, _IMP_algebra.new_BoundingBox2D(*args))
2054 
2055  def __getitem__(self, index):
2056  r"""__getitem__(BoundingBox2D self, unsigned int index) -> Vector2D"""
2057  return _IMP_algebra.BoundingBox2D___getitem__(self, index)
2058 
2059  def __iadd__(self, *args):
2060  _IMP_algebra.BoundingBox2D___iadd__(self, *args)
2061  return self
2062 
2063 
2064 
2065  def __len__(self):
2066  r"""__len__(BoundingBox2D self) -> unsigned int"""
2067  return _IMP_algebra.BoundingBox2D___len__(self)
2068 
2069  def __add__(self, *args):
2070  r"""
2071  __add__(BoundingBox2D self, BoundingBox2D o) -> BoundingBox2D
2072  __add__(BoundingBox2D self, Vector2D o) -> BoundingBox2D
2073  __add__(BoundingBox2D self, double o) -> BoundingBox2D
2074  """
2075  return _IMP_algebra.BoundingBox2D___add__(self, *args)
2076 
2077  def _get_as_binary(self):
2078  r"""_get_as_binary(BoundingBox2D self) -> PyObject *"""
2079  return _IMP_algebra.BoundingBox2D__get_as_binary(self)
2080 
2081  def _set_from_binary(self, p):
2082  r"""_set_from_binary(BoundingBox2D self, PyObject * p)"""
2083  return _IMP_algebra.BoundingBox2D__set_from_binary(self, p)
2084 
2085  def __getstate__(self):
2086  p = self._get_as_binary()
2087  if len(self.__dict__) > 1:
2088  d = self.__dict__.copy()
2089  del d['this']
2090  p = (d, p)
2091  return p
2092 
2093  def __setstate__(self, p):
2094  if not hasattr(self, 'this'):
2095  self.__init__()
2096  if isinstance(p, tuple):
2097  d, p = p
2098  self.__dict__.update(d)
2099  return self._set_from_binary(p)
2100 
2101  __swig_destroy__ = _IMP_algebra.delete_BoundingBox2D
2102 
2103 # Register BoundingBox2D in _IMP_algebra:
2104 _IMP_algebra.BoundingBox2D_swigregister(BoundingBox2D)
2105 class BoundingBox3D(object):
2106  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 3 > class."""
2107 
2108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2109 
2110  def get_dimension(self):
2111  r"""get_dimension(BoundingBox3D self) -> unsigned int"""
2112  return _IMP_algebra.BoundingBox3D_get_dimension(self)
2113 
2114  def get_corner(self, i):
2115  r"""get_corner(BoundingBox3D self, unsigned int i) -> Vector3D"""
2116  return _IMP_algebra.BoundingBox3D_get_corner(self, i)
2117 
2118  def get_contains(self, *args):
2119  r"""
2120  get_contains(BoundingBox3D self, Vector3D o) -> bool
2121  get_contains(BoundingBox3D self, BoundingBox3D bb) -> bool
2122  """
2123  return _IMP_algebra.BoundingBox3D_get_contains(self, *args)
2124 
2125  def show(self, *args):
2126  r"""show(BoundingBox3D self, _ostream out=std::cout)"""
2127  return _IMP_algebra.BoundingBox3D_show(self, *args)
2128 
2129  def __str__(self):
2130  r"""__str__(BoundingBox3D self) -> std::string"""
2131  return _IMP_algebra.BoundingBox3D___str__(self)
2132 
2133  def __repr__(self):
2134  r"""__repr__(BoundingBox3D self) -> std::string"""
2135  return _IMP_algebra.BoundingBox3D___repr__(self)
2136 
2137  def __cmp__(self, arg2):
2138  r"""__cmp__(BoundingBox3D self, BoundingBox3D arg2) -> int"""
2139  return _IMP_algebra.BoundingBox3D___cmp__(self, arg2)
2140 
2141  def __eq__(self, arg2):
2142  r"""__eq__(BoundingBox3D self, BoundingBox3D arg2) -> bool"""
2143  return _IMP_algebra.BoundingBox3D___eq__(self, arg2)
2144 
2145  def __init__(self, *args):
2146  r"""
2147  __init__(BoundingBox3D self, unsigned int d) -> BoundingBox3D
2148  __init__(BoundingBox3D self, Vector3D lb, Vector3D ub) -> BoundingBox3D
2149  __init__(BoundingBox3D self, Vector3D v) -> BoundingBox3D
2150  __init__(BoundingBox3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & points) -> BoundingBox3D
2151  __init__(BoundingBox3D self) -> BoundingBox3D
2152  """
2153  _IMP_algebra.BoundingBox3D_swiginit(self, _IMP_algebra.new_BoundingBox3D(*args))
2154 
2155  def __getitem__(self, index):
2156  r"""__getitem__(BoundingBox3D self, unsigned int index) -> Vector3D"""
2157  return _IMP_algebra.BoundingBox3D___getitem__(self, index)
2158 
2159  def __iadd__(self, *args):
2160  _IMP_algebra.BoundingBox3D___iadd__(self, *args)
2161  return self
2162 
2163 
2164 
2165  def __len__(self):
2166  r"""__len__(BoundingBox3D self) -> unsigned int"""
2167  return _IMP_algebra.BoundingBox3D___len__(self)
2168 
2169  def __add__(self, *args):
2170  r"""
2171  __add__(BoundingBox3D self, BoundingBox3D o) -> BoundingBox3D
2172  __add__(BoundingBox3D self, Vector3D o) -> BoundingBox3D
2173  __add__(BoundingBox3D self, double o) -> BoundingBox3D
2174  """
2175  return _IMP_algebra.BoundingBox3D___add__(self, *args)
2176 
2177  def _get_as_binary(self):
2178  r"""_get_as_binary(BoundingBox3D self) -> PyObject *"""
2179  return _IMP_algebra.BoundingBox3D__get_as_binary(self)
2180 
2181  def _set_from_binary(self, p):
2182  r"""_set_from_binary(BoundingBox3D self, PyObject * p)"""
2183  return _IMP_algebra.BoundingBox3D__set_from_binary(self, p)
2184 
2185  def __getstate__(self):
2186  p = self._get_as_binary()
2187  if len(self.__dict__) > 1:
2188  d = self.__dict__.copy()
2189  del d['this']
2190  p = (d, p)
2191  return p
2192 
2193  def __setstate__(self, p):
2194  if not hasattr(self, 'this'):
2195  self.__init__()
2196  if isinstance(p, tuple):
2197  d, p = p
2198  self.__dict__.update(d)
2199  return self._set_from_binary(p)
2200 
2201  __swig_destroy__ = _IMP_algebra.delete_BoundingBox3D
2202 
2203 # Register BoundingBox3D in _IMP_algebra:
2204 _IMP_algebra.BoundingBox3D_swigregister(BoundingBox3D)
2205 class BoundingBox4D(object):
2206  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 4 > class."""
2207 
2208  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2209 
2210  def get_dimension(self):
2211  r"""get_dimension(BoundingBox4D self) -> unsigned int"""
2212  return _IMP_algebra.BoundingBox4D_get_dimension(self)
2213 
2214  def get_corner(self, i):
2215  r"""get_corner(BoundingBox4D self, unsigned int i) -> Vector4D"""
2216  return _IMP_algebra.BoundingBox4D_get_corner(self, i)
2217 
2218  def get_contains(self, *args):
2219  r"""
2220  get_contains(BoundingBox4D self, Vector4D o) -> bool
2221  get_contains(BoundingBox4D self, BoundingBox4D bb) -> bool
2222  """
2223  return _IMP_algebra.BoundingBox4D_get_contains(self, *args)
2224 
2225  def show(self, *args):
2226  r"""show(BoundingBox4D self, _ostream out=std::cout)"""
2227  return _IMP_algebra.BoundingBox4D_show(self, *args)
2228 
2229  def __str__(self):
2230  r"""__str__(BoundingBox4D self) -> std::string"""
2231  return _IMP_algebra.BoundingBox4D___str__(self)
2232 
2233  def __repr__(self):
2234  r"""__repr__(BoundingBox4D self) -> std::string"""
2235  return _IMP_algebra.BoundingBox4D___repr__(self)
2236 
2237  def __cmp__(self, arg2):
2238  r"""__cmp__(BoundingBox4D self, BoundingBox4D arg2) -> int"""
2239  return _IMP_algebra.BoundingBox4D___cmp__(self, arg2)
2240 
2241  def __eq__(self, arg2):
2242  r"""__eq__(BoundingBox4D self, BoundingBox4D arg2) -> bool"""
2243  return _IMP_algebra.BoundingBox4D___eq__(self, arg2)
2244 
2245  def __init__(self, *args):
2246  r"""
2247  __init__(BoundingBox4D self, unsigned int d) -> BoundingBox4D
2248  __init__(BoundingBox4D self, Vector4D lb, Vector4D ub) -> BoundingBox4D
2249  __init__(BoundingBox4D self, Vector4D v) -> BoundingBox4D
2250  __init__(BoundingBox4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & points) -> BoundingBox4D
2251  __init__(BoundingBox4D self) -> BoundingBox4D
2252  """
2253  _IMP_algebra.BoundingBox4D_swiginit(self, _IMP_algebra.new_BoundingBox4D(*args))
2254 
2255  def __getitem__(self, index):
2256  r"""__getitem__(BoundingBox4D self, unsigned int index) -> Vector4D"""
2257  return _IMP_algebra.BoundingBox4D___getitem__(self, index)
2258 
2259  def __iadd__(self, *args):
2260  _IMP_algebra.BoundingBox4D___iadd__(self, *args)
2261  return self
2262 
2263 
2264 
2265  def __len__(self):
2266  r"""__len__(BoundingBox4D self) -> unsigned int"""
2267  return _IMP_algebra.BoundingBox4D___len__(self)
2268 
2269  def __add__(self, *args):
2270  r"""
2271  __add__(BoundingBox4D self, BoundingBox4D o) -> BoundingBox4D
2272  __add__(BoundingBox4D self, Vector4D o) -> BoundingBox4D
2273  __add__(BoundingBox4D self, double o) -> BoundingBox4D
2274  """
2275  return _IMP_algebra.BoundingBox4D___add__(self, *args)
2276 
2277  def _get_as_binary(self):
2278  r"""_get_as_binary(BoundingBox4D self) -> PyObject *"""
2279  return _IMP_algebra.BoundingBox4D__get_as_binary(self)
2280 
2281  def _set_from_binary(self, p):
2282  r"""_set_from_binary(BoundingBox4D self, PyObject * p)"""
2283  return _IMP_algebra.BoundingBox4D__set_from_binary(self, p)
2284 
2285  def __getstate__(self):
2286  p = self._get_as_binary()
2287  if len(self.__dict__) > 1:
2288  d = self.__dict__.copy()
2289  del d['this']
2290  p = (d, p)
2291  return p
2292 
2293  def __setstate__(self, p):
2294  if not hasattr(self, 'this'):
2295  self.__init__()
2296  if isinstance(p, tuple):
2297  d, p = p
2298  self.__dict__.update(d)
2299  return self._set_from_binary(p)
2300 
2301  __swig_destroy__ = _IMP_algebra.delete_BoundingBox4D
2302 
2303 # Register BoundingBox4D in _IMP_algebra:
2304 _IMP_algebra.BoundingBox4D_swigregister(BoundingBox4D)
2305 class BoundingBox5D(object):
2306  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 5 > class."""
2307 
2308  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2309 
2310  def get_dimension(self):
2311  r"""get_dimension(BoundingBox5D self) -> unsigned int"""
2312  return _IMP_algebra.BoundingBox5D_get_dimension(self)
2313 
2314  def get_corner(self, i):
2315  r"""get_corner(BoundingBox5D self, unsigned int i) -> Vector5D"""
2316  return _IMP_algebra.BoundingBox5D_get_corner(self, i)
2317 
2318  def get_contains(self, *args):
2319  r"""
2320  get_contains(BoundingBox5D self, Vector5D o) -> bool
2321  get_contains(BoundingBox5D self, BoundingBox5D bb) -> bool
2322  """
2323  return _IMP_algebra.BoundingBox5D_get_contains(self, *args)
2324 
2325  def show(self, *args):
2326  r"""show(BoundingBox5D self, _ostream out=std::cout)"""
2327  return _IMP_algebra.BoundingBox5D_show(self, *args)
2328 
2329  def __str__(self):
2330  r"""__str__(BoundingBox5D self) -> std::string"""
2331  return _IMP_algebra.BoundingBox5D___str__(self)
2332 
2333  def __repr__(self):
2334  r"""__repr__(BoundingBox5D self) -> std::string"""
2335  return _IMP_algebra.BoundingBox5D___repr__(self)
2336 
2337  def __cmp__(self, arg2):
2338  r"""__cmp__(BoundingBox5D self, BoundingBox5D arg2) -> int"""
2339  return _IMP_algebra.BoundingBox5D___cmp__(self, arg2)
2340 
2341  def __eq__(self, arg2):
2342  r"""__eq__(BoundingBox5D self, BoundingBox5D arg2) -> bool"""
2343  return _IMP_algebra.BoundingBox5D___eq__(self, arg2)
2344 
2345  def __init__(self, *args):
2346  r"""
2347  __init__(BoundingBox5D self, unsigned int d) -> BoundingBox5D
2348  __init__(BoundingBox5D self, Vector5D lb, Vector5D ub) -> BoundingBox5D
2349  __init__(BoundingBox5D self, Vector5D v) -> BoundingBox5D
2350  __init__(BoundingBox5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & points) -> BoundingBox5D
2351  __init__(BoundingBox5D self) -> BoundingBox5D
2352  """
2353  _IMP_algebra.BoundingBox5D_swiginit(self, _IMP_algebra.new_BoundingBox5D(*args))
2354 
2355  def __getitem__(self, index):
2356  r"""__getitem__(BoundingBox5D self, unsigned int index) -> Vector5D"""
2357  return _IMP_algebra.BoundingBox5D___getitem__(self, index)
2358 
2359  def __iadd__(self, *args):
2360  _IMP_algebra.BoundingBox5D___iadd__(self, *args)
2361  return self
2362 
2363 
2364 
2365  def __len__(self):
2366  r"""__len__(BoundingBox5D self) -> unsigned int"""
2367  return _IMP_algebra.BoundingBox5D___len__(self)
2368 
2369  def __add__(self, *args):
2370  r"""
2371  __add__(BoundingBox5D self, BoundingBox5D o) -> BoundingBox5D
2372  __add__(BoundingBox5D self, Vector5D o) -> BoundingBox5D
2373  __add__(BoundingBox5D self, double o) -> BoundingBox5D
2374  """
2375  return _IMP_algebra.BoundingBox5D___add__(self, *args)
2376 
2377  def _get_as_binary(self):
2378  r"""_get_as_binary(BoundingBox5D self) -> PyObject *"""
2379  return _IMP_algebra.BoundingBox5D__get_as_binary(self)
2380 
2381  def _set_from_binary(self, p):
2382  r"""_set_from_binary(BoundingBox5D self, PyObject * p)"""
2383  return _IMP_algebra.BoundingBox5D__set_from_binary(self, p)
2384 
2385  def __getstate__(self):
2386  p = self._get_as_binary()
2387  if len(self.__dict__) > 1:
2388  d = self.__dict__.copy()
2389  del d['this']
2390  p = (d, p)
2391  return p
2392 
2393  def __setstate__(self, p):
2394  if not hasattr(self, 'this'):
2395  self.__init__()
2396  if isinstance(p, tuple):
2397  d, p = p
2398  self.__dict__.update(d)
2399  return self._set_from_binary(p)
2400 
2401  __swig_destroy__ = _IMP_algebra.delete_BoundingBox5D
2402 
2403 # Register BoundingBox5D in _IMP_algebra:
2404 _IMP_algebra.BoundingBox5D_swigregister(BoundingBox5D)
2405 class BoundingBox6D(object):
2406  r"""Proxy of C++ IMP::algebra::BoundingBoxD< 6 > class."""
2407 
2408  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2409 
2410  def get_dimension(self):
2411  r"""get_dimension(BoundingBox6D self) -> unsigned int"""
2412  return _IMP_algebra.BoundingBox6D_get_dimension(self)
2413 
2414  def get_corner(self, i):
2415  r"""get_corner(BoundingBox6D self, unsigned int i) -> Vector6D"""
2416  return _IMP_algebra.BoundingBox6D_get_corner(self, i)
2417 
2418  def get_contains(self, *args):
2419  r"""
2420  get_contains(BoundingBox6D self, Vector6D o) -> bool
2421  get_contains(BoundingBox6D self, BoundingBox6D bb) -> bool
2422  """
2423  return _IMP_algebra.BoundingBox6D_get_contains(self, *args)
2424 
2425  def show(self, *args):
2426  r"""show(BoundingBox6D self, _ostream out=std::cout)"""
2427  return _IMP_algebra.BoundingBox6D_show(self, *args)
2428 
2429  def __str__(self):
2430  r"""__str__(BoundingBox6D self) -> std::string"""
2431  return _IMP_algebra.BoundingBox6D___str__(self)
2432 
2433  def __repr__(self):
2434  r"""__repr__(BoundingBox6D self) -> std::string"""
2435  return _IMP_algebra.BoundingBox6D___repr__(self)
2436 
2437  def __cmp__(self, arg2):
2438  r"""__cmp__(BoundingBox6D self, BoundingBox6D arg2) -> int"""
2439  return _IMP_algebra.BoundingBox6D___cmp__(self, arg2)
2440 
2441  def __eq__(self, arg2):
2442  r"""__eq__(BoundingBox6D self, BoundingBox6D arg2) -> bool"""
2443  return _IMP_algebra.BoundingBox6D___eq__(self, arg2)
2444 
2445  def __init__(self, *args):
2446  r"""
2447  __init__(BoundingBox6D self, unsigned int d) -> BoundingBox6D
2448  __init__(BoundingBox6D self, Vector6D lb, Vector6D ub) -> BoundingBox6D
2449  __init__(BoundingBox6D self, Vector6D v) -> BoundingBox6D
2450  __init__(BoundingBox6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & points) -> BoundingBox6D
2451  __init__(BoundingBox6D self) -> BoundingBox6D
2452  """
2453  _IMP_algebra.BoundingBox6D_swiginit(self, _IMP_algebra.new_BoundingBox6D(*args))
2454 
2455  def __getitem__(self, index):
2456  r"""__getitem__(BoundingBox6D self, unsigned int index) -> Vector6D"""
2457  return _IMP_algebra.BoundingBox6D___getitem__(self, index)
2458 
2459  def __iadd__(self, *args):
2460  _IMP_algebra.BoundingBox6D___iadd__(self, *args)
2461  return self
2462 
2463 
2464 
2465  def __len__(self):
2466  r"""__len__(BoundingBox6D self) -> unsigned int"""
2467  return _IMP_algebra.BoundingBox6D___len__(self)
2468 
2469  def __add__(self, *args):
2470  r"""
2471  __add__(BoundingBox6D self, BoundingBox6D o) -> BoundingBox6D
2472  __add__(BoundingBox6D self, Vector6D o) -> BoundingBox6D
2473  __add__(BoundingBox6D self, double o) -> BoundingBox6D
2474  """
2475  return _IMP_algebra.BoundingBox6D___add__(self, *args)
2476 
2477  def _get_as_binary(self):
2478  r"""_get_as_binary(BoundingBox6D self) -> PyObject *"""
2479  return _IMP_algebra.BoundingBox6D__get_as_binary(self)
2480 
2481  def _set_from_binary(self, p):
2482  r"""_set_from_binary(BoundingBox6D self, PyObject * p)"""
2483  return _IMP_algebra.BoundingBox6D__set_from_binary(self, p)
2484 
2485  def __getstate__(self):
2486  p = self._get_as_binary()
2487  if len(self.__dict__) > 1:
2488  d = self.__dict__.copy()
2489  del d['this']
2490  p = (d, p)
2491  return p
2492 
2493  def __setstate__(self, p):
2494  if not hasattr(self, 'this'):
2495  self.__init__()
2496  if isinstance(p, tuple):
2497  d, p = p
2498  self.__dict__.update(d)
2499  return self._set_from_binary(p)
2500 
2501  __swig_destroy__ = _IMP_algebra.delete_BoundingBox6D
2502 
2503 # Register BoundingBox6D in _IMP_algebra:
2504 _IMP_algebra.BoundingBox6D_swigregister(BoundingBox6D)
2505 class BoundingBoxKD(object):
2506  r"""Proxy of C++ IMP::algebra::BoundingBoxD< -1 > class."""
2507 
2508  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2509 
2510  def get_dimension(self):
2511  r"""get_dimension(BoundingBoxKD self) -> unsigned int"""
2512  return _IMP_algebra.BoundingBoxKD_get_dimension(self)
2513 
2514  def get_corner(self, i):
2515  r"""get_corner(BoundingBoxKD self, unsigned int i) -> VectorKD"""
2516  return _IMP_algebra.BoundingBoxKD_get_corner(self, i)
2517 
2518  def get_contains(self, *args):
2519  r"""
2520  get_contains(BoundingBoxKD self, VectorKD o) -> bool
2521  get_contains(BoundingBoxKD self, BoundingBoxKD bb) -> bool
2522  """
2523  return _IMP_algebra.BoundingBoxKD_get_contains(self, *args)
2524 
2525  def show(self, *args):
2526  r"""show(BoundingBoxKD self, _ostream out=std::cout)"""
2527  return _IMP_algebra.BoundingBoxKD_show(self, *args)
2528 
2529  def __str__(self):
2530  r"""__str__(BoundingBoxKD self) -> std::string"""
2531  return _IMP_algebra.BoundingBoxKD___str__(self)
2532 
2533  def __repr__(self):
2534  r"""__repr__(BoundingBoxKD self) -> std::string"""
2535  return _IMP_algebra.BoundingBoxKD___repr__(self)
2536 
2537  def __cmp__(self, arg2):
2538  r"""__cmp__(BoundingBoxKD self, BoundingBoxKD arg2) -> int"""
2539  return _IMP_algebra.BoundingBoxKD___cmp__(self, arg2)
2540 
2541  def __eq__(self, arg2):
2542  r"""__eq__(BoundingBoxKD self, BoundingBoxKD arg2) -> bool"""
2543  return _IMP_algebra.BoundingBoxKD___eq__(self, arg2)
2544 
2545  def __init__(self, *args):
2546  r"""
2547  __init__(BoundingBoxKD self, unsigned int d) -> BoundingBoxKD
2548  __init__(BoundingBoxKD self, VectorKD lb, VectorKD ub) -> BoundingBoxKD
2549  __init__(BoundingBoxKD self, VectorKD v) -> BoundingBoxKD
2550  __init__(BoundingBoxKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & points) -> BoundingBoxKD
2551  __init__(BoundingBoxKD self) -> BoundingBoxKD
2552  """
2553  _IMP_algebra.BoundingBoxKD_swiginit(self, _IMP_algebra.new_BoundingBoxKD(*args))
2554 
2555  def __getitem__(self, index):
2556  r"""__getitem__(BoundingBoxKD self, unsigned int index) -> VectorKD"""
2557  return _IMP_algebra.BoundingBoxKD___getitem__(self, index)
2558 
2559  def __iadd__(self, *args):
2560  _IMP_algebra.BoundingBoxKD___iadd__(self, *args)
2561  return self
2562 
2563 
2564 
2565  def __len__(self):
2566  r"""__len__(BoundingBoxKD self) -> unsigned int"""
2567  return _IMP_algebra.BoundingBoxKD___len__(self)
2568 
2569  def __add__(self, *args):
2570  r"""
2571  __add__(BoundingBoxKD self, BoundingBoxKD o) -> BoundingBoxKD
2572  __add__(BoundingBoxKD self, VectorKD o) -> BoundingBoxKD
2573  __add__(BoundingBoxKD self, double o) -> BoundingBoxKD
2574  """
2575  return _IMP_algebra.BoundingBoxKD___add__(self, *args)
2576 
2577  def _get_as_binary(self):
2578  r"""_get_as_binary(BoundingBoxKD self) -> PyObject *"""
2579  return _IMP_algebra.BoundingBoxKD__get_as_binary(self)
2580 
2581  def _set_from_binary(self, p):
2582  r"""_set_from_binary(BoundingBoxKD self, PyObject * p)"""
2583  return _IMP_algebra.BoundingBoxKD__set_from_binary(self, p)
2584 
2585  def __getstate__(self):
2586  p = self._get_as_binary()
2587  if len(self.__dict__) > 1:
2588  d = self.__dict__.copy()
2589  del d['this']
2590  p = (d, p)
2591  return p
2592 
2593  def __setstate__(self, p):
2594  if not hasattr(self, 'this'):
2595  self.__init__()
2596  if isinstance(p, tuple):
2597  d, p = p
2598  self.__dict__.update(d)
2599  return self._set_from_binary(p)
2600 
2601  __swig_destroy__ = _IMP_algebra.delete_BoundingBoxKD
2602 
2603 # Register BoundingBoxKD in _IMP_algebra:
2604 _IMP_algebra.BoundingBoxKD_swigregister(BoundingBoxKD)
2605 class Sphere1D(IMP._GeometricPrimitive1D):
2606  r"""Proxy of C++ IMP::algebra::SphereD< 1 > class."""
2607 
2608  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2609 
2610  def __init__(self, *args):
2611  r"""
2612  __init__(Sphere1D self) -> Sphere1D
2613  __init__(Sphere1D self, Vector1D center, double radius) -> Sphere1D
2614  """
2615  _IMP_algebra.Sphere1D_swiginit(self, _IMP_algebra.new_Sphere1D(*args))
2616 
2617  def get_radius(self):
2618  r"""get_radius(Sphere1D self) -> double"""
2619  return _IMP_algebra.Sphere1D_get_radius(self)
2620 
2621  def get_center(self):
2622  r"""get_center(Sphere1D self) -> Vector1D"""
2623  return _IMP_algebra.Sphere1D_get_center(self)
2624 
2625  def get_contains(self, *args):
2626  r"""
2627  get_contains(Sphere1D self, Sphere1D o) -> bool
2628  get_contains(Sphere1D self, Vector1D p) -> bool
2629  """
2630  return _IMP_algebra.Sphere1D_get_contains(self, *args)
2631 
2632  def show(self, *args):
2633  r"""show(Sphere1D self, _ostream out=std::cout)"""
2634  return _IMP_algebra.Sphere1D_show(self, *args)
2635 
2636  def get_dimension(self):
2637  r"""get_dimension(Sphere1D self) -> unsigned int"""
2638  return _IMP_algebra.Sphere1D_get_dimension(self)
2639 
2640  def __str__(self):
2641  r"""__str__(Sphere1D self) -> std::string"""
2642  return _IMP_algebra.Sphere1D___str__(self)
2643 
2644  def __repr__(self):
2645  r"""__repr__(Sphere1D self) -> std::string"""
2646  return _IMP_algebra.Sphere1D___repr__(self)
2647 
2648  def __cmp__(self, arg2):
2649  r"""__cmp__(Sphere1D self, Sphere1D arg2) -> int"""
2650  return _IMP_algebra.Sphere1D___cmp__(self, arg2)
2651 
2652  def __eq__(self, arg2):
2653  r"""__eq__(Sphere1D self, Sphere1D arg2) -> bool"""
2654  return _IMP_algebra.Sphere1D___eq__(self, arg2)
2655 
2656  def _get_as_binary(self):
2657  r"""_get_as_binary(Sphere1D self) -> PyObject *"""
2658  return _IMP_algebra.Sphere1D__get_as_binary(self)
2659 
2660  def _set_from_binary(self, p):
2661  r"""_set_from_binary(Sphere1D self, PyObject * p)"""
2662  return _IMP_algebra.Sphere1D__set_from_binary(self, p)
2663 
2664  def __getstate__(self):
2665  p = self._get_as_binary()
2666  if len(self.__dict__) > 1:
2667  d = self.__dict__.copy()
2668  del d['this']
2669  p = (d, p)
2670  return p
2671 
2672  def __setstate__(self, p):
2673  if not hasattr(self, 'this'):
2674  self.__init__()
2675  if isinstance(p, tuple):
2676  d, p = p
2677  self.__dict__.update(d)
2678  return self._set_from_binary(p)
2679 
2680  __swig_destroy__ = _IMP_algebra.delete_Sphere1D
2681 
2682 # Register Sphere1D in _IMP_algebra:
2683 _IMP_algebra.Sphere1D_swigregister(Sphere1D)
2684 class Sphere2D(IMP._GeometricPrimitive2D):
2685  r"""Proxy of C++ IMP::algebra::SphereD< 2 > class."""
2686 
2687  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2688 
2689  def __init__(self, *args):
2690  r"""
2691  __init__(Sphere2D self) -> Sphere2D
2692  __init__(Sphere2D self, Vector2D center, double radius) -> Sphere2D
2693  """
2694  _IMP_algebra.Sphere2D_swiginit(self, _IMP_algebra.new_Sphere2D(*args))
2695 
2696  def get_radius(self):
2697  r"""get_radius(Sphere2D self) -> double"""
2698  return _IMP_algebra.Sphere2D_get_radius(self)
2699 
2700  def get_center(self):
2701  r"""get_center(Sphere2D self) -> Vector2D"""
2702  return _IMP_algebra.Sphere2D_get_center(self)
2703 
2704  def get_contains(self, *args):
2705  r"""
2706  get_contains(Sphere2D self, Sphere2D o) -> bool
2707  get_contains(Sphere2D self, Vector2D p) -> bool
2708  """
2709  return _IMP_algebra.Sphere2D_get_contains(self, *args)
2710 
2711  def show(self, *args):
2712  r"""show(Sphere2D self, _ostream out=std::cout)"""
2713  return _IMP_algebra.Sphere2D_show(self, *args)
2714 
2715  def get_dimension(self):
2716  r"""get_dimension(Sphere2D self) -> unsigned int"""
2717  return _IMP_algebra.Sphere2D_get_dimension(self)
2718 
2719  def __str__(self):
2720  r"""__str__(Sphere2D self) -> std::string"""
2721  return _IMP_algebra.Sphere2D___str__(self)
2722 
2723  def __repr__(self):
2724  r"""__repr__(Sphere2D self) -> std::string"""
2725  return _IMP_algebra.Sphere2D___repr__(self)
2726 
2727  def __cmp__(self, arg2):
2728  r"""__cmp__(Sphere2D self, Sphere2D arg2) -> int"""
2729  return _IMP_algebra.Sphere2D___cmp__(self, arg2)
2730 
2731  def __eq__(self, arg2):
2732  r"""__eq__(Sphere2D self, Sphere2D arg2) -> bool"""
2733  return _IMP_algebra.Sphere2D___eq__(self, arg2)
2734 
2735  def _get_as_binary(self):
2736  r"""_get_as_binary(Sphere2D self) -> PyObject *"""
2737  return _IMP_algebra.Sphere2D__get_as_binary(self)
2738 
2739  def _set_from_binary(self, p):
2740  r"""_set_from_binary(Sphere2D self, PyObject * p)"""
2741  return _IMP_algebra.Sphere2D__set_from_binary(self, p)
2742 
2743  def __getstate__(self):
2744  p = self._get_as_binary()
2745  if len(self.__dict__) > 1:
2746  d = self.__dict__.copy()
2747  del d['this']
2748  p = (d, p)
2749  return p
2750 
2751  def __setstate__(self, p):
2752  if not hasattr(self, 'this'):
2753  self.__init__()
2754  if isinstance(p, tuple):
2755  d, p = p
2756  self.__dict__.update(d)
2757  return self._set_from_binary(p)
2758 
2759  __swig_destroy__ = _IMP_algebra.delete_Sphere2D
2760 
2761 # Register Sphere2D in _IMP_algebra:
2762 _IMP_algebra.Sphere2D_swigregister(Sphere2D)
2763 class Sphere3D(IMP._GeometricPrimitive3D):
2764  r"""Proxy of C++ IMP::algebra::SphereD< 3 > class."""
2765 
2766  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2767 
2768  def __init__(self, *args):
2769  r"""
2770  __init__(Sphere3D self) -> Sphere3D
2771  __init__(Sphere3D self, Vector3D center, double radius) -> Sphere3D
2772  """
2773  _IMP_algebra.Sphere3D_swiginit(self, _IMP_algebra.new_Sphere3D(*args))
2774 
2775  def get_radius(self):
2776  r"""get_radius(Sphere3D self) -> double"""
2777  return _IMP_algebra.Sphere3D_get_radius(self)
2778 
2779  def get_center(self):
2780  r"""get_center(Sphere3D self) -> Vector3D"""
2781  return _IMP_algebra.Sphere3D_get_center(self)
2782 
2783  def get_contains(self, *args):
2784  r"""
2785  get_contains(Sphere3D self, Sphere3D o) -> bool
2786  get_contains(Sphere3D self, Vector3D p) -> bool
2787  """
2788  return _IMP_algebra.Sphere3D_get_contains(self, *args)
2789 
2790  def show(self, *args):
2791  r"""show(Sphere3D self, _ostream out=std::cout)"""
2792  return _IMP_algebra.Sphere3D_show(self, *args)
2793 
2794  def get_dimension(self):
2795  r"""get_dimension(Sphere3D self) -> unsigned int"""
2796  return _IMP_algebra.Sphere3D_get_dimension(self)
2797 
2798  def __str__(self):
2799  r"""__str__(Sphere3D self) -> std::string"""
2800  return _IMP_algebra.Sphere3D___str__(self)
2801 
2802  def __repr__(self):
2803  r"""__repr__(Sphere3D self) -> std::string"""
2804  return _IMP_algebra.Sphere3D___repr__(self)
2805 
2806  def __cmp__(self, arg2):
2807  r"""__cmp__(Sphere3D self, Sphere3D arg2) -> int"""
2808  return _IMP_algebra.Sphere3D___cmp__(self, arg2)
2809 
2810  def __eq__(self, arg2):
2811  r"""__eq__(Sphere3D self, Sphere3D arg2) -> bool"""
2812  return _IMP_algebra.Sphere3D___eq__(self, arg2)
2813 
2814  def _get_as_binary(self):
2815  r"""_get_as_binary(Sphere3D self) -> PyObject *"""
2816  return _IMP_algebra.Sphere3D__get_as_binary(self)
2817 
2818  def _set_from_binary(self, p):
2819  r"""_set_from_binary(Sphere3D self, PyObject * p)"""
2820  return _IMP_algebra.Sphere3D__set_from_binary(self, p)
2821 
2822  def __getstate__(self):
2823  p = self._get_as_binary()
2824  if len(self.__dict__) > 1:
2825  d = self.__dict__.copy()
2826  del d['this']
2827  p = (d, p)
2828  return p
2829 
2830  def __setstate__(self, p):
2831  if not hasattr(self, 'this'):
2832  self.__init__()
2833  if isinstance(p, tuple):
2834  d, p = p
2835  self.__dict__.update(d)
2836  return self._set_from_binary(p)
2837 
2838  __swig_destroy__ = _IMP_algebra.delete_Sphere3D
2839 
2840 # Register Sphere3D in _IMP_algebra:
2841 _IMP_algebra.Sphere3D_swigregister(Sphere3D)
2842 class Sphere4D(IMP._GeometricPrimitive4D):
2843  r"""Proxy of C++ IMP::algebra::SphereD< 4 > class."""
2844 
2845  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2846 
2847  def __init__(self, *args):
2848  r"""
2849  __init__(Sphere4D self) -> Sphere4D
2850  __init__(Sphere4D self, Vector4D center, double radius) -> Sphere4D
2851  """
2852  _IMP_algebra.Sphere4D_swiginit(self, _IMP_algebra.new_Sphere4D(*args))
2853 
2854  def get_radius(self):
2855  r"""get_radius(Sphere4D self) -> double"""
2856  return _IMP_algebra.Sphere4D_get_radius(self)
2857 
2858  def get_center(self):
2859  r"""get_center(Sphere4D self) -> Vector4D"""
2860  return _IMP_algebra.Sphere4D_get_center(self)
2861 
2862  def get_contains(self, *args):
2863  r"""
2864  get_contains(Sphere4D self, Sphere4D o) -> bool
2865  get_contains(Sphere4D self, Vector4D p) -> bool
2866  """
2867  return _IMP_algebra.Sphere4D_get_contains(self, *args)
2868 
2869  def show(self, *args):
2870  r"""show(Sphere4D self, _ostream out=std::cout)"""
2871  return _IMP_algebra.Sphere4D_show(self, *args)
2872 
2873  def get_dimension(self):
2874  r"""get_dimension(Sphere4D self) -> unsigned int"""
2875  return _IMP_algebra.Sphere4D_get_dimension(self)
2876 
2877  def __str__(self):
2878  r"""__str__(Sphere4D self) -> std::string"""
2879  return _IMP_algebra.Sphere4D___str__(self)
2880 
2881  def __repr__(self):
2882  r"""__repr__(Sphere4D self) -> std::string"""
2883  return _IMP_algebra.Sphere4D___repr__(self)
2884 
2885  def __cmp__(self, arg2):
2886  r"""__cmp__(Sphere4D self, Sphere4D arg2) -> int"""
2887  return _IMP_algebra.Sphere4D___cmp__(self, arg2)
2888 
2889  def __eq__(self, arg2):
2890  r"""__eq__(Sphere4D self, Sphere4D arg2) -> bool"""
2891  return _IMP_algebra.Sphere4D___eq__(self, arg2)
2892 
2893  def _get_as_binary(self):
2894  r"""_get_as_binary(Sphere4D self) -> PyObject *"""
2895  return _IMP_algebra.Sphere4D__get_as_binary(self)
2896 
2897  def _set_from_binary(self, p):
2898  r"""_set_from_binary(Sphere4D self, PyObject * p)"""
2899  return _IMP_algebra.Sphere4D__set_from_binary(self, p)
2900 
2901  def __getstate__(self):
2902  p = self._get_as_binary()
2903  if len(self.__dict__) > 1:
2904  d = self.__dict__.copy()
2905  del d['this']
2906  p = (d, p)
2907  return p
2908 
2909  def __setstate__(self, p):
2910  if not hasattr(self, 'this'):
2911  self.__init__()
2912  if isinstance(p, tuple):
2913  d, p = p
2914  self.__dict__.update(d)
2915  return self._set_from_binary(p)
2916 
2917  __swig_destroy__ = _IMP_algebra.delete_Sphere4D
2918 
2919 # Register Sphere4D in _IMP_algebra:
2920 _IMP_algebra.Sphere4D_swigregister(Sphere4D)
2921 class Sphere5D(IMP._GeometricPrimitive5D):
2922  r"""Proxy of C++ IMP::algebra::SphereD< 5 > class."""
2923 
2924  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2925 
2926  def __init__(self, *args):
2927  r"""
2928  __init__(Sphere5D self) -> Sphere5D
2929  __init__(Sphere5D self, Vector5D center, double radius) -> Sphere5D
2930  """
2931  _IMP_algebra.Sphere5D_swiginit(self, _IMP_algebra.new_Sphere5D(*args))
2932 
2933  def get_radius(self):
2934  r"""get_radius(Sphere5D self) -> double"""
2935  return _IMP_algebra.Sphere5D_get_radius(self)
2936 
2937  def get_center(self):
2938  r"""get_center(Sphere5D self) -> Vector5D"""
2939  return _IMP_algebra.Sphere5D_get_center(self)
2940 
2941  def get_contains(self, *args):
2942  r"""
2943  get_contains(Sphere5D self, Sphere5D o) -> bool
2944  get_contains(Sphere5D self, Vector5D p) -> bool
2945  """
2946  return _IMP_algebra.Sphere5D_get_contains(self, *args)
2947 
2948  def show(self, *args):
2949  r"""show(Sphere5D self, _ostream out=std::cout)"""
2950  return _IMP_algebra.Sphere5D_show(self, *args)
2951 
2952  def get_dimension(self):
2953  r"""get_dimension(Sphere5D self) -> unsigned int"""
2954  return _IMP_algebra.Sphere5D_get_dimension(self)
2955 
2956  def __str__(self):
2957  r"""__str__(Sphere5D self) -> std::string"""
2958  return _IMP_algebra.Sphere5D___str__(self)
2959 
2960  def __repr__(self):
2961  r"""__repr__(Sphere5D self) -> std::string"""
2962  return _IMP_algebra.Sphere5D___repr__(self)
2963 
2964  def __cmp__(self, arg2):
2965  r"""__cmp__(Sphere5D self, Sphere5D arg2) -> int"""
2966  return _IMP_algebra.Sphere5D___cmp__(self, arg2)
2967 
2968  def __eq__(self, arg2):
2969  r"""__eq__(Sphere5D self, Sphere5D arg2) -> bool"""
2970  return _IMP_algebra.Sphere5D___eq__(self, arg2)
2971 
2972  def _get_as_binary(self):
2973  r"""_get_as_binary(Sphere5D self) -> PyObject *"""
2974  return _IMP_algebra.Sphere5D__get_as_binary(self)
2975 
2976  def _set_from_binary(self, p):
2977  r"""_set_from_binary(Sphere5D self, PyObject * p)"""
2978  return _IMP_algebra.Sphere5D__set_from_binary(self, p)
2979 
2980  def __getstate__(self):
2981  p = self._get_as_binary()
2982  if len(self.__dict__) > 1:
2983  d = self.__dict__.copy()
2984  del d['this']
2985  p = (d, p)
2986  return p
2987 
2988  def __setstate__(self, p):
2989  if not hasattr(self, 'this'):
2990  self.__init__()
2991  if isinstance(p, tuple):
2992  d, p = p
2993  self.__dict__.update(d)
2994  return self._set_from_binary(p)
2995 
2996  __swig_destroy__ = _IMP_algebra.delete_Sphere5D
2997 
2998 # Register Sphere5D in _IMP_algebra:
2999 _IMP_algebra.Sphere5D_swigregister(Sphere5D)
3000 class Sphere6D(IMP._GeometricPrimitive6D):
3001  r"""Proxy of C++ IMP::algebra::SphereD< 6 > class."""
3002 
3003  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3004 
3005  def __init__(self, *args):
3006  r"""
3007  __init__(Sphere6D self) -> Sphere6D
3008  __init__(Sphere6D self, Vector6D center, double radius) -> Sphere6D
3009  """
3010  _IMP_algebra.Sphere6D_swiginit(self, _IMP_algebra.new_Sphere6D(*args))
3011 
3012  def get_radius(self):
3013  r"""get_radius(Sphere6D self) -> double"""
3014  return _IMP_algebra.Sphere6D_get_radius(self)
3015 
3016  def get_center(self):
3017  r"""get_center(Sphere6D self) -> Vector6D"""
3018  return _IMP_algebra.Sphere6D_get_center(self)
3019 
3020  def get_contains(self, *args):
3021  r"""
3022  get_contains(Sphere6D self, Sphere6D o) -> bool
3023  get_contains(Sphere6D self, Vector6D p) -> bool
3024  """
3025  return _IMP_algebra.Sphere6D_get_contains(self, *args)
3026 
3027  def show(self, *args):
3028  r"""show(Sphere6D self, _ostream out=std::cout)"""
3029  return _IMP_algebra.Sphere6D_show(self, *args)
3030 
3031  def get_dimension(self):
3032  r"""get_dimension(Sphere6D self) -> unsigned int"""
3033  return _IMP_algebra.Sphere6D_get_dimension(self)
3034 
3035  def __str__(self):
3036  r"""__str__(Sphere6D self) -> std::string"""
3037  return _IMP_algebra.Sphere6D___str__(self)
3038 
3039  def __repr__(self):
3040  r"""__repr__(Sphere6D self) -> std::string"""
3041  return _IMP_algebra.Sphere6D___repr__(self)
3042 
3043  def __cmp__(self, arg2):
3044  r"""__cmp__(Sphere6D self, Sphere6D arg2) -> int"""
3045  return _IMP_algebra.Sphere6D___cmp__(self, arg2)
3046 
3047  def __eq__(self, arg2):
3048  r"""__eq__(Sphere6D self, Sphere6D arg2) -> bool"""
3049  return _IMP_algebra.Sphere6D___eq__(self, arg2)
3050 
3051  def _get_as_binary(self):
3052  r"""_get_as_binary(Sphere6D self) -> PyObject *"""
3053  return _IMP_algebra.Sphere6D__get_as_binary(self)
3054 
3055  def _set_from_binary(self, p):
3056  r"""_set_from_binary(Sphere6D self, PyObject * p)"""
3057  return _IMP_algebra.Sphere6D__set_from_binary(self, p)
3058 
3059  def __getstate__(self):
3060  p = self._get_as_binary()
3061  if len(self.__dict__) > 1:
3062  d = self.__dict__.copy()
3063  del d['this']
3064  p = (d, p)
3065  return p
3066 
3067  def __setstate__(self, p):
3068  if not hasattr(self, 'this'):
3069  self.__init__()
3070  if isinstance(p, tuple):
3071  d, p = p
3072  self.__dict__.update(d)
3073  return self._set_from_binary(p)
3074 
3075  __swig_destroy__ = _IMP_algebra.delete_Sphere6D
3076 
3077 # Register Sphere6D in _IMP_algebra:
3078 _IMP_algebra.Sphere6D_swigregister(Sphere6D)
3079 class SphereKD(IMP._GeometricPrimitiveKD):
3080  r"""Proxy of C++ IMP::algebra::SphereD< -1 > class."""
3081 
3082  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3083 
3084  def __init__(self, *args):
3085  r"""
3086  __init__(SphereKD self) -> SphereKD
3087  __init__(SphereKD self, VectorKD center, double radius) -> SphereKD
3088  """
3089  _IMP_algebra.SphereKD_swiginit(self, _IMP_algebra.new_SphereKD(*args))
3090 
3091  def get_radius(self):
3092  r"""get_radius(SphereKD self) -> double"""
3093  return _IMP_algebra.SphereKD_get_radius(self)
3094 
3095  def get_center(self):
3096  r"""get_center(SphereKD self) -> VectorKD"""
3097  return _IMP_algebra.SphereKD_get_center(self)
3098 
3099  def get_contains(self, *args):
3100  r"""
3101  get_contains(SphereKD self, SphereKD o) -> bool
3102  get_contains(SphereKD self, VectorKD p) -> bool
3103  """
3104  return _IMP_algebra.SphereKD_get_contains(self, *args)
3105 
3106  def show(self, *args):
3107  r"""show(SphereKD self, _ostream out=std::cout)"""
3108  return _IMP_algebra.SphereKD_show(self, *args)
3109 
3110  def get_dimension(self):
3111  r"""get_dimension(SphereKD self) -> unsigned int"""
3112  return _IMP_algebra.SphereKD_get_dimension(self)
3113 
3114  def __str__(self):
3115  r"""__str__(SphereKD self) -> std::string"""
3116  return _IMP_algebra.SphereKD___str__(self)
3117 
3118  def __repr__(self):
3119  r"""__repr__(SphereKD self) -> std::string"""
3120  return _IMP_algebra.SphereKD___repr__(self)
3121 
3122  def __cmp__(self, arg2):
3123  r"""__cmp__(SphereKD self, SphereKD arg2) -> int"""
3124  return _IMP_algebra.SphereKD___cmp__(self, arg2)
3125 
3126  def __eq__(self, arg2):
3127  r"""__eq__(SphereKD self, SphereKD arg2) -> bool"""
3128  return _IMP_algebra.SphereKD___eq__(self, arg2)
3129 
3130  def _get_as_binary(self):
3131  r"""_get_as_binary(SphereKD self) -> PyObject *"""
3132  return _IMP_algebra.SphereKD__get_as_binary(self)
3133 
3134  def _set_from_binary(self, p):
3135  r"""_set_from_binary(SphereKD self, PyObject * p)"""
3136  return _IMP_algebra.SphereKD__set_from_binary(self, p)
3137 
3138  def __getstate__(self):
3139  p = self._get_as_binary()
3140  if len(self.__dict__) > 1:
3141  d = self.__dict__.copy()
3142  del d['this']
3143  p = (d, p)
3144  return p
3145 
3146  def __setstate__(self, p):
3147  if not hasattr(self, 'this'):
3148  self.__init__()
3149  if isinstance(p, tuple):
3150  d, p = p
3151  self.__dict__.update(d)
3152  return self._set_from_binary(p)
3153 
3154  __swig_destroy__ = _IMP_algebra.delete_SphereKD
3155 
3156 # Register SphereKD in _IMP_algebra:
3157 _IMP_algebra.SphereKD_swigregister(SphereKD)
3158 class UnitSimplex1D(_UnitSimplexBase1D):
3159  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 1 > class."""
3160 
3161  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3162 
3163  def __init__(self):
3164  r"""__init__(UnitSimplex1D self) -> UnitSimplex1D"""
3165  _IMP_algebra.UnitSimplex1D_swiginit(self, _IMP_algebra.new_UnitSimplex1D())
3166 
3167  def show(self, *args):
3168  r"""show(UnitSimplex1D self, _ostream out=std::cout)"""
3169  return _IMP_algebra.UnitSimplex1D_show(self, *args)
3170 
3171  def __str__(self):
3172  r"""__str__(UnitSimplex1D self) -> std::string"""
3173  return _IMP_algebra.UnitSimplex1D___str__(self)
3174 
3175  def __repr__(self):
3176  r"""__repr__(UnitSimplex1D self) -> std::string"""
3177  return _IMP_algebra.UnitSimplex1D___repr__(self)
3178 
3179  def __cmp__(self, arg2):
3180  r"""__cmp__(UnitSimplex1D self, UnitSimplex1D arg2) -> int"""
3181  return _IMP_algebra.UnitSimplex1D___cmp__(self, arg2)
3182 
3183  def __eq__(self, arg2):
3184  r"""__eq__(UnitSimplex1D self, UnitSimplex1D arg2) -> bool"""
3185  return _IMP_algebra.UnitSimplex1D___eq__(self, arg2)
3186 
3187  def _get_as_binary(self):
3188  r"""_get_as_binary(UnitSimplex1D self) -> PyObject *"""
3189  return _IMP_algebra.UnitSimplex1D__get_as_binary(self)
3190 
3191  def _set_from_binary(self, p):
3192  r"""_set_from_binary(UnitSimplex1D self, PyObject * p)"""
3193  return _IMP_algebra.UnitSimplex1D__set_from_binary(self, p)
3194 
3195  def __getstate__(self):
3196  p = self._get_as_binary()
3197  if len(self.__dict__) > 1:
3198  d = self.__dict__.copy()
3199  del d['this']
3200  p = (d, p)
3201  return p
3202 
3203  def __setstate__(self, p):
3204  if not hasattr(self, 'this'):
3205  self.__init__()
3206  if isinstance(p, tuple):
3207  d, p = p
3208  self.__dict__.update(d)
3209  return self._set_from_binary(p)
3210 
3211  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex1D
3212 
3213 # Register UnitSimplex1D in _IMP_algebra:
3214 _IMP_algebra.UnitSimplex1D_swigregister(UnitSimplex1D)
3215 class UnitSimplex2D(_UnitSimplexBase2D):
3216  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 2 > class."""
3217 
3218  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3219 
3220  def __init__(self):
3221  r"""__init__(UnitSimplex2D self) -> UnitSimplex2D"""
3222  _IMP_algebra.UnitSimplex2D_swiginit(self, _IMP_algebra.new_UnitSimplex2D())
3223 
3224  def show(self, *args):
3225  r"""show(UnitSimplex2D self, _ostream out=std::cout)"""
3226  return _IMP_algebra.UnitSimplex2D_show(self, *args)
3227 
3228  def __str__(self):
3229  r"""__str__(UnitSimplex2D self) -> std::string"""
3230  return _IMP_algebra.UnitSimplex2D___str__(self)
3231 
3232  def __repr__(self):
3233  r"""__repr__(UnitSimplex2D self) -> std::string"""
3234  return _IMP_algebra.UnitSimplex2D___repr__(self)
3235 
3236  def __cmp__(self, arg2):
3237  r"""__cmp__(UnitSimplex2D self, UnitSimplex2D arg2) -> int"""
3238  return _IMP_algebra.UnitSimplex2D___cmp__(self, arg2)
3239 
3240  def __eq__(self, arg2):
3241  r"""__eq__(UnitSimplex2D self, UnitSimplex2D arg2) -> bool"""
3242  return _IMP_algebra.UnitSimplex2D___eq__(self, arg2)
3243 
3244  def _get_as_binary(self):
3245  r"""_get_as_binary(UnitSimplex2D self) -> PyObject *"""
3246  return _IMP_algebra.UnitSimplex2D__get_as_binary(self)
3247 
3248  def _set_from_binary(self, p):
3249  r"""_set_from_binary(UnitSimplex2D self, PyObject * p)"""
3250  return _IMP_algebra.UnitSimplex2D__set_from_binary(self, p)
3251 
3252  def __getstate__(self):
3253  p = self._get_as_binary()
3254  if len(self.__dict__) > 1:
3255  d = self.__dict__.copy()
3256  del d['this']
3257  p = (d, p)
3258  return p
3259 
3260  def __setstate__(self, p):
3261  if not hasattr(self, 'this'):
3262  self.__init__()
3263  if isinstance(p, tuple):
3264  d, p = p
3265  self.__dict__.update(d)
3266  return self._set_from_binary(p)
3267 
3268  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex2D
3269 
3270 # Register UnitSimplex2D in _IMP_algebra:
3271 _IMP_algebra.UnitSimplex2D_swigregister(UnitSimplex2D)
3272 class UnitSimplex3D(_UnitSimplexBase3D):
3273  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 3 > class."""
3274 
3275  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3276 
3277  def __init__(self):
3278  r"""__init__(UnitSimplex3D self) -> UnitSimplex3D"""
3279  _IMP_algebra.UnitSimplex3D_swiginit(self, _IMP_algebra.new_UnitSimplex3D())
3280 
3281  def show(self, *args):
3282  r"""show(UnitSimplex3D self, _ostream out=std::cout)"""
3283  return _IMP_algebra.UnitSimplex3D_show(self, *args)
3284 
3285  def __str__(self):
3286  r"""__str__(UnitSimplex3D self) -> std::string"""
3287  return _IMP_algebra.UnitSimplex3D___str__(self)
3288 
3289  def __repr__(self):
3290  r"""__repr__(UnitSimplex3D self) -> std::string"""
3291  return _IMP_algebra.UnitSimplex3D___repr__(self)
3292 
3293  def __cmp__(self, arg2):
3294  r"""__cmp__(UnitSimplex3D self, UnitSimplex3D arg2) -> int"""
3295  return _IMP_algebra.UnitSimplex3D___cmp__(self, arg2)
3296 
3297  def __eq__(self, arg2):
3298  r"""__eq__(UnitSimplex3D self, UnitSimplex3D arg2) -> bool"""
3299  return _IMP_algebra.UnitSimplex3D___eq__(self, arg2)
3300 
3301  def _get_as_binary(self):
3302  r"""_get_as_binary(UnitSimplex3D self) -> PyObject *"""
3303  return _IMP_algebra.UnitSimplex3D__get_as_binary(self)
3304 
3305  def _set_from_binary(self, p):
3306  r"""_set_from_binary(UnitSimplex3D self, PyObject * p)"""
3307  return _IMP_algebra.UnitSimplex3D__set_from_binary(self, p)
3308 
3309  def __getstate__(self):
3310  p = self._get_as_binary()
3311  if len(self.__dict__) > 1:
3312  d = self.__dict__.copy()
3313  del d['this']
3314  p = (d, p)
3315  return p
3316 
3317  def __setstate__(self, p):
3318  if not hasattr(self, 'this'):
3319  self.__init__()
3320  if isinstance(p, tuple):
3321  d, p = p
3322  self.__dict__.update(d)
3323  return self._set_from_binary(p)
3324 
3325  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex3D
3326 
3327 # Register UnitSimplex3D in _IMP_algebra:
3328 _IMP_algebra.UnitSimplex3D_swigregister(UnitSimplex3D)
3329 class UnitSimplex4D(_UnitSimplexBase4D):
3330  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 4 > class."""
3331 
3332  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3333 
3334  def __init__(self):
3335  r"""__init__(UnitSimplex4D self) -> UnitSimplex4D"""
3336  _IMP_algebra.UnitSimplex4D_swiginit(self, _IMP_algebra.new_UnitSimplex4D())
3337 
3338  def show(self, *args):
3339  r"""show(UnitSimplex4D self, _ostream out=std::cout)"""
3340  return _IMP_algebra.UnitSimplex4D_show(self, *args)
3341 
3342  def __str__(self):
3343  r"""__str__(UnitSimplex4D self) -> std::string"""
3344  return _IMP_algebra.UnitSimplex4D___str__(self)
3345 
3346  def __repr__(self):
3347  r"""__repr__(UnitSimplex4D self) -> std::string"""
3348  return _IMP_algebra.UnitSimplex4D___repr__(self)
3349 
3350  def __cmp__(self, arg2):
3351  r"""__cmp__(UnitSimplex4D self, UnitSimplex4D arg2) -> int"""
3352  return _IMP_algebra.UnitSimplex4D___cmp__(self, arg2)
3353 
3354  def __eq__(self, arg2):
3355  r"""__eq__(UnitSimplex4D self, UnitSimplex4D arg2) -> bool"""
3356  return _IMP_algebra.UnitSimplex4D___eq__(self, arg2)
3357 
3358  def _get_as_binary(self):
3359  r"""_get_as_binary(UnitSimplex4D self) -> PyObject *"""
3360  return _IMP_algebra.UnitSimplex4D__get_as_binary(self)
3361 
3362  def _set_from_binary(self, p):
3363  r"""_set_from_binary(UnitSimplex4D self, PyObject * p)"""
3364  return _IMP_algebra.UnitSimplex4D__set_from_binary(self, p)
3365 
3366  def __getstate__(self):
3367  p = self._get_as_binary()
3368  if len(self.__dict__) > 1:
3369  d = self.__dict__.copy()
3370  del d['this']
3371  p = (d, p)
3372  return p
3373 
3374  def __setstate__(self, p):
3375  if not hasattr(self, 'this'):
3376  self.__init__()
3377  if isinstance(p, tuple):
3378  d, p = p
3379  self.__dict__.update(d)
3380  return self._set_from_binary(p)
3381 
3382  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex4D
3383 
3384 # Register UnitSimplex4D in _IMP_algebra:
3385 _IMP_algebra.UnitSimplex4D_swigregister(UnitSimplex4D)
3386 class UnitSimplex5D(_UnitSimplexBase5D):
3387  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 5 > class."""
3388 
3389  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3390 
3391  def __init__(self):
3392  r"""__init__(UnitSimplex5D self) -> UnitSimplex5D"""
3393  _IMP_algebra.UnitSimplex5D_swiginit(self, _IMP_algebra.new_UnitSimplex5D())
3394 
3395  def show(self, *args):
3396  r"""show(UnitSimplex5D self, _ostream out=std::cout)"""
3397  return _IMP_algebra.UnitSimplex5D_show(self, *args)
3398 
3399  def __str__(self):
3400  r"""__str__(UnitSimplex5D self) -> std::string"""
3401  return _IMP_algebra.UnitSimplex5D___str__(self)
3402 
3403  def __repr__(self):
3404  r"""__repr__(UnitSimplex5D self) -> std::string"""
3405  return _IMP_algebra.UnitSimplex5D___repr__(self)
3406 
3407  def __cmp__(self, arg2):
3408  r"""__cmp__(UnitSimplex5D self, UnitSimplex5D arg2) -> int"""
3409  return _IMP_algebra.UnitSimplex5D___cmp__(self, arg2)
3410 
3411  def __eq__(self, arg2):
3412  r"""__eq__(UnitSimplex5D self, UnitSimplex5D arg2) -> bool"""
3413  return _IMP_algebra.UnitSimplex5D___eq__(self, arg2)
3414 
3415  def _get_as_binary(self):
3416  r"""_get_as_binary(UnitSimplex5D self) -> PyObject *"""
3417  return _IMP_algebra.UnitSimplex5D__get_as_binary(self)
3418 
3419  def _set_from_binary(self, p):
3420  r"""_set_from_binary(UnitSimplex5D self, PyObject * p)"""
3421  return _IMP_algebra.UnitSimplex5D__set_from_binary(self, p)
3422 
3423  def __getstate__(self):
3424  p = self._get_as_binary()
3425  if len(self.__dict__) > 1:
3426  d = self.__dict__.copy()
3427  del d['this']
3428  p = (d, p)
3429  return p
3430 
3431  def __setstate__(self, p):
3432  if not hasattr(self, 'this'):
3433  self.__init__()
3434  if isinstance(p, tuple):
3435  d, p = p
3436  self.__dict__.update(d)
3437  return self._set_from_binary(p)
3438 
3439  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex5D
3440 
3441 # Register UnitSimplex5D in _IMP_algebra:
3442 _IMP_algebra.UnitSimplex5D_swigregister(UnitSimplex5D)
3443 class UnitSimplex6D(_UnitSimplexBase6D):
3444  r"""Proxy of C++ IMP::algebra::UnitSimplexD< 6 > class."""
3445 
3446  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3447 
3448  def __init__(self):
3449  r"""__init__(UnitSimplex6D self) -> UnitSimplex6D"""
3450  _IMP_algebra.UnitSimplex6D_swiginit(self, _IMP_algebra.new_UnitSimplex6D())
3451 
3452  def show(self, *args):
3453  r"""show(UnitSimplex6D self, _ostream out=std::cout)"""
3454  return _IMP_algebra.UnitSimplex6D_show(self, *args)
3455 
3456  def __str__(self):
3457  r"""__str__(UnitSimplex6D self) -> std::string"""
3458  return _IMP_algebra.UnitSimplex6D___str__(self)
3459 
3460  def __repr__(self):
3461  r"""__repr__(UnitSimplex6D self) -> std::string"""
3462  return _IMP_algebra.UnitSimplex6D___repr__(self)
3463 
3464  def __cmp__(self, arg2):
3465  r"""__cmp__(UnitSimplex6D self, UnitSimplex6D arg2) -> int"""
3466  return _IMP_algebra.UnitSimplex6D___cmp__(self, arg2)
3467 
3468  def __eq__(self, arg2):
3469  r"""__eq__(UnitSimplex6D self, UnitSimplex6D arg2) -> bool"""
3470  return _IMP_algebra.UnitSimplex6D___eq__(self, arg2)
3471 
3472  def _get_as_binary(self):
3473  r"""_get_as_binary(UnitSimplex6D self) -> PyObject *"""
3474  return _IMP_algebra.UnitSimplex6D__get_as_binary(self)
3475 
3476  def _set_from_binary(self, p):
3477  r"""_set_from_binary(UnitSimplex6D self, PyObject * p)"""
3478  return _IMP_algebra.UnitSimplex6D__set_from_binary(self, p)
3479 
3480  def __getstate__(self):
3481  p = self._get_as_binary()
3482  if len(self.__dict__) > 1:
3483  d = self.__dict__.copy()
3484  del d['this']
3485  p = (d, p)
3486  return p
3487 
3488  def __setstate__(self, p):
3489  if not hasattr(self, 'this'):
3490  self.__init__()
3491  if isinstance(p, tuple):
3492  d, p = p
3493  self.__dict__.update(d)
3494  return self._set_from_binary(p)
3495 
3496  __swig_destroy__ = _IMP_algebra.delete_UnitSimplex6D
3497 
3498 # Register UnitSimplex6D in _IMP_algebra:
3499 _IMP_algebra.UnitSimplex6D_swigregister(UnitSimplex6D)
3500 class UnitSimplexKD(_UnitSimplexBaseKD):
3501  r"""Proxy of C++ IMP::algebra::UnitSimplexD< -1 > class."""
3502 
3503  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3504  __repr__ = _swig_repr
3505 
3506  def __init__(self, d=1):
3507  r"""__init__(UnitSimplexKD self, int d=1) -> UnitSimplexKD"""
3508  _IMP_algebra.UnitSimplexKD_swiginit(self, _IMP_algebra.new_UnitSimplexKD(d))
3509 
3510  def show(self, *args):
3511  r"""show(UnitSimplexKD self, _ostream out=std::cout)"""
3512  return _IMP_algebra.UnitSimplexKD_show(self, *args)
3513 
3514  def _get_as_binary(self):
3515  r"""_get_as_binary(UnitSimplexKD self) -> PyObject *"""
3516  return _IMP_algebra.UnitSimplexKD__get_as_binary(self)
3517 
3518  def _set_from_binary(self, p):
3519  r"""_set_from_binary(UnitSimplexKD self, PyObject * p)"""
3520  return _IMP_algebra.UnitSimplexKD__set_from_binary(self, p)
3521 
3522  def __getstate__(self):
3523  p = self._get_as_binary()
3524  if len(self.__dict__) > 1:
3525  d = self.__dict__.copy()
3526  del d['this']
3527  p = (d, p)
3528  return p
3529 
3530  def __setstate__(self, p):
3531  if not hasattr(self, 'this'):
3532  self.__init__()
3533  if isinstance(p, tuple):
3534  d, p = p
3535  self.__dict__.update(d)
3536  return self._set_from_binary(p)
3537 
3538  __swig_destroy__ = _IMP_algebra.delete_UnitSimplexKD
3539 
3540 # Register UnitSimplexKD in _IMP_algebra:
3541 _IMP_algebra.UnitSimplexKD_swigregister(UnitSimplexKD)
3542 class ReferenceFrame3D(object):
3543  r"""Proxy of C++ IMP::algebra::ReferenceFrame3D class."""
3544 
3545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3546 
3547  def __init__(self, *args):
3548  r"""
3549  __init__(ReferenceFrame3D self, ReferenceFrame3D arg2) -> ReferenceFrame3D
3550  __init__(ReferenceFrame3D self) -> ReferenceFrame3D
3551  __init__(ReferenceFrame3D self, Transformation3D tr) -> ReferenceFrame3D
3552  """
3553  _IMP_algebra.ReferenceFrame3D_swiginit(self, _IMP_algebra.new_ReferenceFrame3D(*args))
3554  __swig_destroy__ = _IMP_algebra.delete_ReferenceFrame3D
3555 
3556  def get_transformation_to(self):
3557  r"""get_transformation_to(ReferenceFrame3D self) -> Transformation3D"""
3558  return _IMP_algebra.ReferenceFrame3D_get_transformation_to(self)
3559 
3560  def get_transformation_from(self):
3561  r"""get_transformation_from(ReferenceFrame3D self) -> Transformation3D"""
3562  return _IMP_algebra.ReferenceFrame3D_get_transformation_from(self)
3563 
3564  def get_global_coordinates(self, v):
3565  r"""get_global_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
3566  return _IMP_algebra.ReferenceFrame3D_get_global_coordinates(self, v)
3567 
3568  def get_local_coordinates(self, v):
3569  r"""get_local_coordinates(ReferenceFrame3D self, Vector3D v) -> Vector3D"""
3570  return _IMP_algebra.ReferenceFrame3D_get_local_coordinates(self, v)
3571 
3572  def get_global_reference_frame(self, v):
3573  r"""get_global_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
3574  return _IMP_algebra.ReferenceFrame3D_get_global_reference_frame(self, v)
3575 
3576  def get_local_reference_frame(self, v):
3577  r"""get_local_reference_frame(ReferenceFrame3D self, ReferenceFrame3D v) -> ReferenceFrame3D"""
3578  return _IMP_algebra.ReferenceFrame3D_get_local_reference_frame(self, v)
3579 
3580  def show(self, *args):
3581  r"""show(ReferenceFrame3D self, _ostream out=std::cout)"""
3582  return _IMP_algebra.ReferenceFrame3D_show(self, *args)
3583 
3584  def __str__(self):
3585  r"""__str__(ReferenceFrame3D self) -> std::string"""
3586  return _IMP_algebra.ReferenceFrame3D___str__(self)
3587 
3588  def __repr__(self):
3589  r"""__repr__(ReferenceFrame3D self) -> std::string"""
3590  return _IMP_algebra.ReferenceFrame3D___repr__(self)
3591 
3592  def _get_as_binary(self):
3593  r"""_get_as_binary(ReferenceFrame3D self) -> PyObject *"""
3594  return _IMP_algebra.ReferenceFrame3D__get_as_binary(self)
3595 
3596  def _set_from_binary(self, p):
3597  r"""_set_from_binary(ReferenceFrame3D self, PyObject * p)"""
3598  return _IMP_algebra.ReferenceFrame3D__set_from_binary(self, p)
3599 
3600  def __getstate__(self):
3601  p = self._get_as_binary()
3602  if len(self.__dict__) > 1:
3603  d = self.__dict__.copy()
3604  del d['this']
3605  p = (d, p)
3606  return p
3607 
3608  def __setstate__(self, p):
3609  if not hasattr(self, 'this'):
3610  self.__init__()
3611  if isinstance(p, tuple):
3612  d, p = p
3613  self.__dict__.update(d)
3614  return self._set_from_binary(p)
3615 
3616 
3617 # Register ReferenceFrame3D in _IMP_algebra:
3618 _IMP_algebra.ReferenceFrame3D_swigregister(ReferenceFrame3D)
3619 
3620 def get_transformed(*args):
3621  r"""
3622  get_transformed(BoundingBox3D bb, Transformation3D tr) -> BoundingBox3D
3623  get_transformed(Line3D l, Transformation3D tr) -> Line3D
3624  get_transformed(ReferenceFrame3D rf, Transformation3D tr) -> ReferenceFrame3D
3625  """
3626  return _IMP_algebra.get_transformed(*args)
3627 
3628 def get_transformation_from_first_to_second(a, b):
3629  r"""get_transformation_from_first_to_second(ReferenceFrame3D a, ReferenceFrame3D b) -> Transformation3D"""
3630  return _IMP_algebra.get_transformation_from_first_to_second(a, b)
3631 class SphericalVector3D(IMP._GeometricPrimitive3D):
3632  r"""Proxy of C++ IMP::algebra::SphericalVector3D class."""
3633 
3634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3635 
3636  def __init__(self, *args):
3637  r"""
3638  __init__(SphericalVector3D self) -> SphericalVector3D
3639  __init__(SphericalVector3D self, Vector3D v) -> SphericalVector3D
3640  __init__(SphericalVector3D self, double r, double theta, double psi, bool apply_check=True) -> SphericalVector3D
3641  """
3642  _IMP_algebra.SphericalVector3D_swiginit(self, _IMP_algebra.new_SphericalVector3D(*args))
3643 
3644  def get_cartesian_coordinates(self):
3645  r"""get_cartesian_coordinates(SphericalVector3D self) -> Vector3D"""
3646  return _IMP_algebra.SphericalVector3D_get_cartesian_coordinates(self)
3647 
3648  def show(self, *args):
3649  r"""show(SphericalVector3D self, _ostream out=std::cout)"""
3650  return _IMP_algebra.SphericalVector3D_show(self, *args)
3651 
3652  def __str__(self):
3653  r"""__str__(SphericalVector3D self) -> std::string"""
3654  return _IMP_algebra.SphericalVector3D___str__(self)
3655 
3656  def __repr__(self):
3657  r"""__repr__(SphericalVector3D self) -> std::string"""
3658  return _IMP_algebra.SphericalVector3D___repr__(self)
3659 
3660  def _get_as_binary(self):
3661  r"""_get_as_binary(SphericalVector3D self) -> PyObject *"""
3662  return _IMP_algebra.SphericalVector3D__get_as_binary(self)
3663 
3664  def _set_from_binary(self, p):
3665  r"""_set_from_binary(SphericalVector3D self, PyObject * p)"""
3666  return _IMP_algebra.SphericalVector3D__set_from_binary(self, p)
3667 
3668  def __getstate__(self):
3669  p = self._get_as_binary()
3670  if len(self.__dict__) > 1:
3671  d = self.__dict__.copy()
3672  del d['this']
3673  p = (d, p)
3674  return p
3675 
3676  def __setstate__(self, p):
3677  if not hasattr(self, 'this'):
3678  self.__init__()
3679  if isinstance(p, tuple):
3680  d, p = p
3681  self.__dict__.update(d)
3682  return self._set_from_binary(p)
3683 
3684 
3685  def __getitem__(self, index):
3686  r"""__getitem__(SphericalVector3D self, unsigned int index) -> double"""
3687  return _IMP_algebra.SphericalVector3D___getitem__(self, index)
3688 
3689  def __setitem__(self, index, val):
3690  r"""__setitem__(SphericalVector3D self, unsigned int index, double val)"""
3691  return _IMP_algebra.SphericalVector3D___setitem__(self, index, val)
3692  __swig_destroy__ = _IMP_algebra.delete_SphericalVector3D
3693 
3694 # Register SphericalVector3D in _IMP_algebra:
3695 _IMP_algebra.SphericalVector3D_swigregister(SphericalVector3D)
3696 
3697 def get_alignments_from_first_to_second(pca1, pca2):
3698  r"""get_alignments_from_first_to_second(PrincipalComponentAnalysis3D pca1, PrincipalComponentAnalysis3D pca2) -> IMP::algebra::Transformation3Ds"""
3699  return _IMP_algebra.get_alignments_from_first_to_second(pca1, pca2)
3700 class Line3D(IMP._GeometricPrimitive3D):
3701  r"""Proxy of C++ IMP::algebra::Line3D class."""
3702 
3703  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3704 
3705  def __init__(self, *args):
3706  r"""
3707  __init__(Line3D self) -> Line3D
3708  __init__(Line3D self, Vector3D direction, Vector3D point_on_line) -> Line3D
3709  __init__(Line3D self, Segment3D s) -> Line3D
3710  """
3711  _IMP_algebra.Line3D_swiginit(self, _IMP_algebra.new_Line3D(*args))
3712 
3713  def get_direction(self):
3714  r"""get_direction(Line3D self) -> Vector3D"""
3715  return _IMP_algebra.Line3D_get_direction(self)
3716 
3717  def get_point_on_line(self):
3718  r"""get_point_on_line(Line3D self) -> Vector3D"""
3719  return _IMP_algebra.Line3D_get_point_on_line(self)
3720 
3721  def get_moment(self, *args):
3722  r"""
3723  get_moment(Line3D self) -> Vector3D
3724  get_moment(Line3D self, Vector3D v) -> Vector3D
3725  """
3726  return _IMP_algebra.Line3D_get_moment(self, *args)
3727 
3728  def get_reciprocal_product(self, l):
3729  r"""get_reciprocal_product(Line3D self, Line3D l) -> double"""
3730  return _IMP_algebra.Line3D_get_reciprocal_product(self, l)
3731 
3732  def get_opposite(self):
3733  r"""get_opposite(Line3D self) -> Line3D"""
3734  return _IMP_algebra.Line3D_get_opposite(self)
3735 
3736  def get_segment_starting_at(self, v, d):
3737  r"""get_segment_starting_at(Line3D self, Vector3D v, double d) -> Segment3D"""
3738  return _IMP_algebra.Line3D_get_segment_starting_at(self, v, d)
3739 
3740  def show(self, *args):
3741  r"""show(Line3D self, _ostream out=std::cout)"""
3742  return _IMP_algebra.Line3D_show(self, *args)
3743 
3744  def __str__(self):
3745  r"""__str__(Line3D self) -> std::string"""
3746  return _IMP_algebra.Line3D___str__(self)
3747 
3748  def __repr__(self):
3749  r"""__repr__(Line3D self) -> std::string"""
3750  return _IMP_algebra.Line3D___repr__(self)
3751 
3752  def _get_as_binary(self):
3753  r"""_get_as_binary(Line3D self) -> PyObject *"""
3754  return _IMP_algebra.Line3D__get_as_binary(self)
3755 
3756  def _set_from_binary(self, p):
3757  r"""_set_from_binary(Line3D self, PyObject * p)"""
3758  return _IMP_algebra.Line3D__set_from_binary(self, p)
3759 
3760  def __getstate__(self):
3761  p = self._get_as_binary()
3762  if len(self.__dict__) > 1:
3763  d = self.__dict__.copy()
3764  del d['this']
3765  p = (d, p)
3766  return p
3767 
3768  def __setstate__(self, p):
3769  if not hasattr(self, 'this'):
3770  self.__init__()
3771  if isinstance(p, tuple):
3772  d, p = p
3773  self.__dict__.update(d)
3774  return self._set_from_binary(p)
3775 
3776  __swig_destroy__ = _IMP_algebra.delete_Line3D
3777 
3778 # Register Line3D in _IMP_algebra:
3779 _IMP_algebra.Line3D_swigregister(Line3D)
3780 
3781 def get_line_3d_geometry(g):
3782  r"""get_line_3d_geometry(Line3D g) -> Line3D"""
3783  return _IMP_algebra.get_line_3d_geometry(g)
3784 
3785 def get_angle(a, b):
3786  r"""get_angle(Line3D a, Line3D b) -> double"""
3787  return _IMP_algebra.get_angle(a, b)
3788 
3790  r"""get_segment_connecting_first_to_second(Line3D a, Line3D b) -> Segment3D"""
3791  return _IMP_algebra.get_segment_connecting_first_to_second(a, b)
3792 class Segment3D(IMP._GeometricPrimitive3D):
3793  r"""Proxy of C++ IMP::algebra::Segment3D class."""
3794 
3795  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3796 
3797  def __init__(self, *args):
3798  r"""
3799  __init__(Segment3D self) -> Segment3D
3800  __init__(Segment3D self, Vector3D start, Vector3D end) -> Segment3D
3801  """
3802  _IMP_algebra.Segment3D_swiginit(self, _IMP_algebra.new_Segment3D(*args))
3803 
3804  def get_point(self, i):
3805  if i < 0 or i >= 2:
3806  raise IMP.UsageException("Invalid point index")
3807  return _IMP_algebra.Segment3D_get_point(self, i)
3808 
3809 
3810 
3811  def get_middle_point(self):
3812  r"""get_middle_point(Segment3D self) -> Vector3D"""
3813  return _IMP_algebra.Segment3D_get_middle_point(self)
3814 
3815  def get_direction(self):
3816  r"""get_direction(Segment3D self) -> Vector3D"""
3817  return _IMP_algebra.Segment3D_get_direction(self)
3818 
3819  def get_length(self):
3820  r"""get_length(Segment3D self) -> double"""
3821  return _IMP_algebra.Segment3D_get_length(self)
3822 
3823  def show(self, *args):
3824  r"""show(Segment3D self, _ostream out=std::cout)"""
3825  return _IMP_algebra.Segment3D_show(self, *args)
3826 
3827  def __str__(self):
3828  r"""__str__(Segment3D self) -> std::string"""
3829  return _IMP_algebra.Segment3D___str__(self)
3830 
3831  def __repr__(self):
3832  r"""__repr__(Segment3D self) -> std::string"""
3833  return _IMP_algebra.Segment3D___repr__(self)
3834 
3835  def _get_as_binary(self):
3836  r"""_get_as_binary(Segment3D self) -> PyObject *"""
3837  return _IMP_algebra.Segment3D__get_as_binary(self)
3838 
3839  def _set_from_binary(self, p):
3840  r"""_set_from_binary(Segment3D self, PyObject * p)"""
3841  return _IMP_algebra.Segment3D__set_from_binary(self, p)
3842 
3843  def __getstate__(self):
3844  p = self._get_as_binary()
3845  if len(self.__dict__) > 1:
3846  d = self.__dict__.copy()
3847  del d['this']
3848  p = (d, p)
3849  return p
3850 
3851  def __setstate__(self, p):
3852  if not hasattr(self, 'this'):
3853  self.__init__()
3854  if isinstance(p, tuple):
3855  d, p = p
3856  self.__dict__.update(d)
3857  return self._set_from_binary(p)
3858 
3859  __swig_destroy__ = _IMP_algebra.delete_Segment3D
3860 
3861 # Register Segment3D in _IMP_algebra:
3862 _IMP_algebra.Segment3D_swigregister(Segment3D)
3863 
3864 def get_segment_3d_geometry(g):
3865  r"""get_segment_3d_geometry(Segment3D g) -> Segment3D"""
3866  return _IMP_algebra.get_segment_3d_geometry(g)
3867 
3869  r"""get_relative_projection_on_segment(Segment3D s, Vector3D p) -> double"""
3870  return _IMP_algebra.get_relative_projection_on_segment(s, p)
3871 class Triangle3D(IMP._GeometricPrimitive3D):
3872  r"""Proxy of C++ IMP::algebra::Triangle3D class."""
3873 
3874  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3875 
3876  def __init__(self, *args):
3877  r"""
3878  __init__(Triangle3D self) -> Triangle3D
3879  __init__(Triangle3D self, Vector3D p1, Vector3D p2, Vector3D p3) -> Triangle3D
3880  """
3881  _IMP_algebra.Triangle3D_swiginit(self, _IMP_algebra.new_Triangle3D(*args))
3882 
3883  def get_point(self, i):
3884  r"""get_point(Triangle3D self, unsigned int i) -> Vector3D"""
3885  return _IMP_algebra.Triangle3D_get_point(self, i)
3886 
3887  def show(self, *args):
3888  r"""show(Triangle3D self, _ostream out=std::cout)"""
3889  return _IMP_algebra.Triangle3D_show(self, *args)
3890 
3891  def get_edge_lengths(self):
3892  r"""get_edge_lengths(Triangle3D self) -> IMP::Floats"""
3893  return _IMP_algebra.Triangle3D_get_edge_lengths(self)
3894 
3895  def __str__(self):
3896  r"""__str__(Triangle3D self) -> std::string"""
3897  return _IMP_algebra.Triangle3D___str__(self)
3898 
3899  def __repr__(self):
3900  r"""__repr__(Triangle3D self) -> std::string"""
3901  return _IMP_algebra.Triangle3D___repr__(self)
3902 
3903  def _get_as_binary(self):
3904  r"""_get_as_binary(Triangle3D self) -> PyObject *"""
3905  return _IMP_algebra.Triangle3D__get_as_binary(self)
3906 
3907  def _set_from_binary(self, p):
3908  r"""_set_from_binary(Triangle3D self, PyObject * p)"""
3909  return _IMP_algebra.Triangle3D__set_from_binary(self, p)
3910 
3911  def __getstate__(self):
3912  p = self._get_as_binary()
3913  if len(self.__dict__) > 1:
3914  d = self.__dict__.copy()
3915  del d['this']
3916  p = (d, p)
3917  return p
3918 
3919  def __setstate__(self, p):
3920  if not hasattr(self, 'this'):
3921  self.__init__()
3922  if isinstance(p, tuple):
3923  d, p = p
3924  self.__dict__.update(d)
3925  return self._set_from_binary(p)
3926 
3927  __swig_destroy__ = _IMP_algebra.delete_Triangle3D
3928 
3929 # Register Triangle3D in _IMP_algebra:
3930 _IMP_algebra.Triangle3D_swigregister(Triangle3D)
3931 
3932 def get_largest_triangle(points):
3933  r"""get_largest_triangle(IMP::algebra::Vector3Ds const & points) -> Triangle3D"""
3934  return _IMP_algebra.get_largest_triangle(points)
3935 
3936 def get_transformation_from_first_triangle_to_second(first_tri, second_tri):
3937  r"""get_transformation_from_first_triangle_to_second(Triangle3D first_tri, Triangle3D second_tri) -> Transformation3D"""
3938  return _IMP_algebra.get_transformation_from_first_triangle_to_second(first_tri, second_tri)
3939 
3940 def get_are_colinear(p1, p2, p3):
3941  r"""get_are_colinear(Vector3D p1, Vector3D p2, Vector3D p3) -> bool"""
3942  return _IMP_algebra.get_are_colinear(p1, p2, p3)
3943 class LinearFit2D(IMP._GeometricPrimitive2D):
3944  r"""Proxy of C++ IMP::algebra::LinearFit2D class."""
3945 
3946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3947 
3948  def __init__(self, *args):
3949  r"""
3950  __init__(LinearFit2D self) -> LinearFit2D
3951  __init__(LinearFit2D self, IMP::algebra::Vector2Ds const & data, IMP::Floats const & error_bars=IMP::Floats()) -> LinearFit2D
3952  """
3953  _IMP_algebra.LinearFit2D_swiginit(self, _IMP_algebra.new_LinearFit2D(*args))
3954 
3955  def get_fit_error(self):
3956  r"""get_fit_error(LinearFit2D self) -> double"""
3957  return _IMP_algebra.LinearFit2D_get_fit_error(self)
3958 
3959  def get_a(self):
3960  r"""get_a(LinearFit2D self) -> double"""
3961  return _IMP_algebra.LinearFit2D_get_a(self)
3962 
3963  def get_b(self):
3964  r"""get_b(LinearFit2D self) -> double"""
3965  return _IMP_algebra.LinearFit2D_get_b(self)
3966 
3967  def show(self, *args):
3968  r"""show(LinearFit2D self, _ostream out=std::cout)"""
3969  return _IMP_algebra.LinearFit2D_show(self, *args)
3970 
3971  def __str__(self):
3972  r"""__str__(LinearFit2D self) -> std::string"""
3973  return _IMP_algebra.LinearFit2D___str__(self)
3974 
3975  def __repr__(self):
3976  r"""__repr__(LinearFit2D self) -> std::string"""
3977  return _IMP_algebra.LinearFit2D___repr__(self)
3978 
3979  def _get_as_binary(self):
3980  r"""_get_as_binary(LinearFit2D self) -> PyObject *"""
3981  return _IMP_algebra.LinearFit2D__get_as_binary(self)
3982 
3983  def _set_from_binary(self, p):
3984  r"""_set_from_binary(LinearFit2D self, PyObject * p)"""
3985  return _IMP_algebra.LinearFit2D__set_from_binary(self, p)
3986 
3987  def __getstate__(self):
3988  p = self._get_as_binary()
3989  if len(self.__dict__) > 1:
3990  d = self.__dict__.copy()
3991  del d['this']
3992  p = (d, p)
3993  return p
3994 
3995  def __setstate__(self, p):
3996  if not hasattr(self, 'this'):
3997  self.__init__()
3998  if isinstance(p, tuple):
3999  d, p = p
4000  self.__dict__.update(d)
4001  return self._set_from_binary(p)
4002 
4003  __swig_destroy__ = _IMP_algebra.delete_LinearFit2D
4004 
4005 # Register LinearFit2D in _IMP_algebra:
4006 _IMP_algebra.LinearFit2D_swigregister(LinearFit2D)
4007 class ParabolicFit2D(IMP._GeometricPrimitive2D):
4008  r"""Proxy of C++ IMP::algebra::ParabolicFit2D class."""
4009 
4010  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4011 
4012  def __init__(self, *args):
4013  r"""
4014  __init__(ParabolicFit2D self) -> ParabolicFit2D
4015  __init__(ParabolicFit2D self, IMP::algebra::Vector2Ds const & data) -> ParabolicFit2D
4016  """
4017  _IMP_algebra.ParabolicFit2D_swiginit(self, _IMP_algebra.new_ParabolicFit2D(*args))
4018 
4019  def get_fit_error(self):
4020  r"""get_fit_error(ParabolicFit2D self) -> double"""
4021  return _IMP_algebra.ParabolicFit2D_get_fit_error(self)
4022 
4023  def get_a(self):
4024  r"""get_a(ParabolicFit2D self) -> double"""
4025  return _IMP_algebra.ParabolicFit2D_get_a(self)
4026 
4027  def get_b(self):
4028  r"""get_b(ParabolicFit2D self) -> double"""
4029  return _IMP_algebra.ParabolicFit2D_get_b(self)
4030 
4031  def get_c(self):
4032  r"""get_c(ParabolicFit2D self) -> double"""
4033  return _IMP_algebra.ParabolicFit2D_get_c(self)
4034 
4035  def show(self, *args):
4036  r"""show(ParabolicFit2D self, _ostream out=std::cout)"""
4037  return _IMP_algebra.ParabolicFit2D_show(self, *args)
4038 
4039  def __str__(self):
4040  r"""__str__(ParabolicFit2D self) -> std::string"""
4041  return _IMP_algebra.ParabolicFit2D___str__(self)
4042 
4043  def __repr__(self):
4044  r"""__repr__(ParabolicFit2D self) -> std::string"""
4045  return _IMP_algebra.ParabolicFit2D___repr__(self)
4046 
4047  def _get_as_binary(self):
4048  r"""_get_as_binary(ParabolicFit2D self) -> PyObject *"""
4049  return _IMP_algebra.ParabolicFit2D__get_as_binary(self)
4050 
4051  def _set_from_binary(self, p):
4052  r"""_set_from_binary(ParabolicFit2D self, PyObject * p)"""
4053  return _IMP_algebra.ParabolicFit2D__set_from_binary(self, p)
4054 
4055  def __getstate__(self):
4056  p = self._get_as_binary()
4057  if len(self.__dict__) > 1:
4058  d = self.__dict__.copy()
4059  del d['this']
4060  p = (d, p)
4061  return p
4062 
4063  def __setstate__(self, p):
4064  if not hasattr(self, 'this'):
4065  self.__init__()
4066  if isinstance(p, tuple):
4067  d, p = p
4068  self.__dict__.update(d)
4069  return self._set_from_binary(p)
4070 
4071  __swig_destroy__ = _IMP_algebra.delete_ParabolicFit2D
4072 
4073 # Register ParabolicFit2D in _IMP_algebra:
4074 _IMP_algebra.ParabolicFit2D_swigregister(ParabolicFit2D)
4075 class Plane3D(IMP._GeometricPrimitive3D):
4076  r"""Proxy of C++ IMP::algebra::Plane3D class."""
4077 
4078  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4079 
4080  def __init__(self, *args):
4081  r"""
4082  __init__(Plane3D self) -> Plane3D
4083  __init__(Plane3D self, Vector3D point_on_plane, Vector3D normal_to_plane) -> Plane3D
4084  __init__(Plane3D self, double distance_to_plane, Vector3D normal_to_plane) -> Plane3D
4085  """
4086  _IMP_algebra.Plane3D_swiginit(self, _IMP_algebra.new_Plane3D(*args))
4087 
4088  def get_point_on_plane(self):
4089  r"""get_point_on_plane(Plane3D self) -> Vector3D"""
4090  return _IMP_algebra.Plane3D_get_point_on_plane(self)
4091 
4092  def get_normal(self):
4093  r"""get_normal(Plane3D self) -> Vector3D"""
4094  return _IMP_algebra.Plane3D_get_normal(self)
4095 
4096  def get_projected(self, p):
4097  r"""get_projected(Plane3D self, Vector3D p) -> Vector3D"""
4098  return _IMP_algebra.Plane3D_get_projected(self, p)
4099 
4100  def get_is_above(self, p):
4101  r"""get_is_above(Plane3D self, Vector3D p) -> bool"""
4102  return _IMP_algebra.Plane3D_get_is_above(self, p)
4103 
4104  def get_is_below(self, p):
4105  r"""get_is_below(Plane3D self, Vector3D p) -> bool"""
4106  return _IMP_algebra.Plane3D_get_is_below(self, p)
4107 
4108  def get_height(self, p):
4109  r"""get_height(Plane3D self, Vector3D p) -> double"""
4110  return _IMP_algebra.Plane3D_get_height(self, p)
4111 
4112  def show(self, *args):
4113  r"""show(Plane3D self, _ostream out=std::cout)"""
4114  return _IMP_algebra.Plane3D_show(self, *args)
4115 
4116  def get_opposite(self):
4117  r"""get_opposite(Plane3D self) -> Plane3D"""
4118  return _IMP_algebra.Plane3D_get_opposite(self)
4119 
4120  def get_distance_from_origin(self):
4121  r"""get_distance_from_origin(Plane3D self) -> double"""
4122  return _IMP_algebra.Plane3D_get_distance_from_origin(self)
4123 
4124  def __str__(self):
4125  r"""__str__(Plane3D self) -> std::string"""
4126  return _IMP_algebra.Plane3D___str__(self)
4127 
4128  def __repr__(self):
4129  r"""__repr__(Plane3D self) -> std::string"""
4130  return _IMP_algebra.Plane3D___repr__(self)
4131 
4132  def _get_as_binary(self):
4133  r"""_get_as_binary(Plane3D self) -> PyObject *"""
4134  return _IMP_algebra.Plane3D__get_as_binary(self)
4135 
4136  def _set_from_binary(self, p):
4137  r"""_set_from_binary(Plane3D self, PyObject * p)"""
4138  return _IMP_algebra.Plane3D__set_from_binary(self, p)
4139 
4140  def __getstate__(self):
4141  p = self._get_as_binary()
4142  if len(self.__dict__) > 1:
4143  d = self.__dict__.copy()
4144  del d['this']
4145  p = (d, p)
4146  return p
4147 
4148  def __setstate__(self, p):
4149  if not hasattr(self, 'this'):
4150  self.__init__()
4151  if isinstance(p, tuple):
4152  d, p = p
4153  self.__dict__.update(d)
4154  return self._set_from_binary(p)
4155 
4156  __swig_destroy__ = _IMP_algebra.delete_Plane3D
4157 
4158 # Register Plane3D in _IMP_algebra:
4159 _IMP_algebra.Plane3D_swigregister(Plane3D)
4160 
4161 def get_reflected(pln, p):
4162  r"""get_reflected(Plane3D pln, Vector3D p) -> Vector3D"""
4163  return _IMP_algebra.get_reflected(pln, p)
4164 
4165 def get_plane_3d_geometry(g):
4166  r"""get_plane_3d_geometry(Plane3D g) -> Plane3D"""
4167  return _IMP_algebra.get_plane_3d_geometry(g)
4168 class Reflection3D(IMP._GeometricPrimitive3D):
4169  r"""Proxy of C++ IMP::algebra::Reflection3D class."""
4170 
4171  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4172 
4173  def __init__(self, *args):
4174  r"""
4175  __init__(Reflection3D self) -> Reflection3D
4176  __init__(Reflection3D self, Plane3D pl) -> Reflection3D
4177  """
4178  _IMP_algebra.Reflection3D_swiginit(self, _IMP_algebra.new_Reflection3D(*args))
4179 
4180  def get_reflected(self, v):
4181  r"""get_reflected(Reflection3D self, Vector3D v) -> Vector3D"""
4182  return _IMP_algebra.Reflection3D_get_reflected(self, v)
4183 
4184  def show(self, *args):
4185  r"""show(Reflection3D self, _ostream out=std::cout)"""
4186  return _IMP_algebra.Reflection3D_show(self, *args)
4187 
4188  def __str__(self):
4189  r"""__str__(Reflection3D self) -> std::string"""
4190  return _IMP_algebra.Reflection3D___str__(self)
4191 
4192  def __repr__(self):
4193  r"""__repr__(Reflection3D self) -> std::string"""
4194  return _IMP_algebra.Reflection3D___repr__(self)
4195 
4196  def _get_as_binary(self):
4197  r"""_get_as_binary(Reflection3D self) -> PyObject *"""
4198  return _IMP_algebra.Reflection3D__get_as_binary(self)
4199 
4200  def _set_from_binary(self, p):
4201  r"""_set_from_binary(Reflection3D self, PyObject * p)"""
4202  return _IMP_algebra.Reflection3D__set_from_binary(self, p)
4203 
4204  def __getstate__(self):
4205  p = self._get_as_binary()
4206  if len(self.__dict__) > 1:
4207  d = self.__dict__.copy()
4208  del d['this']
4209  p = (d, p)
4210  return p
4211 
4212  def __setstate__(self, p):
4213  if not hasattr(self, 'this'):
4214  self.__init__()
4215  if isinstance(p, tuple):
4216  d, p = p
4217  self.__dict__.update(d)
4218  return self._set_from_binary(p)
4219 
4220  __swig_destroy__ = _IMP_algebra.delete_Reflection3D
4221 
4222 # Register Reflection3D in _IMP_algebra:
4223 _IMP_algebra.Reflection3D_swigregister(Reflection3D)
4224 class Cylinder3D(IMP._GeometricPrimitive3D):
4225  r"""Proxy of C++ IMP::algebra::Cylinder3D class."""
4226 
4227  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4228 
4229  def __init__(self, *args):
4230  r"""
4231  __init__(Cylinder3D self) -> Cylinder3D
4232  __init__(Cylinder3D self, Segment3D s, double radius) -> Cylinder3D
4233  """
4234  _IMP_algebra.Cylinder3D_swiginit(self, _IMP_algebra.new_Cylinder3D(*args))
4235 
4236  def get_radius(self):
4237  r"""get_radius(Cylinder3D self) -> double"""
4238  return _IMP_algebra.Cylinder3D_get_radius(self)
4239 
4240  def get_segment(self):
4241  r"""get_segment(Cylinder3D self) -> Segment3D"""
4242  return _IMP_algebra.Cylinder3D_get_segment(self)
4243 
4244  def get_surface_point_at(self, relative_height, angle):
4245  r"""get_surface_point_at(Cylinder3D self, double relative_height, double angle) -> Vector3D"""
4246  return _IMP_algebra.Cylinder3D_get_surface_point_at(self, relative_height, angle)
4247 
4248  def get_inner_point_at(self, relative_height, relative_radius, angle):
4249  r"""get_inner_point_at(Cylinder3D self, double relative_height, double relative_radius, double angle) -> Vector3D"""
4250  return _IMP_algebra.Cylinder3D_get_inner_point_at(self, relative_height, relative_radius, angle)
4251 
4252  def show(self, *args):
4253  r"""show(Cylinder3D self, _ostream out=std::cout)"""
4254  return _IMP_algebra.Cylinder3D_show(self, *args)
4255 
4256  def __str__(self):
4257  r"""__str__(Cylinder3D self) -> std::string"""
4258  return _IMP_algebra.Cylinder3D___str__(self)
4259 
4260  def __repr__(self):
4261  r"""__repr__(Cylinder3D self) -> std::string"""
4262  return _IMP_algebra.Cylinder3D___repr__(self)
4263 
4264  def _get_as_binary(self):
4265  r"""_get_as_binary(Cylinder3D self) -> PyObject *"""
4266  return _IMP_algebra.Cylinder3D__get_as_binary(self)
4267 
4268  def _set_from_binary(self, p):
4269  r"""_set_from_binary(Cylinder3D self, PyObject * p)"""
4270  return _IMP_algebra.Cylinder3D__set_from_binary(self, p)
4271 
4272  def __getstate__(self):
4273  p = self._get_as_binary()
4274  if len(self.__dict__) > 1:
4275  d = self.__dict__.copy()
4276  del d['this']
4277  p = (d, p)
4278  return p
4279 
4280  def __setstate__(self, p):
4281  if not hasattr(self, 'this'):
4282  self.__init__()
4283  if isinstance(p, tuple):
4284  d, p = p
4285  self.__dict__.update(d)
4286  return self._set_from_binary(p)
4287 
4288  __swig_destroy__ = _IMP_algebra.delete_Cylinder3D
4289 
4290 # Register Cylinder3D in _IMP_algebra:
4291 _IMP_algebra.Cylinder3D_swigregister(Cylinder3D)
4292 
4293 def get_cylinder_3d_geometry(g):
4294  r"""get_cylinder_3d_geometry(Cylinder3D g) -> Cylinder3D"""
4295  return _IMP_algebra.get_cylinder_3d_geometry(g)
4296 class Ellipsoid3D(IMP._GeometricPrimitive3D):
4297  r"""Proxy of C++ IMP::algebra::Ellipsoid3D class."""
4298 
4299  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4300 
4301  def __init__(self, *args):
4302  r"""
4303  __init__(Ellipsoid3D self) -> Ellipsoid3D
4304  __init__(Ellipsoid3D self, ReferenceFrame3D rf, Vector3D radii) -> Ellipsoid3D
4305  __init__(Ellipsoid3D self, Vector3D center, double radius_x, double radius_y, double radius_z, Rotation3D rot) -> Ellipsoid3D
4306  """
4307  _IMP_algebra.Ellipsoid3D_swiginit(self, _IMP_algebra.new_Ellipsoid3D(*args))
4308 
4309  def get_radii(self):
4310  r"""get_radii(Ellipsoid3D self) -> Vector3D"""
4311  return _IMP_algebra.Ellipsoid3D_get_radii(self)
4312 
4313  def get_reference_frame(self):
4314  r"""get_reference_frame(Ellipsoid3D self) -> ReferenceFrame3D"""
4315  return _IMP_algebra.Ellipsoid3D_get_reference_frame(self)
4316 
4317  def show(self, *args):
4318  r"""show(Ellipsoid3D self, _ostream out=std::cout)"""
4319  return _IMP_algebra.Ellipsoid3D_show(self, *args)
4320 
4321  def __str__(self):
4322  r"""__str__(Ellipsoid3D self) -> std::string"""
4323  return _IMP_algebra.Ellipsoid3D___str__(self)
4324 
4325  def __repr__(self):
4326  r"""__repr__(Ellipsoid3D self) -> std::string"""
4327  return _IMP_algebra.Ellipsoid3D___repr__(self)
4328 
4329  def _get_as_binary(self):
4330  r"""_get_as_binary(Ellipsoid3D self) -> PyObject *"""
4331  return _IMP_algebra.Ellipsoid3D__get_as_binary(self)
4332 
4333  def _set_from_binary(self, p):
4334  r"""_set_from_binary(Ellipsoid3D self, PyObject * p)"""
4335  return _IMP_algebra.Ellipsoid3D__set_from_binary(self, p)
4336 
4337  def __getstate__(self):
4338  p = self._get_as_binary()
4339  if len(self.__dict__) > 1:
4340  d = self.__dict__.copy()
4341  del d['this']
4342  p = (d, p)
4343  return p
4344 
4345  def __setstate__(self, p):
4346  if not hasattr(self, 'this'):
4347  self.__init__()
4348  if isinstance(p, tuple):
4349  d, p = p
4350  self.__dict__.update(d)
4351  return self._set_from_binary(p)
4352 
4353  __swig_destroy__ = _IMP_algebra.delete_Ellipsoid3D
4354 
4355 # Register Ellipsoid3D in _IMP_algebra:
4356 _IMP_algebra.Ellipsoid3D_swigregister(Ellipsoid3D)
4357 
4358 def get_ellipsoid_3d_geometry(g):
4359  r"""get_ellipsoid_3d_geometry(Ellipsoid3D g) -> Ellipsoid3D"""
4360  return _IMP_algebra.get_ellipsoid_3d_geometry(g)
4361 class ConnollySurfacePoint(object):
4362  r"""Proxy of C++ IMP::algebra::ConnollySurfacePoint class."""
4363 
4364  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4365 
4366  def __init__(self, *args):
4367  r"""
4368  __init__(ConnollySurfacePoint self) -> ConnollySurfacePoint
4369  __init__(ConnollySurfacePoint self, int a0, int a1, int a2, Vector3D sp, float a, Vector3D n) -> ConnollySurfacePoint
4370  """
4371  _IMP_algebra.ConnollySurfacePoint_swiginit(self, _IMP_algebra.new_ConnollySurfacePoint(*args))
4372 
4373  def get_atom(self, i):
4374  r"""get_atom(ConnollySurfacePoint self, unsigned int i) -> int"""
4375  return _IMP_algebra.ConnollySurfacePoint_get_atom(self, i)
4376 
4377  def get_surface_point(self):
4378  r"""get_surface_point(ConnollySurfacePoint self) -> Vector3D"""
4379  return _IMP_algebra.ConnollySurfacePoint_get_surface_point(self)
4380 
4381  def get_area(self):
4382  r"""get_area(ConnollySurfacePoint self) -> double"""
4383  return _IMP_algebra.ConnollySurfacePoint_get_area(self)
4384 
4385  def get_normal(self):
4386  r"""get_normal(ConnollySurfacePoint self) -> Vector3D"""
4387  return _IMP_algebra.ConnollySurfacePoint_get_normal(self)
4388 
4389  def show(self, *args):
4390  r"""show(ConnollySurfacePoint self, _ostream out=std::cout)"""
4391  return _IMP_algebra.ConnollySurfacePoint_show(self, *args)
4392 
4393  def __str__(self):
4394  r"""__str__(ConnollySurfacePoint self) -> std::string"""
4395  return _IMP_algebra.ConnollySurfacePoint___str__(self)
4396 
4397  def __repr__(self):
4398  r"""__repr__(ConnollySurfacePoint self) -> std::string"""
4399  return _IMP_algebra.ConnollySurfacePoint___repr__(self)
4400 
4401  def _get_as_binary(self):
4402  r"""_get_as_binary(ConnollySurfacePoint self) -> PyObject *"""
4403  return _IMP_algebra.ConnollySurfacePoint__get_as_binary(self)
4404 
4405  def _set_from_binary(self, p):
4406  r"""_set_from_binary(ConnollySurfacePoint self, PyObject * p)"""
4407  return _IMP_algebra.ConnollySurfacePoint__set_from_binary(self, p)
4408 
4409  def __getstate__(self):
4410  p = self._get_as_binary()
4411  if len(self.__dict__) > 1:
4412  d = self.__dict__.copy()
4413  del d['this']
4414  p = (d, p)
4415  return p
4416 
4417  def __setstate__(self, p):
4418  if not hasattr(self, 'this'):
4419  self.__init__()
4420  if isinstance(p, tuple):
4421  d, p = p
4422  self.__dict__.update(d)
4423  return self._set_from_binary(p)
4424 
4425  __swig_destroy__ = _IMP_algebra.delete_ConnollySurfacePoint
4426 
4427 # Register ConnollySurfacePoint in _IMP_algebra:
4428 _IMP_algebra.ConnollySurfacePoint_swigregister(ConnollySurfacePoint)
4429 
4430 def get_connolly_surface(spheres, density, probe_radius):
4431  r"""get_connolly_surface(IMP::algebra::Sphere3Ds const & spheres, double density, double probe_radius) -> IMP::algebra::ConnollySurfacePoints"""
4432  return _IMP_algebra.get_connolly_surface(spheres, density, probe_radius)
4433 class LogEmbedding3D(object):
4434  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 3 > class."""
4435 
4436  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4437 
4438  def __init__(self, *args):
4439  r"""
4440  __init__(LogEmbedding3D self, Vector3D origin, Vector3D cell, Vector3D base) -> LogEmbedding3D
4441  __init__(LogEmbedding3D self, BoundingBox3D bb, Vector3D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding3D
4442  __init__(LogEmbedding3D self, Vector3D arg2, Vector3D arg3) -> LogEmbedding3D
4443  __init__(LogEmbedding3D self) -> LogEmbedding3D
4444  """
4445  _IMP_algebra.LogEmbedding3D_swiginit(self, _IMP_algebra.new_LogEmbedding3D(*args))
4446 
4447  def set_origin(self, o):
4448  r"""set_origin(LogEmbedding3D self, Vector3D o)"""
4449  return _IMP_algebra.LogEmbedding3D_set_origin(self, o)
4450 
4451  def get_origin(self):
4452  r"""get_origin(LogEmbedding3D self) -> Vector3D"""
4453  return _IMP_algebra.LogEmbedding3D_get_origin(self)
4454 
4455  def get_dimension(self):
4456  r"""get_dimension(LogEmbedding3D self) -> unsigned int"""
4457  return _IMP_algebra.LogEmbedding3D_get_dimension(self)
4458 
4459  def set_unit_cell(self, *args):
4460  r"""
4461  set_unit_cell(LogEmbedding3D self, Vector3D o, Vector3D base)
4462  set_unit_cell(LogEmbedding3D self, Vector3D o)
4463  """
4464  return _IMP_algebra.LogEmbedding3D_set_unit_cell(self, *args)
4465 
4466  def get_unit_cell(self):
4467  r"""get_unit_cell(LogEmbedding3D self) -> Vector3D"""
4468  return _IMP_algebra.LogEmbedding3D_get_unit_cell(self)
4469 
4470  def get_extended_index(self, o):
4471  r"""get_extended_index(LogEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
4472  return _IMP_algebra.LogEmbedding3D_get_extended_index(self, o)
4473 
4474  def get_index(self, o):
4475  r"""get_index(LogEmbedding3D self, Vector3D o) -> GridIndex3D"""
4476  return _IMP_algebra.LogEmbedding3D_get_index(self, o)
4477 
4478  def get_center(self, *args):
4479  r"""
4480  get_center(LogEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
4481  get_center(LogEmbedding3D self, GridIndex3D ei) -> Vector3D
4482  """
4483  return _IMP_algebra.LogEmbedding3D_get_center(self, *args)
4484 
4485  def get_bounding_box(self, *args):
4486  r"""
4487  get_bounding_box(LogEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
4488  get_bounding_box(LogEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
4489  """
4490  return _IMP_algebra.LogEmbedding3D_get_bounding_box(self, *args)
4491 
4492  def show(self, *args):
4493  r"""show(LogEmbedding3D self, _ostream out=std::cout)"""
4494  return _IMP_algebra.LogEmbedding3D_show(self, *args)
4495 
4496  def __str__(self):
4497  r"""__str__(LogEmbedding3D self) -> std::string"""
4498  return _IMP_algebra.LogEmbedding3D___str__(self)
4499 
4500  def __repr__(self):
4501  r"""__repr__(LogEmbedding3D self) -> std::string"""
4502  return _IMP_algebra.LogEmbedding3D___repr__(self)
4503 
4504  def __cmp__(self, arg2):
4505  r"""__cmp__(LogEmbedding3D self, LogEmbedding3D arg2) -> int"""
4506  return _IMP_algebra.LogEmbedding3D___cmp__(self, arg2)
4507 
4508  def __eq__(self, arg2):
4509  r"""__eq__(LogEmbedding3D self, LogEmbedding3D arg2) -> bool"""
4510  return _IMP_algebra.LogEmbedding3D___eq__(self, arg2)
4511 
4512  def _get_as_binary(self):
4513  r"""_get_as_binary(LogEmbedding3D self) -> PyObject *"""
4514  return _IMP_algebra.LogEmbedding3D__get_as_binary(self)
4515 
4516  def _set_from_binary(self, p):
4517  r"""_set_from_binary(LogEmbedding3D self, PyObject * p)"""
4518  return _IMP_algebra.LogEmbedding3D__set_from_binary(self, p)
4519 
4520  def __getstate__(self):
4521  p = self._get_as_binary()
4522  if len(self.__dict__) > 1:
4523  d = self.__dict__.copy()
4524  del d['this']
4525  p = (d, p)
4526  return p
4527 
4528  def __setstate__(self, p):
4529  if not hasattr(self, 'this'):
4530  self.__init__()
4531  if isinstance(p, tuple):
4532  d, p = p
4533  self.__dict__.update(d)
4534  return self._set_from_binary(p)
4535 
4536  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding3D
4537 
4538 # Register LogEmbedding3D in _IMP_algebra:
4539 _IMP_algebra.LogEmbedding3D_swigregister(LogEmbedding3D)
4540 class LogEmbeddingKD(object):
4541  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< -1 > class."""
4542 
4543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4544 
4545  def __init__(self, *args):
4546  r"""
4547  __init__(LogEmbeddingKD self, VectorKD origin, VectorKD cell, VectorKD base) -> LogEmbeddingKD
4548  __init__(LogEmbeddingKD self, BoundingBoxKD bb, VectorKD bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbeddingKD
4549  __init__(LogEmbeddingKD self, VectorKD arg2, VectorKD arg3) -> LogEmbeddingKD
4550  __init__(LogEmbeddingKD self) -> LogEmbeddingKD
4551  """
4552  _IMP_algebra.LogEmbeddingKD_swiginit(self, _IMP_algebra.new_LogEmbeddingKD(*args))
4553 
4554  def set_origin(self, o):
4555  r"""set_origin(LogEmbeddingKD self, VectorKD o)"""
4556  return _IMP_algebra.LogEmbeddingKD_set_origin(self, o)
4557 
4558  def get_origin(self):
4559  r"""get_origin(LogEmbeddingKD self) -> VectorKD"""
4560  return _IMP_algebra.LogEmbeddingKD_get_origin(self)
4561 
4562  def get_dimension(self):
4563  r"""get_dimension(LogEmbeddingKD self) -> unsigned int"""
4564  return _IMP_algebra.LogEmbeddingKD_get_dimension(self)
4565 
4566  def set_unit_cell(self, *args):
4567  r"""
4568  set_unit_cell(LogEmbeddingKD self, VectorKD o, VectorKD base)
4569  set_unit_cell(LogEmbeddingKD self, VectorKD o)
4570  """
4571  return _IMP_algebra.LogEmbeddingKD_set_unit_cell(self, *args)
4572 
4573  def get_unit_cell(self):
4574  r"""get_unit_cell(LogEmbeddingKD self) -> VectorKD"""
4575  return _IMP_algebra.LogEmbeddingKD_get_unit_cell(self)
4576 
4577  def get_extended_index(self, o):
4578  r"""get_extended_index(LogEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
4579  return _IMP_algebra.LogEmbeddingKD_get_extended_index(self, o)
4580 
4581  def get_index(self, o):
4582  r"""get_index(LogEmbeddingKD self, VectorKD o) -> GridIndexKD"""
4583  return _IMP_algebra.LogEmbeddingKD_get_index(self, o)
4584 
4585  def get_center(self, *args):
4586  r"""
4587  get_center(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
4588  get_center(LogEmbeddingKD self, GridIndexKD ei) -> VectorKD
4589  """
4590  return _IMP_algebra.LogEmbeddingKD_get_center(self, *args)
4591 
4592  def get_bounding_box(self, *args):
4593  r"""
4594  get_bounding_box(LogEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
4595  get_bounding_box(LogEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
4596  """
4597  return _IMP_algebra.LogEmbeddingKD_get_bounding_box(self, *args)
4598 
4599  def show(self, *args):
4600  r"""show(LogEmbeddingKD self, _ostream out=std::cout)"""
4601  return _IMP_algebra.LogEmbeddingKD_show(self, *args)
4602 
4603  def __str__(self):
4604  r"""__str__(LogEmbeddingKD self) -> std::string"""
4605  return _IMP_algebra.LogEmbeddingKD___str__(self)
4606 
4607  def __repr__(self):
4608  r"""__repr__(LogEmbeddingKD self) -> std::string"""
4609  return _IMP_algebra.LogEmbeddingKD___repr__(self)
4610 
4611  def __cmp__(self, arg2):
4612  r"""__cmp__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> int"""
4613  return _IMP_algebra.LogEmbeddingKD___cmp__(self, arg2)
4614 
4615  def __eq__(self, arg2):
4616  r"""__eq__(LogEmbeddingKD self, LogEmbeddingKD arg2) -> bool"""
4617  return _IMP_algebra.LogEmbeddingKD___eq__(self, arg2)
4618 
4619  def _get_as_binary(self):
4620  r"""_get_as_binary(LogEmbeddingKD self) -> PyObject *"""
4621  return _IMP_algebra.LogEmbeddingKD__get_as_binary(self)
4622 
4623  def _set_from_binary(self, p):
4624  r"""_set_from_binary(LogEmbeddingKD self, PyObject * p)"""
4625  return _IMP_algebra.LogEmbeddingKD__set_from_binary(self, p)
4626 
4627  def __getstate__(self):
4628  p = self._get_as_binary()
4629  if len(self.__dict__) > 1:
4630  d = self.__dict__.copy()
4631  del d['this']
4632  p = (d, p)
4633  return p
4634 
4635  def __setstate__(self, p):
4636  if not hasattr(self, 'this'):
4637  self.__init__()
4638  if isinstance(p, tuple):
4639  d, p = p
4640  self.__dict__.update(d)
4641  return self._set_from_binary(p)
4642 
4643  __swig_destroy__ = _IMP_algebra.delete_LogEmbeddingKD
4644 
4645 # Register LogEmbeddingKD in _IMP_algebra:
4646 _IMP_algebra.LogEmbeddingKD_swigregister(LogEmbeddingKD)
4647 class DenseFloatLogGridKD(object):
4648  r"""Proxy of C++ IMP::algebra::DenseFloatLogGridKD class."""
4649 
4650  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4651 
4652  def __init__(self, sz, le):
4653  r"""__init__(DenseFloatLogGridKD self, IMP::Ints const & sz, LogEmbeddingKD le) -> DenseFloatLogGridKD"""
4654  _IMP_algebra.DenseFloatLogGridKD_swiginit(self, _IMP_algebra.new_DenseFloatLogGridKD(sz, le))
4655 
4656  def add_voxel(self, i, q):
4657  r"""add_voxel(DenseFloatLogGridKD self, ExtendedGridIndexKD i, float const & q) -> GridIndexKD"""
4658  return _IMP_algebra.DenseFloatLogGridKD_add_voxel(self, i, q)
4659 
4660  def __getitem__(self, *args):
4661  r"""
4662  __getitem__(DenseFloatLogGridKD self, GridIndexKD i) -> float
4663  __getitem__(DenseFloatLogGridKD self, VectorKD i) -> float
4664  """
4665  return _IMP_algebra.DenseFloatLogGridKD___getitem__(self, *args)
4666 
4667  def __setitem__(self, *args):
4668  r"""
4669  __setitem__(DenseFloatLogGridKD self, GridIndexKD i, float const & q)
4670  __setitem__(DenseFloatLogGridKD self, VectorKD i, float const & q)
4671  """
4672  return _IMP_algebra.DenseFloatLogGridKD___setitem__(self, *args)
4673 
4674  def get_bounding_box(self, *args):
4675  r"""
4676  get_bounding_box(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
4677  get_bounding_box(DenseFloatLogGridKD self) -> BoundingBoxKD
4678  """
4679  return _IMP_algebra.DenseFloatLogGridKD_get_bounding_box(self, *args)
4680 
4681  def get_indexes(self, *args):
4682  r"""
4683  get_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
4684  get_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
4685  """
4686  return _IMP_algebra.DenseFloatLogGridKD_get_indexes(self, *args)
4687 
4688  def get_all_indexes(self):
4689  r"""get_all_indexes(DenseFloatLogGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
4690  return _IMP_algebra.DenseFloatLogGridKD_get_all_indexes(self)
4691 
4692  def get_extended_indexes(self, *args):
4693  r"""
4694  get_extended_indexes(DenseFloatLogGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
4695  get_extended_indexes(DenseFloatLogGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
4696  """
4697  return _IMP_algebra.DenseFloatLogGridKD_get_extended_indexes(self, *args)
4698 
4699  def get_center(self, *args):
4700  r"""
4701  get_center(DenseFloatLogGridKD self, ExtendedGridIndexKD ei) -> VectorKD
4702  get_center(DenseFloatLogGridKD self, GridIndexKD ei) -> VectorKD
4703  """
4704  return _IMP_algebra.DenseFloatLogGridKD_get_center(self, *args)
4705 
4706  def get_extended_index(self, v):
4707  r"""get_extended_index(DenseFloatLogGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
4708  return _IMP_algebra.DenseFloatLogGridKD_get_extended_index(self, v)
4709 
4710  def get_index(self, v):
4711  r"""get_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
4712  return _IMP_algebra.DenseFloatLogGridKD_get_index(self, v)
4713 
4714  def get_origin(self):
4715  r"""get_origin(DenseFloatLogGridKD self) -> VectorKD"""
4716  return _IMP_algebra.DenseFloatLogGridKD_get_origin(self)
4717 
4718  def get_dimension(self):
4719  r"""get_dimension(DenseFloatLogGridKD self) -> unsigned int"""
4720  return _IMP_algebra.DenseFloatLogGridKD_get_dimension(self)
4721 
4722  def get_unit_cell(self):
4723  r"""get_unit_cell(DenseFloatLogGridKD self) -> VectorKD"""
4724  return _IMP_algebra.DenseFloatLogGridKD_get_unit_cell(self)
4725 
4726  def get_has_index(self, v):
4727  r"""get_has_index(DenseFloatLogGridKD self, ExtendedGridIndexKD v) -> bool"""
4728  return _IMP_algebra.DenseFloatLogGridKD_get_has_index(self, v)
4729 
4730  def __str__(self):
4731  r"""__str__(DenseFloatLogGridKD self) -> std::string"""
4732  return _IMP_algebra.DenseFloatLogGridKD___str__(self)
4733 
4734  def __repr__(self):
4735  r"""__repr__(DenseFloatLogGridKD self) -> std::string"""
4736  return _IMP_algebra.DenseFloatLogGridKD___repr__(self)
4737 
4738  def show(self, *args):
4739  r"""show(DenseFloatLogGridKD self, _ostream out=std::cout)"""
4740  return _IMP_algebra.DenseFloatLogGridKD_show(self, *args)
4741  __swig_destroy__ = _IMP_algebra.delete_DenseFloatLogGridKD
4742 
4743 # Register DenseFloatLogGridKD in _IMP_algebra:
4744 _IMP_algebra.DenseFloatLogGridKD_swigregister(DenseFloatLogGridKD)
4745 class DenseIntLogGrid3D(object):
4746  r"""Proxy of C++ IMP::algebra::DenseIntLogGrid3D class."""
4747 
4748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4749 
4750  def __init__(self, sz, le):
4751  r"""__init__(DenseIntLogGrid3D self, IMP::Ints const & sz, LogEmbedding3D le) -> DenseIntLogGrid3D"""
4752  _IMP_algebra.DenseIntLogGrid3D_swiginit(self, _IMP_algebra.new_DenseIntLogGrid3D(sz, le))
4753 
4754  def add_voxel(self, i, q):
4755  r"""add_voxel(DenseIntLogGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
4756  return _IMP_algebra.DenseIntLogGrid3D_add_voxel(self, i, q)
4757 
4758  def __getitem__(self, *args):
4759  r"""
4760  __getitem__(DenseIntLogGrid3D self, GridIndex3D i) -> int
4761  __getitem__(DenseIntLogGrid3D self, Vector3D i) -> int
4762  """
4763  return _IMP_algebra.DenseIntLogGrid3D___getitem__(self, *args)
4764 
4765  def __setitem__(self, *args):
4766  r"""
4767  __setitem__(DenseIntLogGrid3D self, GridIndex3D i, int const & q)
4768  __setitem__(DenseIntLogGrid3D self, Vector3D i, int const & q)
4769  """
4770  return _IMP_algebra.DenseIntLogGrid3D___setitem__(self, *args)
4771 
4772  def get_bounding_box(self, *args):
4773  r"""
4774  get_bounding_box(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
4775  get_bounding_box(DenseIntLogGrid3D self) -> BoundingBox3D
4776  """
4777  return _IMP_algebra.DenseIntLogGrid3D_get_bounding_box(self, *args)
4778 
4779  def get_indexes(self, *args):
4780  r"""
4781  get_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4782  get_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4783  """
4784  return _IMP_algebra.DenseIntLogGrid3D_get_indexes(self, *args)
4785 
4786  def get_all_indexes(self):
4787  r"""get_all_indexes(DenseIntLogGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
4788  return _IMP_algebra.DenseIntLogGrid3D_get_all_indexes(self)
4789 
4790  def get_extended_indexes(self, *args):
4791  r"""
4792  get_extended_indexes(DenseIntLogGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4793  get_extended_indexes(DenseIntLogGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4794  """
4795  return _IMP_algebra.DenseIntLogGrid3D_get_extended_indexes(self, *args)
4796 
4797  def get_center(self, *args):
4798  r"""
4799  get_center(DenseIntLogGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
4800  get_center(DenseIntLogGrid3D self, GridIndex3D ei) -> Vector3D
4801  """
4802  return _IMP_algebra.DenseIntLogGrid3D_get_center(self, *args)
4803 
4804  def get_extended_index(self, v):
4805  r"""get_extended_index(DenseIntLogGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
4806  return _IMP_algebra.DenseIntLogGrid3D_get_extended_index(self, v)
4807 
4808  def get_index(self, v):
4809  r"""get_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
4810  return _IMP_algebra.DenseIntLogGrid3D_get_index(self, v)
4811 
4812  def get_origin(self):
4813  r"""get_origin(DenseIntLogGrid3D self) -> Vector3D"""
4814  return _IMP_algebra.DenseIntLogGrid3D_get_origin(self)
4815 
4816  def get_dimension(self):
4817  r"""get_dimension(DenseIntLogGrid3D self) -> unsigned int"""
4818  return _IMP_algebra.DenseIntLogGrid3D_get_dimension(self)
4819 
4820  def get_unit_cell(self):
4821  r"""get_unit_cell(DenseIntLogGrid3D self) -> Vector3D"""
4822  return _IMP_algebra.DenseIntLogGrid3D_get_unit_cell(self)
4823 
4824  def get_has_index(self, v):
4825  r"""get_has_index(DenseIntLogGrid3D self, ExtendedGridIndex3D v) -> bool"""
4826  return _IMP_algebra.DenseIntLogGrid3D_get_has_index(self, v)
4827 
4828  def __str__(self):
4829  r"""__str__(DenseIntLogGrid3D self) -> std::string"""
4830  return _IMP_algebra.DenseIntLogGrid3D___str__(self)
4831 
4832  def __repr__(self):
4833  r"""__repr__(DenseIntLogGrid3D self) -> std::string"""
4834  return _IMP_algebra.DenseIntLogGrid3D___repr__(self)
4835 
4836  def show(self, *args):
4837  r"""show(DenseIntLogGrid3D self, _ostream out=std::cout)"""
4838  return _IMP_algebra.DenseIntLogGrid3D_show(self, *args)
4839  __swig_destroy__ = _IMP_algebra.delete_DenseIntLogGrid3D
4840 
4841 # Register DenseIntLogGrid3D in _IMP_algebra:
4842 _IMP_algebra.DenseIntLogGrid3D_swigregister(DenseIntLogGrid3D)
4843 class DenseDoubleGrid3D(object):
4844  r"""Proxy of C++ IMP::algebra::DenseGrid3D< double > class."""
4845 
4846  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4847 
4848  def __init__(self, *args):
4849  r"""
4850  __init__(DenseDoubleGrid3D self, double side, BoundingBox3D bb, double _def=double()) -> DenseDoubleGrid3D
4851  __init__(DenseDoubleGrid3D self) -> DenseDoubleGrid3D
4852  """
4853  _IMP_algebra.DenseDoubleGrid3D_swiginit(self, _IMP_algebra.new_DenseDoubleGrid3D(*args))
4854 
4855  def add_voxel(self, i, q):
4856  r"""add_voxel(DenseDoubleGrid3D self, ExtendedGridIndex3D i, double const & q) -> GridIndex3D"""
4857  return _IMP_algebra.DenseDoubleGrid3D_add_voxel(self, i, q)
4858 
4859  def __getitem__(self, *args):
4860  r"""
4861  __getitem__(DenseDoubleGrid3D self, GridIndex3D i) -> double
4862  __getitem__(DenseDoubleGrid3D self, Vector3D i) -> double
4863  """
4864  return _IMP_algebra.DenseDoubleGrid3D___getitem__(self, *args)
4865 
4866  def __setitem__(self, *args):
4867  r"""
4868  __setitem__(DenseDoubleGrid3D self, GridIndex3D i, double const & q)
4869  __setitem__(DenseDoubleGrid3D self, Vector3D i, double const & q)
4870  """
4871  return _IMP_algebra.DenseDoubleGrid3D___setitem__(self, *args)
4872 
4873  def get_bounding_box(self, *args):
4874  r"""
4875  get_bounding_box(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
4876  get_bounding_box(DenseDoubleGrid3D self) -> BoundingBox3D
4877  """
4878  return _IMP_algebra.DenseDoubleGrid3D_get_bounding_box(self, *args)
4879 
4880  def get_indexes(self, *args):
4881  r"""
4882  get_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4883  get_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4884  """
4885  return _IMP_algebra.DenseDoubleGrid3D_get_indexes(self, *args)
4886 
4887  def get_all_indexes(self):
4888  r"""get_all_indexes(DenseDoubleGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
4889  return _IMP_algebra.DenseDoubleGrid3D_get_all_indexes(self)
4890 
4891  def get_extended_indexes(self, *args):
4892  r"""
4893  get_extended_indexes(DenseDoubleGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4894  get_extended_indexes(DenseDoubleGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4895  """
4896  return _IMP_algebra.DenseDoubleGrid3D_get_extended_indexes(self, *args)
4897 
4898  def get_center(self, *args):
4899  r"""
4900  get_center(DenseDoubleGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
4901  get_center(DenseDoubleGrid3D self, GridIndex3D ei) -> Vector3D
4902  """
4903  return _IMP_algebra.DenseDoubleGrid3D_get_center(self, *args)
4904 
4905  def get_extended_index(self, v):
4906  r"""get_extended_index(DenseDoubleGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
4907  return _IMP_algebra.DenseDoubleGrid3D_get_extended_index(self, v)
4908 
4909  def get_index(self, v):
4910  r"""get_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
4911  return _IMP_algebra.DenseDoubleGrid3D_get_index(self, v)
4912 
4913  def get_origin(self):
4914  r"""get_origin(DenseDoubleGrid3D self) -> Vector3D"""
4915  return _IMP_algebra.DenseDoubleGrid3D_get_origin(self)
4916 
4917  def get_dimension(self):
4918  r"""get_dimension(DenseDoubleGrid3D self) -> unsigned int"""
4919  return _IMP_algebra.DenseDoubleGrid3D_get_dimension(self)
4920 
4921  def get_unit_cell(self):
4922  r"""get_unit_cell(DenseDoubleGrid3D self) -> Vector3D"""
4923  return _IMP_algebra.DenseDoubleGrid3D_get_unit_cell(self)
4924 
4925  def get_has_index(self, v):
4926  r"""get_has_index(DenseDoubleGrid3D self, ExtendedGridIndex3D v) -> bool"""
4927  return _IMP_algebra.DenseDoubleGrid3D_get_has_index(self, v)
4928 
4929  def __str__(self):
4930  r"""__str__(DenseDoubleGrid3D self) -> std::string"""
4931  return _IMP_algebra.DenseDoubleGrid3D___str__(self)
4932 
4933  def __repr__(self):
4934  r"""__repr__(DenseDoubleGrid3D self) -> std::string"""
4935  return _IMP_algebra.DenseDoubleGrid3D___repr__(self)
4936 
4937  def show(self, *args):
4938  r"""show(DenseDoubleGrid3D self, _ostream out=std::cout)"""
4939  return _IMP_algebra.DenseDoubleGrid3D_show(self, *args)
4940  __swig_destroy__ = _IMP_algebra.delete_DenseDoubleGrid3D
4941 
4942 # Register DenseDoubleGrid3D in _IMP_algebra:
4943 _IMP_algebra.DenseDoubleGrid3D_swigregister(DenseDoubleGrid3D)
4944 class DenseFloatGrid3D(object):
4945  r"""Proxy of C++ IMP::algebra::DenseGrid3D< float > class."""
4946 
4947  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4948 
4949  def __init__(self, *args):
4950  r"""
4951  __init__(DenseFloatGrid3D self, double side, BoundingBox3D bb, float _def=float()) -> DenseFloatGrid3D
4952  __init__(DenseFloatGrid3D self) -> DenseFloatGrid3D
4953  """
4954  _IMP_algebra.DenseFloatGrid3D_swiginit(self, _IMP_algebra.new_DenseFloatGrid3D(*args))
4955 
4956  def add_voxel(self, i, q):
4957  r"""add_voxel(DenseFloatGrid3D self, ExtendedGridIndex3D i, float const & q) -> GridIndex3D"""
4958  return _IMP_algebra.DenseFloatGrid3D_add_voxel(self, i, q)
4959 
4960  def __getitem__(self, *args):
4961  r"""
4962  __getitem__(DenseFloatGrid3D self, GridIndex3D i) -> float
4963  __getitem__(DenseFloatGrid3D self, Vector3D i) -> float
4964  """
4965  return _IMP_algebra.DenseFloatGrid3D___getitem__(self, *args)
4966 
4967  def __setitem__(self, *args):
4968  r"""
4969  __setitem__(DenseFloatGrid3D self, GridIndex3D i, float const & q)
4970  __setitem__(DenseFloatGrid3D self, Vector3D i, float const & q)
4971  """
4972  return _IMP_algebra.DenseFloatGrid3D___setitem__(self, *args)
4973 
4974  def get_bounding_box(self, *args):
4975  r"""
4976  get_bounding_box(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
4977  get_bounding_box(DenseFloatGrid3D self) -> BoundingBox3D
4978  """
4979  return _IMP_algebra.DenseFloatGrid3D_get_bounding_box(self, *args)
4980 
4981  def get_indexes(self, *args):
4982  r"""
4983  get_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4984  get_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
4985  """
4986  return _IMP_algebra.DenseFloatGrid3D_get_indexes(self, *args)
4987 
4988  def get_all_indexes(self):
4989  r"""get_all_indexes(DenseFloatGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
4990  return _IMP_algebra.DenseFloatGrid3D_get_all_indexes(self)
4991 
4992  def get_extended_indexes(self, *args):
4993  r"""
4994  get_extended_indexes(DenseFloatGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4995  get_extended_indexes(DenseFloatGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
4996  """
4997  return _IMP_algebra.DenseFloatGrid3D_get_extended_indexes(self, *args)
4998 
4999  def get_center(self, *args):
5000  r"""
5001  get_center(DenseFloatGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
5002  get_center(DenseFloatGrid3D self, GridIndex3D ei) -> Vector3D
5003  """
5004  return _IMP_algebra.DenseFloatGrid3D_get_center(self, *args)
5005 
5006  def get_extended_index(self, v):
5007  r"""get_extended_index(DenseFloatGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
5008  return _IMP_algebra.DenseFloatGrid3D_get_extended_index(self, v)
5009 
5010  def get_index(self, v):
5011  r"""get_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
5012  return _IMP_algebra.DenseFloatGrid3D_get_index(self, v)
5013 
5014  def get_origin(self):
5015  r"""get_origin(DenseFloatGrid3D self) -> Vector3D"""
5016  return _IMP_algebra.DenseFloatGrid3D_get_origin(self)
5017 
5018  def get_dimension(self):
5019  r"""get_dimension(DenseFloatGrid3D self) -> unsigned int"""
5020  return _IMP_algebra.DenseFloatGrid3D_get_dimension(self)
5021 
5022  def get_unit_cell(self):
5023  r"""get_unit_cell(DenseFloatGrid3D self) -> Vector3D"""
5024  return _IMP_algebra.DenseFloatGrid3D_get_unit_cell(self)
5025 
5026  def get_has_index(self, v):
5027  r"""get_has_index(DenseFloatGrid3D self, ExtendedGridIndex3D v) -> bool"""
5028  return _IMP_algebra.DenseFloatGrid3D_get_has_index(self, v)
5029 
5030  def __str__(self):
5031  r"""__str__(DenseFloatGrid3D self) -> std::string"""
5032  return _IMP_algebra.DenseFloatGrid3D___str__(self)
5033 
5034  def __repr__(self):
5035  r"""__repr__(DenseFloatGrid3D self) -> std::string"""
5036  return _IMP_algebra.DenseFloatGrid3D___repr__(self)
5037 
5038  def show(self, *args):
5039  r"""show(DenseFloatGrid3D self, _ostream out=std::cout)"""
5040  return _IMP_algebra.DenseFloatGrid3D_show(self, *args)
5041  __swig_destroy__ = _IMP_algebra.delete_DenseFloatGrid3D
5042 
5043 # Register DenseFloatGrid3D in _IMP_algebra:
5044 _IMP_algebra.DenseFloatGrid3D_swigregister(DenseFloatGrid3D)
5045 class SparseUnboundedIntGrid3D(object):
5046  r"""Proxy of C++ IMP::algebra::SparseUnboundedGrid3D< int > class."""
5047 
5048  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5049 
5050  def __init__(self, *args):
5051  r"""
5052  __init__(SparseUnboundedIntGrid3D self, double side, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
5053  __init__(SparseUnboundedIntGrid3D self, Vector3D sides, Vector3D origin, int _def=int()) -> SparseUnboundedIntGrid3D
5054  __init__(SparseUnboundedIntGrid3D self) -> SparseUnboundedIntGrid3D
5055  """
5056  _IMP_algebra.SparseUnboundedIntGrid3D_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGrid3D(*args))
5057 
5058  def add_voxel(self, i, q):
5059  r"""add_voxel(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D i, int const & q) -> GridIndex3D"""
5060  return _IMP_algebra.SparseUnboundedIntGrid3D_add_voxel(self, i, q)
5061 
5062  def __getitem__(self, *args):
5063  r"""
5064  __getitem__(SparseUnboundedIntGrid3D self, GridIndex3D i) -> int
5065  __getitem__(SparseUnboundedIntGrid3D self, Vector3D i) -> int
5066  """
5067  return _IMP_algebra.SparseUnboundedIntGrid3D___getitem__(self, *args)
5068 
5069  def __setitem__(self, *args):
5070  r"""
5071  __setitem__(SparseUnboundedIntGrid3D self, GridIndex3D i, int const & q)
5072  __setitem__(SparseUnboundedIntGrid3D self, Vector3D i, int const & q)
5073  """
5074  return _IMP_algebra.SparseUnboundedIntGrid3D___setitem__(self, *args)
5075 
5076  def get_bounding_box(self, *args):
5077  r"""
5078  get_bounding_box(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> BoundingBox3D
5079  get_bounding_box(SparseUnboundedIntGrid3D self) -> BoundingBox3D
5080  """
5081  return _IMP_algebra.SparseUnboundedIntGrid3D_get_bounding_box(self, *args)
5082 
5083  def get_indexes(self, *args):
5084  r"""
5085  get_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5086  get_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >
5087  """
5088  return _IMP_algebra.SparseUnboundedIntGrid3D_get_indexes(self, *args)
5089 
5090  def get_all_indexes(self):
5091  r"""get_all_indexes(SparseUnboundedIntGrid3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 >,std::allocator< IMP::algebra::GridIndexD< 3 > > >"""
5092  return _IMP_algebra.SparseUnboundedIntGrid3D_get_all_indexes(self)
5093 
5094  def get_extended_indexes(self, *args):
5095  r"""
5096  get_extended_indexes(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5097  get_extended_indexes(SparseUnboundedIntGrid3D self, BoundingBox3D bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 >,std::allocator< IMP::algebra::ExtendedGridIndexD< 3 > > >
5098  """
5099  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_indexes(self, *args)
5100 
5101  def get_center(self, *args):
5102  r"""
5103  get_center(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D ei) -> Vector3D
5104  get_center(SparseUnboundedIntGrid3D self, GridIndex3D ei) -> Vector3D
5105  """
5106  return _IMP_algebra.SparseUnboundedIntGrid3D_get_center(self, *args)
5107 
5108  def get_extended_index(self, v):
5109  r"""get_extended_index(SparseUnboundedIntGrid3D self, Vector3D v) -> ExtendedGridIndex3D"""
5110  return _IMP_algebra.SparseUnboundedIntGrid3D_get_extended_index(self, v)
5111 
5112  def get_index(self, v):
5113  r"""get_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
5114  return _IMP_algebra.SparseUnboundedIntGrid3D_get_index(self, v)
5115 
5116  def get_origin(self):
5117  r"""get_origin(SparseUnboundedIntGrid3D self) -> Vector3D"""
5118  return _IMP_algebra.SparseUnboundedIntGrid3D_get_origin(self)
5119 
5120  def get_dimension(self):
5121  r"""get_dimension(SparseUnboundedIntGrid3D self) -> unsigned int"""
5122  return _IMP_algebra.SparseUnboundedIntGrid3D_get_dimension(self)
5123 
5124  def get_unit_cell(self):
5125  r"""get_unit_cell(SparseUnboundedIntGrid3D self) -> Vector3D"""
5126  return _IMP_algebra.SparseUnboundedIntGrid3D_get_unit_cell(self)
5127 
5128  def get_has_index(self, v):
5129  r"""get_has_index(SparseUnboundedIntGrid3D self, ExtendedGridIndex3D v) -> bool"""
5130  return _IMP_algebra.SparseUnboundedIntGrid3D_get_has_index(self, v)
5131 
5132  def __str__(self):
5133  r"""__str__(SparseUnboundedIntGrid3D self) -> std::string"""
5134  return _IMP_algebra.SparseUnboundedIntGrid3D___str__(self)
5135 
5136  def __repr__(self):
5137  r"""__repr__(SparseUnboundedIntGrid3D self) -> std::string"""
5138  return _IMP_algebra.SparseUnboundedIntGrid3D___repr__(self)
5139 
5140  def show(self, *args):
5141  r"""show(SparseUnboundedIntGrid3D self, _ostream out=std::cout)"""
5142  return _IMP_algebra.SparseUnboundedIntGrid3D_show(self, *args)
5143  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGrid3D
5144 
5145 # Register SparseUnboundedIntGrid3D in _IMP_algebra:
5146 _IMP_algebra.SparseUnboundedIntGrid3D_swigregister(SparseUnboundedIntGrid3D)
5147 class SparseUnboundedIntGridKD(object):
5148  r"""Proxy of C++ IMP::algebra::SparseUnboundedGridD< -1,int > class."""
5149 
5150  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5151 
5152  def __init__(self, *args):
5153  r"""
5154  __init__(SparseUnboundedIntGridKD self, double side, VectorKD origin, int _def=int()) -> SparseUnboundedIntGridKD
5155  __init__(SparseUnboundedIntGridKD self) -> SparseUnboundedIntGridKD
5156  """
5157  _IMP_algebra.SparseUnboundedIntGridKD_swiginit(self, _IMP_algebra.new_SparseUnboundedIntGridKD(*args))
5158 
5159  def add_voxel(self, i, q):
5160  r"""add_voxel(SparseUnboundedIntGridKD self, ExtendedGridIndexKD i, int const & q) -> GridIndexKD"""
5161  return _IMP_algebra.SparseUnboundedIntGridKD_add_voxel(self, i, q)
5162 
5163  def __getitem__(self, *args):
5164  r"""
5165  __getitem__(SparseUnboundedIntGridKD self, GridIndexKD i) -> int
5166  __getitem__(SparseUnboundedIntGridKD self, VectorKD i) -> int
5167  """
5168  return _IMP_algebra.SparseUnboundedIntGridKD___getitem__(self, *args)
5169 
5170  def __setitem__(self, *args):
5171  r"""
5172  __setitem__(SparseUnboundedIntGridKD self, GridIndexKD i, int const & q)
5173  __setitem__(SparseUnboundedIntGridKD self, VectorKD i, int const & q)
5174  """
5175  return _IMP_algebra.SparseUnboundedIntGridKD___setitem__(self, *args)
5176 
5177  def get_bounding_box(self, *args):
5178  r"""
5179  get_bounding_box(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> BoundingBoxKD
5180  get_bounding_box(SparseUnboundedIntGridKD self) -> BoundingBoxKD
5181  """
5182  return _IMP_algebra.SparseUnboundedIntGridKD_get_bounding_box(self, *args)
5183 
5184  def get_indexes(self, *args):
5185  r"""
5186  get_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
5187  get_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >
5188  """
5189  return _IMP_algebra.SparseUnboundedIntGridKD_get_indexes(self, *args)
5190 
5191  def get_all_indexes(self):
5192  r"""get_all_indexes(SparseUnboundedIntGridKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 >,std::allocator< IMP::algebra::GridIndexD< -1 > > >"""
5193  return _IMP_algebra.SparseUnboundedIntGridKD_get_all_indexes(self)
5194 
5195  def get_extended_indexes(self, *args):
5196  r"""
5197  get_extended_indexes(SparseUnboundedIntGridKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
5198  get_extended_indexes(SparseUnboundedIntGridKD self, BoundingBoxKD bb) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 >,std::allocator< IMP::algebra::ExtendedGridIndexD< -1 > > >
5199  """
5200  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_indexes(self, *args)
5201 
5202  def get_center(self, *args):
5203  r"""
5204  get_center(SparseUnboundedIntGridKD self, ExtendedGridIndexKD ei) -> VectorKD
5205  get_center(SparseUnboundedIntGridKD self, GridIndexKD ei) -> VectorKD
5206  """
5207  return _IMP_algebra.SparseUnboundedIntGridKD_get_center(self, *args)
5208 
5209  def get_extended_index(self, v):
5210  r"""get_extended_index(SparseUnboundedIntGridKD self, VectorKD v) -> ExtendedGridIndexKD"""
5211  return _IMP_algebra.SparseUnboundedIntGridKD_get_extended_index(self, v)
5212 
5213  def get_index(self, v):
5214  r"""get_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
5215  return _IMP_algebra.SparseUnboundedIntGridKD_get_index(self, v)
5216 
5217  def get_origin(self):
5218  r"""get_origin(SparseUnboundedIntGridKD self) -> VectorKD"""
5219  return _IMP_algebra.SparseUnboundedIntGridKD_get_origin(self)
5220 
5221  def get_dimension(self):
5222  r"""get_dimension(SparseUnboundedIntGridKD self) -> unsigned int"""
5223  return _IMP_algebra.SparseUnboundedIntGridKD_get_dimension(self)
5224 
5225  def get_unit_cell(self):
5226  r"""get_unit_cell(SparseUnboundedIntGridKD self) -> VectorKD"""
5227  return _IMP_algebra.SparseUnboundedIntGridKD_get_unit_cell(self)
5228 
5229  def get_has_index(self, v):
5230  r"""get_has_index(SparseUnboundedIntGridKD self, ExtendedGridIndexKD v) -> bool"""
5231  return _IMP_algebra.SparseUnboundedIntGridKD_get_has_index(self, v)
5232 
5233  def __str__(self):
5234  r"""__str__(SparseUnboundedIntGridKD self) -> std::string"""
5235  return _IMP_algebra.SparseUnboundedIntGridKD___str__(self)
5236 
5237  def __repr__(self):
5238  r"""__repr__(SparseUnboundedIntGridKD self) -> std::string"""
5239  return _IMP_algebra.SparseUnboundedIntGridKD___repr__(self)
5240 
5241  def show(self, *args):
5242  r"""show(SparseUnboundedIntGridKD self, _ostream out=std::cout)"""
5243  return _IMP_algebra.SparseUnboundedIntGridKD_show(self, *args)
5244  __swig_destroy__ = _IMP_algebra.delete_SparseUnboundedIntGridKD
5245 
5246 # Register SparseUnboundedIntGridKD in _IMP_algebra:
5247 _IMP_algebra.SparseUnboundedIntGridKD_swigregister(SparseUnboundedIntGridKD)
5248 class GridIndex1D(IMP._Value):
5249  r"""Proxy of C++ IMP::algebra::GridIndexD< 1 > class."""
5250 
5251  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5252 
5253  def __init__(self, *args):
5254  r"""
5255  __init__(GridIndex1D self) -> GridIndex1D
5256  __init__(GridIndex1D self, int x) -> GridIndex1D
5257  __init__(GridIndex1D self, int x, int y) -> GridIndex1D
5258  __init__(GridIndex1D self, int x, int y, int z) -> GridIndex1D
5259  __init__(GridIndex1D self, int i, int j, int k, int l) -> GridIndex1D
5260  __init__(GridIndex1D self, int i, int j, int k, int l, int m) -> GridIndex1D
5261  __init__(GridIndex1D self, int i, int j, int k, int l, int m, int n) -> GridIndex1D
5262  """
5263  _IMP_algebra.GridIndex1D_swiginit(self, _IMP_algebra.new_GridIndex1D(*args))
5264 
5265  def get_dimension(self):
5266  r"""get_dimension(GridIndex1D self) -> unsigned int"""
5267  return _IMP_algebra.GridIndex1D_get_dimension(self)
5268 
5269  def __getitem__(self, i):
5270  r"""__getitem__(GridIndex1D self, unsigned int i) -> int const &"""
5271  return _IMP_algebra.GridIndex1D___getitem__(self, i)
5272 
5273  def show(self, *args):
5274  r"""show(GridIndex1D self, _ostream out=std::cout)"""
5275  return _IMP_algebra.GridIndex1D_show(self, *args)
5276 
5277  def __len__(self):
5278  r"""__len__(GridIndex1D self) -> unsigned int"""
5279  return _IMP_algebra.GridIndex1D___len__(self)
5280 
5281  def __cmp__(self, o):
5282  r"""__cmp__(GridIndex1D self, GridIndex1D o) -> int"""
5283  return _IMP_algebra.GridIndex1D___cmp__(self, o)
5284 
5285  def __eq__(self, o):
5286  r"""__eq__(GridIndex1D self, GridIndex1D o) -> bool"""
5287  return _IMP_algebra.GridIndex1D___eq__(self, o)
5288 
5289  def __ne__(self, o):
5290  r"""__ne__(GridIndex1D self, GridIndex1D o) -> bool"""
5291  return _IMP_algebra.GridIndex1D___ne__(self, o)
5292 
5293  def __lt__(self, o):
5294  r"""__lt__(GridIndex1D self, GridIndex1D o) -> bool"""
5295  return _IMP_algebra.GridIndex1D___lt__(self, o)
5296 
5297  def __gt__(self, o):
5298  r"""__gt__(GridIndex1D self, GridIndex1D o) -> bool"""
5299  return _IMP_algebra.GridIndex1D___gt__(self, o)
5300 
5301  def __ge__(self, o):
5302  r"""__ge__(GridIndex1D self, GridIndex1D o) -> bool"""
5303  return _IMP_algebra.GridIndex1D___ge__(self, o)
5304 
5305  def __le__(self, o):
5306  r"""__le__(GridIndex1D self, GridIndex1D o) -> bool"""
5307  return _IMP_algebra.GridIndex1D___le__(self, o)
5308 
5309  def __hash__(self):
5310  r"""__hash__(GridIndex1D self) -> std::size_t"""
5311  return _IMP_algebra.GridIndex1D___hash__(self)
5312 
5313  def __str__(self):
5314  r"""__str__(GridIndex1D self) -> std::string"""
5315  return _IMP_algebra.GridIndex1D___str__(self)
5316 
5317  def __repr__(self):
5318  r"""__repr__(GridIndex1D self) -> std::string"""
5319  return _IMP_algebra.GridIndex1D___repr__(self)
5320 
5321  def _get_as_binary(self):
5322  r"""_get_as_binary(GridIndex1D self) -> PyObject *"""
5323  return _IMP_algebra.GridIndex1D__get_as_binary(self)
5324 
5325  def _set_from_binary(self, p):
5326  r"""_set_from_binary(GridIndex1D self, PyObject * p)"""
5327  return _IMP_algebra.GridIndex1D__set_from_binary(self, p)
5328 
5329  def __getstate__(self):
5330  p = self._get_as_binary()
5331  if len(self.__dict__) > 1:
5332  d = self.__dict__.copy()
5333  del d['this']
5334  p = (d, p)
5335  return p
5336 
5337  def __setstate__(self, p):
5338  if not hasattr(self, 'this'):
5339  self.__init__()
5340  if isinstance(p, tuple):
5341  d, p = p
5342  self.__dict__.update(d)
5343  return self._set_from_binary(p)
5344 
5345  __swig_destroy__ = _IMP_algebra.delete_GridIndex1D
5346 
5347 # Register GridIndex1D in _IMP_algebra:
5348 _IMP_algebra.GridIndex1D_swigregister(GridIndex1D)
5349 class GridIndex2D(IMP._Value):
5350  r"""Proxy of C++ IMP::algebra::GridIndexD< 2 > class."""
5351 
5352  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5353 
5354  def __init__(self, *args):
5355  r"""
5356  __init__(GridIndex2D self) -> GridIndex2D
5357  __init__(GridIndex2D self, int x) -> GridIndex2D
5358  __init__(GridIndex2D self, int x, int y) -> GridIndex2D
5359  __init__(GridIndex2D self, int x, int y, int z) -> GridIndex2D
5360  __init__(GridIndex2D self, int i, int j, int k, int l) -> GridIndex2D
5361  __init__(GridIndex2D self, int i, int j, int k, int l, int m) -> GridIndex2D
5362  __init__(GridIndex2D self, int i, int j, int k, int l, int m, int n) -> GridIndex2D
5363  """
5364  _IMP_algebra.GridIndex2D_swiginit(self, _IMP_algebra.new_GridIndex2D(*args))
5365 
5366  def get_dimension(self):
5367  r"""get_dimension(GridIndex2D self) -> unsigned int"""
5368  return _IMP_algebra.GridIndex2D_get_dimension(self)
5369 
5370  def __getitem__(self, i):
5371  r"""__getitem__(GridIndex2D self, unsigned int i) -> int const &"""
5372  return _IMP_algebra.GridIndex2D___getitem__(self, i)
5373 
5374  def show(self, *args):
5375  r"""show(GridIndex2D self, _ostream out=std::cout)"""
5376  return _IMP_algebra.GridIndex2D_show(self, *args)
5377 
5378  def __len__(self):
5379  r"""__len__(GridIndex2D self) -> unsigned int"""
5380  return _IMP_algebra.GridIndex2D___len__(self)
5381 
5382  def __cmp__(self, o):
5383  r"""__cmp__(GridIndex2D self, GridIndex2D o) -> int"""
5384  return _IMP_algebra.GridIndex2D___cmp__(self, o)
5385 
5386  def __eq__(self, o):
5387  r"""__eq__(GridIndex2D self, GridIndex2D o) -> bool"""
5388  return _IMP_algebra.GridIndex2D___eq__(self, o)
5389 
5390  def __ne__(self, o):
5391  r"""__ne__(GridIndex2D self, GridIndex2D o) -> bool"""
5392  return _IMP_algebra.GridIndex2D___ne__(self, o)
5393 
5394  def __lt__(self, o):
5395  r"""__lt__(GridIndex2D self, GridIndex2D o) -> bool"""
5396  return _IMP_algebra.GridIndex2D___lt__(self, o)
5397 
5398  def __gt__(self, o):
5399  r"""__gt__(GridIndex2D self, GridIndex2D o) -> bool"""
5400  return _IMP_algebra.GridIndex2D___gt__(self, o)
5401 
5402  def __ge__(self, o):
5403  r"""__ge__(GridIndex2D self, GridIndex2D o) -> bool"""
5404  return _IMP_algebra.GridIndex2D___ge__(self, o)
5405 
5406  def __le__(self, o):
5407  r"""__le__(GridIndex2D self, GridIndex2D o) -> bool"""
5408  return _IMP_algebra.GridIndex2D___le__(self, o)
5409 
5410  def __hash__(self):
5411  r"""__hash__(GridIndex2D self) -> std::size_t"""
5412  return _IMP_algebra.GridIndex2D___hash__(self)
5413 
5414  def __str__(self):
5415  r"""__str__(GridIndex2D self) -> std::string"""
5416  return _IMP_algebra.GridIndex2D___str__(self)
5417 
5418  def __repr__(self):
5419  r"""__repr__(GridIndex2D self) -> std::string"""
5420  return _IMP_algebra.GridIndex2D___repr__(self)
5421 
5422  def _get_as_binary(self):
5423  r"""_get_as_binary(GridIndex2D self) -> PyObject *"""
5424  return _IMP_algebra.GridIndex2D__get_as_binary(self)
5425 
5426  def _set_from_binary(self, p):
5427  r"""_set_from_binary(GridIndex2D self, PyObject * p)"""
5428  return _IMP_algebra.GridIndex2D__set_from_binary(self, p)
5429 
5430  def __getstate__(self):
5431  p = self._get_as_binary()
5432  if len(self.__dict__) > 1:
5433  d = self.__dict__.copy()
5434  del d['this']
5435  p = (d, p)
5436  return p
5437 
5438  def __setstate__(self, p):
5439  if not hasattr(self, 'this'):
5440  self.__init__()
5441  if isinstance(p, tuple):
5442  d, p = p
5443  self.__dict__.update(d)
5444  return self._set_from_binary(p)
5445 
5446  __swig_destroy__ = _IMP_algebra.delete_GridIndex2D
5447 
5448 # Register GridIndex2D in _IMP_algebra:
5449 _IMP_algebra.GridIndex2D_swigregister(GridIndex2D)
5450 class GridIndex3D(IMP._Value):
5451  r"""Proxy of C++ IMP::algebra::GridIndexD< 3 > class."""
5452 
5453  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5454 
5455  def __init__(self, *args):
5456  r"""
5457  __init__(GridIndex3D self) -> GridIndex3D
5458  __init__(GridIndex3D self, int x) -> GridIndex3D
5459  __init__(GridIndex3D self, int x, int y) -> GridIndex3D
5460  __init__(GridIndex3D self, int x, int y, int z) -> GridIndex3D
5461  __init__(GridIndex3D self, int i, int j, int k, int l) -> GridIndex3D
5462  __init__(GridIndex3D self, int i, int j, int k, int l, int m) -> GridIndex3D
5463  __init__(GridIndex3D self, int i, int j, int k, int l, int m, int n) -> GridIndex3D
5464  """
5465  _IMP_algebra.GridIndex3D_swiginit(self, _IMP_algebra.new_GridIndex3D(*args))
5466 
5467  def get_dimension(self):
5468  r"""get_dimension(GridIndex3D self) -> unsigned int"""
5469  return _IMP_algebra.GridIndex3D_get_dimension(self)
5470 
5471  def __getitem__(self, i):
5472  r"""__getitem__(GridIndex3D self, unsigned int i) -> int const &"""
5473  return _IMP_algebra.GridIndex3D___getitem__(self, i)
5474 
5475  def show(self, *args):
5476  r"""show(GridIndex3D self, _ostream out=std::cout)"""
5477  return _IMP_algebra.GridIndex3D_show(self, *args)
5478 
5479  def __len__(self):
5480  r"""__len__(GridIndex3D self) -> unsigned int"""
5481  return _IMP_algebra.GridIndex3D___len__(self)
5482 
5483  def __cmp__(self, o):
5484  r"""__cmp__(GridIndex3D self, GridIndex3D o) -> int"""
5485  return _IMP_algebra.GridIndex3D___cmp__(self, o)
5486 
5487  def __eq__(self, o):
5488  r"""__eq__(GridIndex3D self, GridIndex3D o) -> bool"""
5489  return _IMP_algebra.GridIndex3D___eq__(self, o)
5490 
5491  def __ne__(self, o):
5492  r"""__ne__(GridIndex3D self, GridIndex3D o) -> bool"""
5493  return _IMP_algebra.GridIndex3D___ne__(self, o)
5494 
5495  def __lt__(self, o):
5496  r"""__lt__(GridIndex3D self, GridIndex3D o) -> bool"""
5497  return _IMP_algebra.GridIndex3D___lt__(self, o)
5498 
5499  def __gt__(self, o):
5500  r"""__gt__(GridIndex3D self, GridIndex3D o) -> bool"""
5501  return _IMP_algebra.GridIndex3D___gt__(self, o)
5502 
5503  def __ge__(self, o):
5504  r"""__ge__(GridIndex3D self, GridIndex3D o) -> bool"""
5505  return _IMP_algebra.GridIndex3D___ge__(self, o)
5506 
5507  def __le__(self, o):
5508  r"""__le__(GridIndex3D self, GridIndex3D o) -> bool"""
5509  return _IMP_algebra.GridIndex3D___le__(self, o)
5510 
5511  def __hash__(self):
5512  r"""__hash__(GridIndex3D self) -> std::size_t"""
5513  return _IMP_algebra.GridIndex3D___hash__(self)
5514 
5515  def __str__(self):
5516  r"""__str__(GridIndex3D self) -> std::string"""
5517  return _IMP_algebra.GridIndex3D___str__(self)
5518 
5519  def __repr__(self):
5520  r"""__repr__(GridIndex3D self) -> std::string"""
5521  return _IMP_algebra.GridIndex3D___repr__(self)
5522 
5523  def _get_as_binary(self):
5524  r"""_get_as_binary(GridIndex3D self) -> PyObject *"""
5525  return _IMP_algebra.GridIndex3D__get_as_binary(self)
5526 
5527  def _set_from_binary(self, p):
5528  r"""_set_from_binary(GridIndex3D self, PyObject * p)"""
5529  return _IMP_algebra.GridIndex3D__set_from_binary(self, p)
5530 
5531  def __getstate__(self):
5532  p = self._get_as_binary()
5533  if len(self.__dict__) > 1:
5534  d = self.__dict__.copy()
5535  del d['this']
5536  p = (d, p)
5537  return p
5538 
5539  def __setstate__(self, p):
5540  if not hasattr(self, 'this'):
5541  self.__init__()
5542  if isinstance(p, tuple):
5543  d, p = p
5544  self.__dict__.update(d)
5545  return self._set_from_binary(p)
5546 
5547  __swig_destroy__ = _IMP_algebra.delete_GridIndex3D
5548 
5549 # Register GridIndex3D in _IMP_algebra:
5550 _IMP_algebra.GridIndex3D_swigregister(GridIndex3D)
5551 class GridIndex4D(IMP._Value):
5552  r"""Proxy of C++ IMP::algebra::GridIndexD< 4 > class."""
5553 
5554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5555 
5556  def __init__(self, *args):
5557  r"""
5558  __init__(GridIndex4D self) -> GridIndex4D
5559  __init__(GridIndex4D self, int x) -> GridIndex4D
5560  __init__(GridIndex4D self, int x, int y) -> GridIndex4D
5561  __init__(GridIndex4D self, int x, int y, int z) -> GridIndex4D
5562  __init__(GridIndex4D self, int i, int j, int k, int l) -> GridIndex4D
5563  __init__(GridIndex4D self, int i, int j, int k, int l, int m) -> GridIndex4D
5564  __init__(GridIndex4D self, int i, int j, int k, int l, int m, int n) -> GridIndex4D
5565  """
5566  _IMP_algebra.GridIndex4D_swiginit(self, _IMP_algebra.new_GridIndex4D(*args))
5567 
5568  def get_dimension(self):
5569  r"""get_dimension(GridIndex4D self) -> unsigned int"""
5570  return _IMP_algebra.GridIndex4D_get_dimension(self)
5571 
5572  def __getitem__(self, i):
5573  r"""__getitem__(GridIndex4D self, unsigned int i) -> int const &"""
5574  return _IMP_algebra.GridIndex4D___getitem__(self, i)
5575 
5576  def show(self, *args):
5577  r"""show(GridIndex4D self, _ostream out=std::cout)"""
5578  return _IMP_algebra.GridIndex4D_show(self, *args)
5579 
5580  def __len__(self):
5581  r"""__len__(GridIndex4D self) -> unsigned int"""
5582  return _IMP_algebra.GridIndex4D___len__(self)
5583 
5584  def __cmp__(self, o):
5585  r"""__cmp__(GridIndex4D self, GridIndex4D o) -> int"""
5586  return _IMP_algebra.GridIndex4D___cmp__(self, o)
5587 
5588  def __eq__(self, o):
5589  r"""__eq__(GridIndex4D self, GridIndex4D o) -> bool"""
5590  return _IMP_algebra.GridIndex4D___eq__(self, o)
5591 
5592  def __ne__(self, o):
5593  r"""__ne__(GridIndex4D self, GridIndex4D o) -> bool"""
5594  return _IMP_algebra.GridIndex4D___ne__(self, o)
5595 
5596  def __lt__(self, o):
5597  r"""__lt__(GridIndex4D self, GridIndex4D o) -> bool"""
5598  return _IMP_algebra.GridIndex4D___lt__(self, o)
5599 
5600  def __gt__(self, o):
5601  r"""__gt__(GridIndex4D self, GridIndex4D o) -> bool"""
5602  return _IMP_algebra.GridIndex4D___gt__(self, o)
5603 
5604  def __ge__(self, o):
5605  r"""__ge__(GridIndex4D self, GridIndex4D o) -> bool"""
5606  return _IMP_algebra.GridIndex4D___ge__(self, o)
5607 
5608  def __le__(self, o):
5609  r"""__le__(GridIndex4D self, GridIndex4D o) -> bool"""
5610  return _IMP_algebra.GridIndex4D___le__(self, o)
5611 
5612  def __hash__(self):
5613  r"""__hash__(GridIndex4D self) -> std::size_t"""
5614  return _IMP_algebra.GridIndex4D___hash__(self)
5615 
5616  def __str__(self):
5617  r"""__str__(GridIndex4D self) -> std::string"""
5618  return _IMP_algebra.GridIndex4D___str__(self)
5619 
5620  def __repr__(self):
5621  r"""__repr__(GridIndex4D self) -> std::string"""
5622  return _IMP_algebra.GridIndex4D___repr__(self)
5623 
5624  def _get_as_binary(self):
5625  r"""_get_as_binary(GridIndex4D self) -> PyObject *"""
5626  return _IMP_algebra.GridIndex4D__get_as_binary(self)
5627 
5628  def _set_from_binary(self, p):
5629  r"""_set_from_binary(GridIndex4D self, PyObject * p)"""
5630  return _IMP_algebra.GridIndex4D__set_from_binary(self, p)
5631 
5632  def __getstate__(self):
5633  p = self._get_as_binary()
5634  if len(self.__dict__) > 1:
5635  d = self.__dict__.copy()
5636  del d['this']
5637  p = (d, p)
5638  return p
5639 
5640  def __setstate__(self, p):
5641  if not hasattr(self, 'this'):
5642  self.__init__()
5643  if isinstance(p, tuple):
5644  d, p = p
5645  self.__dict__.update(d)
5646  return self._set_from_binary(p)
5647 
5648  __swig_destroy__ = _IMP_algebra.delete_GridIndex4D
5649 
5650 # Register GridIndex4D in _IMP_algebra:
5651 _IMP_algebra.GridIndex4D_swigregister(GridIndex4D)
5652 class GridIndex5D(IMP._Value):
5653  r"""Proxy of C++ IMP::algebra::GridIndexD< 5 > class."""
5654 
5655  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5656 
5657  def __init__(self, *args):
5658  r"""
5659  __init__(GridIndex5D self) -> GridIndex5D
5660  __init__(GridIndex5D self, int x) -> GridIndex5D
5661  __init__(GridIndex5D self, int x, int y) -> GridIndex5D
5662  __init__(GridIndex5D self, int x, int y, int z) -> GridIndex5D
5663  __init__(GridIndex5D self, int i, int j, int k, int l) -> GridIndex5D
5664  __init__(GridIndex5D self, int i, int j, int k, int l, int m) -> GridIndex5D
5665  __init__(GridIndex5D self, int i, int j, int k, int l, int m, int n) -> GridIndex5D
5666  """
5667  _IMP_algebra.GridIndex5D_swiginit(self, _IMP_algebra.new_GridIndex5D(*args))
5668 
5669  def get_dimension(self):
5670  r"""get_dimension(GridIndex5D self) -> unsigned int"""
5671  return _IMP_algebra.GridIndex5D_get_dimension(self)
5672 
5673  def __getitem__(self, i):
5674  r"""__getitem__(GridIndex5D self, unsigned int i) -> int const &"""
5675  return _IMP_algebra.GridIndex5D___getitem__(self, i)
5676 
5677  def show(self, *args):
5678  r"""show(GridIndex5D self, _ostream out=std::cout)"""
5679  return _IMP_algebra.GridIndex5D_show(self, *args)
5680 
5681  def __len__(self):
5682  r"""__len__(GridIndex5D self) -> unsigned int"""
5683  return _IMP_algebra.GridIndex5D___len__(self)
5684 
5685  def __cmp__(self, o):
5686  r"""__cmp__(GridIndex5D self, GridIndex5D o) -> int"""
5687  return _IMP_algebra.GridIndex5D___cmp__(self, o)
5688 
5689  def __eq__(self, o):
5690  r"""__eq__(GridIndex5D self, GridIndex5D o) -> bool"""
5691  return _IMP_algebra.GridIndex5D___eq__(self, o)
5692 
5693  def __ne__(self, o):
5694  r"""__ne__(GridIndex5D self, GridIndex5D o) -> bool"""
5695  return _IMP_algebra.GridIndex5D___ne__(self, o)
5696 
5697  def __lt__(self, o):
5698  r"""__lt__(GridIndex5D self, GridIndex5D o) -> bool"""
5699  return _IMP_algebra.GridIndex5D___lt__(self, o)
5700 
5701  def __gt__(self, o):
5702  r"""__gt__(GridIndex5D self, GridIndex5D o) -> bool"""
5703  return _IMP_algebra.GridIndex5D___gt__(self, o)
5704 
5705  def __ge__(self, o):
5706  r"""__ge__(GridIndex5D self, GridIndex5D o) -> bool"""
5707  return _IMP_algebra.GridIndex5D___ge__(self, o)
5708 
5709  def __le__(self, o):
5710  r"""__le__(GridIndex5D self, GridIndex5D o) -> bool"""
5711  return _IMP_algebra.GridIndex5D___le__(self, o)
5712 
5713  def __hash__(self):
5714  r"""__hash__(GridIndex5D self) -> std::size_t"""
5715  return _IMP_algebra.GridIndex5D___hash__(self)
5716 
5717  def __str__(self):
5718  r"""__str__(GridIndex5D self) -> std::string"""
5719  return _IMP_algebra.GridIndex5D___str__(self)
5720 
5721  def __repr__(self):
5722  r"""__repr__(GridIndex5D self) -> std::string"""
5723  return _IMP_algebra.GridIndex5D___repr__(self)
5724 
5725  def _get_as_binary(self):
5726  r"""_get_as_binary(GridIndex5D self) -> PyObject *"""
5727  return _IMP_algebra.GridIndex5D__get_as_binary(self)
5728 
5729  def _set_from_binary(self, p):
5730  r"""_set_from_binary(GridIndex5D self, PyObject * p)"""
5731  return _IMP_algebra.GridIndex5D__set_from_binary(self, p)
5732 
5733  def __getstate__(self):
5734  p = self._get_as_binary()
5735  if len(self.__dict__) > 1:
5736  d = self.__dict__.copy()
5737  del d['this']
5738  p = (d, p)
5739  return p
5740 
5741  def __setstate__(self, p):
5742  if not hasattr(self, 'this'):
5743  self.__init__()
5744  if isinstance(p, tuple):
5745  d, p = p
5746  self.__dict__.update(d)
5747  return self._set_from_binary(p)
5748 
5749  __swig_destroy__ = _IMP_algebra.delete_GridIndex5D
5750 
5751 # Register GridIndex5D in _IMP_algebra:
5752 _IMP_algebra.GridIndex5D_swigregister(GridIndex5D)
5753 class GridIndex6D(IMP._Value):
5754  r"""Proxy of C++ IMP::algebra::GridIndexD< 6 > class."""
5755 
5756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5757 
5758  def __init__(self, *args):
5759  r"""
5760  __init__(GridIndex6D self) -> GridIndex6D
5761  __init__(GridIndex6D self, int x) -> GridIndex6D
5762  __init__(GridIndex6D self, int x, int y) -> GridIndex6D
5763  __init__(GridIndex6D self, int x, int y, int z) -> GridIndex6D
5764  __init__(GridIndex6D self, int i, int j, int k, int l) -> GridIndex6D
5765  __init__(GridIndex6D self, int i, int j, int k, int l, int m) -> GridIndex6D
5766  __init__(GridIndex6D self, int i, int j, int k, int l, int m, int n) -> GridIndex6D
5767  """
5768  _IMP_algebra.GridIndex6D_swiginit(self, _IMP_algebra.new_GridIndex6D(*args))
5769 
5770  def get_dimension(self):
5771  r"""get_dimension(GridIndex6D self) -> unsigned int"""
5772  return _IMP_algebra.GridIndex6D_get_dimension(self)
5773 
5774  def __getitem__(self, i):
5775  r"""__getitem__(GridIndex6D self, unsigned int i) -> int const &"""
5776  return _IMP_algebra.GridIndex6D___getitem__(self, i)
5777 
5778  def show(self, *args):
5779  r"""show(GridIndex6D self, _ostream out=std::cout)"""
5780  return _IMP_algebra.GridIndex6D_show(self, *args)
5781 
5782  def __len__(self):
5783  r"""__len__(GridIndex6D self) -> unsigned int"""
5784  return _IMP_algebra.GridIndex6D___len__(self)
5785 
5786  def __cmp__(self, o):
5787  r"""__cmp__(GridIndex6D self, GridIndex6D o) -> int"""
5788  return _IMP_algebra.GridIndex6D___cmp__(self, o)
5789 
5790  def __eq__(self, o):
5791  r"""__eq__(GridIndex6D self, GridIndex6D o) -> bool"""
5792  return _IMP_algebra.GridIndex6D___eq__(self, o)
5793 
5794  def __ne__(self, o):
5795  r"""__ne__(GridIndex6D self, GridIndex6D o) -> bool"""
5796  return _IMP_algebra.GridIndex6D___ne__(self, o)
5797 
5798  def __lt__(self, o):
5799  r"""__lt__(GridIndex6D self, GridIndex6D o) -> bool"""
5800  return _IMP_algebra.GridIndex6D___lt__(self, o)
5801 
5802  def __gt__(self, o):
5803  r"""__gt__(GridIndex6D self, GridIndex6D o) -> bool"""
5804  return _IMP_algebra.GridIndex6D___gt__(self, o)
5805 
5806  def __ge__(self, o):
5807  r"""__ge__(GridIndex6D self, GridIndex6D o) -> bool"""
5808  return _IMP_algebra.GridIndex6D___ge__(self, o)
5809 
5810  def __le__(self, o):
5811  r"""__le__(GridIndex6D self, GridIndex6D o) -> bool"""
5812  return _IMP_algebra.GridIndex6D___le__(self, o)
5813 
5814  def __hash__(self):
5815  r"""__hash__(GridIndex6D self) -> std::size_t"""
5816  return _IMP_algebra.GridIndex6D___hash__(self)
5817 
5818  def __str__(self):
5819  r"""__str__(GridIndex6D self) -> std::string"""
5820  return _IMP_algebra.GridIndex6D___str__(self)
5821 
5822  def __repr__(self):
5823  r"""__repr__(GridIndex6D self) -> std::string"""
5824  return _IMP_algebra.GridIndex6D___repr__(self)
5825 
5826  def _get_as_binary(self):
5827  r"""_get_as_binary(GridIndex6D self) -> PyObject *"""
5828  return _IMP_algebra.GridIndex6D__get_as_binary(self)
5829 
5830  def _set_from_binary(self, p):
5831  r"""_set_from_binary(GridIndex6D self, PyObject * p)"""
5832  return _IMP_algebra.GridIndex6D__set_from_binary(self, p)
5833 
5834  def __getstate__(self):
5835  p = self._get_as_binary()
5836  if len(self.__dict__) > 1:
5837  d = self.__dict__.copy()
5838  del d['this']
5839  p = (d, p)
5840  return p
5841 
5842  def __setstate__(self, p):
5843  if not hasattr(self, 'this'):
5844  self.__init__()
5845  if isinstance(p, tuple):
5846  d, p = p
5847  self.__dict__.update(d)
5848  return self._set_from_binary(p)
5849 
5850  __swig_destroy__ = _IMP_algebra.delete_GridIndex6D
5851 
5852 # Register GridIndex6D in _IMP_algebra:
5853 _IMP_algebra.GridIndex6D_swigregister(GridIndex6D)
5854 class GridIndexKD(IMP._Value):
5855  r"""Proxy of C++ IMP::algebra::GridIndexD< -1 > class."""
5856 
5857  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5858 
5859  def __init__(self, *args):
5860  r"""
5861  __init__(GridIndexKD self) -> GridIndexKD
5862  __init__(GridIndexKD self, int x) -> GridIndexKD
5863  __init__(GridIndexKD self, int x, int y) -> GridIndexKD
5864  __init__(GridIndexKD self, int x, int y, int z) -> GridIndexKD
5865  __init__(GridIndexKD self, int i, int j, int k, int l) -> GridIndexKD
5866  __init__(GridIndexKD self, int i, int j, int k, int l, int m) -> GridIndexKD
5867  __init__(GridIndexKD self, int i, int j, int k, int l, int m, int n) -> GridIndexKD
5868  """
5869  _IMP_algebra.GridIndexKD_swiginit(self, _IMP_algebra.new_GridIndexKD(*args))
5870 
5871  def get_dimension(self):
5872  r"""get_dimension(GridIndexKD self) -> unsigned int"""
5873  return _IMP_algebra.GridIndexKD_get_dimension(self)
5874 
5875  def __getitem__(self, i):
5876  r"""__getitem__(GridIndexKD self, unsigned int i) -> int const &"""
5877  return _IMP_algebra.GridIndexKD___getitem__(self, i)
5878 
5879  def show(self, *args):
5880  r"""show(GridIndexKD self, _ostream out=std::cout)"""
5881  return _IMP_algebra.GridIndexKD_show(self, *args)
5882 
5883  def __len__(self):
5884  r"""__len__(GridIndexKD self) -> unsigned int"""
5885  return _IMP_algebra.GridIndexKD___len__(self)
5886 
5887  def __cmp__(self, o):
5888  r"""__cmp__(GridIndexKD self, GridIndexKD o) -> int"""
5889  return _IMP_algebra.GridIndexKD___cmp__(self, o)
5890 
5891  def __eq__(self, o):
5892  r"""__eq__(GridIndexKD self, GridIndexKD o) -> bool"""
5893  return _IMP_algebra.GridIndexKD___eq__(self, o)
5894 
5895  def __ne__(self, o):
5896  r"""__ne__(GridIndexKD self, GridIndexKD o) -> bool"""
5897  return _IMP_algebra.GridIndexKD___ne__(self, o)
5898 
5899  def __lt__(self, o):
5900  r"""__lt__(GridIndexKD self, GridIndexKD o) -> bool"""
5901  return _IMP_algebra.GridIndexKD___lt__(self, o)
5902 
5903  def __gt__(self, o):
5904  r"""__gt__(GridIndexKD self, GridIndexKD o) -> bool"""
5905  return _IMP_algebra.GridIndexKD___gt__(self, o)
5906 
5907  def __ge__(self, o):
5908  r"""__ge__(GridIndexKD self, GridIndexKD o) -> bool"""
5909  return _IMP_algebra.GridIndexKD___ge__(self, o)
5910 
5911  def __le__(self, o):
5912  r"""__le__(GridIndexKD self, GridIndexKD o) -> bool"""
5913  return _IMP_algebra.GridIndexKD___le__(self, o)
5914 
5915  def __hash__(self):
5916  r"""__hash__(GridIndexKD self) -> std::size_t"""
5917  return _IMP_algebra.GridIndexKD___hash__(self)
5918 
5919  def __str__(self):
5920  r"""__str__(GridIndexKD self) -> std::string"""
5921  return _IMP_algebra.GridIndexKD___str__(self)
5922 
5923  def __repr__(self):
5924  r"""__repr__(GridIndexKD self) -> std::string"""
5925  return _IMP_algebra.GridIndexKD___repr__(self)
5926 
5927  def _get_as_binary(self):
5928  r"""_get_as_binary(GridIndexKD self) -> PyObject *"""
5929  return _IMP_algebra.GridIndexKD__get_as_binary(self)
5930 
5931  def _set_from_binary(self, p):
5932  r"""_set_from_binary(GridIndexKD self, PyObject * p)"""
5933  return _IMP_algebra.GridIndexKD__set_from_binary(self, p)
5934 
5935  def __getstate__(self):
5936  p = self._get_as_binary()
5937  if len(self.__dict__) > 1:
5938  d = self.__dict__.copy()
5939  del d['this']
5940  p = (d, p)
5941  return p
5942 
5943  def __setstate__(self, p):
5944  if not hasattr(self, 'this'):
5945  self.__init__()
5946  if isinstance(p, tuple):
5947  d, p = p
5948  self.__dict__.update(d)
5949  return self._set_from_binary(p)
5950 
5951  __swig_destroy__ = _IMP_algebra.delete_GridIndexKD
5952 
5953 # Register GridIndexKD in _IMP_algebra:
5954 _IMP_algebra.GridIndexKD_swigregister(GridIndexKD)
5955 class ExtendedGridIndex1D(IMP._Value):
5956  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 1 > class."""
5957 
5958  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5959 
5960  def __init__(self, *args):
5961  r"""
5962  __init__(ExtendedGridIndex1D self, IMP::Ints vals) -> ExtendedGridIndex1D
5963  __init__(ExtendedGridIndex1D self, int x) -> ExtendedGridIndex1D
5964  __init__(ExtendedGridIndex1D self, int x, int y) -> ExtendedGridIndex1D
5965  __init__(ExtendedGridIndex1D self, int x, int y, int z) -> ExtendedGridIndex1D
5966  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l) -> ExtendedGridIndex1D
5967  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex1D
5968  __init__(ExtendedGridIndex1D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex1D
5969  __init__(ExtendedGridIndex1D self) -> ExtendedGridIndex1D
5970  """
5971  _IMP_algebra.ExtendedGridIndex1D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex1D(*args))
5972 
5973  def get_dimension(self):
5974  r"""get_dimension(ExtendedGridIndex1D self) -> unsigned int"""
5975  return _IMP_algebra.ExtendedGridIndex1D_get_dimension(self)
5976 
5977  def __cmp__(self, o):
5978  r"""__cmp__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> int"""
5979  return _IMP_algebra.ExtendedGridIndex1D___cmp__(self, o)
5980 
5981  def __eq__(self, o):
5982  r"""__eq__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
5983  return _IMP_algebra.ExtendedGridIndex1D___eq__(self, o)
5984 
5985  def __ne__(self, o):
5986  r"""__ne__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
5987  return _IMP_algebra.ExtendedGridIndex1D___ne__(self, o)
5988 
5989  def __lt__(self, o):
5990  r"""__lt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
5991  return _IMP_algebra.ExtendedGridIndex1D___lt__(self, o)
5992 
5993  def __gt__(self, o):
5994  r"""__gt__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
5995  return _IMP_algebra.ExtendedGridIndex1D___gt__(self, o)
5996 
5997  def __ge__(self, o):
5998  r"""__ge__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
5999  return _IMP_algebra.ExtendedGridIndex1D___ge__(self, o)
6000 
6001  def __le__(self, o):
6002  r"""__le__(ExtendedGridIndex1D self, ExtendedGridIndex1D o) -> bool"""
6003  return _IMP_algebra.ExtendedGridIndex1D___le__(self, o)
6004 
6005  def __setitem__(self, i, v):
6006  r"""__setitem__(ExtendedGridIndex1D self, unsigned int i, int const & v)"""
6007  return _IMP_algebra.ExtendedGridIndex1D___setitem__(self, i, v)
6008 
6009  def __getitem__(self, i):
6010  r"""__getitem__(ExtendedGridIndex1D self, unsigned int i) -> int const &"""
6011  return _IMP_algebra.ExtendedGridIndex1D___getitem__(self, i)
6012 
6013  def show(self, *args):
6014  r"""show(ExtendedGridIndex1D self, _ostream out=std::cout)"""
6015  return _IMP_algebra.ExtendedGridIndex1D_show(self, *args)
6016 
6017  def __len__(self):
6018  r"""__len__(ExtendedGridIndex1D self) -> unsigned int"""
6019  return _IMP_algebra.ExtendedGridIndex1D___len__(self)
6020 
6021  def __hash__(self):
6022  r"""__hash__(ExtendedGridIndex1D self) -> std::size_t"""
6023  return _IMP_algebra.ExtendedGridIndex1D___hash__(self)
6024 
6025  def get_uniform_offset(self, ii):
6026  r"""get_uniform_offset(ExtendedGridIndex1D self, int ii) -> ExtendedGridIndex1D"""
6027  return _IMP_algebra.ExtendedGridIndex1D_get_uniform_offset(self, ii)
6028 
6029  def get_offset(self, i, j, k):
6030  r"""get_offset(ExtendedGridIndex1D self, int i, int j, int k) -> ExtendedGridIndex1D"""
6031  return _IMP_algebra.ExtendedGridIndex1D_get_offset(self, i, j, k)
6032 
6033  def __str__(self):
6034  r"""__str__(ExtendedGridIndex1D self) -> std::string"""
6035  return _IMP_algebra.ExtendedGridIndex1D___str__(self)
6036 
6037  def __repr__(self):
6038  r"""__repr__(ExtendedGridIndex1D self) -> std::string"""
6039  return _IMP_algebra.ExtendedGridIndex1D___repr__(self)
6040 
6041  def _get_as_binary(self):
6042  r"""_get_as_binary(ExtendedGridIndex1D self) -> PyObject *"""
6043  return _IMP_algebra.ExtendedGridIndex1D__get_as_binary(self)
6044 
6045  def _set_from_binary(self, p):
6046  r"""_set_from_binary(ExtendedGridIndex1D self, PyObject * p)"""
6047  return _IMP_algebra.ExtendedGridIndex1D__set_from_binary(self, p)
6048 
6049  def __getstate__(self):
6050  p = self._get_as_binary()
6051  if len(self.__dict__) > 1:
6052  d = self.__dict__.copy()
6053  del d['this']
6054  p = (d, p)
6055  return p
6056 
6057  def __setstate__(self, p):
6058  if not hasattr(self, 'this'):
6059  self.__init__()
6060  if isinstance(p, tuple):
6061  d, p = p
6062  self.__dict__.update(d)
6063  return self._set_from_binary(p)
6064 
6065  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex1D
6066 
6067 # Register ExtendedGridIndex1D in _IMP_algebra:
6068 _IMP_algebra.ExtendedGridIndex1D_swigregister(ExtendedGridIndex1D)
6069 class ExtendedGridIndex2D(IMP._Value):
6070  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 2 > class."""
6071 
6072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6073 
6074  def __init__(self, *args):
6075  r"""
6076  __init__(ExtendedGridIndex2D self, IMP::Ints vals) -> ExtendedGridIndex2D
6077  __init__(ExtendedGridIndex2D self, int x) -> ExtendedGridIndex2D
6078  __init__(ExtendedGridIndex2D self, int x, int y) -> ExtendedGridIndex2D
6079  __init__(ExtendedGridIndex2D self, int x, int y, int z) -> ExtendedGridIndex2D
6080  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l) -> ExtendedGridIndex2D
6081  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex2D
6082  __init__(ExtendedGridIndex2D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex2D
6083  __init__(ExtendedGridIndex2D self) -> ExtendedGridIndex2D
6084  """
6085  _IMP_algebra.ExtendedGridIndex2D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex2D(*args))
6086 
6087  def get_dimension(self):
6088  r"""get_dimension(ExtendedGridIndex2D self) -> unsigned int"""
6089  return _IMP_algebra.ExtendedGridIndex2D_get_dimension(self)
6090 
6091  def __cmp__(self, o):
6092  r"""__cmp__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> int"""
6093  return _IMP_algebra.ExtendedGridIndex2D___cmp__(self, o)
6094 
6095  def __eq__(self, o):
6096  r"""__eq__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6097  return _IMP_algebra.ExtendedGridIndex2D___eq__(self, o)
6098 
6099  def __ne__(self, o):
6100  r"""__ne__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6101  return _IMP_algebra.ExtendedGridIndex2D___ne__(self, o)
6102 
6103  def __lt__(self, o):
6104  r"""__lt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6105  return _IMP_algebra.ExtendedGridIndex2D___lt__(self, o)
6106 
6107  def __gt__(self, o):
6108  r"""__gt__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6109  return _IMP_algebra.ExtendedGridIndex2D___gt__(self, o)
6110 
6111  def __ge__(self, o):
6112  r"""__ge__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6113  return _IMP_algebra.ExtendedGridIndex2D___ge__(self, o)
6114 
6115  def __le__(self, o):
6116  r"""__le__(ExtendedGridIndex2D self, ExtendedGridIndex2D o) -> bool"""
6117  return _IMP_algebra.ExtendedGridIndex2D___le__(self, o)
6118 
6119  def __setitem__(self, i, v):
6120  r"""__setitem__(ExtendedGridIndex2D self, unsigned int i, int const & v)"""
6121  return _IMP_algebra.ExtendedGridIndex2D___setitem__(self, i, v)
6122 
6123  def __getitem__(self, i):
6124  r"""__getitem__(ExtendedGridIndex2D self, unsigned int i) -> int const &"""
6125  return _IMP_algebra.ExtendedGridIndex2D___getitem__(self, i)
6126 
6127  def show(self, *args):
6128  r"""show(ExtendedGridIndex2D self, _ostream out=std::cout)"""
6129  return _IMP_algebra.ExtendedGridIndex2D_show(self, *args)
6130 
6131  def __len__(self):
6132  r"""__len__(ExtendedGridIndex2D self) -> unsigned int"""
6133  return _IMP_algebra.ExtendedGridIndex2D___len__(self)
6134 
6135  def __hash__(self):
6136  r"""__hash__(ExtendedGridIndex2D self) -> std::size_t"""
6137  return _IMP_algebra.ExtendedGridIndex2D___hash__(self)
6138 
6139  def get_uniform_offset(self, ii):
6140  r"""get_uniform_offset(ExtendedGridIndex2D self, int ii) -> ExtendedGridIndex2D"""
6141  return _IMP_algebra.ExtendedGridIndex2D_get_uniform_offset(self, ii)
6142 
6143  def get_offset(self, i, j, k):
6144  r"""get_offset(ExtendedGridIndex2D self, int i, int j, int k) -> ExtendedGridIndex2D"""
6145  return _IMP_algebra.ExtendedGridIndex2D_get_offset(self, i, j, k)
6146 
6147  def __str__(self):
6148  r"""__str__(ExtendedGridIndex2D self) -> std::string"""
6149  return _IMP_algebra.ExtendedGridIndex2D___str__(self)
6150 
6151  def __repr__(self):
6152  r"""__repr__(ExtendedGridIndex2D self) -> std::string"""
6153  return _IMP_algebra.ExtendedGridIndex2D___repr__(self)
6154 
6155  def _get_as_binary(self):
6156  r"""_get_as_binary(ExtendedGridIndex2D self) -> PyObject *"""
6157  return _IMP_algebra.ExtendedGridIndex2D__get_as_binary(self)
6158 
6159  def _set_from_binary(self, p):
6160  r"""_set_from_binary(ExtendedGridIndex2D self, PyObject * p)"""
6161  return _IMP_algebra.ExtendedGridIndex2D__set_from_binary(self, p)
6162 
6163  def __getstate__(self):
6164  p = self._get_as_binary()
6165  if len(self.__dict__) > 1:
6166  d = self.__dict__.copy()
6167  del d['this']
6168  p = (d, p)
6169  return p
6170 
6171  def __setstate__(self, p):
6172  if not hasattr(self, 'this'):
6173  self.__init__()
6174  if isinstance(p, tuple):
6175  d, p = p
6176  self.__dict__.update(d)
6177  return self._set_from_binary(p)
6178 
6179  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex2D
6180 
6181 # Register ExtendedGridIndex2D in _IMP_algebra:
6182 _IMP_algebra.ExtendedGridIndex2D_swigregister(ExtendedGridIndex2D)
6183 class ExtendedGridIndex3D(IMP._Value):
6184  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 3 > class."""
6185 
6186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6187 
6188  def __init__(self, *args):
6189  r"""
6190  __init__(ExtendedGridIndex3D self, IMP::Ints vals) -> ExtendedGridIndex3D
6191  __init__(ExtendedGridIndex3D self, int x) -> ExtendedGridIndex3D
6192  __init__(ExtendedGridIndex3D self, int x, int y) -> ExtendedGridIndex3D
6193  __init__(ExtendedGridIndex3D self, int x, int y, int z) -> ExtendedGridIndex3D
6194  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l) -> ExtendedGridIndex3D
6195  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex3D
6196  __init__(ExtendedGridIndex3D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex3D
6197  __init__(ExtendedGridIndex3D self) -> ExtendedGridIndex3D
6198  """
6199  _IMP_algebra.ExtendedGridIndex3D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex3D(*args))
6200 
6201  def get_dimension(self):
6202  r"""get_dimension(ExtendedGridIndex3D self) -> unsigned int"""
6203  return _IMP_algebra.ExtendedGridIndex3D_get_dimension(self)
6204 
6205  def __cmp__(self, o):
6206  r"""__cmp__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> int"""
6207  return _IMP_algebra.ExtendedGridIndex3D___cmp__(self, o)
6208 
6209  def __eq__(self, o):
6210  r"""__eq__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6211  return _IMP_algebra.ExtendedGridIndex3D___eq__(self, o)
6212 
6213  def __ne__(self, o):
6214  r"""__ne__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6215  return _IMP_algebra.ExtendedGridIndex3D___ne__(self, o)
6216 
6217  def __lt__(self, o):
6218  r"""__lt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6219  return _IMP_algebra.ExtendedGridIndex3D___lt__(self, o)
6220 
6221  def __gt__(self, o):
6222  r"""__gt__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6223  return _IMP_algebra.ExtendedGridIndex3D___gt__(self, o)
6224 
6225  def __ge__(self, o):
6226  r"""__ge__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6227  return _IMP_algebra.ExtendedGridIndex3D___ge__(self, o)
6228 
6229  def __le__(self, o):
6230  r"""__le__(ExtendedGridIndex3D self, ExtendedGridIndex3D o) -> bool"""
6231  return _IMP_algebra.ExtendedGridIndex3D___le__(self, o)
6232 
6233  def __setitem__(self, i, v):
6234  r"""__setitem__(ExtendedGridIndex3D self, unsigned int i, int const & v)"""
6235  return _IMP_algebra.ExtendedGridIndex3D___setitem__(self, i, v)
6236 
6237  def __getitem__(self, i):
6238  r"""__getitem__(ExtendedGridIndex3D self, unsigned int i) -> int const &"""
6239  return _IMP_algebra.ExtendedGridIndex3D___getitem__(self, i)
6240 
6241  def show(self, *args):
6242  r"""show(ExtendedGridIndex3D self, _ostream out=std::cout)"""
6243  return _IMP_algebra.ExtendedGridIndex3D_show(self, *args)
6244 
6245  def __len__(self):
6246  r"""__len__(ExtendedGridIndex3D self) -> unsigned int"""
6247  return _IMP_algebra.ExtendedGridIndex3D___len__(self)
6248 
6249  def __hash__(self):
6250  r"""__hash__(ExtendedGridIndex3D self) -> std::size_t"""
6251  return _IMP_algebra.ExtendedGridIndex3D___hash__(self)
6252 
6253  def get_uniform_offset(self, ii):
6254  r"""get_uniform_offset(ExtendedGridIndex3D self, int ii) -> ExtendedGridIndex3D"""
6255  return _IMP_algebra.ExtendedGridIndex3D_get_uniform_offset(self, ii)
6256 
6257  def get_offset(self, i, j, k):
6258  r"""get_offset(ExtendedGridIndex3D self, int i, int j, int k) -> ExtendedGridIndex3D"""
6259  return _IMP_algebra.ExtendedGridIndex3D_get_offset(self, i, j, k)
6260 
6261  def __str__(self):
6262  r"""__str__(ExtendedGridIndex3D self) -> std::string"""
6263  return _IMP_algebra.ExtendedGridIndex3D___str__(self)
6264 
6265  def __repr__(self):
6266  r"""__repr__(ExtendedGridIndex3D self) -> std::string"""
6267  return _IMP_algebra.ExtendedGridIndex3D___repr__(self)
6268 
6269  def _get_as_binary(self):
6270  r"""_get_as_binary(ExtendedGridIndex3D self) -> PyObject *"""
6271  return _IMP_algebra.ExtendedGridIndex3D__get_as_binary(self)
6272 
6273  def _set_from_binary(self, p):
6274  r"""_set_from_binary(ExtendedGridIndex3D self, PyObject * p)"""
6275  return _IMP_algebra.ExtendedGridIndex3D__set_from_binary(self, p)
6276 
6277  def __getstate__(self):
6278  p = self._get_as_binary()
6279  if len(self.__dict__) > 1:
6280  d = self.__dict__.copy()
6281  del d['this']
6282  p = (d, p)
6283  return p
6284 
6285  def __setstate__(self, p):
6286  if not hasattr(self, 'this'):
6287  self.__init__()
6288  if isinstance(p, tuple):
6289  d, p = p
6290  self.__dict__.update(d)
6291  return self._set_from_binary(p)
6292 
6293  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex3D
6294 
6295 # Register ExtendedGridIndex3D in _IMP_algebra:
6296 _IMP_algebra.ExtendedGridIndex3D_swigregister(ExtendedGridIndex3D)
6297 class ExtendedGridIndex4D(IMP._Value):
6298  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 4 > class."""
6299 
6300  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6301 
6302  def __init__(self, *args):
6303  r"""
6304  __init__(ExtendedGridIndex4D self, IMP::Ints vals) -> ExtendedGridIndex4D
6305  __init__(ExtendedGridIndex4D self, int x) -> ExtendedGridIndex4D
6306  __init__(ExtendedGridIndex4D self, int x, int y) -> ExtendedGridIndex4D
6307  __init__(ExtendedGridIndex4D self, int x, int y, int z) -> ExtendedGridIndex4D
6308  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l) -> ExtendedGridIndex4D
6309  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex4D
6310  __init__(ExtendedGridIndex4D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex4D
6311  __init__(ExtendedGridIndex4D self) -> ExtendedGridIndex4D
6312  """
6313  _IMP_algebra.ExtendedGridIndex4D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex4D(*args))
6314 
6315  def get_dimension(self):
6316  r"""get_dimension(ExtendedGridIndex4D self) -> unsigned int"""
6317  return _IMP_algebra.ExtendedGridIndex4D_get_dimension(self)
6318 
6319  def __cmp__(self, o):
6320  r"""__cmp__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> int"""
6321  return _IMP_algebra.ExtendedGridIndex4D___cmp__(self, o)
6322 
6323  def __eq__(self, o):
6324  r"""__eq__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6325  return _IMP_algebra.ExtendedGridIndex4D___eq__(self, o)
6326 
6327  def __ne__(self, o):
6328  r"""__ne__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6329  return _IMP_algebra.ExtendedGridIndex4D___ne__(self, o)
6330 
6331  def __lt__(self, o):
6332  r"""__lt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6333  return _IMP_algebra.ExtendedGridIndex4D___lt__(self, o)
6334 
6335  def __gt__(self, o):
6336  r"""__gt__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6337  return _IMP_algebra.ExtendedGridIndex4D___gt__(self, o)
6338 
6339  def __ge__(self, o):
6340  r"""__ge__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6341  return _IMP_algebra.ExtendedGridIndex4D___ge__(self, o)
6342 
6343  def __le__(self, o):
6344  r"""__le__(ExtendedGridIndex4D self, ExtendedGridIndex4D o) -> bool"""
6345  return _IMP_algebra.ExtendedGridIndex4D___le__(self, o)
6346 
6347  def __setitem__(self, i, v):
6348  r"""__setitem__(ExtendedGridIndex4D self, unsigned int i, int const & v)"""
6349  return _IMP_algebra.ExtendedGridIndex4D___setitem__(self, i, v)
6350 
6351  def __getitem__(self, i):
6352  r"""__getitem__(ExtendedGridIndex4D self, unsigned int i) -> int const &"""
6353  return _IMP_algebra.ExtendedGridIndex4D___getitem__(self, i)
6354 
6355  def show(self, *args):
6356  r"""show(ExtendedGridIndex4D self, _ostream out=std::cout)"""
6357  return _IMP_algebra.ExtendedGridIndex4D_show(self, *args)
6358 
6359  def __len__(self):
6360  r"""__len__(ExtendedGridIndex4D self) -> unsigned int"""
6361  return _IMP_algebra.ExtendedGridIndex4D___len__(self)
6362 
6363  def __hash__(self):
6364  r"""__hash__(ExtendedGridIndex4D self) -> std::size_t"""
6365  return _IMP_algebra.ExtendedGridIndex4D___hash__(self)
6366 
6367  def get_uniform_offset(self, ii):
6368  r"""get_uniform_offset(ExtendedGridIndex4D self, int ii) -> ExtendedGridIndex4D"""
6369  return _IMP_algebra.ExtendedGridIndex4D_get_uniform_offset(self, ii)
6370 
6371  def get_offset(self, i, j, k):
6372  r"""get_offset(ExtendedGridIndex4D self, int i, int j, int k) -> ExtendedGridIndex4D"""
6373  return _IMP_algebra.ExtendedGridIndex4D_get_offset(self, i, j, k)
6374 
6375  def __str__(self):
6376  r"""__str__(ExtendedGridIndex4D self) -> std::string"""
6377  return _IMP_algebra.ExtendedGridIndex4D___str__(self)
6378 
6379  def __repr__(self):
6380  r"""__repr__(ExtendedGridIndex4D self) -> std::string"""
6381  return _IMP_algebra.ExtendedGridIndex4D___repr__(self)
6382 
6383  def _get_as_binary(self):
6384  r"""_get_as_binary(ExtendedGridIndex4D self) -> PyObject *"""
6385  return _IMP_algebra.ExtendedGridIndex4D__get_as_binary(self)
6386 
6387  def _set_from_binary(self, p):
6388  r"""_set_from_binary(ExtendedGridIndex4D self, PyObject * p)"""
6389  return _IMP_algebra.ExtendedGridIndex4D__set_from_binary(self, p)
6390 
6391  def __getstate__(self):
6392  p = self._get_as_binary()
6393  if len(self.__dict__) > 1:
6394  d = self.__dict__.copy()
6395  del d['this']
6396  p = (d, p)
6397  return p
6398 
6399  def __setstate__(self, p):
6400  if not hasattr(self, 'this'):
6401  self.__init__()
6402  if isinstance(p, tuple):
6403  d, p = p
6404  self.__dict__.update(d)
6405  return self._set_from_binary(p)
6406 
6407  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex4D
6408 
6409 # Register ExtendedGridIndex4D in _IMP_algebra:
6410 _IMP_algebra.ExtendedGridIndex4D_swigregister(ExtendedGridIndex4D)
6411 class ExtendedGridIndex5D(IMP._Value):
6412  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 5 > class."""
6413 
6414  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6415 
6416  def __init__(self, *args):
6417  r"""
6418  __init__(ExtendedGridIndex5D self, IMP::Ints vals) -> ExtendedGridIndex5D
6419  __init__(ExtendedGridIndex5D self, int x) -> ExtendedGridIndex5D
6420  __init__(ExtendedGridIndex5D self, int x, int y) -> ExtendedGridIndex5D
6421  __init__(ExtendedGridIndex5D self, int x, int y, int z) -> ExtendedGridIndex5D
6422  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l) -> ExtendedGridIndex5D
6423  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex5D
6424  __init__(ExtendedGridIndex5D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex5D
6425  __init__(ExtendedGridIndex5D self) -> ExtendedGridIndex5D
6426  """
6427  _IMP_algebra.ExtendedGridIndex5D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex5D(*args))
6428 
6429  def get_dimension(self):
6430  r"""get_dimension(ExtendedGridIndex5D self) -> unsigned int"""
6431  return _IMP_algebra.ExtendedGridIndex5D_get_dimension(self)
6432 
6433  def __cmp__(self, o):
6434  r"""__cmp__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> int"""
6435  return _IMP_algebra.ExtendedGridIndex5D___cmp__(self, o)
6436 
6437  def __eq__(self, o):
6438  r"""__eq__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6439  return _IMP_algebra.ExtendedGridIndex5D___eq__(self, o)
6440 
6441  def __ne__(self, o):
6442  r"""__ne__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6443  return _IMP_algebra.ExtendedGridIndex5D___ne__(self, o)
6444 
6445  def __lt__(self, o):
6446  r"""__lt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6447  return _IMP_algebra.ExtendedGridIndex5D___lt__(self, o)
6448 
6449  def __gt__(self, o):
6450  r"""__gt__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6451  return _IMP_algebra.ExtendedGridIndex5D___gt__(self, o)
6452 
6453  def __ge__(self, o):
6454  r"""__ge__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6455  return _IMP_algebra.ExtendedGridIndex5D___ge__(self, o)
6456 
6457  def __le__(self, o):
6458  r"""__le__(ExtendedGridIndex5D self, ExtendedGridIndex5D o) -> bool"""
6459  return _IMP_algebra.ExtendedGridIndex5D___le__(self, o)
6460 
6461  def __setitem__(self, i, v):
6462  r"""__setitem__(ExtendedGridIndex5D self, unsigned int i, int const & v)"""
6463  return _IMP_algebra.ExtendedGridIndex5D___setitem__(self, i, v)
6464 
6465  def __getitem__(self, i):
6466  r"""__getitem__(ExtendedGridIndex5D self, unsigned int i) -> int const &"""
6467  return _IMP_algebra.ExtendedGridIndex5D___getitem__(self, i)
6468 
6469  def show(self, *args):
6470  r"""show(ExtendedGridIndex5D self, _ostream out=std::cout)"""
6471  return _IMP_algebra.ExtendedGridIndex5D_show(self, *args)
6472 
6473  def __len__(self):
6474  r"""__len__(ExtendedGridIndex5D self) -> unsigned int"""
6475  return _IMP_algebra.ExtendedGridIndex5D___len__(self)
6476 
6477  def __hash__(self):
6478  r"""__hash__(ExtendedGridIndex5D self) -> std::size_t"""
6479  return _IMP_algebra.ExtendedGridIndex5D___hash__(self)
6480 
6481  def get_uniform_offset(self, ii):
6482  r"""get_uniform_offset(ExtendedGridIndex5D self, int ii) -> ExtendedGridIndex5D"""
6483  return _IMP_algebra.ExtendedGridIndex5D_get_uniform_offset(self, ii)
6484 
6485  def get_offset(self, i, j, k):
6486  r"""get_offset(ExtendedGridIndex5D self, int i, int j, int k) -> ExtendedGridIndex5D"""
6487  return _IMP_algebra.ExtendedGridIndex5D_get_offset(self, i, j, k)
6488 
6489  def __str__(self):
6490  r"""__str__(ExtendedGridIndex5D self) -> std::string"""
6491  return _IMP_algebra.ExtendedGridIndex5D___str__(self)
6492 
6493  def __repr__(self):
6494  r"""__repr__(ExtendedGridIndex5D self) -> std::string"""
6495  return _IMP_algebra.ExtendedGridIndex5D___repr__(self)
6496 
6497  def _get_as_binary(self):
6498  r"""_get_as_binary(ExtendedGridIndex5D self) -> PyObject *"""
6499  return _IMP_algebra.ExtendedGridIndex5D__get_as_binary(self)
6500 
6501  def _set_from_binary(self, p):
6502  r"""_set_from_binary(ExtendedGridIndex5D self, PyObject * p)"""
6503  return _IMP_algebra.ExtendedGridIndex5D__set_from_binary(self, p)
6504 
6505  def __getstate__(self):
6506  p = self._get_as_binary()
6507  if len(self.__dict__) > 1:
6508  d = self.__dict__.copy()
6509  del d['this']
6510  p = (d, p)
6511  return p
6512 
6513  def __setstate__(self, p):
6514  if not hasattr(self, 'this'):
6515  self.__init__()
6516  if isinstance(p, tuple):
6517  d, p = p
6518  self.__dict__.update(d)
6519  return self._set_from_binary(p)
6520 
6521  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex5D
6522 
6523 # Register ExtendedGridIndex5D in _IMP_algebra:
6524 _IMP_algebra.ExtendedGridIndex5D_swigregister(ExtendedGridIndex5D)
6525 class ExtendedGridIndex6D(IMP._Value):
6526  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< 6 > class."""
6527 
6528  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6529 
6530  def __init__(self, *args):
6531  r"""
6532  __init__(ExtendedGridIndex6D self, IMP::Ints vals) -> ExtendedGridIndex6D
6533  __init__(ExtendedGridIndex6D self, int x) -> ExtendedGridIndex6D
6534  __init__(ExtendedGridIndex6D self, int x, int y) -> ExtendedGridIndex6D
6535  __init__(ExtendedGridIndex6D self, int x, int y, int z) -> ExtendedGridIndex6D
6536  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l) -> ExtendedGridIndex6D
6537  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m) -> ExtendedGridIndex6D
6538  __init__(ExtendedGridIndex6D self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndex6D
6539  __init__(ExtendedGridIndex6D self) -> ExtendedGridIndex6D
6540  """
6541  _IMP_algebra.ExtendedGridIndex6D_swiginit(self, _IMP_algebra.new_ExtendedGridIndex6D(*args))
6542 
6543  def get_dimension(self):
6544  r"""get_dimension(ExtendedGridIndex6D self) -> unsigned int"""
6545  return _IMP_algebra.ExtendedGridIndex6D_get_dimension(self)
6546 
6547  def __cmp__(self, o):
6548  r"""__cmp__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> int"""
6549  return _IMP_algebra.ExtendedGridIndex6D___cmp__(self, o)
6550 
6551  def __eq__(self, o):
6552  r"""__eq__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6553  return _IMP_algebra.ExtendedGridIndex6D___eq__(self, o)
6554 
6555  def __ne__(self, o):
6556  r"""__ne__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6557  return _IMP_algebra.ExtendedGridIndex6D___ne__(self, o)
6558 
6559  def __lt__(self, o):
6560  r"""__lt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6561  return _IMP_algebra.ExtendedGridIndex6D___lt__(self, o)
6562 
6563  def __gt__(self, o):
6564  r"""__gt__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6565  return _IMP_algebra.ExtendedGridIndex6D___gt__(self, o)
6566 
6567  def __ge__(self, o):
6568  r"""__ge__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6569  return _IMP_algebra.ExtendedGridIndex6D___ge__(self, o)
6570 
6571  def __le__(self, o):
6572  r"""__le__(ExtendedGridIndex6D self, ExtendedGridIndex6D o) -> bool"""
6573  return _IMP_algebra.ExtendedGridIndex6D___le__(self, o)
6574 
6575  def __setitem__(self, i, v):
6576  r"""__setitem__(ExtendedGridIndex6D self, unsigned int i, int const & v)"""
6577  return _IMP_algebra.ExtendedGridIndex6D___setitem__(self, i, v)
6578 
6579  def __getitem__(self, i):
6580  r"""__getitem__(ExtendedGridIndex6D self, unsigned int i) -> int const &"""
6581  return _IMP_algebra.ExtendedGridIndex6D___getitem__(self, i)
6582 
6583  def show(self, *args):
6584  r"""show(ExtendedGridIndex6D self, _ostream out=std::cout)"""
6585  return _IMP_algebra.ExtendedGridIndex6D_show(self, *args)
6586 
6587  def __len__(self):
6588  r"""__len__(ExtendedGridIndex6D self) -> unsigned int"""
6589  return _IMP_algebra.ExtendedGridIndex6D___len__(self)
6590 
6591  def __hash__(self):
6592  r"""__hash__(ExtendedGridIndex6D self) -> std::size_t"""
6593  return _IMP_algebra.ExtendedGridIndex6D___hash__(self)
6594 
6595  def get_uniform_offset(self, ii):
6596  r"""get_uniform_offset(ExtendedGridIndex6D self, int ii) -> ExtendedGridIndex6D"""
6597  return _IMP_algebra.ExtendedGridIndex6D_get_uniform_offset(self, ii)
6598 
6599  def get_offset(self, i, j, k):
6600  r"""get_offset(ExtendedGridIndex6D self, int i, int j, int k) -> ExtendedGridIndex6D"""
6601  return _IMP_algebra.ExtendedGridIndex6D_get_offset(self, i, j, k)
6602 
6603  def __str__(self):
6604  r"""__str__(ExtendedGridIndex6D self) -> std::string"""
6605  return _IMP_algebra.ExtendedGridIndex6D___str__(self)
6606 
6607  def __repr__(self):
6608  r"""__repr__(ExtendedGridIndex6D self) -> std::string"""
6609  return _IMP_algebra.ExtendedGridIndex6D___repr__(self)
6610 
6611  def _get_as_binary(self):
6612  r"""_get_as_binary(ExtendedGridIndex6D self) -> PyObject *"""
6613  return _IMP_algebra.ExtendedGridIndex6D__get_as_binary(self)
6614 
6615  def _set_from_binary(self, p):
6616  r"""_set_from_binary(ExtendedGridIndex6D self, PyObject * p)"""
6617  return _IMP_algebra.ExtendedGridIndex6D__set_from_binary(self, p)
6618 
6619  def __getstate__(self):
6620  p = self._get_as_binary()
6621  if len(self.__dict__) > 1:
6622  d = self.__dict__.copy()
6623  del d['this']
6624  p = (d, p)
6625  return p
6626 
6627  def __setstate__(self, p):
6628  if not hasattr(self, 'this'):
6629  self.__init__()
6630  if isinstance(p, tuple):
6631  d, p = p
6632  self.__dict__.update(d)
6633  return self._set_from_binary(p)
6634 
6635  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndex6D
6636 
6637 # Register ExtendedGridIndex6D in _IMP_algebra:
6638 _IMP_algebra.ExtendedGridIndex6D_swigregister(ExtendedGridIndex6D)
6639 class ExtendedGridIndexKD(IMP._Value):
6640  r"""Proxy of C++ IMP::algebra::ExtendedGridIndexD< -1 > class."""
6641 
6642  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6643 
6644  def __init__(self, *args):
6645  r"""
6646  __init__(ExtendedGridIndexKD self, IMP::Ints vals) -> ExtendedGridIndexKD
6647  __init__(ExtendedGridIndexKD self, int x) -> ExtendedGridIndexKD
6648  __init__(ExtendedGridIndexKD self, int x, int y) -> ExtendedGridIndexKD
6649  __init__(ExtendedGridIndexKD self, int x, int y, int z) -> ExtendedGridIndexKD
6650  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l) -> ExtendedGridIndexKD
6651  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m) -> ExtendedGridIndexKD
6652  __init__(ExtendedGridIndexKD self, int i, int j, int k, int l, int m, int n) -> ExtendedGridIndexKD
6653  __init__(ExtendedGridIndexKD self) -> ExtendedGridIndexKD
6654  """
6655  _IMP_algebra.ExtendedGridIndexKD_swiginit(self, _IMP_algebra.new_ExtendedGridIndexKD(*args))
6656 
6657  def get_dimension(self):
6658  r"""get_dimension(ExtendedGridIndexKD self) -> unsigned int"""
6659  return _IMP_algebra.ExtendedGridIndexKD_get_dimension(self)
6660 
6661  def __cmp__(self, o):
6662  r"""__cmp__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> int"""
6663  return _IMP_algebra.ExtendedGridIndexKD___cmp__(self, o)
6664 
6665  def __eq__(self, o):
6666  r"""__eq__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6667  return _IMP_algebra.ExtendedGridIndexKD___eq__(self, o)
6668 
6669  def __ne__(self, o):
6670  r"""__ne__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6671  return _IMP_algebra.ExtendedGridIndexKD___ne__(self, o)
6672 
6673  def __lt__(self, o):
6674  r"""__lt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6675  return _IMP_algebra.ExtendedGridIndexKD___lt__(self, o)
6676 
6677  def __gt__(self, o):
6678  r"""__gt__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6679  return _IMP_algebra.ExtendedGridIndexKD___gt__(self, o)
6680 
6681  def __ge__(self, o):
6682  r"""__ge__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6683  return _IMP_algebra.ExtendedGridIndexKD___ge__(self, o)
6684 
6685  def __le__(self, o):
6686  r"""__le__(ExtendedGridIndexKD self, ExtendedGridIndexKD o) -> bool"""
6687  return _IMP_algebra.ExtendedGridIndexKD___le__(self, o)
6688 
6689  def __setitem__(self, i, v):
6690  r"""__setitem__(ExtendedGridIndexKD self, unsigned int i, int const & v)"""
6691  return _IMP_algebra.ExtendedGridIndexKD___setitem__(self, i, v)
6692 
6693  def __getitem__(self, i):
6694  r"""__getitem__(ExtendedGridIndexKD self, unsigned int i) -> int const &"""
6695  return _IMP_algebra.ExtendedGridIndexKD___getitem__(self, i)
6696 
6697  def show(self, *args):
6698  r"""show(ExtendedGridIndexKD self, _ostream out=std::cout)"""
6699  return _IMP_algebra.ExtendedGridIndexKD_show(self, *args)
6700 
6701  def __len__(self):
6702  r"""__len__(ExtendedGridIndexKD self) -> unsigned int"""
6703  return _IMP_algebra.ExtendedGridIndexKD___len__(self)
6704 
6705  def __hash__(self):
6706  r"""__hash__(ExtendedGridIndexKD self) -> std::size_t"""
6707  return _IMP_algebra.ExtendedGridIndexKD___hash__(self)
6708 
6709  def get_uniform_offset(self, ii):
6710  r"""get_uniform_offset(ExtendedGridIndexKD self, int ii) -> ExtendedGridIndexKD"""
6711  return _IMP_algebra.ExtendedGridIndexKD_get_uniform_offset(self, ii)
6712 
6713  def get_offset(self, i, j, k):
6714  r"""get_offset(ExtendedGridIndexKD self, int i, int j, int k) -> ExtendedGridIndexKD"""
6715  return _IMP_algebra.ExtendedGridIndexKD_get_offset(self, i, j, k)
6716 
6717  def __str__(self):
6718  r"""__str__(ExtendedGridIndexKD self) -> std::string"""
6719  return _IMP_algebra.ExtendedGridIndexKD___str__(self)
6720 
6721  def __repr__(self):
6722  r"""__repr__(ExtendedGridIndexKD self) -> std::string"""
6723  return _IMP_algebra.ExtendedGridIndexKD___repr__(self)
6724 
6725  def _get_as_binary(self):
6726  r"""_get_as_binary(ExtendedGridIndexKD self) -> PyObject *"""
6727  return _IMP_algebra.ExtendedGridIndexKD__get_as_binary(self)
6728 
6729  def _set_from_binary(self, p):
6730  r"""_set_from_binary(ExtendedGridIndexKD self, PyObject * p)"""
6731  return _IMP_algebra.ExtendedGridIndexKD__set_from_binary(self, p)
6732 
6733  def __getstate__(self):
6734  p = self._get_as_binary()
6735  if len(self.__dict__) > 1:
6736  d = self.__dict__.copy()
6737  del d['this']
6738  p = (d, p)
6739  return p
6740 
6741  def __setstate__(self, p):
6742  if not hasattr(self, 'this'):
6743  self.__init__()
6744  if isinstance(p, tuple):
6745  d, p = p
6746  self.__dict__.update(d)
6747  return self._set_from_binary(p)
6748 
6749  __swig_destroy__ = _IMP_algebra.delete_ExtendedGridIndexKD
6750 
6751 # Register ExtendedGridIndexKD in _IMP_algebra:
6752 _IMP_algebra.ExtendedGridIndexKD_swigregister(ExtendedGridIndexKD)
6753 class BoundedGridRange1D(object):
6754  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 1 > class."""
6755 
6756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6757 
6758  @staticmethod
6759  def get_is_bounded():
6760  r"""get_is_bounded() -> bool"""
6761  return _IMP_algebra.BoundedGridRange1D_get_is_bounded()
6762 
6763  def __init__(self, *args):
6764  r"""
6765  __init__(BoundedGridRange1D self) -> BoundedGridRange1D
6766  __init__(BoundedGridRange1D self, IMP::Ints const & counts) -> BoundedGridRange1D
6767  """
6768  _IMP_algebra.BoundedGridRange1D_swiginit(self, _IMP_algebra.new_BoundedGridRange1D(*args))
6769 
6770  def get_number_of_voxels(self, *args):
6771  r"""
6772  get_number_of_voxels(BoundedGridRange1D self, unsigned int i) -> unsigned int
6773  get_number_of_voxels(BoundedGridRange1D self) -> unsigned int
6774  """
6775  return _IMP_algebra.BoundedGridRange1D_get_number_of_voxels(self, *args)
6776 
6777  def get_end_index(self):
6778  r"""get_end_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6779  return _IMP_algebra.BoundedGridRange1D_get_end_index(self)
6780 
6781  def show(self, *args):
6782  r"""show(BoundedGridRange1D self, _ostream out=std::cout)"""
6783  return _IMP_algebra.BoundedGridRange1D_show(self, *args)
6784 
6785  def get_all_indexes(self):
6786  r"""get_all_indexes(BoundedGridRange1D self) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
6787  return _IMP_algebra.BoundedGridRange1D_get_all_indexes(self)
6788 
6789  def get_indexes(self, lb, ub):
6790  r"""get_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 1 > >"""
6791  return _IMP_algebra.BoundedGridRange1D_get_indexes(self, lb, ub)
6792 
6793  def get_extended_indexes(self, lb, ub):
6794  r"""get_extended_indexes(BoundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
6795  return _IMP_algebra.BoundedGridRange1D_get_extended_indexes(self, lb, ub)
6796 
6797  def get_index(self, v):
6798  r"""get_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> GridIndex1D"""
6799  return _IMP_algebra.BoundedGridRange1D_get_index(self, v)
6800 
6801  def get_has_index(self, v):
6802  r"""get_has_index(BoundedGridRange1D self, ExtendedGridIndex1D v) -> bool"""
6803  return _IMP_algebra.BoundedGridRange1D_get_has_index(self, v)
6804 
6805  def get_minimum_extended_index(self):
6806  r"""get_minimum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6807  return _IMP_algebra.BoundedGridRange1D_get_minimum_extended_index(self)
6808 
6809  def get_maximum_extended_index(self):
6810  r"""get_maximum_extended_index(BoundedGridRange1D self) -> ExtendedGridIndex1D"""
6811  return _IMP_algebra.BoundedGridRange1D_get_maximum_extended_index(self)
6812 
6813  def __str__(self):
6814  r"""__str__(BoundedGridRange1D self) -> std::string"""
6815  return _IMP_algebra.BoundedGridRange1D___str__(self)
6816 
6817  def __repr__(self):
6818  r"""__repr__(BoundedGridRange1D self) -> std::string"""
6819  return _IMP_algebra.BoundedGridRange1D___repr__(self)
6820 
6821  def __cmp__(self, arg2):
6822  r"""__cmp__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> int"""
6823  return _IMP_algebra.BoundedGridRange1D___cmp__(self, arg2)
6824 
6825  def __eq__(self, arg2):
6826  r"""__eq__(BoundedGridRange1D self, BoundedGridRange1D arg2) -> bool"""
6827  return _IMP_algebra.BoundedGridRange1D___eq__(self, arg2)
6828 
6829  def _get_as_binary(self):
6830  r"""_get_as_binary(BoundedGridRange1D self) -> PyObject *"""
6831  return _IMP_algebra.BoundedGridRange1D__get_as_binary(self)
6832 
6833  def _set_from_binary(self, p):
6834  r"""_set_from_binary(BoundedGridRange1D self, PyObject * p)"""
6835  return _IMP_algebra.BoundedGridRange1D__set_from_binary(self, p)
6836 
6837  def __getstate__(self):
6838  p = self._get_as_binary()
6839  if len(self.__dict__) > 1:
6840  d = self.__dict__.copy()
6841  del d['this']
6842  p = (d, p)
6843  return p
6844 
6845  def __setstate__(self, p):
6846  if not hasattr(self, 'this'):
6847  self.__init__()
6848  if isinstance(p, tuple):
6849  d, p = p
6850  self.__dict__.update(d)
6851  return self._set_from_binary(p)
6852 
6853  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange1D
6854 
6855 # Register BoundedGridRange1D in _IMP_algebra:
6856 _IMP_algebra.BoundedGridRange1D_swigregister(BoundedGridRange1D)
6857 class BoundedGridRange2D(object):
6858  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 2 > class."""
6859 
6860  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6861 
6862  @staticmethod
6863  def get_is_bounded():
6864  r"""get_is_bounded() -> bool"""
6865  return _IMP_algebra.BoundedGridRange2D_get_is_bounded()
6866 
6867  def __init__(self, *args):
6868  r"""
6869  __init__(BoundedGridRange2D self) -> BoundedGridRange2D
6870  __init__(BoundedGridRange2D self, IMP::Ints const & counts) -> BoundedGridRange2D
6871  """
6872  _IMP_algebra.BoundedGridRange2D_swiginit(self, _IMP_algebra.new_BoundedGridRange2D(*args))
6873 
6874  def get_number_of_voxels(self, *args):
6875  r"""
6876  get_number_of_voxels(BoundedGridRange2D self, unsigned int i) -> unsigned int
6877  get_number_of_voxels(BoundedGridRange2D self) -> unsigned int
6878  """
6879  return _IMP_algebra.BoundedGridRange2D_get_number_of_voxels(self, *args)
6880 
6881  def get_end_index(self):
6882  r"""get_end_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6883  return _IMP_algebra.BoundedGridRange2D_get_end_index(self)
6884 
6885  def show(self, *args):
6886  r"""show(BoundedGridRange2D self, _ostream out=std::cout)"""
6887  return _IMP_algebra.BoundedGridRange2D_show(self, *args)
6888 
6889  def get_all_indexes(self):
6890  r"""get_all_indexes(BoundedGridRange2D self) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
6891  return _IMP_algebra.BoundedGridRange2D_get_all_indexes(self)
6892 
6893  def get_indexes(self, lb, ub):
6894  r"""get_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 2 > >"""
6895  return _IMP_algebra.BoundedGridRange2D_get_indexes(self, lb, ub)
6896 
6897  def get_extended_indexes(self, lb, ub):
6898  r"""get_extended_indexes(BoundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
6899  return _IMP_algebra.BoundedGridRange2D_get_extended_indexes(self, lb, ub)
6900 
6901  def get_index(self, v):
6902  r"""get_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> GridIndex2D"""
6903  return _IMP_algebra.BoundedGridRange2D_get_index(self, v)
6904 
6905  def get_has_index(self, v):
6906  r"""get_has_index(BoundedGridRange2D self, ExtendedGridIndex2D v) -> bool"""
6907  return _IMP_algebra.BoundedGridRange2D_get_has_index(self, v)
6908 
6909  def get_minimum_extended_index(self):
6910  r"""get_minimum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6911  return _IMP_algebra.BoundedGridRange2D_get_minimum_extended_index(self)
6912 
6913  def get_maximum_extended_index(self):
6914  r"""get_maximum_extended_index(BoundedGridRange2D self) -> ExtendedGridIndex2D"""
6915  return _IMP_algebra.BoundedGridRange2D_get_maximum_extended_index(self)
6916 
6917  def __str__(self):
6918  r"""__str__(BoundedGridRange2D self) -> std::string"""
6919  return _IMP_algebra.BoundedGridRange2D___str__(self)
6920 
6921  def __repr__(self):
6922  r"""__repr__(BoundedGridRange2D self) -> std::string"""
6923  return _IMP_algebra.BoundedGridRange2D___repr__(self)
6924 
6925  def __cmp__(self, arg2):
6926  r"""__cmp__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> int"""
6927  return _IMP_algebra.BoundedGridRange2D___cmp__(self, arg2)
6928 
6929  def __eq__(self, arg2):
6930  r"""__eq__(BoundedGridRange2D self, BoundedGridRange2D arg2) -> bool"""
6931  return _IMP_algebra.BoundedGridRange2D___eq__(self, arg2)
6932 
6933  def _get_as_binary(self):
6934  r"""_get_as_binary(BoundedGridRange2D self) -> PyObject *"""
6935  return _IMP_algebra.BoundedGridRange2D__get_as_binary(self)
6936 
6937  def _set_from_binary(self, p):
6938  r"""_set_from_binary(BoundedGridRange2D self, PyObject * p)"""
6939  return _IMP_algebra.BoundedGridRange2D__set_from_binary(self, p)
6940 
6941  def __getstate__(self):
6942  p = self._get_as_binary()
6943  if len(self.__dict__) > 1:
6944  d = self.__dict__.copy()
6945  del d['this']
6946  p = (d, p)
6947  return p
6948 
6949  def __setstate__(self, p):
6950  if not hasattr(self, 'this'):
6951  self.__init__()
6952  if isinstance(p, tuple):
6953  d, p = p
6954  self.__dict__.update(d)
6955  return self._set_from_binary(p)
6956 
6957  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange2D
6958 
6959 # Register BoundedGridRange2D in _IMP_algebra:
6960 _IMP_algebra.BoundedGridRange2D_swigregister(BoundedGridRange2D)
6961 class BoundedGridRange3D(object):
6962  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 3 > class."""
6963 
6964  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6965 
6966  @staticmethod
6967  def get_is_bounded():
6968  r"""get_is_bounded() -> bool"""
6969  return _IMP_algebra.BoundedGridRange3D_get_is_bounded()
6970 
6971  def __init__(self, *args):
6972  r"""
6973  __init__(BoundedGridRange3D self) -> BoundedGridRange3D
6974  __init__(BoundedGridRange3D self, IMP::Ints const & counts) -> BoundedGridRange3D
6975  """
6976  _IMP_algebra.BoundedGridRange3D_swiginit(self, _IMP_algebra.new_BoundedGridRange3D(*args))
6977 
6978  def get_number_of_voxels(self, *args):
6979  r"""
6980  get_number_of_voxels(BoundedGridRange3D self, unsigned int i) -> unsigned int
6981  get_number_of_voxels(BoundedGridRange3D self) -> unsigned int
6982  """
6983  return _IMP_algebra.BoundedGridRange3D_get_number_of_voxels(self, *args)
6984 
6985  def get_end_index(self):
6986  r"""get_end_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
6987  return _IMP_algebra.BoundedGridRange3D_get_end_index(self)
6988 
6989  def show(self, *args):
6990  r"""show(BoundedGridRange3D self, _ostream out=std::cout)"""
6991  return _IMP_algebra.BoundedGridRange3D_show(self, *args)
6992 
6993  def get_all_indexes(self):
6994  r"""get_all_indexes(BoundedGridRange3D self) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6995  return _IMP_algebra.BoundedGridRange3D_get_all_indexes(self)
6996 
6997  def get_indexes(self, lb, ub):
6998  r"""get_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 3 > >"""
6999  return _IMP_algebra.BoundedGridRange3D_get_indexes(self, lb, ub)
7000 
7001  def get_extended_indexes(self, lb, ub):
7002  r"""get_extended_indexes(BoundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
7003  return _IMP_algebra.BoundedGridRange3D_get_extended_indexes(self, lb, ub)
7004 
7005  def get_index(self, v):
7006  r"""get_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> GridIndex3D"""
7007  return _IMP_algebra.BoundedGridRange3D_get_index(self, v)
7008 
7009  def get_has_index(self, v):
7010  r"""get_has_index(BoundedGridRange3D self, ExtendedGridIndex3D v) -> bool"""
7011  return _IMP_algebra.BoundedGridRange3D_get_has_index(self, v)
7012 
7013  def get_minimum_extended_index(self):
7014  r"""get_minimum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
7015  return _IMP_algebra.BoundedGridRange3D_get_minimum_extended_index(self)
7016 
7017  def get_maximum_extended_index(self):
7018  r"""get_maximum_extended_index(BoundedGridRange3D self) -> ExtendedGridIndex3D"""
7019  return _IMP_algebra.BoundedGridRange3D_get_maximum_extended_index(self)
7020 
7021  def __str__(self):
7022  r"""__str__(BoundedGridRange3D self) -> std::string"""
7023  return _IMP_algebra.BoundedGridRange3D___str__(self)
7024 
7025  def __repr__(self):
7026  r"""__repr__(BoundedGridRange3D self) -> std::string"""
7027  return _IMP_algebra.BoundedGridRange3D___repr__(self)
7028 
7029  def __cmp__(self, arg2):
7030  r"""__cmp__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> int"""
7031  return _IMP_algebra.BoundedGridRange3D___cmp__(self, arg2)
7032 
7033  def __eq__(self, arg2):
7034  r"""__eq__(BoundedGridRange3D self, BoundedGridRange3D arg2) -> bool"""
7035  return _IMP_algebra.BoundedGridRange3D___eq__(self, arg2)
7036 
7037  def _get_as_binary(self):
7038  r"""_get_as_binary(BoundedGridRange3D self) -> PyObject *"""
7039  return _IMP_algebra.BoundedGridRange3D__get_as_binary(self)
7040 
7041  def _set_from_binary(self, p):
7042  r"""_set_from_binary(BoundedGridRange3D self, PyObject * p)"""
7043  return _IMP_algebra.BoundedGridRange3D__set_from_binary(self, p)
7044 
7045  def __getstate__(self):
7046  p = self._get_as_binary()
7047  if len(self.__dict__) > 1:
7048  d = self.__dict__.copy()
7049  del d['this']
7050  p = (d, p)
7051  return p
7052 
7053  def __setstate__(self, p):
7054  if not hasattr(self, 'this'):
7055  self.__init__()
7056  if isinstance(p, tuple):
7057  d, p = p
7058  self.__dict__.update(d)
7059  return self._set_from_binary(p)
7060 
7061  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange3D
7062 
7063 # Register BoundedGridRange3D in _IMP_algebra:
7064 _IMP_algebra.BoundedGridRange3D_swigregister(BoundedGridRange3D)
7065 class BoundedGridRange4D(object):
7066  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 4 > class."""
7067 
7068  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7069 
7070  @staticmethod
7071  def get_is_bounded():
7072  r"""get_is_bounded() -> bool"""
7073  return _IMP_algebra.BoundedGridRange4D_get_is_bounded()
7074 
7075  def __init__(self, *args):
7076  r"""
7077  __init__(BoundedGridRange4D self) -> BoundedGridRange4D
7078  __init__(BoundedGridRange4D self, IMP::Ints const & counts) -> BoundedGridRange4D
7079  """
7080  _IMP_algebra.BoundedGridRange4D_swiginit(self, _IMP_algebra.new_BoundedGridRange4D(*args))
7081 
7082  def get_number_of_voxels(self, *args):
7083  r"""
7084  get_number_of_voxels(BoundedGridRange4D self, unsigned int i) -> unsigned int
7085  get_number_of_voxels(BoundedGridRange4D self) -> unsigned int
7086  """
7087  return _IMP_algebra.BoundedGridRange4D_get_number_of_voxels(self, *args)
7088 
7089  def get_end_index(self):
7090  r"""get_end_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7091  return _IMP_algebra.BoundedGridRange4D_get_end_index(self)
7092 
7093  def show(self, *args):
7094  r"""show(BoundedGridRange4D self, _ostream out=std::cout)"""
7095  return _IMP_algebra.BoundedGridRange4D_show(self, *args)
7096 
7097  def get_all_indexes(self):
7098  r"""get_all_indexes(BoundedGridRange4D self) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
7099  return _IMP_algebra.BoundedGridRange4D_get_all_indexes(self)
7100 
7101  def get_indexes(self, lb, ub):
7102  r"""get_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 4 > >"""
7103  return _IMP_algebra.BoundedGridRange4D_get_indexes(self, lb, ub)
7104 
7105  def get_extended_indexes(self, lb, ub):
7106  r"""get_extended_indexes(BoundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
7107  return _IMP_algebra.BoundedGridRange4D_get_extended_indexes(self, lb, ub)
7108 
7109  def get_index(self, v):
7110  r"""get_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> GridIndex4D"""
7111  return _IMP_algebra.BoundedGridRange4D_get_index(self, v)
7112 
7113  def get_has_index(self, v):
7114  r"""get_has_index(BoundedGridRange4D self, ExtendedGridIndex4D v) -> bool"""
7115  return _IMP_algebra.BoundedGridRange4D_get_has_index(self, v)
7116 
7117  def get_minimum_extended_index(self):
7118  r"""get_minimum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7119  return _IMP_algebra.BoundedGridRange4D_get_minimum_extended_index(self)
7120 
7121  def get_maximum_extended_index(self):
7122  r"""get_maximum_extended_index(BoundedGridRange4D self) -> ExtendedGridIndex4D"""
7123  return _IMP_algebra.BoundedGridRange4D_get_maximum_extended_index(self)
7124 
7125  def __str__(self):
7126  r"""__str__(BoundedGridRange4D self) -> std::string"""
7127  return _IMP_algebra.BoundedGridRange4D___str__(self)
7128 
7129  def __repr__(self):
7130  r"""__repr__(BoundedGridRange4D self) -> std::string"""
7131  return _IMP_algebra.BoundedGridRange4D___repr__(self)
7132 
7133  def __cmp__(self, arg2):
7134  r"""__cmp__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> int"""
7135  return _IMP_algebra.BoundedGridRange4D___cmp__(self, arg2)
7136 
7137  def __eq__(self, arg2):
7138  r"""__eq__(BoundedGridRange4D self, BoundedGridRange4D arg2) -> bool"""
7139  return _IMP_algebra.BoundedGridRange4D___eq__(self, arg2)
7140 
7141  def _get_as_binary(self):
7142  r"""_get_as_binary(BoundedGridRange4D self) -> PyObject *"""
7143  return _IMP_algebra.BoundedGridRange4D__get_as_binary(self)
7144 
7145  def _set_from_binary(self, p):
7146  r"""_set_from_binary(BoundedGridRange4D self, PyObject * p)"""
7147  return _IMP_algebra.BoundedGridRange4D__set_from_binary(self, p)
7148 
7149  def __getstate__(self):
7150  p = self._get_as_binary()
7151  if len(self.__dict__) > 1:
7152  d = self.__dict__.copy()
7153  del d['this']
7154  p = (d, p)
7155  return p
7156 
7157  def __setstate__(self, p):
7158  if not hasattr(self, 'this'):
7159  self.__init__()
7160  if isinstance(p, tuple):
7161  d, p = p
7162  self.__dict__.update(d)
7163  return self._set_from_binary(p)
7164 
7165  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange4D
7166 
7167 # Register BoundedGridRange4D in _IMP_algebra:
7168 _IMP_algebra.BoundedGridRange4D_swigregister(BoundedGridRange4D)
7169 class BoundedGridRange5D(object):
7170  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 5 > class."""
7171 
7172  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7173 
7174  @staticmethod
7175  def get_is_bounded():
7176  r"""get_is_bounded() -> bool"""
7177  return _IMP_algebra.BoundedGridRange5D_get_is_bounded()
7178 
7179  def __init__(self, *args):
7180  r"""
7181  __init__(BoundedGridRange5D self) -> BoundedGridRange5D
7182  __init__(BoundedGridRange5D self, IMP::Ints const & counts) -> BoundedGridRange5D
7183  """
7184  _IMP_algebra.BoundedGridRange5D_swiginit(self, _IMP_algebra.new_BoundedGridRange5D(*args))
7185 
7186  def get_number_of_voxels(self, *args):
7187  r"""
7188  get_number_of_voxels(BoundedGridRange5D self, unsigned int i) -> unsigned int
7189  get_number_of_voxels(BoundedGridRange5D self) -> unsigned int
7190  """
7191  return _IMP_algebra.BoundedGridRange5D_get_number_of_voxels(self, *args)
7192 
7193  def get_end_index(self):
7194  r"""get_end_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7195  return _IMP_algebra.BoundedGridRange5D_get_end_index(self)
7196 
7197  def show(self, *args):
7198  r"""show(BoundedGridRange5D self, _ostream out=std::cout)"""
7199  return _IMP_algebra.BoundedGridRange5D_show(self, *args)
7200 
7201  def get_all_indexes(self):
7202  r"""get_all_indexes(BoundedGridRange5D self) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
7203  return _IMP_algebra.BoundedGridRange5D_get_all_indexes(self)
7204 
7205  def get_indexes(self, lb, ub):
7206  r"""get_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 5 > >"""
7207  return _IMP_algebra.BoundedGridRange5D_get_indexes(self, lb, ub)
7208 
7209  def get_extended_indexes(self, lb, ub):
7210  r"""get_extended_indexes(BoundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
7211  return _IMP_algebra.BoundedGridRange5D_get_extended_indexes(self, lb, ub)
7212 
7213  def get_index(self, v):
7214  r"""get_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> GridIndex5D"""
7215  return _IMP_algebra.BoundedGridRange5D_get_index(self, v)
7216 
7217  def get_has_index(self, v):
7218  r"""get_has_index(BoundedGridRange5D self, ExtendedGridIndex5D v) -> bool"""
7219  return _IMP_algebra.BoundedGridRange5D_get_has_index(self, v)
7220 
7221  def get_minimum_extended_index(self):
7222  r"""get_minimum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7223  return _IMP_algebra.BoundedGridRange5D_get_minimum_extended_index(self)
7224 
7225  def get_maximum_extended_index(self):
7226  r"""get_maximum_extended_index(BoundedGridRange5D self) -> ExtendedGridIndex5D"""
7227  return _IMP_algebra.BoundedGridRange5D_get_maximum_extended_index(self)
7228 
7229  def __str__(self):
7230  r"""__str__(BoundedGridRange5D self) -> std::string"""
7231  return _IMP_algebra.BoundedGridRange5D___str__(self)
7232 
7233  def __repr__(self):
7234  r"""__repr__(BoundedGridRange5D self) -> std::string"""
7235  return _IMP_algebra.BoundedGridRange5D___repr__(self)
7236 
7237  def __cmp__(self, arg2):
7238  r"""__cmp__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> int"""
7239  return _IMP_algebra.BoundedGridRange5D___cmp__(self, arg2)
7240 
7241  def __eq__(self, arg2):
7242  r"""__eq__(BoundedGridRange5D self, BoundedGridRange5D arg2) -> bool"""
7243  return _IMP_algebra.BoundedGridRange5D___eq__(self, arg2)
7244 
7245  def _get_as_binary(self):
7246  r"""_get_as_binary(BoundedGridRange5D self) -> PyObject *"""
7247  return _IMP_algebra.BoundedGridRange5D__get_as_binary(self)
7248 
7249  def _set_from_binary(self, p):
7250  r"""_set_from_binary(BoundedGridRange5D self, PyObject * p)"""
7251  return _IMP_algebra.BoundedGridRange5D__set_from_binary(self, p)
7252 
7253  def __getstate__(self):
7254  p = self._get_as_binary()
7255  if len(self.__dict__) > 1:
7256  d = self.__dict__.copy()
7257  del d['this']
7258  p = (d, p)
7259  return p
7260 
7261  def __setstate__(self, p):
7262  if not hasattr(self, 'this'):
7263  self.__init__()
7264  if isinstance(p, tuple):
7265  d, p = p
7266  self.__dict__.update(d)
7267  return self._set_from_binary(p)
7268 
7269  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange5D
7270 
7271 # Register BoundedGridRange5D in _IMP_algebra:
7272 _IMP_algebra.BoundedGridRange5D_swigregister(BoundedGridRange5D)
7273 class BoundedGridRange6D(object):
7274  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< 6 > class."""
7275 
7276  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7277 
7278  @staticmethod
7279  def get_is_bounded():
7280  r"""get_is_bounded() -> bool"""
7281  return _IMP_algebra.BoundedGridRange6D_get_is_bounded()
7282 
7283  def __init__(self, *args):
7284  r"""
7285  __init__(BoundedGridRange6D self) -> BoundedGridRange6D
7286  __init__(BoundedGridRange6D self, IMP::Ints const & counts) -> BoundedGridRange6D
7287  """
7288  _IMP_algebra.BoundedGridRange6D_swiginit(self, _IMP_algebra.new_BoundedGridRange6D(*args))
7289 
7290  def get_number_of_voxels(self, *args):
7291  r"""
7292  get_number_of_voxels(BoundedGridRange6D self, unsigned int i) -> unsigned int
7293  get_number_of_voxels(BoundedGridRange6D self) -> unsigned int
7294  """
7295  return _IMP_algebra.BoundedGridRange6D_get_number_of_voxels(self, *args)
7296 
7297  def get_end_index(self):
7298  r"""get_end_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7299  return _IMP_algebra.BoundedGridRange6D_get_end_index(self)
7300 
7301  def show(self, *args):
7302  r"""show(BoundedGridRange6D self, _ostream out=std::cout)"""
7303  return _IMP_algebra.BoundedGridRange6D_show(self, *args)
7304 
7305  def get_all_indexes(self):
7306  r"""get_all_indexes(BoundedGridRange6D self) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
7307  return _IMP_algebra.BoundedGridRange6D_get_all_indexes(self)
7308 
7309  def get_indexes(self, lb, ub):
7310  r"""get_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::GridIndexD< 6 > >"""
7311  return _IMP_algebra.BoundedGridRange6D_get_indexes(self, lb, ub)
7312 
7313  def get_extended_indexes(self, lb, ub):
7314  r"""get_extended_indexes(BoundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
7315  return _IMP_algebra.BoundedGridRange6D_get_extended_indexes(self, lb, ub)
7316 
7317  def get_index(self, v):
7318  r"""get_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> GridIndex6D"""
7319  return _IMP_algebra.BoundedGridRange6D_get_index(self, v)
7320 
7321  def get_has_index(self, v):
7322  r"""get_has_index(BoundedGridRange6D self, ExtendedGridIndex6D v) -> bool"""
7323  return _IMP_algebra.BoundedGridRange6D_get_has_index(self, v)
7324 
7325  def get_minimum_extended_index(self):
7326  r"""get_minimum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7327  return _IMP_algebra.BoundedGridRange6D_get_minimum_extended_index(self)
7328 
7329  def get_maximum_extended_index(self):
7330  r"""get_maximum_extended_index(BoundedGridRange6D self) -> ExtendedGridIndex6D"""
7331  return _IMP_algebra.BoundedGridRange6D_get_maximum_extended_index(self)
7332 
7333  def __str__(self):
7334  r"""__str__(BoundedGridRange6D self) -> std::string"""
7335  return _IMP_algebra.BoundedGridRange6D___str__(self)
7336 
7337  def __repr__(self):
7338  r"""__repr__(BoundedGridRange6D self) -> std::string"""
7339  return _IMP_algebra.BoundedGridRange6D___repr__(self)
7340 
7341  def __cmp__(self, arg2):
7342  r"""__cmp__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> int"""
7343  return _IMP_algebra.BoundedGridRange6D___cmp__(self, arg2)
7344 
7345  def __eq__(self, arg2):
7346  r"""__eq__(BoundedGridRange6D self, BoundedGridRange6D arg2) -> bool"""
7347  return _IMP_algebra.BoundedGridRange6D___eq__(self, arg2)
7348 
7349  def _get_as_binary(self):
7350  r"""_get_as_binary(BoundedGridRange6D self) -> PyObject *"""
7351  return _IMP_algebra.BoundedGridRange6D__get_as_binary(self)
7352 
7353  def _set_from_binary(self, p):
7354  r"""_set_from_binary(BoundedGridRange6D self, PyObject * p)"""
7355  return _IMP_algebra.BoundedGridRange6D__set_from_binary(self, p)
7356 
7357  def __getstate__(self):
7358  p = self._get_as_binary()
7359  if len(self.__dict__) > 1:
7360  d = self.__dict__.copy()
7361  del d['this']
7362  p = (d, p)
7363  return p
7364 
7365  def __setstate__(self, p):
7366  if not hasattr(self, 'this'):
7367  self.__init__()
7368  if isinstance(p, tuple):
7369  d, p = p
7370  self.__dict__.update(d)
7371  return self._set_from_binary(p)
7372 
7373  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRange6D
7374 
7375 # Register BoundedGridRange6D in _IMP_algebra:
7376 _IMP_algebra.BoundedGridRange6D_swigregister(BoundedGridRange6D)
7377 class BoundedGridRangeKD(object):
7378  r"""Proxy of C++ IMP::algebra::BoundedGridRangeD< -1 > class."""
7379 
7380  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7381 
7382  @staticmethod
7383  def get_is_bounded():
7384  r"""get_is_bounded() -> bool"""
7385  return _IMP_algebra.BoundedGridRangeKD_get_is_bounded()
7386 
7387  def __init__(self, *args):
7388  r"""
7389  __init__(BoundedGridRangeKD self) -> BoundedGridRangeKD
7390  __init__(BoundedGridRangeKD self, IMP::Ints const & counts) -> BoundedGridRangeKD
7391  """
7392  _IMP_algebra.BoundedGridRangeKD_swiginit(self, _IMP_algebra.new_BoundedGridRangeKD(*args))
7393 
7394  def get_number_of_voxels(self, *args):
7395  r"""
7396  get_number_of_voxels(BoundedGridRangeKD self, unsigned int i) -> unsigned int
7397  get_number_of_voxels(BoundedGridRangeKD self) -> unsigned int
7398  """
7399  return _IMP_algebra.BoundedGridRangeKD_get_number_of_voxels(self, *args)
7400 
7401  def get_end_index(self):
7402  r"""get_end_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7403  return _IMP_algebra.BoundedGridRangeKD_get_end_index(self)
7404 
7405  def show(self, *args):
7406  r"""show(BoundedGridRangeKD self, _ostream out=std::cout)"""
7407  return _IMP_algebra.BoundedGridRangeKD_show(self, *args)
7408 
7409  def get_all_indexes(self):
7410  r"""get_all_indexes(BoundedGridRangeKD self) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
7411  return _IMP_algebra.BoundedGridRangeKD_get_all_indexes(self)
7412 
7413  def get_indexes(self, lb, ub):
7414  r"""get_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::GridIndexD< -1 > >"""
7415  return _IMP_algebra.BoundedGridRangeKD_get_indexes(self, lb, ub)
7416 
7417  def get_extended_indexes(self, lb, ub):
7418  r"""get_extended_indexes(BoundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
7419  return _IMP_algebra.BoundedGridRangeKD_get_extended_indexes(self, lb, ub)
7420 
7421  def get_index(self, v):
7422  r"""get_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> GridIndexKD"""
7423  return _IMP_algebra.BoundedGridRangeKD_get_index(self, v)
7424 
7425  def get_has_index(self, v):
7426  r"""get_has_index(BoundedGridRangeKD self, ExtendedGridIndexKD v) -> bool"""
7427  return _IMP_algebra.BoundedGridRangeKD_get_has_index(self, v)
7428 
7429  def get_minimum_extended_index(self):
7430  r"""get_minimum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7431  return _IMP_algebra.BoundedGridRangeKD_get_minimum_extended_index(self)
7432 
7433  def get_maximum_extended_index(self):
7434  r"""get_maximum_extended_index(BoundedGridRangeKD self) -> ExtendedGridIndexKD"""
7435  return _IMP_algebra.BoundedGridRangeKD_get_maximum_extended_index(self)
7436 
7437  def __str__(self):
7438  r"""__str__(BoundedGridRangeKD self) -> std::string"""
7439  return _IMP_algebra.BoundedGridRangeKD___str__(self)
7440 
7441  def __repr__(self):
7442  r"""__repr__(BoundedGridRangeKD self) -> std::string"""
7443  return _IMP_algebra.BoundedGridRangeKD___repr__(self)
7444 
7445  def __cmp__(self, arg2):
7446  r"""__cmp__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> int"""
7447  return _IMP_algebra.BoundedGridRangeKD___cmp__(self, arg2)
7448 
7449  def __eq__(self, arg2):
7450  r"""__eq__(BoundedGridRangeKD self, BoundedGridRangeKD arg2) -> bool"""
7451  return _IMP_algebra.BoundedGridRangeKD___eq__(self, arg2)
7452 
7453  def _get_as_binary(self):
7454  r"""_get_as_binary(BoundedGridRangeKD self) -> PyObject *"""
7455  return _IMP_algebra.BoundedGridRangeKD__get_as_binary(self)
7456 
7457  def _set_from_binary(self, p):
7458  r"""_set_from_binary(BoundedGridRangeKD self, PyObject * p)"""
7459  return _IMP_algebra.BoundedGridRangeKD__set_from_binary(self, p)
7460 
7461  def __getstate__(self):
7462  p = self._get_as_binary()
7463  if len(self.__dict__) > 1:
7464  d = self.__dict__.copy()
7465  del d['this']
7466  p = (d, p)
7467  return p
7468 
7469  def __setstate__(self, p):
7470  if not hasattr(self, 'this'):
7471  self.__init__()
7472  if isinstance(p, tuple):
7473  d, p = p
7474  self.__dict__.update(d)
7475  return self._set_from_binary(p)
7476 
7477  __swig_destroy__ = _IMP_algebra.delete_BoundedGridRangeKD
7478 
7479 # Register BoundedGridRangeKD in _IMP_algebra:
7480 _IMP_algebra.BoundedGridRangeKD_swigregister(BoundedGridRangeKD)
7481 class UnboundedGridRange1D(object):
7482  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 1 > class."""
7483 
7484  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7485 
7486  def __init__(self, *args):
7487  r"""
7488  __init__(UnboundedGridRange1D self) -> UnboundedGridRange1D
7489  __init__(UnboundedGridRange1D self, IMP::Ints const & arg2) -> UnboundedGridRange1D
7490  """
7491  _IMP_algebra.UnboundedGridRange1D_swiginit(self, _IMP_algebra.new_UnboundedGridRange1D(*args))
7492 
7493  def set_number_of_voxels(self, arg2):
7494  r"""set_number_of_voxels(UnboundedGridRange1D self, IMP::Ints arg2)"""
7495  return _IMP_algebra.UnboundedGridRange1D_set_number_of_voxels(self, arg2)
7496 
7497  def get_number_of_voxels(self, arg2):
7498  r"""get_number_of_voxels(UnboundedGridRange1D self, int arg2) -> unsigned int"""
7499  return _IMP_algebra.UnboundedGridRange1D_get_number_of_voxels(self, arg2)
7500 
7501  @staticmethod
7502  def get_is_bounded():
7503  r"""get_is_bounded() -> bool"""
7504  return _IMP_algebra.UnboundedGridRange1D_get_is_bounded()
7505 
7506  def get_has_index(self, arg2):
7507  r"""get_has_index(UnboundedGridRange1D self, ExtendedGridIndex1D arg2) -> bool"""
7508  return _IMP_algebra.UnboundedGridRange1D_get_has_index(self, arg2)
7509 
7510  def show(self, *args):
7511  r"""show(UnboundedGridRange1D self, _ostream out=std::cout)"""
7512  return _IMP_algebra.UnboundedGridRange1D_show(self, *args)
7513 
7514  def get_extended_indexes(self, lb, ub):
7515  r"""get_extended_indexes(UnboundedGridRange1D self, ExtendedGridIndex1D lb, ExtendedGridIndex1D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 1 > >"""
7516  return _IMP_algebra.UnboundedGridRange1D_get_extended_indexes(self, lb, ub)
7517 
7518  def __str__(self):
7519  r"""__str__(UnboundedGridRange1D self) -> std::string"""
7520  return _IMP_algebra.UnboundedGridRange1D___str__(self)
7521 
7522  def __repr__(self):
7523  r"""__repr__(UnboundedGridRange1D self) -> std::string"""
7524  return _IMP_algebra.UnboundedGridRange1D___repr__(self)
7525 
7526  def __cmp__(self, arg2):
7527  r"""__cmp__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> int"""
7528  return _IMP_algebra.UnboundedGridRange1D___cmp__(self, arg2)
7529 
7530  def __eq__(self, arg2):
7531  r"""__eq__(UnboundedGridRange1D self, UnboundedGridRange1D arg2) -> bool"""
7532  return _IMP_algebra.UnboundedGridRange1D___eq__(self, arg2)
7533 
7534  def _get_as_binary(self):
7535  r"""_get_as_binary(UnboundedGridRange1D self) -> PyObject *"""
7536  return _IMP_algebra.UnboundedGridRange1D__get_as_binary(self)
7537 
7538  def _set_from_binary(self, p):
7539  r"""_set_from_binary(UnboundedGridRange1D self, PyObject * p)"""
7540  return _IMP_algebra.UnboundedGridRange1D__set_from_binary(self, p)
7541 
7542  def __getstate__(self):
7543  p = self._get_as_binary()
7544  if len(self.__dict__) > 1:
7545  d = self.__dict__.copy()
7546  del d['this']
7547  p = (d, p)
7548  return p
7549 
7550  def __setstate__(self, p):
7551  if not hasattr(self, 'this'):
7552  self.__init__()
7553  if isinstance(p, tuple):
7554  d, p = p
7555  self.__dict__.update(d)
7556  return self._set_from_binary(p)
7557 
7558  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange1D
7559 
7560 # Register UnboundedGridRange1D in _IMP_algebra:
7561 _IMP_algebra.UnboundedGridRange1D_swigregister(UnboundedGridRange1D)
7562 class UnboundedGridRange2D(object):
7563  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 2 > class."""
7564 
7565  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7566 
7567  def __init__(self, *args):
7568  r"""
7569  __init__(UnboundedGridRange2D self) -> UnboundedGridRange2D
7570  __init__(UnboundedGridRange2D self, IMP::Ints const & arg2) -> UnboundedGridRange2D
7571  """
7572  _IMP_algebra.UnboundedGridRange2D_swiginit(self, _IMP_algebra.new_UnboundedGridRange2D(*args))
7573 
7574  def set_number_of_voxels(self, arg2):
7575  r"""set_number_of_voxels(UnboundedGridRange2D self, IMP::Ints arg2)"""
7576  return _IMP_algebra.UnboundedGridRange2D_set_number_of_voxels(self, arg2)
7577 
7578  def get_number_of_voxels(self, arg2):
7579  r"""get_number_of_voxels(UnboundedGridRange2D self, int arg2) -> unsigned int"""
7580  return _IMP_algebra.UnboundedGridRange2D_get_number_of_voxels(self, arg2)
7581 
7582  @staticmethod
7583  def get_is_bounded():
7584  r"""get_is_bounded() -> bool"""
7585  return _IMP_algebra.UnboundedGridRange2D_get_is_bounded()
7586 
7587  def get_has_index(self, arg2):
7588  r"""get_has_index(UnboundedGridRange2D self, ExtendedGridIndex2D arg2) -> bool"""
7589  return _IMP_algebra.UnboundedGridRange2D_get_has_index(self, arg2)
7590 
7591  def show(self, *args):
7592  r"""show(UnboundedGridRange2D self, _ostream out=std::cout)"""
7593  return _IMP_algebra.UnboundedGridRange2D_show(self, *args)
7594 
7595  def get_extended_indexes(self, lb, ub):
7596  r"""get_extended_indexes(UnboundedGridRange2D self, ExtendedGridIndex2D lb, ExtendedGridIndex2D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 2 > >"""
7597  return _IMP_algebra.UnboundedGridRange2D_get_extended_indexes(self, lb, ub)
7598 
7599  def __str__(self):
7600  r"""__str__(UnboundedGridRange2D self) -> std::string"""
7601  return _IMP_algebra.UnboundedGridRange2D___str__(self)
7602 
7603  def __repr__(self):
7604  r"""__repr__(UnboundedGridRange2D self) -> std::string"""
7605  return _IMP_algebra.UnboundedGridRange2D___repr__(self)
7606 
7607  def __cmp__(self, arg2):
7608  r"""__cmp__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> int"""
7609  return _IMP_algebra.UnboundedGridRange2D___cmp__(self, arg2)
7610 
7611  def __eq__(self, arg2):
7612  r"""__eq__(UnboundedGridRange2D self, UnboundedGridRange2D arg2) -> bool"""
7613  return _IMP_algebra.UnboundedGridRange2D___eq__(self, arg2)
7614 
7615  def _get_as_binary(self):
7616  r"""_get_as_binary(UnboundedGridRange2D self) -> PyObject *"""
7617  return _IMP_algebra.UnboundedGridRange2D__get_as_binary(self)
7618 
7619  def _set_from_binary(self, p):
7620  r"""_set_from_binary(UnboundedGridRange2D self, PyObject * p)"""
7621  return _IMP_algebra.UnboundedGridRange2D__set_from_binary(self, p)
7622 
7623  def __getstate__(self):
7624  p = self._get_as_binary()
7625  if len(self.__dict__) > 1:
7626  d = self.__dict__.copy()
7627  del d['this']
7628  p = (d, p)
7629  return p
7630 
7631  def __setstate__(self, p):
7632  if not hasattr(self, 'this'):
7633  self.__init__()
7634  if isinstance(p, tuple):
7635  d, p = p
7636  self.__dict__.update(d)
7637  return self._set_from_binary(p)
7638 
7639  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange2D
7640 
7641 # Register UnboundedGridRange2D in _IMP_algebra:
7642 _IMP_algebra.UnboundedGridRange2D_swigregister(UnboundedGridRange2D)
7643 class UnboundedGridRange3D(object):
7644  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 3 > class."""
7645 
7646  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7647 
7648  def __init__(self, *args):
7649  r"""
7650  __init__(UnboundedGridRange3D self) -> UnboundedGridRange3D
7651  __init__(UnboundedGridRange3D self, IMP::Ints const & arg2) -> UnboundedGridRange3D
7652  """
7653  _IMP_algebra.UnboundedGridRange3D_swiginit(self, _IMP_algebra.new_UnboundedGridRange3D(*args))
7654 
7655  def set_number_of_voxels(self, arg2):
7656  r"""set_number_of_voxels(UnboundedGridRange3D self, IMP::Ints arg2)"""
7657  return _IMP_algebra.UnboundedGridRange3D_set_number_of_voxels(self, arg2)
7658 
7659  def get_number_of_voxels(self, arg2):
7660  r"""get_number_of_voxels(UnboundedGridRange3D self, int arg2) -> unsigned int"""
7661  return _IMP_algebra.UnboundedGridRange3D_get_number_of_voxels(self, arg2)
7662 
7663  @staticmethod
7664  def get_is_bounded():
7665  r"""get_is_bounded() -> bool"""
7666  return _IMP_algebra.UnboundedGridRange3D_get_is_bounded()
7667 
7668  def get_has_index(self, arg2):
7669  r"""get_has_index(UnboundedGridRange3D self, ExtendedGridIndex3D arg2) -> bool"""
7670  return _IMP_algebra.UnboundedGridRange3D_get_has_index(self, arg2)
7671 
7672  def show(self, *args):
7673  r"""show(UnboundedGridRange3D self, _ostream out=std::cout)"""
7674  return _IMP_algebra.UnboundedGridRange3D_show(self, *args)
7675 
7676  def get_extended_indexes(self, lb, ub):
7677  r"""get_extended_indexes(UnboundedGridRange3D self, ExtendedGridIndex3D lb, ExtendedGridIndex3D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 3 > >"""
7678  return _IMP_algebra.UnboundedGridRange3D_get_extended_indexes(self, lb, ub)
7679 
7680  def __str__(self):
7681  r"""__str__(UnboundedGridRange3D self) -> std::string"""
7682  return _IMP_algebra.UnboundedGridRange3D___str__(self)
7683 
7684  def __repr__(self):
7685  r"""__repr__(UnboundedGridRange3D self) -> std::string"""
7686  return _IMP_algebra.UnboundedGridRange3D___repr__(self)
7687 
7688  def __cmp__(self, arg2):
7689  r"""__cmp__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> int"""
7690  return _IMP_algebra.UnboundedGridRange3D___cmp__(self, arg2)
7691 
7692  def __eq__(self, arg2):
7693  r"""__eq__(UnboundedGridRange3D self, UnboundedGridRange3D arg2) -> bool"""
7694  return _IMP_algebra.UnboundedGridRange3D___eq__(self, arg2)
7695 
7696  def _get_as_binary(self):
7697  r"""_get_as_binary(UnboundedGridRange3D self) -> PyObject *"""
7698  return _IMP_algebra.UnboundedGridRange3D__get_as_binary(self)
7699 
7700  def _set_from_binary(self, p):
7701  r"""_set_from_binary(UnboundedGridRange3D self, PyObject * p)"""
7702  return _IMP_algebra.UnboundedGridRange3D__set_from_binary(self, p)
7703 
7704  def __getstate__(self):
7705  p = self._get_as_binary()
7706  if len(self.__dict__) > 1:
7707  d = self.__dict__.copy()
7708  del d['this']
7709  p = (d, p)
7710  return p
7711 
7712  def __setstate__(self, p):
7713  if not hasattr(self, 'this'):
7714  self.__init__()
7715  if isinstance(p, tuple):
7716  d, p = p
7717  self.__dict__.update(d)
7718  return self._set_from_binary(p)
7719 
7720  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange3D
7721 
7722 # Register UnboundedGridRange3D in _IMP_algebra:
7723 _IMP_algebra.UnboundedGridRange3D_swigregister(UnboundedGridRange3D)
7724 class UnboundedGridRange4D(object):
7725  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 4 > class."""
7726 
7727  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7728 
7729  def __init__(self, *args):
7730  r"""
7731  __init__(UnboundedGridRange4D self) -> UnboundedGridRange4D
7732  __init__(UnboundedGridRange4D self, IMP::Ints const & arg2) -> UnboundedGridRange4D
7733  """
7734  _IMP_algebra.UnboundedGridRange4D_swiginit(self, _IMP_algebra.new_UnboundedGridRange4D(*args))
7735 
7736  def set_number_of_voxels(self, arg2):
7737  r"""set_number_of_voxels(UnboundedGridRange4D self, IMP::Ints arg2)"""
7738  return _IMP_algebra.UnboundedGridRange4D_set_number_of_voxels(self, arg2)
7739 
7740  def get_number_of_voxels(self, arg2):
7741  r"""get_number_of_voxels(UnboundedGridRange4D self, int arg2) -> unsigned int"""
7742  return _IMP_algebra.UnboundedGridRange4D_get_number_of_voxels(self, arg2)
7743 
7744  @staticmethod
7745  def get_is_bounded():
7746  r"""get_is_bounded() -> bool"""
7747  return _IMP_algebra.UnboundedGridRange4D_get_is_bounded()
7748 
7749  def get_has_index(self, arg2):
7750  r"""get_has_index(UnboundedGridRange4D self, ExtendedGridIndex4D arg2) -> bool"""
7751  return _IMP_algebra.UnboundedGridRange4D_get_has_index(self, arg2)
7752 
7753  def show(self, *args):
7754  r"""show(UnboundedGridRange4D self, _ostream out=std::cout)"""
7755  return _IMP_algebra.UnboundedGridRange4D_show(self, *args)
7756 
7757  def get_extended_indexes(self, lb, ub):
7758  r"""get_extended_indexes(UnboundedGridRange4D self, ExtendedGridIndex4D lb, ExtendedGridIndex4D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 4 > >"""
7759  return _IMP_algebra.UnboundedGridRange4D_get_extended_indexes(self, lb, ub)
7760 
7761  def __str__(self):
7762  r"""__str__(UnboundedGridRange4D self) -> std::string"""
7763  return _IMP_algebra.UnboundedGridRange4D___str__(self)
7764 
7765  def __repr__(self):
7766  r"""__repr__(UnboundedGridRange4D self) -> std::string"""
7767  return _IMP_algebra.UnboundedGridRange4D___repr__(self)
7768 
7769  def __cmp__(self, arg2):
7770  r"""__cmp__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> int"""
7771  return _IMP_algebra.UnboundedGridRange4D___cmp__(self, arg2)
7772 
7773  def __eq__(self, arg2):
7774  r"""__eq__(UnboundedGridRange4D self, UnboundedGridRange4D arg2) -> bool"""
7775  return _IMP_algebra.UnboundedGridRange4D___eq__(self, arg2)
7776 
7777  def _get_as_binary(self):
7778  r"""_get_as_binary(UnboundedGridRange4D self) -> PyObject *"""
7779  return _IMP_algebra.UnboundedGridRange4D__get_as_binary(self)
7780 
7781  def _set_from_binary(self, p):
7782  r"""_set_from_binary(UnboundedGridRange4D self, PyObject * p)"""
7783  return _IMP_algebra.UnboundedGridRange4D__set_from_binary(self, p)
7784 
7785  def __getstate__(self):
7786  p = self._get_as_binary()
7787  if len(self.__dict__) > 1:
7788  d = self.__dict__.copy()
7789  del d['this']
7790  p = (d, p)
7791  return p
7792 
7793  def __setstate__(self, p):
7794  if not hasattr(self, 'this'):
7795  self.__init__()
7796  if isinstance(p, tuple):
7797  d, p = p
7798  self.__dict__.update(d)
7799  return self._set_from_binary(p)
7800 
7801  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange4D
7802 
7803 # Register UnboundedGridRange4D in _IMP_algebra:
7804 _IMP_algebra.UnboundedGridRange4D_swigregister(UnboundedGridRange4D)
7805 class UnboundedGridRange5D(object):
7806  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 5 > class."""
7807 
7808  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7809 
7810  def __init__(self, *args):
7811  r"""
7812  __init__(UnboundedGridRange5D self) -> UnboundedGridRange5D
7813  __init__(UnboundedGridRange5D self, IMP::Ints const & arg2) -> UnboundedGridRange5D
7814  """
7815  _IMP_algebra.UnboundedGridRange5D_swiginit(self, _IMP_algebra.new_UnboundedGridRange5D(*args))
7816 
7817  def set_number_of_voxels(self, arg2):
7818  r"""set_number_of_voxels(UnboundedGridRange5D self, IMP::Ints arg2)"""
7819  return _IMP_algebra.UnboundedGridRange5D_set_number_of_voxels(self, arg2)
7820 
7821  def get_number_of_voxels(self, arg2):
7822  r"""get_number_of_voxels(UnboundedGridRange5D self, int arg2) -> unsigned int"""
7823  return _IMP_algebra.UnboundedGridRange5D_get_number_of_voxels(self, arg2)
7824 
7825  @staticmethod
7826  def get_is_bounded():
7827  r"""get_is_bounded() -> bool"""
7828  return _IMP_algebra.UnboundedGridRange5D_get_is_bounded()
7829 
7830  def get_has_index(self, arg2):
7831  r"""get_has_index(UnboundedGridRange5D self, ExtendedGridIndex5D arg2) -> bool"""
7832  return _IMP_algebra.UnboundedGridRange5D_get_has_index(self, arg2)
7833 
7834  def show(self, *args):
7835  r"""show(UnboundedGridRange5D self, _ostream out=std::cout)"""
7836  return _IMP_algebra.UnboundedGridRange5D_show(self, *args)
7837 
7838  def get_extended_indexes(self, lb, ub):
7839  r"""get_extended_indexes(UnboundedGridRange5D self, ExtendedGridIndex5D lb, ExtendedGridIndex5D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 5 > >"""
7840  return _IMP_algebra.UnboundedGridRange5D_get_extended_indexes(self, lb, ub)
7841 
7842  def __str__(self):
7843  r"""__str__(UnboundedGridRange5D self) -> std::string"""
7844  return _IMP_algebra.UnboundedGridRange5D___str__(self)
7845 
7846  def __repr__(self):
7847  r"""__repr__(UnboundedGridRange5D self) -> std::string"""
7848  return _IMP_algebra.UnboundedGridRange5D___repr__(self)
7849 
7850  def __cmp__(self, arg2):
7851  r"""__cmp__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> int"""
7852  return _IMP_algebra.UnboundedGridRange5D___cmp__(self, arg2)
7853 
7854  def __eq__(self, arg2):
7855  r"""__eq__(UnboundedGridRange5D self, UnboundedGridRange5D arg2) -> bool"""
7856  return _IMP_algebra.UnboundedGridRange5D___eq__(self, arg2)
7857 
7858  def _get_as_binary(self):
7859  r"""_get_as_binary(UnboundedGridRange5D self) -> PyObject *"""
7860  return _IMP_algebra.UnboundedGridRange5D__get_as_binary(self)
7861 
7862  def _set_from_binary(self, p):
7863  r"""_set_from_binary(UnboundedGridRange5D self, PyObject * p)"""
7864  return _IMP_algebra.UnboundedGridRange5D__set_from_binary(self, p)
7865 
7866  def __getstate__(self):
7867  p = self._get_as_binary()
7868  if len(self.__dict__) > 1:
7869  d = self.__dict__.copy()
7870  del d['this']
7871  p = (d, p)
7872  return p
7873 
7874  def __setstate__(self, p):
7875  if not hasattr(self, 'this'):
7876  self.__init__()
7877  if isinstance(p, tuple):
7878  d, p = p
7879  self.__dict__.update(d)
7880  return self._set_from_binary(p)
7881 
7882  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange5D
7883 
7884 # Register UnboundedGridRange5D in _IMP_algebra:
7885 _IMP_algebra.UnboundedGridRange5D_swigregister(UnboundedGridRange5D)
7886 class UnboundedGridRange6D(object):
7887  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< 6 > class."""
7888 
7889  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7890 
7891  def __init__(self, *args):
7892  r"""
7893  __init__(UnboundedGridRange6D self) -> UnboundedGridRange6D
7894  __init__(UnboundedGridRange6D self, IMP::Ints const & arg2) -> UnboundedGridRange6D
7895  """
7896  _IMP_algebra.UnboundedGridRange6D_swiginit(self, _IMP_algebra.new_UnboundedGridRange6D(*args))
7897 
7898  def set_number_of_voxels(self, arg2):
7899  r"""set_number_of_voxels(UnboundedGridRange6D self, IMP::Ints arg2)"""
7900  return _IMP_algebra.UnboundedGridRange6D_set_number_of_voxels(self, arg2)
7901 
7902  def get_number_of_voxels(self, arg2):
7903  r"""get_number_of_voxels(UnboundedGridRange6D self, int arg2) -> unsigned int"""
7904  return _IMP_algebra.UnboundedGridRange6D_get_number_of_voxels(self, arg2)
7905 
7906  @staticmethod
7907  def get_is_bounded():
7908  r"""get_is_bounded() -> bool"""
7909  return _IMP_algebra.UnboundedGridRange6D_get_is_bounded()
7910 
7911  def get_has_index(self, arg2):
7912  r"""get_has_index(UnboundedGridRange6D self, ExtendedGridIndex6D arg2) -> bool"""
7913  return _IMP_algebra.UnboundedGridRange6D_get_has_index(self, arg2)
7914 
7915  def show(self, *args):
7916  r"""show(UnboundedGridRange6D self, _ostream out=std::cout)"""
7917  return _IMP_algebra.UnboundedGridRange6D_show(self, *args)
7918 
7919  def get_extended_indexes(self, lb, ub):
7920  r"""get_extended_indexes(UnboundedGridRange6D self, ExtendedGridIndex6D lb, ExtendedGridIndex6D ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< 6 > >"""
7921  return _IMP_algebra.UnboundedGridRange6D_get_extended_indexes(self, lb, ub)
7922 
7923  def __str__(self):
7924  r"""__str__(UnboundedGridRange6D self) -> std::string"""
7925  return _IMP_algebra.UnboundedGridRange6D___str__(self)
7926 
7927  def __repr__(self):
7928  r"""__repr__(UnboundedGridRange6D self) -> std::string"""
7929  return _IMP_algebra.UnboundedGridRange6D___repr__(self)
7930 
7931  def __cmp__(self, arg2):
7932  r"""__cmp__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> int"""
7933  return _IMP_algebra.UnboundedGridRange6D___cmp__(self, arg2)
7934 
7935  def __eq__(self, arg2):
7936  r"""__eq__(UnboundedGridRange6D self, UnboundedGridRange6D arg2) -> bool"""
7937  return _IMP_algebra.UnboundedGridRange6D___eq__(self, arg2)
7938 
7939  def _get_as_binary(self):
7940  r"""_get_as_binary(UnboundedGridRange6D self) -> PyObject *"""
7941  return _IMP_algebra.UnboundedGridRange6D__get_as_binary(self)
7942 
7943  def _set_from_binary(self, p):
7944  r"""_set_from_binary(UnboundedGridRange6D self, PyObject * p)"""
7945  return _IMP_algebra.UnboundedGridRange6D__set_from_binary(self, p)
7946 
7947  def __getstate__(self):
7948  p = self._get_as_binary()
7949  if len(self.__dict__) > 1:
7950  d = self.__dict__.copy()
7951  del d['this']
7952  p = (d, p)
7953  return p
7954 
7955  def __setstate__(self, p):
7956  if not hasattr(self, 'this'):
7957  self.__init__()
7958  if isinstance(p, tuple):
7959  d, p = p
7960  self.__dict__.update(d)
7961  return self._set_from_binary(p)
7962 
7963  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRange6D
7964 
7965 # Register UnboundedGridRange6D in _IMP_algebra:
7966 _IMP_algebra.UnboundedGridRange6D_swigregister(UnboundedGridRange6D)
7967 class UnboundedGridRangeKD(object):
7968  r"""Proxy of C++ IMP::algebra::UnboundedGridRangeD< -1 > class."""
7969 
7970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7971 
7972  def __init__(self, *args):
7973  r"""
7974  __init__(UnboundedGridRangeKD self) -> UnboundedGridRangeKD
7975  __init__(UnboundedGridRangeKD self, IMP::Ints const & arg2) -> UnboundedGridRangeKD
7976  """
7977  _IMP_algebra.UnboundedGridRangeKD_swiginit(self, _IMP_algebra.new_UnboundedGridRangeKD(*args))
7978 
7979  def set_number_of_voxels(self, arg2):
7980  r"""set_number_of_voxels(UnboundedGridRangeKD self, IMP::Ints arg2)"""
7981  return _IMP_algebra.UnboundedGridRangeKD_set_number_of_voxels(self, arg2)
7982 
7983  def get_number_of_voxels(self, arg2):
7984  r"""get_number_of_voxels(UnboundedGridRangeKD self, int arg2) -> unsigned int"""
7985  return _IMP_algebra.UnboundedGridRangeKD_get_number_of_voxels(self, arg2)
7986 
7987  @staticmethod
7988  def get_is_bounded():
7989  r"""get_is_bounded() -> bool"""
7990  return _IMP_algebra.UnboundedGridRangeKD_get_is_bounded()
7991 
7992  def get_has_index(self, arg2):
7993  r"""get_has_index(UnboundedGridRangeKD self, ExtendedGridIndexKD arg2) -> bool"""
7994  return _IMP_algebra.UnboundedGridRangeKD_get_has_index(self, arg2)
7995 
7996  def show(self, *args):
7997  r"""show(UnboundedGridRangeKD self, _ostream out=std::cout)"""
7998  return _IMP_algebra.UnboundedGridRangeKD_show(self, *args)
7999 
8000  def get_extended_indexes(self, lb, ub):
8001  r"""get_extended_indexes(UnboundedGridRangeKD self, ExtendedGridIndexKD lb, ExtendedGridIndexKD ub) -> IMP::Vector< IMP::algebra::ExtendedGridIndexD< -1 > >"""
8002  return _IMP_algebra.UnboundedGridRangeKD_get_extended_indexes(self, lb, ub)
8003 
8004  def __str__(self):
8005  r"""__str__(UnboundedGridRangeKD self) -> std::string"""
8006  return _IMP_algebra.UnboundedGridRangeKD___str__(self)
8007 
8008  def __repr__(self):
8009  r"""__repr__(UnboundedGridRangeKD self) -> std::string"""
8010  return _IMP_algebra.UnboundedGridRangeKD___repr__(self)
8011 
8012  def __cmp__(self, arg2):
8013  r"""__cmp__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> int"""
8014  return _IMP_algebra.UnboundedGridRangeKD___cmp__(self, arg2)
8015 
8016  def __eq__(self, arg2):
8017  r"""__eq__(UnboundedGridRangeKD self, UnboundedGridRangeKD arg2) -> bool"""
8018  return _IMP_algebra.UnboundedGridRangeKD___eq__(self, arg2)
8019 
8020  def _get_as_binary(self):
8021  r"""_get_as_binary(UnboundedGridRangeKD self) -> PyObject *"""
8022  return _IMP_algebra.UnboundedGridRangeKD__get_as_binary(self)
8023 
8024  def _set_from_binary(self, p):
8025  r"""_set_from_binary(UnboundedGridRangeKD self, PyObject * p)"""
8026  return _IMP_algebra.UnboundedGridRangeKD__set_from_binary(self, p)
8027 
8028  def __getstate__(self):
8029  p = self._get_as_binary()
8030  if len(self.__dict__) > 1:
8031  d = self.__dict__.copy()
8032  del d['this']
8033  p = (d, p)
8034  return p
8035 
8036  def __setstate__(self, p):
8037  if not hasattr(self, 'this'):
8038  self.__init__()
8039  if isinstance(p, tuple):
8040  d, p = p
8041  self.__dict__.update(d)
8042  return self._set_from_binary(p)
8043 
8044  __swig_destroy__ = _IMP_algebra.delete_UnboundedGridRangeKD
8045 
8046 # Register UnboundedGridRangeKD in _IMP_algebra:
8047 _IMP_algebra.UnboundedGridRangeKD_swigregister(UnboundedGridRangeKD)
8048 class DefaultEmbedding1D(object):
8049  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 1 > class."""
8050 
8051  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8052 
8053  def __init__(self, *args):
8054  r"""
8055  __init__(DefaultEmbedding1D self, Vector1D origin, Vector1D cell) -> DefaultEmbedding1D
8056  __init__(DefaultEmbedding1D self) -> DefaultEmbedding1D
8057  """
8058  _IMP_algebra.DefaultEmbedding1D_swiginit(self, _IMP_algebra.new_DefaultEmbedding1D(*args))
8059 
8060  def set_origin(self, o):
8061  r"""set_origin(DefaultEmbedding1D self, Vector1D o)"""
8062  return _IMP_algebra.DefaultEmbedding1D_set_origin(self, o)
8063 
8064  def get_origin(self):
8065  r"""get_origin(DefaultEmbedding1D self) -> Vector1D"""
8066  return _IMP_algebra.DefaultEmbedding1D_get_origin(self)
8067 
8068  def get_dimension(self):
8069  r"""get_dimension(DefaultEmbedding1D self) -> unsigned int"""
8070  return _IMP_algebra.DefaultEmbedding1D_get_dimension(self)
8071 
8072  def set_unit_cell(self, o):
8073  r"""set_unit_cell(DefaultEmbedding1D self, Vector1D o)"""
8074  return _IMP_algebra.DefaultEmbedding1D_set_unit_cell(self, o)
8075 
8076  def get_inverse_unit_cell(self):
8077  r"""get_inverse_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
8078  return _IMP_algebra.DefaultEmbedding1D_get_inverse_unit_cell(self)
8079 
8080  def get_unit_cell(self):
8081  r"""get_unit_cell(DefaultEmbedding1D self) -> Vector1D"""
8082  return _IMP_algebra.DefaultEmbedding1D_get_unit_cell(self)
8083 
8084  def get_extended_index(self, o):
8085  r"""get_extended_index(DefaultEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
8086  return _IMP_algebra.DefaultEmbedding1D_get_extended_index(self, o)
8087 
8088  def get_index(self, o):
8089  r"""get_index(DefaultEmbedding1D self, Vector1D o) -> GridIndex1D"""
8090  return _IMP_algebra.DefaultEmbedding1D_get_index(self, o)
8091 
8092  def get_center(self, *args):
8093  r"""
8094  get_center(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
8095  get_center(DefaultEmbedding1D self, GridIndex1D ei) -> Vector1D
8096  """
8097  return _IMP_algebra.DefaultEmbedding1D_get_center(self, *args)
8098 
8099  def get_bounding_box(self, *args):
8100  r"""
8101  get_bounding_box(DefaultEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
8102  get_bounding_box(DefaultEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
8103  """
8104  return _IMP_algebra.DefaultEmbedding1D_get_bounding_box(self, *args)
8105 
8106  def show(self, *args):
8107  r"""show(DefaultEmbedding1D self, _ostream out=std::cout)"""
8108  return _IMP_algebra.DefaultEmbedding1D_show(self, *args)
8109 
8110  def __str__(self):
8111  r"""__str__(DefaultEmbedding1D self) -> std::string"""
8112  return _IMP_algebra.DefaultEmbedding1D___str__(self)
8113 
8114  def __repr__(self):
8115  r"""__repr__(DefaultEmbedding1D self) -> std::string"""
8116  return _IMP_algebra.DefaultEmbedding1D___repr__(self)
8117 
8118  def __cmp__(self, arg2):
8119  r"""__cmp__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> int"""
8120  return _IMP_algebra.DefaultEmbedding1D___cmp__(self, arg2)
8121 
8122  def __eq__(self, arg2):
8123  r"""__eq__(DefaultEmbedding1D self, DefaultEmbedding1D arg2) -> bool"""
8124  return _IMP_algebra.DefaultEmbedding1D___eq__(self, arg2)
8125 
8126  def _get_as_binary(self):
8127  r"""_get_as_binary(DefaultEmbedding1D self) -> PyObject *"""
8128  return _IMP_algebra.DefaultEmbedding1D__get_as_binary(self)
8129 
8130  def _set_from_binary(self, p):
8131  r"""_set_from_binary(DefaultEmbedding1D self, PyObject * p)"""
8132  return _IMP_algebra.DefaultEmbedding1D__set_from_binary(self, p)
8133 
8134  def __getstate__(self):
8135  p = self._get_as_binary()
8136  if len(self.__dict__) > 1:
8137  d = self.__dict__.copy()
8138  del d['this']
8139  p = (d, p)
8140  return p
8141 
8142  def __setstate__(self, p):
8143  if not hasattr(self, 'this'):
8144  self.__init__()
8145  if isinstance(p, tuple):
8146  d, p = p
8147  self.__dict__.update(d)
8148  return self._set_from_binary(p)
8149 
8150  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding1D
8151 
8152 # Register DefaultEmbedding1D in _IMP_algebra:
8153 _IMP_algebra.DefaultEmbedding1D_swigregister(DefaultEmbedding1D)
8154 class DefaultEmbedding2D(object):
8155  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 2 > class."""
8156 
8157  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8158 
8159  def __init__(self, *args):
8160  r"""
8161  __init__(DefaultEmbedding2D self, Vector2D origin, Vector2D cell) -> DefaultEmbedding2D
8162  __init__(DefaultEmbedding2D self) -> DefaultEmbedding2D
8163  """
8164  _IMP_algebra.DefaultEmbedding2D_swiginit(self, _IMP_algebra.new_DefaultEmbedding2D(*args))
8165 
8166  def set_origin(self, o):
8167  r"""set_origin(DefaultEmbedding2D self, Vector2D o)"""
8168  return _IMP_algebra.DefaultEmbedding2D_set_origin(self, o)
8169 
8170  def get_origin(self):
8171  r"""get_origin(DefaultEmbedding2D self) -> Vector2D"""
8172  return _IMP_algebra.DefaultEmbedding2D_get_origin(self)
8173 
8174  def get_dimension(self):
8175  r"""get_dimension(DefaultEmbedding2D self) -> unsigned int"""
8176  return _IMP_algebra.DefaultEmbedding2D_get_dimension(self)
8177 
8178  def set_unit_cell(self, o):
8179  r"""set_unit_cell(DefaultEmbedding2D self, Vector2D o)"""
8180  return _IMP_algebra.DefaultEmbedding2D_set_unit_cell(self, o)
8181 
8182  def get_inverse_unit_cell(self):
8183  r"""get_inverse_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
8184  return _IMP_algebra.DefaultEmbedding2D_get_inverse_unit_cell(self)
8185 
8186  def get_unit_cell(self):
8187  r"""get_unit_cell(DefaultEmbedding2D self) -> Vector2D"""
8188  return _IMP_algebra.DefaultEmbedding2D_get_unit_cell(self)
8189 
8190  def get_extended_index(self, o):
8191  r"""get_extended_index(DefaultEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
8192  return _IMP_algebra.DefaultEmbedding2D_get_extended_index(self, o)
8193 
8194  def get_index(self, o):
8195  r"""get_index(DefaultEmbedding2D self, Vector2D o) -> GridIndex2D"""
8196  return _IMP_algebra.DefaultEmbedding2D_get_index(self, o)
8197 
8198  def get_center(self, *args):
8199  r"""
8200  get_center(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
8201  get_center(DefaultEmbedding2D self, GridIndex2D ei) -> Vector2D
8202  """
8203  return _IMP_algebra.DefaultEmbedding2D_get_center(self, *args)
8204 
8205  def get_bounding_box(self, *args):
8206  r"""
8207  get_bounding_box(DefaultEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
8208  get_bounding_box(DefaultEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
8209  """
8210  return _IMP_algebra.DefaultEmbedding2D_get_bounding_box(self, *args)
8211 
8212  def show(self, *args):
8213  r"""show(DefaultEmbedding2D self, _ostream out=std::cout)"""
8214  return _IMP_algebra.DefaultEmbedding2D_show(self, *args)
8215 
8216  def __str__(self):
8217  r"""__str__(DefaultEmbedding2D self) -> std::string"""
8218  return _IMP_algebra.DefaultEmbedding2D___str__(self)
8219 
8220  def __repr__(self):
8221  r"""__repr__(DefaultEmbedding2D self) -> std::string"""
8222  return _IMP_algebra.DefaultEmbedding2D___repr__(self)
8223 
8224  def __cmp__(self, arg2):
8225  r"""__cmp__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> int"""
8226  return _IMP_algebra.DefaultEmbedding2D___cmp__(self, arg2)
8227 
8228  def __eq__(self, arg2):
8229  r"""__eq__(DefaultEmbedding2D self, DefaultEmbedding2D arg2) -> bool"""
8230  return _IMP_algebra.DefaultEmbedding2D___eq__(self, arg2)
8231 
8232  def _get_as_binary(self):
8233  r"""_get_as_binary(DefaultEmbedding2D self) -> PyObject *"""
8234  return _IMP_algebra.DefaultEmbedding2D__get_as_binary(self)
8235 
8236  def _set_from_binary(self, p):
8237  r"""_set_from_binary(DefaultEmbedding2D self, PyObject * p)"""
8238  return _IMP_algebra.DefaultEmbedding2D__set_from_binary(self, p)
8239 
8240  def __getstate__(self):
8241  p = self._get_as_binary()
8242  if len(self.__dict__) > 1:
8243  d = self.__dict__.copy()
8244  del d['this']
8245  p = (d, p)
8246  return p
8247 
8248  def __setstate__(self, p):
8249  if not hasattr(self, 'this'):
8250  self.__init__()
8251  if isinstance(p, tuple):
8252  d, p = p
8253  self.__dict__.update(d)
8254  return self._set_from_binary(p)
8255 
8256  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding2D
8257 
8258 # Register DefaultEmbedding2D in _IMP_algebra:
8259 _IMP_algebra.DefaultEmbedding2D_swigregister(DefaultEmbedding2D)
8260 class DefaultEmbedding3D(object):
8261  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 3 > class."""
8262 
8263  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8264 
8265  def __init__(self, *args):
8266  r"""
8267  __init__(DefaultEmbedding3D self, Vector3D origin, Vector3D cell) -> DefaultEmbedding3D
8268  __init__(DefaultEmbedding3D self) -> DefaultEmbedding3D
8269  """
8270  _IMP_algebra.DefaultEmbedding3D_swiginit(self, _IMP_algebra.new_DefaultEmbedding3D(*args))
8271 
8272  def set_origin(self, o):
8273  r"""set_origin(DefaultEmbedding3D self, Vector3D o)"""
8274  return _IMP_algebra.DefaultEmbedding3D_set_origin(self, o)
8275 
8276  def get_origin(self):
8277  r"""get_origin(DefaultEmbedding3D self) -> Vector3D"""
8278  return _IMP_algebra.DefaultEmbedding3D_get_origin(self)
8279 
8280  def get_dimension(self):
8281  r"""get_dimension(DefaultEmbedding3D self) -> unsigned int"""
8282  return _IMP_algebra.DefaultEmbedding3D_get_dimension(self)
8283 
8284  def set_unit_cell(self, o):
8285  r"""set_unit_cell(DefaultEmbedding3D self, Vector3D o)"""
8286  return _IMP_algebra.DefaultEmbedding3D_set_unit_cell(self, o)
8287 
8288  def get_inverse_unit_cell(self):
8289  r"""get_inverse_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
8290  return _IMP_algebra.DefaultEmbedding3D_get_inverse_unit_cell(self)
8291 
8292  def get_unit_cell(self):
8293  r"""get_unit_cell(DefaultEmbedding3D self) -> Vector3D"""
8294  return _IMP_algebra.DefaultEmbedding3D_get_unit_cell(self)
8295 
8296  def get_extended_index(self, o):
8297  r"""get_extended_index(DefaultEmbedding3D self, Vector3D o) -> ExtendedGridIndex3D"""
8298  return _IMP_algebra.DefaultEmbedding3D_get_extended_index(self, o)
8299 
8300  def get_index(self, o):
8301  r"""get_index(DefaultEmbedding3D self, Vector3D o) -> GridIndex3D"""
8302  return _IMP_algebra.DefaultEmbedding3D_get_index(self, o)
8303 
8304  def get_center(self, *args):
8305  r"""
8306  get_center(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> Vector3D
8307  get_center(DefaultEmbedding3D self, GridIndex3D ei) -> Vector3D
8308  """
8309  return _IMP_algebra.DefaultEmbedding3D_get_center(self, *args)
8310 
8311  def get_bounding_box(self, *args):
8312  r"""
8313  get_bounding_box(DefaultEmbedding3D self, ExtendedGridIndex3D ei) -> BoundingBox3D
8314  get_bounding_box(DefaultEmbedding3D self, GridIndex3D ei) -> BoundingBox3D
8315  """
8316  return _IMP_algebra.DefaultEmbedding3D_get_bounding_box(self, *args)
8317 
8318  def show(self, *args):
8319  r"""show(DefaultEmbedding3D self, _ostream out=std::cout)"""
8320  return _IMP_algebra.DefaultEmbedding3D_show(self, *args)
8321 
8322  def __str__(self):
8323  r"""__str__(DefaultEmbedding3D self) -> std::string"""
8324  return _IMP_algebra.DefaultEmbedding3D___str__(self)
8325 
8326  def __repr__(self):
8327  r"""__repr__(DefaultEmbedding3D self) -> std::string"""
8328  return _IMP_algebra.DefaultEmbedding3D___repr__(self)
8329 
8330  def __cmp__(self, arg2):
8331  r"""__cmp__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> int"""
8332  return _IMP_algebra.DefaultEmbedding3D___cmp__(self, arg2)
8333 
8334  def __eq__(self, arg2):
8335  r"""__eq__(DefaultEmbedding3D self, DefaultEmbedding3D arg2) -> bool"""
8336  return _IMP_algebra.DefaultEmbedding3D___eq__(self, arg2)
8337 
8338  def _get_as_binary(self):
8339  r"""_get_as_binary(DefaultEmbedding3D self) -> PyObject *"""
8340  return _IMP_algebra.DefaultEmbedding3D__get_as_binary(self)
8341 
8342  def _set_from_binary(self, p):
8343  r"""_set_from_binary(DefaultEmbedding3D self, PyObject * p)"""
8344  return _IMP_algebra.DefaultEmbedding3D__set_from_binary(self, p)
8345 
8346  def __getstate__(self):
8347  p = self._get_as_binary()
8348  if len(self.__dict__) > 1:
8349  d = self.__dict__.copy()
8350  del d['this']
8351  p = (d, p)
8352  return p
8353 
8354  def __setstate__(self, p):
8355  if not hasattr(self, 'this'):
8356  self.__init__()
8357  if isinstance(p, tuple):
8358  d, p = p
8359  self.__dict__.update(d)
8360  return self._set_from_binary(p)
8361 
8362  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding3D
8363 
8364 # Register DefaultEmbedding3D in _IMP_algebra:
8365 _IMP_algebra.DefaultEmbedding3D_swigregister(DefaultEmbedding3D)
8366 class DefaultEmbedding4D(object):
8367  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 4 > class."""
8368 
8369  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8370 
8371  def __init__(self, *args):
8372  r"""
8373  __init__(DefaultEmbedding4D self, Vector4D origin, Vector4D cell) -> DefaultEmbedding4D
8374  __init__(DefaultEmbedding4D self) -> DefaultEmbedding4D
8375  """
8376  _IMP_algebra.DefaultEmbedding4D_swiginit(self, _IMP_algebra.new_DefaultEmbedding4D(*args))
8377 
8378  def set_origin(self, o):
8379  r"""set_origin(DefaultEmbedding4D self, Vector4D o)"""
8380  return _IMP_algebra.DefaultEmbedding4D_set_origin(self, o)
8381 
8382  def get_origin(self):
8383  r"""get_origin(DefaultEmbedding4D self) -> Vector4D"""
8384  return _IMP_algebra.DefaultEmbedding4D_get_origin(self)
8385 
8386  def get_dimension(self):
8387  r"""get_dimension(DefaultEmbedding4D self) -> unsigned int"""
8388  return _IMP_algebra.DefaultEmbedding4D_get_dimension(self)
8389 
8390  def set_unit_cell(self, o):
8391  r"""set_unit_cell(DefaultEmbedding4D self, Vector4D o)"""
8392  return _IMP_algebra.DefaultEmbedding4D_set_unit_cell(self, o)
8393 
8394  def get_inverse_unit_cell(self):
8395  r"""get_inverse_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
8396  return _IMP_algebra.DefaultEmbedding4D_get_inverse_unit_cell(self)
8397 
8398  def get_unit_cell(self):
8399  r"""get_unit_cell(DefaultEmbedding4D self) -> Vector4D"""
8400  return _IMP_algebra.DefaultEmbedding4D_get_unit_cell(self)
8401 
8402  def get_extended_index(self, o):
8403  r"""get_extended_index(DefaultEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
8404  return _IMP_algebra.DefaultEmbedding4D_get_extended_index(self, o)
8405 
8406  def get_index(self, o):
8407  r"""get_index(DefaultEmbedding4D self, Vector4D o) -> GridIndex4D"""
8408  return _IMP_algebra.DefaultEmbedding4D_get_index(self, o)
8409 
8410  def get_center(self, *args):
8411  r"""
8412  get_center(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
8413  get_center(DefaultEmbedding4D self, GridIndex4D ei) -> Vector4D
8414  """
8415  return _IMP_algebra.DefaultEmbedding4D_get_center(self, *args)
8416 
8417  def get_bounding_box(self, *args):
8418  r"""
8419  get_bounding_box(DefaultEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
8420  get_bounding_box(DefaultEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
8421  """
8422  return _IMP_algebra.DefaultEmbedding4D_get_bounding_box(self, *args)
8423 
8424  def show(self, *args):
8425  r"""show(DefaultEmbedding4D self, _ostream out=std::cout)"""
8426  return _IMP_algebra.DefaultEmbedding4D_show(self, *args)
8427 
8428  def __str__(self):
8429  r"""__str__(DefaultEmbedding4D self) -> std::string"""
8430  return _IMP_algebra.DefaultEmbedding4D___str__(self)
8431 
8432  def __repr__(self):
8433  r"""__repr__(DefaultEmbedding4D self) -> std::string"""
8434  return _IMP_algebra.DefaultEmbedding4D___repr__(self)
8435 
8436  def __cmp__(self, arg2):
8437  r"""__cmp__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> int"""
8438  return _IMP_algebra.DefaultEmbedding4D___cmp__(self, arg2)
8439 
8440  def __eq__(self, arg2):
8441  r"""__eq__(DefaultEmbedding4D self, DefaultEmbedding4D arg2) -> bool"""
8442  return _IMP_algebra.DefaultEmbedding4D___eq__(self, arg2)
8443 
8444  def _get_as_binary(self):
8445  r"""_get_as_binary(DefaultEmbedding4D self) -> PyObject *"""
8446  return _IMP_algebra.DefaultEmbedding4D__get_as_binary(self)
8447 
8448  def _set_from_binary(self, p):
8449  r"""_set_from_binary(DefaultEmbedding4D self, PyObject * p)"""
8450  return _IMP_algebra.DefaultEmbedding4D__set_from_binary(self, p)
8451 
8452  def __getstate__(self):
8453  p = self._get_as_binary()
8454  if len(self.__dict__) > 1:
8455  d = self.__dict__.copy()
8456  del d['this']
8457  p = (d, p)
8458  return p
8459 
8460  def __setstate__(self, p):
8461  if not hasattr(self, 'this'):
8462  self.__init__()
8463  if isinstance(p, tuple):
8464  d, p = p
8465  self.__dict__.update(d)
8466  return self._set_from_binary(p)
8467 
8468  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding4D
8469 
8470 # Register DefaultEmbedding4D in _IMP_algebra:
8471 _IMP_algebra.DefaultEmbedding4D_swigregister(DefaultEmbedding4D)
8472 class DefaultEmbedding5D(object):
8473  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 5 > class."""
8474 
8475  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8476 
8477  def __init__(self, *args):
8478  r"""
8479  __init__(DefaultEmbedding5D self, Vector5D origin, Vector5D cell) -> DefaultEmbedding5D
8480  __init__(DefaultEmbedding5D self) -> DefaultEmbedding5D
8481  """
8482  _IMP_algebra.DefaultEmbedding5D_swiginit(self, _IMP_algebra.new_DefaultEmbedding5D(*args))
8483 
8484  def set_origin(self, o):
8485  r"""set_origin(DefaultEmbedding5D self, Vector5D o)"""
8486  return _IMP_algebra.DefaultEmbedding5D_set_origin(self, o)
8487 
8488  def get_origin(self):
8489  r"""get_origin(DefaultEmbedding5D self) -> Vector5D"""
8490  return _IMP_algebra.DefaultEmbedding5D_get_origin(self)
8491 
8492  def get_dimension(self):
8493  r"""get_dimension(DefaultEmbedding5D self) -> unsigned int"""
8494  return _IMP_algebra.DefaultEmbedding5D_get_dimension(self)
8495 
8496  def set_unit_cell(self, o):
8497  r"""set_unit_cell(DefaultEmbedding5D self, Vector5D o)"""
8498  return _IMP_algebra.DefaultEmbedding5D_set_unit_cell(self, o)
8499 
8500  def get_inverse_unit_cell(self):
8501  r"""get_inverse_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
8502  return _IMP_algebra.DefaultEmbedding5D_get_inverse_unit_cell(self)
8503 
8504  def get_unit_cell(self):
8505  r"""get_unit_cell(DefaultEmbedding5D self) -> Vector5D"""
8506  return _IMP_algebra.DefaultEmbedding5D_get_unit_cell(self)
8507 
8508  def get_extended_index(self, o):
8509  r"""get_extended_index(DefaultEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
8510  return _IMP_algebra.DefaultEmbedding5D_get_extended_index(self, o)
8511 
8512  def get_index(self, o):
8513  r"""get_index(DefaultEmbedding5D self, Vector5D o) -> GridIndex5D"""
8514  return _IMP_algebra.DefaultEmbedding5D_get_index(self, o)
8515 
8516  def get_center(self, *args):
8517  r"""
8518  get_center(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
8519  get_center(DefaultEmbedding5D self, GridIndex5D ei) -> Vector5D
8520  """
8521  return _IMP_algebra.DefaultEmbedding5D_get_center(self, *args)
8522 
8523  def get_bounding_box(self, *args):
8524  r"""
8525  get_bounding_box(DefaultEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
8526  get_bounding_box(DefaultEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
8527  """
8528  return _IMP_algebra.DefaultEmbedding5D_get_bounding_box(self, *args)
8529 
8530  def show(self, *args):
8531  r"""show(DefaultEmbedding5D self, _ostream out=std::cout)"""
8532  return _IMP_algebra.DefaultEmbedding5D_show(self, *args)
8533 
8534  def __str__(self):
8535  r"""__str__(DefaultEmbedding5D self) -> std::string"""
8536  return _IMP_algebra.DefaultEmbedding5D___str__(self)
8537 
8538  def __repr__(self):
8539  r"""__repr__(DefaultEmbedding5D self) -> std::string"""
8540  return _IMP_algebra.DefaultEmbedding5D___repr__(self)
8541 
8542  def __cmp__(self, arg2):
8543  r"""__cmp__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> int"""
8544  return _IMP_algebra.DefaultEmbedding5D___cmp__(self, arg2)
8545 
8546  def __eq__(self, arg2):
8547  r"""__eq__(DefaultEmbedding5D self, DefaultEmbedding5D arg2) -> bool"""
8548  return _IMP_algebra.DefaultEmbedding5D___eq__(self, arg2)
8549 
8550  def _get_as_binary(self):
8551  r"""_get_as_binary(DefaultEmbedding5D self) -> PyObject *"""
8552  return _IMP_algebra.DefaultEmbedding5D__get_as_binary(self)
8553 
8554  def _set_from_binary(self, p):
8555  r"""_set_from_binary(DefaultEmbedding5D self, PyObject * p)"""
8556  return _IMP_algebra.DefaultEmbedding5D__set_from_binary(self, p)
8557 
8558  def __getstate__(self):
8559  p = self._get_as_binary()
8560  if len(self.__dict__) > 1:
8561  d = self.__dict__.copy()
8562  del d['this']
8563  p = (d, p)
8564  return p
8565 
8566  def __setstate__(self, p):
8567  if not hasattr(self, 'this'):
8568  self.__init__()
8569  if isinstance(p, tuple):
8570  d, p = p
8571  self.__dict__.update(d)
8572  return self._set_from_binary(p)
8573 
8574  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding5D
8575 
8576 # Register DefaultEmbedding5D in _IMP_algebra:
8577 _IMP_algebra.DefaultEmbedding5D_swigregister(DefaultEmbedding5D)
8578 class DefaultEmbedding6D(object):
8579  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< 6 > class."""
8580 
8581  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8582 
8583  def __init__(self, *args):
8584  r"""
8585  __init__(DefaultEmbedding6D self, Vector6D origin, Vector6D cell) -> DefaultEmbedding6D
8586  __init__(DefaultEmbedding6D self) -> DefaultEmbedding6D
8587  """
8588  _IMP_algebra.DefaultEmbedding6D_swiginit(self, _IMP_algebra.new_DefaultEmbedding6D(*args))
8589 
8590  def set_origin(self, o):
8591  r"""set_origin(DefaultEmbedding6D self, Vector6D o)"""
8592  return _IMP_algebra.DefaultEmbedding6D_set_origin(self, o)
8593 
8594  def get_origin(self):
8595  r"""get_origin(DefaultEmbedding6D self) -> Vector6D"""
8596  return _IMP_algebra.DefaultEmbedding6D_get_origin(self)
8597 
8598  def get_dimension(self):
8599  r"""get_dimension(DefaultEmbedding6D self) -> unsigned int"""
8600  return _IMP_algebra.DefaultEmbedding6D_get_dimension(self)
8601 
8602  def set_unit_cell(self, o):
8603  r"""set_unit_cell(DefaultEmbedding6D self, Vector6D o)"""
8604  return _IMP_algebra.DefaultEmbedding6D_set_unit_cell(self, o)
8605 
8606  def get_inverse_unit_cell(self):
8607  r"""get_inverse_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
8608  return _IMP_algebra.DefaultEmbedding6D_get_inverse_unit_cell(self)
8609 
8610  def get_unit_cell(self):
8611  r"""get_unit_cell(DefaultEmbedding6D self) -> Vector6D"""
8612  return _IMP_algebra.DefaultEmbedding6D_get_unit_cell(self)
8613 
8614  def get_extended_index(self, o):
8615  r"""get_extended_index(DefaultEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
8616  return _IMP_algebra.DefaultEmbedding6D_get_extended_index(self, o)
8617 
8618  def get_index(self, o):
8619  r"""get_index(DefaultEmbedding6D self, Vector6D o) -> GridIndex6D"""
8620  return _IMP_algebra.DefaultEmbedding6D_get_index(self, o)
8621 
8622  def get_center(self, *args):
8623  r"""
8624  get_center(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
8625  get_center(DefaultEmbedding6D self, GridIndex6D ei) -> Vector6D
8626  """
8627  return _IMP_algebra.DefaultEmbedding6D_get_center(self, *args)
8628 
8629  def get_bounding_box(self, *args):
8630  r"""
8631  get_bounding_box(DefaultEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
8632  get_bounding_box(DefaultEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
8633  """
8634  return _IMP_algebra.DefaultEmbedding6D_get_bounding_box(self, *args)
8635 
8636  def show(self, *args):
8637  r"""show(DefaultEmbedding6D self, _ostream out=std::cout)"""
8638  return _IMP_algebra.DefaultEmbedding6D_show(self, *args)
8639 
8640  def __str__(self):
8641  r"""__str__(DefaultEmbedding6D self) -> std::string"""
8642  return _IMP_algebra.DefaultEmbedding6D___str__(self)
8643 
8644  def __repr__(self):
8645  r"""__repr__(DefaultEmbedding6D self) -> std::string"""
8646  return _IMP_algebra.DefaultEmbedding6D___repr__(self)
8647 
8648  def __cmp__(self, arg2):
8649  r"""__cmp__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> int"""
8650  return _IMP_algebra.DefaultEmbedding6D___cmp__(self, arg2)
8651 
8652  def __eq__(self, arg2):
8653  r"""__eq__(DefaultEmbedding6D self, DefaultEmbedding6D arg2) -> bool"""
8654  return _IMP_algebra.DefaultEmbedding6D___eq__(self, arg2)
8655 
8656  def _get_as_binary(self):
8657  r"""_get_as_binary(DefaultEmbedding6D self) -> PyObject *"""
8658  return _IMP_algebra.DefaultEmbedding6D__get_as_binary(self)
8659 
8660  def _set_from_binary(self, p):
8661  r"""_set_from_binary(DefaultEmbedding6D self, PyObject * p)"""
8662  return _IMP_algebra.DefaultEmbedding6D__set_from_binary(self, p)
8663 
8664  def __getstate__(self):
8665  p = self._get_as_binary()
8666  if len(self.__dict__) > 1:
8667  d = self.__dict__.copy()
8668  del d['this']
8669  p = (d, p)
8670  return p
8671 
8672  def __setstate__(self, p):
8673  if not hasattr(self, 'this'):
8674  self.__init__()
8675  if isinstance(p, tuple):
8676  d, p = p
8677  self.__dict__.update(d)
8678  return self._set_from_binary(p)
8679 
8680  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbedding6D
8681 
8682 # Register DefaultEmbedding6D in _IMP_algebra:
8683 _IMP_algebra.DefaultEmbedding6D_swigregister(DefaultEmbedding6D)
8684 class DefaultEmbeddingKD(object):
8685  r"""Proxy of C++ IMP::algebra::DefaultEmbeddingD< -1 > class."""
8686 
8687  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8688 
8689  def __init__(self, *args):
8690  r"""
8691  __init__(DefaultEmbeddingKD self, VectorKD origin, VectorKD cell) -> DefaultEmbeddingKD
8692  __init__(DefaultEmbeddingKD self) -> DefaultEmbeddingKD
8693  """
8694  _IMP_algebra.DefaultEmbeddingKD_swiginit(self, _IMP_algebra.new_DefaultEmbeddingKD(*args))
8695 
8696  def set_origin(self, o):
8697  r"""set_origin(DefaultEmbeddingKD self, VectorKD o)"""
8698  return _IMP_algebra.DefaultEmbeddingKD_set_origin(self, o)
8699 
8700  def get_origin(self):
8701  r"""get_origin(DefaultEmbeddingKD self) -> VectorKD"""
8702  return _IMP_algebra.DefaultEmbeddingKD_get_origin(self)
8703 
8704  def get_dimension(self):
8705  r"""get_dimension(DefaultEmbeddingKD self) -> unsigned int"""
8706  return _IMP_algebra.DefaultEmbeddingKD_get_dimension(self)
8707 
8708  def set_unit_cell(self, o):
8709  r"""set_unit_cell(DefaultEmbeddingKD self, VectorKD o)"""
8710  return _IMP_algebra.DefaultEmbeddingKD_set_unit_cell(self, o)
8711 
8712  def get_inverse_unit_cell(self):
8713  r"""get_inverse_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
8714  return _IMP_algebra.DefaultEmbeddingKD_get_inverse_unit_cell(self)
8715 
8716  def get_unit_cell(self):
8717  r"""get_unit_cell(DefaultEmbeddingKD self) -> VectorKD"""
8718  return _IMP_algebra.DefaultEmbeddingKD_get_unit_cell(self)
8719 
8720  def get_extended_index(self, o):
8721  r"""get_extended_index(DefaultEmbeddingKD self, VectorKD o) -> ExtendedGridIndexKD"""
8722  return _IMP_algebra.DefaultEmbeddingKD_get_extended_index(self, o)
8723 
8724  def get_index(self, o):
8725  r"""get_index(DefaultEmbeddingKD self, VectorKD o) -> GridIndexKD"""
8726  return _IMP_algebra.DefaultEmbeddingKD_get_index(self, o)
8727 
8728  def get_center(self, *args):
8729  r"""
8730  get_center(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> VectorKD
8731  get_center(DefaultEmbeddingKD self, GridIndexKD ei) -> VectorKD
8732  """
8733  return _IMP_algebra.DefaultEmbeddingKD_get_center(self, *args)
8734 
8735  def get_bounding_box(self, *args):
8736  r"""
8737  get_bounding_box(DefaultEmbeddingKD self, ExtendedGridIndexKD ei) -> BoundingBoxKD
8738  get_bounding_box(DefaultEmbeddingKD self, GridIndexKD ei) -> BoundingBoxKD
8739  """
8740  return _IMP_algebra.DefaultEmbeddingKD_get_bounding_box(self, *args)
8741 
8742  def show(self, *args):
8743  r"""show(DefaultEmbeddingKD self, _ostream out=std::cout)"""
8744  return _IMP_algebra.DefaultEmbeddingKD_show(self, *args)
8745 
8746  def __str__(self):
8747  r"""__str__(DefaultEmbeddingKD self) -> std::string"""
8748  return _IMP_algebra.DefaultEmbeddingKD___str__(self)
8749 
8750  def __repr__(self):
8751  r"""__repr__(DefaultEmbeddingKD self) -> std::string"""
8752  return _IMP_algebra.DefaultEmbeddingKD___repr__(self)
8753 
8754  def __cmp__(self, arg2):
8755  r"""__cmp__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> int"""
8756  return _IMP_algebra.DefaultEmbeddingKD___cmp__(self, arg2)
8757 
8758  def __eq__(self, arg2):
8759  r"""__eq__(DefaultEmbeddingKD self, DefaultEmbeddingKD arg2) -> bool"""
8760  return _IMP_algebra.DefaultEmbeddingKD___eq__(self, arg2)
8761 
8762  def _get_as_binary(self):
8763  r"""_get_as_binary(DefaultEmbeddingKD self) -> PyObject *"""
8764  return _IMP_algebra.DefaultEmbeddingKD__get_as_binary(self)
8765 
8766  def _set_from_binary(self, p):
8767  r"""_set_from_binary(DefaultEmbeddingKD self, PyObject * p)"""
8768  return _IMP_algebra.DefaultEmbeddingKD__set_from_binary(self, p)
8769 
8770  def __getstate__(self):
8771  p = self._get_as_binary()
8772  if len(self.__dict__) > 1:
8773  d = self.__dict__.copy()
8774  del d['this']
8775  p = (d, p)
8776  return p
8777 
8778  def __setstate__(self, p):
8779  if not hasattr(self, 'this'):
8780  self.__init__()
8781  if isinstance(p, tuple):
8782  d, p = p
8783  self.__dict__.update(d)
8784  return self._set_from_binary(p)
8785 
8786  __swig_destroy__ = _IMP_algebra.delete_DefaultEmbeddingKD
8787 
8788 # Register DefaultEmbeddingKD in _IMP_algebra:
8789 _IMP_algebra.DefaultEmbeddingKD_swigregister(DefaultEmbeddingKD)
8790 class LogEmbedding1D(object):
8791  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 1 > class."""
8792 
8793  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8794 
8795  def __init__(self, *args):
8796  r"""
8797  __init__(LogEmbedding1D self, Vector1D origin, Vector1D cell, Vector1D base) -> LogEmbedding1D
8798  __init__(LogEmbedding1D self, BoundingBox1D bb, Vector1D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding1D
8799  __init__(LogEmbedding1D self, Vector1D arg2, Vector1D arg3) -> LogEmbedding1D
8800  __init__(LogEmbedding1D self) -> LogEmbedding1D
8801  """
8802  _IMP_algebra.LogEmbedding1D_swiginit(self, _IMP_algebra.new_LogEmbedding1D(*args))
8803 
8804  def set_origin(self, o):
8805  r"""set_origin(LogEmbedding1D self, Vector1D o)"""
8806  return _IMP_algebra.LogEmbedding1D_set_origin(self, o)
8807 
8808  def get_origin(self):
8809  r"""get_origin(LogEmbedding1D self) -> Vector1D"""
8810  return _IMP_algebra.LogEmbedding1D_get_origin(self)
8811 
8812  def get_dimension(self):
8813  r"""get_dimension(LogEmbedding1D self) -> unsigned int"""
8814  return _IMP_algebra.LogEmbedding1D_get_dimension(self)
8815 
8816  def set_unit_cell(self, *args):
8817  r"""
8818  set_unit_cell(LogEmbedding1D self, Vector1D o, Vector1D base)
8819  set_unit_cell(LogEmbedding1D self, Vector1D o)
8820  """
8821  return _IMP_algebra.LogEmbedding1D_set_unit_cell(self, *args)
8822 
8823  def get_unit_cell(self):
8824  r"""get_unit_cell(LogEmbedding1D self) -> Vector1D"""
8825  return _IMP_algebra.LogEmbedding1D_get_unit_cell(self)
8826 
8827  def get_extended_index(self, o):
8828  r"""get_extended_index(LogEmbedding1D self, Vector1D o) -> ExtendedGridIndex1D"""
8829  return _IMP_algebra.LogEmbedding1D_get_extended_index(self, o)
8830 
8831  def get_index(self, o):
8832  r"""get_index(LogEmbedding1D self, Vector1D o) -> GridIndex1D"""
8833  return _IMP_algebra.LogEmbedding1D_get_index(self, o)
8834 
8835  def get_center(self, *args):
8836  r"""
8837  get_center(LogEmbedding1D self, ExtendedGridIndex1D ei) -> Vector1D
8838  get_center(LogEmbedding1D self, GridIndex1D ei) -> Vector1D
8839  """
8840  return _IMP_algebra.LogEmbedding1D_get_center(self, *args)
8841 
8842  def get_bounding_box(self, *args):
8843  r"""
8844  get_bounding_box(LogEmbedding1D self, ExtendedGridIndex1D ei) -> BoundingBox1D
8845  get_bounding_box(LogEmbedding1D self, GridIndex1D ei) -> BoundingBox1D
8846  """
8847  return _IMP_algebra.LogEmbedding1D_get_bounding_box(self, *args)
8848 
8849  def show(self, *args):
8850  r"""show(LogEmbedding1D self, _ostream out=std::cout)"""
8851  return _IMP_algebra.LogEmbedding1D_show(self, *args)
8852 
8853  def __str__(self):
8854  r"""__str__(LogEmbedding1D self) -> std::string"""
8855  return _IMP_algebra.LogEmbedding1D___str__(self)
8856 
8857  def __repr__(self):
8858  r"""__repr__(LogEmbedding1D self) -> std::string"""
8859  return _IMP_algebra.LogEmbedding1D___repr__(self)
8860 
8861  def __cmp__(self, arg2):
8862  r"""__cmp__(LogEmbedding1D self, LogEmbedding1D arg2) -> int"""
8863  return _IMP_algebra.LogEmbedding1D___cmp__(self, arg2)
8864 
8865  def __eq__(self, arg2):
8866  r"""__eq__(LogEmbedding1D self, LogEmbedding1D arg2) -> bool"""
8867  return _IMP_algebra.LogEmbedding1D___eq__(self, arg2)
8868 
8869  def _get_as_binary(self):
8870  r"""_get_as_binary(LogEmbedding1D self) -> PyObject *"""
8871  return _IMP_algebra.LogEmbedding1D__get_as_binary(self)
8872 
8873  def _set_from_binary(self, p):
8874  r"""_set_from_binary(LogEmbedding1D self, PyObject * p)"""
8875  return _IMP_algebra.LogEmbedding1D__set_from_binary(self, p)
8876 
8877  def __getstate__(self):
8878  p = self._get_as_binary()
8879  if len(self.__dict__) > 1:
8880  d = self.__dict__.copy()
8881  del d['this']
8882  p = (d, p)
8883  return p
8884 
8885  def __setstate__(self, p):
8886  if not hasattr(self, 'this'):
8887  self.__init__()
8888  if isinstance(p, tuple):
8889  d, p = p
8890  self.__dict__.update(d)
8891  return self._set_from_binary(p)
8892 
8893  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding1D
8894 
8895 # Register LogEmbedding1D in _IMP_algebra:
8896 _IMP_algebra.LogEmbedding1D_swigregister(LogEmbedding1D)
8897 class LogEmbedding2D(object):
8898  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 2 > class."""
8899 
8900  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8901 
8902  def __init__(self, *args):
8903  r"""
8904  __init__(LogEmbedding2D self, Vector2D origin, Vector2D cell, Vector2D base) -> LogEmbedding2D
8905  __init__(LogEmbedding2D self, BoundingBox2D bb, Vector2D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding2D
8906  __init__(LogEmbedding2D self, Vector2D arg2, Vector2D arg3) -> LogEmbedding2D
8907  __init__(LogEmbedding2D self) -> LogEmbedding2D
8908  """
8909  _IMP_algebra.LogEmbedding2D_swiginit(self, _IMP_algebra.new_LogEmbedding2D(*args))
8910 
8911  def set_origin(self, o):
8912  r"""set_origin(LogEmbedding2D self, Vector2D o)"""
8913  return _IMP_algebra.LogEmbedding2D_set_origin(self, o)
8914 
8915  def get_origin(self):
8916  r"""get_origin(LogEmbedding2D self) -> Vector2D"""
8917  return _IMP_algebra.LogEmbedding2D_get_origin(self)
8918 
8919  def get_dimension(self):
8920  r"""get_dimension(LogEmbedding2D self) -> unsigned int"""
8921  return _IMP_algebra.LogEmbedding2D_get_dimension(self)
8922 
8923  def set_unit_cell(self, *args):
8924  r"""
8925  set_unit_cell(LogEmbedding2D self, Vector2D o, Vector2D base)
8926  set_unit_cell(LogEmbedding2D self, Vector2D o)
8927  """
8928  return _IMP_algebra.LogEmbedding2D_set_unit_cell(self, *args)
8929 
8930  def get_unit_cell(self):
8931  r"""get_unit_cell(LogEmbedding2D self) -> Vector2D"""
8932  return _IMP_algebra.LogEmbedding2D_get_unit_cell(self)
8933 
8934  def get_extended_index(self, o):
8935  r"""get_extended_index(LogEmbedding2D self, Vector2D o) -> ExtendedGridIndex2D"""
8936  return _IMP_algebra.LogEmbedding2D_get_extended_index(self, o)
8937 
8938  def get_index(self, o):
8939  r"""get_index(LogEmbedding2D self, Vector2D o) -> GridIndex2D"""
8940  return _IMP_algebra.LogEmbedding2D_get_index(self, o)
8941 
8942  def get_center(self, *args):
8943  r"""
8944  get_center(LogEmbedding2D self, ExtendedGridIndex2D ei) -> Vector2D
8945  get_center(LogEmbedding2D self, GridIndex2D ei) -> Vector2D
8946  """
8947  return _IMP_algebra.LogEmbedding2D_get_center(self, *args)
8948 
8949  def get_bounding_box(self, *args):
8950  r"""
8951  get_bounding_box(LogEmbedding2D self, ExtendedGridIndex2D ei) -> BoundingBox2D
8952  get_bounding_box(LogEmbedding2D self, GridIndex2D ei) -> BoundingBox2D
8953  """
8954  return _IMP_algebra.LogEmbedding2D_get_bounding_box(self, *args)
8955 
8956  def show(self, *args):
8957  r"""show(LogEmbedding2D self, _ostream out=std::cout)"""
8958  return _IMP_algebra.LogEmbedding2D_show(self, *args)
8959 
8960  def __str__(self):
8961  r"""__str__(LogEmbedding2D self) -> std::string"""
8962  return _IMP_algebra.LogEmbedding2D___str__(self)
8963 
8964  def __repr__(self):
8965  r"""__repr__(LogEmbedding2D self) -> std::string"""
8966  return _IMP_algebra.LogEmbedding2D___repr__(self)
8967 
8968  def __cmp__(self, arg2):
8969  r"""__cmp__(LogEmbedding2D self, LogEmbedding2D arg2) -> int"""
8970  return _IMP_algebra.LogEmbedding2D___cmp__(self, arg2)
8971 
8972  def __eq__(self, arg2):
8973  r"""__eq__(LogEmbedding2D self, LogEmbedding2D arg2) -> bool"""
8974  return _IMP_algebra.LogEmbedding2D___eq__(self, arg2)
8975 
8976  def _get_as_binary(self):
8977  r"""_get_as_binary(LogEmbedding2D self) -> PyObject *"""
8978  return _IMP_algebra.LogEmbedding2D__get_as_binary(self)
8979 
8980  def _set_from_binary(self, p):
8981  r"""_set_from_binary(LogEmbedding2D self, PyObject * p)"""
8982  return _IMP_algebra.LogEmbedding2D__set_from_binary(self, p)
8983 
8984  def __getstate__(self):
8985  p = self._get_as_binary()
8986  if len(self.__dict__) > 1:
8987  d = self.__dict__.copy()
8988  del d['this']
8989  p = (d, p)
8990  return p
8991 
8992  def __setstate__(self, p):
8993  if not hasattr(self, 'this'):
8994  self.__init__()
8995  if isinstance(p, tuple):
8996  d, p = p
8997  self.__dict__.update(d)
8998  return self._set_from_binary(p)
8999 
9000  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding2D
9001 
9002 # Register LogEmbedding2D in _IMP_algebra:
9003 _IMP_algebra.LogEmbedding2D_swigregister(LogEmbedding2D)
9004 class LogEmbedding4D(object):
9005  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 4 > class."""
9006 
9007  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9008 
9009  def __init__(self, *args):
9010  r"""
9011  __init__(LogEmbedding4D self, Vector4D origin, Vector4D cell, Vector4D base) -> LogEmbedding4D
9012  __init__(LogEmbedding4D self, BoundingBox4D bb, Vector4D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding4D
9013  __init__(LogEmbedding4D self, Vector4D arg2, Vector4D arg3) -> LogEmbedding4D
9014  __init__(LogEmbedding4D self) -> LogEmbedding4D
9015  """
9016  _IMP_algebra.LogEmbedding4D_swiginit(self, _IMP_algebra.new_LogEmbedding4D(*args))
9017 
9018  def set_origin(self, o):
9019  r"""set_origin(LogEmbedding4D self, Vector4D o)"""
9020  return _IMP_algebra.LogEmbedding4D_set_origin(self, o)
9021 
9022  def get_origin(self):
9023  r"""get_origin(LogEmbedding4D self) -> Vector4D"""
9024  return _IMP_algebra.LogEmbedding4D_get_origin(self)
9025 
9026  def get_dimension(self):
9027  r"""get_dimension(LogEmbedding4D self) -> unsigned int"""
9028  return _IMP_algebra.LogEmbedding4D_get_dimension(self)
9029 
9030  def set_unit_cell(self, *args):
9031  r"""
9032  set_unit_cell(LogEmbedding4D self, Vector4D o, Vector4D base)
9033  set_unit_cell(LogEmbedding4D self, Vector4D o)
9034  """
9035  return _IMP_algebra.LogEmbedding4D_set_unit_cell(self, *args)
9036 
9037  def get_unit_cell(self):
9038  r"""get_unit_cell(LogEmbedding4D self) -> Vector4D"""
9039  return _IMP_algebra.LogEmbedding4D_get_unit_cell(self)
9040 
9041  def get_extended_index(self, o):
9042  r"""get_extended_index(LogEmbedding4D self, Vector4D o) -> ExtendedGridIndex4D"""
9043  return _IMP_algebra.LogEmbedding4D_get_extended_index(self, o)
9044 
9045  def get_index(self, o):
9046  r"""get_index(LogEmbedding4D self, Vector4D o) -> GridIndex4D"""
9047  return _IMP_algebra.LogEmbedding4D_get_index(self, o)
9048 
9049  def get_center(self, *args):
9050  r"""
9051  get_center(LogEmbedding4D self, ExtendedGridIndex4D ei) -> Vector4D
9052  get_center(LogEmbedding4D self, GridIndex4D ei) -> Vector4D
9053  """
9054  return _IMP_algebra.LogEmbedding4D_get_center(self, *args)
9055 
9056  def get_bounding_box(self, *args):
9057  r"""
9058  get_bounding_box(LogEmbedding4D self, ExtendedGridIndex4D ei) -> BoundingBox4D
9059  get_bounding_box(LogEmbedding4D self, GridIndex4D ei) -> BoundingBox4D
9060  """
9061  return _IMP_algebra.LogEmbedding4D_get_bounding_box(self, *args)
9062 
9063  def show(self, *args):
9064  r"""show(LogEmbedding4D self, _ostream out=std::cout)"""
9065  return _IMP_algebra.LogEmbedding4D_show(self, *args)
9066 
9067  def __str__(self):
9068  r"""__str__(LogEmbedding4D self) -> std::string"""
9069  return _IMP_algebra.LogEmbedding4D___str__(self)
9070 
9071  def __repr__(self):
9072  r"""__repr__(LogEmbedding4D self) -> std::string"""
9073  return _IMP_algebra.LogEmbedding4D___repr__(self)
9074 
9075  def __cmp__(self, arg2):
9076  r"""__cmp__(LogEmbedding4D self, LogEmbedding4D arg2) -> int"""
9077  return _IMP_algebra.LogEmbedding4D___cmp__(self, arg2)
9078 
9079  def __eq__(self, arg2):
9080  r"""__eq__(LogEmbedding4D self, LogEmbedding4D arg2) -> bool"""
9081  return _IMP_algebra.LogEmbedding4D___eq__(self, arg2)
9082 
9083  def _get_as_binary(self):
9084  r"""_get_as_binary(LogEmbedding4D self) -> PyObject *"""
9085  return _IMP_algebra.LogEmbedding4D__get_as_binary(self)
9086 
9087  def _set_from_binary(self, p):
9088  r"""_set_from_binary(LogEmbedding4D self, PyObject * p)"""
9089  return _IMP_algebra.LogEmbedding4D__set_from_binary(self, p)
9090 
9091  def __getstate__(self):
9092  p = self._get_as_binary()
9093  if len(self.__dict__) > 1:
9094  d = self.__dict__.copy()
9095  del d['this']
9096  p = (d, p)
9097  return p
9098 
9099  def __setstate__(self, p):
9100  if not hasattr(self, 'this'):
9101  self.__init__()
9102  if isinstance(p, tuple):
9103  d, p = p
9104  self.__dict__.update(d)
9105  return self._set_from_binary(p)
9106 
9107  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding4D
9108 
9109 # Register LogEmbedding4D in _IMP_algebra:
9110 _IMP_algebra.LogEmbedding4D_swigregister(LogEmbedding4D)
9111 class LogEmbedding5D(object):
9112  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 5 > class."""
9113 
9114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9115 
9116  def __init__(self, *args):
9117  r"""
9118  __init__(LogEmbedding5D self, Vector5D origin, Vector5D cell, Vector5D base) -> LogEmbedding5D
9119  __init__(LogEmbedding5D self, BoundingBox5D bb, Vector5D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding5D
9120  __init__(LogEmbedding5D self, Vector5D arg2, Vector5D arg3) -> LogEmbedding5D
9121  __init__(LogEmbedding5D self) -> LogEmbedding5D
9122  """
9123  _IMP_algebra.LogEmbedding5D_swiginit(self, _IMP_algebra.new_LogEmbedding5D(*args))
9124 
9125  def set_origin(self, o):
9126  r"""set_origin(LogEmbedding5D self, Vector5D o)"""
9127  return _IMP_algebra.LogEmbedding5D_set_origin(self, o)
9128 
9129  def get_origin(self):
9130  r"""get_origin(LogEmbedding5D self) -> Vector5D"""
9131  return _IMP_algebra.LogEmbedding5D_get_origin(self)
9132 
9133  def get_dimension(self):
9134  r"""get_dimension(LogEmbedding5D self) -> unsigned int"""
9135  return _IMP_algebra.LogEmbedding5D_get_dimension(self)
9136 
9137  def set_unit_cell(self, *args):
9138  r"""
9139  set_unit_cell(LogEmbedding5D self, Vector5D o, Vector5D base)
9140  set_unit_cell(LogEmbedding5D self, Vector5D o)
9141  """
9142  return _IMP_algebra.LogEmbedding5D_set_unit_cell(self, *args)
9143 
9144  def get_unit_cell(self):
9145  r"""get_unit_cell(LogEmbedding5D self) -> Vector5D"""
9146  return _IMP_algebra.LogEmbedding5D_get_unit_cell(self)
9147 
9148  def get_extended_index(self, o):
9149  r"""get_extended_index(LogEmbedding5D self, Vector5D o) -> ExtendedGridIndex5D"""
9150  return _IMP_algebra.LogEmbedding5D_get_extended_index(self, o)
9151 
9152  def get_index(self, o):
9153  r"""get_index(LogEmbedding5D self, Vector5D o) -> GridIndex5D"""
9154  return _IMP_algebra.LogEmbedding5D_get_index(self, o)
9155 
9156  def get_center(self, *args):
9157  r"""
9158  get_center(LogEmbedding5D self, ExtendedGridIndex5D ei) -> Vector5D
9159  get_center(LogEmbedding5D self, GridIndex5D ei) -> Vector5D
9160  """
9161  return _IMP_algebra.LogEmbedding5D_get_center(self, *args)
9162 
9163  def get_bounding_box(self, *args):
9164  r"""
9165  get_bounding_box(LogEmbedding5D self, ExtendedGridIndex5D ei) -> BoundingBox5D
9166  get_bounding_box(LogEmbedding5D self, GridIndex5D ei) -> BoundingBox5D
9167  """
9168  return _IMP_algebra.LogEmbedding5D_get_bounding_box(self, *args)
9169 
9170  def show(self, *args):
9171  r"""show(LogEmbedding5D self, _ostream out=std::cout)"""
9172  return _IMP_algebra.LogEmbedding5D_show(self, *args)
9173 
9174  def __str__(self):
9175  r"""__str__(LogEmbedding5D self) -> std::string"""
9176  return _IMP_algebra.LogEmbedding5D___str__(self)
9177 
9178  def __repr__(self):
9179  r"""__repr__(LogEmbedding5D self) -> std::string"""
9180  return _IMP_algebra.LogEmbedding5D___repr__(self)
9181 
9182  def __cmp__(self, arg2):
9183  r"""__cmp__(LogEmbedding5D self, LogEmbedding5D arg2) -> int"""
9184  return _IMP_algebra.LogEmbedding5D___cmp__(self, arg2)
9185 
9186  def __eq__(self, arg2):
9187  r"""__eq__(LogEmbedding5D self, LogEmbedding5D arg2) -> bool"""
9188  return _IMP_algebra.LogEmbedding5D___eq__(self, arg2)
9189 
9190  def _get_as_binary(self):
9191  r"""_get_as_binary(LogEmbedding5D self) -> PyObject *"""
9192  return _IMP_algebra.LogEmbedding5D__get_as_binary(self)
9193 
9194  def _set_from_binary(self, p):
9195  r"""_set_from_binary(LogEmbedding5D self, PyObject * p)"""
9196  return _IMP_algebra.LogEmbedding5D__set_from_binary(self, p)
9197 
9198  def __getstate__(self):
9199  p = self._get_as_binary()
9200  if len(self.__dict__) > 1:
9201  d = self.__dict__.copy()
9202  del d['this']
9203  p = (d, p)
9204  return p
9205 
9206  def __setstate__(self, p):
9207  if not hasattr(self, 'this'):
9208  self.__init__()
9209  if isinstance(p, tuple):
9210  d, p = p
9211  self.__dict__.update(d)
9212  return self._set_from_binary(p)
9213 
9214  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding5D
9215 
9216 # Register LogEmbedding5D in _IMP_algebra:
9217 _IMP_algebra.LogEmbedding5D_swigregister(LogEmbedding5D)
9218 class LogEmbedding6D(object):
9219  r"""Proxy of C++ IMP::algebra::LogEmbeddingD< 6 > class."""
9220 
9221  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9222 
9223  def __init__(self, *args):
9224  r"""
9225  __init__(LogEmbedding6D self, Vector6D origin, Vector6D cell, Vector6D base) -> LogEmbedding6D
9226  __init__(LogEmbedding6D self, BoundingBox6D bb, Vector6D bases, IMP::Ints const & counts, bool bound_centers=False) -> LogEmbedding6D
9227  __init__(LogEmbedding6D self, Vector6D arg2, Vector6D arg3) -> LogEmbedding6D
9228  __init__(LogEmbedding6D self) -> LogEmbedding6D
9229  """
9230  _IMP_algebra.LogEmbedding6D_swiginit(self, _IMP_algebra.new_LogEmbedding6D(*args))
9231 
9232  def set_origin(self, o):
9233  r"""set_origin(LogEmbedding6D self, Vector6D o)"""
9234  return _IMP_algebra.LogEmbedding6D_set_origin(self, o)
9235 
9236  def get_origin(self):
9237  r"""get_origin(LogEmbedding6D self) -> Vector6D"""
9238  return _IMP_algebra.LogEmbedding6D_get_origin(self)
9239 
9240  def get_dimension(self):
9241  r"""get_dimension(LogEmbedding6D self) -> unsigned int"""
9242  return _IMP_algebra.LogEmbedding6D_get_dimension(self)
9243 
9244  def set_unit_cell(self, *args):
9245  r"""
9246  set_unit_cell(LogEmbedding6D self, Vector6D o, Vector6D base)
9247  set_unit_cell(LogEmbedding6D self, Vector6D o)
9248  """
9249  return _IMP_algebra.LogEmbedding6D_set_unit_cell(self, *args)
9250 
9251  def get_unit_cell(self):
9252  r"""get_unit_cell(LogEmbedding6D self) -> Vector6D"""
9253  return _IMP_algebra.LogEmbedding6D_get_unit_cell(self)
9254 
9255  def get_extended_index(self, o):
9256  r"""get_extended_index(LogEmbedding6D self, Vector6D o) -> ExtendedGridIndex6D"""
9257  return _IMP_algebra.LogEmbedding6D_get_extended_index(self, o)
9258 
9259  def get_index(self, o):
9260  r"""get_index(LogEmbedding6D self, Vector6D o) -> GridIndex6D"""
9261  return _IMP_algebra.LogEmbedding6D_get_index(self, o)
9262 
9263  def get_center(self, *args):
9264  r"""
9265  get_center(LogEmbedding6D self, ExtendedGridIndex6D ei) -> Vector6D
9266  get_center(LogEmbedding6D self, GridIndex6D ei) -> Vector6D
9267  """
9268  return _IMP_algebra.LogEmbedding6D_get_center(self, *args)
9269 
9270  def get_bounding_box(self, *args):
9271  r"""
9272  get_bounding_box(LogEmbedding6D self, ExtendedGridIndex6D ei) -> BoundingBox6D
9273  get_bounding_box(LogEmbedding6D self, GridIndex6D ei) -> BoundingBox6D
9274  """
9275  return _IMP_algebra.LogEmbedding6D_get_bounding_box(self, *args)
9276 
9277  def show(self, *args):
9278  r"""show(LogEmbedding6D self, _ostream out=std::cout)"""
9279  return _IMP_algebra.LogEmbedding6D_show(self, *args)
9280 
9281  def __str__(self):
9282  r"""__str__(LogEmbedding6D self) -> std::string"""
9283  return _IMP_algebra.LogEmbedding6D___str__(self)
9284 
9285  def __repr__(self):
9286  r"""__repr__(LogEmbedding6D self) -> std::string"""
9287  return _IMP_algebra.LogEmbedding6D___repr__(self)
9288 
9289  def __cmp__(self, arg2):
9290  r"""__cmp__(LogEmbedding6D self, LogEmbedding6D arg2) -> int"""
9291  return _IMP_algebra.LogEmbedding6D___cmp__(self, arg2)
9292 
9293  def __eq__(self, arg2):
9294  r"""__eq__(LogEmbedding6D self, LogEmbedding6D arg2) -> bool"""
9295  return _IMP_algebra.LogEmbedding6D___eq__(self, arg2)
9296 
9297  def _get_as_binary(self):
9298  r"""_get_as_binary(LogEmbedding6D self) -> PyObject *"""
9299  return _IMP_algebra.LogEmbedding6D__get_as_binary(self)
9300 
9301  def _set_from_binary(self, p):
9302  r"""_set_from_binary(LogEmbedding6D self, PyObject * p)"""
9303  return _IMP_algebra.LogEmbedding6D__set_from_binary(self, p)
9304 
9305  def __getstate__(self):
9306  p = self._get_as_binary()
9307  if len(self.__dict__) > 1:
9308  d = self.__dict__.copy()
9309  del d['this']
9310  p = (d, p)
9311  return p
9312 
9313  def __setstate__(self, p):
9314  if not hasattr(self, 'this'):
9315  self.__init__()
9316  if isinstance(p, tuple):
9317  d, p = p
9318  self.__dict__.update(d)
9319  return self._set_from_binary(p)
9320 
9321  __swig_destroy__ = _IMP_algebra.delete_LogEmbedding6D
9322 
9323 # Register LogEmbedding6D in _IMP_algebra:
9324 _IMP_algebra.LogEmbedding6D_swigregister(LogEmbedding6D)
9325 class SpherePatch3D(IMP._GeometricPrimitive3D):
9326  r"""Proxy of C++ IMP::algebra::SpherePatch3D class."""
9327 
9328  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9329 
9330  def __init__(self, *args):
9331  r"""
9332  __init__(SpherePatch3D self) -> SpherePatch3D
9333  __init__(SpherePatch3D self, Sphere3D sph, Plane3D crossing_plane) -> SpherePatch3D
9334  """
9335  _IMP_algebra.SpherePatch3D_swiginit(self, _IMP_algebra.new_SpherePatch3D(*args))
9336 
9337  def get_contains(self, p):
9338  r"""get_contains(SpherePatch3D self, Vector3D p) -> bool"""
9339  return _IMP_algebra.SpherePatch3D_get_contains(self, p)
9340 
9341  def get_plane(self):
9342  r"""get_plane(SpherePatch3D self) -> Plane3D"""
9343  return _IMP_algebra.SpherePatch3D_get_plane(self)
9344 
9345  def get_sphere(self):
9346  r"""get_sphere(SpherePatch3D self) -> Sphere3D"""
9347  return _IMP_algebra.SpherePatch3D_get_sphere(self)
9348 
9349  def show(self, *args):
9350  r"""show(SpherePatch3D self, _ostream out=std::cout)"""
9351  return _IMP_algebra.SpherePatch3D_show(self, *args)
9352 
9353  def get_boundary_point(self):
9354  r"""get_boundary_point(SpherePatch3D self) -> Vector3D"""
9355  return _IMP_algebra.SpherePatch3D_get_boundary_point(self)
9356 
9357  def __str__(self):
9358  r"""__str__(SpherePatch3D self) -> std::string"""
9359  return _IMP_algebra.SpherePatch3D___str__(self)
9360 
9361  def __repr__(self):
9362  r"""__repr__(SpherePatch3D self) -> std::string"""
9363  return _IMP_algebra.SpherePatch3D___repr__(self)
9364 
9365  def _get_as_binary(self):
9366  r"""_get_as_binary(SpherePatch3D self) -> PyObject *"""
9367  return _IMP_algebra.SpherePatch3D__get_as_binary(self)
9368 
9369  def _set_from_binary(self, p):
9370  r"""_set_from_binary(SpherePatch3D self, PyObject * p)"""
9371  return _IMP_algebra.SpherePatch3D__set_from_binary(self, p)
9372 
9373  def __getstate__(self):
9374  p = self._get_as_binary()
9375  if len(self.__dict__) > 1:
9376  d = self.__dict__.copy()
9377  del d['this']
9378  p = (d, p)
9379  return p
9380 
9381  def __setstate__(self, p):
9382  if not hasattr(self, 'this'):
9383  self.__init__()
9384  if isinstance(p, tuple):
9385  d, p = p
9386  self.__dict__.update(d)
9387  return self._set_from_binary(p)
9388 
9389  __swig_destroy__ = _IMP_algebra.delete_SpherePatch3D
9390 
9391 # Register SpherePatch3D in _IMP_algebra:
9392 _IMP_algebra.SpherePatch3D_swigregister(SpherePatch3D)
9393 
9394 def get_area(*args):
9395  r"""
9396  get_area(Plane3D g) -> double
9397  get_area(SpherePatch3D g) -> double
9398  """
9399  return _IMP_algebra.get_area(*args)
9400 
9401 def get_sphere_patch_3d_geometry(g):
9402  r"""get_sphere_patch_3d_geometry(SpherePatch3D g) -> SpherePatch3D"""
9403  return _IMP_algebra.get_sphere_patch_3d_geometry(g)
9404 class Cone3D(IMP._GeometricPrimitive3D):
9405  r"""Proxy of C++ IMP::algebra::Cone3D class."""
9406 
9407  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9408 
9409  def __init__(self, *args):
9410  r"""
9411  __init__(Cone3D self) -> Cone3D
9412  __init__(Cone3D self, Segment3D s, double radius) -> Cone3D
9413  """
9414  _IMP_algebra.Cone3D_swiginit(self, _IMP_algebra.new_Cone3D(*args))
9415 
9416  def get_tip(self):
9417  r"""get_tip(Cone3D self) -> Vector3D"""
9418  return _IMP_algebra.Cone3D_get_tip(self)
9419 
9420  def get_direction(self):
9421  r"""get_direction(Cone3D self) -> Vector3D"""
9422  return _IMP_algebra.Cone3D_get_direction(self)
9423 
9424  def get_height(self):
9425  r"""get_height(Cone3D self) -> double"""
9426  return _IMP_algebra.Cone3D_get_height(self)
9427 
9428  def get_angle(self):
9429  r"""get_angle(Cone3D self) -> double"""
9430  return _IMP_algebra.Cone3D_get_angle(self)
9431 
9432  def get_radius(self):
9433  r"""get_radius(Cone3D self) -> double"""
9434  return _IMP_algebra.Cone3D_get_radius(self)
9435 
9436  def get_contains(self, v):
9437  r"""get_contains(Cone3D self, Vector3D v) -> bool"""
9438  return _IMP_algebra.Cone3D_get_contains(self, v)
9439 
9440  def get_base_plane(self):
9441  r"""get_base_plane(Cone3D self) -> Plane3D"""
9442  return _IMP_algebra.Cone3D_get_base_plane(self)
9443 
9444  def show(self, *args):
9445  r"""show(Cone3D self, _ostream out=std::cout)"""
9446  return _IMP_algebra.Cone3D_show(self, *args)
9447 
9448  def __str__(self):
9449  r"""__str__(Cone3D self) -> std::string"""
9450  return _IMP_algebra.Cone3D___str__(self)
9451 
9452  def __repr__(self):
9453  r"""__repr__(Cone3D self) -> std::string"""
9454  return _IMP_algebra.Cone3D___repr__(self)
9455 
9456  def _get_as_binary(self):
9457  r"""_get_as_binary(Cone3D self) -> PyObject *"""
9458  return _IMP_algebra.Cone3D__get_as_binary(self)
9459 
9460  def _set_from_binary(self, p):
9461  r"""_set_from_binary(Cone3D self, PyObject * p)"""
9462  return _IMP_algebra.Cone3D__set_from_binary(self, p)
9463 
9464  def __getstate__(self):
9465  p = self._get_as_binary()
9466  if len(self.__dict__) > 1:
9467  d = self.__dict__.copy()
9468  del d['this']
9469  p = (d, p)
9470  return p
9471 
9472  def __setstate__(self, p):
9473  if not hasattr(self, 'this'):
9474  self.__init__()
9475  if isinstance(p, tuple):
9476  d, p = p
9477  self.__dict__.update(d)
9478  return self._set_from_binary(p)
9479 
9480  __swig_destroy__ = _IMP_algebra.delete_Cone3D
9481 
9482 # Register Cone3D in _IMP_algebra:
9483 _IMP_algebra.Cone3D_swigregister(Cone3D)
9484 
9485 def get_surface_area(*args):
9486  r"""
9487  get_surface_area(BoundingBox3D g) -> double
9488  get_surface_area(Sphere3D g) -> double
9489  get_surface_area(Cylinder3D g) -> double
9490  get_surface_area(Ellipsoid3D g) -> double
9491  get_surface_area(Cone3D g) -> double
9492  """
9493  return _IMP_algebra.get_surface_area(*args)
9494 
9495 def get_volume(*args):
9496  r"""
9497  get_volume(BoundingBox3D g) -> double
9498  get_volume(Sphere3D g) -> double
9499  get_volume(Cylinder3D g) -> double
9500  get_volume(Ellipsoid3D g) -> double
9501  get_volume(Cone3D g) -> double
9502  """
9503  return _IMP_algebra.get_volume(*args)
9504 
9505 def get_cone_3d_geometry(g):
9506  r"""get_cone_3d_geometry(Cone3D g) -> Cone3D"""
9507  return _IMP_algebra.get_cone_3d_geometry(g)
9508 
9509 def write_pts(vs, out):
9510  r"""write_pts(IMP::algebra::Vector3Ds const & vs, TextOutput out)"""
9511  return _IMP_algebra.write_pts(vs, out)
9512 
9513 def read_pts(input):
9514  r"""read_pts(TextInput input) -> IMP::algebra::Vector3Ds"""
9515  return _IMP_algebra.read_pts(input)
9516 
9517 def write_spheres(vs, out):
9518  r"""write_spheres(IMP::algebra::Sphere3Ds const & vs, TextOutput out)"""
9519  return _IMP_algebra.write_spheres(vs, out)
9520 
9521 def read_spheres(input):
9522  r"""read_spheres(TextInput input) -> IMP::algebra::Sphere3Ds"""
9523  return _IMP_algebra.read_spheres(input)
9524 
9526  r"""get_random_vector_on_unit_sphere() -> Vector3D"""
9527  return _IMP_algebra.get_random_vector_on_unit_sphere()
9528 
9529 def get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle):
9530  r"""get_grid_surface_cover(Cylinder3D cyl, int number_of_cycles, int number_of_points_on_cycle) -> IMP::algebra::Vector3Ds"""
9531  return _IMP_algebra.get_grid_surface_cover(cyl, number_of_cycles, number_of_points_on_cycle)
9532 
9533 def get_random_chain(*args):
9534  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"""
9535  return _IMP_algebra.get_random_chain(*args)
9536 
9537 def reversed_read(dest, size, nitems, f, reverse):
9538  r"""reversed_read(void * dest, size_t size, size_t nitems, std::ifstream & f, bool reverse)"""
9539  return _IMP_algebra.reversed_read(dest, size, nitems, f, reverse)
9540 
9541 def reversed_write(src, size, nitems, f, reverse=False):
9542  r"""reversed_write(void const * src, size_t size, size_t nitems, std::ofstream & f, bool reverse=False)"""
9543  return _IMP_algebra.reversed_write(src, size, nitems, f, reverse)
9544 
9545 def get_is_big_endian():
9546  r"""get_is_big_endian() -> bool"""
9547  return _IMP_algebra.get_is_big_endian()
9548 
9549 def get_is_little_endian():
9550  r"""get_is_little_endian() -> bool"""
9551  return _IMP_algebra.get_is_little_endian()
9552 
9553 def get_shortest_segment(*args):
9554  r"""
9555  get_shortest_segment(Segment3D s, Vector3D p) -> Segment3D
9556  get_shortest_segment(Segment3D sa, Segment3D sb) -> Segment3D
9557  """
9558  return _IMP_algebra.get_shortest_segment(*args)
9559 class DynamicNearestNeighbor3D(IMP.Object):
9560  r"""Proxy of C++ IMP::algebra::DynamicNearestNeighbor3D class."""
9561 
9562  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9563 
9564  def __init__(self, vs, query_estimate=1):
9565  r"""__init__(DynamicNearestNeighbor3D self, IMP::algebra::Vector3Ds const & vs, double query_estimate=1) -> DynamicNearestNeighbor3D"""
9566  _IMP_algebra.DynamicNearestNeighbor3D_swiginit(self, _IMP_algebra.new_DynamicNearestNeighbor3D(vs, query_estimate))
9567 
9568  def get_in_ball(self, id, distance):
9569  r"""get_in_ball(DynamicNearestNeighbor3D self, int id, double distance) -> IMP::Ints"""
9570  return _IMP_algebra.DynamicNearestNeighbor3D_get_in_ball(self, id, distance)
9571 
9572  def set_coordinates(self, id, nc):
9573  r"""set_coordinates(DynamicNearestNeighbor3D self, int id, Vector3D nc)"""
9574  return _IMP_algebra.DynamicNearestNeighbor3D_set_coordinates(self, id, nc)
9575 
9576  def get_version_info(self):
9577  r"""get_version_info(DynamicNearestNeighbor3D self) -> VersionInfo"""
9578  return _IMP_algebra.DynamicNearestNeighbor3D_get_version_info(self)
9579  __swig_destroy__ = _IMP_algebra.delete_DynamicNearestNeighbor3D
9580 
9581  def __str__(self):
9582  r"""__str__(DynamicNearestNeighbor3D self) -> std::string"""
9583  return _IMP_algebra.DynamicNearestNeighbor3D___str__(self)
9584 
9585  def __repr__(self):
9586  r"""__repr__(DynamicNearestNeighbor3D self) -> std::string"""
9587  return _IMP_algebra.DynamicNearestNeighbor3D___repr__(self)
9588 
9589  @staticmethod
9590  def get_from(o):
9591  return _object_cast_to_DynamicNearestNeighbor3D(o)
9592 
9593 
9594 # Register DynamicNearestNeighbor3D in _IMP_algebra:
9595 _IMP_algebra.DynamicNearestNeighbor3D_swigregister(DynamicNearestNeighbor3D)
9596 class VectorKDMetric(IMP.Object):
9597  r"""Proxy of C++ IMP::algebra::VectorKDMetric class."""
9598 
9599  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9600 
9601  def __init__(self, name):
9602  r"""__init__(VectorKDMetric self, std::string name) -> VectorKDMetric"""
9603  if self.__class__ == VectorKDMetric:
9604  _self = None
9605  else:
9606  _self = self
9607  _IMP_algebra.VectorKDMetric_swiginit(self, _IMP_algebra.new_VectorKDMetric(_self, name))
9608 
9609  if self.__class__ != VectorKDMetric:
9610  _director_objects.register(self)
9611 
9612 
9613 
9614 
9615  def get_distance(self, a, b):
9616  r"""get_distance(VectorKDMetric self, VectorKD a, VectorKD b) -> double"""
9617  return _IMP_algebra.VectorKDMetric_get_distance(self, a, b)
9618 
9619  def get_centroid(self, vs):
9620  r"""get_centroid(VectorKDMetric self, IMP::algebra::VectorKDs const & vs) -> VectorKD"""
9621  return _IMP_algebra.VectorKDMetric_get_centroid(self, vs)
9622 
9623  def __str__(self):
9624  r"""__str__(VectorKDMetric self) -> std::string"""
9625  return _IMP_algebra.VectorKDMetric___str__(self)
9626 
9627  def __repr__(self):
9628  r"""__repr__(VectorKDMetric self) -> std::string"""
9629  return _IMP_algebra.VectorKDMetric___repr__(self)
9630 
9631  @staticmethod
9632  def get_from(o):
9633  return _object_cast_to_VectorKDMetric(o)
9634 
9635 
9636  def do_show(self, out):
9637  pass
9638 
9639  @staticmethod
9640  def get_from(o):
9641  return _object_cast_to_VectorKDMetric(o)
9642 
9643  __swig_destroy__ = _IMP_algebra.delete_VectorKDMetric
9644  def __disown__(self):
9645  self.this.disown()
9646  _IMP_algebra.disown_VectorKDMetric(self)
9647  return weakref.proxy(self)
9648 
9649  def do_destroy(self):
9650  r"""do_destroy(VectorKDMetric self)"""
9651  return _IMP_algebra.VectorKDMetric_do_destroy(self)
9652 
9653 # Register VectorKDMetric in _IMP_algebra:
9654 _IMP_algebra.VectorKDMetric_swigregister(VectorKDMetric)
9655 class EuclideanVectorKDMetric(VectorKDMetric):
9656  r"""Proxy of C++ IMP::algebra::EuclideanVectorKDMetric class."""
9657 
9658  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9659 
9660  def __init__(self, *args):
9661  r"""__init__(EuclideanVectorKDMetric self, std::string name="EuclideanVectorKDMetric%1%") -> EuclideanVectorKDMetric"""
9662  _IMP_algebra.EuclideanVectorKDMetric_swiginit(self, _IMP_algebra.new_EuclideanVectorKDMetric(*args))
9663 
9664  def get_version_info(self):
9665  r"""get_version_info(EuclideanVectorKDMetric self) -> VersionInfo"""
9666  return _IMP_algebra.EuclideanVectorKDMetric_get_version_info(self)
9667  __swig_destroy__ = _IMP_algebra.delete_EuclideanVectorKDMetric
9668 
9669  def __str__(self):
9670  r"""__str__(EuclideanVectorKDMetric self) -> std::string"""
9671  return _IMP_algebra.EuclideanVectorKDMetric___str__(self)
9672 
9673  def __repr__(self):
9674  r"""__repr__(EuclideanVectorKDMetric self) -> std::string"""
9675  return _IMP_algebra.EuclideanVectorKDMetric___repr__(self)
9676 
9677  @staticmethod
9678  def get_from(o):
9679  return _object_cast_to_EuclideanVectorKDMetric(o)
9680 
9681 
9682  def _get_as_binary(self):
9683  r"""_get_as_binary(EuclideanVectorKDMetric self) -> PyObject *"""
9684  return _IMP_algebra.EuclideanVectorKDMetric__get_as_binary(self)
9685 
9686  def _set_from_binary(self, p):
9687  r"""_set_from_binary(EuclideanVectorKDMetric self, PyObject * p)"""
9688  return _IMP_algebra.EuclideanVectorKDMetric__set_from_binary(self, p)
9689 
9690  def __getstate__(self):
9691  p = self._get_as_binary()
9692  if len(self.__dict__) > 1:
9693  d = self.__dict__.copy()
9694  del d['this']
9695  p = (d, p)
9696  return p
9697 
9698  def __setstate__(self, p):
9699  if not hasattr(self, 'this'):
9700  self.__init__()
9701  if isinstance(p, tuple):
9702  d, p = p
9703  self.__dict__.update(d)
9704  return self._set_from_binary(p)
9705 
9706 
9707 # Register EuclideanVectorKDMetric in _IMP_algebra:
9708 _IMP_algebra.EuclideanVectorKDMetric_swigregister(EuclideanVectorKDMetric)
9709 class MaxVectorKDMetric(VectorKDMetric):
9710  r"""Proxy of C++ IMP::algebra::MaxVectorKDMetric class."""
9711 
9712  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9713 
9714  def __init__(self, *args):
9715  r"""__init__(MaxVectorKDMetric self, std::string name="MaxVectorKDMetric%1%") -> MaxVectorKDMetric"""
9716  _IMP_algebra.MaxVectorKDMetric_swiginit(self, _IMP_algebra.new_MaxVectorKDMetric(*args))
9717 
9718  def get_version_info(self):
9719  r"""get_version_info(MaxVectorKDMetric self) -> VersionInfo"""
9720  return _IMP_algebra.MaxVectorKDMetric_get_version_info(self)
9721  __swig_destroy__ = _IMP_algebra.delete_MaxVectorKDMetric
9722 
9723  def __str__(self):
9724  r"""__str__(MaxVectorKDMetric self) -> std::string"""
9725  return _IMP_algebra.MaxVectorKDMetric___str__(self)
9726 
9727  def __repr__(self):
9728  r"""__repr__(MaxVectorKDMetric self) -> std::string"""
9729  return _IMP_algebra.MaxVectorKDMetric___repr__(self)
9730 
9731  @staticmethod
9732  def get_from(o):
9733  return _object_cast_to_MaxVectorKDMetric(o)
9734 
9735 
9736  def _get_as_binary(self):
9737  r"""_get_as_binary(MaxVectorKDMetric self) -> PyObject *"""
9738  return _IMP_algebra.MaxVectorKDMetric__get_as_binary(self)
9739 
9740  def _set_from_binary(self, p):
9741  r"""_set_from_binary(MaxVectorKDMetric self, PyObject * p)"""
9742  return _IMP_algebra.MaxVectorKDMetric__set_from_binary(self, p)
9743 
9744  def __getstate__(self):
9745  p = self._get_as_binary()
9746  if len(self.__dict__) > 1:
9747  d = self.__dict__.copy()
9748  del d['this']
9749  p = (d, p)
9750  return p
9751 
9752  def __setstate__(self, p):
9753  if not hasattr(self, 'this'):
9754  self.__init__()
9755  if isinstance(p, tuple):
9756  d, p = p
9757  self.__dict__.update(d)
9758  return self._set_from_binary(p)
9759 
9760 
9761 # Register MaxVectorKDMetric in _IMP_algebra:
9762 _IMP_algebra.MaxVectorKDMetric_swigregister(MaxVectorKDMetric)
9763 class Gaussian3D(IMP._GeometricPrimitive3D):
9764  r"""Proxy of C++ IMP::algebra::Gaussian3D class."""
9765 
9766  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9767 
9768  def __init__(self, *args):
9769  r"""
9770  __init__(Gaussian3D self) -> Gaussian3D
9771  __init__(Gaussian3D self, ReferenceFrame3D tr, Vector3D variances) -> Gaussian3D
9772  """
9773  _IMP_algebra.Gaussian3D_swiginit(self, _IMP_algebra.new_Gaussian3D(*args))
9774 
9775  def get_reference_frame(self):
9776  r"""get_reference_frame(Gaussian3D self) -> ReferenceFrame3D"""
9777  return _IMP_algebra.Gaussian3D_get_reference_frame(self)
9778 
9779  def get_variances(self):
9780  r"""get_variances(Gaussian3D self) -> Vector3D"""
9781  return _IMP_algebra.Gaussian3D_get_variances(self)
9782 
9783  def get_center(self):
9784  r"""get_center(Gaussian3D self) -> Vector3D"""
9785  return _IMP_algebra.Gaussian3D_get_center(self)
9786 
9787  def show(self, *args):
9788  r"""show(Gaussian3D self, _ostream out=std::cout)"""
9789  return _IMP_algebra.Gaussian3D_show(self, *args)
9790 
9791  def __str__(self):
9792  r"""__str__(Gaussian3D self) -> std::string"""
9793  return _IMP_algebra.Gaussian3D___str__(self)
9794 
9795  def __repr__(self):
9796  r"""__repr__(Gaussian3D self) -> std::string"""
9797  return _IMP_algebra.Gaussian3D___repr__(self)
9798 
9799  def _get_as_binary(self):
9800  r"""_get_as_binary(Gaussian3D self) -> PyObject *"""
9801  return _IMP_algebra.Gaussian3D__get_as_binary(self)
9802 
9803  def _set_from_binary(self, p):
9804  r"""_set_from_binary(Gaussian3D self, PyObject * p)"""
9805  return _IMP_algebra.Gaussian3D__set_from_binary(self, p)
9806 
9807  def __getstate__(self):
9808  p = self._get_as_binary()
9809  if len(self.__dict__) > 1:
9810  d = self.__dict__.copy()
9811  del d['this']
9812  p = (d, p)
9813  return p
9814 
9815  def __setstate__(self, p):
9816  if not hasattr(self, 'this'):
9817  self.__init__()
9818  if isinstance(p, tuple):
9819  d, p = p
9820  self.__dict__.update(d)
9821  return self._set_from_binary(p)
9822 
9823  __swig_destroy__ = _IMP_algebra.delete_Gaussian3D
9824 
9825 # Register Gaussian3D in _IMP_algebra:
9826 _IMP_algebra.Gaussian3D_swigregister(Gaussian3D)
9827 
9828 def get_covariance(g):
9829  r"""get_covariance(Gaussian3D g) -> Eigen::Matrix3d"""
9830  return _IMP_algebra.get_covariance(g)
9831 
9832 def get_gaussian_from_covariance(covariance, center):
9833  r"""get_gaussian_from_covariance(Eigen::Matrix3d const & covariance, Vector3D center) -> Gaussian3D"""
9834  return _IMP_algebra.get_gaussian_from_covariance(covariance, center)
9835 
9836 def get_rasterized(gmm, weights, cell_width, bb):
9837  r"""get_rasterized(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb) -> DenseDoubleGrid3D"""
9838  return _IMP_algebra.get_rasterized(gmm, weights, cell_width, bb)
9839 
9840 def get_rasterized_fast(gmm, weights, cell_width, bb, factor=2.5):
9841  r"""get_rasterized_fast(IMP::algebra::Gaussian3Ds const & gmm, IMP::Floats const & weights, double cell_width, BoundingBox3D bb, double factor=2.5) -> DenseDoubleGrid3D"""
9842  return _IMP_algebra.get_rasterized_fast(gmm, weights, cell_width, bb, factor)
9843 
9844 def _pass_matrix_xf(m):
9845  r"""_pass_matrix_xf(Eigen::MatrixXf const & m) -> Eigen::MatrixXf"""
9846  return _IMP_algebra._pass_matrix_xf(m)
9847 
9848 def _pass_matrix_xd(m):
9849  r"""_pass_matrix_xd(Eigen::MatrixXd const & m) -> Eigen::MatrixXd"""
9850  return _IMP_algebra._pass_matrix_xd(m)
9851 
9852 def _pass_matrix_3d(m):
9853  r"""_pass_matrix_3d(Eigen::Matrix3d const & m) -> Eigen::Matrix3d"""
9854  return _IMP_algebra._pass_matrix_3d(m)
9855 
9856 def _pass_array_xd(m):
9857  r"""_pass_array_xd(Eigen::ArrayXXd const & m) -> Eigen::ArrayXXd"""
9858  return _IMP_algebra._pass_array_xd(m)
9859 
9860 def _pass_vector_xd(m):
9861  r"""_pass_vector_xd(Eigen::VectorXd const & m) -> Eigen::VectorXd"""
9862  return _IMP_algebra._pass_vector_xd(m)
9863 class NearestNeighbor1D(IMP.Object):
9864  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 1 > class."""
9865 
9866  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9867 
9868  def __init__(self, vs, epsilon=0):
9869  r"""__init__(NearestNeighbor1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & vs, double epsilon=0) -> NearestNeighbor1D"""
9870  _IMP_algebra.NearestNeighbor1D_swiginit(self, _IMP_algebra.new_NearestNeighbor1D(vs, epsilon))
9871 
9872  def set_query_log(self, fname):
9873  r"""set_query_log(NearestNeighbor1D self, std::string fname)"""
9874  return _IMP_algebra.NearestNeighbor1D_set_query_log(self, fname)
9875 
9876  def get_nearest_neighbor(self, *args):
9877  r"""
9878  get_nearest_neighbor(NearestNeighbor1D self, Vector1D q) -> unsigned int
9879  get_nearest_neighbor(NearestNeighbor1D self, unsigned int i) -> unsigned int
9880  """
9881  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbor(self, *args)
9882 
9883  def get_nearest_neighbors(self, *args):
9884  r"""
9885  get_nearest_neighbors(NearestNeighbor1D self, unsigned int i, unsigned int k) -> IMP::Ints
9886  get_nearest_neighbors(NearestNeighbor1D self, Vector1D v, unsigned int k) -> IMP::Ints
9887  """
9888  return _IMP_algebra.NearestNeighbor1D_get_nearest_neighbors(self, *args)
9889 
9890  def get_in_ball(self, *args):
9891  r"""
9892  get_in_ball(NearestNeighbor1D self, unsigned int i, double distance) -> IMP::Ints
9893  get_in_ball(NearestNeighbor1D self, Vector1D pt, double distance) -> IMP::Ints
9894  """
9895  return _IMP_algebra.NearestNeighbor1D_get_in_ball(self, *args)
9896 
9897  def get_version_info(self):
9898  r"""get_version_info(NearestNeighbor1D self) -> VersionInfo"""
9899  return _IMP_algebra.NearestNeighbor1D_get_version_info(self)
9900  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor1D
9901 
9902  def __str__(self):
9903  r"""__str__(NearestNeighbor1D self) -> std::string"""
9904  return _IMP_algebra.NearestNeighbor1D___str__(self)
9905 
9906  def __repr__(self):
9907  r"""__repr__(NearestNeighbor1D self) -> std::string"""
9908  return _IMP_algebra.NearestNeighbor1D___repr__(self)
9909 
9910  @staticmethod
9911  def get_from(o):
9912  return _object_cast_to_NearestNeighborD(o)
9913 
9914 
9915 # Register NearestNeighbor1D in _IMP_algebra:
9916 _IMP_algebra.NearestNeighbor1D_swigregister(NearestNeighbor1D)
9917 class NearestNeighbor2D(IMP.Object):
9918  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 2 > class."""
9919 
9920  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9921 
9922  def __init__(self, vs, epsilon=0):
9923  r"""__init__(NearestNeighbor2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & vs, double epsilon=0) -> NearestNeighbor2D"""
9924  _IMP_algebra.NearestNeighbor2D_swiginit(self, _IMP_algebra.new_NearestNeighbor2D(vs, epsilon))
9925 
9926  def set_query_log(self, fname):
9927  r"""set_query_log(NearestNeighbor2D self, std::string fname)"""
9928  return _IMP_algebra.NearestNeighbor2D_set_query_log(self, fname)
9929 
9930  def get_nearest_neighbor(self, *args):
9931  r"""
9932  get_nearest_neighbor(NearestNeighbor2D self, Vector2D q) -> unsigned int
9933  get_nearest_neighbor(NearestNeighbor2D self, unsigned int i) -> unsigned int
9934  """
9935  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbor(self, *args)
9936 
9937  def get_nearest_neighbors(self, *args):
9938  r"""
9939  get_nearest_neighbors(NearestNeighbor2D self, unsigned int i, unsigned int k) -> IMP::Ints
9940  get_nearest_neighbors(NearestNeighbor2D self, Vector2D v, unsigned int k) -> IMP::Ints
9941  """
9942  return _IMP_algebra.NearestNeighbor2D_get_nearest_neighbors(self, *args)
9943 
9944  def get_in_ball(self, *args):
9945  r"""
9946  get_in_ball(NearestNeighbor2D self, unsigned int i, double distance) -> IMP::Ints
9947  get_in_ball(NearestNeighbor2D self, Vector2D pt, double distance) -> IMP::Ints
9948  """
9949  return _IMP_algebra.NearestNeighbor2D_get_in_ball(self, *args)
9950 
9951  def get_version_info(self):
9952  r"""get_version_info(NearestNeighbor2D self) -> VersionInfo"""
9953  return _IMP_algebra.NearestNeighbor2D_get_version_info(self)
9954  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor2D
9955 
9956  def __str__(self):
9957  r"""__str__(NearestNeighbor2D self) -> std::string"""
9958  return _IMP_algebra.NearestNeighbor2D___str__(self)
9959 
9960  def __repr__(self):
9961  r"""__repr__(NearestNeighbor2D self) -> std::string"""
9962  return _IMP_algebra.NearestNeighbor2D___repr__(self)
9963 
9964  @staticmethod
9965  def get_from(o):
9966  return _object_cast_to_NearestNeighborD(o)
9967 
9968 
9969 # Register NearestNeighbor2D in _IMP_algebra:
9970 _IMP_algebra.NearestNeighbor2D_swigregister(NearestNeighbor2D)
9971 class NearestNeighbor3D(IMP.Object):
9972  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 3 > class."""
9973 
9974  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9975 
9976  def __init__(self, vs, epsilon=0):
9977  r"""__init__(NearestNeighbor3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & vs, double epsilon=0) -> NearestNeighbor3D"""
9978  _IMP_algebra.NearestNeighbor3D_swiginit(self, _IMP_algebra.new_NearestNeighbor3D(vs, epsilon))
9979 
9980  def set_query_log(self, fname):
9981  r"""set_query_log(NearestNeighbor3D self, std::string fname)"""
9982  return _IMP_algebra.NearestNeighbor3D_set_query_log(self, fname)
9983 
9984  def get_nearest_neighbor(self, *args):
9985  r"""
9986  get_nearest_neighbor(NearestNeighbor3D self, Vector3D q) -> unsigned int
9987  get_nearest_neighbor(NearestNeighbor3D self, unsigned int i) -> unsigned int
9988  """
9989  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbor(self, *args)
9990 
9991  def get_nearest_neighbors(self, *args):
9992  r"""
9993  get_nearest_neighbors(NearestNeighbor3D self, unsigned int i, unsigned int k) -> IMP::Ints
9994  get_nearest_neighbors(NearestNeighbor3D self, Vector3D v, unsigned int k) -> IMP::Ints
9995  """
9996  return _IMP_algebra.NearestNeighbor3D_get_nearest_neighbors(self, *args)
9997 
9998  def get_in_ball(self, *args):
9999  r"""
10000  get_in_ball(NearestNeighbor3D self, unsigned int i, double distance) -> IMP::Ints
10001  get_in_ball(NearestNeighbor3D self, Vector3D pt, double distance) -> IMP::Ints
10002  """
10003  return _IMP_algebra.NearestNeighbor3D_get_in_ball(self, *args)
10004 
10005  def get_version_info(self):
10006  r"""get_version_info(NearestNeighbor3D self) -> VersionInfo"""
10007  return _IMP_algebra.NearestNeighbor3D_get_version_info(self)
10008  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor3D
10009 
10010  def __str__(self):
10011  r"""__str__(NearestNeighbor3D self) -> std::string"""
10012  return _IMP_algebra.NearestNeighbor3D___str__(self)
10013 
10014  def __repr__(self):
10015  r"""__repr__(NearestNeighbor3D self) -> std::string"""
10016  return _IMP_algebra.NearestNeighbor3D___repr__(self)
10017 
10018  @staticmethod
10019  def get_from(o):
10020  return _object_cast_to_NearestNeighborD(o)
10021 
10022 
10023 # Register NearestNeighbor3D in _IMP_algebra:
10024 _IMP_algebra.NearestNeighbor3D_swigregister(NearestNeighbor3D)
10025 class NearestNeighbor4D(IMP.Object):
10026  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 4 > class."""
10027 
10028  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10029 
10030  def __init__(self, vs, epsilon=0):
10031  r"""__init__(NearestNeighbor4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & vs, double epsilon=0) -> NearestNeighbor4D"""
10032  _IMP_algebra.NearestNeighbor4D_swiginit(self, _IMP_algebra.new_NearestNeighbor4D(vs, epsilon))
10033 
10034  def set_query_log(self, fname):
10035  r"""set_query_log(NearestNeighbor4D self, std::string fname)"""
10036  return _IMP_algebra.NearestNeighbor4D_set_query_log(self, fname)
10037 
10038  def get_nearest_neighbor(self, *args):
10039  r"""
10040  get_nearest_neighbor(NearestNeighbor4D self, Vector4D q) -> unsigned int
10041  get_nearest_neighbor(NearestNeighbor4D self, unsigned int i) -> unsigned int
10042  """
10043  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbor(self, *args)
10044 
10045  def get_nearest_neighbors(self, *args):
10046  r"""
10047  get_nearest_neighbors(NearestNeighbor4D self, unsigned int i, unsigned int k) -> IMP::Ints
10048  get_nearest_neighbors(NearestNeighbor4D self, Vector4D v, unsigned int k) -> IMP::Ints
10049  """
10050  return _IMP_algebra.NearestNeighbor4D_get_nearest_neighbors(self, *args)
10051 
10052  def get_in_ball(self, *args):
10053  r"""
10054  get_in_ball(NearestNeighbor4D self, unsigned int i, double distance) -> IMP::Ints
10055  get_in_ball(NearestNeighbor4D self, Vector4D pt, double distance) -> IMP::Ints
10056  """
10057  return _IMP_algebra.NearestNeighbor4D_get_in_ball(self, *args)
10058 
10059  def get_version_info(self):
10060  r"""get_version_info(NearestNeighbor4D self) -> VersionInfo"""
10061  return _IMP_algebra.NearestNeighbor4D_get_version_info(self)
10062  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor4D
10063 
10064  def __str__(self):
10065  r"""__str__(NearestNeighbor4D self) -> std::string"""
10066  return _IMP_algebra.NearestNeighbor4D___str__(self)
10067 
10068  def __repr__(self):
10069  r"""__repr__(NearestNeighbor4D self) -> std::string"""
10070  return _IMP_algebra.NearestNeighbor4D___repr__(self)
10071 
10072  @staticmethod
10073  def get_from(o):
10074  return _object_cast_to_NearestNeighborD(o)
10075 
10076 
10077 # Register NearestNeighbor4D in _IMP_algebra:
10078 _IMP_algebra.NearestNeighbor4D_swigregister(NearestNeighbor4D)
10079 class NearestNeighbor5D(IMP.Object):
10080  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 5 > class."""
10081 
10082  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10083 
10084  def __init__(self, vs, epsilon=0):
10085  r"""__init__(NearestNeighbor5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & vs, double epsilon=0) -> NearestNeighbor5D"""
10086  _IMP_algebra.NearestNeighbor5D_swiginit(self, _IMP_algebra.new_NearestNeighbor5D(vs, epsilon))
10087 
10088  def set_query_log(self, fname):
10089  r"""set_query_log(NearestNeighbor5D self, std::string fname)"""
10090  return _IMP_algebra.NearestNeighbor5D_set_query_log(self, fname)
10091 
10092  def get_nearest_neighbor(self, *args):
10093  r"""
10094  get_nearest_neighbor(NearestNeighbor5D self, Vector5D q) -> unsigned int
10095  get_nearest_neighbor(NearestNeighbor5D self, unsigned int i) -> unsigned int
10096  """
10097  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbor(self, *args)
10098 
10099  def get_nearest_neighbors(self, *args):
10100  r"""
10101  get_nearest_neighbors(NearestNeighbor5D self, unsigned int i, unsigned int k) -> IMP::Ints
10102  get_nearest_neighbors(NearestNeighbor5D self, Vector5D v, unsigned int k) -> IMP::Ints
10103  """
10104  return _IMP_algebra.NearestNeighbor5D_get_nearest_neighbors(self, *args)
10105 
10106  def get_in_ball(self, *args):
10107  r"""
10108  get_in_ball(NearestNeighbor5D self, unsigned int i, double distance) -> IMP::Ints
10109  get_in_ball(NearestNeighbor5D self, Vector5D pt, double distance) -> IMP::Ints
10110  """
10111  return _IMP_algebra.NearestNeighbor5D_get_in_ball(self, *args)
10112 
10113  def get_version_info(self):
10114  r"""get_version_info(NearestNeighbor5D self) -> VersionInfo"""
10115  return _IMP_algebra.NearestNeighbor5D_get_version_info(self)
10116  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor5D
10117 
10118  def __str__(self):
10119  r"""__str__(NearestNeighbor5D self) -> std::string"""
10120  return _IMP_algebra.NearestNeighbor5D___str__(self)
10121 
10122  def __repr__(self):
10123  r"""__repr__(NearestNeighbor5D self) -> std::string"""
10124  return _IMP_algebra.NearestNeighbor5D___repr__(self)
10125 
10126  @staticmethod
10127  def get_from(o):
10128  return _object_cast_to_NearestNeighborD(o)
10129 
10130 
10131 # Register NearestNeighbor5D in _IMP_algebra:
10132 _IMP_algebra.NearestNeighbor5D_swigregister(NearestNeighbor5D)
10133 class NearestNeighbor6D(IMP.Object):
10134  r"""Proxy of C++ IMP::algebra::NearestNeighborD< 6 > class."""
10135 
10136  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10137 
10138  def __init__(self, vs, epsilon=0):
10139  r"""__init__(NearestNeighbor6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & vs, double epsilon=0) -> NearestNeighbor6D"""
10140  _IMP_algebra.NearestNeighbor6D_swiginit(self, _IMP_algebra.new_NearestNeighbor6D(vs, epsilon))
10141 
10142  def set_query_log(self, fname):
10143  r"""set_query_log(NearestNeighbor6D self, std::string fname)"""
10144  return _IMP_algebra.NearestNeighbor6D_set_query_log(self, fname)
10145 
10146  def get_nearest_neighbor(self, *args):
10147  r"""
10148  get_nearest_neighbor(NearestNeighbor6D self, Vector6D q) -> unsigned int
10149  get_nearest_neighbor(NearestNeighbor6D self, unsigned int i) -> unsigned int
10150  """
10151  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbor(self, *args)
10152 
10153  def get_nearest_neighbors(self, *args):
10154  r"""
10155  get_nearest_neighbors(NearestNeighbor6D self, unsigned int i, unsigned int k) -> IMP::Ints
10156  get_nearest_neighbors(NearestNeighbor6D self, Vector6D v, unsigned int k) -> IMP::Ints
10157  """
10158  return _IMP_algebra.NearestNeighbor6D_get_nearest_neighbors(self, *args)
10159 
10160  def get_in_ball(self, *args):
10161  r"""
10162  get_in_ball(NearestNeighbor6D self, unsigned int i, double distance) -> IMP::Ints
10163  get_in_ball(NearestNeighbor6D self, Vector6D pt, double distance) -> IMP::Ints
10164  """
10165  return _IMP_algebra.NearestNeighbor6D_get_in_ball(self, *args)
10166 
10167  def get_version_info(self):
10168  r"""get_version_info(NearestNeighbor6D self) -> VersionInfo"""
10169  return _IMP_algebra.NearestNeighbor6D_get_version_info(self)
10170  __swig_destroy__ = _IMP_algebra.delete_NearestNeighbor6D
10171 
10172  def __str__(self):
10173  r"""__str__(NearestNeighbor6D self) -> std::string"""
10174  return _IMP_algebra.NearestNeighbor6D___str__(self)
10175 
10176  def __repr__(self):
10177  r"""__repr__(NearestNeighbor6D self) -> std::string"""
10178  return _IMP_algebra.NearestNeighbor6D___repr__(self)
10179 
10180  @staticmethod
10181  def get_from(o):
10182  return _object_cast_to_NearestNeighborD(o)
10183 
10184 
10185 # Register NearestNeighbor6D in _IMP_algebra:
10186 _IMP_algebra.NearestNeighbor6D_swigregister(NearestNeighbor6D)
10187 class NearestNeighborKD(IMP.Object):
10188  r"""Proxy of C++ IMP::algebra::NearestNeighborD< -1 > class."""
10189 
10190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10191 
10192  def __init__(self, vs, epsilon=0):
10193  r"""__init__(NearestNeighborKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & vs, double epsilon=0) -> NearestNeighborKD"""
10194  _IMP_algebra.NearestNeighborKD_swiginit(self, _IMP_algebra.new_NearestNeighborKD(vs, epsilon))
10195 
10196  def set_query_log(self, fname):
10197  r"""set_query_log(NearestNeighborKD self, std::string fname)"""
10198  return _IMP_algebra.NearestNeighborKD_set_query_log(self, fname)
10199 
10200  def get_nearest_neighbor(self, *args):
10201  r"""
10202  get_nearest_neighbor(NearestNeighborKD self, VectorKD q) -> unsigned int
10203  get_nearest_neighbor(NearestNeighborKD self, unsigned int i) -> unsigned int
10204  """
10205  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbor(self, *args)
10206 
10207  def get_nearest_neighbors(self, *args):
10208  r"""
10209  get_nearest_neighbors(NearestNeighborKD self, unsigned int i, unsigned int k) -> IMP::Ints
10210  get_nearest_neighbors(NearestNeighborKD self, VectorKD v, unsigned int k) -> IMP::Ints
10211  """
10212  return _IMP_algebra.NearestNeighborKD_get_nearest_neighbors(self, *args)
10213 
10214  def get_in_ball(self, *args):
10215  r"""
10216  get_in_ball(NearestNeighborKD self, unsigned int i, double distance) -> IMP::Ints
10217  get_in_ball(NearestNeighborKD self, VectorKD pt, double distance) -> IMP::Ints
10218  """
10219  return _IMP_algebra.NearestNeighborKD_get_in_ball(self, *args)
10220 
10221  def get_version_info(self):
10222  r"""get_version_info(NearestNeighborKD self) -> VersionInfo"""
10223  return _IMP_algebra.NearestNeighborKD_get_version_info(self)
10224  __swig_destroy__ = _IMP_algebra.delete_NearestNeighborKD
10225 
10226  def __str__(self):
10227  r"""__str__(NearestNeighborKD self) -> std::string"""
10228  return _IMP_algebra.NearestNeighborKD___str__(self)
10229 
10230  def __repr__(self):
10231  r"""__repr__(NearestNeighborKD self) -> std::string"""
10232  return _IMP_algebra.NearestNeighborKD___repr__(self)
10233 
10234  @staticmethod
10235  def get_from(o):
10236  return _object_cast_to_NearestNeighborD(o)
10237 
10238 
10239 # Register NearestNeighborKD in _IMP_algebra:
10240 _IMP_algebra.NearestNeighborKD_swigregister(NearestNeighborKD)
10241 
10242 def get_transformation_aligning_pair(set_from, set_to):
10243  r"""get_transformation_aligning_pair(IMP::algebra::Vector2Ds const & set_from, IMP::algebra::Vector2Ds const & set_to) -> Transformation2D"""
10244  return _IMP_algebra.get_transformation_aligning_pair(set_from, set_to)
10245 class PrincipalComponentAnalysis1D(IMP._GeometricPrimitive1D):
10246  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 1 > class."""
10247 
10248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10249 
10250  def __init__(self, *args):
10251  r"""
10252  __init__(PrincipalComponentAnalysis1D self) -> PrincipalComponentAnalysis1D
10253  __init__(PrincipalComponentAnalysis1D self, IMP::Vector< IMP::algebra::VectorD< 1 > > const & pcs, Vector1D values, Vector1D centroid) -> PrincipalComponentAnalysis1D
10254  """
10255  _IMP_algebra.PrincipalComponentAnalysis1D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis1D(*args))
10256 
10257  def get_principal_components(self):
10258  r"""get_principal_components(PrincipalComponentAnalysis1D self) -> IMP::Vector< IMP::algebra::VectorD< 1 > >"""
10259  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_components(self)
10260 
10261  def get_principal_component(self, i):
10262  r"""get_principal_component(PrincipalComponentAnalysis1D self, unsigned int i) -> Vector1D"""
10263  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_component(self, i)
10264 
10265  def get_principal_values(self):
10266  r"""get_principal_values(PrincipalComponentAnalysis1D self) -> Vector1D"""
10267  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_values(self)
10268 
10269  def get_principal_value(self, i):
10270  r"""get_principal_value(PrincipalComponentAnalysis1D self, unsigned int i) -> double"""
10271  return _IMP_algebra.PrincipalComponentAnalysis1D_get_principal_value(self, i)
10272 
10273  def get_centroid(self):
10274  r"""get_centroid(PrincipalComponentAnalysis1D self) -> Vector1D"""
10275  return _IMP_algebra.PrincipalComponentAnalysis1D_get_centroid(self)
10276 
10277  def set_centroid(self, cntr):
10278  r"""set_centroid(PrincipalComponentAnalysis1D self, Vector1D cntr)"""
10279  return _IMP_algebra.PrincipalComponentAnalysis1D_set_centroid(self, cntr)
10280 
10281  def show(self, *args):
10282  r"""show(PrincipalComponentAnalysis1D self, _ostream out=std::cout)"""
10283  return _IMP_algebra.PrincipalComponentAnalysis1D_show(self, *args)
10284 
10285  def __cmp__(self, o):
10286  r"""__cmp__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> int"""
10287  return _IMP_algebra.PrincipalComponentAnalysis1D___cmp__(self, o)
10288 
10289  def __eq__(self, o):
10290  r"""__eq__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10291  return _IMP_algebra.PrincipalComponentAnalysis1D___eq__(self, o)
10292 
10293  def __ne__(self, o):
10294  r"""__ne__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10295  return _IMP_algebra.PrincipalComponentAnalysis1D___ne__(self, o)
10296 
10297  def __lt__(self, o):
10298  r"""__lt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10299  return _IMP_algebra.PrincipalComponentAnalysis1D___lt__(self, o)
10300 
10301  def __gt__(self, o):
10302  r"""__gt__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10303  return _IMP_algebra.PrincipalComponentAnalysis1D___gt__(self, o)
10304 
10305  def __ge__(self, o):
10306  r"""__ge__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10307  return _IMP_algebra.PrincipalComponentAnalysis1D___ge__(self, o)
10308 
10309  def __le__(self, o):
10310  r"""__le__(PrincipalComponentAnalysis1D self, PrincipalComponentAnalysis1D o) -> bool"""
10311  return _IMP_algebra.PrincipalComponentAnalysis1D___le__(self, o)
10312 
10313  def __str__(self):
10314  r"""__str__(PrincipalComponentAnalysis1D self) -> std::string"""
10315  return _IMP_algebra.PrincipalComponentAnalysis1D___str__(self)
10316 
10317  def __repr__(self):
10318  r"""__repr__(PrincipalComponentAnalysis1D self) -> std::string"""
10319  return _IMP_algebra.PrincipalComponentAnalysis1D___repr__(self)
10320 
10321  def _get_as_binary(self):
10322  r"""_get_as_binary(PrincipalComponentAnalysis1D self) -> PyObject *"""
10323  return _IMP_algebra.PrincipalComponentAnalysis1D__get_as_binary(self)
10324 
10325  def _set_from_binary(self, p):
10326  r"""_set_from_binary(PrincipalComponentAnalysis1D self, PyObject * p)"""
10327  return _IMP_algebra.PrincipalComponentAnalysis1D__set_from_binary(self, p)
10328 
10329  def __getstate__(self):
10330  p = self._get_as_binary()
10331  if len(self.__dict__) > 1:
10332  d = self.__dict__.copy()
10333  del d['this']
10334  p = (d, p)
10335  return p
10336 
10337  def __setstate__(self, p):
10338  if not hasattr(self, 'this'):
10339  self.__init__()
10340  if isinstance(p, tuple):
10341  d, p = p
10342  self.__dict__.update(d)
10343  return self._set_from_binary(p)
10344 
10345  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis1D
10346 
10347 # Register PrincipalComponentAnalysis1D in _IMP_algebra:
10348 _IMP_algebra.PrincipalComponentAnalysis1D_swigregister(PrincipalComponentAnalysis1D)
10349 class PrincipalComponentAnalysis2D(IMP._GeometricPrimitive2D):
10350  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 2 > class."""
10351 
10352  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10353 
10354  def __init__(self, *args):
10355  r"""
10356  __init__(PrincipalComponentAnalysis2D self) -> PrincipalComponentAnalysis2D
10357  __init__(PrincipalComponentAnalysis2D self, IMP::Vector< IMP::algebra::VectorD< 2 > > const & pcs, Vector2D values, Vector2D centroid) -> PrincipalComponentAnalysis2D
10358  """
10359  _IMP_algebra.PrincipalComponentAnalysis2D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis2D(*args))
10360 
10361  def get_principal_components(self):
10362  r"""get_principal_components(PrincipalComponentAnalysis2D self) -> IMP::Vector< IMP::algebra::VectorD< 2 > >"""
10363  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_components(self)
10364 
10365  def get_principal_component(self, i):
10366  r"""get_principal_component(PrincipalComponentAnalysis2D self, unsigned int i) -> Vector2D"""
10367  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_component(self, i)
10368 
10369  def get_principal_values(self):
10370  r"""get_principal_values(PrincipalComponentAnalysis2D self) -> Vector2D"""
10371  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_values(self)
10372 
10373  def get_principal_value(self, i):
10374  r"""get_principal_value(PrincipalComponentAnalysis2D self, unsigned int i) -> double"""
10375  return _IMP_algebra.PrincipalComponentAnalysis2D_get_principal_value(self, i)
10376 
10377  def get_centroid(self):
10378  r"""get_centroid(PrincipalComponentAnalysis2D self) -> Vector2D"""
10379  return _IMP_algebra.PrincipalComponentAnalysis2D_get_centroid(self)
10380 
10381  def set_centroid(self, cntr):
10382  r"""set_centroid(PrincipalComponentAnalysis2D self, Vector2D cntr)"""
10383  return _IMP_algebra.PrincipalComponentAnalysis2D_set_centroid(self, cntr)
10384 
10385  def show(self, *args):
10386  r"""show(PrincipalComponentAnalysis2D self, _ostream out=std::cout)"""
10387  return _IMP_algebra.PrincipalComponentAnalysis2D_show(self, *args)
10388 
10389  def __cmp__(self, o):
10390  r"""__cmp__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> int"""
10391  return _IMP_algebra.PrincipalComponentAnalysis2D___cmp__(self, o)
10392 
10393  def __eq__(self, o):
10394  r"""__eq__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10395  return _IMP_algebra.PrincipalComponentAnalysis2D___eq__(self, o)
10396 
10397  def __ne__(self, o):
10398  r"""__ne__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10399  return _IMP_algebra.PrincipalComponentAnalysis2D___ne__(self, o)
10400 
10401  def __lt__(self, o):
10402  r"""__lt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10403  return _IMP_algebra.PrincipalComponentAnalysis2D___lt__(self, o)
10404 
10405  def __gt__(self, o):
10406  r"""__gt__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10407  return _IMP_algebra.PrincipalComponentAnalysis2D___gt__(self, o)
10408 
10409  def __ge__(self, o):
10410  r"""__ge__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10411  return _IMP_algebra.PrincipalComponentAnalysis2D___ge__(self, o)
10412 
10413  def __le__(self, o):
10414  r"""__le__(PrincipalComponentAnalysis2D self, PrincipalComponentAnalysis2D o) -> bool"""
10415  return _IMP_algebra.PrincipalComponentAnalysis2D___le__(self, o)
10416 
10417  def __str__(self):
10418  r"""__str__(PrincipalComponentAnalysis2D self) -> std::string"""
10419  return _IMP_algebra.PrincipalComponentAnalysis2D___str__(self)
10420 
10421  def __repr__(self):
10422  r"""__repr__(PrincipalComponentAnalysis2D self) -> std::string"""
10423  return _IMP_algebra.PrincipalComponentAnalysis2D___repr__(self)
10424 
10425  def _get_as_binary(self):
10426  r"""_get_as_binary(PrincipalComponentAnalysis2D self) -> PyObject *"""
10427  return _IMP_algebra.PrincipalComponentAnalysis2D__get_as_binary(self)
10428 
10429  def _set_from_binary(self, p):
10430  r"""_set_from_binary(PrincipalComponentAnalysis2D self, PyObject * p)"""
10431  return _IMP_algebra.PrincipalComponentAnalysis2D__set_from_binary(self, p)
10432 
10433  def __getstate__(self):
10434  p = self._get_as_binary()
10435  if len(self.__dict__) > 1:
10436  d = self.__dict__.copy()
10437  del d['this']
10438  p = (d, p)
10439  return p
10440 
10441  def __setstate__(self, p):
10442  if not hasattr(self, 'this'):
10443  self.__init__()
10444  if isinstance(p, tuple):
10445  d, p = p
10446  self.__dict__.update(d)
10447  return self._set_from_binary(p)
10448 
10449  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis2D
10450 
10451 # Register PrincipalComponentAnalysis2D in _IMP_algebra:
10452 _IMP_algebra.PrincipalComponentAnalysis2D_swigregister(PrincipalComponentAnalysis2D)
10453 class PrincipalComponentAnalysis3D(IMP._GeometricPrimitive3D):
10454  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 3 > class."""
10455 
10456  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10457 
10458  def __init__(self, *args):
10459  r"""
10460  __init__(PrincipalComponentAnalysis3D self) -> PrincipalComponentAnalysis3D
10461  __init__(PrincipalComponentAnalysis3D self, IMP::Vector< IMP::algebra::VectorD< 3 > > const & pcs, Vector3D values, Vector3D centroid) -> PrincipalComponentAnalysis3D
10462  """
10463  _IMP_algebra.PrincipalComponentAnalysis3D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis3D(*args))
10464 
10465  def get_principal_components(self):
10466  r"""get_principal_components(PrincipalComponentAnalysis3D self) -> IMP::Vector< IMP::algebra::VectorD< 3 > >"""
10467  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_components(self)
10468 
10469  def get_principal_component(self, i):
10470  r"""get_principal_component(PrincipalComponentAnalysis3D self, unsigned int i) -> Vector3D"""
10471  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_component(self, i)
10472 
10473  def get_principal_values(self):
10474  r"""get_principal_values(PrincipalComponentAnalysis3D self) -> Vector3D"""
10475  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_values(self)
10476 
10477  def get_principal_value(self, i):
10478  r"""get_principal_value(PrincipalComponentAnalysis3D self, unsigned int i) -> double"""
10479  return _IMP_algebra.PrincipalComponentAnalysis3D_get_principal_value(self, i)
10480 
10481  def get_centroid(self):
10482  r"""get_centroid(PrincipalComponentAnalysis3D self) -> Vector3D"""
10483  return _IMP_algebra.PrincipalComponentAnalysis3D_get_centroid(self)
10484 
10485  def set_centroid(self, cntr):
10486  r"""set_centroid(PrincipalComponentAnalysis3D self, Vector3D cntr)"""
10487  return _IMP_algebra.PrincipalComponentAnalysis3D_set_centroid(self, cntr)
10488 
10489  def show(self, *args):
10490  r"""show(PrincipalComponentAnalysis3D self, _ostream out=std::cout)"""
10491  return _IMP_algebra.PrincipalComponentAnalysis3D_show(self, *args)
10492 
10493  def __cmp__(self, o):
10494  r"""__cmp__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> int"""
10495  return _IMP_algebra.PrincipalComponentAnalysis3D___cmp__(self, o)
10496 
10497  def __eq__(self, o):
10498  r"""__eq__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10499  return _IMP_algebra.PrincipalComponentAnalysis3D___eq__(self, o)
10500 
10501  def __ne__(self, o):
10502  r"""__ne__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10503  return _IMP_algebra.PrincipalComponentAnalysis3D___ne__(self, o)
10504 
10505  def __lt__(self, o):
10506  r"""__lt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10507  return _IMP_algebra.PrincipalComponentAnalysis3D___lt__(self, o)
10508 
10509  def __gt__(self, o):
10510  r"""__gt__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10511  return _IMP_algebra.PrincipalComponentAnalysis3D___gt__(self, o)
10512 
10513  def __ge__(self, o):
10514  r"""__ge__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10515  return _IMP_algebra.PrincipalComponentAnalysis3D___ge__(self, o)
10516 
10517  def __le__(self, o):
10518  r"""__le__(PrincipalComponentAnalysis3D self, PrincipalComponentAnalysis3D o) -> bool"""
10519  return _IMP_algebra.PrincipalComponentAnalysis3D___le__(self, o)
10520 
10521  def __str__(self):
10522  r"""__str__(PrincipalComponentAnalysis3D self) -> std::string"""
10523  return _IMP_algebra.PrincipalComponentAnalysis3D___str__(self)
10524 
10525  def __repr__(self):
10526  r"""__repr__(PrincipalComponentAnalysis3D self) -> std::string"""
10527  return _IMP_algebra.PrincipalComponentAnalysis3D___repr__(self)
10528 
10529  def _get_as_binary(self):
10530  r"""_get_as_binary(PrincipalComponentAnalysis3D self) -> PyObject *"""
10531  return _IMP_algebra.PrincipalComponentAnalysis3D__get_as_binary(self)
10532 
10533  def _set_from_binary(self, p):
10534  r"""_set_from_binary(PrincipalComponentAnalysis3D self, PyObject * p)"""
10535  return _IMP_algebra.PrincipalComponentAnalysis3D__set_from_binary(self, p)
10536 
10537  def __getstate__(self):
10538  p = self._get_as_binary()
10539  if len(self.__dict__) > 1:
10540  d = self.__dict__.copy()
10541  del d['this']
10542  p = (d, p)
10543  return p
10544 
10545  def __setstate__(self, p):
10546  if not hasattr(self, 'this'):
10547  self.__init__()
10548  if isinstance(p, tuple):
10549  d, p = p
10550  self.__dict__.update(d)
10551  return self._set_from_binary(p)
10552 
10553  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis3D
10554 
10555 # Register PrincipalComponentAnalysis3D in _IMP_algebra:
10556 _IMP_algebra.PrincipalComponentAnalysis3D_swigregister(PrincipalComponentAnalysis3D)
10557 class PrincipalComponentAnalysis4D(IMP._GeometricPrimitive4D):
10558  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 4 > class."""
10559 
10560  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10561 
10562  def __init__(self, *args):
10563  r"""
10564  __init__(PrincipalComponentAnalysis4D self) -> PrincipalComponentAnalysis4D
10565  __init__(PrincipalComponentAnalysis4D self, IMP::Vector< IMP::algebra::VectorD< 4 > > const & pcs, Vector4D values, Vector4D centroid) -> PrincipalComponentAnalysis4D
10566  """
10567  _IMP_algebra.PrincipalComponentAnalysis4D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis4D(*args))
10568 
10569  def get_principal_components(self):
10570  r"""get_principal_components(PrincipalComponentAnalysis4D self) -> IMP::Vector< IMP::algebra::VectorD< 4 > >"""
10571  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_components(self)
10572 
10573  def get_principal_component(self, i):
10574  r"""get_principal_component(PrincipalComponentAnalysis4D self, unsigned int i) -> Vector4D"""
10575  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_component(self, i)
10576 
10577  def get_principal_values(self):
10578  r"""get_principal_values(PrincipalComponentAnalysis4D self) -> Vector4D"""
10579  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_values(self)
10580 
10581  def get_principal_value(self, i):
10582  r"""get_principal_value(PrincipalComponentAnalysis4D self, unsigned int i) -> double"""
10583  return _IMP_algebra.PrincipalComponentAnalysis4D_get_principal_value(self, i)
10584 
10585  def get_centroid(self):
10586  r"""get_centroid(PrincipalComponentAnalysis4D self) -> Vector4D"""
10587  return _IMP_algebra.PrincipalComponentAnalysis4D_get_centroid(self)
10588 
10589  def set_centroid(self, cntr):
10590  r"""set_centroid(PrincipalComponentAnalysis4D self, Vector4D cntr)"""
10591  return _IMP_algebra.PrincipalComponentAnalysis4D_set_centroid(self, cntr)
10592 
10593  def show(self, *args):
10594  r"""show(PrincipalComponentAnalysis4D self, _ostream out=std::cout)"""
10595  return _IMP_algebra.PrincipalComponentAnalysis4D_show(self, *args)
10596 
10597  def __cmp__(self, o):
10598  r"""__cmp__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> int"""
10599  return _IMP_algebra.PrincipalComponentAnalysis4D___cmp__(self, o)
10600 
10601  def __eq__(self, o):
10602  r"""__eq__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10603  return _IMP_algebra.PrincipalComponentAnalysis4D___eq__(self, o)
10604 
10605  def __ne__(self, o):
10606  r"""__ne__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10607  return _IMP_algebra.PrincipalComponentAnalysis4D___ne__(self, o)
10608 
10609  def __lt__(self, o):
10610  r"""__lt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10611  return _IMP_algebra.PrincipalComponentAnalysis4D___lt__(self, o)
10612 
10613  def __gt__(self, o):
10614  r"""__gt__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10615  return _IMP_algebra.PrincipalComponentAnalysis4D___gt__(self, o)
10616 
10617  def __ge__(self, o):
10618  r"""__ge__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10619  return _IMP_algebra.PrincipalComponentAnalysis4D___ge__(self, o)
10620 
10621  def __le__(self, o):
10622  r"""__le__(PrincipalComponentAnalysis4D self, PrincipalComponentAnalysis4D o) -> bool"""
10623  return _IMP_algebra.PrincipalComponentAnalysis4D___le__(self, o)
10624 
10625  def __str__(self):
10626  r"""__str__(PrincipalComponentAnalysis4D self) -> std::string"""
10627  return _IMP_algebra.PrincipalComponentAnalysis4D___str__(self)
10628 
10629  def __repr__(self):
10630  r"""__repr__(PrincipalComponentAnalysis4D self) -> std::string"""
10631  return _IMP_algebra.PrincipalComponentAnalysis4D___repr__(self)
10632 
10633  def _get_as_binary(self):
10634  r"""_get_as_binary(PrincipalComponentAnalysis4D self) -> PyObject *"""
10635  return _IMP_algebra.PrincipalComponentAnalysis4D__get_as_binary(self)
10636 
10637  def _set_from_binary(self, p):
10638  r"""_set_from_binary(PrincipalComponentAnalysis4D self, PyObject * p)"""
10639  return _IMP_algebra.PrincipalComponentAnalysis4D__set_from_binary(self, p)
10640 
10641  def __getstate__(self):
10642  p = self._get_as_binary()
10643  if len(self.__dict__) > 1:
10644  d = self.__dict__.copy()
10645  del d['this']
10646  p = (d, p)
10647  return p
10648 
10649  def __setstate__(self, p):
10650  if not hasattr(self, 'this'):
10651  self.__init__()
10652  if isinstance(p, tuple):
10653  d, p = p
10654  self.__dict__.update(d)
10655  return self._set_from_binary(p)
10656 
10657  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis4D
10658 
10659 # Register PrincipalComponentAnalysis4D in _IMP_algebra:
10660 _IMP_algebra.PrincipalComponentAnalysis4D_swigregister(PrincipalComponentAnalysis4D)
10661 class PrincipalComponentAnalysis5D(IMP._GeometricPrimitive5D):
10662  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 5 > class."""
10663 
10664  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10665 
10666  def __init__(self, *args):
10667  r"""
10668  __init__(PrincipalComponentAnalysis5D self) -> PrincipalComponentAnalysis5D
10669  __init__(PrincipalComponentAnalysis5D self, IMP::Vector< IMP::algebra::VectorD< 5 > > const & pcs, Vector5D values, Vector5D centroid) -> PrincipalComponentAnalysis5D
10670  """
10671  _IMP_algebra.PrincipalComponentAnalysis5D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis5D(*args))
10672 
10673  def get_principal_components(self):
10674  r"""get_principal_components(PrincipalComponentAnalysis5D self) -> IMP::Vector< IMP::algebra::VectorD< 5 > >"""
10675  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_components(self)
10676 
10677  def get_principal_component(self, i):
10678  r"""get_principal_component(PrincipalComponentAnalysis5D self, unsigned int i) -> Vector5D"""
10679  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_component(self, i)
10680 
10681  def get_principal_values(self):
10682  r"""get_principal_values(PrincipalComponentAnalysis5D self) -> Vector5D"""
10683  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_values(self)
10684 
10685  def get_principal_value(self, i):
10686  r"""get_principal_value(PrincipalComponentAnalysis5D self, unsigned int i) -> double"""
10687  return _IMP_algebra.PrincipalComponentAnalysis5D_get_principal_value(self, i)
10688 
10689  def get_centroid(self):
10690  r"""get_centroid(PrincipalComponentAnalysis5D self) -> Vector5D"""
10691  return _IMP_algebra.PrincipalComponentAnalysis5D_get_centroid(self)
10692 
10693  def set_centroid(self, cntr):
10694  r"""set_centroid(PrincipalComponentAnalysis5D self, Vector5D cntr)"""
10695  return _IMP_algebra.PrincipalComponentAnalysis5D_set_centroid(self, cntr)
10696 
10697  def show(self, *args):
10698  r"""show(PrincipalComponentAnalysis5D self, _ostream out=std::cout)"""
10699  return _IMP_algebra.PrincipalComponentAnalysis5D_show(self, *args)
10700 
10701  def __cmp__(self, o):
10702  r"""__cmp__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> int"""
10703  return _IMP_algebra.PrincipalComponentAnalysis5D___cmp__(self, o)
10704 
10705  def __eq__(self, o):
10706  r"""__eq__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10707  return _IMP_algebra.PrincipalComponentAnalysis5D___eq__(self, o)
10708 
10709  def __ne__(self, o):
10710  r"""__ne__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10711  return _IMP_algebra.PrincipalComponentAnalysis5D___ne__(self, o)
10712 
10713  def __lt__(self, o):
10714  r"""__lt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10715  return _IMP_algebra.PrincipalComponentAnalysis5D___lt__(self, o)
10716 
10717  def __gt__(self, o):
10718  r"""__gt__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10719  return _IMP_algebra.PrincipalComponentAnalysis5D___gt__(self, o)
10720 
10721  def __ge__(self, o):
10722  r"""__ge__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10723  return _IMP_algebra.PrincipalComponentAnalysis5D___ge__(self, o)
10724 
10725  def __le__(self, o):
10726  r"""__le__(PrincipalComponentAnalysis5D self, PrincipalComponentAnalysis5D o) -> bool"""
10727  return _IMP_algebra.PrincipalComponentAnalysis5D___le__(self, o)
10728 
10729  def __str__(self):
10730  r"""__str__(PrincipalComponentAnalysis5D self) -> std::string"""
10731  return _IMP_algebra.PrincipalComponentAnalysis5D___str__(self)
10732 
10733  def __repr__(self):
10734  r"""__repr__(PrincipalComponentAnalysis5D self) -> std::string"""
10735  return _IMP_algebra.PrincipalComponentAnalysis5D___repr__(self)
10736 
10737  def _get_as_binary(self):
10738  r"""_get_as_binary(PrincipalComponentAnalysis5D self) -> PyObject *"""
10739  return _IMP_algebra.PrincipalComponentAnalysis5D__get_as_binary(self)
10740 
10741  def _set_from_binary(self, p):
10742  r"""_set_from_binary(PrincipalComponentAnalysis5D self, PyObject * p)"""
10743  return _IMP_algebra.PrincipalComponentAnalysis5D__set_from_binary(self, p)
10744 
10745  def __getstate__(self):
10746  p = self._get_as_binary()
10747  if len(self.__dict__) > 1:
10748  d = self.__dict__.copy()
10749  del d['this']
10750  p = (d, p)
10751  return p
10752 
10753  def __setstate__(self, p):
10754  if not hasattr(self, 'this'):
10755  self.__init__()
10756  if isinstance(p, tuple):
10757  d, p = p
10758  self.__dict__.update(d)
10759  return self._set_from_binary(p)
10760 
10761  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis5D
10762 
10763 # Register PrincipalComponentAnalysis5D in _IMP_algebra:
10764 _IMP_algebra.PrincipalComponentAnalysis5D_swigregister(PrincipalComponentAnalysis5D)
10765 class PrincipalComponentAnalysis6D(IMP._GeometricPrimitive6D):
10766  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< 6 > class."""
10767 
10768  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10769 
10770  def __init__(self, *args):
10771  r"""
10772  __init__(PrincipalComponentAnalysis6D self) -> PrincipalComponentAnalysis6D
10773  __init__(PrincipalComponentAnalysis6D self, IMP::Vector< IMP::algebra::VectorD< 6 > > const & pcs, Vector6D values, Vector6D centroid) -> PrincipalComponentAnalysis6D
10774  """
10775  _IMP_algebra.PrincipalComponentAnalysis6D_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysis6D(*args))
10776 
10777  def get_principal_components(self):
10778  r"""get_principal_components(PrincipalComponentAnalysis6D self) -> IMP::Vector< IMP::algebra::VectorD< 6 > >"""
10779  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_components(self)
10780 
10781  def get_principal_component(self, i):
10782  r"""get_principal_component(PrincipalComponentAnalysis6D self, unsigned int i) -> Vector6D"""
10783  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_component(self, i)
10784 
10785  def get_principal_values(self):
10786  r"""get_principal_values(PrincipalComponentAnalysis6D self) -> Vector6D"""
10787  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_values(self)
10788 
10789  def get_principal_value(self, i):
10790  r"""get_principal_value(PrincipalComponentAnalysis6D self, unsigned int i) -> double"""
10791  return _IMP_algebra.PrincipalComponentAnalysis6D_get_principal_value(self, i)
10792 
10793  def get_centroid(self):
10794  r"""get_centroid(PrincipalComponentAnalysis6D self) -> Vector6D"""
10795  return _IMP_algebra.PrincipalComponentAnalysis6D_get_centroid(self)
10796 
10797  def set_centroid(self, cntr):
10798  r"""set_centroid(PrincipalComponentAnalysis6D self, Vector6D cntr)"""
10799  return _IMP_algebra.PrincipalComponentAnalysis6D_set_centroid(self, cntr)
10800 
10801  def show(self, *args):
10802  r"""show(PrincipalComponentAnalysis6D self, _ostream out=std::cout)"""
10803  return _IMP_algebra.PrincipalComponentAnalysis6D_show(self, *args)
10804 
10805  def __cmp__(self, o):
10806  r"""__cmp__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> int"""
10807  return _IMP_algebra.PrincipalComponentAnalysis6D___cmp__(self, o)
10808 
10809  def __eq__(self, o):
10810  r"""__eq__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10811  return _IMP_algebra.PrincipalComponentAnalysis6D___eq__(self, o)
10812 
10813  def __ne__(self, o):
10814  r"""__ne__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10815  return _IMP_algebra.PrincipalComponentAnalysis6D___ne__(self, o)
10816 
10817  def __lt__(self, o):
10818  r"""__lt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10819  return _IMP_algebra.PrincipalComponentAnalysis6D___lt__(self, o)
10820 
10821  def __gt__(self, o):
10822  r"""__gt__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10823  return _IMP_algebra.PrincipalComponentAnalysis6D___gt__(self, o)
10824 
10825  def __ge__(self, o):
10826  r"""__ge__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10827  return _IMP_algebra.PrincipalComponentAnalysis6D___ge__(self, o)
10828 
10829  def __le__(self, o):
10830  r"""__le__(PrincipalComponentAnalysis6D self, PrincipalComponentAnalysis6D o) -> bool"""
10831  return _IMP_algebra.PrincipalComponentAnalysis6D___le__(self, o)
10832 
10833  def __str__(self):
10834  r"""__str__(PrincipalComponentAnalysis6D self) -> std::string"""
10835  return _IMP_algebra.PrincipalComponentAnalysis6D___str__(self)
10836 
10837  def __repr__(self):
10838  r"""__repr__(PrincipalComponentAnalysis6D self) -> std::string"""
10839  return _IMP_algebra.PrincipalComponentAnalysis6D___repr__(self)
10840 
10841  def _get_as_binary(self):
10842  r"""_get_as_binary(PrincipalComponentAnalysis6D self) -> PyObject *"""
10843  return _IMP_algebra.PrincipalComponentAnalysis6D__get_as_binary(self)
10844 
10845  def _set_from_binary(self, p):
10846  r"""_set_from_binary(PrincipalComponentAnalysis6D self, PyObject * p)"""
10847  return _IMP_algebra.PrincipalComponentAnalysis6D__set_from_binary(self, p)
10848 
10849  def __getstate__(self):
10850  p = self._get_as_binary()
10851  if len(self.__dict__) > 1:
10852  d = self.__dict__.copy()
10853  del d['this']
10854  p = (d, p)
10855  return p
10856 
10857  def __setstate__(self, p):
10858  if not hasattr(self, 'this'):
10859  self.__init__()
10860  if isinstance(p, tuple):
10861  d, p = p
10862  self.__dict__.update(d)
10863  return self._set_from_binary(p)
10864 
10865  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysis6D
10866 
10867 # Register PrincipalComponentAnalysis6D in _IMP_algebra:
10868 _IMP_algebra.PrincipalComponentAnalysis6D_swigregister(PrincipalComponentAnalysis6D)
10869 class PrincipalComponentAnalysisKD(IMP._GeometricPrimitiveKD):
10870  r"""Proxy of C++ IMP::algebra::PrincipalComponentAnalysisD< -1 > class."""
10871 
10872  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10873 
10874  def __init__(self, *args):
10875  r"""
10876  __init__(PrincipalComponentAnalysisKD self) -> PrincipalComponentAnalysisKD
10877  __init__(PrincipalComponentAnalysisKD self, IMP::Vector< IMP::algebra::VectorD< -1 > > const & pcs, VectorKD values, VectorKD centroid) -> PrincipalComponentAnalysisKD
10878  """
10879  _IMP_algebra.PrincipalComponentAnalysisKD_swiginit(self, _IMP_algebra.new_PrincipalComponentAnalysisKD(*args))
10880 
10881  def get_principal_components(self):
10882  r"""get_principal_components(PrincipalComponentAnalysisKD self) -> IMP::Vector< IMP::algebra::VectorD< -1 > >"""
10883  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_components(self)
10884 
10885  def get_principal_component(self, i):
10886  r"""get_principal_component(PrincipalComponentAnalysisKD self, unsigned int i) -> VectorKD"""
10887  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_component(self, i)
10888 
10889  def get_principal_values(self):
10890  r"""get_principal_values(PrincipalComponentAnalysisKD self) -> VectorKD"""
10891  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_values(self)
10892 
10893  def get_principal_value(self, i):
10894  r"""get_principal_value(PrincipalComponentAnalysisKD self, unsigned int i) -> double"""
10895  return _IMP_algebra.PrincipalComponentAnalysisKD_get_principal_value(self, i)
10896 
10897  def get_centroid(self):
10898  r"""get_centroid(PrincipalComponentAnalysisKD self) -> VectorKD"""
10899  return _IMP_algebra.PrincipalComponentAnalysisKD_get_centroid(self)
10900 
10901  def set_centroid(self, cntr):
10902  r"""set_centroid(PrincipalComponentAnalysisKD self, VectorKD cntr)"""
10903  return _IMP_algebra.PrincipalComponentAnalysisKD_set_centroid(self, cntr)
10904 
10905  def show(self, *args):
10906  r"""show(PrincipalComponentAnalysisKD self, _ostream out=std::cout)"""
10907  return _IMP_algebra.PrincipalComponentAnalysisKD_show(self, *args)
10908 
10909  def __cmp__(self, o):
10910  r"""__cmp__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> int"""
10911  return _IMP_algebra.PrincipalComponentAnalysisKD___cmp__(self, o)
10912 
10913  def __eq__(self, o):
10914  r"""__eq__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10915  return _IMP_algebra.PrincipalComponentAnalysisKD___eq__(self, o)
10916 
10917  def __ne__(self, o):
10918  r"""__ne__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10919  return _IMP_algebra.PrincipalComponentAnalysisKD___ne__(self, o)
10920 
10921  def __lt__(self, o):
10922  r"""__lt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10923  return _IMP_algebra.PrincipalComponentAnalysisKD___lt__(self, o)
10924 
10925  def __gt__(self, o):
10926  r"""__gt__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10927  return _IMP_algebra.PrincipalComponentAnalysisKD___gt__(self, o)
10928 
10929  def __ge__(self, o):
10930  r"""__ge__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10931  return _IMP_algebra.PrincipalComponentAnalysisKD___ge__(self, o)
10932 
10933  def __le__(self, o):
10934  r"""__le__(PrincipalComponentAnalysisKD self, PrincipalComponentAnalysisKD o) -> bool"""
10935  return _IMP_algebra.PrincipalComponentAnalysisKD___le__(self, o)
10936 
10937  def __str__(self):
10938  r"""__str__(PrincipalComponentAnalysisKD self) -> std::string"""
10939  return _IMP_algebra.PrincipalComponentAnalysisKD___str__(self)
10940 
10941  def __repr__(self):
10942  r"""__repr__(PrincipalComponentAnalysisKD self) -> std::string"""
10943  return _IMP_algebra.PrincipalComponentAnalysisKD___repr__(self)
10944 
10945  def _get_as_binary(self):
10946  r"""_get_as_binary(PrincipalComponentAnalysisKD self) -> PyObject *"""
10947  return _IMP_algebra.PrincipalComponentAnalysisKD__get_as_binary(self)
10948 
10949  def _set_from_binary(self, p):
10950  r"""_set_from_binary(PrincipalComponentAnalysisKD self, PyObject * p)"""
10951  return _IMP_algebra.PrincipalComponentAnalysisKD__set_from_binary(self, p)
10952 
10953  def __getstate__(self):
10954  p = self._get_as_binary()
10955  if len(self.__dict__) > 1:
10956  d = self.__dict__.copy()
10957  del d['this']
10958  p = (d, p)
10959  return p
10960 
10961  def __setstate__(self, p):
10962  if not hasattr(self, 'this'):
10963  self.__init__()
10964  if isinstance(p, tuple):
10965  d, p = p
10966  self.__dict__.update(d)
10967  return self._set_from_binary(p)
10968 
10969  __swig_destroy__ = _IMP_algebra.delete_PrincipalComponentAnalysisKD
10970 
10971 # Register PrincipalComponentAnalysisKD in _IMP_algebra:
10972 _IMP_algebra.PrincipalComponentAnalysisKD_swigregister(PrincipalComponentAnalysisKD)
10973 
10974 def get_principal_components(*args):
10975  r"""
10976  get_principal_components(IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > > const & a) -> PrincipalComponentAnalysis1D
10977  get_principal_components(IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > > const & a) -> PrincipalComponentAnalysis2D
10978  get_principal_components(IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > > const & a) -> PrincipalComponentAnalysis3D
10979  get_principal_components(IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > > const & a) -> PrincipalComponentAnalysis4D
10980  get_principal_components(IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > > const & a) -> PrincipalComponentAnalysis5D
10981  get_principal_components(IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > > const & a) -> PrincipalComponentAnalysis6D
10982  get_principal_components(IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > > const & a) -> PrincipalComponentAnalysisKD
10983  """
10984  return _IMP_algebra.get_principal_components(*args)
10985 
10986 def get_distance(*args):
10987  r"""
10988  get_distance()
10989  get_distance(Rotation3D r0, Rotation3D r1) -> double
10990  get_distance(Line3D s, Vector3D p) -> double
10991  get_distance(Line3D a, Line3D b) -> double
10992  get_distance(Segment3D s, Vector3D p) -> double
10993  get_distance(Segment3D a, Segment3D b) -> double
10994  get_distance(Plane3D pln, Vector3D p) -> double
10995  get_distance(Vector1D a, Vector1D b) -> double
10996  get_distance(Vector2D a, Vector2D b) -> double
10997  get_distance(Vector3D a, Vector3D b) -> double
10998  get_distance(Vector4D a, Vector4D b) -> double
10999  get_distance(Vector5D a, Vector5D b) -> double
11000  get_distance(Vector6D a, Vector6D b) -> double
11001  get_distance(VectorKD a, VectorKD b) -> double
11002  get_distance(Sphere1D a, Sphere1D b) -> double
11003  get_distance(Sphere2D a, Sphere2D b) -> double
11004  get_distance(Sphere3D a, Sphere3D b) -> double
11005  get_distance(Sphere4D a, Sphere4D b) -> double
11006  get_distance(Sphere5D a, Sphere5D b) -> double
11007  get_distance(Sphere6D a, Sphere6D b) -> double
11008  get_distance(SphereKD a, SphereKD b) -> double
11009  """
11010  return _IMP_algebra.get_distance(*args)
11011 
11012 def get_squared_distance(*args):
11013  r"""
11014  get_squared_distance()
11015  get_squared_distance(Vector1D a, Vector1D b) -> double
11016  get_squared_distance(Vector2D a, Vector2D b) -> double
11017  get_squared_distance(Vector3D a, Vector3D b) -> double
11018  get_squared_distance(Vector4D a, Vector4D b) -> double
11019  get_squared_distance(Vector5D a, Vector5D b) -> double
11020  get_squared_distance(Vector6D a, Vector6D b) -> double
11021  get_squared_distance(VectorKD a, VectorKD b) -> double
11022  """
11023  return _IMP_algebra.get_squared_distance(*args)
11024 
11025 def get_unit_bounding_box_1d():
11026  r"""get_unit_bounding_box_1d() -> BoundingBox1D"""
11027  return _IMP_algebra.get_unit_bounding_box_1d()
11028 
11029 def get_unit_bounding_box_2d():
11030  r"""get_unit_bounding_box_2d() -> BoundingBox2D"""
11031  return _IMP_algebra.get_unit_bounding_box_2d()
11032 
11033 def get_unit_bounding_box_3d():
11034  r"""get_unit_bounding_box_3d() -> BoundingBox3D"""
11035  return _IMP_algebra.get_unit_bounding_box_3d()
11036 
11037 def get_unit_bounding_box_4d():
11038  r"""get_unit_bounding_box_4d() -> BoundingBox4D"""
11039  return _IMP_algebra.get_unit_bounding_box_4d()
11040 
11041 def get_unit_bounding_box_5d():
11042  r"""get_unit_bounding_box_5d() -> BoundingBox5D"""
11043  return _IMP_algebra.get_unit_bounding_box_5d()
11044 
11045 def get_unit_bounding_box_6d():
11046  r"""get_unit_bounding_box_6d() -> BoundingBox6D"""
11047  return _IMP_algebra.get_unit_bounding_box_6d()
11048 
11049 def get_cube_1d(radius):
11050  r"""get_cube_1d(double radius) -> BoundingBox1D"""
11051  return _IMP_algebra.get_cube_1d(radius)
11052 
11053 def get_cube_2d(radius):
11054  r"""get_cube_2d(double radius) -> BoundingBox2D"""
11055  return _IMP_algebra.get_cube_2d(radius)
11056 
11057 def get_cube_3d(radius):
11058  r"""get_cube_3d(double radius) -> BoundingBox3D"""
11059  return _IMP_algebra.get_cube_3d(radius)
11060 
11061 def get_cube_4d(radius):
11062  r"""get_cube_4d(double radius) -> BoundingBox4D"""
11063  return _IMP_algebra.get_cube_4d(radius)
11064 
11065 def get_cube_5d(radius):
11066  r"""get_cube_5d(double radius) -> BoundingBox5D"""
11067  return _IMP_algebra.get_cube_5d(radius)
11068 
11069 def get_cube_6d(radius):
11070  r"""get_cube_6d(double radius) -> BoundingBox6D"""
11071  return _IMP_algebra.get_cube_6d(radius)
11072 
11073 def get_unit_sphere_1d():
11074  r"""get_unit_sphere_1d() -> Sphere1D"""
11075  return _IMP_algebra.get_unit_sphere_1d()
11076 
11077 def get_unit_sphere_2d():
11078  r"""get_unit_sphere_2d() -> Sphere2D"""
11079  return _IMP_algebra.get_unit_sphere_2d()
11080 
11081 def get_unit_sphere_3d():
11082  r"""get_unit_sphere_3d() -> Sphere3D"""
11083  return _IMP_algebra.get_unit_sphere_3d()
11084 
11085 def get_unit_sphere_4d():
11086  r"""get_unit_sphere_4d() -> Sphere4D"""
11087  return _IMP_algebra.get_unit_sphere_4d()
11088 
11089 def get_unit_sphere_5d():
11090  r"""get_unit_sphere_5d() -> Sphere5D"""
11091  return _IMP_algebra.get_unit_sphere_5d()
11092 
11093 def get_unit_sphere_6d():
11094  r"""get_unit_sphere_6d() -> Sphere6D"""
11095  return _IMP_algebra.get_unit_sphere_6d()
11096 
11097 def get_interiors_intersect(*args):
11098  r"""
11099  get_interiors_intersect(Sphere1D a, Sphere1D b) -> bool
11100  get_interiors_intersect(Sphere2D a, Sphere2D b) -> bool
11101  get_interiors_intersect(Sphere3D a, Sphere3D b) -> bool
11102  get_interiors_intersect(Sphere4D a, Sphere4D b) -> bool
11103  get_interiors_intersect(Sphere5D a, Sphere5D b) -> bool
11104  get_interiors_intersect(Sphere6D a, Sphere6D b) -> bool
11105  get_interiors_intersect(SphereKD a, SphereKD b) -> bool
11106  get_interiors_intersect(BoundingBox1D a, BoundingBox1D b) -> bool
11107  get_interiors_intersect(BoundingBox2D a, BoundingBox2D b) -> bool
11108  get_interiors_intersect(BoundingBox3D a, BoundingBox3D b) -> bool
11109  get_interiors_intersect(BoundingBox4D a, BoundingBox4D b) -> bool
11110  get_interiors_intersect(BoundingBox5D a, BoundingBox5D b) -> bool
11111  get_interiors_intersect(BoundingBox6D a, BoundingBox6D b) -> bool
11112  get_interiors_intersect(BoundingBoxKD a, BoundingBoxKD b) -> bool
11113  """
11114  return _IMP_algebra.get_interiors_intersect(*args)
11115 
11116 def get_random_vector_on(*args):
11117  r"""
11118  get_random_vector_on(Sphere1D a) -> Vector1D
11119  get_random_vector_on(Sphere2D a) -> Vector2D
11120  get_random_vector_on(Sphere3D a) -> Vector3D
11121  get_random_vector_on(Sphere4D a) -> Vector4D
11122  get_random_vector_on(Sphere5D a) -> Vector5D
11123  get_random_vector_on(Sphere6D a) -> Vector6D
11124  get_random_vector_on(SphereKD a) -> VectorKD
11125  get_random_vector_on(UnitSimplex1D a) -> Vector1D
11126  get_random_vector_on(UnitSimplex2D a) -> Vector2D
11127  get_random_vector_on(UnitSimplex3D a) -> Vector3D
11128  get_random_vector_on(UnitSimplex4D a) -> Vector4D
11129  get_random_vector_on(UnitSimplex5D a) -> Vector5D
11130  get_random_vector_on(UnitSimplex6D a) -> Vector6D
11131  get_random_vector_on(UnitSimplexKD a) -> VectorKD
11132  get_random_vector_on(BoundingBox1D a) -> Vector1D
11133  get_random_vector_on(BoundingBox2D a) -> Vector2D
11134  get_random_vector_on(BoundingBox3D a) -> Vector3D
11135  get_random_vector_on(BoundingBox4D a) -> Vector4D
11136  get_random_vector_on(BoundingBox5D a) -> Vector5D
11137  get_random_vector_on(BoundingBox6D a) -> Vector6D
11138  get_random_vector_on(BoundingBoxKD a) -> VectorKD
11139  """
11140  return _IMP_algebra.get_random_vector_on(*args)
11141 
11142 def get_random_vector_in(*args):
11143  r"""
11144  get_random_vector_in(Cylinder3D c) -> Vector3D
11145  get_random_vector_in(Sphere1D a) -> Vector1D
11146  get_random_vector_in(Sphere2D a) -> Vector2D
11147  get_random_vector_in(Sphere3D a) -> Vector3D
11148  get_random_vector_in(Sphere4D a) -> Vector4D
11149  get_random_vector_in(Sphere5D a) -> Vector5D
11150  get_random_vector_in(Sphere6D a) -> Vector6D
11151  get_random_vector_in(SphereKD a) -> VectorKD
11152  get_random_vector_in(BoundingBox1D a) -> Vector1D
11153  get_random_vector_in(BoundingBox2D a) -> Vector2D
11154  get_random_vector_in(BoundingBox3D a) -> Vector3D
11155  get_random_vector_in(BoundingBox4D a) -> Vector4D
11156  get_random_vector_in(BoundingBox5D a) -> Vector5D
11157  get_random_vector_in(BoundingBox6D a) -> Vector6D
11158  get_random_vector_in(BoundingBoxKD a) -> VectorKD
11159  """
11160  return _IMP_algebra.get_random_vector_in(*args)
11161 
11162 def get_intersection(*args):
11163  r"""
11164  get_intersection(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
11165  get_intersection(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
11166  get_intersection(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
11167  get_intersection(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
11168  get_intersection(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
11169  get_intersection(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
11170  get_intersection(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
11171  """
11172  return _IMP_algebra.get_intersection(*args)
11173 
11174 def get_union(*args):
11175  r"""
11176  get_union(BoundingBox1D a, BoundingBox1D b) -> BoundingBox1D
11177  get_union(BoundingBox2D a, BoundingBox2D b) -> BoundingBox2D
11178  get_union(BoundingBox3D a, BoundingBox3D b) -> BoundingBox3D
11179  get_union(BoundingBox4D a, BoundingBox4D b) -> BoundingBox4D
11180  get_union(BoundingBox5D a, BoundingBox5D b) -> BoundingBox5D
11181  get_union(BoundingBox6D a, BoundingBox6D b) -> BoundingBox6D
11182  get_union(BoundingBoxKD a, BoundingBoxKD b) -> BoundingBoxKD
11183  """
11184  return _IMP_algebra.get_union(*args)
11185 
11186 def get_bounding_box(*args):
11187  r"""
11188  get_bounding_box(Line3D g) -> BoundingBox3D
11189  get_bounding_box(Segment3D g) -> BoundingBox3D
11190  get_bounding_box(Plane3D g) -> BoundingBox3D
11191  get_bounding_box(Cylinder3D g) -> BoundingBox3D
11192  get_bounding_box(Ellipsoid3D g) -> BoundingBox3D
11193  get_bounding_box(SpherePatch3D g) -> BoundingBox3D
11194  get_bounding_box(Cone3D g) -> BoundingBox3D
11195  get_bounding_box(Sphere1D a) -> BoundingBox1D
11196  get_bounding_box(Sphere2D a) -> BoundingBox2D
11197  get_bounding_box(Sphere3D a) -> BoundingBox3D
11198  get_bounding_box(Sphere4D a) -> BoundingBox4D
11199  get_bounding_box(Sphere5D a) -> BoundingBox5D
11200  get_bounding_box(Sphere6D a) -> BoundingBox6D
11201  get_bounding_box(SphereKD a) -> BoundingBoxKD
11202  """
11203  return _IMP_algebra.get_bounding_box(*args)
11204 
11205 def get_uniform_surface_cover(*args):
11206  r"""
11207  get_uniform_surface_cover(Cylinder3D cyl, int number_of_points) -> IMP::algebra::Vector3Ds
11208  get_uniform_surface_cover(SpherePatch3D sph, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
11209  get_uniform_surface_cover(Cone3D cone, unsigned int number_of_points) -> IMP::algebra::Vector3Ds
11210  get_uniform_surface_cover(IMP::algebra::Sphere3Ds const & _in, double points_per_square_angstrom) -> IMP::algebra::Vector3Ds
11211  get_uniform_surface_cover(Sphere1D a, unsigned int const & b) -> IMP::algebra::Vector1Ds
11212  get_uniform_surface_cover(Sphere2D a, unsigned int const & b) -> IMP::algebra::Vector2Ds
11213  get_uniform_surface_cover(Sphere3D a, unsigned int const & b) -> IMP::algebra::Vector3Ds
11214  get_uniform_surface_cover(Sphere4D a, unsigned int const & b) -> IMP::algebra::Vector4Ds
11215  get_uniform_surface_cover(Sphere5D a, unsigned int const & b) -> IMP::algebra::Vector5Ds
11216  get_uniform_surface_cover(Sphere6D a, unsigned int const & b) -> IMP::algebra::Vector6Ds
11217  get_uniform_surface_cover(SphereKD a, unsigned int const & b) -> IMP::algebra::VectorKDs
11218  """
11219  return _IMP_algebra.get_uniform_surface_cover(*args)
11220 
11222  r"""
11223  get_grid_interior_cover_by_spacing(BoundingBox1D a, double const & b) -> IMP::algebra::Vector1Ds
11224  get_grid_interior_cover_by_spacing(BoundingBox2D a, double const & b) -> IMP::algebra::Vector2Ds
11225  get_grid_interior_cover_by_spacing(BoundingBox3D a, double const & b) -> IMP::algebra::Vector3Ds
11226  get_grid_interior_cover_by_spacing(BoundingBox4D a, double const & b) -> IMP::algebra::Vector4Ds
11227  get_grid_interior_cover_by_spacing(BoundingBox5D a, double const & b) -> IMP::algebra::Vector5Ds
11228  get_grid_interior_cover_by_spacing(BoundingBox6D a, double const & b) -> IMP::algebra::Vector6Ds
11229  get_grid_interior_cover_by_spacing(BoundingBoxKD a, double const & b) -> IMP::algebra::VectorKDs
11230  """
11231  return _IMP_algebra.get_grid_interior_cover_by_spacing(*args)
11232 
11233 def get_projected(*args):
11234  r"""
11235  get_projected(Line3D l, Vector3D p) -> Vector3D
11236  get_projected(Line3D l, Segment3D s) -> Segment3D
11237  get_projected(UnitSimplex1D a, Vector1D b) -> Vector1D
11238  get_projected(UnitSimplex2D a, Vector2D b) -> Vector2D
11239  get_projected(UnitSimplex3D a, Vector3D b) -> Vector3D
11240  get_projected(UnitSimplex4D a, Vector4D b) -> Vector4D
11241  get_projected(UnitSimplex5D a, Vector5D b) -> Vector5D
11242  get_projected(UnitSimplex6D a, Vector6D b) -> Vector6D
11243  get_projected(UnitSimplexKD a, VectorKD b) -> VectorKD
11244  """
11245  return _IMP_algebra.get_projected(*args)
11246 
11247 def get_vertices(*args):
11248  r"""
11249  get_vertices(BoundingBox1D a) -> IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > >
11250  get_vertices(BoundingBox2D a) -> IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > >
11251  get_vertices(BoundingBox3D a) -> IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > >
11252  get_vertices(BoundingBox4D a) -> IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > >
11253  get_vertices(BoundingBox5D a) -> IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > >
11254  get_vertices(BoundingBox6D a) -> IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > >
11255  get_vertices(BoundingBoxKD a) -> IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > >
11256  get_vertices(UnitSimplex1D a) -> IMP::Vector< IMP::Vector1D,std::allocator< IMP::Vector1D > >
11257  get_vertices(UnitSimplex2D a) -> IMP::Vector< IMP::Vector2D,std::allocator< IMP::Vector2D > >
11258  get_vertices(UnitSimplex3D a) -> IMP::Vector< IMP::Vector3D,std::allocator< IMP::Vector3D > >
11259  get_vertices(UnitSimplex4D a) -> IMP::Vector< IMP::Vector4D,std::allocator< IMP::Vector4D > >
11260  get_vertices(UnitSimplex5D a) -> IMP::Vector< IMP::Vector5D,std::allocator< IMP::Vector5D > >
11261  get_vertices(UnitSimplex6D a) -> IMP::Vector< IMP::Vector6D,std::allocator< IMP::Vector6D > >
11262  get_vertices(UnitSimplexKD a) -> IMP::Vector< IMP::VectorKD,std::allocator< IMP::VectorKD > >
11263  """
11264  return _IMP_algebra.get_vertices(*args)
11265 
11266 def get_increasing_from_embedded(*args):
11267  r"""
11268  get_increasing_from_embedded(UnitSimplex1D a, Vector1D b) -> Vector1D
11269  get_increasing_from_embedded(UnitSimplex2D a, Vector2D b) -> Vector2D
11270  get_increasing_from_embedded(UnitSimplex3D a, Vector3D b) -> Vector3D
11271  get_increasing_from_embedded(UnitSimplex4D a, Vector4D b) -> Vector4D
11272  get_increasing_from_embedded(UnitSimplex5D a, Vector5D b) -> Vector5D
11273  get_increasing_from_embedded(UnitSimplex6D a, Vector6D b) -> Vector6D
11274  get_increasing_from_embedded(UnitSimplexKD a, VectorKD b) -> VectorKD
11275  """
11276  return _IMP_algebra.get_increasing_from_embedded(*args)
11277 
11278 def get_embedded_from_increasing(*args):
11279  r"""
11280  get_embedded_from_increasing(UnitSimplex1D a, Vector1D b) -> Vector1D
11281  get_embedded_from_increasing(UnitSimplex2D a, Vector2D b) -> Vector2D
11282  get_embedded_from_increasing(UnitSimplex3D a, Vector3D b) -> Vector3D
11283  get_embedded_from_increasing(UnitSimplex4D a, Vector4D b) -> Vector4D
11284  get_embedded_from_increasing(UnitSimplex5D a, Vector5D b) -> Vector5D
11285  get_embedded_from_increasing(UnitSimplex6D a, Vector6D b) -> Vector6D
11286  get_embedded_from_increasing(UnitSimplexKD a, VectorKD b) -> VectorKD
11287  """
11288  return _IMP_algebra.get_embedded_from_increasing(*args)
11289 class _AxisAnglePair(object):
11290  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,double > class."""
11291 
11292  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11293  __repr__ = _swig_repr
11294 
11295  def __init__(self, *args):
11296  r"""
11297  __init__(_AxisAnglePair self) -> _AxisAnglePair
11298  __init__(_AxisAnglePair self, Vector3D first, double second) -> _AxisAnglePair
11299  __init__(_AxisAnglePair self, _AxisAnglePair other) -> _AxisAnglePair
11300  """
11301  _IMP_algebra._AxisAnglePair_swiginit(self, _IMP_algebra.new__AxisAnglePair(*args))
11302  first = property(_IMP_algebra._AxisAnglePair_first_get, _IMP_algebra._AxisAnglePair_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11303  second = property(_IMP_algebra._AxisAnglePair_second_get, _IMP_algebra._AxisAnglePair_second_set, doc=r"""second : double""")
11304  def __len__(self):
11305  return 2
11306  def __repr__(self):
11307  return str((self.first, self.second))
11308  def __getitem__(self, index):
11309  if not (index % 2):
11310  return self.first
11311  else:
11312  return self.second
11313  def __setitem__(self, index, val):
11314  if not (index % 2):
11315  self.first = val
11316  else:
11317  self.second = val
11318  __swig_destroy__ = _IMP_algebra.delete__AxisAnglePair
11319 
11320 # Register _AxisAnglePair in _IMP_algebra:
11321 _IMP_algebra._AxisAnglePair_swigregister(_AxisAnglePair)
11322 
11324  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"""
11325  return _IMP_algebra.get_transformation_aligning_first_to_second(source, target)
11326 class _RotatedVector3DAdjoint(object):
11327  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,IMP::VectorD< 4 > > class."""
11328 
11329  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11330  __repr__ = _swig_repr
11331 
11332  def __init__(self, *args):
11333  r"""
11334  __init__(_RotatedVector3DAdjoint self) -> _RotatedVector3DAdjoint
11335  __init__(_RotatedVector3DAdjoint self, Vector3D first, Vector4D second) -> _RotatedVector3DAdjoint
11336  __init__(_RotatedVector3DAdjoint self, _RotatedVector3DAdjoint other) -> _RotatedVector3DAdjoint
11337  """
11338  _IMP_algebra._RotatedVector3DAdjoint_swiginit(self, _IMP_algebra.new__RotatedVector3DAdjoint(*args))
11339  first = property(_IMP_algebra._RotatedVector3DAdjoint_first_get, _IMP_algebra._RotatedVector3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11340  second = property(_IMP_algebra._RotatedVector3DAdjoint_second_get, _IMP_algebra._RotatedVector3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(4)>""")
11341  def __len__(self):
11342  return 2
11343  def __repr__(self):
11344  return str((self.first, self.second))
11345  def __getitem__(self, index):
11346  if not (index % 2):
11347  return self.first
11348  else:
11349  return self.second
11350  def __setitem__(self, index, val):
11351  if not (index % 2):
11352  self.first = val
11353  else:
11354  self.second = val
11355  __swig_destroy__ = _IMP_algebra.delete__RotatedVector3DAdjoint
11356 
11357 # Register _RotatedVector3DAdjoint in _IMP_algebra:
11358 _IMP_algebra._RotatedVector3DAdjoint_swigregister(_RotatedVector3DAdjoint)
11359 class _ComposeRotation3DAdjoint(object):
11360  r"""Proxy of C++ std::pair< IMP::VectorD< 4 >,IMP::VectorD< 4 > > class."""
11361 
11362  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11363  __repr__ = _swig_repr
11364 
11365  def __init__(self, *args):
11366  r"""
11367  __init__(_ComposeRotation3DAdjoint self) -> _ComposeRotation3DAdjoint
11368  __init__(_ComposeRotation3DAdjoint self, Vector4D first, Vector4D second) -> _ComposeRotation3DAdjoint
11369  __init__(_ComposeRotation3DAdjoint self, _ComposeRotation3DAdjoint other) -> _ComposeRotation3DAdjoint
11370  """
11371  _IMP_algebra._ComposeRotation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeRotation3DAdjoint(*args))
11372  first = property(_IMP_algebra._ComposeRotation3DAdjoint_first_get, _IMP_algebra._ComposeRotation3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(4)>""")
11373  second = property(_IMP_algebra._ComposeRotation3DAdjoint_second_get, _IMP_algebra._ComposeRotation3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(4)>""")
11374  def __len__(self):
11375  return 2
11376  def __repr__(self):
11377  return str((self.first, self.second))
11378  def __getitem__(self, index):
11379  if not (index % 2):
11380  return self.first
11381  else:
11382  return self.second
11383  def __setitem__(self, index, val):
11384  if not (index % 2):
11385  self.first = val
11386  else:
11387  self.second = val
11388  __swig_destroy__ = _IMP_algebra.delete__ComposeRotation3DAdjoint
11389 
11390 # Register _ComposeRotation3DAdjoint in _IMP_algebra:
11391 _IMP_algebra._ComposeRotation3DAdjoint_swigregister(_ComposeRotation3DAdjoint)
11392 class _Transformation3DAdjoint(object):
11393  r"""Proxy of C++ std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > class."""
11394 
11395  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11396  __repr__ = _swig_repr
11397 
11398  def __init__(self, *args):
11399  r"""
11400  __init__(_Transformation3DAdjoint self) -> _Transformation3DAdjoint
11401  __init__(_Transformation3DAdjoint self, Vector4D first, Vector3D second) -> _Transformation3DAdjoint
11402  __init__(_Transformation3DAdjoint self, _Transformation3DAdjoint other) -> _Transformation3DAdjoint
11403  """
11404  _IMP_algebra._Transformation3DAdjoint_swiginit(self, _IMP_algebra.new__Transformation3DAdjoint(*args))
11405  first = property(_IMP_algebra._Transformation3DAdjoint_first_get, _IMP_algebra._Transformation3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(4)>""")
11406  second = property(_IMP_algebra._Transformation3DAdjoint_second_get, _IMP_algebra._Transformation3DAdjoint_second_set, doc=r"""second : IMP::VectorD<(3)>""")
11407  def __len__(self):
11408  return 2
11409  def __repr__(self):
11410  return str((self.first, self.second))
11411  def __getitem__(self, index):
11412  if not (index % 2):
11413  return self.first
11414  else:
11415  return self.second
11416  def __setitem__(self, index, val):
11417  if not (index % 2):
11418  self.first = val
11419  else:
11420  self.second = val
11421  __swig_destroy__ = _IMP_algebra.delete__Transformation3DAdjoint
11422 
11423 # Register _Transformation3DAdjoint in _IMP_algebra:
11424 _IMP_algebra._Transformation3DAdjoint_swigregister(_Transformation3DAdjoint)
11425 class _TransformedVector3DAdjoint(object):
11426  r"""Proxy of C++ std::pair< IMP::VectorD< 3 >,std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > > class."""
11427 
11428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11429  __repr__ = _swig_repr
11430 
11431  def __init__(self, *args):
11432  r"""
11433  __init__(_TransformedVector3DAdjoint self) -> _TransformedVector3DAdjoint
11434  __init__(_TransformedVector3DAdjoint self, Vector3D first, _Transformation3DAdjoint second) -> _TransformedVector3DAdjoint
11435  __init__(_TransformedVector3DAdjoint self, _TransformedVector3DAdjoint other) -> _TransformedVector3DAdjoint
11436  """
11437  _IMP_algebra._TransformedVector3DAdjoint_swiginit(self, _IMP_algebra.new__TransformedVector3DAdjoint(*args))
11438  first = property(_IMP_algebra._TransformedVector3DAdjoint_first_get, _IMP_algebra._TransformedVector3DAdjoint_first_set, doc=r"""first : IMP::VectorD<(3)>""")
11439  second = property(_IMP_algebra._TransformedVector3DAdjoint_second_get, _IMP_algebra._TransformedVector3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11440  def __len__(self):
11441  return 2
11442  def __repr__(self):
11443  return str((self.first, self.second))
11444  def __getitem__(self, index):
11445  if not (index % 2):
11446  return self.first
11447  else:
11448  return self.second
11449  def __setitem__(self, index, val):
11450  if not (index % 2):
11451  self.first = val
11452  else:
11453  self.second = val
11454  __swig_destroy__ = _IMP_algebra.delete__TransformedVector3DAdjoint
11455 
11456 # Register _TransformedVector3DAdjoint in _IMP_algebra:
11457 _IMP_algebra._TransformedVector3DAdjoint_swigregister(_TransformedVector3DAdjoint)
11458 class _ComposeTransformation3DAdjoint(object):
11459  r"""Proxy of C++ std::pair< std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > >,std::pair< IMP::VectorD< 4 >,IMP::VectorD< 3 > > > class."""
11460 
11461  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11462  __repr__ = _swig_repr
11463 
11464  def __init__(self, *args):
11465  r"""
11466  __init__(_ComposeTransformation3DAdjoint self) -> _ComposeTransformation3DAdjoint
11467  __init__(_ComposeTransformation3DAdjoint self, _Transformation3DAdjoint first, _Transformation3DAdjoint second) -> _ComposeTransformation3DAdjoint
11468  __init__(_ComposeTransformation3DAdjoint self, _ComposeTransformation3DAdjoint other) -> _ComposeTransformation3DAdjoint
11469  """
11470  _IMP_algebra._ComposeTransformation3DAdjoint_swiginit(self, _IMP_algebra.new__ComposeTransformation3DAdjoint(*args))
11471  first = property(_IMP_algebra._ComposeTransformation3DAdjoint_first_get, _IMP_algebra._ComposeTransformation3DAdjoint_first_set, doc=r"""first : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11472  second = property(_IMP_algebra._ComposeTransformation3DAdjoint_second_get, _IMP_algebra._ComposeTransformation3DAdjoint_second_set, doc=r"""second : std::pair<(IMP::VectorD<(4)>,IMP::VectorD<(3)>)>""")
11473  def __len__(self):
11474  return 2
11475  def __repr__(self):
11476  return str((self.first, self.second))
11477  def __getitem__(self, index):
11478  if not (index % 2):
11479  return self.first
11480  else:
11481  return self.second
11482  def __setitem__(self, index, val):
11483  if not (index % 2):
11484  self.first = val
11485  else:
11486  self.second = val
11487  __swig_destroy__ = _IMP_algebra.delete__ComposeTransformation3DAdjoint
11488 
11489 # Register _ComposeTransformation3DAdjoint in _IMP_algebra:
11490 _IMP_algebra._ComposeTransformation3DAdjoint_swigregister(_ComposeTransformation3DAdjoint)
11491 
11492 def get_rmsd_transforming_first(tr, v0, v1):
11493  r"""get_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
11494  return _IMP_algebra.get_rmsd_transforming_first(tr, v0, v1)
11495 
11496 def get_rmsd(v0, v1):
11497  r"""get_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1) -> double"""
11498  return _IMP_algebra.get_rmsd(v0, v1)
11499 
11500 def get_weighted_rmsd_transforming_first(tr, v0, v1, weights):
11501  r"""get_weighted_rmsd_transforming_first(Transformation3D tr, IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
11502  return _IMP_algebra.get_weighted_rmsd_transforming_first(tr, v0, v1, weights)
11503 
11504 def get_weighted_rmsd(v0, v1, weights):
11505  r"""get_weighted_rmsd(IMP::algebra::Vector3Ds const & v0, IMP::algebra::Vector3Ds const & v1, IMP::Floats const & weights) -> double"""
11506  return _IMP_algebra.get_weighted_rmsd(v0, v1, weights)
11507 
11508 LinearFit=LinearFit2D
11509 ParabolicFit=ParabolicFit2D
11510 
11511 
11512 def __setup_vector_d_aliases():
11513  for n in "123456K":
11514  for func in ('get_basis_vector', 'get_zero_vector',
11515  'get_ones_vector'):
11516  funcname = func + "_" + n.lower() + 'd'
11517  globals()[funcname] = getattr(IMP, funcname)
11518  for cls in ('Vector' + n + 'D', 'Vector' + n + 'Ds'):
11519  globals()[cls] = getattr(IMP, cls)
11520 
11521 __setup_vector_d_aliases()
11522 
11523 get_vector_product = IMP.get_vector_product
11524 get_orthogonal_vector = IMP.get_orthogonal_vector
11525 get_centroid = IMP.get_centroid
11526 get_radius_of_gyration = IMP.get_radius_of_gyration
11527 
11528 
11529 def get_module_name():
11530  r"""get_module_name() -> std::string const"""
11531  return _IMP_algebra.get_module_name()
11532 
11533 def get_module_version():
11534  r"""get_module_version() -> std::string const"""
11535  return _IMP_algebra.get_module_version()
11536 
11537 def get_example_path(fname):
11538  r"""get_example_path(std::string fname) -> std::string"""
11539  return _IMP_algebra.get_example_path(fname)
11540 
11541 def get_data_path(fname):
11542  r"""get_data_path(std::string fname) -> std::string"""
11543  return _IMP_algebra.get_data_path(fname)
11544 
11545 from . import _version_check
11546 _version_check.check_version(get_module_version())
11547 __version__ = get_module_version()
11548 
11549 
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