IMP logo
IMP Reference Guide  develop.c881750dcd,2026/05/12
The Integrative Modeling Platform
core/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.4.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 import functools
14 
15 
16 
17 from sys import version_info as _swig_python_version_info
18 import _IMP_core
19 
20 try:
21  import builtins as __builtin__
22 except ImportError:
23  import __builtin__
24 
25 def _swig_repr(self):
26  try:
27  strthis = "proxy of " + self.this.__repr__()
28  except __builtin__.Exception:
29  strthis = ""
30  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
31 
32 
33 def _swig_setattr_nondynamic_instance_variable(set):
34  def set_instance_attr(self, name, value):
35  if name == "this":
36  set(self, name, value)
37  elif name == "thisown":
38  self.this.own(value)
39  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
40  set(self, name, value)
41  else:
42  raise AttributeError("You cannot add instance attributes to %s" % self)
43  return set_instance_attr
44 
45 
46 def _swig_setattr_nondynamic_class_variable(set):
47  def set_class_attr(cls, name, value):
48  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
49  set(cls, name, value)
50  else:
51  raise AttributeError("You cannot add class attributes to %s" % cls)
52  return set_class_attr
53 
54 
55 def _swig_add_metaclass(metaclass):
56  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
57  def wrapper(cls):
58  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
59  return wrapper
60 
61 
62 class _SwigNonDynamicMeta(type):
63  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
64  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
65 
66 
67 import weakref
68 
69 class IMP_CORE_SwigPyIterator(object):
70  r"""Proxy of C++ swig::IMP_CORE_SwigPyIterator class."""
71 
72  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
73 
74  def __init__(self, *args, **kwargs):
75  raise AttributeError("No constructor defined - class is abstract")
76  __repr__ = _swig_repr
77  __swig_destroy__ = _IMP_core.delete_IMP_CORE_SwigPyIterator
78 
79  def value(self):
80  r"""value(IMP_CORE_SwigPyIterator self) -> PyObject *"""
81  return _IMP_core.IMP_CORE_SwigPyIterator_value(self)
82 
83  def incr(self, n=1):
84  r"""incr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
85  return _IMP_core.IMP_CORE_SwigPyIterator_incr(self, n)
86 
87  def decr(self, n=1):
88  r"""decr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
89  return _IMP_core.IMP_CORE_SwigPyIterator_decr(self, n)
90 
91  def distance(self, x):
92  r"""distance(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t"""
93  return _IMP_core.IMP_CORE_SwigPyIterator_distance(self, x)
94 
95  def equal(self, x):
96  r"""equal(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
97  return _IMP_core.IMP_CORE_SwigPyIterator_equal(self, x)
98 
99  def copy(self):
100  r"""copy(IMP_CORE_SwigPyIterator self) -> IMP_CORE_SwigPyIterator"""
101  return _IMP_core.IMP_CORE_SwigPyIterator_copy(self)
102 
103  def next(self):
104  r"""next(IMP_CORE_SwigPyIterator self) -> PyObject *"""
105  return _IMP_core.IMP_CORE_SwigPyIterator_next(self)
106 
107  def __next__(self):
108  r"""__next__(IMP_CORE_SwigPyIterator self) -> PyObject *"""
109  return _IMP_core.IMP_CORE_SwigPyIterator___next__(self)
110 
111  def previous(self):
112  r"""previous(IMP_CORE_SwigPyIterator self) -> PyObject *"""
113  return _IMP_core.IMP_CORE_SwigPyIterator_previous(self)
114 
115  def advance(self, n):
116  r"""advance(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
117  return _IMP_core.IMP_CORE_SwigPyIterator_advance(self, n)
118 
119  def __eq__(self, x):
120  r"""__eq__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
121  return _IMP_core.IMP_CORE_SwigPyIterator___eq__(self, x)
122 
123  def __ne__(self, x):
124  r"""__ne__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
125  return _IMP_core.IMP_CORE_SwigPyIterator___ne__(self, x)
126 
127  def __iadd__(self, n):
128  r"""__iadd__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
129  return _IMP_core.IMP_CORE_SwigPyIterator___iadd__(self, n)
130 
131  def __isub__(self, n):
132  r"""__isub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
133  return _IMP_core.IMP_CORE_SwigPyIterator___isub__(self, n)
134 
135  def __add__(self, n):
136  r"""__add__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
137  return _IMP_core.IMP_CORE_SwigPyIterator___add__(self, n)
138 
139  def __sub__(self, *args):
140  r"""
141  __sub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator
142  __sub__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t
143  """
144  return _IMP_core.IMP_CORE_SwigPyIterator___sub__(self, *args)
145  def __iter__(self):
146  return self
147 
148 # Register IMP_CORE_SwigPyIterator in _IMP_core:
149 _IMP_core.IMP_CORE_SwigPyIterator_swigregister(IMP_CORE_SwigPyIterator)
150 
151 _value_types=[]
152 _object_types=[]
153 _raii_types=[]
154 _plural_types=[]
155 
156 IMP_DEBUG = _IMP_core.IMP_DEBUG
157 
158 IMP_RELEASE = _IMP_core.IMP_RELEASE
159 
160 IMP_SILENT = _IMP_core.IMP_SILENT
161 
162 IMP_PROGRESS = _IMP_core.IMP_PROGRESS
163 
164 IMP_TERSE = _IMP_core.IMP_TERSE
165 
166 IMP_VERBOSE = _IMP_core.IMP_VERBOSE
167 
168 IMP_MEMORY = _IMP_core.IMP_MEMORY
169 
170 IMP_NONE = _IMP_core.IMP_NONE
171 
172 IMP_USAGE = _IMP_core.IMP_USAGE
173 
174 IMP_INTERNAL = _IMP_core.IMP_INTERNAL
175 
176 IMP_KERNEL_HAS_LOG4CXX = _IMP_core.IMP_KERNEL_HAS_LOG4CXX
177 
178 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_core.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
179 
180 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_core.IMP_COMPILER_HAS_DEBUG_VECTOR
181 
182 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_core.IMP_COMPILER_HAS_RANDOM_SHUFFLE
183 
184 IMP_COMPILER_HAS_THREE_WAY = _IMP_core.IMP_COMPILER_HAS_THREE_WAY
185 
186 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_core.IMP_KERNEL_HAS_BOOST_RANDOM
187 
188 IMP_KERNEL_HAS_NUMPY = _IMP_core.IMP_KERNEL_HAS_NUMPY
189 
190 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_core.IMP_KERNEL_HAS_BOOST_SYSTEM
191 
192 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_core.IMP_KERNEL_HAS_GPERFTOOLS
193 
194 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
195 
196 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
197 
198 IMPKERNEL_SHOW_WARNINGS = _IMP_core.IMPKERNEL_SHOW_WARNINGS
199 
200 
201 import sys
202 class _DirectorObjects:
203  """@internal Simple class to keep references to director objects
204  to prevent premature deletion."""
205  def __init__(self):
206  self._objects = []
207  def register(self, obj):
208  """Take a reference to a director object; will only work for
209  refcounted C++ classes"""
210  if hasattr(obj, 'get_ref_count'):
211  self._objects.append(obj)
212  def cleanup(self):
213  """Only drop our reference and allow cleanup by Python if no other
214  Python references exist (we hold 3 references: one in self._objects,
215  one in x, and one in the argument list for getrefcount) *and* no
216  other C++ references exist (the Python object always holds one)"""
217  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
218  or x.get_ref_count() > 1]
219 # Do in two steps so the references are kept until the end of the
220 # function (deleting references may trigger a fresh call to this method)
221  self._objects = objs
222  def get_object_count(self):
223  """Get number of director objects (useful for testing only)"""
224  return len(self._objects)
225 _director_objects = _DirectorObjects()
226 
227 class _ostream(object):
228  r"""Proxy of C++ std::ostream class."""
229 
230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
231 
232  def __init__(self, *args, **kwargs):
233  raise AttributeError("No constructor defined")
234  __repr__ = _swig_repr
235 
236  def write(self, osa_buf):
237  r"""write(_ostream self, char const * osa_buf)"""
238  return _IMP_core._ostream_write(self, osa_buf)
239 
240 # Register _ostream in _IMP_core:
241 _IMP_core._ostream_swigregister(_ostream)
242 IMP_C_OPEN_BINARY = _IMP_core.IMP_C_OPEN_BINARY
243 
244 import IMP
245 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CGAL_HAS_BOOST_FILESYSTEM
246 
247 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
248 
249 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_core.IMP_CGAL_HAS_BOOST_RANDOM
250 
251 IMP_CGAL_HAS_NUMPY = _IMP_core.IMP_CGAL_HAS_NUMPY
252 
253 IMPCGAL_SHOW_WARNINGS = _IMP_core.IMPCGAL_SHOW_WARNINGS
254 
255 import IMP.cgal
256 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_core.IMP_ALGEBRA_HAS_IMP_CGAL
257 
258 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
259 
260 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
261 
262 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_RANDOM
263 
264 IMP_ALGEBRA_HAS_CGAL = _IMP_core.IMP_ALGEBRA_HAS_CGAL
265 
266 IMP_ALGEBRA_HAS_NUMPY = _IMP_core.IMP_ALGEBRA_HAS_NUMPY
267 
268 IMP_ALGEBRA_HAS_ANN = _IMP_core.IMP_ALGEBRA_HAS_ANN
269 
270 IMPALGEBRA_SHOW_WARNINGS = _IMP_core.IMPALGEBRA_SHOW_WARNINGS
271 
272 import IMP.algebra
273 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_core.IMP_DISPLAY_HAS_IMP_CGAL
274 
275 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
276 
277 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
278 
279 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_core.IMP_DISPLAY_HAS_BOOST_RANDOM
280 
281 IMP_DISPLAY_HAS_CGAL = _IMP_core.IMP_DISPLAY_HAS_CGAL
282 
283 IMP_DISPLAY_HAS_NUMPY = _IMP_core.IMP_DISPLAY_HAS_NUMPY
284 
285 IMPDISPLAY_SHOW_WARNINGS = _IMP_core.IMPDISPLAY_SHOW_WARNINGS
286 
287 import IMP.display
288 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
289 
290 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
291 
292 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
293 
294 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
295 
296 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_CGAL
297 
298 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_core.IMP_SCORE_FUNCTOR_HAS_HDF5
299 
300 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_core.IMP_SCORE_FUNCTOR_HAS_NUMPY
301 
302 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_core.IMPSCOREFUNCTOR_SHOW_WARNINGS
303 
304 import IMP.score_functor
305 IMP_CORE_HAS_IMP_CGAL = _IMP_core.IMP_CORE_HAS_IMP_CGAL
306 
307 IMP_CORE_HAS_IMP_KERNEL = _IMP_core.IMP_CORE_HAS_IMP_KERNEL
308 
309 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CORE_HAS_BOOST_FILESYSTEM
310 
311 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
312 
313 IMP_CORE_HAS_BOOST_RANDOM = _IMP_core.IMP_CORE_HAS_BOOST_RANDOM
314 
315 IMP_CORE_HAS_CGAL = _IMP_core.IMP_CORE_HAS_CGAL
316 
317 IMP_CORE_HAS_HDF5 = _IMP_core.IMP_CORE_HAS_HDF5
318 
319 IMP_CORE_HAS_NUMPY = _IMP_core.IMP_CORE_HAS_NUMPY
320 
321 IMPCORE_SHOW_WARNINGS = _IMP_core.IMPCORE_SHOW_WARNINGS
322 
323 class _OpenCubicSplineBase(IMP.UnaryFunction):
324  r"""Proxy of C++ IMP::score_functor::ScoreUnaryFunction< IMP::score_functor::OpenCubicSpline > class."""
325 
326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
327  __repr__ = _swig_repr
328 
329  def __init__(self, *args):
330  r"""__init__(_OpenCubicSplineBase self, IMP::score_functor::OpenCubicSpline const & score, std::string name="UnaryFunction%1%") -> _OpenCubicSplineBase"""
331  _IMP_core._OpenCubicSplineBase_swiginit(self, _IMP_core.new__OpenCubicSplineBase(*args))
332 
333  def get_version_info(self):
334  r"""get_version_info(_OpenCubicSplineBase self) -> VersionInfo"""
335  return _IMP_core._OpenCubicSplineBase_get_version_info(self)
336  __swig_destroy__ = _IMP_core.delete__OpenCubicSplineBase
337 
338 # Register _OpenCubicSplineBase in _IMP_core:
339 _IMP_core._OpenCubicSplineBase_swigregister(_OpenCubicSplineBase)
340 
341 _object_types.append("MonteCarloMover")
342 
343 
344 def _object_cast_to_MonteCarloMover(o):
345  r"""_object_cast_to_MonteCarloMover(Object o) -> MonteCarloMover"""
346  return _IMP_core._object_cast_to_MonteCarloMover(o)
347 
348 MonteCarloMoverResults=list
349 _plural_types.append("MonteCarloMoverResults")
350 _value_types.append("MonteCarloMoverResult")
351 
352 
353 _object_types.append("AngleRestraint")
354 
355 
356 def _object_cast_to_AngleRestraint(o):
357  r"""_object_cast_to_AngleRestraint(Object o) -> AngleRestraint"""
358  return _IMP_core._object_cast_to_AngleRestraint(o)
359 
360 _object_types.append("AngleTripletScore")
361 
362 
363 def _object_cast_to_AngleTripletScore(o):
364  r"""_object_cast_to_AngleTripletScore(Object o) -> AngleTripletScore"""
365  return _IMP_core._object_cast_to_AngleTripletScore(o)
366 
367 _object_types.append("AttributeSingletonScore")
368 
369 
370 def _object_cast_to_AttributeSingletonScore(o):
371  r"""_object_cast_to_AttributeSingletonScore(Object o) -> AttributeSingletonScore"""
372  return _IMP_core._object_cast_to_AttributeSingletonScore(o)
373 
374 _object_types.append("BallMover")
375 
376 
377 def _object_cast_to_BallMover(o):
378  r"""_object_cast_to_BallMover(Object o) -> BallMover"""
379  return _IMP_core._object_cast_to_BallMover(o)
380 
381 _object_types.append("SerialMover")
382 
383 
384 def _object_cast_to_SerialMover(o):
385  r"""_object_cast_to_SerialMover(Object o) -> SerialMover"""
386  return _IMP_core._object_cast_to_SerialMover(o)
387 
388 _object_types.append("SubsetMover")
389 
390 
391 def _object_cast_to_SubsetMover(o):
392  r"""_object_cast_to_SubsetMover(Object o) -> SubsetMover"""
393  return _IMP_core._object_cast_to_SubsetMover(o)
394 
395 _object_types.append("DirectionMover")
396 
397 
398 def _object_cast_to_DirectionMover(o):
399  r"""_object_cast_to_DirectionMover(Object o) -> DirectionMover"""
400  return _IMP_core._object_cast_to_DirectionMover(o)
401 
402 _object_types.append("SurfaceMover")
403 
404 
405 def _object_cast_to_SurfaceMover(o):
406  r"""_object_cast_to_SurfaceMover(Object o) -> SurfaceMover"""
407  return _IMP_core._object_cast_to_SurfaceMover(o)
408 
409 _object_types.append("BoundingBox3DSingletonScore")
410 
411 
412 def _object_cast_to_BoundingBox3DSingletonScore(o):
413  r"""_object_cast_to_BoundingBox3DSingletonScore(Object o) -> BoundingBox3DSingletonScore"""
414  return _IMP_core._object_cast_to_BoundingBox3DSingletonScore(o)
415 
416 _object_types.append("BoundingSphere3DSingletonScore")
417 
418 
419 def _object_cast_to_BoundingSphere3DSingletonScore(o):
420  r"""_object_cast_to_BoundingSphere3DSingletonScore(Object o) -> BoundingSphere3DSingletonScore"""
421  return _IMP_core._object_cast_to_BoundingSphere3DSingletonScore(o)
422 
423 _object_types.append("BoxSweepClosePairsFinder")
424 
425 
426 def _object_cast_to_BoxSweepClosePairsFinder(o):
427  r"""_object_cast_to_BoxSweepClosePairsFinder(Object o) -> BoxSweepClosePairsFinder"""
428  return _IMP_core._object_cast_to_BoxSweepClosePairsFinder(o)
429 
430 _object_types.append("NearestNeighborsClosePairsFinder")
431 
432 
433 def _object_cast_to_NearestNeighborsClosePairsFinder(o):
434  r"""_object_cast_to_NearestNeighborsClosePairsFinder(Object o) -> NearestNeighborsClosePairsFinder"""
435  return _IMP_core._object_cast_to_NearestNeighborsClosePairsFinder(o)
436 
437 _object_types.append("CentroidOfRefined")
438 
439 
440 def _object_cast_to_CentroidOfRefined(o):
441  r"""_object_cast_to_CentroidOfRefined(Object o) -> CentroidOfRefined"""
442  return _IMP_core._object_cast_to_CentroidOfRefined(o)
443 
444 _object_types.append("ChecksScoreState")
445 
446 
447 def _object_cast_to_ChecksScoreState(o):
448  r"""_object_cast_to_ChecksScoreState(Object o) -> ChecksScoreState"""
449  return _IMP_core._object_cast_to_ChecksScoreState(o)
450 
451 _object_types.append("ChildrenRefiner")
452 
453 
454 def _object_cast_to_ChildrenRefiner(o):
455  r"""_object_cast_to_ChildrenRefiner(Object o) -> ChildrenRefiner"""
456  return _IMP_core._object_cast_to_ChildrenRefiner(o)
457 
458 _object_types.append("ClosePairsFinder")
459 
460 
461 def _object_cast_to_ClosePairsFinder(o):
462  r"""_object_cast_to_ClosePairsFinder(Object o) -> ClosePairsFinder"""
463  return _IMP_core._object_cast_to_ClosePairsFinder(o)
464 
465 _object_types.append("ClosePairsPairScore")
466 
467 
468 def _object_cast_to_ClosePairsPairScore(o):
469  r"""_object_cast_to_ClosePairsPairScore(Object o) -> ClosePairsPairScore"""
470  return _IMP_core._object_cast_to_ClosePairsPairScore(o)
471 
472 _object_types.append("ClosedCubicSpline")
473 
474 
475 def _object_cast_to_ClosedCubicSpline(o):
476  r"""_object_cast_to_ClosedCubicSpline(Object o) -> ClosedCubicSpline"""
477  return _IMP_core._object_cast_to_ClosedCubicSpline(o)
478 
479 _object_types.append("ConjugateGradients")
480 
481 
482 def _object_cast_to_ConjugateGradients(o):
483  r"""_object_cast_to_ConjugateGradients(Object o) -> ConjugateGradients"""
484  return _IMP_core._object_cast_to_ConjugateGradients(o)
485 
486 _object_types.append("ConnectivityRestraint")
487 
488 
489 def _object_cast_to_ConnectivityRestraint(o):
490  r"""_object_cast_to_ConnectivityRestraint(Object o) -> ConnectivityRestraint"""
491  return _IMP_core._object_cast_to_ConnectivityRestraint(o)
492 
493 _object_types.append("ConstantRestraint")
494 
495 
496 def _object_cast_to_ConstantRestraint(o):
497  r"""_object_cast_to_ConstantRestraint(Object o) -> ConstantRestraint"""
498  return _IMP_core._object_cast_to_ConstantRestraint(o)
499 
500 _object_types.append("Cosine")
501 
502 
503 def _object_cast_to_Cosine(o):
504  r"""_object_cast_to_Cosine(Object o) -> Cosine"""
505  return _IMP_core._object_cast_to_Cosine(o)
506 
507 _object_types.append("CoverRefined")
508 
509 
510 def _object_cast_to_CoverRefined(o):
511  r"""_object_cast_to_CoverRefined(Object o) -> CoverRefined"""
512  return _IMP_core._object_cast_to_CoverRefined(o)
513 
514 _object_types.append("DerivativesFromRefined")
515 
516 
517 def _object_cast_to_DerivativesFromRefined(o):
518  r"""_object_cast_to_DerivativesFromRefined(Object o) -> DerivativesFromRefined"""
519  return _IMP_core._object_cast_to_DerivativesFromRefined(o)
520 
521 _object_types.append("DerivativesToRefined")
522 
523 
524 def _object_cast_to_DerivativesToRefined(o):
525  r"""_object_cast_to_DerivativesToRefined(Object o) -> DerivativesToRefined"""
526  return _IMP_core._object_cast_to_DerivativesToRefined(o)
527 
528 _object_types.append("WeightedDerivativesToRefined")
529 
530 
531 def _object_cast_to_WeightedDerivativesToRefined(o):
532  r"""_object_cast_to_WeightedDerivativesToRefined(Object o) -> IMP::core::WeightedDerivativesToRefined *"""
533  return _IMP_core._object_cast_to_WeightedDerivativesToRefined(o)
534 
535 _object_types.append("DiameterRestraint")
536 
537 
538 def _object_cast_to_DiameterRestraint(o):
539  r"""_object_cast_to_DiameterRestraint(Object o) -> DiameterRestraint"""
540  return _IMP_core._object_cast_to_DiameterRestraint(o)
541 
542 _object_types.append("DihedralRestraint")
543 
544 
545 def _object_cast_to_DihedralRestraint(o):
546  r"""_object_cast_to_DihedralRestraint(Object o) -> DihedralRestraint"""
547  return _IMP_core._object_cast_to_DihedralRestraint(o)
548 
549 _object_types.append("DistanceRestraint")
550 
551 
552 def _object_cast_to_DistanceRestraint(o):
553  r"""_object_cast_to_DistanceRestraint(Object o) -> DistanceRestraint"""
554  return _IMP_core._object_cast_to_DistanceRestraint(o)
555 
556 _object_types.append("DistanceToSingletonScore")
557 
558 
559 def _object_cast_to_DistanceToSingletonScore(o):
560  r"""_object_cast_to_DistanceToSingletonScore(Object o) -> DistanceToSingletonScore"""
561  return _IMP_core._object_cast_to_DistanceToSingletonScore(o)
562 
563 _object_types.append("ExcludedVolumeRestraint")
564 
565 
566 def _object_cast_to_ExcludedVolumeRestraint(o):
567  r"""_object_cast_to_ExcludedVolumeRestraint(Object o) -> ExcludedVolumeRestraint"""
568  return _IMP_core._object_cast_to_ExcludedVolumeRestraint(o)
569 
570 _object_types.append("FixedRefiner")
571 
572 
573 def _object_cast_to_FixedRefiner(o):
574  r"""_object_cast_to_FixedRefiner(Object o) -> FixedRefiner"""
575  return _IMP_core._object_cast_to_FixedRefiner(o)
576 
577 _object_types.append("GridClosePairsFinder")
578 
579 
580 def _object_cast_to_GridClosePairsFinder(o):
581  r"""_object_cast_to_GridClosePairsFinder(Object o) -> GridClosePairsFinder"""
582  return _IMP_core._object_cast_to_GridClosePairsFinder(o)
583 
584 _object_types.append("Harmonic")
585 
586 
587 def _object_cast_to_Harmonic(o):
588  r"""_object_cast_to_Harmonic(Object o) -> Harmonic"""
589  return _IMP_core._object_cast_to_Harmonic(o)
590 
591 _object_types.append("HarmonicWell")
592 
593 
594 def _object_cast_to_HarmonicWell(o):
595  r"""_object_cast_to_HarmonicWell(Object o) -> HarmonicWell"""
596  return _IMP_core._object_cast_to_HarmonicWell(o)
597 
598 _object_types.append("HarmonicLowerBound")
599 
600 
601 def _object_cast_to_HarmonicLowerBound(o):
602  r"""_object_cast_to_HarmonicLowerBound(Object o) -> HarmonicLowerBound"""
603  return _IMP_core._object_cast_to_HarmonicLowerBound(o)
604 
605 _object_types.append("HarmonicUpperBound")
606 
607 
608 def _object_cast_to_HarmonicUpperBound(o):
609  r"""_object_cast_to_HarmonicUpperBound(Object o) -> HarmonicUpperBound"""
610  return _IMP_core._object_cast_to_HarmonicUpperBound(o)
611 
612 _object_types.append("HarmonicSphereDistancePairScore")
613 
614 
615 def _object_cast_to_HarmonicSphereDistancePairScore(o):
616  r"""_object_cast_to_HarmonicSphereDistancePairScore(Object o) -> HarmonicSphereDistancePairScore"""
617  return _IMP_core._object_cast_to_HarmonicSphereDistancePairScore(o)
618 
619 _object_types.append("HarmonicUpperBoundSphereDistancePairScore")
620 
621 
622 def _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o):
623  r"""_object_cast_to_HarmonicUpperBoundSphereDistancePairScore(Object o) -> HarmonicUpperBoundSphereDistancePairScore"""
624  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
625 
626 _object_types.append("HarmonicUpperBoundSphereDiameterPairScore")
627 
628 
629 def _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o):
630  r"""_object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(Object o) -> HarmonicUpperBoundSphereDiameterPairScore"""
631  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
632 
633 _object_types.append("HarmonicSurfaceDistancePairScore")
634 
635 
636 def _object_cast_to_HarmonicSurfaceDistancePairScore(o):
637  r"""_object_cast_to_HarmonicSurfaceDistancePairScore(Object o) -> HarmonicSurfaceDistancePairScore"""
638  return _IMP_core._object_cast_to_HarmonicSurfaceDistancePairScore(o)
639 
640 _object_types.append("HarmonicSurfaceHeightPairScore")
641 
642 
643 def _object_cast_to_HarmonicSurfaceHeightPairScore(o):
644  r"""_object_cast_to_HarmonicSurfaceHeightPairScore(Object o) -> HarmonicSurfaceHeightPairScore"""
645  return _IMP_core._object_cast_to_HarmonicSurfaceHeightPairScore(o)
646 
647 _object_types.append("HarmonicSurfaceDepthPairScore")
648 
649 
650 def _object_cast_to_HarmonicSurfaceDepthPairScore(o):
651  r"""_object_cast_to_HarmonicSurfaceDepthPairScore(Object o) -> HarmonicSurfaceDepthPairScore"""
652  return _IMP_core._object_cast_to_HarmonicSurfaceDepthPairScore(o)
653 
654 _object_types.append("WeightedSum")
655 
656 
657 def _object_cast_to_WeightedSum(o):
658  r"""_object_cast_to_WeightedSum(Object o) -> WeightedSum"""
659  return _IMP_core._object_cast_to_WeightedSum(o)
660 
661 _object_types.append("WeightedSumOfExponential")
662 
663 
664 def _object_cast_to_WeightedSumOfExponential(o):
665  r"""_object_cast_to_WeightedSumOfExponential(Object o) -> WeightedSumOfExponential"""
666  return _IMP_core._object_cast_to_WeightedSumOfExponential(o)
667 
668 _object_types.append("KClosePairsPairScore")
669 
670 
671 def _object_cast_to_KClosePairsPairScore(o):
672  r"""_object_cast_to_KClosePairsPairScore(Object o) -> KClosePairsPairScore"""
673  return _IMP_core._object_cast_to_KClosePairsPairScore(o)
674 
675 _object_types.append("LeavesRefiner")
676 
677 
678 def _object_cast_to_LeavesRefiner(o):
679  r"""_object_cast_to_LeavesRefiner(Object o) -> LeavesRefiner"""
680  return _IMP_core._object_cast_to_LeavesRefiner(o)
681 
682 _object_types.append("Linear")
683 
684 
685 def _object_cast_to_Linear(o):
686  r"""_object_cast_to_Linear(Object o) -> Linear"""
687  return _IMP_core._object_cast_to_Linear(o)
688 
689 _object_types.append("LogNormalMover")
690 
691 
692 def _object_cast_to_LogNormalMover(o):
693  r"""_object_cast_to_LogNormalMover(Object o) -> LogNormalMover"""
694  return _IMP_core._object_cast_to_LogNormalMover(o)
695 
696 _object_types.append("MCCGSampler")
697 
698 
699 def _object_cast_to_MCCGSampler(o):
700  r"""_object_cast_to_MCCGSampler(Object o) -> MCCGSampler"""
701  return _IMP_core._object_cast_to_MCCGSampler(o)
702 
703 _object_types.append("MonteCarlo")
704 
705 
706 def _object_cast_to_MonteCarlo(o):
707  r"""_object_cast_to_MonteCarlo(Object o) -> MonteCarlo"""
708  return _IMP_core._object_cast_to_MonteCarlo(o)
709 
710 _object_types.append("MonteCarloWithLocalOptimization")
711 
712 
713 def _object_cast_to_MonteCarloWithLocalOptimization(o):
714  r"""_object_cast_to_MonteCarloWithLocalOptimization(Object o) -> MonteCarloWithLocalOptimization"""
715  return _IMP_core._object_cast_to_MonteCarloWithLocalOptimization(o)
716 
717 _object_types.append("MonteCarloWithBasinHopping")
718 
719 
720 def _object_cast_to_MonteCarloWithBasinHopping(o):
721  r"""_object_cast_to_MonteCarloWithBasinHopping(Object o) -> MonteCarloWithBasinHopping"""
722  return _IMP_core._object_cast_to_MonteCarloWithBasinHopping(o)
723 
724 _object_types.append("MSConnectivityRestraint")
725 
726 
727 def _object_cast_to_MSConnectivityRestraint(o):
728  r"""_object_cast_to_MSConnectivityRestraint(Object o) -> MSConnectivityRestraint"""
729  return _IMP_core._object_cast_to_MSConnectivityRestraint(o)
730 
731 _object_types.append("NeighborsTable")
732 
733 
734 def _object_cast_to_NeighborsTable(o):
735  r"""_object_cast_to_NeighborsTable(Object o) -> NeighborsTable"""
736  return _IMP_core._object_cast_to_NeighborsTable(o)
737 
738 _object_types.append("NormalMover")
739 
740 
741 def _object_cast_to_NormalMover(o):
742  r"""_object_cast_to_NormalMover(Object o) -> NormalMover"""
743  return _IMP_core._object_cast_to_NormalMover(o)
744 
745 _object_types.append("NormalizedSphereDistancePairScore")
746 
747 
748 def _object_cast_to_NormalizedSphereDistancePairScore(o):
749  r"""_object_cast_to_NormalizedSphereDistancePairScore(Object o) -> NormalizedSphereDistancePairScore"""
750  return _IMP_core._object_cast_to_NormalizedSphereDistancePairScore(o)
751 
752 _object_types.append("OpenCubicSpline")
753 
754 
755 def _object_cast_to_OpenCubicSpline(o):
756  r"""_object_cast_to_OpenCubicSpline(Object o) -> OpenCubicSpline"""
757  return _IMP_core._object_cast_to_OpenCubicSpline(o)
758 
759 _object_types.append("PairConstraint")
760 
761 
762 def _object_cast_to_PairConstraint(o):
763  r"""_object_cast_to_PairConstraint(Object o) -> PairConstraint"""
764  return _IMP_core._object_cast_to_PairConstraint(o)
765 
766 _object_types.append("PairRestraint")
767 
768 
769 def _object_cast_to_PairRestraint(o):
770  r"""_object_cast_to_PairRestraint(Object o) -> PairRestraint"""
771  return _IMP_core._object_cast_to_PairRestraint(o)
772 
773 _object_types.append("QuadConstraint")
774 
775 
776 def _object_cast_to_QuadConstraint(o):
777  r"""_object_cast_to_QuadConstraint(Object o) -> QuadConstraint"""
778  return _IMP_core._object_cast_to_QuadConstraint(o)
779 
780 _object_types.append("QuadRestraint")
781 
782 
783 def _object_cast_to_QuadRestraint(o):
784  r"""_object_cast_to_QuadRestraint(Object o) -> QuadRestraint"""
785  return _IMP_core._object_cast_to_QuadRestraint(o)
786 
787 _object_types.append("QuadraticClosePairsFinder")
788 
789 
790 def _object_cast_to_QuadraticClosePairsFinder(o):
791  r"""_object_cast_to_QuadraticClosePairsFinder(Object o) -> QuadraticClosePairsFinder"""
792  return _IMP_core._object_cast_to_QuadraticClosePairsFinder(o)
793 
794 _object_types.append("RefinedPairsPairScore")
795 
796 
797 def _object_cast_to_RefinedPairsPairScore(o):
798  r"""_object_cast_to_RefinedPairsPairScore(Object o) -> RefinedPairsPairScore"""
799  return _IMP_core._object_cast_to_RefinedPairsPairScore(o)
800 
801 _object_types.append("RestraintsScoringFunction")
802 
803 
804 def _object_cast_to_RestraintsScoringFunction(o):
805  r"""_object_cast_to_RestraintsScoringFunction(Object o) -> RestraintsScoringFunction"""
806  return _IMP_core._object_cast_to_RestraintsScoringFunction(o)
807 
808 _object_types.append("RigidBodyDistancePairScore")
809 
810 
811 def _object_cast_to_RigidBodyDistancePairScore(o):
812  r"""_object_cast_to_RigidBodyDistancePairScore(Object o) -> RigidBodyDistancePairScore"""
813  return _IMP_core._object_cast_to_RigidBodyDistancePairScore(o)
814 
815 _object_types.append("RigidBodyAnglePairScore")
816 
817 
818 def _object_cast_to_RigidBodyAnglePairScore(o):
819  r"""_object_cast_to_RigidBodyAnglePairScore(Object o) -> RigidBodyAnglePairScore"""
820  return _IMP_core._object_cast_to_RigidBodyAnglePairScore(o)
821 
822 _object_types.append("RigidBodyMover")
823 
824 
825 def _object_cast_to_RigidBodyMover(o):
826  r"""_object_cast_to_RigidBodyMover(Object o) -> RigidBodyMover"""
827  return _IMP_core._object_cast_to_RigidBodyMover(o)
828 
829 _object_types.append("RigidBodyTunneler")
830 
831 
832 def _object_cast_to_RigidBodyTunneler(o):
833  r"""_object_cast_to_RigidBodyTunneler(Object o) -> RigidBodyTunneler"""
834  return _IMP_core._object_cast_to_RigidBodyTunneler(o)
835 
836 _object_types.append("RigidBodyUmbrella")
837 
838 
839 def _object_cast_to_RigidBodyUmbrella(o):
840  r"""_object_cast_to_RigidBodyUmbrella(Object o) -> RigidBodyUmbrella"""
841  return _IMP_core._object_cast_to_RigidBodyUmbrella(o)
842 
843 _object_types.append("_UpdateRigidBodyMembers")
844 
845 
846 def _object_cast_to__UpdateRigidBodyMembers(o):
847  r"""_object_cast_to__UpdateRigidBodyMembers(Object o) -> _UpdateRigidBodyMembers"""
848  return _IMP_core._object_cast_to__UpdateRigidBodyMembers(o)
849 
850 _object_types.append("_AccumulateRigidBodyDerivatives")
851 
852 
853 def _object_cast_to__AccumulateRigidBodyDerivatives(o):
854  r"""_object_cast_to__AccumulateRigidBodyDerivatives(Object o) -> _AccumulateRigidBodyDerivatives"""
855  return _IMP_core._object_cast_to__AccumulateRigidBodyDerivatives(o)
856 
857 _object_types.append("_RigidBodyNormalizeConstraint")
858 
859 
860 def _object_cast_to__RigidBodyNormalizeConstraint(o):
861  r"""_object_cast_to__RigidBodyNormalizeConstraint(Object o) -> _RigidBodyNormalizeConstraint"""
862  return _IMP_core._object_cast_to__RigidBodyNormalizeConstraint(o)
863 
864 _object_types.append("_NormalizeRotation")
865 
866 
867 def _object_cast_to__NormalizeRotation(o):
868  r"""_object_cast_to__NormalizeRotation(Object o) -> _NormalizeRotation"""
869  return _IMP_core._object_cast_to__NormalizeRotation(o)
870 
871 _object_types.append("_RigidBodyPositionConstraint")
872 
873 
874 def _object_cast_to__RigidBodyPositionConstraint(o):
875  r"""_object_cast_to__RigidBodyPositionConstraint(Object o) -> _RigidBodyPositionConstraint"""
876  return _IMP_core._object_cast_to__RigidBodyPositionConstraint(o)
877 
878 _object_types.append("RigidClosePairsFinder")
879 
880 
881 def _object_cast_to_RigidClosePairsFinder(o):
882  r"""_object_cast_to_RigidClosePairsFinder(Object o) -> RigidClosePairsFinder"""
883  return _IMP_core._object_cast_to_RigidClosePairsFinder(o)
884 
885 _object_types.append("RigidMembersRefiner")
886 
887 
888 def _object_cast_to_RigidMembersRefiner(o):
889  r"""_object_cast_to_RigidMembersRefiner(Object o) -> RigidMembersRefiner"""
890  return _IMP_core._object_cast_to_RigidMembersRefiner(o)
891 
892 _object_types.append("SingletonConstraint")
893 
894 
895 def _object_cast_to_SingletonConstraint(o):
896  r"""_object_cast_to_SingletonConstraint(Object o) -> SingletonConstraint"""
897  return _IMP_core._object_cast_to_SingletonConstraint(o)
898 
899 _object_types.append("SingletonRestraint")
900 
901 
902 def _object_cast_to_SingletonRestraint(o):
903  r"""_object_cast_to_SingletonRestraint(Object o) -> SingletonRestraint"""
904  return _IMP_core._object_cast_to_SingletonRestraint(o)
905 
906 _object_types.append("SoftSpherePairScore")
907 
908 
909 def _object_cast_to_SoftSpherePairScore(o):
910  r"""_object_cast_to_SoftSpherePairScore(Object o) -> SoftSpherePairScore"""
911  return _IMP_core._object_cast_to_SoftSpherePairScore(o)
912 
913 _object_types.append("_SphereDistancePairScore")
914 
915 
916 def _object_cast_to__SphereDistancePairScore(o):
917  r"""_object_cast_to__SphereDistancePairScore(Object o) -> _SphereDistancePairScore"""
918  return _IMP_core._object_cast_to__SphereDistancePairScore(o)
919 
920 _object_types.append("SphereDistanceToSingletonScore")
921 
922 
923 def _object_cast_to_SphereDistanceToSingletonScore(o):
924  r"""_object_cast_to_SphereDistanceToSingletonScore(Object o) -> SphereDistanceToSingletonScore"""
925  return _IMP_core._object_cast_to_SphereDistanceToSingletonScore(o)
926 
927 _object_types.append("SoftSubSurfacePairScore")
928 
929 
930 def _object_cast_to_SoftSubSurfacePairScore(o):
931  r"""_object_cast_to_SoftSubSurfacePairScore(Object o) -> SoftSubSurfacePairScore"""
932  return _IMP_core._object_cast_to_SoftSubSurfacePairScore(o)
933 
934 _object_types.append("SoftSuperSurfacePairScore")
935 
936 
937 def _object_cast_to_SoftSuperSurfacePairScore(o):
938  r"""_object_cast_to_SoftSuperSurfacePairScore(Object o) -> SoftSuperSurfacePairScore"""
939  return _IMP_core._object_cast_to_SoftSuperSurfacePairScore(o)
940 
941 _object_types.append("SurfaceDistancePairScore")
942 
943 
944 def _object_cast_to_SurfaceDistancePairScore(o):
945  r"""_object_cast_to_SurfaceDistancePairScore(Object o) -> SurfaceDistancePairScore"""
946  return _IMP_core._object_cast_to_SurfaceDistancePairScore(o)
947 
948 _object_types.append("SurfaceHeightPairScore")
949 
950 
951 def _object_cast_to_SurfaceHeightPairScore(o):
952  r"""_object_cast_to_SurfaceHeightPairScore(Object o) -> SurfaceHeightPairScore"""
953  return _IMP_core._object_cast_to_SurfaceHeightPairScore(o)
954 
955 _object_types.append("SurfaceDepthPairScore")
956 
957 
958 def _object_cast_to_SurfaceDepthPairScore(o):
959  r"""_object_cast_to_SurfaceDepthPairScore(Object o) -> SurfaceDepthPairScore"""
960  return _IMP_core._object_cast_to_SurfaceDepthPairScore(o)
961 
962 _object_types.append("SurfaceTetheredChain")
963 
964 
965 def _object_cast_to_SurfaceTetheredChain(o):
966  r"""_object_cast_to_SurfaceTetheredChain(Object o) -> SurfaceTetheredChain"""
967  return _IMP_core._object_cast_to_SurfaceTetheredChain(o)
968 
969 _object_types.append("SurfaceSymmetryConstraint")
970 
971 
972 def _object_cast_to_SurfaceSymmetryConstraint(o):
973  r"""_object_cast_to_SurfaceSymmetryConstraint(Object o) -> SurfaceSymmetryConstraint"""
974  return _IMP_core._object_cast_to_SurfaceSymmetryConstraint(o)
975 
976 _object_types.append("SteepestDescent")
977 
978 
979 def _object_cast_to_SteepestDescent(o):
980  r"""_object_cast_to_SteepestDescent(Object o) -> SteepestDescent"""
981  return _IMP_core._object_cast_to_SteepestDescent(o)
982 
983 _object_types.append("TableRefiner")
984 
985 
986 def _object_cast_to_TableRefiner(o):
987  r"""_object_cast_to_TableRefiner(Object o) -> TableRefiner"""
988  return _IMP_core._object_cast_to_TableRefiner(o)
989 
990 _object_types.append("Transform")
991 
992 
993 def _object_cast_to_Transform(o):
994  r"""_object_cast_to_Transform(Object o) -> Transform"""
995  return _IMP_core._object_cast_to_Transform(o)
996 
997 _object_types.append("TransformationAndReflectionSymmetry")
998 
999 
1000 def _object_cast_to_TransformationAndReflectionSymmetry(o):
1001  r"""_object_cast_to_TransformationAndReflectionSymmetry(Object o) -> TransformationAndReflectionSymmetry"""
1002  return _IMP_core._object_cast_to_TransformationAndReflectionSymmetry(o)
1003 
1004 _object_types.append("TransformationSymmetry")
1005 
1006 
1007 def _object_cast_to_TransformationSymmetry(o):
1008  r"""_object_cast_to_TransformationSymmetry(Object o) -> TransformationSymmetry"""
1009  return _IMP_core._object_cast_to_TransformationSymmetry(o)
1010 
1011 _object_types.append("TransformationSymmetryMover")
1012 
1013 
1014 def _object_cast_to_TransformationSymmetryMover(o):
1015  r"""_object_cast_to_TransformationSymmetryMover(Object o) -> TransformationSymmetryMover"""
1016  return _IMP_core._object_cast_to_TransformationSymmetryMover(o)
1017 
1018 _object_types.append("TransformedDistancePairScore")
1019 
1020 
1021 def _object_cast_to_TransformedDistancePairScore(o):
1022  r"""_object_cast_to_TransformedDistancePairScore(Object o) -> TransformedDistancePairScore"""
1023  return _IMP_core._object_cast_to_TransformedDistancePairScore(o)
1024 
1025 _object_types.append("TripletConstraint")
1026 
1027 
1028 def _object_cast_to_TripletConstraint(o):
1029  r"""_object_cast_to_TripletConstraint(Object o) -> TripletConstraint"""
1030  return _IMP_core._object_cast_to_TripletConstraint(o)
1031 
1032 _object_types.append("TripletRestraint")
1033 
1034 
1035 def _object_cast_to_TripletRestraint(o):
1036  r"""_object_cast_to_TripletRestraint(Object o) -> TripletRestraint"""
1037  return _IMP_core._object_cast_to_TripletRestraint(o)
1038 
1039 _object_types.append("TypedPairScore")
1040 
1041 
1042 def _object_cast_to_TypedPairScore(o):
1043  r"""_object_cast_to_TypedPairScore(Object o) -> TypedPairScore"""
1044  return _IMP_core._object_cast_to_TypedPairScore(o)
1045 
1046 _object_types.append("VolumeRestraint")
1047 
1048 
1049 def _object_cast_to_VolumeRestraint(o):
1050  r"""_object_cast_to_VolumeRestraint(Object o) -> VolumeRestraint"""
1051  return _IMP_core._object_cast_to_VolumeRestraint(o)
1052 
1053 _object_types.append("WeightedSphereDistancePairScore")
1054 
1055 
1056 def _object_cast_to_WeightedSphereDistancePairScore(o):
1057  r"""_object_cast_to_WeightedSphereDistancePairScore(Object o) -> WeightedSphereDistancePairScore"""
1058  return _IMP_core._object_cast_to_WeightedSphereDistancePairScore(o)
1059 
1060 _object_types.append("MoveStatisticsScoreState")
1061 
1062 
1063 def _object_cast_to_MoveStatisticsScoreState(o):
1064  r"""_object_cast_to_MoveStatisticsScoreState(Object o) -> MoveStatisticsScoreState"""
1065  return _IMP_core._object_cast_to_MoveStatisticsScoreState(o)
1066 
1067 _object_types.append("MinimumRestraint")
1068 
1069 
1070 def _object_cast_to_MinimumRestraint(o):
1071  r"""_object_cast_to_MinimumRestraint(Object o) -> MinimumRestraint"""
1072  return _IMP_core._object_cast_to_MinimumRestraint(o)
1073 
1074 _object_types.append("WriteRestraintScoresOptimizerState")
1075 
1076 
1077 def _object_cast_to_WriteRestraintScoresOptimizerState(o):
1078  r"""_object_cast_to_WriteRestraintScoresOptimizerState(Object o) -> WriteRestraintScoresOptimizerState"""
1079  return _IMP_core._object_cast_to_WriteRestraintScoresOptimizerState(o)
1080 
1081 _object_types.append("LateralSurfaceConstraint")
1082 
1083 
1084 def _object_cast_to_LateralSurfaceConstraint(o):
1085  r"""_object_cast_to_LateralSurfaceConstraint(Object o) -> LateralSurfaceConstraint"""
1086  return _IMP_core._object_cast_to_LateralSurfaceConstraint(o)
1087 
1088 _object_types.append("ConstantSingletonPredicate")
1089 
1090 
1091 def _object_cast_to_ConstantSingletonPredicate(o):
1092  r"""_object_cast_to_ConstantSingletonPredicate(Object o) -> ConstantSingletonPredicate"""
1093  return _IMP_core._object_cast_to_ConstantSingletonPredicate(o)
1094 
1095 _object_types.append("ConstantPairPredicate")
1096 
1097 
1098 def _object_cast_to_ConstantPairPredicate(o):
1099  r"""_object_cast_to_ConstantPairPredicate(Object o) -> ConstantPairPredicate"""
1100  return _IMP_core._object_cast_to_ConstantPairPredicate(o)
1101 
1102 _object_types.append("ConstantTripletPredicate")
1103 
1104 
1105 def _object_cast_to_ConstantTripletPredicate(o):
1106  r"""_object_cast_to_ConstantTripletPredicate(Object o) -> ConstantTripletPredicate"""
1107  return _IMP_core._object_cast_to_ConstantTripletPredicate(o)
1108 
1109 _object_types.append("ConstantQuadPredicate")
1110 
1111 
1112 def _object_cast_to_ConstantQuadPredicate(o):
1113  r"""_object_cast_to_ConstantQuadPredicate(Object o) -> ConstantQuadPredicate"""
1114  return _IMP_core._object_cast_to_ConstantQuadPredicate(o)
1115 
1116 _object_types.append("CoinFlipSingletonPredicate")
1117 
1118 
1119 def _object_cast_to_CoinFlipSingletonPredicate(o):
1120  r"""_object_cast_to_CoinFlipSingletonPredicate(Object o) -> CoinFlipSingletonPredicate"""
1121  return _IMP_core._object_cast_to_CoinFlipSingletonPredicate(o)
1122 
1123 _object_types.append("CoinFlipPairPredicate")
1124 
1125 
1126 def _object_cast_to_CoinFlipPairPredicate(o):
1127  r"""_object_cast_to_CoinFlipPairPredicate(Object o) -> CoinFlipPairPredicate"""
1128  return _IMP_core._object_cast_to_CoinFlipPairPredicate(o)
1129 
1130 _object_types.append("CoinFlipTripletPredicate")
1131 
1132 
1133 def _object_cast_to_CoinFlipTripletPredicate(o):
1134  r"""_object_cast_to_CoinFlipTripletPredicate(Object o) -> CoinFlipTripletPredicate"""
1135  return _IMP_core._object_cast_to_CoinFlipTripletPredicate(o)
1136 
1137 _object_types.append("CoinFlipQuadPredicate")
1138 
1139 
1140 def _object_cast_to_CoinFlipQuadPredicate(o):
1141  r"""_object_cast_to_CoinFlipQuadPredicate(Object o) -> CoinFlipQuadPredicate"""
1142  return _IMP_core._object_cast_to_CoinFlipQuadPredicate(o)
1143 
1144 _object_types.append("UnorderedTypeSingletonPredicate")
1145 
1146 
1147 def _object_cast_to_UnorderedTypeSingletonPredicate(o):
1148  r"""_object_cast_to_UnorderedTypeSingletonPredicate(Object o) -> UnorderedTypeSingletonPredicate"""
1149  return _IMP_core._object_cast_to_UnorderedTypeSingletonPredicate(o)
1150 
1151 _object_types.append("UnorderedTypePairPredicate")
1152 
1153 
1154 def _object_cast_to_UnorderedTypePairPredicate(o):
1155  r"""_object_cast_to_UnorderedTypePairPredicate(Object o) -> UnorderedTypePairPredicate"""
1156  return _IMP_core._object_cast_to_UnorderedTypePairPredicate(o)
1157 
1158 _object_types.append("UnorderedTypeTripletPredicate")
1159 
1160 
1161 def _object_cast_to_UnorderedTypeTripletPredicate(o):
1162  r"""_object_cast_to_UnorderedTypeTripletPredicate(Object o) -> UnorderedTypeTripletPredicate"""
1163  return _IMP_core._object_cast_to_UnorderedTypeTripletPredicate(o)
1164 
1165 _object_types.append("UnorderedTypeQuadPredicate")
1166 
1167 
1168 def _object_cast_to_UnorderedTypeQuadPredicate(o):
1169  r"""_object_cast_to_UnorderedTypeQuadPredicate(Object o) -> UnorderedTypeQuadPredicate"""
1170  return _IMP_core._object_cast_to_UnorderedTypeQuadPredicate(o)
1171 
1172 _object_types.append("OrderedTypeSingletonPredicate")
1173 
1174 
1175 def _object_cast_to_OrderedTypeSingletonPredicate(o):
1176  r"""_object_cast_to_OrderedTypeSingletonPredicate(Object o) -> OrderedTypeSingletonPredicate"""
1177  return _IMP_core._object_cast_to_OrderedTypeSingletonPredicate(o)
1178 
1179 _object_types.append("OrderedTypePairPredicate")
1180 
1181 
1182 def _object_cast_to_OrderedTypePairPredicate(o):
1183  r"""_object_cast_to_OrderedTypePairPredicate(Object o) -> OrderedTypePairPredicate"""
1184  return _IMP_core._object_cast_to_OrderedTypePairPredicate(o)
1185 
1186 _object_types.append("OrderedTypeTripletPredicate")
1187 
1188 
1189 def _object_cast_to_OrderedTypeTripletPredicate(o):
1190  r"""_object_cast_to_OrderedTypeTripletPredicate(Object o) -> OrderedTypeTripletPredicate"""
1191  return _IMP_core._object_cast_to_OrderedTypeTripletPredicate(o)
1192 
1193 _object_types.append("OrderedTypeQuadPredicate")
1194 
1195 
1196 def _object_cast_to_OrderedTypeQuadPredicate(o):
1197  r"""_object_cast_to_OrderedTypeQuadPredicate(Object o) -> OrderedTypeQuadPredicate"""
1198  return _IMP_core._object_cast_to_OrderedTypeQuadPredicate(o)
1199 
1200 _object_types.append("AllSameSingletonPredicate")
1201 
1202 
1203 def _object_cast_to_AllSameSingletonPredicate(o):
1204  r"""_object_cast_to_AllSameSingletonPredicate(Object o) -> AllSameSingletonPredicate"""
1205  return _IMP_core._object_cast_to_AllSameSingletonPredicate(o)
1206 
1207 _object_types.append("AllSamePairPredicate")
1208 
1209 
1210 def _object_cast_to_AllSamePairPredicate(o):
1211  r"""_object_cast_to_AllSamePairPredicate(Object o) -> AllSamePairPredicate"""
1212  return _IMP_core._object_cast_to_AllSamePairPredicate(o)
1213 
1214 _object_types.append("AllSameTripletPredicate")
1215 
1216 
1217 def _object_cast_to_AllSameTripletPredicate(o):
1218  r"""_object_cast_to_AllSameTripletPredicate(Object o) -> AllSameTripletPredicate"""
1219  return _IMP_core._object_cast_to_AllSameTripletPredicate(o)
1220 
1221 _object_types.append("AllSameQuadPredicate")
1222 
1223 
1224 def _object_cast_to_AllSameQuadPredicate(o):
1225  r"""_object_cast_to_AllSameQuadPredicate(Object o) -> AllSameQuadPredicate"""
1226  return _IMP_core._object_cast_to_AllSameQuadPredicate(o)
1227 
1228 def XYZs(l=[]):
1229  return [XYZ(x) for x in l]
1230 _plural_types.append("XYZs")
1231 
1232 
1233 _value_types.append("XYZ")
1234 
1235 
1236 def XYZRs(l=[]):
1237  return [XYZR(x) for x in l]
1238 _plural_types.append("XYZRs")
1239 
1240 
1241 _value_types.append("XYZR")
1242 
1243 
1244 def RigidBodies(l=[]):
1245  return [RigidBody(x) for x in l]
1246 _plural_types.append("RigidBodies")
1247 
1248 
1249 _value_types.append("RigidBody")
1250 
1251 
1252 def RigidBodyMembers(l=[]):
1253  return [RigidBodyMember(x) for x in l]
1254 _plural_types.append("RigidBodyMembers")
1255 
1256 
1257 _value_types.append("RigidBodyMember")
1258 
1259 
1260 def RigidMembers(l=[]):
1261  return [RigidMember(x) for x in l]
1262 _plural_types.append("RigidMembers")
1263 
1264 
1265 _value_types.append("RigidMember")
1266 
1267 
1268 def NonRigidMembers(l=[]):
1269  return [NonRigidMember(x) for x in l]
1270 _plural_types.append("NonRigidMembers")
1271 
1272 
1273 _value_types.append("NonRigidMember")
1274 
1275 
1276 def Centroids(l=[]):
1277  return [Centroid(x) for x in l]
1278 _plural_types.append("Centroids")
1279 
1280 
1281 _value_types.append("Centroid")
1282 
1283 
1284 def Covers(l=[]):
1285  return [Cover(x) for x in l]
1286 _plural_types.append("Covers")
1287 
1288 
1289 _value_types.append("Cover")
1290 
1291 
1292 def References(l=[]):
1293  return [Reference(x) for x in l]
1294 _plural_types.append("References")
1295 
1296 
1297 _value_types.append("Reference")
1298 
1299 
1300 ParticleTypes=list
1301 _plural_types.append("ParticleTypes")
1302 _value_types.append("ParticleType")
1303 
1304 
1305 def Typeds(l=[]):
1306  return [Typed(x) for x in l]
1307 _plural_types.append("Typeds")
1308 
1309 
1310 _value_types.append("Typed")
1311 
1312 
1313 def GenericHierarchies(l=[]):
1314  return [Hierarchy(x) for x in l]
1315 _plural_types.append("GenericHierarchies")
1316 
1317 
1318 _value_types.append("Hierarchy")
1319 
1320 
1321 def Gaussians(l=[]):
1322  return [Gaussian(x) for x in l]
1323 _plural_types.append("Gaussians")
1324 
1325 
1326 _value_types.append("Gaussian")
1327 
1328 
1329 def Directions(l=[]):
1330  return [Direction(x) for x in l]
1331 _plural_types.append("Directions")
1332 
1333 
1334 _value_types.append("Direction")
1335 
1336 
1337 def DirectionAngles(l=[]):
1338  return [DirectionAngle(x) for x in l]
1339 _plural_types.append("DirectionAngles")
1340 
1341 
1342 _value_types.append("DirectionAngle")
1343 
1344 
1345 def Surfaces(l=[]):
1346  return [Surface(x) for x in l]
1347 _plural_types.append("Surfaces")
1348 
1349 
1350 _value_types.append("Surface")
1351 
1352 
1353 def Provenances(l=[]):
1354  return [Provenance(x) for x in l]
1355 _plural_types.append("Provenances")
1356 
1357 
1358 _value_types.append("Provenance")
1359 
1360 
1361 def StructureProvenances(l=[]):
1362  return [StructureProvenance(x) for x in l]
1363 _plural_types.append("StructureProvenances")
1364 
1365 
1366 _value_types.append("StructureProvenance")
1367 
1368 
1369 def SampleProvenances(l=[]):
1370  return [SampleProvenance(x) for x in l]
1371 _plural_types.append("SampleProvenances")
1372 
1373 
1374 _value_types.append("SampleProvenance")
1375 
1376 
1377 def ClusterProvenances(l=[]):
1378  return [ClusterProvenance(x) for x in l]
1379 _plural_types.append("ClusterProvenances")
1380 
1381 
1382 _value_types.append("ClusterProvenance")
1383 
1384 
1385 def CombineProvenances(l=[]):
1386  return [CombineProvenance(x) for x in l]
1387 _plural_types.append("CombineProvenances")
1388 
1389 
1390 _value_types.append("CombineProvenance")
1391 
1392 
1393 def FilterProvenances(l=[]):
1394  return [FilterProvenance(x) for x in l]
1395 _plural_types.append("FilterProvenances")
1396 
1397 
1398 _value_types.append("FilterProvenance")
1399 
1400 
1401 def ScriptProvenances(l=[]):
1402  return [ScriptProvenance(x) for x in l]
1403 _plural_types.append("ScriptProvenances")
1404 
1405 
1406 _value_types.append("ScriptProvenance")
1407 
1408 
1409 def SoftwareProvenances(l=[]):
1410  return [SoftwareProvenance(x) for x in l]
1411 _plural_types.append("SoftwareProvenances")
1412 
1413 
1414 _value_types.append("SoftwareProvenance")
1415 
1416 
1417 def Provenanceds(l=[]):
1418  return [Provenanced(x) for x in l]
1419 _plural_types.append("Provenanceds")
1420 
1421 
1422 _value_types.append("Provenanced")
1423 
1424 
1425 HierarchyCounters=list
1426 _plural_types.append("HierarchyCounters")
1427 _value_types.append("HierarchyCounter")
1428 
1429 
1430 HierarchyTraitsList=list
1431 _plural_types.append("HierarchyTraitsList")
1432 _value_types.append("HierarchyTraits")
1433 
1434 
1435 _object_types.append("TruncatedHarmonicBound")
1436 
1437 
1438 def _object_cast_to_TruncatedHarmonicBound(o):
1439  r"""_object_cast_to_TruncatedHarmonicBound(Object o) -> TruncatedHarmonicBound"""
1440  return _IMP_core._object_cast_to_TruncatedHarmonicBound(o)
1441 
1442 _object_types.append("TruncatedHarmonicLowerBound")
1443 
1444 
1445 def _object_cast_to_TruncatedHarmonicLowerBound(o):
1446  r"""_object_cast_to_TruncatedHarmonicLowerBound(Object o) -> TruncatedHarmonicLowerBound"""
1447  return _IMP_core._object_cast_to_TruncatedHarmonicLowerBound(o)
1448 
1449 _object_types.append("TruncatedHarmonicUpperBound")
1450 
1451 
1452 def _object_cast_to_TruncatedHarmonicUpperBound(o):
1453  r"""_object_cast_to_TruncatedHarmonicUpperBound(Object o) -> TruncatedHarmonicUpperBound"""
1454  return _IMP_core._object_cast_to_TruncatedHarmonicUpperBound(o)
1455 
1456 _object_types.append("HarmonicDistancePairScore")
1457 
1458 
1459 def _object_cast_to_HarmonicDistancePairScore(o):
1460  r"""_object_cast_to_HarmonicDistancePairScore(Object o) -> HarmonicDistancePairScore"""
1461  return _IMP_core._object_cast_to_HarmonicDistancePairScore(o)
1462 
1463 _object_types.append("DistancePairScore")
1464 
1465 
1466 def _object_cast_to_DistancePairScore(o):
1467  r"""_object_cast_to_DistancePairScore(Object o) -> DistancePairScore"""
1468  return _IMP_core._object_cast_to_DistancePairScore(o)
1469 
1470 _object_types.append("XYZRGeometry")
1471 
1472 
1473 def _object_cast_to_XYZRGeometry(o):
1474  r"""_object_cast_to_XYZRGeometry(Object o) -> XYZRGeometry"""
1475  return _IMP_core._object_cast_to_XYZRGeometry(o)
1476 
1477 _object_types.append("XYZRsGeometry")
1478 
1479 
1480 def _object_cast_to_XYZRsGeometry(o):
1481  r"""_object_cast_to_XYZRsGeometry(Object o) -> XYZRsGeometry"""
1482  return _IMP_core._object_cast_to_XYZRsGeometry(o)
1483 
1484 _object_types.append("XYZDerivativeGeometry")
1485 
1486 
1487 def _object_cast_to_XYZDerivativeGeometry(o):
1488  r"""_object_cast_to_XYZDerivativeGeometry(Object o) -> XYZDerivativeGeometry"""
1489  return _IMP_core._object_cast_to_XYZDerivativeGeometry(o)
1490 
1491 _object_types.append("XYZDerivativesGeometry")
1492 
1493 
1494 def _object_cast_to_XYZDerivativesGeometry(o):
1495  r"""_object_cast_to_XYZDerivativesGeometry(Object o) -> XYZDerivativesGeometry"""
1496  return _IMP_core._object_cast_to_XYZDerivativesGeometry(o)
1497 
1498 _object_types.append("RigidBodyDerivativeGeometry")
1499 
1500 
1501 def _object_cast_to_RigidBodyDerivativeGeometry(o):
1502  r"""_object_cast_to_RigidBodyDerivativeGeometry(Object o) -> RigidBodyDerivativeGeometry"""
1503  return _IMP_core._object_cast_to_RigidBodyDerivativeGeometry(o)
1504 
1505 _object_types.append("RigidBodyDerivativesGeometry")
1506 
1507 
1508 def _object_cast_to_RigidBodyDerivativesGeometry(o):
1509  r"""_object_cast_to_RigidBodyDerivativesGeometry(Object o) -> RigidBodyDerivativesGeometry"""
1510  return _IMP_core._object_cast_to_RigidBodyDerivativesGeometry(o)
1511 
1512 _object_types.append("RigidBodyHierarchyGeometry")
1513 
1514 
1515 def _object_cast_to_RigidBodyHierarchyGeometry(o):
1516  r"""_object_cast_to_RigidBodyHierarchyGeometry(Object o) -> RigidBodyHierarchyGeometry"""
1517  return _IMP_core._object_cast_to_RigidBodyHierarchyGeometry(o)
1518 
1519 _object_types.append("RigidBodyFrameGeometry")
1520 
1521 
1522 def _object_cast_to_RigidBodyFrameGeometry(o):
1523  r"""_object_cast_to_RigidBodyFrameGeometry(Object o) -> RigidBodyFrameGeometry"""
1524  return _IMP_core._object_cast_to_RigidBodyFrameGeometry(o)
1525 
1526 _object_types.append("RigidBodyFramesGeometry")
1527 
1528 
1529 def _object_cast_to_RigidBodyFramesGeometry(o):
1530  r"""_object_cast_to_RigidBodyFramesGeometry(Object o) -> RigidBodyFramesGeometry"""
1531  return _IMP_core._object_cast_to_RigidBodyFramesGeometry(o)
1532 
1533 _object_types.append("RigidBodyTorque")
1534 
1535 
1536 def _object_cast_to_RigidBodyTorque(o):
1537  r"""_object_cast_to_RigidBodyTorque(Object o) -> RigidBodyTorque"""
1538  return _IMP_core._object_cast_to_RigidBodyTorque(o)
1539 
1540 _object_types.append("EdgePairGeometry")
1541 
1542 
1543 def _object_cast_to_EdgePairGeometry(o):
1544  r"""_object_cast_to_EdgePairGeometry(Object o) -> EdgePairGeometry"""
1545  return _IMP_core._object_cast_to_EdgePairGeometry(o)
1546 
1547 _object_types.append("EdgePairsGeometry")
1548 
1549 
1550 def _object_cast_to_EdgePairsGeometry(o):
1551  r"""_object_cast_to_EdgePairsGeometry(Object o) -> EdgePairsGeometry"""
1552  return _IMP_core._object_cast_to_EdgePairsGeometry(o)
1553 
1554 _object_types.append("SurfaceGeometry")
1555 
1556 
1557 def _object_cast_to_SurfaceGeometry(o):
1558  r"""_object_cast_to_SurfaceGeometry(Object o) -> SurfaceGeometry"""
1559  return _IMP_core._object_cast_to_SurfaceGeometry(o)
1560 
1561 _object_types.append("SurfaceGeometryConstraint")
1562 
1563 
1564 def _object_cast_to_SurfaceGeometryConstraint(o):
1565  r"""_object_cast_to_SurfaceGeometryConstraint(Object o) -> SurfaceGeometryConstraint"""
1566  return _IMP_core._object_cast_to_SurfaceGeometryConstraint(o)
1567 
1568 _object_types.append("AttributeSingletonPredicate")
1569 
1570 
1571 def _object_cast_to_AttributeSingletonPredicate(o):
1572  r"""_object_cast_to_AttributeSingletonPredicate(Object o) -> AttributeSingletonPredicate"""
1573  return _IMP_core._object_cast_to_AttributeSingletonPredicate(o)
1574 
1575 _object_types.append("InBoundingBox3DSingletonPredicate")
1576 
1577 
1578 def _object_cast_to_InBoundingBox3DSingletonPredicate(o):
1579  r"""_object_cast_to_InBoundingBox3DSingletonPredicate(Object o) -> InBoundingBox3DSingletonPredicate"""
1580  return _IMP_core._object_cast_to_InBoundingBox3DSingletonPredicate(o)
1581 
1582 _object_types.append("IsCollisionPairPredicate")
1583 
1584 
1585 def _object_cast_to_IsCollisionPairPredicate(o):
1586  r"""_object_cast_to_IsCollisionPairPredicate(Object o) -> IsCollisionPairPredicate"""
1587  return _IMP_core._object_cast_to_IsCollisionPairPredicate(o)
1588 
1589 BinormalTermList=list
1590 _plural_types.append("BinormalTermList")
1591 _value_types.append("BinormalTerm")
1592 
1593 
1594 _object_types.append("MultipleBinormalRestraint")
1595 
1596 
1597 def _object_cast_to_MultipleBinormalRestraint(o):
1598  r"""_object_cast_to_MultipleBinormalRestraint(Object o) -> MultipleBinormalRestraint"""
1599  return _IMP_core._object_cast_to_MultipleBinormalRestraint(o)
1600 class ClosePairsFinder(IMP._ParticleInputs, IMP.Object):
1601  r"""Proxy of C++ IMP::core::ClosePairsFinder 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, **kwargs):
1606  raise AttributeError("No constructor defined - class is abstract")
1607  __swig_destroy__ = _IMP_core.delete_ClosePairsFinder
1608 
1609  def get_close_pairs(self, *args):
1610  r"""
1611  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
1612  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
1613  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1614  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1615  """
1616  return _IMP_core.ClosePairsFinder_get_close_pairs(self, *args)
1617 
1618  def set_distance(self, d):
1619  r"""set_distance(ClosePairsFinder self, double d)"""
1620  return _IMP_core.ClosePairsFinder_set_distance(self, d)
1621 
1622  def get_distance(self):
1623  r"""get_distance(ClosePairsFinder self) -> double"""
1624  return _IMP_core.ClosePairsFinder_get_distance(self)
1625  def __get_pair_filters(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_pair_filters, getfunc=self.get_pair_filter, erasefunc=self.erase_pair_filter, appendfunc=self.add_pair_filter, extendfunc=self.add_pair_filters, clearfunc=self.clear_pair_filters, indexfunc=self._python_index_pair_filter)
1626  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
1627  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
1628  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
1629 
1630  def remove_pair_filter(self, d):
1631  r"""remove_pair_filter(ClosePairsFinder self, PairPredicate d)"""
1632  return _IMP_core.ClosePairsFinder_remove_pair_filter(self, d)
1633 
1634  def _python_index_pair_filter(self, d, start, stop):
1635  r"""_python_index_pair_filter(ClosePairsFinder self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
1636  return _IMP_core.ClosePairsFinder__python_index_pair_filter(self, d, start, stop)
1637 
1638  def remove_pair_filters(self, d):
1639  r"""remove_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & d)"""
1640  return _IMP_core.ClosePairsFinder_remove_pair_filters(self, d)
1641 
1642  def set_pair_filters(self, ps):
1643  r"""set_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & ps)"""
1644  return _IMP_core.ClosePairsFinder_set_pair_filters(self, ps)
1645 
1646  def set_pair_filters_order(self, objs):
1647  r"""set_pair_filters_order(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1648  return _IMP_core.ClosePairsFinder_set_pair_filters_order(self, objs)
1649 
1650  def add_pair_filter(self, obj):
1651  r"""add_pair_filter(ClosePairsFinder self, PairPredicate obj) -> unsigned int"""
1652  return _IMP_core.ClosePairsFinder_add_pair_filter(self, obj)
1653 
1654  def add_pair_filters(self, objs):
1655  r"""add_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1656  return _IMP_core.ClosePairsFinder_add_pair_filters(self, objs)
1657 
1658  def clear_pair_filters(self):
1659  r"""clear_pair_filters(ClosePairsFinder self)"""
1660  return _IMP_core.ClosePairsFinder_clear_pair_filters(self)
1661 
1662  def get_number_of_pair_filters(self):
1663  r"""get_number_of_pair_filters(ClosePairsFinder self) -> unsigned int"""
1664  return _IMP_core.ClosePairsFinder_get_number_of_pair_filters(self)
1665 
1666  def get_has_pair_filters(self):
1667  r"""get_has_pair_filters(ClosePairsFinder self) -> bool"""
1668  return _IMP_core.ClosePairsFinder_get_has_pair_filters(self)
1669 
1670  def get_pair_filter(self, i):
1671  r"""get_pair_filter(ClosePairsFinder self, unsigned int i) -> PairPredicate"""
1672  return _IMP_core.ClosePairsFinder_get_pair_filter(self, i)
1673 
1674  def get_pair_filters(self):
1675  r"""get_pair_filters(ClosePairsFinder self) -> IMP::PairPredicates"""
1676  return _IMP_core.ClosePairsFinder_get_pair_filters(self)
1677 
1678  def erase_pair_filter(self, i):
1679  r"""erase_pair_filter(ClosePairsFinder self, unsigned int i)"""
1680  return _IMP_core.ClosePairsFinder_erase_pair_filter(self, i)
1681 
1682  def reserve_pair_filters(self, sz):
1683  r"""reserve_pair_filters(ClosePairsFinder self, unsigned int sz)"""
1684  return _IMP_core.ClosePairsFinder_reserve_pair_filters(self, sz)
1685 
1686  def __str__(self):
1687  r"""__str__(ClosePairsFinder self) -> std::string"""
1688  return _IMP_core.ClosePairsFinder___str__(self)
1689 
1690  def __repr__(self):
1691  r"""__repr__(ClosePairsFinder self) -> std::string"""
1692  return _IMP_core.ClosePairsFinder___repr__(self)
1693 
1694  @staticmethod
1695  def get_from(o):
1696  return _object_cast_to_ClosePairsFinder(o)
1697 
1698 
1699 # Register ClosePairsFinder in _IMP_core:
1700 _IMP_core.ClosePairsFinder_swigregister(ClosePairsFinder)
1701 class MonteCarloMoverResult(IMP._Value):
1702  r"""Proxy of C++ IMP::core::MonteCarloMoverResult class."""
1703 
1704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1705 
1706  def __init__(self, *args):
1707  r"""__init__(MonteCarloMoverResult self, IMP::ParticleIndexes i0=IMP::ParticleIndexes(), double i1=double()) -> MonteCarloMoverResult"""
1708  _IMP_core.MonteCarloMoverResult_swiginit(self, _IMP_core.new_MonteCarloMoverResult(*args))
1709 
1710  def __hash__(self):
1711  r"""__hash__(MonteCarloMoverResult self) -> std::size_t"""
1712  return _IMP_core.MonteCarloMoverResult___hash__(self)
1713 
1714  def show(self, *args):
1715  r"""show(MonteCarloMoverResult self, _ostream out=std::cout)"""
1716  return _IMP_core.MonteCarloMoverResult_show(self, *args)
1717 
1718  def __cmp__(self, o):
1719  r"""__cmp__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> int"""
1720  return _IMP_core.MonteCarloMoverResult___cmp__(self, o)
1721 
1722  def __eq__(self, o):
1723  r"""__eq__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1724  return _IMP_core.MonteCarloMoverResult___eq__(self, o)
1725 
1726  def __ne__(self, o):
1727  r"""__ne__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1728  return _IMP_core.MonteCarloMoverResult___ne__(self, o)
1729 
1730  def __lt__(self, o):
1731  r"""__lt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1732  return _IMP_core.MonteCarloMoverResult___lt__(self, o)
1733 
1734  def __gt__(self, o):
1735  r"""__gt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1736  return _IMP_core.MonteCarloMoverResult___gt__(self, o)
1737 
1738  def __ge__(self, o):
1739  r"""__ge__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1740  return _IMP_core.MonteCarloMoverResult___ge__(self, o)
1741 
1742  def __le__(self, o):
1743  r"""__le__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1744  return _IMP_core.MonteCarloMoverResult___le__(self, o)
1745 
1746  def get_moved_particles(self):
1747  r"""get_moved_particles(MonteCarloMoverResult self) -> IMP::ParticleIndexes const &"""
1748  return _IMP_core.MonteCarloMoverResult_get_moved_particles(self)
1749 
1750  def set_moved_particles(self, v):
1751  r"""set_moved_particles(MonteCarloMoverResult self, IMP::ParticleIndexes const & v)"""
1752  return _IMP_core.MonteCarloMoverResult_set_moved_particles(self, v)
1753 
1754  def get_proposal_ratio(self):
1755  r"""get_proposal_ratio(MonteCarloMoverResult self) -> double const &"""
1756  return _IMP_core.MonteCarloMoverResult_get_proposal_ratio(self)
1757 
1758  def set_proposal_ratio(self, v):
1759  r"""set_proposal_ratio(MonteCarloMoverResult self, double const & v)"""
1760  return _IMP_core.MonteCarloMoverResult_set_proposal_ratio(self, v)
1761 
1762  def __str__(self):
1763  r"""__str__(MonteCarloMoverResult self) -> std::string"""
1764  return _IMP_core.MonteCarloMoverResult___str__(self)
1765 
1766  def __repr__(self):
1767  r"""__repr__(MonteCarloMoverResult self) -> std::string"""
1768  return _IMP_core.MonteCarloMoverResult___repr__(self)
1769  __swig_destroy__ = _IMP_core.delete_MonteCarloMoverResult
1770 
1771 # Register MonteCarloMoverResult in _IMP_core:
1772 _IMP_core.MonteCarloMoverResult_swigregister(MonteCarloMoverResult)
1773 class MonteCarloMover(IMP.ModelObject):
1774  r"""Proxy of C++ IMP::core::MonteCarloMover class."""
1775 
1776  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1777 
1778  def __init__(self, *args):
1779  r"""
1780  __init__(MonteCarloMover self, Model m, std::string name) -> MonteCarloMover
1781  __init__(MonteCarloMover self) -> MonteCarloMover
1782  """
1783  if self.__class__ == MonteCarloMover:
1784  _self = None
1785  else:
1786  _self = self
1787  _IMP_core.MonteCarloMover_swiginit(self, _IMP_core.new_MonteCarloMover(_self, *args))
1788 
1789  if self.__class__ != MonteCarloMover:
1790  _director_objects.register(self)
1791 
1792 
1793 
1794 
1795  def propose(self):
1796  r"""propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1797  return _IMP_core.MonteCarloMover_propose(self)
1798 
1799  def reject(self):
1800  r"""reject(MonteCarloMover self)"""
1801  return _IMP_core.MonteCarloMover_reject(self)
1802 
1803  def accept(self):
1804  r"""accept(MonteCarloMover self)"""
1805  return _IMP_core.MonteCarloMover_accept(self)
1806 
1807  def get_number_of_proposed(self):
1808  r"""get_number_of_proposed(MonteCarloMover self) -> unsigned int"""
1809  return _IMP_core.MonteCarloMover_get_number_of_proposed(self)
1810 
1811  def get_number_of_accepted(self):
1812  r"""get_number_of_accepted(MonteCarloMover self) -> unsigned int"""
1813  return _IMP_core.MonteCarloMover_get_number_of_accepted(self)
1814 
1815  def reset_statistics(self):
1816  r"""reset_statistics(MonteCarloMover self)"""
1817  return _IMP_core.MonteCarloMover_reset_statistics(self)
1818 
1819  def add_to_statistics(self, num_proposed, num_rejected):
1820  r"""add_to_statistics(MonteCarloMover self, unsigned int num_proposed, unsigned int num_rejected)"""
1821  return _IMP_core.MonteCarloMover_add_to_statistics(self, num_proposed, num_rejected)
1822 
1823  def do_propose(self):
1824  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1825  return _IMP_core.MonteCarloMover_do_propose(self)
1826 
1827  def do_reject(self):
1828  r"""do_reject(MonteCarloMover self)"""
1829  return _IMP_core.MonteCarloMover_do_reject(self)
1830 
1831  def do_accept(self):
1832  r"""do_accept(MonteCarloMover self)"""
1833  return _IMP_core.MonteCarloMover_do_accept(self)
1834 
1835  def do_get_outputs(self):
1836  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1837  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1838 
1839  def __str__(self):
1840  r"""__str__(MonteCarloMover self) -> std::string"""
1841  return _IMP_core.MonteCarloMover___str__(self)
1842 
1843  def __repr__(self):
1844  r"""__repr__(MonteCarloMover self) -> std::string"""
1845  return _IMP_core.MonteCarloMover___repr__(self)
1846 
1847  @staticmethod
1848  def get_from(o):
1849  return _object_cast_to_MonteCarloMover(o)
1850 
1851 
1852  def do_show(self, out):
1853  pass
1854 
1855  @staticmethod
1856  def get_from(o):
1857  return _object_cast_to_MonteCarloMover(o)
1858 
1859 
1860  def _get_jax(self):
1861  """Return a JAX implementation of this mover.
1862  Implement this method in a MonteCarloMover subclass to provide
1863  equivalent functionality using [JAX](https://docs.jax.dev/).
1864  See _wrap_jax for more information.
1865  """
1866  raise NotImplementedError(f"No JAX implementation for {self}")
1867 
1868  def _wrap_jax(self, init_func, propose_func, accept_func=None,
1869  sync_func=None, keys=None):
1870  """Create the return value for _get_jax.
1871  Use this method in _get_jax() to wrap the JAX functions
1872  with other mover-specific information.
1873 
1874  @param init_func a JAX function which is used to initialize this
1875  mover. It is called with a single argument, a fresh JAX
1876  random key, and should return a persistent state object.
1877  This object may be the key itself, or any other Python object
1878  that JAX understands.
1879  @param propose_func a JAX function which is called with the current
1880  JAX Model and the mover's persistent state object.
1881  It should return a new JAX Model with the move applied,
1882  a new persistent state, and the proposal ratio. If the move
1883  is rejected then the new JAX Model will be discarded.
1884  However, the mover's persistent state is updated for both
1885  accepted and rejected moves.
1886  @param accept_func if provided, a JAX function which is called
1887  after each accepted Monte Carlo move, with the persistent
1888  state object. It should return a new persistent state.
1889  @param sync_func If provided, a Python function which is called
1890  at the end of a Monte Carlo sampling run to sync mover
1891  data back to IMP. It is called with the persistent state
1892  and the IMP Mover object.
1893  @param keys If given, a set of IMP::Key objects describing Model
1894  attributes (other than xyz and radius) that are altered
1895  by this mover.
1896  """
1897  from IMP.core._jax_util import JAXMoverInfo
1898  return JAXMoverInfo(init_func, propose_func, accept_func, sync_func,
1899  keys)
1900 
1901  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1902  def __disown__(self):
1903  self.this.disown()
1904  _IMP_core.disown_MonteCarloMover(self)
1905  return weakref.proxy(self)
1906 
1907  def do_destroy(self):
1908  r"""do_destroy(MonteCarloMover self)"""
1909  return _IMP_core.MonteCarloMover_do_destroy(self)
1910 
1911  def handle_set_has_required_score_states(self, arg0):
1912  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1913  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1914 
1915  def do_get_inputs(self):
1916  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1917  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1918 
1919  def do_get_interactions(self):
1920  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1921  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1922 
1923 # Register MonteCarloMover in _IMP_core:
1924 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1925 class XYZ(IMP.Decorator):
1926  r"""Proxy of C++ IMP::core::XYZ class."""
1927 
1928  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1929 
1930  @staticmethod
1931  def get_coordinate_key(i):
1932  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1933  return _IMP_core.XYZ_get_coordinate_key(i)
1934 
1935  def __init__(self, *args):
1936  r"""
1937  __init__(XYZ self) -> XYZ
1938  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1939  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1940  """
1941  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1942 
1943  def show(self, *args):
1944  r"""show(XYZ self, _ostream out=std::cout)"""
1945  return _IMP_core.XYZ_show(self, *args)
1946 
1947  @staticmethod
1948  def setup_particle(*args):
1949  r"""
1950  setup_particle(Model m, ParticleIndex pi) -> XYZ
1951  setup_particle(_ParticleAdaptor pa) -> XYZ
1952  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1953  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1954  """
1955  return _IMP_core.XYZ_setup_particle(*args)
1956 
1957  def get_x(self):
1958  r"""get_x(XYZ self) -> IMP::Float"""
1959  return _IMP_core.XYZ_get_x(self)
1960 
1961  def set_x(self, t):
1962  r"""set_x(XYZ self, IMP::Float t)"""
1963  return _IMP_core.XYZ_set_x(self, t)
1964 
1965  def get_y(self):
1966  r"""get_y(XYZ self) -> IMP::Float"""
1967  return _IMP_core.XYZ_get_y(self)
1968 
1969  def set_y(self, t):
1970  r"""set_y(XYZ self, IMP::Float t)"""
1971  return _IMP_core.XYZ_set_y(self, t)
1972 
1973  def get_z(self):
1974  r"""get_z(XYZ self) -> IMP::Float"""
1975  return _IMP_core.XYZ_get_z(self)
1976 
1977  def set_z(self, t):
1978  r"""set_z(XYZ self, IMP::Float t)"""
1979  return _IMP_core.XYZ_set_z(self, t)
1980 
1981  def set_coordinate(self, i, v):
1982  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1983  return _IMP_core.XYZ_set_coordinate(self, i, v)
1984 
1985  def set_coordinates(self, v):
1986  r"""set_coordinates(XYZ self, Vector3D v)"""
1987  return _IMP_core.XYZ_set_coordinates(self, v)
1988 
1989  def get_coordinate(self, i):
1990  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1991  return _IMP_core.XYZ_get_coordinate(self, i)
1992 
1993  def add_to_derivatives(self, v, d):
1994  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1995  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1996 
1997  def get_coordinates_are_optimized(self):
1998  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1999  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
2000 
2001  def set_coordinates_are_optimized(self, tf):
2002  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
2003  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
2004 
2005  def get_vector_to(self, b):
2006  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
2007  return _IMP_core.XYZ_get_vector_to(self, b)
2008 
2009  def get_coordinates(self):
2010  r"""get_coordinates(XYZ self) -> Vector3D"""
2011  return _IMP_core.XYZ_get_coordinates(self)
2012 
2013  def get_derivatives(self):
2014  r"""get_derivatives(XYZ self) -> Vector3D"""
2015  return _IMP_core.XYZ_get_derivatives(self)
2016 
2017  @staticmethod
2018  def get_is_setup(*args):
2019  r"""
2020  get_is_setup(_ParticleAdaptor p) -> bool
2021  get_is_setup(Model m, ParticleIndex pi) -> bool
2022  """
2023  return _IMP_core.XYZ_get_is_setup(*args)
2024 
2025  @staticmethod
2026  def get_xyz_keys():
2027  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2028  return _IMP_core.XYZ_get_xyz_keys()
2029 
2030  def add_attribute(self, *args):
2031  r"""
2032  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2033  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2034  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2035  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2036  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2037  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2038  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2039  add_attribute(XYZ self, ObjectKey a0, Object a1)
2040  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2041  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2042  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2043  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2044  """
2045  return _IMP_core.XYZ_add_attribute(self, *args)
2046 
2047  def get_value(self, *args):
2048  r"""
2049  get_value(XYZ self, FloatKey a0) -> IMP::Float
2050  get_value(XYZ self, IntKey a0) -> IMP::Int
2051  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2052  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2053  get_value(XYZ self, StringKey a0) -> IMP::String
2054  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2055  get_value(XYZ self, ObjectKey a0) -> Object
2056  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2057  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2058  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2059  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2060  """
2061  return _IMP_core.XYZ_get_value(self, *args)
2062 
2063  def set_value(self, *args):
2064  r"""
2065  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2066  set_value(XYZ self, IntKey a0, IMP::Int a1)
2067  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2068  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2069  set_value(XYZ self, StringKey a0, IMP::String a1)
2070  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2071  set_value(XYZ self, ObjectKey a0, Object a1)
2072  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2073  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2074  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2075  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2076  """
2077  return _IMP_core.XYZ_set_value(self, *args)
2078 
2079  def remove_attribute(self, *args):
2080  r"""
2081  remove_attribute(XYZ self, FloatKey a0)
2082  remove_attribute(XYZ self, IntKey a0)
2083  remove_attribute(XYZ self, FloatsKey a0)
2084  remove_attribute(XYZ self, IntsKey a0)
2085  remove_attribute(XYZ self, StringKey a0)
2086  remove_attribute(XYZ self, ParticleIndexKey a0)
2087  remove_attribute(XYZ self, ObjectKey a0)
2088  remove_attribute(XYZ self, SparseFloatKey a0)
2089  remove_attribute(XYZ self, SparseIntKey a0)
2090  remove_attribute(XYZ self, SparseStringKey a0)
2091  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2092  """
2093  return _IMP_core.XYZ_remove_attribute(self, *args)
2094 
2095  def has_attribute(self, *args):
2096  r"""
2097  has_attribute(XYZ self, FloatKey a0) -> bool
2098  has_attribute(XYZ self, IntKey a0) -> bool
2099  has_attribute(XYZ self, FloatsKey a0) -> bool
2100  has_attribute(XYZ self, IntsKey a0) -> bool
2101  has_attribute(XYZ self, StringKey a0) -> bool
2102  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2103  has_attribute(XYZ self, ObjectKey a0) -> bool
2104  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2105  has_attribute(XYZ self, SparseIntKey a0) -> bool
2106  has_attribute(XYZ self, SparseStringKey a0) -> bool
2107  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2108  """
2109  return _IMP_core.XYZ_has_attribute(self, *args)
2110 
2111  def get_derivative(self, *args):
2112  r"""
2113  get_derivative(XYZ self, int i) -> IMP::Float
2114  get_derivative(XYZ self, FloatKey a0) -> double
2115  """
2116  return _IMP_core.XYZ_get_derivative(self, *args)
2117 
2118  def get_name(self):
2119  r"""get_name(XYZ self) -> std::string"""
2120  return _IMP_core.XYZ_get_name(self)
2121 
2122  def clear_caches(self):
2123  r"""clear_caches(XYZ self)"""
2124  return _IMP_core.XYZ_clear_caches(self)
2125 
2126  def set_name(self, a0):
2127  r"""set_name(XYZ self, std::string a0)"""
2128  return _IMP_core.XYZ_set_name(self, a0)
2129 
2130  def set_check_level(self, a0):
2131  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2132  return _IMP_core.XYZ_set_check_level(self, a0)
2133 
2134  def add_to_derivative(self, *args):
2135  r"""
2136  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2137  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2138  """
2139  return _IMP_core.XYZ_add_to_derivative(self, *args)
2140 
2141  def set_is_optimized(self, a0, a1):
2142  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2143  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2144 
2145  def get_is_optimized(self, a0):
2146  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2147  return _IMP_core.XYZ_get_is_optimized(self, a0)
2148 
2149  def get_check_level(self):
2150  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2151  return _IMP_core.XYZ_get_check_level(self)
2152 
2153  def __eq__(self, *args):
2154  r"""
2155  __eq__(XYZ self, XYZ o) -> bool
2156  __eq__(XYZ self, Particle d) -> bool
2157  """
2158  return _IMP_core.XYZ___eq__(self, *args)
2159 
2160  def __ne__(self, *args):
2161  r"""
2162  __ne__(XYZ self, XYZ o) -> bool
2163  __ne__(XYZ self, Particle d) -> bool
2164  """
2165  return _IMP_core.XYZ___ne__(self, *args)
2166 
2167  def __le__(self, *args):
2168  r"""
2169  __le__(XYZ self, XYZ o) -> bool
2170  __le__(XYZ self, Particle d) -> bool
2171  """
2172  return _IMP_core.XYZ___le__(self, *args)
2173 
2174  def __lt__(self, *args):
2175  r"""
2176  __lt__(XYZ self, XYZ o) -> bool
2177  __lt__(XYZ self, Particle d) -> bool
2178  """
2179  return _IMP_core.XYZ___lt__(self, *args)
2180 
2181  def __ge__(self, *args):
2182  r"""
2183  __ge__(XYZ self, XYZ o) -> bool
2184  __ge__(XYZ self, Particle d) -> bool
2185  """
2186  return _IMP_core.XYZ___ge__(self, *args)
2187 
2188  def __gt__(self, *args):
2189  r"""
2190  __gt__(XYZ self, XYZ o) -> bool
2191  __gt__(XYZ self, Particle d) -> bool
2192  """
2193  return _IMP_core.XYZ___gt__(self, *args)
2194 
2195  def __hash__(self):
2196  r"""__hash__(XYZ self) -> std::size_t"""
2197  return _IMP_core.XYZ___hash__(self)
2198 
2199  def __str__(self):
2200  r"""__str__(XYZ self) -> std::string"""
2201  return _IMP_core.XYZ___str__(self)
2202 
2203  def __repr__(self):
2204  r"""__repr__(XYZ self) -> std::string"""
2205  return _IMP_core.XYZ___repr__(self)
2206 
2207  def _get_as_binary(self):
2208  r"""_get_as_binary(XYZ self) -> PyObject *"""
2209  return _IMP_core.XYZ__get_as_binary(self)
2210 
2211  def _set_from_binary(self, p):
2212  r"""_set_from_binary(XYZ self, PyObject * p)"""
2213  return _IMP_core.XYZ__set_from_binary(self, p)
2214 
2215  def __getstate__(self):
2216  p = self._get_as_binary()
2217  if len(self.__dict__) > 1:
2218  d = self.__dict__.copy()
2219  del d['this']
2220  p = (d, p)
2221  return p
2222 
2223  def __setstate__(self, p):
2224  if not hasattr(self, 'this'):
2225  self.__init__()
2226  if isinstance(p, tuple):
2227  d, p = p
2228  self.__dict__.update(d)
2229  return self._set_from_binary(p)
2230 
2231  __swig_destroy__ = _IMP_core.delete_XYZ
2232 
2233 # Register XYZ in _IMP_core:
2234 _IMP_core.XYZ_swigregister(XYZ)
2235 
2236 def set_vector_geometry(d, v):
2237  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2238  return _IMP_core.set_vector_geometry(d, v)
2239 
2240 def get_vector_geometry(d):
2241  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2242  return _IMP_core.get_vector_geometry(d)
2243 
2244 def get_dihedral(a, b, c, d):
2245  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2246  return _IMP_core.get_dihedral(a, b, c, d)
2247 class XYZR(XYZ):
2248  r"""Proxy of C++ IMP::core::XYZR class."""
2249 
2250  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2251 
2252  def __init__(self, *args):
2253  r"""
2254  __init__(XYZR self) -> XYZR
2255  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2256  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2257  """
2258  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2259 
2260  def show(self, *args):
2261  r"""show(XYZR self, _ostream out=std::cout)"""
2262  return _IMP_core.XYZR_show(self, *args)
2263 
2264  @staticmethod
2265  def setup_particle(*args):
2266  r"""
2267  setup_particle(Model m, ParticleIndex pi) -> XYZR
2268  setup_particle(_ParticleAdaptor pa) -> XYZR
2269  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2270  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2271  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2272  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2273  """
2274  return _IMP_core.XYZR_setup_particle(*args)
2275 
2276  @staticmethod
2277  def get_is_setup(*args):
2278  r"""
2279  get_is_setup(_ParticleAdaptor p) -> bool
2280  get_is_setup(Model m, ParticleIndex pi) -> bool
2281  """
2282  return _IMP_core.XYZR_get_is_setup(*args)
2283 
2284  def get_radius(self):
2285  r"""get_radius(XYZR self) -> double"""
2286  return _IMP_core.XYZR_get_radius(self)
2287 
2288  def set_radius(self, r):
2289  r"""set_radius(XYZR self, double r)"""
2290  return _IMP_core.XYZR_set_radius(self, r)
2291 
2292  def get_sphere(self):
2293  r"""get_sphere(XYZR self) -> Sphere3D"""
2294  return _IMP_core.XYZR_get_sphere(self)
2295 
2296  def set_sphere(self, s):
2297  r"""set_sphere(XYZR self, Sphere3D s)"""
2298  return _IMP_core.XYZR_set_sphere(self, s)
2299 
2300  @staticmethod
2301  def get_radius_key():
2302  r"""get_radius_key() -> FloatKey"""
2303  return _IMP_core.XYZR_get_radius_key()
2304 
2305  def add_to_radius_derivative(self, v, d):
2306  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2307  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2308 
2309  def add_attribute(self, *args):
2310  r"""
2311  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2312  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2313  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2314  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2315  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2316  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2317  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2318  add_attribute(XYZR self, ObjectKey a0, Object a1)
2319  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2320  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2321  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2322  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2323  """
2324  return _IMP_core.XYZR_add_attribute(self, *args)
2325 
2326  def get_value(self, *args):
2327  r"""
2328  get_value(XYZR self, FloatKey a0) -> IMP::Float
2329  get_value(XYZR self, IntKey a0) -> IMP::Int
2330  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2331  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2332  get_value(XYZR self, StringKey a0) -> IMP::String
2333  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2334  get_value(XYZR self, ObjectKey a0) -> Object
2335  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2336  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2337  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2338  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2339  """
2340  return _IMP_core.XYZR_get_value(self, *args)
2341 
2342  def set_value(self, *args):
2343  r"""
2344  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2345  set_value(XYZR self, IntKey a0, IMP::Int a1)
2346  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2347  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2348  set_value(XYZR self, StringKey a0, IMP::String a1)
2349  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2350  set_value(XYZR self, ObjectKey a0, Object a1)
2351  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2352  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2353  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2354  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2355  """
2356  return _IMP_core.XYZR_set_value(self, *args)
2357 
2358  def remove_attribute(self, *args):
2359  r"""
2360  remove_attribute(XYZR self, FloatKey a0)
2361  remove_attribute(XYZR self, IntKey a0)
2362  remove_attribute(XYZR self, FloatsKey a0)
2363  remove_attribute(XYZR self, IntsKey a0)
2364  remove_attribute(XYZR self, StringKey a0)
2365  remove_attribute(XYZR self, ParticleIndexKey a0)
2366  remove_attribute(XYZR self, ObjectKey a0)
2367  remove_attribute(XYZR self, SparseFloatKey a0)
2368  remove_attribute(XYZR self, SparseIntKey a0)
2369  remove_attribute(XYZR self, SparseStringKey a0)
2370  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2371  """
2372  return _IMP_core.XYZR_remove_attribute(self, *args)
2373 
2374  def has_attribute(self, *args):
2375  r"""
2376  has_attribute(XYZR self, FloatKey a0) -> bool
2377  has_attribute(XYZR self, IntKey a0) -> bool
2378  has_attribute(XYZR self, FloatsKey a0) -> bool
2379  has_attribute(XYZR self, IntsKey a0) -> bool
2380  has_attribute(XYZR self, StringKey a0) -> bool
2381  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2382  has_attribute(XYZR self, ObjectKey a0) -> bool
2383  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2384  has_attribute(XYZR self, SparseIntKey a0) -> bool
2385  has_attribute(XYZR self, SparseStringKey a0) -> bool
2386  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2387  """
2388  return _IMP_core.XYZR_has_attribute(self, *args)
2389 
2390  def get_derivative(self, a0):
2391  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2392  return _IMP_core.XYZR_get_derivative(self, a0)
2393 
2394  def get_name(self):
2395  r"""get_name(XYZR self) -> std::string"""
2396  return _IMP_core.XYZR_get_name(self)
2397 
2398  def clear_caches(self):
2399  r"""clear_caches(XYZR self)"""
2400  return _IMP_core.XYZR_clear_caches(self)
2401 
2402  def set_name(self, a0):
2403  r"""set_name(XYZR self, std::string a0)"""
2404  return _IMP_core.XYZR_set_name(self, a0)
2405 
2406  def set_check_level(self, a0):
2407  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2408  return _IMP_core.XYZR_set_check_level(self, a0)
2409 
2410  def add_to_derivative(self, a0, a1, a2):
2411  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2412  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2413 
2414  def set_is_optimized(self, a0, a1):
2415  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2416  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2417 
2418  def get_is_optimized(self, a0):
2419  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2420  return _IMP_core.XYZR_get_is_optimized(self, a0)
2421 
2422  def get_check_level(self):
2423  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2424  return _IMP_core.XYZR_get_check_level(self)
2425 
2426  def __eq__(self, *args):
2427  r"""
2428  __eq__(XYZR self, XYZR o) -> bool
2429  __eq__(XYZR self, Particle d) -> bool
2430  """
2431  return _IMP_core.XYZR___eq__(self, *args)
2432 
2433  def __ne__(self, *args):
2434  r"""
2435  __ne__(XYZR self, XYZR o) -> bool
2436  __ne__(XYZR self, Particle d) -> bool
2437  """
2438  return _IMP_core.XYZR___ne__(self, *args)
2439 
2440  def __le__(self, *args):
2441  r"""
2442  __le__(XYZR self, XYZR o) -> bool
2443  __le__(XYZR self, Particle d) -> bool
2444  """
2445  return _IMP_core.XYZR___le__(self, *args)
2446 
2447  def __lt__(self, *args):
2448  r"""
2449  __lt__(XYZR self, XYZR o) -> bool
2450  __lt__(XYZR self, Particle d) -> bool
2451  """
2452  return _IMP_core.XYZR___lt__(self, *args)
2453 
2454  def __ge__(self, *args):
2455  r"""
2456  __ge__(XYZR self, XYZR o) -> bool
2457  __ge__(XYZR self, Particle d) -> bool
2458  """
2459  return _IMP_core.XYZR___ge__(self, *args)
2460 
2461  def __gt__(self, *args):
2462  r"""
2463  __gt__(XYZR self, XYZR o) -> bool
2464  __gt__(XYZR self, Particle d) -> bool
2465  """
2466  return _IMP_core.XYZR___gt__(self, *args)
2467 
2468  def __hash__(self):
2469  r"""__hash__(XYZR self) -> std::size_t"""
2470  return _IMP_core.XYZR___hash__(self)
2471 
2472  def __str__(self):
2473  r"""__str__(XYZR self) -> std::string"""
2474  return _IMP_core.XYZR___str__(self)
2475 
2476  def __repr__(self):
2477  r"""__repr__(XYZR self) -> std::string"""
2478  return _IMP_core.XYZR___repr__(self)
2479 
2480  def _get_as_binary(self):
2481  r"""_get_as_binary(XYZR self) -> PyObject *"""
2482  return _IMP_core.XYZR__get_as_binary(self)
2483 
2484  def _set_from_binary(self, p):
2485  r"""_set_from_binary(XYZR self, PyObject * p)"""
2486  return _IMP_core.XYZR__set_from_binary(self, p)
2487 
2488  def __getstate__(self):
2489  p = self._get_as_binary()
2490  if len(self.__dict__) > 1:
2491  d = self.__dict__.copy()
2492  del d['this']
2493  p = (d, p)
2494  return p
2495 
2496  def __setstate__(self, p):
2497  if not hasattr(self, 'this'):
2498  self.__init__()
2499  if isinstance(p, tuple):
2500  d, p = p
2501  self.__dict__.update(d)
2502  return self._set_from_binary(p)
2503 
2504  __swig_destroy__ = _IMP_core.delete_XYZR
2505 
2506 # Register XYZR in _IMP_core:
2507 _IMP_core.XYZR_swigregister(XYZR)
2508 
2509 def set_enclosing_sphere(b, v, slack=0):
2510  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2511  return _IMP_core.set_enclosing_sphere(b, v, slack)
2512 
2513 def set_enclosing_radius(b, v):
2514  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2515  return _IMP_core.set_enclosing_radius(b, v)
2516 
2517 def get_enclosing_sphere(v):
2518  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2519  return _IMP_core.get_enclosing_sphere(v)
2520 
2521 def create_xyzr_particles(m, num, radius, box_side=10):
2522  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2523  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2524 class XYZRGeometry(IMP.display.SingletonGeometry):
2525  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2526 
2527  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2528 
2529  def __init__(self, *args):
2530  r"""
2531  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2532  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2533  """
2534  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2535 
2536  def get_version_info(self):
2537  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2538  return _IMP_core.XYZRGeometry_get_version_info(self)
2539  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2540 
2541  def __str__(self):
2542  r"""__str__(XYZRGeometry self) -> std::string"""
2543  return _IMP_core.XYZRGeometry___str__(self)
2544 
2545  def __repr__(self):
2546  r"""__repr__(XYZRGeometry self) -> std::string"""
2547  return _IMP_core.XYZRGeometry___repr__(self)
2548 
2549  @staticmethod
2550  def get_from(o):
2551  return _object_cast_to_XYZRGeometry(o)
2552 
2553 
2554 # Register XYZRGeometry in _IMP_core:
2555 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2556 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2557  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2558 
2559  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2560 
2561  def __init__(self, sc):
2562  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2563  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2564 
2565  def get_version_info(self):
2566  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2567  return _IMP_core.XYZRsGeometry_get_version_info(self)
2568  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2569 
2570  def __str__(self):
2571  r"""__str__(XYZRsGeometry self) -> std::string"""
2572  return _IMP_core.XYZRsGeometry___str__(self)
2573 
2574  def __repr__(self):
2575  r"""__repr__(XYZRsGeometry self) -> std::string"""
2576  return _IMP_core.XYZRsGeometry___repr__(self)
2577 
2578  @staticmethod
2579  def get_from(o):
2580  return _object_cast_to_XYZRsGeometry(o)
2581 
2582 
2583 # Register XYZRsGeometry in _IMP_core:
2584 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2585 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2586  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2587 
2588  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2589 
2590  def __init__(self, *args):
2591  r"""
2592  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2593  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2594  """
2595  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2596 
2597  def get_version_info(self):
2598  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2599  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2600  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2601 
2602  def __str__(self):
2603  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2604  return _IMP_core.XYZDerivativeGeometry___str__(self)
2605 
2606  def __repr__(self):
2607  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2608  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2609 
2610  @staticmethod
2611  def get_from(o):
2612  return _object_cast_to_XYZDerivativeGeometry(o)
2613 
2614 
2615 # Register XYZDerivativeGeometry in _IMP_core:
2616 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2617 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2618  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2619 
2620  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2621 
2622  def __init__(self, sc):
2623  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2624  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2625 
2626  def get_version_info(self):
2627  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2628  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2629  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2630 
2631  def __str__(self):
2632  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2633  return _IMP_core.XYZDerivativesGeometry___str__(self)
2634 
2635  def __repr__(self):
2636  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2637  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2638 
2639  @staticmethod
2640  def get_from(o):
2641  return _object_cast_to_XYZDerivativesGeometry(o)
2642 
2643 
2644 # Register XYZDerivativesGeometry in _IMP_core:
2645 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2646 class EdgePairGeometry(IMP.display.PairGeometry):
2647  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2648 
2649  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2650 
2651  def __init__(self, pp):
2652  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2653  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2654 
2655  def get_version_info(self):
2656  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2657  return _IMP_core.EdgePairGeometry_get_version_info(self)
2658  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2659 
2660  def __str__(self):
2661  r"""__str__(EdgePairGeometry self) -> std::string"""
2662  return _IMP_core.EdgePairGeometry___str__(self)
2663 
2664  def __repr__(self):
2665  r"""__repr__(EdgePairGeometry self) -> std::string"""
2666  return _IMP_core.EdgePairGeometry___repr__(self)
2667 
2668  @staticmethod
2669  def get_from(o):
2670  return _object_cast_to_EdgePairGeometry(o)
2671 
2672 
2673 # Register EdgePairGeometry in _IMP_core:
2674 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2675 class EdgePairsGeometry(IMP.display.PairsGeometry):
2676  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2677 
2678  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2679 
2680  def __init__(self, sc):
2681  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2682  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2683 
2684  def get_version_info(self):
2685  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2686  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2687  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2688 
2689  def __str__(self):
2690  r"""__str__(EdgePairsGeometry self) -> std::string"""
2691  return _IMP_core.EdgePairsGeometry___str__(self)
2692 
2693  def __repr__(self):
2694  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2695  return _IMP_core.EdgePairsGeometry___repr__(self)
2696 
2697  @staticmethod
2698  def get_from(o):
2699  return _object_cast_to_EdgePairsGeometry(o)
2700 
2701 
2702 # Register EdgePairsGeometry in _IMP_core:
2703 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2704 class Direction(IMP.Decorator):
2705  r"""Proxy of C++ IMP::core::Direction class."""
2706 
2707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2708 
2709  @staticmethod
2710  def do_setup_particle(m, pi, v):
2711  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2712  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2713 
2714  def __init__(self, *args):
2715  r"""
2716  __init__(Direction self) -> Direction
2717  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2718  __init__(Direction self, _ParticleAdaptor d) -> Direction
2719  """
2720  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2721 
2722  def show(self, *args):
2723  r"""show(Direction self, _ostream out=std::cout)"""
2724  return _IMP_core.Direction_show(self, *args)
2725 
2726  @staticmethod
2727  def setup_particle(*args):
2728  r"""
2729  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2730  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2731  """
2732  return _IMP_core.Direction_setup_particle(*args)
2733 
2734  @staticmethod
2735  def get_is_setup(*args):
2736  r"""
2737  get_is_setup(_ParticleAdaptor p) -> bool
2738  get_is_setup(Model m, ParticleIndex pi) -> bool
2739  """
2740  return _IMP_core.Direction_get_is_setup(*args)
2741 
2742  @staticmethod
2743  def get_direction_key(i):
2744  r"""get_direction_key(unsigned int i) -> FloatKey"""
2745  return _IMP_core.Direction_get_direction_key(i)
2746 
2747  def get_direction_derivative(self, i):
2748  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2749  return _IMP_core.Direction_get_direction_derivative(self, i)
2750 
2751  def get_direction_derivatives(self):
2752  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2753  return _IMP_core.Direction_get_direction_derivatives(self)
2754 
2755  def add_to_direction_derivative(self, i, v, d):
2756  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2757  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2758 
2759  def add_to_direction_derivatives(self, v, d):
2760  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2761  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2762 
2763  def get_direction_is_optimized(self):
2764  r"""get_direction_is_optimized(Direction self) -> bool"""
2765  return _IMP_core.Direction_get_direction_is_optimized(self)
2766 
2767  def set_direction_is_optimized(self, tf):
2768  r"""set_direction_is_optimized(Direction self, bool tf)"""
2769  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2770 
2771  def get_direction(self):
2772  r"""get_direction(Direction self) -> Vector3D"""
2773  return _IMP_core.Direction_get_direction(self)
2774 
2775  def set_direction(self, v):
2776  r"""set_direction(Direction self, Vector3D v)"""
2777  return _IMP_core.Direction_set_direction(self, v)
2778 
2779  def reflect(self):
2780  r"""reflect(Direction self)"""
2781  return _IMP_core.Direction_reflect(self)
2782 
2783  def add_attribute(self, *args):
2784  r"""
2785  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2786  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2787  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2788  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2789  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2790  add_attribute(Direction self, StringKey a0, IMP::String a1)
2791  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2792  add_attribute(Direction self, ObjectKey a0, Object a1)
2793  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2794  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2795  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2796  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2797  """
2798  return _IMP_core.Direction_add_attribute(self, *args)
2799 
2800  def get_value(self, *args):
2801  r"""
2802  get_value(Direction self, FloatKey a0) -> IMP::Float
2803  get_value(Direction self, IntKey a0) -> IMP::Int
2804  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2805  get_value(Direction self, IntsKey a0) -> IMP::Ints
2806  get_value(Direction self, StringKey a0) -> IMP::String
2807  get_value(Direction self, ParticleIndexKey a0) -> Particle
2808  get_value(Direction self, ObjectKey a0) -> Object
2809  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2810  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2811  get_value(Direction self, SparseStringKey a0) -> IMP::String
2812  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2813  """
2814  return _IMP_core.Direction_get_value(self, *args)
2815 
2816  def set_value(self, *args):
2817  r"""
2818  set_value(Direction self, FloatKey a0, IMP::Float a1)
2819  set_value(Direction self, IntKey a0, IMP::Int a1)
2820  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2821  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2822  set_value(Direction self, StringKey a0, IMP::String a1)
2823  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2824  set_value(Direction self, ObjectKey a0, Object a1)
2825  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2826  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2827  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2828  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2829  """
2830  return _IMP_core.Direction_set_value(self, *args)
2831 
2832  def remove_attribute(self, *args):
2833  r"""
2834  remove_attribute(Direction self, FloatKey a0)
2835  remove_attribute(Direction self, IntKey a0)
2836  remove_attribute(Direction self, FloatsKey a0)
2837  remove_attribute(Direction self, IntsKey a0)
2838  remove_attribute(Direction self, StringKey a0)
2839  remove_attribute(Direction self, ParticleIndexKey a0)
2840  remove_attribute(Direction self, ObjectKey a0)
2841  remove_attribute(Direction self, SparseFloatKey a0)
2842  remove_attribute(Direction self, SparseIntKey a0)
2843  remove_attribute(Direction self, SparseStringKey a0)
2844  remove_attribute(Direction self, SparseParticleIndexKey a0)
2845  """
2846  return _IMP_core.Direction_remove_attribute(self, *args)
2847 
2848  def has_attribute(self, *args):
2849  r"""
2850  has_attribute(Direction self, FloatKey a0) -> bool
2851  has_attribute(Direction self, IntKey a0) -> bool
2852  has_attribute(Direction self, FloatsKey a0) -> bool
2853  has_attribute(Direction self, IntsKey a0) -> bool
2854  has_attribute(Direction self, StringKey a0) -> bool
2855  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2856  has_attribute(Direction self, ObjectKey a0) -> bool
2857  has_attribute(Direction self, SparseFloatKey a0) -> bool
2858  has_attribute(Direction self, SparseIntKey a0) -> bool
2859  has_attribute(Direction self, SparseStringKey a0) -> bool
2860  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2861  """
2862  return _IMP_core.Direction_has_attribute(self, *args)
2863 
2864  def get_derivative(self, a0):
2865  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2866  return _IMP_core.Direction_get_derivative(self, a0)
2867 
2868  def get_name(self):
2869  r"""get_name(Direction self) -> std::string"""
2870  return _IMP_core.Direction_get_name(self)
2871 
2872  def clear_caches(self):
2873  r"""clear_caches(Direction self)"""
2874  return _IMP_core.Direction_clear_caches(self)
2875 
2876  def set_name(self, a0):
2877  r"""set_name(Direction self, std::string a0)"""
2878  return _IMP_core.Direction_set_name(self, a0)
2879 
2880  def set_check_level(self, a0):
2881  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2882  return _IMP_core.Direction_set_check_level(self, a0)
2883 
2884  def add_to_derivative(self, a0, a1, a2):
2885  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2886  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2887 
2888  def set_is_optimized(self, a0, a1):
2889  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2890  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2891 
2892  def get_is_optimized(self, a0):
2893  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2894  return _IMP_core.Direction_get_is_optimized(self, a0)
2895 
2896  def get_check_level(self):
2897  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2898  return _IMP_core.Direction_get_check_level(self)
2899 
2900  def __eq__(self, *args):
2901  r"""
2902  __eq__(Direction self, Direction o) -> bool
2903  __eq__(Direction self, Particle d) -> bool
2904  """
2905  return _IMP_core.Direction___eq__(self, *args)
2906 
2907  def __ne__(self, *args):
2908  r"""
2909  __ne__(Direction self, Direction o) -> bool
2910  __ne__(Direction self, Particle d) -> bool
2911  """
2912  return _IMP_core.Direction___ne__(self, *args)
2913 
2914  def __le__(self, *args):
2915  r"""
2916  __le__(Direction self, Direction o) -> bool
2917  __le__(Direction self, Particle d) -> bool
2918  """
2919  return _IMP_core.Direction___le__(self, *args)
2920 
2921  def __lt__(self, *args):
2922  r"""
2923  __lt__(Direction self, Direction o) -> bool
2924  __lt__(Direction self, Particle d) -> bool
2925  """
2926  return _IMP_core.Direction___lt__(self, *args)
2927 
2928  def __ge__(self, *args):
2929  r"""
2930  __ge__(Direction self, Direction o) -> bool
2931  __ge__(Direction self, Particle d) -> bool
2932  """
2933  return _IMP_core.Direction___ge__(self, *args)
2934 
2935  def __gt__(self, *args):
2936  r"""
2937  __gt__(Direction self, Direction o) -> bool
2938  __gt__(Direction self, Particle d) -> bool
2939  """
2940  return _IMP_core.Direction___gt__(self, *args)
2941 
2942  def __hash__(self):
2943  r"""__hash__(Direction self) -> std::size_t"""
2944  return _IMP_core.Direction___hash__(self)
2945 
2946  def __str__(self):
2947  r"""__str__(Direction self) -> std::string"""
2948  return _IMP_core.Direction___str__(self)
2949 
2950  def __repr__(self):
2951  r"""__repr__(Direction self) -> std::string"""
2952  return _IMP_core.Direction___repr__(self)
2953 
2954  def _get_as_binary(self):
2955  r"""_get_as_binary(Direction self) -> PyObject *"""
2956  return _IMP_core.Direction__get_as_binary(self)
2957 
2958  def _set_from_binary(self, p):
2959  r"""_set_from_binary(Direction self, PyObject * p)"""
2960  return _IMP_core.Direction__set_from_binary(self, p)
2961 
2962  def __getstate__(self):
2963  p = self._get_as_binary()
2964  if len(self.__dict__) > 1:
2965  d = self.__dict__.copy()
2966  del d['this']
2967  p = (d, p)
2968  return p
2969 
2970  def __setstate__(self, p):
2971  if not hasattr(self, 'this'):
2972  self.__init__()
2973  if isinstance(p, tuple):
2974  d, p = p
2975  self.__dict__.update(d)
2976  return self._set_from_binary(p)
2977 
2978  __swig_destroy__ = _IMP_core.delete_Direction
2979 
2980 # Register Direction in _IMP_core:
2981 _IMP_core.Direction_swigregister(Direction)
2982 
2983 def get_angle(a, b):
2984  r"""get_angle(Direction a, Direction b) -> double"""
2985  return _IMP_core.get_angle(a, b)
2986 class DirectionAngle(IMP.Decorator):
2987  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2988 
2989  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2990 
2991  def __init__(self, *args):
2992  r"""
2993  __init__(DirectionAngle self) -> DirectionAngle
2994  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2995  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2996  """
2997  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2998 
2999  def show(self, *args):
3000  r"""show(DirectionAngle self, _ostream out=std::cout)"""
3001  return _IMP_core.DirectionAngle_show(self, *args)
3002 
3003  @staticmethod
3004  def setup_particle(*args):
3005  r"""
3006  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
3007  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
3008  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3009  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3010  """
3011  return _IMP_core.DirectionAngle_setup_particle(*args)
3012 
3013  @staticmethod
3014  def get_is_setup(*args):
3015  r"""
3016  get_is_setup(_ParticleAdaptor p) -> bool
3017  get_is_setup(Model m, ParticleIndex pi) -> bool
3018  """
3019  return _IMP_core.DirectionAngle_get_is_setup(*args)
3020 
3021  @staticmethod
3022  def get_angle_key():
3023  r"""get_angle_key() -> FloatKey"""
3024  return _IMP_core.DirectionAngle_get_angle_key()
3025 
3026  @staticmethod
3027  def get_particle_key(i):
3028  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3029  return _IMP_core.DirectionAngle_get_particle_key(i)
3030 
3031  def get_particle(self, *args):
3032  r"""
3033  get_particle(DirectionAngle self, unsigned int i) -> Particle
3034  get_particle(DirectionAngle self) -> Particle
3035  """
3036  return _IMP_core.DirectionAngle_get_particle(self, *args)
3037 
3038  def get_particle_index(self, *args):
3039  r"""
3040  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3041  get_particle_index(DirectionAngle self) -> ParticleIndex
3042  """
3043  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3044 
3045  def get_angle(self):
3046  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3047  return _IMP_core.DirectionAngle_get_angle(self)
3048 
3049  def get_angle_derivative(self):
3050  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3051  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3052 
3053  def add_to_angle_derivative(self, v, d):
3054  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3055  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3056 
3057  def add_attribute(self, *args):
3058  r"""
3059  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3060  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3061  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3062  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3063  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3064  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3065  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3066  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3067  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3068  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3069  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3070  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3071  """
3072  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3073 
3074  def get_value(self, *args):
3075  r"""
3076  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3077  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3078  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3079  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3080  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3081  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3082  get_value(DirectionAngle self, ObjectKey a0) -> Object
3083  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3084  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3085  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3086  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3087  """
3088  return _IMP_core.DirectionAngle_get_value(self, *args)
3089 
3090  def set_value(self, *args):
3091  r"""
3092  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3093  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3094  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3095  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3096  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3097  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3098  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3099  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3100  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3101  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3102  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3103  """
3104  return _IMP_core.DirectionAngle_set_value(self, *args)
3105 
3106  def remove_attribute(self, *args):
3107  r"""
3108  remove_attribute(DirectionAngle self, FloatKey a0)
3109  remove_attribute(DirectionAngle self, IntKey a0)
3110  remove_attribute(DirectionAngle self, FloatsKey a0)
3111  remove_attribute(DirectionAngle self, IntsKey a0)
3112  remove_attribute(DirectionAngle self, StringKey a0)
3113  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3114  remove_attribute(DirectionAngle self, ObjectKey a0)
3115  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3116  remove_attribute(DirectionAngle self, SparseIntKey a0)
3117  remove_attribute(DirectionAngle self, SparseStringKey a0)
3118  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3119  """
3120  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3121 
3122  def has_attribute(self, *args):
3123  r"""
3124  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3125  has_attribute(DirectionAngle self, IntKey a0) -> bool
3126  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3127  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3128  has_attribute(DirectionAngle self, StringKey a0) -> bool
3129  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3130  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3131  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3132  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3133  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3134  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3135  """
3136  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3137 
3138  def get_derivative(self, a0):
3139  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3140  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3141 
3142  def get_name(self):
3143  r"""get_name(DirectionAngle self) -> std::string"""
3144  return _IMP_core.DirectionAngle_get_name(self)
3145 
3146  def clear_caches(self):
3147  r"""clear_caches(DirectionAngle self)"""
3148  return _IMP_core.DirectionAngle_clear_caches(self)
3149 
3150  def set_name(self, a0):
3151  r"""set_name(DirectionAngle self, std::string a0)"""
3152  return _IMP_core.DirectionAngle_set_name(self, a0)
3153 
3154  def set_check_level(self, a0):
3155  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3156  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3157 
3158  def add_to_derivative(self, a0, a1, a2):
3159  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3160  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3161 
3162  def set_is_optimized(self, a0, a1):
3163  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3164  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3165 
3166  def get_is_optimized(self, a0):
3167  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3168  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3169 
3170  def get_check_level(self):
3171  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3172  return _IMP_core.DirectionAngle_get_check_level(self)
3173 
3174  def __eq__(self, *args):
3175  r"""
3176  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3177  __eq__(DirectionAngle self, Particle d) -> bool
3178  """
3179  return _IMP_core.DirectionAngle___eq__(self, *args)
3180 
3181  def __ne__(self, *args):
3182  r"""
3183  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3184  __ne__(DirectionAngle self, Particle d) -> bool
3185  """
3186  return _IMP_core.DirectionAngle___ne__(self, *args)
3187 
3188  def __le__(self, *args):
3189  r"""
3190  __le__(DirectionAngle self, DirectionAngle o) -> bool
3191  __le__(DirectionAngle self, Particle d) -> bool
3192  """
3193  return _IMP_core.DirectionAngle___le__(self, *args)
3194 
3195  def __lt__(self, *args):
3196  r"""
3197  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3198  __lt__(DirectionAngle self, Particle d) -> bool
3199  """
3200  return _IMP_core.DirectionAngle___lt__(self, *args)
3201 
3202  def __ge__(self, *args):
3203  r"""
3204  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3205  __ge__(DirectionAngle self, Particle d) -> bool
3206  """
3207  return _IMP_core.DirectionAngle___ge__(self, *args)
3208 
3209  def __gt__(self, *args):
3210  r"""
3211  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3212  __gt__(DirectionAngle self, Particle d) -> bool
3213  """
3214  return _IMP_core.DirectionAngle___gt__(self, *args)
3215 
3216  def __hash__(self):
3217  r"""__hash__(DirectionAngle self) -> std::size_t"""
3218  return _IMP_core.DirectionAngle___hash__(self)
3219 
3220  def __str__(self):
3221  r"""__str__(DirectionAngle self) -> std::string"""
3222  return _IMP_core.DirectionAngle___str__(self)
3223 
3224  def __repr__(self):
3225  r"""__repr__(DirectionAngle self) -> std::string"""
3226  return _IMP_core.DirectionAngle___repr__(self)
3227 
3228  def _get_as_binary(self):
3229  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3230  return _IMP_core.DirectionAngle__get_as_binary(self)
3231 
3232  def _set_from_binary(self, p):
3233  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3234  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3235 
3236  def __getstate__(self):
3237  p = self._get_as_binary()
3238  if len(self.__dict__) > 1:
3239  d = self.__dict__.copy()
3240  del d['this']
3241  p = (d, p)
3242  return p
3243 
3244  def __setstate__(self, p):
3245  if not hasattr(self, 'this'):
3246  self.__init__()
3247  if isinstance(p, tuple):
3248  d, p = p
3249  self.__dict__.update(d)
3250  return self._set_from_binary(p)
3251 
3252  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3253 
3254 # Register DirectionAngle in _IMP_core:
3255 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3256 class Surface(XYZ):
3257  r"""Proxy of C++ IMP::core::Surface class."""
3258 
3259  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3260 
3261  @staticmethod
3262  def do_setup_particle(*args):
3263  r"""
3264  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::algebra::Vector3D(0, 0, 0), Vector3D normal=IMP::algebra::Vector3D(0, 0, 1))
3265  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3266  """
3267  return _IMP_core.Surface_do_setup_particle(*args)
3268 
3269  def __init__(self, *args):
3270  r"""
3271  __init__(Surface self) -> Surface
3272  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3273  __init__(Surface self, _ParticleAdaptor d) -> Surface
3274  """
3275  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3276 
3277  def show(self, *args):
3278  r"""show(Surface self, _ostream out=std::cout)"""
3279  return _IMP_core.Surface_show(self, *args)
3280 
3281  @staticmethod
3282  def setup_particle(*args):
3283  r"""
3284  setup_particle(Model m, ParticleIndex pi) -> Surface
3285  setup_particle(_ParticleAdaptor pa) -> Surface
3286  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3287  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3288  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3289  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3290  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3291  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3292  """
3293  return _IMP_core.Surface_setup_particle(*args)
3294 
3295  def get_normal_x(self):
3296  r"""get_normal_x(Surface self) -> IMP::Float"""
3297  return _IMP_core.Surface_get_normal_x(self)
3298 
3299  def set_normal_x(self, t):
3300  r"""set_normal_x(Surface self, IMP::Float t)"""
3301  return _IMP_core.Surface_set_normal_x(self, t)
3302 
3303  def get_normal_y(self):
3304  r"""get_normal_y(Surface self) -> IMP::Float"""
3305  return _IMP_core.Surface_get_normal_y(self)
3306 
3307  def set_normal_y(self, t):
3308  r"""set_normal_y(Surface self, IMP::Float t)"""
3309  return _IMP_core.Surface_set_normal_y(self, t)
3310 
3311  def get_normal_z(self):
3312  r"""get_normal_z(Surface self) -> IMP::Float"""
3313  return _IMP_core.Surface_get_normal_z(self)
3314 
3315  def set_normal_z(self, t):
3316  r"""set_normal_z(Surface self, IMP::Float t)"""
3317  return _IMP_core.Surface_set_normal_z(self, t)
3318 
3319  @staticmethod
3320  def get_is_setup(*args):
3321  r"""
3322  get_is_setup(_ParticleAdaptor p) -> bool
3323  get_is_setup(Model m, ParticleIndex pi) -> bool
3324  """
3325  return _IMP_core.Surface_get_is_setup(*args)
3326 
3327  @staticmethod
3328  def get_normal_key(i):
3329  r"""get_normal_key(unsigned int i) -> FloatKey"""
3330  return _IMP_core.Surface_get_normal_key(i)
3331 
3332  def get_normal_derivative(self, i):
3333  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3334  return _IMP_core.Surface_get_normal_derivative(self, i)
3335 
3336  def get_normal_derivatives(self):
3337  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3338  return _IMP_core.Surface_get_normal_derivatives(self)
3339 
3340  def add_to_normal_derivative(self, i, v, d):
3341  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3342  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3343 
3344  def add_to_normal_derivatives(self, v, d):
3345  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3346  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3347 
3348  def get_normal_is_optimized(self):
3349  r"""get_normal_is_optimized(Surface self) -> bool"""
3350  return _IMP_core.Surface_get_normal_is_optimized(self)
3351 
3352  def set_normal_is_optimized(self, tf):
3353  r"""set_normal_is_optimized(Surface self, bool tf)"""
3354  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3355 
3356  def get_normal(self):
3357  r"""get_normal(Surface self) -> Vector3D"""
3358  return _IMP_core.Surface_get_normal(self)
3359 
3360  def set_normal(self, normal):
3361  r"""set_normal(Surface self, Vector3D normal)"""
3362  return _IMP_core.Surface_set_normal(self, normal)
3363 
3364  def reflect(self):
3365  r"""reflect(Surface self)"""
3366  return _IMP_core.Surface_reflect(self)
3367 
3368  def get_height(self, v):
3369  r"""get_height(Surface self, Vector3D v) -> double"""
3370  return _IMP_core.Surface_get_height(self, v)
3371 
3372  def get_depth(self, v):
3373  r"""get_depth(Surface self, Vector3D v) -> double"""
3374  return _IMP_core.Surface_get_depth(self, v)
3375 
3376  def get_distance_to(self, v):
3377  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3378  return _IMP_core.Surface_get_distance_to(self, v)
3379 
3380  def get_distance_to_center(self, v):
3381  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3382  return _IMP_core.Surface_get_distance_to_center(self, v)
3383 
3384  def set_reference_frame(self, rf):
3385  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3386  return _IMP_core.Surface_set_reference_frame(self, rf)
3387 
3388  def get_reference_frame(self):
3389  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3390  return _IMP_core.Surface_get_reference_frame(self)
3391 
3392  def get_plane(self):
3393  r"""get_plane(Surface self) -> Plane3D"""
3394  return _IMP_core.Surface_get_plane(self)
3395 
3396  def add_attribute(self, *args):
3397  r"""
3398  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3399  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3400  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3401  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3402  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3403  add_attribute(Surface self, StringKey a0, IMP::String a1)
3404  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3405  add_attribute(Surface self, ObjectKey a0, Object a1)
3406  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3407  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3408  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3409  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3410  """
3411  return _IMP_core.Surface_add_attribute(self, *args)
3412 
3413  def get_value(self, *args):
3414  r"""
3415  get_value(Surface self, FloatKey a0) -> IMP::Float
3416  get_value(Surface self, IntKey a0) -> IMP::Int
3417  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3418  get_value(Surface self, IntsKey a0) -> IMP::Ints
3419  get_value(Surface self, StringKey a0) -> IMP::String
3420  get_value(Surface self, ParticleIndexKey a0) -> Particle
3421  get_value(Surface self, ObjectKey a0) -> Object
3422  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3423  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3424  get_value(Surface self, SparseStringKey a0) -> IMP::String
3425  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3426  """
3427  return _IMP_core.Surface_get_value(self, *args)
3428 
3429  def set_value(self, *args):
3430  r"""
3431  set_value(Surface self, FloatKey a0, IMP::Float a1)
3432  set_value(Surface self, IntKey a0, IMP::Int a1)
3433  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3434  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3435  set_value(Surface self, StringKey a0, IMP::String a1)
3436  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3437  set_value(Surface self, ObjectKey a0, Object a1)
3438  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3439  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3440  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3441  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3442  """
3443  return _IMP_core.Surface_set_value(self, *args)
3444 
3445  def remove_attribute(self, *args):
3446  r"""
3447  remove_attribute(Surface self, FloatKey a0)
3448  remove_attribute(Surface self, IntKey a0)
3449  remove_attribute(Surface self, FloatsKey a0)
3450  remove_attribute(Surface self, IntsKey a0)
3451  remove_attribute(Surface self, StringKey a0)
3452  remove_attribute(Surface self, ParticleIndexKey a0)
3453  remove_attribute(Surface self, ObjectKey a0)
3454  remove_attribute(Surface self, SparseFloatKey a0)
3455  remove_attribute(Surface self, SparseIntKey a0)
3456  remove_attribute(Surface self, SparseStringKey a0)
3457  remove_attribute(Surface self, SparseParticleIndexKey a0)
3458  """
3459  return _IMP_core.Surface_remove_attribute(self, *args)
3460 
3461  def has_attribute(self, *args):
3462  r"""
3463  has_attribute(Surface self, FloatKey a0) -> bool
3464  has_attribute(Surface self, IntKey a0) -> bool
3465  has_attribute(Surface self, FloatsKey a0) -> bool
3466  has_attribute(Surface self, IntsKey a0) -> bool
3467  has_attribute(Surface self, StringKey a0) -> bool
3468  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3469  has_attribute(Surface self, ObjectKey a0) -> bool
3470  has_attribute(Surface self, SparseFloatKey a0) -> bool
3471  has_attribute(Surface self, SparseIntKey a0) -> bool
3472  has_attribute(Surface self, SparseStringKey a0) -> bool
3473  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3474  """
3475  return _IMP_core.Surface_has_attribute(self, *args)
3476 
3477  def get_derivative(self, a0):
3478  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3479  return _IMP_core.Surface_get_derivative(self, a0)
3480 
3481  def get_name(self):
3482  r"""get_name(Surface self) -> std::string"""
3483  return _IMP_core.Surface_get_name(self)
3484 
3485  def clear_caches(self):
3486  r"""clear_caches(Surface self)"""
3487  return _IMP_core.Surface_clear_caches(self)
3488 
3489  def set_name(self, a0):
3490  r"""set_name(Surface self, std::string a0)"""
3491  return _IMP_core.Surface_set_name(self, a0)
3492 
3493  def set_check_level(self, a0):
3494  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3495  return _IMP_core.Surface_set_check_level(self, a0)
3496 
3497  def add_to_derivative(self, a0, a1, a2):
3498  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3499  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3500 
3501  def set_is_optimized(self, a0, a1):
3502  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3503  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3504 
3505  def get_is_optimized(self, a0):
3506  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3507  return _IMP_core.Surface_get_is_optimized(self, a0)
3508 
3509  def get_check_level(self):
3510  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3511  return _IMP_core.Surface_get_check_level(self)
3512 
3513  def __eq__(self, *args):
3514  r"""
3515  __eq__(Surface self, Surface o) -> bool
3516  __eq__(Surface self, Particle d) -> bool
3517  """
3518  return _IMP_core.Surface___eq__(self, *args)
3519 
3520  def __ne__(self, *args):
3521  r"""
3522  __ne__(Surface self, Surface o) -> bool
3523  __ne__(Surface self, Particle d) -> bool
3524  """
3525  return _IMP_core.Surface___ne__(self, *args)
3526 
3527  def __le__(self, *args):
3528  r"""
3529  __le__(Surface self, Surface o) -> bool
3530  __le__(Surface self, Particle d) -> bool
3531  """
3532  return _IMP_core.Surface___le__(self, *args)
3533 
3534  def __lt__(self, *args):
3535  r"""
3536  __lt__(Surface self, Surface o) -> bool
3537  __lt__(Surface self, Particle d) -> bool
3538  """
3539  return _IMP_core.Surface___lt__(self, *args)
3540 
3541  def __ge__(self, *args):
3542  r"""
3543  __ge__(Surface self, Surface o) -> bool
3544  __ge__(Surface self, Particle d) -> bool
3545  """
3546  return _IMP_core.Surface___ge__(self, *args)
3547 
3548  def __gt__(self, *args):
3549  r"""
3550  __gt__(Surface self, Surface o) -> bool
3551  __gt__(Surface self, Particle d) -> bool
3552  """
3553  return _IMP_core.Surface___gt__(self, *args)
3554 
3555  def __hash__(self):
3556  r"""__hash__(Surface self) -> std::size_t"""
3557  return _IMP_core.Surface___hash__(self)
3558 
3559  def __str__(self):
3560  r"""__str__(Surface self) -> std::string"""
3561  return _IMP_core.Surface___str__(self)
3562 
3563  def __repr__(self):
3564  r"""__repr__(Surface self) -> std::string"""
3565  return _IMP_core.Surface___repr__(self)
3566 
3567  def _get_as_binary(self):
3568  r"""_get_as_binary(Surface self) -> PyObject *"""
3569  return _IMP_core.Surface__get_as_binary(self)
3570 
3571  def _set_from_binary(self, p):
3572  r"""_set_from_binary(Surface self, PyObject * p)"""
3573  return _IMP_core.Surface__set_from_binary(self, p)
3574 
3575  def __getstate__(self):
3576  p = self._get_as_binary()
3577  if len(self.__dict__) > 1:
3578  d = self.__dict__.copy()
3579  del d['this']
3580  p = (d, p)
3581  return p
3582 
3583  def __setstate__(self, p):
3584  if not hasattr(self, 'this'):
3585  self.__init__()
3586  if isinstance(p, tuple):
3587  d, p = p
3588  self.__dict__.update(d)
3589  return self._set_from_binary(p)
3590 
3591  __swig_destroy__ = _IMP_core.delete_Surface
3592 
3593 # Register Surface in _IMP_core:
3594 _IMP_core.Surface_swigregister(Surface)
3595 
3596 def get_height(*args):
3597  r"""
3598  get_height(Surface s, XYZR d) -> double
3599  get_height(Surface s, XYZ d) -> double
3600  """
3601  return _IMP_core.get_height(*args)
3602 
3603 def get_depth(*args):
3604  r"""
3605  get_depth(Surface s, XYZR d) -> double
3606  get_depth(Surface s, XYZ d) -> double
3607  """
3608  return _IMP_core.get_depth(*args)
3609 
3610 def get_distance(*args):
3611  r"""
3612  get_distance(XYZ a, XYZ b) -> double
3613  get_distance(XYZR a, XYZR b) -> double
3614  get_distance(Surface s, XYZR d) -> double
3615  get_distance(Surface s, XYZ d) -> double
3616  """
3617  return _IMP_core.get_distance(*args)
3618 class SurfaceGeometry(IMP.display.Geometry):
3619  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3620 
3621  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3622 
3623  def __init__(self, *args):
3624  r"""
3625  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3626  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3627  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3628  """
3629  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3630 
3631  def get_geometry(self):
3632  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3633  return _IMP_core.SurfaceGeometry_get_geometry(self)
3634 
3635  def set_geometry(self, s):
3636  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3637  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3638 
3639  def get_version_info(self):
3640  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3641  return _IMP_core.SurfaceGeometry_get_version_info(self)
3642  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3643 
3644  def __str__(self):
3645  r"""__str__(SurfaceGeometry self) -> std::string"""
3646  return _IMP_core.SurfaceGeometry___str__(self)
3647 
3648  def __repr__(self):
3649  r"""__repr__(SurfaceGeometry self) -> std::string"""
3650  return _IMP_core.SurfaceGeometry___repr__(self)
3651 
3652  @staticmethod
3653  def get_from(o):
3654  return _object_cast_to_SurfaceGeometry(o)
3655 
3656 
3657 # Register SurfaceGeometry in _IMP_core:
3658 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3659 
3660 def create_geometry(*args):
3661  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3662  return _IMP_core.create_geometry(*args)
3663 class SurfaceGeometryConstraint(IMP.Constraint):
3664  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3665 
3666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3667 
3668  def __init__(self, s, g):
3669  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3670  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3671 
3672  def get_surface(self):
3673  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3674  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3675 
3676  def get_geometry(self):
3677  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3678  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3679 
3680  def do_get_inputs(self):
3681  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3682  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3683 
3684  def do_get_outputs(self):
3685  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3686  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3687 
3688  def get_version_info(self):
3689  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3690  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3691  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3692 
3693  def __str__(self):
3694  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3695  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3696 
3697  def __repr__(self):
3698  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3699  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3700 
3701  @staticmethod
3702  def get_from(o):
3703  return _object_cast_to_SurfaceGeometryConstraint(o)
3704 
3705 
3706 # Register SurfaceGeometryConstraint in _IMP_core:
3707 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3708 
3710  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3711  return _IMP_core.get_constrained_surface_geometry(*args)
3712 class LateralSurfaceConstraint(IMP.Constraint):
3713  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3714 
3715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3716 
3717  def __init__(self, s, d):
3718  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3719  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3720 
3721  def do_get_inputs(self):
3722  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3723  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3724 
3725  def do_get_outputs(self):
3726  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3727  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3728 
3729  def get_version_info(self):
3730  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3731  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3732  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3733 
3734  def __str__(self):
3735  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3736  return _IMP_core.LateralSurfaceConstraint___str__(self)
3737 
3738  def __repr__(self):
3739  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3740  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3741 
3742  @staticmethod
3743  def get_from(o):
3744  return _object_cast_to_LateralSurfaceConstraint(o)
3745 
3746 
3747 # Register LateralSurfaceConstraint in _IMP_core:
3748 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3749 class AngleTripletScore(IMP.TripletScore):
3750  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3751 
3752  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3753 
3754  def __init__(self, *args):
3755  r"""
3756  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3757  __init__(AngleTripletScore self) -> AngleTripletScore
3758  """
3759  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3760 
3761  def do_get_inputs(self, m, pis):
3762  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3763  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3764 
3765  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3766  r"""evaluate_indexes(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3767  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3768 
3769  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3770  r"""evaluate_indexes_scores(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3771  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3772 
3773  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3774  r"""evaluate_indexes_delta(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3775  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3776 
3777  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3778  r"""evaluate_if_good_indexes(AngleTripletScore self, Model m, IMP::ParticleIndexTriplets const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3779  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3780 
3781  def get_version_info(self):
3782  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3783  return _IMP_core.AngleTripletScore_get_version_info(self)
3784  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3785 
3786  def __str__(self):
3787  r"""__str__(AngleTripletScore self) -> std::string"""
3788  return _IMP_core.AngleTripletScore___str__(self)
3789 
3790  def __repr__(self):
3791  r"""__repr__(AngleTripletScore self) -> std::string"""
3792  return _IMP_core.AngleTripletScore___repr__(self)
3793 
3794  @staticmethod
3795  def get_from(o):
3796  return _object_cast_to_AngleTripletScore(o)
3797 
3798 
3799  def _get_as_binary(self):
3800  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3801  return _IMP_core.AngleTripletScore__get_as_binary(self)
3802 
3803  def _set_from_binary(self, p):
3804  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3805  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3806 
3807  def __getstate__(self):
3808  p = self._get_as_binary()
3809  if len(self.__dict__) > 1:
3810  d = self.__dict__.copy()
3811  del d['this']
3812  p = (d, p)
3813  return p
3814 
3815  def __setstate__(self, p):
3816  if not hasattr(self, 'this'):
3817  self.__init__()
3818  if isinstance(p, tuple):
3819  d, p = p
3820  self.__dict__.update(d)
3821  return self._set_from_binary(p)
3822 
3823 
3824 # Register AngleTripletScore in _IMP_core:
3825 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3826 class BallMover(MonteCarloMover):
3827  r"""Proxy of C++ IMP::core::BallMover class."""
3828 
3829  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3830 
3831  def __init__(self, *args):
3832  r"""
3833  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3834  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3835  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3836  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3837  __init__(BallMover self) -> BallMover
3838  """
3839  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3840 
3841  def set_radius(self, radius):
3842  r"""set_radius(BallMover self, IMP::Float radius)"""
3843  return _IMP_core.BallMover_set_radius(self, radius)
3844 
3845  def get_radius(self):
3846  r"""get_radius(BallMover self) -> IMP::Float"""
3847  return _IMP_core.BallMover_get_radius(self)
3848 
3849  def get_indexes(self):
3850  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3851  return _IMP_core.BallMover_get_indexes(self)
3852 
3853  def get_keys(self):
3854  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3855  return _IMP_core.BallMover_get_keys(self)
3856 
3857  def get_version_info(self):
3858  r"""get_version_info(BallMover self) -> VersionInfo"""
3859  return _IMP_core.BallMover_get_version_info(self)
3860  __swig_destroy__ = _IMP_core.delete_BallMover
3861 
3862  def __str__(self):
3863  r"""__str__(BallMover self) -> std::string"""
3864  return _IMP_core.BallMover___str__(self)
3865 
3866  def __repr__(self):
3867  r"""__repr__(BallMover self) -> std::string"""
3868  return _IMP_core.BallMover___repr__(self)
3869 
3870  @staticmethod
3871  def get_from(o):
3872  return _object_cast_to_BallMover(o)
3873 
3874 
3875  def _get_as_binary(self):
3876  r"""_get_as_binary(BallMover self) -> PyObject *"""
3877  return _IMP_core.BallMover__get_as_binary(self)
3878 
3879  def _set_from_binary(self, p):
3880  r"""_set_from_binary(BallMover self, PyObject * p)"""
3881  return _IMP_core.BallMover__set_from_binary(self, p)
3882 
3883  def __getstate__(self):
3884  p = self._get_as_binary()
3885  if len(self.__dict__) > 1:
3886  d = self.__dict__.copy()
3887  del d['this']
3888  p = (d, p)
3889  return p
3890 
3891  def __setstate__(self, p):
3892  if not hasattr(self, 'this'):
3893  self.__init__()
3894  if isinstance(p, tuple):
3895  d, p = p
3896  self.__dict__.update(d)
3897  return self._set_from_binary(p)
3898 
3899 
3900  def _get_jax(self):
3901  import jax.random
3902  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3903  indexes = self.get_indexes()
3904  keys = frozenset(self.get_keys())
3905  if keys == frozenset(IMP.core.XYZ.get_xyz_keys()):
3906  intcoord = False
3907  elif keys == frozenset(
3909  intcoord = True
3910  else:
3911  raise NotImplementedError(
3912  "Only works for XYZ or internal coordinates")
3913  radius = self.get_radius()
3914 
3915  def init_func(key):
3916  return key
3917 
3918  def propose_func(jm, key):
3919  key, subkey = jax.random.split(key)
3920  v = get_random_vector_in_3d_sphere(subkey, radius)
3921  if intcoord:
3922  rbs = jm['rigid_bodies']
3923  rbs.intcoord = rbs.intcoord.at[indexes].add(v)
3924  else:
3925  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3926  return jm, key, 1.0
3927  return self._wrap_jax(init_func, propose_func,
3928  keys=['rigid_bodies'] if intcoord else None)
3929 
3930 
3931 # Register BallMover in _IMP_core:
3932 _IMP_core.BallMover_swigregister(BallMover)
3933 class SerialMover(MonteCarloMover):
3934  r"""Proxy of C++ IMP::core::SerialMover class."""
3935 
3936  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3937 
3938  def __init__(self, *args):
3939  r"""
3940  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3941  __init__(SerialMover self) -> SerialMover
3942  """
3943  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3944 
3945  def get_movers(self):
3946  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3947  return _IMP_core.SerialMover_get_movers(self)
3948 
3949  def get_version_info(self):
3950  r"""get_version_info(SerialMover self) -> VersionInfo"""
3951  return _IMP_core.SerialMover_get_version_info(self)
3952  __swig_destroy__ = _IMP_core.delete_SerialMover
3953 
3954  def __str__(self):
3955  r"""__str__(SerialMover self) -> std::string"""
3956  return _IMP_core.SerialMover___str__(self)
3957 
3958  def __repr__(self):
3959  r"""__repr__(SerialMover self) -> std::string"""
3960  return _IMP_core.SerialMover___repr__(self)
3961 
3962  @staticmethod
3963  def get_from(o):
3964  return _object_cast_to_SerialMover(o)
3965 
3966 
3967  def _get_as_binary(self):
3968  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3969  return _IMP_core.SerialMover__get_as_binary(self)
3970 
3971  def _set_from_binary(self, p):
3972  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3973  return _IMP_core.SerialMover__set_from_binary(self, p)
3974 
3975  def __getstate__(self):
3976  p = self._get_as_binary()
3977  if len(self.__dict__) > 1:
3978  d = self.__dict__.copy()
3979  del d['this']
3980  p = (d, p)
3981  return p
3982 
3983  def __setstate__(self, p):
3984  if not hasattr(self, 'this'):
3985  self.__init__()
3986  if isinstance(p, tuple):
3987  d, p = p
3988  self.__dict__.update(d)
3989  return self._set_from_binary(p)
3990 
3991 
3992  def _get_jax(self):
3993  import jax.random
3994  import jax.lax
3995  import jax.numpy as jnp
3996  from IMP.core._jax_util import _SerialMover
3997  movers = [m.get_derived_object()._get_jax()
3998  for m in self.get_movers()]
3999 
4000  def sub_propose_func(jm, sms, i):
4001  """Call the propose_func of the ith mover"""
4002  jm, sms.mover_state[i], ratio = movers[i].propose_func(
4003  jm, sms.mover_state[i])
4004  sms.proposed_mover_steps = sms.proposed_mover_steps.at[i].add(1)
4005  return jm, sms, ratio
4006 
4007  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
4008  for i in range(len(movers))]
4009 
4010  def init_func(key):
4011  # Initialize all movers and store their state in ours
4012  mover_state = []
4013  for m in movers:
4014  key, subkey = jax.random.split(key)
4015  mover_state.append(m.init_func(subkey))
4016  return _SerialMover(
4017  imov=-1, mover_state=mover_state,
4018  proposed_mover_steps=jnp.zeros(len(movers), dtype=int),
4019  accepted_mover_steps=jnp.zeros(len(movers), dtype=int))
4020 
4021  def propose_func(jm, sms):
4022  sms.imov = jnp.mod(sms.imov + 1, len(movers))
4023  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
4024 
4025  def accept_func(sms):
4026  # Update statistics for the chosen mover
4027  sms.accepted_mover_steps = \
4028  sms.accepted_mover_steps.at[sms.imov].add(1)
4029  return sms
4030 
4031  def sync_func(imp_mover, sms):
4032  # Copy submover statistics back to IMP Movers
4033  for i, mover in enumerate(imp_mover.get_movers()):
4034  mover.add_to_statistics(
4035  sms.proposed_mover_steps[i],
4036  sms.proposed_mover_steps[i] - sms.accepted_mover_steps[i])
4037 
4038  return self._wrap_jax(
4039  init_func, propose_func, accept_func, sync_func,
4040  keys=frozenset(x for m in movers for x in m._keys))
4041 
4042 
4043 # Register SerialMover in _IMP_core:
4044 _IMP_core.SerialMover_swigregister(SerialMover)
4045 class SubsetMover(MonteCarloMover):
4046  r"""Proxy of C++ IMP::core::SubsetMover class."""
4047 
4048  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4049 
4050  def __init__(self, *args):
4051  r"""
4052  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4053  __init__(SubsetMover self) -> SubsetMover
4054  """
4055  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4056 
4057  def get_movers(self):
4058  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4059  return _IMP_core.SubsetMover_get_movers(self)
4060 
4061  def get_subset_size(self):
4062  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4063  return _IMP_core.SubsetMover_get_subset_size(self)
4064 
4065  def get_version_info(self):
4066  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4067  return _IMP_core.SubsetMover_get_version_info(self)
4068  __swig_destroy__ = _IMP_core.delete_SubsetMover
4069 
4070  def __str__(self):
4071  r"""__str__(SubsetMover self) -> std::string"""
4072  return _IMP_core.SubsetMover___str__(self)
4073 
4074  def __repr__(self):
4075  r"""__repr__(SubsetMover self) -> std::string"""
4076  return _IMP_core.SubsetMover___repr__(self)
4077 
4078  @staticmethod
4079  def get_from(o):
4080  return _object_cast_to_SubsetMover(o)
4081 
4082 
4083  def _get_as_binary(self):
4084  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4085  return _IMP_core.SubsetMover__get_as_binary(self)
4086 
4087  def _set_from_binary(self, p):
4088  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4089  return _IMP_core.SubsetMover__set_from_binary(self, p)
4090 
4091  def __getstate__(self):
4092  p = self._get_as_binary()
4093  if len(self.__dict__) > 1:
4094  d = self.__dict__.copy()
4095  del d['this']
4096  p = (d, p)
4097  return p
4098 
4099  def __setstate__(self, p):
4100  if not hasattr(self, 'this'):
4101  self.__init__()
4102  if isinstance(p, tuple):
4103  d, p = p
4104  self.__dict__.update(d)
4105  return self._set_from_binary(p)
4106 
4107 
4108 # Register SubsetMover in _IMP_core:
4109 _IMP_core.SubsetMover_swigregister(SubsetMover)
4110 class DirectionMover(MonteCarloMover):
4111  r"""Proxy of C++ IMP::core::DirectionMover class."""
4112 
4113  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4114 
4115  def __init__(self, *args):
4116  r"""
4117  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4118  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4119  __init__(DirectionMover self) -> DirectionMover
4120  """
4121  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4122 
4123  def set_maximum_rotation(self, mr):
4124  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4125  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4126 
4127  def set_reflect_probability(self, rp):
4128  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4129  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4130 
4131  def get_maximum_rotation(self):
4132  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4133  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4134 
4135  def get_reflect_probability(self):
4136  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4137  return _IMP_core.DirectionMover_get_reflect_probability(self)
4138 
4139  def get_direction(self):
4140  r"""get_direction(DirectionMover self) -> Direction"""
4141  return _IMP_core.DirectionMover_get_direction(self)
4142 
4143  def get_version_info(self):
4144  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4145  return _IMP_core.DirectionMover_get_version_info(self)
4146  __swig_destroy__ = _IMP_core.delete_DirectionMover
4147 
4148  def __str__(self):
4149  r"""__str__(DirectionMover self) -> std::string"""
4150  return _IMP_core.DirectionMover___str__(self)
4151 
4152  def __repr__(self):
4153  r"""__repr__(DirectionMover self) -> std::string"""
4154  return _IMP_core.DirectionMover___repr__(self)
4155 
4156  @staticmethod
4157  def get_from(o):
4158  return _object_cast_to_DirectionMover(o)
4159 
4160 
4161  def _get_as_binary(self):
4162  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4163  return _IMP_core.DirectionMover__get_as_binary(self)
4164 
4165  def _set_from_binary(self, p):
4166  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4167  return _IMP_core.DirectionMover__set_from_binary(self, p)
4168 
4169  def __getstate__(self):
4170  p = self._get_as_binary()
4171  if len(self.__dict__) > 1:
4172  d = self.__dict__.copy()
4173  del d['this']
4174  p = (d, p)
4175  return p
4176 
4177  def __setstate__(self, p):
4178  if not hasattr(self, 'this'):
4179  self.__init__()
4180  if isinstance(p, tuple):
4181  d, p = p
4182  self.__dict__.update(d)
4183  return self._set_from_binary(p)
4184 
4185 
4186 # Register DirectionMover in _IMP_core:
4187 _IMP_core.DirectionMover_swigregister(DirectionMover)
4188 class SurfaceMover(MonteCarloMover):
4189  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4190 
4191  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4192 
4193  def __init__(self, *args):
4194  r"""
4195  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4196  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4197  __init__(SurfaceMover self) -> SurfaceMover
4198  """
4199  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4200 
4201  def set_maximum_translation(self, mt):
4202  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4203  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4204 
4205  def set_maximum_rotation(self, mr):
4206  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4207  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4208 
4209  def set_reflect_probability(self, rp):
4210  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4211  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4212 
4213  def get_maximum_translation(self):
4214  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4215  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4216 
4217  def get_maximum_rotation(self):
4218  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4219  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4220 
4221  def get_reflect_probability(self):
4222  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4223  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4224 
4225  def get_surface(self):
4226  r"""get_surface(SurfaceMover self) -> Surface"""
4227  return _IMP_core.SurfaceMover_get_surface(self)
4228 
4229  def get_version_info(self):
4230  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4231  return _IMP_core.SurfaceMover_get_version_info(self)
4232  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4233 
4234  def __str__(self):
4235  r"""__str__(SurfaceMover self) -> std::string"""
4236  return _IMP_core.SurfaceMover___str__(self)
4237 
4238  def __repr__(self):
4239  r"""__repr__(SurfaceMover self) -> std::string"""
4240  return _IMP_core.SurfaceMover___repr__(self)
4241 
4242  @staticmethod
4243  def get_from(o):
4244  return _object_cast_to_SurfaceMover(o)
4245 
4246 
4247  def _get_as_binary(self):
4248  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4249  return _IMP_core.SurfaceMover__get_as_binary(self)
4250 
4251  def _set_from_binary(self, p):
4252  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4253  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4254 
4255  def __getstate__(self):
4256  p = self._get_as_binary()
4257  if len(self.__dict__) > 1:
4258  d = self.__dict__.copy()
4259  del d['this']
4260  p = (d, p)
4261  return p
4262 
4263  def __setstate__(self, p):
4264  if not hasattr(self, 'this'):
4265  self.__init__()
4266  if isinstance(p, tuple):
4267  d, p = p
4268  self.__dict__.update(d)
4269  return self._set_from_binary(p)
4270 
4271 
4272 # Register SurfaceMover in _IMP_core:
4273 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4274 class BoxSweepClosePairsFinder(ClosePairsFinder):
4275  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4276 
4277  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4278 
4279  def __init__(self):
4280  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4281  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4282 
4283  def get_close_pairs(self, *args):
4284  r"""
4285  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4286  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4287  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4288  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4289  """
4290  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4291 
4292  def do_get_inputs(self, m, pis):
4293  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4294  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4295 
4296  def get_version_info(self):
4297  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4298  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4299  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4300 
4301  def __str__(self):
4302  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4303  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4304 
4305  def __repr__(self):
4306  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4307  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4308 
4309  @staticmethod
4310  def get_from(o):
4311  return _object_cast_to_BoxSweepClosePairsFinder(o)
4312 
4313 
4314 # Register BoxSweepClosePairsFinder in _IMP_core:
4315 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4316 class CentroidOfRefined(IMP.SingletonModifier):
4317  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4318 
4319  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4320 
4321  def __init__(self, *args):
4322  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4323  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4324 
4325  def get_refiner(self):
4326  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4327  return _IMP_core.CentroidOfRefined_get_refiner(self)
4328 
4329  def get_weight(self):
4330  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4331  return _IMP_core.CentroidOfRefined_get_weight(self)
4332 
4333  def get_keys(self):
4334  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4335  return _IMP_core.CentroidOfRefined_get_keys(self)
4336 
4337  def get_is_weight_null(self):
4338  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4339  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4340 
4341  def do_get_inputs(self, m, pis):
4342  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4343  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4344 
4345  def do_get_outputs(self, m, pis):
4346  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4347  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4348 
4349  def get_version_info(self):
4350  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4351  return _IMP_core.CentroidOfRefined_get_version_info(self)
4352  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4353 
4354  def __str__(self):
4355  r"""__str__(CentroidOfRefined self) -> std::string"""
4356  return _IMP_core.CentroidOfRefined___str__(self)
4357 
4358  def __repr__(self):
4359  r"""__repr__(CentroidOfRefined self) -> std::string"""
4360  return _IMP_core.CentroidOfRefined___repr__(self)
4361 
4362  @staticmethod
4363  def get_from(o):
4364  return _object_cast_to_CentroidOfRefined(o)
4365 
4366 
4367  def _get_jax(self, m, indexes):
4368  import jax.numpy as jnp
4369  refined = [
4370  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4371  for index in indexes]
4372 
4373  def apply_func_unweighted(jm):
4374  for ind, ref in zip(indexes, refined):
4375  xyz = jm['xyz']
4376  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4377  return jm
4378 
4379  def apply_func_weighted(jm, weight_key):
4380  for ind, ref in zip(indexes, refined):
4381  xyz = jm['xyz']
4382  weights = jm[weight_key][ref]
4383  jm['xyz'] = xyz.at[ind].set(
4384  jnp.average(xyz[ref], axis=0, weights=weights))
4385  return jm
4386 
4387  keys = frozenset(self.get_keys())
4388  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4389  raise NotImplementedError("Only works for XYZ")
4390 
4391  if self.get_is_weight_null():
4392  return self._wrap_jax(apply_func_unweighted)
4393  else:
4394  weight_key = self.get_weight()
4395  return self._wrap_jax(
4396  functools.partial(apply_func_weighted,
4397  weight_key=weight_key.get_string()),
4398  keys=(weight_key,))
4399 
4400 
4401 # Register CentroidOfRefined in _IMP_core:
4402 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4403 class Centroid(XYZ):
4404  r"""Proxy of C++ IMP::core::Centroid class."""
4405 
4406  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4407 
4408  def get_constraint(self):
4409  r"""get_constraint(Centroid self) -> Constraint"""
4410  return _IMP_core.Centroid_get_constraint(self)
4411 
4412  def __init__(self, *args):
4413  r"""
4414  __init__(Centroid self) -> Centroid
4415  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4416  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4417  """
4418  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4419 
4420  def show(self, *args):
4421  r"""show(Centroid self, _ostream out=std::cout)"""
4422  return _IMP_core.Centroid_show(self, *args)
4423 
4424  @staticmethod
4425  def setup_particle(*args):
4426  r"""
4427  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4428  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4429  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4430  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4431  """
4432  return _IMP_core.Centroid_setup_particle(*args)
4433 
4434  @staticmethod
4435  def get_is_setup(*args):
4436  r"""
4437  get_is_setup(_ParticleAdaptor p) -> bool
4438  get_is_setup(Model m, ParticleIndex pi) -> bool
4439  """
4440  return _IMP_core.Centroid_get_is_setup(*args)
4441 
4442  def add_attribute(self, *args):
4443  r"""
4444  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4445  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4446  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4447  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4448  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4449  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4450  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4451  add_attribute(Centroid self, ObjectKey a0, Object a1)
4452  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4453  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4454  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4455  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4456  """
4457  return _IMP_core.Centroid_add_attribute(self, *args)
4458 
4459  def get_value(self, *args):
4460  r"""
4461  get_value(Centroid self, FloatKey a0) -> IMP::Float
4462  get_value(Centroid self, IntKey a0) -> IMP::Int
4463  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4464  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4465  get_value(Centroid self, StringKey a0) -> IMP::String
4466  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4467  get_value(Centroid self, ObjectKey a0) -> Object
4468  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4469  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4470  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4471  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4472  """
4473  return _IMP_core.Centroid_get_value(self, *args)
4474 
4475  def set_value(self, *args):
4476  r"""
4477  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4478  set_value(Centroid self, IntKey a0, IMP::Int a1)
4479  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4480  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4481  set_value(Centroid self, StringKey a0, IMP::String a1)
4482  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4483  set_value(Centroid self, ObjectKey a0, Object a1)
4484  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4485  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4486  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4487  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4488  """
4489  return _IMP_core.Centroid_set_value(self, *args)
4490 
4491  def remove_attribute(self, *args):
4492  r"""
4493  remove_attribute(Centroid self, FloatKey a0)
4494  remove_attribute(Centroid self, IntKey a0)
4495  remove_attribute(Centroid self, FloatsKey a0)
4496  remove_attribute(Centroid self, IntsKey a0)
4497  remove_attribute(Centroid self, StringKey a0)
4498  remove_attribute(Centroid self, ParticleIndexKey a0)
4499  remove_attribute(Centroid self, ObjectKey a0)
4500  remove_attribute(Centroid self, SparseFloatKey a0)
4501  remove_attribute(Centroid self, SparseIntKey a0)
4502  remove_attribute(Centroid self, SparseStringKey a0)
4503  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4504  """
4505  return _IMP_core.Centroid_remove_attribute(self, *args)
4506 
4507  def has_attribute(self, *args):
4508  r"""
4509  has_attribute(Centroid self, FloatKey a0) -> bool
4510  has_attribute(Centroid self, IntKey a0) -> bool
4511  has_attribute(Centroid self, FloatsKey a0) -> bool
4512  has_attribute(Centroid self, IntsKey a0) -> bool
4513  has_attribute(Centroid self, StringKey a0) -> bool
4514  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4515  has_attribute(Centroid self, ObjectKey a0) -> bool
4516  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4517  has_attribute(Centroid self, SparseIntKey a0) -> bool
4518  has_attribute(Centroid self, SparseStringKey a0) -> bool
4519  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4520  """
4521  return _IMP_core.Centroid_has_attribute(self, *args)
4522 
4523  def get_derivative(self, a0):
4524  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4525  return _IMP_core.Centroid_get_derivative(self, a0)
4526 
4527  def get_name(self):
4528  r"""get_name(Centroid self) -> std::string"""
4529  return _IMP_core.Centroid_get_name(self)
4530 
4531  def clear_caches(self):
4532  r"""clear_caches(Centroid self)"""
4533  return _IMP_core.Centroid_clear_caches(self)
4534 
4535  def set_name(self, a0):
4536  r"""set_name(Centroid self, std::string a0)"""
4537  return _IMP_core.Centroid_set_name(self, a0)
4538 
4539  def set_check_level(self, a0):
4540  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4541  return _IMP_core.Centroid_set_check_level(self, a0)
4542 
4543  def add_to_derivative(self, a0, a1, a2):
4544  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4545  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4546 
4547  def set_is_optimized(self, a0, a1):
4548  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4549  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4550 
4551  def get_is_optimized(self, a0):
4552  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4553  return _IMP_core.Centroid_get_is_optimized(self, a0)
4554 
4555  def get_check_level(self):
4556  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4557  return _IMP_core.Centroid_get_check_level(self)
4558 
4559  def __eq__(self, *args):
4560  r"""
4561  __eq__(Centroid self, Centroid o) -> bool
4562  __eq__(Centroid self, Particle d) -> bool
4563  """
4564  return _IMP_core.Centroid___eq__(self, *args)
4565 
4566  def __ne__(self, *args):
4567  r"""
4568  __ne__(Centroid self, Centroid o) -> bool
4569  __ne__(Centroid self, Particle d) -> bool
4570  """
4571  return _IMP_core.Centroid___ne__(self, *args)
4572 
4573  def __le__(self, *args):
4574  r"""
4575  __le__(Centroid self, Centroid o) -> bool
4576  __le__(Centroid self, Particle d) -> bool
4577  """
4578  return _IMP_core.Centroid___le__(self, *args)
4579 
4580  def __lt__(self, *args):
4581  r"""
4582  __lt__(Centroid self, Centroid o) -> bool
4583  __lt__(Centroid self, Particle d) -> bool
4584  """
4585  return _IMP_core.Centroid___lt__(self, *args)
4586 
4587  def __ge__(self, *args):
4588  r"""
4589  __ge__(Centroid self, Centroid o) -> bool
4590  __ge__(Centroid self, Particle d) -> bool
4591  """
4592  return _IMP_core.Centroid___ge__(self, *args)
4593 
4594  def __gt__(self, *args):
4595  r"""
4596  __gt__(Centroid self, Centroid o) -> bool
4597  __gt__(Centroid self, Particle d) -> bool
4598  """
4599  return _IMP_core.Centroid___gt__(self, *args)
4600 
4601  def __hash__(self):
4602  r"""__hash__(Centroid self) -> std::size_t"""
4603  return _IMP_core.Centroid___hash__(self)
4604 
4605  def __str__(self):
4606  r"""__str__(Centroid self) -> std::string"""
4607  return _IMP_core.Centroid___str__(self)
4608 
4609  def __repr__(self):
4610  r"""__repr__(Centroid self) -> std::string"""
4611  return _IMP_core.Centroid___repr__(self)
4612 
4613  def _get_as_binary(self):
4614  r"""_get_as_binary(Centroid self) -> PyObject *"""
4615  return _IMP_core.Centroid__get_as_binary(self)
4616 
4617  def _set_from_binary(self, p):
4618  r"""_set_from_binary(Centroid self, PyObject * p)"""
4619  return _IMP_core.Centroid__set_from_binary(self, p)
4620 
4621  def __getstate__(self):
4622  p = self._get_as_binary()
4623  if len(self.__dict__) > 1:
4624  d = self.__dict__.copy()
4625  del d['this']
4626  p = (d, p)
4627  return p
4628 
4629  def __setstate__(self, p):
4630  if not hasattr(self, 'this'):
4631  self.__init__()
4632  if isinstance(p, tuple):
4633  d, p = p
4634  self.__dict__.update(d)
4635  return self._set_from_binary(p)
4636 
4637  __swig_destroy__ = _IMP_core.delete_Centroid
4638 
4639 # Register Centroid in _IMP_core:
4640 _IMP_core.Centroid_swigregister(Centroid)
4641 class ChecksScoreState(IMP.ScoreState):
4642  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4643 
4644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4645 
4646  def __init__(self, *args):
4647  r"""
4648  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4649  __init__(ChecksScoreState self) -> ChecksScoreState
4650  """
4651  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4652 
4653  def get_number_of_checked(self):
4654  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4655  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4656 
4657  def do_before_evaluate(self):
4658  r"""do_before_evaluate(ChecksScoreState self)"""
4659  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4660 
4661  def do_after_evaluate(self, da):
4662  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4663  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4664 
4665  def do_get_outputs(self):
4666  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4667  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4668 
4669  def do_get_inputs(self):
4670  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4671  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4672 
4673  def get_version_info(self):
4674  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4675  return _IMP_core.ChecksScoreState_get_version_info(self)
4676  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4677 
4678  def __str__(self):
4679  r"""__str__(ChecksScoreState self) -> std::string"""
4680  return _IMP_core.ChecksScoreState___str__(self)
4681 
4682  def __repr__(self):
4683  r"""__repr__(ChecksScoreState self) -> std::string"""
4684  return _IMP_core.ChecksScoreState___repr__(self)
4685 
4686  @staticmethod
4687  def get_from(o):
4688  return _object_cast_to_ChecksScoreState(o)
4689 
4690 
4691  def _get_as_binary(self):
4692  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4693  return _IMP_core.ChecksScoreState__get_as_binary(self)
4694 
4695  def _set_from_binary(self, p):
4696  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4697  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4698 
4699  def __getstate__(self):
4700  p = self._get_as_binary()
4701  if len(self.__dict__) > 1:
4702  d = self.__dict__.copy()
4703  del d['this']
4704  p = (d, p)
4705  return p
4706 
4707  def __setstate__(self, p):
4708  if not hasattr(self, 'this'):
4709  self.__init__()
4710  if isinstance(p, tuple):
4711  d, p = p
4712  self.__dict__.update(d)
4713  return self._set_from_binary(p)
4714 
4715 
4716 # Register ChecksScoreState in _IMP_core:
4717 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4718 class ChildrenRefiner(IMP.Refiner):
4719  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4720 
4721  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4722 
4723  def __init__(self, tr):
4724  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4725  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4726 
4727  def do_get_inputs(self, m, pis):
4728  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4729  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4730 
4731  def get_version_info(self):
4732  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4733  return _IMP_core.ChildrenRefiner_get_version_info(self)
4734  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4735 
4736  def __str__(self):
4737  r"""__str__(ChildrenRefiner self) -> std::string"""
4738  return _IMP_core.ChildrenRefiner___str__(self)
4739 
4740  def __repr__(self):
4741  r"""__repr__(ChildrenRefiner self) -> std::string"""
4742  return _IMP_core.ChildrenRefiner___repr__(self)
4743 
4744  @staticmethod
4745  def get_from(o):
4746  return _object_cast_to_ChildrenRefiner(o)
4747 
4748 
4749 # Register ChildrenRefiner in _IMP_core:
4750 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4751 class ClosedCubicSpline(IMP.UnaryFunction):
4752  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4753 
4754  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4755 
4756  def __init__(self, values, minrange, spacing):
4757  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4758  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4759 
4760  def get_version_info(self):
4761  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4762  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4763  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4764 
4765  def do_show(self, out):
4766  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4767  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4768 
4769  def get_minrange(self):
4770  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4771  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4772 
4773  def get_spacing(self):
4774  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4775  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4776 
4777  def get_values(self):
4778  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4779  return _IMP_core.ClosedCubicSpline_get_values(self)
4780 
4781  def get_second_derivatives(self):
4782  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4783  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4784 
4785  def __str__(self):
4786  r"""__str__(ClosedCubicSpline self) -> std::string"""
4787  return _IMP_core.ClosedCubicSpline___str__(self)
4788 
4789  def __repr__(self):
4790  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4791  return _IMP_core.ClosedCubicSpline___repr__(self)
4792 
4793  @staticmethod
4794  def get_from(o):
4795  return _object_cast_to_ClosedCubicSpline(o)
4796 
4797 
4798  def _get_jax(self):
4799  import jax.numpy as jnp
4800  from IMP.core._jax_util import _spline
4801  def score(feature, minrange, spacing, values, second_derivs):
4802  # determine bin index and thus the cubic fragment to use:
4803  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4804  # enforce periodicity - wrap around from n to 0
4805  highbin = jnp.remainder(lowbin + 1, len(values))
4806  return _spline(feature, minrange, lowbin, highbin, spacing,
4807  values, second_derivs)
4808  return functools.partial(
4809  score, minrange=self.get_minrange(),
4810  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4811  second_derivs=jnp.asarray(self.get_second_derivatives()))
4812 
4813 
4814 # Register ClosedCubicSpline in _IMP_core:
4815 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4816 class KClosePairsPairScore(IMP.PairScore):
4817  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4818 
4819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4820 
4821  def __init__(self, f, r, k=1):
4822  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4823  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4824 
4825  def get_close_pairs(self, pp):
4826  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4827  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4828 
4829  def create_current_decomposition(self, m, vt):
4830  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4831  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4832 
4833  def do_get_inputs(self, m, pis):
4834  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4835  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4836 
4837  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4838  r"""evaluate_indexes(KClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4839  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4840 
4841  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4842  r"""evaluate_indexes_scores(KClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4843  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4844 
4845  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4846  r"""evaluate_indexes_delta(KClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4847  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4848 
4849  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4850  r"""evaluate_if_good_indexes(KClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4851  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4852 
4853  def get_version_info(self):
4854  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4855  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4856  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4857 
4858  def __str__(self):
4859  r"""__str__(KClosePairsPairScore self) -> std::string"""
4860  return _IMP_core.KClosePairsPairScore___str__(self)
4861 
4862  def __repr__(self):
4863  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4864  return _IMP_core.KClosePairsPairScore___repr__(self)
4865 
4866  @staticmethod
4867  def get_from(o):
4868  return _object_cast_to_KClosePairsPairScore(o)
4869 
4870 
4871 # Register KClosePairsPairScore in _IMP_core:
4872 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4873 class ClosePairsPairScore(IMP.PairScore):
4874  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4875 
4876  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4877 
4878  def __init__(self, f, r, max_distance):
4879  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4880  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4881 
4882  def get_close_pairs(self, pp):
4883  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4884  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4885 
4886  def create_current_decomposition(self, m, vt):
4887  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4888  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4889 
4890  def do_get_inputs(self, m, pis):
4891  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4892  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4893 
4894  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4895  r"""evaluate_indexes(ClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4896  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4897 
4898  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4899  r"""evaluate_indexes_scores(ClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4900  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4901 
4902  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4903  r"""evaluate_indexes_delta(ClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4904  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4905 
4906  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4907  r"""evaluate_if_good_indexes(ClosePairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4908  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4909 
4910  def get_version_info(self):
4911  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4912  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4913  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4914 
4915  def __str__(self):
4916  r"""__str__(ClosePairsPairScore self) -> std::string"""
4917  return _IMP_core.ClosePairsPairScore___str__(self)
4918 
4919  def __repr__(self):
4920  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4921  return _IMP_core.ClosePairsPairScore___repr__(self)
4922 
4923  @staticmethod
4924  def get_from(o):
4925  return _object_cast_to_ClosePairsPairScore(o)
4926 
4927 
4928 # Register ClosePairsPairScore in _IMP_core:
4929 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4930 class ConjugateGradients(IMP.AttributeOptimizer):
4931  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4932 
4933  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4934 
4935  def __init__(self, *args):
4936  r"""
4937  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4938  __init__(ConjugateGradients self) -> ConjugateGradients
4939  """
4940  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4941 
4942  def set_gradient_threshold(self, t):
4943  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4944  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4945 
4946  def set_max_change(self, t):
4947  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4948  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4949 
4950  def do_optimize(self, max_steps):
4951  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4952  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4953 
4954  def get_version_info(self):
4955  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4956  return _IMP_core.ConjugateGradients_get_version_info(self)
4957  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4958 
4959  def __str__(self):
4960  r"""__str__(ConjugateGradients self) -> std::string"""
4961  return _IMP_core.ConjugateGradients___str__(self)
4962 
4963  def __repr__(self):
4964  r"""__repr__(ConjugateGradients self) -> std::string"""
4965  return _IMP_core.ConjugateGradients___repr__(self)
4966 
4967  @staticmethod
4968  def get_from(o):
4969  return _object_cast_to_ConjugateGradients(o)
4970 
4971 
4972  def _get_as_binary(self):
4973  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4974  return _IMP_core.ConjugateGradients__get_as_binary(self)
4975 
4976  def _set_from_binary(self, p):
4977  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4978  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4979 
4980  def __getstate__(self):
4981  p = self._get_as_binary()
4982  if len(self.__dict__) > 1:
4983  d = self.__dict__.copy()
4984  del d['this']
4985  p = (d, p)
4986  return p
4987 
4988  def __setstate__(self, p):
4989  if not hasattr(self, 'this'):
4990  self.__init__()
4991  if isinstance(p, tuple):
4992  d, p = p
4993  self.__dict__.update(d)
4994  return self._set_from_binary(p)
4995 
4996 
4997 # Register ConjugateGradients in _IMP_core:
4998 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4999 class ConnectivityRestraint(IMP.Restraint):
5000  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
5001 
5002  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5003 
5004  def __init__(self, ps, sc):
5005  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
5006  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
5007 
5008  def get_connected_index_pairs(self):
5009  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
5010  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
5011 
5012  def get_pair_score(self):
5013  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
5014  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
5015 
5016  def do_create_current_decomposition(self):
5017  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
5018  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
5019 
5020  def do_get_inputs(self):
5021  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
5022  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
5023 
5024  def get_version_info(self):
5025  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
5026  return _IMP_core.ConnectivityRestraint_get_version_info(self)
5027  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
5028 
5029  def __str__(self):
5030  r"""__str__(ConnectivityRestraint self) -> std::string"""
5031  return _IMP_core.ConnectivityRestraint___str__(self)
5032 
5033  def __repr__(self):
5034  r"""__repr__(ConnectivityRestraint self) -> std::string"""
5035  return _IMP_core.ConnectivityRestraint___repr__(self)
5036 
5037  @staticmethod
5038  def get_from(o):
5039  return _object_cast_to_ConnectivityRestraint(o)
5040 
5041 
5042 # Register ConnectivityRestraint in _IMP_core:
5043 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
5044 class ConstantRestraint(IMP.Restraint):
5045  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
5046 
5047  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5048 
5049  def __init__(self, *args):
5050  r"""
5051  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5052  __init__(ConstantRestraint self) -> ConstantRestraint
5053  """
5054  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5055 
5056  def do_get_inputs(self):
5057  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5058  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5059 
5060  def get_version_info(self):
5061  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5062  return _IMP_core.ConstantRestraint_get_version_info(self)
5063  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5064 
5065  def __str__(self):
5066  r"""__str__(ConstantRestraint self) -> std::string"""
5067  return _IMP_core.ConstantRestraint___str__(self)
5068 
5069  def __repr__(self):
5070  r"""__repr__(ConstantRestraint self) -> std::string"""
5071  return _IMP_core.ConstantRestraint___repr__(self)
5072 
5073  @staticmethod
5074  def get_from(o):
5075  return _object_cast_to_ConstantRestraint(o)
5076 
5077 
5078  def _get_as_binary(self):
5079  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5080  return _IMP_core.ConstantRestraint__get_as_binary(self)
5081 
5082  def _set_from_binary(self, p):
5083  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5084  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5085 
5086  def __getstate__(self):
5087  p = self._get_as_binary()
5088  if len(self.__dict__) > 1:
5089  d = self.__dict__.copy()
5090  del d['this']
5091  p = (d, p)
5092  return p
5093 
5094  def __setstate__(self, p):
5095  if not hasattr(self, 'this'):
5096  self.__init__()
5097  if isinstance(p, tuple):
5098  d, p = p
5099  self.__dict__.update(d)
5100  return self._set_from_binary(p)
5101 
5102 
5103 # Register ConstantRestraint in _IMP_core:
5104 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5105 class Cosine(IMP.UnaryFunction):
5106  r"""Proxy of C++ IMP::core::Cosine class."""
5107 
5108  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5109 
5110  def __init__(self, *args):
5111  r"""
5112  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5113  __init__(Cosine self) -> Cosine
5114  """
5115  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5116 
5117  def get_force_constant(self):
5118  r"""get_force_constant(Cosine self) -> IMP::Float"""
5119  return _IMP_core.Cosine_get_force_constant(self)
5120 
5121  def get_periodicity(self):
5122  r"""get_periodicity(Cosine self) -> int"""
5123  return _IMP_core.Cosine_get_periodicity(self)
5124 
5125  def get_phase(self):
5126  r"""get_phase(Cosine self) -> IMP::Float"""
5127  return _IMP_core.Cosine_get_phase(self)
5128 
5129  def get_version_info(self):
5130  r"""get_version_info(Cosine self) -> VersionInfo"""
5131  return _IMP_core.Cosine_get_version_info(self)
5132  __swig_destroy__ = _IMP_core.delete_Cosine
5133 
5134  def do_show(self, out):
5135  r"""do_show(Cosine self, _ostream out)"""
5136  return _IMP_core.Cosine_do_show(self, out)
5137 
5138  def __str__(self):
5139  r"""__str__(Cosine self) -> std::string"""
5140  return _IMP_core.Cosine___str__(self)
5141 
5142  def __repr__(self):
5143  r"""__repr__(Cosine self) -> std::string"""
5144  return _IMP_core.Cosine___repr__(self)
5145 
5146  @staticmethod
5147  def get_from(o):
5148  return _object_cast_to_Cosine(o)
5149 
5150 
5151  def _get_as_binary(self):
5152  r"""_get_as_binary(Cosine self) -> PyObject *"""
5153  return _IMP_core.Cosine__get_as_binary(self)
5154 
5155  def _set_from_binary(self, p):
5156  r"""_set_from_binary(Cosine self, PyObject * p)"""
5157  return _IMP_core.Cosine__set_from_binary(self, p)
5158 
5159  def __getstate__(self):
5160  p = self._get_as_binary()
5161  if len(self.__dict__) > 1:
5162  d = self.__dict__.copy()
5163  del d['this']
5164  p = (d, p)
5165  return p
5166 
5167  def __setstate__(self, p):
5168  if not hasattr(self, 'this'):
5169  self.__init__()
5170  if isinstance(p, tuple):
5171  d, p = p
5172  self.__dict__.update(d)
5173  return self._set_from_binary(p)
5174 
5175 
5176  def _get_jax(self):
5177  import jax.numpy as jnp
5178  def score(val, k, period, phase):
5179  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5180  return functools.partial(score, k=self.get_force_constant(),
5181  period=self.get_periodicity(),
5182  phase=self.get_phase())
5183 
5184 
5185 # Register Cosine in _IMP_core:
5186 _IMP_core.Cosine_swigregister(Cosine)
5187 class CoverRefined(IMP.SingletonModifier):
5188  r"""Proxy of C++ IMP::core::CoverRefined class."""
5189 
5190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5191 
5192  def __init__(self, ref, slack=0):
5193  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5194  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5195 
5196  def set_slack(self, slack):
5197  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5198  return _IMP_core.CoverRefined_set_slack(self, slack)
5199 
5200  def do_get_inputs(self, m, pis):
5201  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5202  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5203 
5204  def do_get_outputs(self, m, pis):
5205  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5206  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5207 
5208  def get_version_info(self):
5209  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5210  return _IMP_core.CoverRefined_get_version_info(self)
5211  __swig_destroy__ = _IMP_core.delete_CoverRefined
5212 
5213  def __str__(self):
5214  r"""__str__(CoverRefined self) -> std::string"""
5215  return _IMP_core.CoverRefined___str__(self)
5216 
5217  def __repr__(self):
5218  r"""__repr__(CoverRefined self) -> std::string"""
5219  return _IMP_core.CoverRefined___repr__(self)
5220 
5221  @staticmethod
5222  def get_from(o):
5223  return _object_cast_to_CoverRefined(o)
5224 
5225 
5226 # Register CoverRefined in _IMP_core:
5227 _IMP_core.CoverRefined_swigregister(CoverRefined)
5228 class Cover(XYZR):
5229  r"""Proxy of C++ IMP::core::Cover class."""
5230 
5231  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5232 
5233  def get_constraint(self):
5234  r"""get_constraint(Cover self) -> Constraint"""
5235  return _IMP_core.Cover_get_constraint(self)
5236 
5237  def __init__(self, *args):
5238  r"""
5239  __init__(Cover self) -> Cover
5240  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5241  __init__(Cover self, _ParticleAdaptor d) -> Cover
5242  """
5243  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5244 
5245  def show(self, *args):
5246  r"""show(Cover self, _ostream out=std::cout)"""
5247  return _IMP_core.Cover_show(self, *args)
5248 
5249  @staticmethod
5250  def setup_particle(*args):
5251  r"""
5252  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5253  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5254  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5255  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5256  """
5257  return _IMP_core.Cover_setup_particle(*args)
5258 
5259  @staticmethod
5260  def get_is_setup(*args):
5261  r"""
5262  get_is_setup(_ParticleAdaptor p) -> bool
5263  get_is_setup(Model m, ParticleIndex pi) -> bool
5264  """
5265  return _IMP_core.Cover_get_is_setup(*args)
5266 
5267  def add_attribute(self, *args):
5268  r"""
5269  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5270  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5271  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5272  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5273  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5274  add_attribute(Cover self, StringKey a0, IMP::String a1)
5275  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5276  add_attribute(Cover self, ObjectKey a0, Object a1)
5277  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5278  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5279  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5280  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5281  """
5282  return _IMP_core.Cover_add_attribute(self, *args)
5283 
5284  def get_value(self, *args):
5285  r"""
5286  get_value(Cover self, FloatKey a0) -> IMP::Float
5287  get_value(Cover self, IntKey a0) -> IMP::Int
5288  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5289  get_value(Cover self, IntsKey a0) -> IMP::Ints
5290  get_value(Cover self, StringKey a0) -> IMP::String
5291  get_value(Cover self, ParticleIndexKey a0) -> Particle
5292  get_value(Cover self, ObjectKey a0) -> Object
5293  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5294  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5295  get_value(Cover self, SparseStringKey a0) -> IMP::String
5296  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5297  """
5298  return _IMP_core.Cover_get_value(self, *args)
5299 
5300  def set_value(self, *args):
5301  r"""
5302  set_value(Cover self, FloatKey a0, IMP::Float a1)
5303  set_value(Cover self, IntKey a0, IMP::Int a1)
5304  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5305  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5306  set_value(Cover self, StringKey a0, IMP::String a1)
5307  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5308  set_value(Cover self, ObjectKey a0, Object a1)
5309  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5310  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5311  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5312  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5313  """
5314  return _IMP_core.Cover_set_value(self, *args)
5315 
5316  def remove_attribute(self, *args):
5317  r"""
5318  remove_attribute(Cover self, FloatKey a0)
5319  remove_attribute(Cover self, IntKey a0)
5320  remove_attribute(Cover self, FloatsKey a0)
5321  remove_attribute(Cover self, IntsKey a0)
5322  remove_attribute(Cover self, StringKey a0)
5323  remove_attribute(Cover self, ParticleIndexKey a0)
5324  remove_attribute(Cover self, ObjectKey a0)
5325  remove_attribute(Cover self, SparseFloatKey a0)
5326  remove_attribute(Cover self, SparseIntKey a0)
5327  remove_attribute(Cover self, SparseStringKey a0)
5328  remove_attribute(Cover self, SparseParticleIndexKey a0)
5329  """
5330  return _IMP_core.Cover_remove_attribute(self, *args)
5331 
5332  def has_attribute(self, *args):
5333  r"""
5334  has_attribute(Cover self, FloatKey a0) -> bool
5335  has_attribute(Cover self, IntKey a0) -> bool
5336  has_attribute(Cover self, FloatsKey a0) -> bool
5337  has_attribute(Cover self, IntsKey a0) -> bool
5338  has_attribute(Cover self, StringKey a0) -> bool
5339  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5340  has_attribute(Cover self, ObjectKey a0) -> bool
5341  has_attribute(Cover self, SparseFloatKey a0) -> bool
5342  has_attribute(Cover self, SparseIntKey a0) -> bool
5343  has_attribute(Cover self, SparseStringKey a0) -> bool
5344  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5345  """
5346  return _IMP_core.Cover_has_attribute(self, *args)
5347 
5348  def get_derivative(self, a0):
5349  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5350  return _IMP_core.Cover_get_derivative(self, a0)
5351 
5352  def get_name(self):
5353  r"""get_name(Cover self) -> std::string"""
5354  return _IMP_core.Cover_get_name(self)
5355 
5356  def clear_caches(self):
5357  r"""clear_caches(Cover self)"""
5358  return _IMP_core.Cover_clear_caches(self)
5359 
5360  def set_name(self, a0):
5361  r"""set_name(Cover self, std::string a0)"""
5362  return _IMP_core.Cover_set_name(self, a0)
5363 
5364  def set_check_level(self, a0):
5365  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5366  return _IMP_core.Cover_set_check_level(self, a0)
5367 
5368  def add_to_derivative(self, a0, a1, a2):
5369  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5370  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5371 
5372  def set_is_optimized(self, a0, a1):
5373  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5374  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5375 
5376  def get_is_optimized(self, a0):
5377  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5378  return _IMP_core.Cover_get_is_optimized(self, a0)
5379 
5380  def get_check_level(self):
5381  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5382  return _IMP_core.Cover_get_check_level(self)
5383 
5384  def __eq__(self, *args):
5385  r"""
5386  __eq__(Cover self, Cover o) -> bool
5387  __eq__(Cover self, Particle d) -> bool
5388  """
5389  return _IMP_core.Cover___eq__(self, *args)
5390 
5391  def __ne__(self, *args):
5392  r"""
5393  __ne__(Cover self, Cover o) -> bool
5394  __ne__(Cover self, Particle d) -> bool
5395  """
5396  return _IMP_core.Cover___ne__(self, *args)
5397 
5398  def __le__(self, *args):
5399  r"""
5400  __le__(Cover self, Cover o) -> bool
5401  __le__(Cover self, Particle d) -> bool
5402  """
5403  return _IMP_core.Cover___le__(self, *args)
5404 
5405  def __lt__(self, *args):
5406  r"""
5407  __lt__(Cover self, Cover o) -> bool
5408  __lt__(Cover self, Particle d) -> bool
5409  """
5410  return _IMP_core.Cover___lt__(self, *args)
5411 
5412  def __ge__(self, *args):
5413  r"""
5414  __ge__(Cover self, Cover o) -> bool
5415  __ge__(Cover self, Particle d) -> bool
5416  """
5417  return _IMP_core.Cover___ge__(self, *args)
5418 
5419  def __gt__(self, *args):
5420  r"""
5421  __gt__(Cover self, Cover o) -> bool
5422  __gt__(Cover self, Particle d) -> bool
5423  """
5424  return _IMP_core.Cover___gt__(self, *args)
5425 
5426  def __hash__(self):
5427  r"""__hash__(Cover self) -> std::size_t"""
5428  return _IMP_core.Cover___hash__(self)
5429 
5430  def __str__(self):
5431  r"""__str__(Cover self) -> std::string"""
5432  return _IMP_core.Cover___str__(self)
5433 
5434  def __repr__(self):
5435  r"""__repr__(Cover self) -> std::string"""
5436  return _IMP_core.Cover___repr__(self)
5437 
5438  def _get_as_binary(self):
5439  r"""_get_as_binary(Cover self) -> PyObject *"""
5440  return _IMP_core.Cover__get_as_binary(self)
5441 
5442  def _set_from_binary(self, p):
5443  r"""_set_from_binary(Cover self, PyObject * p)"""
5444  return _IMP_core.Cover__set_from_binary(self, p)
5445 
5446  def __getstate__(self):
5447  p = self._get_as_binary()
5448  if len(self.__dict__) > 1:
5449  d = self.__dict__.copy()
5450  del d['this']
5451  p = (d, p)
5452  return p
5453 
5454  def __setstate__(self, p):
5455  if not hasattr(self, 'this'):
5456  self.__init__()
5457  if isinstance(p, tuple):
5458  d, p = p
5459  self.__dict__.update(d)
5460  return self._set_from_binary(p)
5461 
5462  __swig_destroy__ = _IMP_core.delete_Cover
5463 
5464 # Register Cover in _IMP_core:
5465 _IMP_core.Cover_swigregister(Cover)
5466 class DerivativesFromRefined(IMP.SingletonModifier):
5467  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5468 
5469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5470 
5471  def __init__(self, *args):
5472  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5473  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5474 
5475  def do_get_inputs(self, m, pis):
5476  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5477  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5478 
5479  def do_get_outputs(self, m, pis):
5480  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5481  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5482 
5483  def get_version_info(self):
5484  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5485  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5486  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5487 
5488  def __str__(self):
5489  r"""__str__(DerivativesFromRefined self) -> std::string"""
5490  return _IMP_core.DerivativesFromRefined___str__(self)
5491 
5492  def __repr__(self):
5493  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5494  return _IMP_core.DerivativesFromRefined___repr__(self)
5495 
5496  @staticmethod
5497  def get_from(o):
5498  return _object_cast_to_DerivativesFromRefined(o)
5499 
5500 
5501 # Register DerivativesFromRefined in _IMP_core:
5502 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5503 class DerivativesToRefined(IMP.SingletonModifier):
5504  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5505 
5506  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5507 
5508  def __init__(self, *args):
5509  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5510  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5511 
5512  def do_get_inputs(self, m, pis):
5513  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5514  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5515 
5516  def do_get_outputs(self, m, pis):
5517  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5518  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5519 
5520  def get_version_info(self):
5521  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5522  return _IMP_core.DerivativesToRefined_get_version_info(self)
5523  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5524 
5525  def __str__(self):
5526  r"""__str__(DerivativesToRefined self) -> std::string"""
5527  return _IMP_core.DerivativesToRefined___str__(self)
5528 
5529  def __repr__(self):
5530  r"""__repr__(DerivativesToRefined self) -> std::string"""
5531  return _IMP_core.DerivativesToRefined___repr__(self)
5532 
5533  @staticmethod
5534  def get_from(o):
5535  return _object_cast_to_DerivativesToRefined(o)
5536 
5537 
5538 # Register DerivativesToRefined in _IMP_core:
5539 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5540 class DiameterRestraint(IMP.Restraint):
5541  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5542 
5543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5544 
5545  def __init__(self, f, sc, diameter):
5546  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5547  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5548 
5549  def do_get_inputs(self):
5550  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5551  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5552 
5553  def get_version_info(self):
5554  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5555  return _IMP_core.DiameterRestraint_get_version_info(self)
5556  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5557 
5558  def do_create_decomposition(self):
5559  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5560  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5561 
5562  def do_create_current_decomposition(self):
5563  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5564  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5565 
5566  def __str__(self):
5567  r"""__str__(DiameterRestraint self) -> std::string"""
5568  return _IMP_core.DiameterRestraint___str__(self)
5569 
5570  def __repr__(self):
5571  r"""__repr__(DiameterRestraint self) -> std::string"""
5572  return _IMP_core.DiameterRestraint___repr__(self)
5573 
5574  @staticmethod
5575  def get_from(o):
5576  return _object_cast_to_DiameterRestraint(o)
5577 
5578 
5579 # Register DiameterRestraint in _IMP_core:
5580 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5581 class Transform(IMP.SingletonModifier):
5582  r"""Proxy of C++ IMP::core::Transform class."""
5583 
5584  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5585 
5586  def __init__(self, *args):
5587  r"""
5588  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5589  __init__(Transform self) -> Transform
5590  """
5591  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5592 
5593  def do_get_inputs(self, m, pis):
5594  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5595  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5596 
5597  def do_get_outputs(self, m, pis):
5598  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5599  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5600 
5601  def get_version_info(self):
5602  r"""get_version_info(Transform self) -> VersionInfo"""
5603  return _IMP_core.Transform_get_version_info(self)
5604  __swig_destroy__ = _IMP_core.delete_Transform
5605 
5606  def __str__(self):
5607  r"""__str__(Transform self) -> std::string"""
5608  return _IMP_core.Transform___str__(self)
5609 
5610  def __repr__(self):
5611  r"""__repr__(Transform self) -> std::string"""
5612  return _IMP_core.Transform___repr__(self)
5613 
5614  @staticmethod
5615  def get_from(o):
5616  return _object_cast_to_Transform(o)
5617 
5618 
5619  def _get_as_binary(self):
5620  r"""_get_as_binary(Transform self) -> PyObject *"""
5621  return _IMP_core.Transform__get_as_binary(self)
5622 
5623  def _set_from_binary(self, p):
5624  r"""_set_from_binary(Transform self, PyObject * p)"""
5625  return _IMP_core.Transform__set_from_binary(self, p)
5626 
5627  def __getstate__(self):
5628  p = self._get_as_binary()
5629  if len(self.__dict__) > 1:
5630  d = self.__dict__.copy()
5631  del d['this']
5632  p = (d, p)
5633  return p
5634 
5635  def __setstate__(self, p):
5636  if not hasattr(self, 'this'):
5637  self.__init__()
5638  if isinstance(p, tuple):
5639  d, p = p
5640  self.__dict__.update(d)
5641  return self._set_from_binary(p)
5642 
5643 
5644 # Register Transform in _IMP_core:
5645 _IMP_core.Transform_swigregister(Transform)
5646 class Reference(IMP.Decorator):
5647  r"""Proxy of C++ IMP::core::Reference class."""
5648 
5649  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5650 
5651  def __init__(self, *args):
5652  r"""
5653  __init__(Reference self) -> Reference
5654  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5655  __init__(Reference self, _ParticleAdaptor d) -> Reference
5656  """
5657  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5658 
5659  def show(self, *args):
5660  r"""show(Reference self, _ostream out=std::cout)"""
5661  return _IMP_core.Reference_show(self, *args)
5662 
5663  @staticmethod
5664  def setup_particle(*args):
5665  r"""
5666  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5667  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5668  """
5669  return _IMP_core.Reference_setup_particle(*args)
5670 
5671  def get_reference_particle(self):
5672  r"""get_reference_particle(Reference self) -> Particle"""
5673  return _IMP_core.Reference_get_reference_particle(self)
5674 
5675  @staticmethod
5676  def get_is_setup(*args):
5677  r"""
5678  get_is_setup(_ParticleAdaptor p) -> bool
5679  get_is_setup(Model m, ParticleIndex pi) -> bool
5680  """
5681  return _IMP_core.Reference_get_is_setup(*args)
5682 
5683  @staticmethod
5684  def get_reference_key():
5685  r"""get_reference_key() -> ParticleIndexKey"""
5686  return _IMP_core.Reference_get_reference_key()
5687 
5688  def add_attribute(self, *args):
5689  r"""
5690  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5691  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5692  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5693  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5694  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5695  add_attribute(Reference self, StringKey a0, IMP::String a1)
5696  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5697  add_attribute(Reference self, ObjectKey a0, Object a1)
5698  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5699  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5700  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5701  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5702  """
5703  return _IMP_core.Reference_add_attribute(self, *args)
5704 
5705  def get_value(self, *args):
5706  r"""
5707  get_value(Reference self, FloatKey a0) -> IMP::Float
5708  get_value(Reference self, IntKey a0) -> IMP::Int
5709  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5710  get_value(Reference self, IntsKey a0) -> IMP::Ints
5711  get_value(Reference self, StringKey a0) -> IMP::String
5712  get_value(Reference self, ParticleIndexKey a0) -> Particle
5713  get_value(Reference self, ObjectKey a0) -> Object
5714  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5715  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5716  get_value(Reference self, SparseStringKey a0) -> IMP::String
5717  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5718  """
5719  return _IMP_core.Reference_get_value(self, *args)
5720 
5721  def set_value(self, *args):
5722  r"""
5723  set_value(Reference self, FloatKey a0, IMP::Float a1)
5724  set_value(Reference self, IntKey a0, IMP::Int a1)
5725  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5726  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5727  set_value(Reference self, StringKey a0, IMP::String a1)
5728  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5729  set_value(Reference self, ObjectKey a0, Object a1)
5730  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5731  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5732  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5733  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5734  """
5735  return _IMP_core.Reference_set_value(self, *args)
5736 
5737  def remove_attribute(self, *args):
5738  r"""
5739  remove_attribute(Reference self, FloatKey a0)
5740  remove_attribute(Reference self, IntKey a0)
5741  remove_attribute(Reference self, FloatsKey a0)
5742  remove_attribute(Reference self, IntsKey a0)
5743  remove_attribute(Reference self, StringKey a0)
5744  remove_attribute(Reference self, ParticleIndexKey a0)
5745  remove_attribute(Reference self, ObjectKey a0)
5746  remove_attribute(Reference self, SparseFloatKey a0)
5747  remove_attribute(Reference self, SparseIntKey a0)
5748  remove_attribute(Reference self, SparseStringKey a0)
5749  remove_attribute(Reference self, SparseParticleIndexKey a0)
5750  """
5751  return _IMP_core.Reference_remove_attribute(self, *args)
5752 
5753  def has_attribute(self, *args):
5754  r"""
5755  has_attribute(Reference self, FloatKey a0) -> bool
5756  has_attribute(Reference self, IntKey a0) -> bool
5757  has_attribute(Reference self, FloatsKey a0) -> bool
5758  has_attribute(Reference self, IntsKey a0) -> bool
5759  has_attribute(Reference self, StringKey a0) -> bool
5760  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5761  has_attribute(Reference self, ObjectKey a0) -> bool
5762  has_attribute(Reference self, SparseFloatKey a0) -> bool
5763  has_attribute(Reference self, SparseIntKey a0) -> bool
5764  has_attribute(Reference self, SparseStringKey a0) -> bool
5765  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5766  """
5767  return _IMP_core.Reference_has_attribute(self, *args)
5768 
5769  def get_derivative(self, a0):
5770  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5771  return _IMP_core.Reference_get_derivative(self, a0)
5772 
5773  def get_name(self):
5774  r"""get_name(Reference self) -> std::string"""
5775  return _IMP_core.Reference_get_name(self)
5776 
5777  def clear_caches(self):
5778  r"""clear_caches(Reference self)"""
5779  return _IMP_core.Reference_clear_caches(self)
5780 
5781  def set_name(self, a0):
5782  r"""set_name(Reference self, std::string a0)"""
5783  return _IMP_core.Reference_set_name(self, a0)
5784 
5785  def set_check_level(self, a0):
5786  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5787  return _IMP_core.Reference_set_check_level(self, a0)
5788 
5789  def add_to_derivative(self, a0, a1, a2):
5790  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5791  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5792 
5793  def set_is_optimized(self, a0, a1):
5794  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5795  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5796 
5797  def get_is_optimized(self, a0):
5798  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5799  return _IMP_core.Reference_get_is_optimized(self, a0)
5800 
5801  def get_check_level(self):
5802  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5803  return _IMP_core.Reference_get_check_level(self)
5804 
5805  def __eq__(self, *args):
5806  r"""
5807  __eq__(Reference self, Reference o) -> bool
5808  __eq__(Reference self, Particle d) -> bool
5809  """
5810  return _IMP_core.Reference___eq__(self, *args)
5811 
5812  def __ne__(self, *args):
5813  r"""
5814  __ne__(Reference self, Reference o) -> bool
5815  __ne__(Reference self, Particle d) -> bool
5816  """
5817  return _IMP_core.Reference___ne__(self, *args)
5818 
5819  def __le__(self, *args):
5820  r"""
5821  __le__(Reference self, Reference o) -> bool
5822  __le__(Reference self, Particle d) -> bool
5823  """
5824  return _IMP_core.Reference___le__(self, *args)
5825 
5826  def __lt__(self, *args):
5827  r"""
5828  __lt__(Reference self, Reference o) -> bool
5829  __lt__(Reference self, Particle d) -> bool
5830  """
5831  return _IMP_core.Reference___lt__(self, *args)
5832 
5833  def __ge__(self, *args):
5834  r"""
5835  __ge__(Reference self, Reference o) -> bool
5836  __ge__(Reference self, Particle d) -> bool
5837  """
5838  return _IMP_core.Reference___ge__(self, *args)
5839 
5840  def __gt__(self, *args):
5841  r"""
5842  __gt__(Reference self, Reference o) -> bool
5843  __gt__(Reference self, Particle d) -> bool
5844  """
5845  return _IMP_core.Reference___gt__(self, *args)
5846 
5847  def __hash__(self):
5848  r"""__hash__(Reference self) -> std::size_t"""
5849  return _IMP_core.Reference___hash__(self)
5850 
5851  def __str__(self):
5852  r"""__str__(Reference self) -> std::string"""
5853  return _IMP_core.Reference___str__(self)
5854 
5855  def __repr__(self):
5856  r"""__repr__(Reference self) -> std::string"""
5857  return _IMP_core.Reference___repr__(self)
5858 
5859  def _get_as_binary(self):
5860  r"""_get_as_binary(Reference self) -> PyObject *"""
5861  return _IMP_core.Reference__get_as_binary(self)
5862 
5863  def _set_from_binary(self, p):
5864  r"""_set_from_binary(Reference self, PyObject * p)"""
5865  return _IMP_core.Reference__set_from_binary(self, p)
5866 
5867  def __getstate__(self):
5868  p = self._get_as_binary()
5869  if len(self.__dict__) > 1:
5870  d = self.__dict__.copy()
5871  del d['this']
5872  p = (d, p)
5873  return p
5874 
5875  def __setstate__(self, p):
5876  if not hasattr(self, 'this'):
5877  self.__init__()
5878  if isinstance(p, tuple):
5879  d, p = p
5880  self.__dict__.update(d)
5881  return self._set_from_binary(p)
5882 
5883  __swig_destroy__ = _IMP_core.delete_Reference
5884 
5885 # Register Reference in _IMP_core:
5886 _IMP_core.Reference_swigregister(Reference)
5887 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5888  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5889 
5890  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5891 
5892  def __init__(self, t, r):
5893  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5894  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5895 
5896  def do_get_inputs(self, m, pis):
5897  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5898  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5899 
5900  def do_get_outputs(self, m, pis):
5901  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5902  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5903 
5904  def get_version_info(self):
5905  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5906  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5907  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5908 
5909  def __str__(self):
5910  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5911  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5912 
5913  def __repr__(self):
5914  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5915  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5916 
5917  @staticmethod
5918  def get_from(o):
5919  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5920 
5921 
5922 # Register TransformationAndReflectionSymmetry in _IMP_core:
5923 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5924 class TransformationSymmetry(IMP.SingletonModifier):
5925  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5926 
5927  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5928 
5929  def __init__(self, *args):
5930  r"""
5931  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5932  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5933  """
5934  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5935 
5936  def get_transformation(self):
5937  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5938  return _IMP_core.TransformationSymmetry_get_transformation(self)
5939 
5940  def set_transformation(self, t):
5941  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5942  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5943 
5944  def do_get_inputs(self, m, pis):
5945  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5946  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5947 
5948  def do_get_outputs(self, m, pis):
5949  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5950  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5951 
5952  def get_version_info(self):
5953  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5954  return _IMP_core.TransformationSymmetry_get_version_info(self)
5955  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5956 
5957  def __str__(self):
5958  r"""__str__(TransformationSymmetry self) -> std::string"""
5959  return _IMP_core.TransformationSymmetry___str__(self)
5960 
5961  def __repr__(self):
5962  r"""__repr__(TransformationSymmetry self) -> std::string"""
5963  return _IMP_core.TransformationSymmetry___repr__(self)
5964 
5965  @staticmethod
5966  def get_from(o):
5967  return _object_cast_to_TransformationSymmetry(o)
5968 
5969 
5970 # Register TransformationSymmetry in _IMP_core:
5971 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5972 class TransformationSymmetryMover(MonteCarloMover):
5973  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5974 
5975  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5976 
5977  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5978  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5979  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5980 
5981  def set_maximum_translation(self, mt):
5982  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5983  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5984 
5985  def set_maximum_rotation(self, mr):
5986  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5987  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5988 
5989  def get_maximum_translation(self):
5990  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5991  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5992 
5993  def get_maximum_rotation(self):
5994  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5995  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5996 
5997  def get_version_info(self):
5998  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5999  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
6000  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
6001 
6002  def __str__(self):
6003  r"""__str__(TransformationSymmetryMover self) -> std::string"""
6004  return _IMP_core.TransformationSymmetryMover___str__(self)
6005 
6006  def __repr__(self):
6007  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
6008  return _IMP_core.TransformationSymmetryMover___repr__(self)
6009 
6010  @staticmethod
6011  def get_from(o):
6012  return _object_cast_to_TransformationSymmetryMover(o)
6013 
6014 
6015 # Register TransformationSymmetryMover in _IMP_core:
6016 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
6017 class DihedralRestraint(IMP.Restraint):
6018  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
6019 
6020  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6021 
6022  def __init__(self, m, score_func, p1, p2, p3, p4):
6023  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
6024  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
6025 
6026  def do_get_inputs(self):
6027  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
6028  return _IMP_core.DihedralRestraint_do_get_inputs(self)
6029 
6030  def get_version_info(self):
6031  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
6032  return _IMP_core.DihedralRestraint_get_version_info(self)
6033  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
6034 
6035  def __str__(self):
6036  r"""__str__(DihedralRestraint self) -> std::string"""
6037  return _IMP_core.DihedralRestraint___str__(self)
6038 
6039  def __repr__(self):
6040  r"""__repr__(DihedralRestraint self) -> std::string"""
6041  return _IMP_core.DihedralRestraint___repr__(self)
6042 
6043  @staticmethod
6044  def get_from(o):
6045  return _object_cast_to_DihedralRestraint(o)
6046 
6047 
6048 # Register DihedralRestraint in _IMP_core:
6049 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6050 class DistancePairScore(IMP.PairScore):
6051  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6052 
6053  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6054 
6055  def __init__(self, *args):
6056  r"""
6057  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6058  __init__(DistancePairScore self) -> DistancePairScore
6059  """
6060  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6061 
6062  def do_get_inputs(self, m, pis):
6063  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6064  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6065 
6066  def get_score_functor(self, *args):
6067  r"""
6068  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6069  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6070  """
6071  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6072 
6073  def get_version_info(self):
6074  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6075  return _IMP_core.DistancePairScore_get_version_info(self)
6076  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6077 
6078  def __str__(self):
6079  r"""__str__(DistancePairScore self) -> std::string"""
6080  return _IMP_core.DistancePairScore___str__(self)
6081 
6082  def __repr__(self):
6083  r"""__repr__(DistancePairScore self) -> std::string"""
6084  return _IMP_core.DistancePairScore___repr__(self)
6085 
6086  @staticmethod
6087  def get_from(o):
6088  return _object_cast_to_DistancePairScore(o)
6089 
6090 
6091  def _get_as_binary(self):
6092  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6093  return _IMP_core.DistancePairScore__get_as_binary(self)
6094 
6095  def _set_from_binary(self, p):
6096  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6097  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6098 
6099  def __getstate__(self):
6100  p = self._get_as_binary()
6101  if len(self.__dict__) > 1:
6102  d = self.__dict__.copy()
6103  del d['this']
6104  p = (d, p)
6105  return p
6106 
6107  def __setstate__(self, p):
6108  if not hasattr(self, 'this'):
6109  self.__init__()
6110  if isinstance(p, tuple):
6111  d, p = p
6112  self.__dict__.update(d)
6113  return self._set_from_binary(p)
6114 
6115 
6116  def _get_jax(self, m, indexes):
6117  import jax.numpy as jnp
6118  def jax_score(jm, uf):
6119  xyzs = jm['xyz'][indexes]
6120  diff = xyzs[:,0] - xyzs[:,1]
6121  drs = jnp.linalg.norm(diff, axis=1)
6122  return uf(drs)
6123  sfnc = self.get_score_functor()
6124  uf = sfnc.get_unary_function().get_derived_object()
6125  f = functools.partial(jax_score, uf=uf._get_jax())
6126  return self._wrap_jax(m, f)
6127 
6128 
6129 # Register DistancePairScore in _IMP_core:
6130 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6131 class HarmonicDistancePairScore(IMP.PairScore):
6132  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6133 
6134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6135 
6136  def __init__(self, *args):
6137  r"""
6138  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6139  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6140  """
6141  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6142 
6143  def do_get_inputs(self, m, pis):
6144  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6145  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6146 
6147  def get_score_functor(self, *args):
6148  r"""
6149  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6150  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6151  """
6152  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6153 
6154  def get_x0(self):
6155  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6156  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6157 
6158  def get_k(self):
6159  r"""get_k(HarmonicDistancePairScore self) -> double"""
6160  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6161 
6162  def get_version_info(self):
6163  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6164  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6165  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6166 
6167  def __str__(self):
6168  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6169  return _IMP_core.HarmonicDistancePairScore___str__(self)
6170 
6171  def __repr__(self):
6172  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6173  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6174 
6175  @staticmethod
6176  def get_from(o):
6177  return _object_cast_to_HarmonicDistancePairScore(o)
6178 
6179 
6180  def _get_as_binary(self):
6181  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6182  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6183 
6184  def _set_from_binary(self, p):
6185  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6186  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6187 
6188  def __getstate__(self):
6189  p = self._get_as_binary()
6190  if len(self.__dict__) > 1:
6191  d = self.__dict__.copy()
6192  del d['this']
6193  p = (d, p)
6194  return p
6195 
6196  def __setstate__(self, p):
6197  if not hasattr(self, 'this'):
6198  self.__init__()
6199  if isinstance(p, tuple):
6200  d, p = p
6201  self.__dict__.update(d)
6202  return self._set_from_binary(p)
6203 
6204 
6205  def _get_jax(self, m, indexes):
6206  import jax.numpy as jnp
6207  def jax_harmonic_distance_pair_score(jm, d, k):
6208  xyzs = jm['xyz'][indexes]
6209  diff = xyzs[:,0] - xyzs[:,1]
6210  drs = jnp.linalg.norm(diff, axis=1)
6211  return 0.5 * k * (d - drs)**2
6212  f = functools.partial(jax_harmonic_distance_pair_score,
6213  d=self.get_x0(), k=self.get_k())
6214  return self._wrap_jax(m, f)
6215 
6216 
6217 # Register HarmonicDistancePairScore in _IMP_core:
6218 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6219 class DistanceRestraint(IMP.Restraint):
6220  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6221 
6222  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6223 
6224  def __init__(self, *args):
6225  r"""
6226  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6227  __init__(DistanceRestraint self) -> DistanceRestraint
6228  """
6229  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6230 
6231  def get_score_object(self):
6232  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6233  return _IMP_core.DistanceRestraint_get_score_object(self)
6234 
6235  def get_index(self):
6236  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6237  return _IMP_core.DistanceRestraint_get_index(self)
6238 
6239  def get_version_info(self):
6240  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6241  return _IMP_core.DistanceRestraint_get_version_info(self)
6242  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6243 
6244  def __str__(self):
6245  r"""__str__(DistanceRestraint self) -> std::string"""
6246  return _IMP_core.DistanceRestraint___str__(self)
6247 
6248  def __repr__(self):
6249  r"""__repr__(DistanceRestraint self) -> std::string"""
6250  return _IMP_core.DistanceRestraint___repr__(self)
6251 
6252  @staticmethod
6253  def get_from(o):
6254  return _object_cast_to_DistanceRestraint(o)
6255 
6256 
6257  def _get_as_binary(self):
6258  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6259  return _IMP_core.DistanceRestraint__get_as_binary(self)
6260 
6261  def _set_from_binary(self, p):
6262  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6263  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6264 
6265  def __getstate__(self):
6266  p = self._get_as_binary()
6267  if len(self.__dict__) > 1:
6268  d = self.__dict__.copy()
6269  del d['this']
6270  p = (d, p)
6271  return p
6272 
6273  def __setstate__(self, p):
6274  if not hasattr(self, 'this'):
6275  self.__init__()
6276  if isinstance(p, tuple):
6277  d, p = p
6278  self.__dict__.update(d)
6279  return self._set_from_binary(p)
6280 
6281 
6282  def _get_jax(self):
6283  import jax.numpy as jnp
6284  ps = self.get_score_object()
6285  indexes = jnp.array([self.get_index()])
6286  ji = ps._get_jax(self.get_model(), indexes)
6287  def score(jm):
6288  return jnp.sum(ji.score_func(jm))
6289  return self._wrap_jax(score)
6290 
6291 
6292 # Register DistanceRestraint in _IMP_core:
6293 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6294 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6295  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6296 
6297  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6298 
6299  def __init__(self, f, pt):
6300  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6301  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6302 
6303  def do_get_inputs(self, m, pis):
6304  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6305  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6306 
6307  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6308  r"""evaluate_indexes(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
6309  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6310 
6311  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6312  r"""evaluate_indexes_scores(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
6313  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6314 
6315  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6316  r"""evaluate_indexes_delta(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
6317  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6318 
6319  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6320  r"""evaluate_if_good_indexes(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
6321  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6322 
6323  def get_version_info(self):
6324  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6325  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6326  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6327 
6328  def __str__(self):
6329  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6330  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6331 
6332  def __repr__(self):
6333  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6334  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6335 
6336  @staticmethod
6337  def get_from(o):
6338  return _object_cast_to_SphereDistanceToSingletonScore(o)
6339 
6340 
6341 # Register SphereDistanceToSingletonScore in _IMP_core:
6342 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6343 class ExcludedVolumeRestraint(IMP.Restraint):
6344  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6345 
6346  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6347 
6348  def __init__(self, *args):
6349  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6350  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6351 
6352  def do_get_inputs(self):
6353  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6354  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6355 
6356  def get_version_info(self):
6357  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6358  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6359  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6360 
6361  def do_create_decomposition(self):
6362  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6363  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6364 
6365  def do_create_current_decomposition(self):
6366  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6367  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6368 
6369  def get_indexes(self):
6370  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6371  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6372  def __get_pair_filters(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_pair_filters, getfunc=self.get_pair_filter, erasefunc=self.erase_pair_filter, appendfunc=self.add_pair_filter, extendfunc=self.add_pair_filters, clearfunc=self.clear_pair_filters, indexfunc=self._python_index_pair_filter)
6373  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6374  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6375  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6376 
6377  def remove_pair_filter(self, d):
6378  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6379  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6380 
6381  def _python_index_pair_filter(self, d, start, stop):
6382  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6383  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6384 
6385  def remove_pair_filters(self, d):
6386  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6387  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6388 
6389  def set_pair_filters(self, ps):
6390  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6391  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6392 
6393  def set_pair_filters_order(self, objs):
6394  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6395  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6396 
6397  def add_pair_filter(self, obj):
6398  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6399  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6400 
6401  def add_pair_filters(self, objs):
6402  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6403  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6404 
6405  def clear_pair_filters(self):
6406  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6407  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6408 
6409  def get_number_of_pair_filters(self):
6410  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6411  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6412 
6413  def get_has_pair_filters(self):
6414  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6415  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6416 
6417  def get_pair_filter(self, i):
6418  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6419  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6420 
6421  def get_pair_filters(self):
6422  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6423  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6424 
6425  def erase_pair_filter(self, i):
6426  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6427  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6428 
6429  def reserve_pair_filters(self, sz):
6430  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6431  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6432 
6433  def __str__(self):
6434  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6435  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6436 
6437  def __repr__(self):
6438  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6439  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6440 
6441  @staticmethod
6442  def get_from(o):
6443  return _object_cast_to_ExcludedVolumeRestraint(o)
6444 
6445 
6446 # Register ExcludedVolumeRestraint in _IMP_core:
6447 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6448 class FixedRefiner(IMP.Refiner):
6449  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6450 
6451  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6452 
6453  def __init__(self, *args):
6454  r"""
6455  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6456  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6457  """
6458  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6459 
6460  def do_get_inputs(self, m, pis):
6461  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6462  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6463 
6464  def get_version_info(self):
6465  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6466  return _IMP_core.FixedRefiner_get_version_info(self)
6467  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6468 
6469  def __str__(self):
6470  r"""__str__(FixedRefiner self) -> std::string"""
6471  return _IMP_core.FixedRefiner___str__(self)
6472 
6473  def __repr__(self):
6474  r"""__repr__(FixedRefiner self) -> std::string"""
6475  return _IMP_core.FixedRefiner___repr__(self)
6476 
6477  @staticmethod
6478  def get_from(o):
6479  return _object_cast_to_FixedRefiner(o)
6480 
6481 
6482 # Register FixedRefiner in _IMP_core:
6483 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6484 class GridClosePairsFinder(ClosePairsFinder):
6485  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6486 
6487  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6488 
6489  def __init__(self):
6490  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6491  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6492 
6493  def get_close_pairs(self, *args):
6494  r"""
6495  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6496  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6497  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6498  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6499  """
6500  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6501 
6502  def do_get_inputs(self, m, pis):
6503  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6504  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6505 
6506  def get_version_info(self):
6507  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6508  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6509  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6510 
6511  def __str__(self):
6512  r"""__str__(GridClosePairsFinder self) -> std::string"""
6513  return _IMP_core.GridClosePairsFinder___str__(self)
6514 
6515  def __repr__(self):
6516  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6517  return _IMP_core.GridClosePairsFinder___repr__(self)
6518 
6519  @staticmethod
6520  def get_from(o):
6521  return _object_cast_to_GridClosePairsFinder(o)
6522 
6523 
6524  def _get_as_binary(self):
6525  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6526  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6527 
6528  def _set_from_binary(self, p):
6529  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6530  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6531 
6532  def __getstate__(self):
6533  p = self._get_as_binary()
6534  if len(self.__dict__) > 1:
6535  d = self.__dict__.copy()
6536  del d['this']
6537  p = (d, p)
6538  return p
6539 
6540  def __setstate__(self, p):
6541  if not hasattr(self, 'this'):
6542  self.__init__()
6543  if isinstance(p, tuple):
6544  d, p = p
6545  self.__dict__.update(d)
6546  return self._set_from_binary(p)
6547 
6548 
6549 # Register GridClosePairsFinder in _IMP_core:
6550 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6551 class Harmonic(IMP.UnaryFunction):
6552  r"""Proxy of C++ IMP::core::Harmonic class."""
6553 
6554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6555 
6556  def __init__(self, *args):
6557  r"""
6558  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6559  __init__(Harmonic self) -> Harmonic
6560  """
6561  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6562 
6563  def get_version_info(self):
6564  r"""get_version_info(Harmonic self) -> VersionInfo"""
6565  return _IMP_core.Harmonic_get_version_info(self)
6566  __swig_destroy__ = _IMP_core.delete_Harmonic
6567 
6568  def get_mean(self):
6569  r"""get_mean(Harmonic self) -> IMP::Float"""
6570  return _IMP_core.Harmonic_get_mean(self)
6571 
6572  def get_k(self):
6573  r"""get_k(Harmonic self) -> IMP::Float"""
6574  return _IMP_core.Harmonic_get_k(self)
6575 
6576  def set_mean(self, mean):
6577  r"""set_mean(Harmonic self, IMP::Float mean)"""
6578  return _IMP_core.Harmonic_set_mean(self, mean)
6579 
6580  def set_k(self, k):
6581  r"""set_k(Harmonic self, IMP::Float k)"""
6582  return _IMP_core.Harmonic_set_k(self, k)
6583 
6584  @staticmethod
6585  def get_k_from_standard_deviation(sd, t=297.15):
6586  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6587  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6588 
6589  def __str__(self):
6590  r"""__str__(Harmonic self) -> std::string"""
6591  return _IMP_core.Harmonic___str__(self)
6592 
6593  def __repr__(self):
6594  r"""__repr__(Harmonic self) -> std::string"""
6595  return _IMP_core.Harmonic___repr__(self)
6596 
6597  @staticmethod
6598  def get_from(o):
6599  return _object_cast_to_Harmonic(o)
6600 
6601 
6602  def _get_as_binary(self):
6603  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6604  return _IMP_core.Harmonic__get_as_binary(self)
6605 
6606  def _set_from_binary(self, p):
6607  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6608  return _IMP_core.Harmonic__set_from_binary(self, p)
6609 
6610  def __getstate__(self):
6611  p = self._get_as_binary()
6612  if len(self.__dict__) > 1:
6613  d = self.__dict__.copy()
6614  del d['this']
6615  p = (d, p)
6616  return p
6617 
6618  def __setstate__(self, p):
6619  if not hasattr(self, 'this'):
6620  self.__init__()
6621  if isinstance(p, tuple):
6622  d, p = p
6623  self.__dict__.update(d)
6624  return self._set_from_binary(p)
6625 
6626 
6627  def _get_jax(self):
6628  def score(val, mean, k):
6629  return 0.5 * k * (mean - val) ** 2
6630  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6631 
6632 
6633 # Register Harmonic in _IMP_core:
6634 _IMP_core.Harmonic_swigregister(Harmonic)
6635 class HarmonicWell(IMP.UnaryFunction):
6636  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6637 
6638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6639 
6640  def __init__(self, well, k):
6641  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6642  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6643 
6644  def get_well(self):
6645  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6646  return _IMP_core.HarmonicWell_get_well(self)
6647 
6648  def get_k(self):
6649  r"""get_k(HarmonicWell self) -> double"""
6650  return _IMP_core.HarmonicWell_get_k(self)
6651 
6652  def get_version_info(self):
6653  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6654  return _IMP_core.HarmonicWell_get_version_info(self)
6655  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6656 
6657  def __str__(self):
6658  r"""__str__(HarmonicWell self) -> std::string"""
6659  return _IMP_core.HarmonicWell___str__(self)
6660 
6661  def __repr__(self):
6662  r"""__repr__(HarmonicWell self) -> std::string"""
6663  return _IMP_core.HarmonicWell___repr__(self)
6664 
6665  @staticmethod
6666  def get_from(o):
6667  return _object_cast_to_HarmonicWell(o)
6668 
6669 
6670  def _get_jax(self):
6671  import jax.numpy as jnp
6672  def score(val, lb, ub, k):
6673  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6674  well = self.get_well()
6675  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6676 
6677 
6678 # Register HarmonicWell in _IMP_core:
6679 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6680 class HarmonicLowerBound(Harmonic):
6681  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6682 
6683  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6684 
6685  def __init__(self, *args):
6686  r"""
6687  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6688  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6689  """
6690  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6691  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6692 
6693  def __str__(self):
6694  r"""__str__(HarmonicLowerBound self) -> std::string"""
6695  return _IMP_core.HarmonicLowerBound___str__(self)
6696 
6697  def __repr__(self):
6698  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6699  return _IMP_core.HarmonicLowerBound___repr__(self)
6700 
6701  @staticmethod
6702  def get_from(o):
6703  return _object_cast_to_HarmonicLowerBound(o)
6704 
6705 
6706  def _get_as_binary(self):
6707  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6708  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6709 
6710  def _set_from_binary(self, p):
6711  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6712  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6713 
6714  def __getstate__(self):
6715  p = self._get_as_binary()
6716  if len(self.__dict__) > 1:
6717  d = self.__dict__.copy()
6718  del d['this']
6719  p = (d, p)
6720  return p
6721 
6722  def __setstate__(self, p):
6723  if not hasattr(self, 'this'):
6724  self.__init__()
6725  if isinstance(p, tuple):
6726  d, p = p
6727  self.__dict__.update(d)
6728  return self._set_from_binary(p)
6729 
6730 
6731  def _get_jax(self):
6732  import jax.lax
6733  def score(val, mean, k):
6734  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6735  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6736 
6737 
6738 # Register HarmonicLowerBound in _IMP_core:
6739 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6740 class HarmonicUpperBound(Harmonic):
6741  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6742 
6743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6744 
6745  def __init__(self, *args):
6746  r"""
6747  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6748  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6749  """
6750  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6751  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6752 
6753  def __str__(self):
6754  r"""__str__(HarmonicUpperBound self) -> std::string"""
6755  return _IMP_core.HarmonicUpperBound___str__(self)
6756 
6757  def __repr__(self):
6758  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6759  return _IMP_core.HarmonicUpperBound___repr__(self)
6760 
6761  @staticmethod
6762  def get_from(o):
6763  return _object_cast_to_HarmonicUpperBound(o)
6764 
6765 
6766  def _get_as_binary(self):
6767  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6768  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6769 
6770  def _set_from_binary(self, p):
6771  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6772  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6773 
6774  def __getstate__(self):
6775  p = self._get_as_binary()
6776  if len(self.__dict__) > 1:
6777  d = self.__dict__.copy()
6778  del d['this']
6779  p = (d, p)
6780  return p
6781 
6782  def __setstate__(self, p):
6783  if not hasattr(self, 'this'):
6784  self.__init__()
6785  if isinstance(p, tuple):
6786  d, p = p
6787  self.__dict__.update(d)
6788  return self._set_from_binary(p)
6789 
6790 
6791  def _get_jax(self):
6792  import jax.lax
6793  def score(val, mean, k):
6794  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6795  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6796 
6797 
6798 # Register HarmonicUpperBound in _IMP_core:
6799 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6800 class WeightedSum(IMP.UnaryFunction):
6801  r"""Proxy of C++ IMP::core::WeightedSum class."""
6802 
6803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6804 
6805  def __init__(self, funcs, weights):
6806  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6807  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6808 
6809  def get_function_number(self):
6810  r"""get_function_number(WeightedSum self) -> unsigned int"""
6811  return _IMP_core.WeightedSum_get_function_number(self)
6812 
6813  def set_weights(self, weights):
6814  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6815  return _IMP_core.WeightedSum_set_weights(self, weights)
6816 
6817  def get_weights(self):
6818  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6819  return _IMP_core.WeightedSum_get_weights(self)
6820 
6821  def get_weight(self, i):
6822  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6823  return _IMP_core.WeightedSum_get_weight(self, i)
6824 
6825  def get_function(self, i):
6826  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6827  return _IMP_core.WeightedSum_get_function(self, i)
6828 
6829  def get_version_info(self):
6830  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6831  return _IMP_core.WeightedSum_get_version_info(self)
6832  __swig_destroy__ = _IMP_core.delete_WeightedSum
6833 
6834  def __str__(self):
6835  r"""__str__(WeightedSum self) -> std::string"""
6836  return _IMP_core.WeightedSum___str__(self)
6837 
6838  def __repr__(self):
6839  r"""__repr__(WeightedSum self) -> std::string"""
6840  return _IMP_core.WeightedSum___repr__(self)
6841 
6842  @staticmethod
6843  def get_from(o):
6844  return _object_cast_to_WeightedSum(o)
6845 
6846 
6847  def _get_jax(self):
6848  import jax.numpy as jnp
6849  def score(val, funcs, weights):
6850  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6851  nfunc = self.get_function_number()
6852  funcs = [self.get_function(i).get_derived_object()._get_jax()
6853  for i in range(nfunc)]
6854  return functools.partial(score, funcs=funcs,
6855  weights=self.get_weights())
6856 
6857 
6858 # Register WeightedSum in _IMP_core:
6859 _IMP_core.WeightedSum_swigregister(WeightedSum)
6860 class WeightedSumOfExponential(IMP.UnaryFunction):
6861  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6862 
6863  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6864 
6865  def __init__(self, funcs, weights, denom=1.0):
6866  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6867  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6868 
6869  def get_function_number(self):
6870  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6871  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6872 
6873  def set_weights(self, weights):
6874  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6875  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6876 
6877  def get_weights(self):
6878  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6879  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6880 
6881  def get_weight(self, i):
6882  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6883  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6884 
6885  def get_function(self, i):
6886  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6887  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6888 
6889  def set_denominator(self, denom):
6890  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6891  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6892 
6893  def get_denominator(self):
6894  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6895  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6896 
6897  def get_version_info(self):
6898  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6899  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6900  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6901 
6902  def __str__(self):
6903  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6904  return _IMP_core.WeightedSumOfExponential___str__(self)
6905 
6906  def __repr__(self):
6907  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6908  return _IMP_core.WeightedSumOfExponential___repr__(self)
6909 
6910  @staticmethod
6911  def get_from(o):
6912  return _object_cast_to_WeightedSumOfExponential(o)
6913 
6914 
6915  def _get_jax(self):
6916  import jax.numpy as jnp
6917  def score(val, funcs, weights, denom):
6918  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6919  for (f, weight) in zip(funcs, weights))
6920  return -jnp.log(exp_sum) * denom
6921  nfunc = self.get_function_number()
6922  funcs = [self.get_function(i).get_derived_object()._get_jax()
6923  for i in range(nfunc)]
6924  return functools.partial(score, funcs=funcs,
6925  weights=self.get_weights(),
6926  denom=self.get_denominator())
6927 
6928 
6929 # Register WeightedSumOfExponential in _IMP_core:
6930 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6931 class MSConnectivityRestraint(IMP.Restraint):
6932  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6933 
6934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6935 
6936  def __init__(self, m, ps, eps=0.1):
6937  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6938  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6939 
6940  def add_type(self, ps):
6941  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6942  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6943 
6944  def add_composite(self, *args):
6945  r"""
6946  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6947  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6948  """
6949  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6950 
6951  def get_connected_pairs(self):
6952  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6953  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6954 
6955  def get_pair_score(self):
6956  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6957  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6958 
6959  def do_create_current_decomposition(self):
6960  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6961  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6962 
6963  def do_get_inputs(self):
6964  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6965  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6966 
6967  def get_version_info(self):
6968  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6969  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6970  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6971 
6972  def __str__(self):
6973  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6974  return _IMP_core.MSConnectivityRestraint___str__(self)
6975 
6976  def __repr__(self):
6977  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6978  return _IMP_core.MSConnectivityRestraint___repr__(self)
6979 
6980  @staticmethod
6981  def get_from(o):
6982  return _object_cast_to_MSConnectivityRestraint(o)
6983 
6984 
6985 # Register MSConnectivityRestraint in _IMP_core:
6986 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6987 class HierarchyTraits(object):
6988  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6989 
6990  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6991 
6992  def __init__(self, *args):
6993  r"""
6994  __init__(HierarchyTraits self) -> HierarchyTraits
6995  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6996  """
6997  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6998 
6999  def get_children_key(self):
7000  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
7001  return _IMP_core.HierarchyTraits_get_children_key(self)
7002 
7003  def get_parent_key(self):
7004  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
7005  return _IMP_core.HierarchyTraits_get_parent_key(self)
7006 
7007  def __eq__(self, o):
7008  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
7009  return _IMP_core.HierarchyTraits___eq__(self, o)
7010 
7011  def show(self, *args):
7012  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
7013  return _IMP_core.HierarchyTraits_show(self, *args)
7014 
7015  def __str__(self):
7016  r"""__str__(HierarchyTraits self) -> std::string"""
7017  return _IMP_core.HierarchyTraits___str__(self)
7018 
7019  def __repr__(self):
7020  r"""__repr__(HierarchyTraits self) -> std::string"""
7021  return _IMP_core.HierarchyTraits___repr__(self)
7022  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
7023 
7024 # Register HierarchyTraits in _IMP_core:
7025 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
7026 class Hierarchy(IMP.Decorator):
7027  r"""Proxy of C++ IMP::core::Hierarchy class."""
7028 
7029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7030 
7031  def get_decorator_traits(self):
7032  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
7033  return _IMP_core.Hierarchy_get_decorator_traits(self)
7034 
7035  @staticmethod
7036  def get_default_decorator_traits():
7037  r"""get_default_decorator_traits() -> HierarchyTraits"""
7038  return _IMP_core.Hierarchy_get_default_decorator_traits()
7039 
7040  def __init__(self, *args):
7041  r"""
7042  __init__(Hierarchy self) -> Hierarchy
7043  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7044  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7045  """
7046  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7047 
7048  def show(self, *args):
7049  r"""show(Hierarchy self, _ostream out=std::cout)"""
7050  return _IMP_core.Hierarchy_show(self, *args)
7051 
7052  @staticmethod
7053  def setup_particle(*args):
7054  r"""
7055  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7056  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7057  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7058  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7059  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7060  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7061  """
7062  return _IMP_core.Hierarchy_setup_particle(*args)
7063 
7064  @staticmethod
7065  def get_is_setup(*args):
7066  r"""
7067  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7068  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7069  """
7070  return _IMP_core.Hierarchy_get_is_setup(*args)
7071 
7072  @staticmethod
7073  def get_changed_key():
7074  r"""get_changed_key() -> TriggerKey"""
7075  return _IMP_core.Hierarchy_get_changed_key()
7076 
7077  def get_parent(self):
7078  r"""get_parent(Hierarchy self) -> Hierarchy"""
7079  return _IMP_core.Hierarchy_get_parent(self)
7080 
7081  def get_number_of_children(self):
7082  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7083  return _IMP_core.Hierarchy_get_number_of_children(self)
7084 
7085  def get_child(self, i):
7086  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7087  return _IMP_core.Hierarchy_get_child(self, i)
7088 
7089  def get_children_indexes(self):
7090  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7091  return _IMP_core.Hierarchy_get_children_indexes(self)
7092 
7093  def get_children(self):
7094  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7095  return _IMP_core.Hierarchy_get_children(self)
7096 
7097  def remove_child(self, *args):
7098  r"""
7099  remove_child(Hierarchy self, unsigned int i)
7100  remove_child(Hierarchy self, Hierarchy h)
7101  """
7102  return _IMP_core.Hierarchy_remove_child(self, *args)
7103 
7104  def clear_children(self):
7105  r"""clear_children(Hierarchy self)"""
7106  return _IMP_core.Hierarchy_clear_children(self)
7107 
7108  def add_child(self, h):
7109  r"""add_child(Hierarchy self, Hierarchy h)"""
7110  return _IMP_core.Hierarchy_add_child(self, h)
7111 
7112  def add_child_at(self, h, pos):
7113  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7114  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7115 
7116  def get_child_index(self, *args):
7117  r"""
7118  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7119  get_child_index(Hierarchy self) -> int
7120  """
7121  return _IMP_core.Hierarchy_get_child_index(self, *args)
7122 
7123  @staticmethod
7124  def get_default_traits():
7125  r"""get_default_traits() -> HierarchyTraits"""
7126  return _IMP_core.Hierarchy_get_default_traits()
7127 
7128  def get_traits(self):
7129  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7130  return _IMP_core.Hierarchy_get_traits(self)
7131 
7132  def add_attribute(self, *args):
7133  r"""
7134  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7135  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7136  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7137  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7138  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7139  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7140  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7141  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7142  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7143  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7144  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7145  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7146  """
7147  return _IMP_core.Hierarchy_add_attribute(self, *args)
7148 
7149  def get_value(self, *args):
7150  r"""
7151  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7152  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7153  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7154  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7155  get_value(Hierarchy self, StringKey a0) -> IMP::String
7156  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7157  get_value(Hierarchy self, ObjectKey a0) -> Object
7158  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7159  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7160  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7161  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7162  """
7163  return _IMP_core.Hierarchy_get_value(self, *args)
7164 
7165  def set_value(self, *args):
7166  r"""
7167  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7168  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7169  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7170  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7171  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7172  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7173  set_value(Hierarchy self, ObjectKey a0, Object a1)
7174  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7175  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7176  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7177  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7178  """
7179  return _IMP_core.Hierarchy_set_value(self, *args)
7180 
7181  def remove_attribute(self, *args):
7182  r"""
7183  remove_attribute(Hierarchy self, FloatKey a0)
7184  remove_attribute(Hierarchy self, IntKey a0)
7185  remove_attribute(Hierarchy self, FloatsKey a0)
7186  remove_attribute(Hierarchy self, IntsKey a0)
7187  remove_attribute(Hierarchy self, StringKey a0)
7188  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7189  remove_attribute(Hierarchy self, ObjectKey a0)
7190  remove_attribute(Hierarchy self, SparseFloatKey a0)
7191  remove_attribute(Hierarchy self, SparseIntKey a0)
7192  remove_attribute(Hierarchy self, SparseStringKey a0)
7193  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7194  """
7195  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7196 
7197  def has_attribute(self, *args):
7198  r"""
7199  has_attribute(Hierarchy self, FloatKey a0) -> bool
7200  has_attribute(Hierarchy self, IntKey a0) -> bool
7201  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7202  has_attribute(Hierarchy self, IntsKey a0) -> bool
7203  has_attribute(Hierarchy self, StringKey a0) -> bool
7204  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7205  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7206  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7207  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7208  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7209  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7210  """
7211  return _IMP_core.Hierarchy_has_attribute(self, *args)
7212 
7213  def get_derivative(self, a0):
7214  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7215  return _IMP_core.Hierarchy_get_derivative(self, a0)
7216 
7217  def get_name(self):
7218  r"""get_name(Hierarchy self) -> std::string"""
7219  return _IMP_core.Hierarchy_get_name(self)
7220 
7221  def clear_caches(self):
7222  r"""clear_caches(Hierarchy self)"""
7223  return _IMP_core.Hierarchy_clear_caches(self)
7224 
7225  def set_name(self, a0):
7226  r"""set_name(Hierarchy self, std::string a0)"""
7227  return _IMP_core.Hierarchy_set_name(self, a0)
7228 
7229  def set_check_level(self, a0):
7230  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7231  return _IMP_core.Hierarchy_set_check_level(self, a0)
7232 
7233  def add_to_derivative(self, a0, a1, a2):
7234  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7235  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7236 
7237  def set_is_optimized(self, a0, a1):
7238  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7239  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7240 
7241  def get_is_optimized(self, a0):
7242  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7243  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7244 
7245  def get_check_level(self):
7246  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7247  return _IMP_core.Hierarchy_get_check_level(self)
7248 
7249  def __eq__(self, *args):
7250  r"""
7251  __eq__(Hierarchy self, Hierarchy o) -> bool
7252  __eq__(Hierarchy self, Particle d) -> bool
7253  """
7254  return _IMP_core.Hierarchy___eq__(self, *args)
7255 
7256  def __ne__(self, *args):
7257  r"""
7258  __ne__(Hierarchy self, Hierarchy o) -> bool
7259  __ne__(Hierarchy self, Particle d) -> bool
7260  """
7261  return _IMP_core.Hierarchy___ne__(self, *args)
7262 
7263  def __le__(self, *args):
7264  r"""
7265  __le__(Hierarchy self, Hierarchy o) -> bool
7266  __le__(Hierarchy self, Particle d) -> bool
7267  """
7268  return _IMP_core.Hierarchy___le__(self, *args)
7269 
7270  def __lt__(self, *args):
7271  r"""
7272  __lt__(Hierarchy self, Hierarchy o) -> bool
7273  __lt__(Hierarchy self, Particle d) -> bool
7274  """
7275  return _IMP_core.Hierarchy___lt__(self, *args)
7276 
7277  def __ge__(self, *args):
7278  r"""
7279  __ge__(Hierarchy self, Hierarchy o) -> bool
7280  __ge__(Hierarchy self, Particle d) -> bool
7281  """
7282  return _IMP_core.Hierarchy___ge__(self, *args)
7283 
7284  def __gt__(self, *args):
7285  r"""
7286  __gt__(Hierarchy self, Hierarchy o) -> bool
7287  __gt__(Hierarchy self, Particle d) -> bool
7288  """
7289  return _IMP_core.Hierarchy___gt__(self, *args)
7290 
7291  def __hash__(self):
7292  r"""__hash__(Hierarchy self) -> std::size_t"""
7293  return _IMP_core.Hierarchy___hash__(self)
7294 
7295  def __str__(self):
7296  r"""__str__(Hierarchy self) -> std::string"""
7297  return _IMP_core.Hierarchy___str__(self)
7298 
7299  def __repr__(self):
7300  r"""__repr__(Hierarchy self) -> std::string"""
7301  return _IMP_core.Hierarchy___repr__(self)
7302  __swig_destroy__ = _IMP_core.delete_Hierarchy
7303 
7304 # Register Hierarchy in _IMP_core:
7305 _IMP_core.Hierarchy_swigregister(Hierarchy)
7306 class HierarchyVisitor(object):
7307  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7308 
7309  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7310  __repr__ = _swig_repr
7311 
7312  def __init__(self):
7313  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7314  if self.__class__ == HierarchyVisitor:
7315  _self = None
7316  else:
7317  _self = self
7318  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7319 
7320  if self.__class__ != HierarchyVisitor:
7321  _director_objects.register(self)
7322 
7323 
7324 
7325 
7326  def __call__(self, p):
7327  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7328  return _IMP_core.HierarchyVisitor___call__(self, p)
7329  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7330  def __disown__(self):
7331  self.this.disown()
7332  _IMP_core.disown_HierarchyVisitor(self)
7333  return weakref.proxy(self)
7334 
7335 # Register HierarchyVisitor in _IMP_core:
7336 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7337 class ModifierVisitor(HierarchyVisitor):
7338  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7339 
7340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7341  __repr__ = _swig_repr
7342 
7343  def __init__(self, sm):
7344  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7345  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7346  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7347 
7348 # Register ModifierVisitor in _IMP_core:
7349 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7350 class HierarchyCounter(HierarchyVisitor):
7351  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7352 
7353  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7354 
7355  def __init__(self):
7356  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7357  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7358 
7359  def get_count(self):
7360  r"""get_count(HierarchyCounter self) -> unsigned int"""
7361  return _IMP_core.HierarchyCounter_get_count(self)
7362 
7363  def show(self, *args):
7364  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7365  return _IMP_core.HierarchyCounter_show(self, *args)
7366 
7367  def __str__(self):
7368  r"""__str__(HierarchyCounter self) -> std::string"""
7369  return _IMP_core.HierarchyCounter___str__(self)
7370 
7371  def __repr__(self):
7372  r"""__repr__(HierarchyCounter self) -> std::string"""
7373  return _IMP_core.HierarchyCounter___repr__(self)
7374 
7375  def _get_as_binary(self):
7376  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7377  return _IMP_core.HierarchyCounter__get_as_binary(self)
7378 
7379  def _set_from_binary(self, p):
7380  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7381  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7382 
7383  def __getstate__(self):
7384  p = self._get_as_binary()
7385  if len(self.__dict__) > 1:
7386  d = self.__dict__.copy()
7387  del d['this']
7388  p = (d, p)
7389  return p
7390 
7391  def __setstate__(self, p):
7392  if not hasattr(self, 'this'):
7393  self.__init__()
7394  if isinstance(p, tuple):
7395  d, p = p
7396  self.__dict__.update(d)
7397  return self._set_from_binary(p)
7398 
7399  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7400 
7401 # Register HierarchyCounter in _IMP_core:
7402 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7403 
7404 def get_leaves(mhd):
7405  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7406  return _IMP_core.get_leaves(mhd)
7407 
7408 def get_internal(mhd):
7409  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7410  return _IMP_core.get_internal(mhd)
7411 
7412 def get_all_descendants(mhd):
7413  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7414  return _IMP_core.get_all_descendants(mhd)
7415 
7416 def get_root(h):
7417  r"""get_root(Hierarchy h) -> Hierarchy"""
7418  return _IMP_core.get_root(h)
7419 
7420 def visit_breadth_first(d, f):
7421  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7422  return _IMP_core.visit_breadth_first(d, f)
7423 
7424 def visit_depth_first(d, f):
7425  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7426  return _IMP_core.visit_depth_first(d, f)
7427 class LeavesRefiner(IMP.Refiner):
7428  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7429 
7430  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7431 
7432  def __init__(self, tr):
7433  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7434  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7435 
7436  def do_get_inputs(self, m, pis):
7437  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7438  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7439 
7440  def get_version_info(self):
7441  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7442  return _IMP_core.LeavesRefiner_get_version_info(self)
7443  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7444 
7445  def __str__(self):
7446  r"""__str__(LeavesRefiner self) -> std::string"""
7447  return _IMP_core.LeavesRefiner___str__(self)
7448 
7449  def __repr__(self):
7450  r"""__repr__(LeavesRefiner self) -> std::string"""
7451  return _IMP_core.LeavesRefiner___repr__(self)
7452 
7453  @staticmethod
7454  def get_from(o):
7455  return _object_cast_to_LeavesRefiner(o)
7456 
7457 
7458 # Register LeavesRefiner in _IMP_core:
7459 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7460 class Linear(IMP.UnaryFunction):
7461  r"""Proxy of C++ IMP::core::Linear class."""
7462 
7463  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7464 
7465  def __init__(self, *args):
7466  r"""
7467  __init__(Linear self, double offset, double slope) -> Linear
7468  __init__(Linear self) -> Linear
7469  """
7470  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7471 
7472  def set_slope(self, f):
7473  r"""set_slope(Linear self, double f)"""
7474  return _IMP_core.Linear_set_slope(self, f)
7475 
7476  def get_slope(self):
7477  r"""get_slope(Linear self) -> double"""
7478  return _IMP_core.Linear_get_slope(self)
7479 
7480  def set_offset(self, f):
7481  r"""set_offset(Linear self, double f)"""
7482  return _IMP_core.Linear_set_offset(self, f)
7483 
7484  def get_offset(self):
7485  r"""get_offset(Linear self) -> double"""
7486  return _IMP_core.Linear_get_offset(self)
7487 
7488  def get_version_info(self):
7489  r"""get_version_info(Linear self) -> VersionInfo"""
7490  return _IMP_core.Linear_get_version_info(self)
7491  __swig_destroy__ = _IMP_core.delete_Linear
7492 
7493  def __str__(self):
7494  r"""__str__(Linear self) -> std::string"""
7495  return _IMP_core.Linear___str__(self)
7496 
7497  def __repr__(self):
7498  r"""__repr__(Linear self) -> std::string"""
7499  return _IMP_core.Linear___repr__(self)
7500 
7501  @staticmethod
7502  def get_from(o):
7503  return _object_cast_to_Linear(o)
7504 
7505 
7506  def _get_as_binary(self):
7507  r"""_get_as_binary(Linear self) -> PyObject *"""
7508  return _IMP_core.Linear__get_as_binary(self)
7509 
7510  def _set_from_binary(self, p):
7511  r"""_set_from_binary(Linear self, PyObject * p)"""
7512  return _IMP_core.Linear__set_from_binary(self, p)
7513 
7514  def __getstate__(self):
7515  p = self._get_as_binary()
7516  if len(self.__dict__) > 1:
7517  d = self.__dict__.copy()
7518  del d['this']
7519  p = (d, p)
7520  return p
7521 
7522  def __setstate__(self, p):
7523  if not hasattr(self, 'this'):
7524  self.__init__()
7525  if isinstance(p, tuple):
7526  d, p = p
7527  self.__dict__.update(d)
7528  return self._set_from_binary(p)
7529 
7530 
7531  def _get_jax(self):
7532  def score(val, slope, offset):
7533  return (val - offset) * slope
7534  return functools.partial(score, slope=self.get_slope(),
7535  offset=self.get_offset())
7536 
7537 
7538 # Register Linear in _IMP_core:
7539 _IMP_core.Linear_swigregister(Linear)
7540 class LogNormalMover(MonteCarloMover):
7541  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7542 
7543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7544 
7545  def __init__(self, *args):
7546  r"""
7547  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7548  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7549  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7550  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7551  __init__(LogNormalMover self) -> LogNormalMover
7552  """
7553  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7554 
7555  def set_sigma(self, sigma):
7556  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7557  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7558 
7559  def get_sigma(self):
7560  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7561  return _IMP_core.LogNormalMover_get_sigma(self)
7562 
7563  def get_version_info(self):
7564  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7565  return _IMP_core.LogNormalMover_get_version_info(self)
7566  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7567 
7568  def __str__(self):
7569  r"""__str__(LogNormalMover self) -> std::string"""
7570  return _IMP_core.LogNormalMover___str__(self)
7571 
7572  def __repr__(self):
7573  r"""__repr__(LogNormalMover self) -> std::string"""
7574  return _IMP_core.LogNormalMover___repr__(self)
7575 
7576  @staticmethod
7577  def get_from(o):
7578  return _object_cast_to_LogNormalMover(o)
7579 
7580 
7581  def _get_as_binary(self):
7582  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7583  return _IMP_core.LogNormalMover__get_as_binary(self)
7584 
7585  def _set_from_binary(self, p):
7586  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7587  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7588 
7589  def __getstate__(self):
7590  p = self._get_as_binary()
7591  if len(self.__dict__) > 1:
7592  d = self.__dict__.copy()
7593  del d['this']
7594  p = (d, p)
7595  return p
7596 
7597  def __setstate__(self, p):
7598  if not hasattr(self, 'this'):
7599  self.__init__()
7600  if isinstance(p, tuple):
7601  d, p = p
7602  self.__dict__.update(d)
7603  return self._set_from_binary(p)
7604 
7605 
7606 # Register LogNormalMover in _IMP_core:
7607 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7608 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7609 
7610 class MonteCarlo(IMP.Optimizer):
7611  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7612 
7613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7614 
7615  def __init__(self, m):
7616  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7617  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7618 
7619  def get_version_info(self):
7620  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7621  return _IMP_core.MonteCarlo_get_version_info(self)
7622  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7623 
7624  def set_return_best(self, tf):
7625  r"""set_return_best(MonteCarlo self, bool tf)"""
7626  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7627 
7628  def get_return_best(self):
7629  r"""get_return_best(MonteCarlo self) -> bool"""
7630  return _IMP_core.MonteCarlo_get_return_best(self)
7631 
7632  def set_score_moved(self, mv):
7633  r"""set_score_moved(MonteCarlo self, bool mv)"""
7634  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7635 
7636  def set_kt(self, t):
7637  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7638  return _IMP_core.MonteCarlo_set_kt(self, t)
7639 
7640  def get_kt(self):
7641  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7642  return _IMP_core.MonteCarlo_get_kt(self)
7643 
7644  def get_last_accepted_energy(self):
7645  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7646  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7647 
7648  def set_last_accepted_energy(self, energy):
7649  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7650  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7651 
7652  def get_best_accepted_energy(self):
7653  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7654  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7655 
7656  def set_best_accepted_energy(self, energy):
7657  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7658  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7659 
7660  def get_number_of_downward_steps(self):
7661  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7662  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7663 
7664  def get_number_of_upward_steps(self):
7665  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7666  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7667 
7668  def get_number_of_proposed_steps(self):
7669  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7670  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7671 
7672  def get_number_of_accepted_steps(self):
7673  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7674  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7675 
7676  def set_number_of_downward_steps(self, nsteps):
7677  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7678  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7679 
7680  def set_number_of_upward_steps(self, nsteps):
7681  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7682  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7683 
7684  def set_number_of_rejected_steps(self, nsteps):
7685  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7686  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7687 
7688  def reset_statistics(self):
7689  r"""reset_statistics(MonteCarlo self)"""
7690  return _IMP_core.MonteCarlo_reset_statistics(self)
7691 
7692  def set_score_threshold(self, s):
7693  r"""set_score_threshold(MonteCarlo self, double s)"""
7694  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7695 
7696  def get_score_threshold(self):
7697  r"""get_score_threshold(MonteCarlo self) -> double"""
7698  return _IMP_core.MonteCarlo_get_score_threshold(self)
7699 
7700  def set_maximum_difference(self, d):
7701  r"""set_maximum_difference(MonteCarlo self, double d)"""
7702  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7703 
7704  def get_maximum_difference(self):
7705  r"""get_maximum_difference(MonteCarlo self) -> double"""
7706  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7707  def __get_movers(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_movers, getfunc=self.get_mover, erasefunc=self.erase_mover, appendfunc=self.add_mover, extendfunc=self.add_movers, clearfunc=self.clear_movers, indexfunc=self._python_index_mover)
7708  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7709  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7710  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7711 
7712  def remove_mover(self, d):
7713  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7714  return _IMP_core.MonteCarlo_remove_mover(self, d)
7715 
7716  def _python_index_mover(self, d, start, stop):
7717  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7718  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7719 
7720  def remove_movers(self, d):
7721  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7722  return _IMP_core.MonteCarlo_remove_movers(self, d)
7723 
7724  def set_movers(self, ps):
7725  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7726  return _IMP_core.MonteCarlo_set_movers(self, ps)
7727 
7728  def set_movers_order(self, objs):
7729  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7730  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7731 
7732  def add_mover(self, obj):
7733  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7734  return _IMP_core.MonteCarlo_add_mover(self, obj)
7735 
7736  def add_movers(self, objs):
7737  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7738  return _IMP_core.MonteCarlo_add_movers(self, objs)
7739 
7740  def clear_movers(self):
7741  r"""clear_movers(MonteCarlo self)"""
7742  return _IMP_core.MonteCarlo_clear_movers(self)
7743 
7744  def get_number_of_movers(self):
7745  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7746  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7747 
7748  def get_has_movers(self):
7749  r"""get_has_movers(MonteCarlo self) -> bool"""
7750  return _IMP_core.MonteCarlo_get_has_movers(self)
7751 
7752  def get_mover(self, i):
7753  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7754  return _IMP_core.MonteCarlo_get_mover(self, i)
7755 
7756  def get_movers(self):
7757  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7758  return _IMP_core.MonteCarlo_get_movers(self)
7759 
7760  def erase_mover(self, i):
7761  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7762  return _IMP_core.MonteCarlo_erase_mover(self, i)
7763 
7764  def reserve_movers(self, sz):
7765  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7766  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7767 
7768  def __str__(self):
7769  r"""__str__(MonteCarlo self) -> std::string"""
7770  return _IMP_core.MonteCarlo___str__(self)
7771 
7772  def __repr__(self):
7773  r"""__repr__(MonteCarlo self) -> std::string"""
7774  return _IMP_core.MonteCarlo___repr__(self)
7775 
7776  @staticmethod
7777  def get_from(o):
7778  return _object_cast_to_MonteCarlo(o)
7779 
7780 
7781  def _get_jax(self):
7782  from IMP.core._jax_util import _MCJAXInfo
7783  return _MCJAXInfo(self)
7784 
7785  def _get_jax_optimizer(self, max_steps):
7786  import IMP.core._jax_util
7787  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps)
7788 
7789  def _optimize_jax(self, max_steps):
7790  opt = self._get_jax_optimizer(max_steps)
7791  score, mc_state = opt.optimize(opt.get_initial_state())
7792  return score
7793 
7794 
7795 # Register MonteCarlo in _IMP_core:
7796 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7797 class MonteCarloWithLocalOptimization(MonteCarlo):
7798  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7799 
7800  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7801 
7802  def __init__(self, opt, steps):
7803  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7804  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7805 
7806  def get_number_of_steps(self):
7807  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7808  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7809 
7810  def get_local_optimizer(self):
7811  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7812  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7813  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7814 
7815  def __str__(self):
7816  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7817  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7818 
7819  def __repr__(self):
7820  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7821  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7822 
7823  @staticmethod
7824  def get_from(o):
7825  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7826 
7827 
7828 # Register MonteCarloWithLocalOptimization in _IMP_core:
7829 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7830 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7831  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7832 
7833  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7834 
7835  def __init__(self, opt, ns):
7836  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7837  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7838  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7839 
7840  def __str__(self):
7841  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7842  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7843 
7844  def __repr__(self):
7845  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7846  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7847 
7848  @staticmethod
7849  def get_from(o):
7850  return _object_cast_to_MonteCarloWithBasinHopping(o)
7851 
7852 
7853 # Register MonteCarloWithBasinHopping in _IMP_core:
7854 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7855 class NeighborsTable(IMP.ScoreState):
7856  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7857 
7858  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7859 
7860  def __init__(self, *args):
7861  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7862  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7863 
7864  def get_neighbors(self, pi):
7865  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7866  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7867 
7868  def get_version_info(self):
7869  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7870  return _IMP_core.NeighborsTable_get_version_info(self)
7871  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7872 
7873  def __str__(self):
7874  r"""__str__(NeighborsTable self) -> std::string"""
7875  return _IMP_core.NeighborsTable___str__(self)
7876 
7877  def __repr__(self):
7878  r"""__repr__(NeighborsTable self) -> std::string"""
7879  return _IMP_core.NeighborsTable___repr__(self)
7880 
7881  @staticmethod
7882  def get_from(o):
7883  return _object_cast_to_NeighborsTable(o)
7884 
7885 
7886 # Register NeighborsTable in _IMP_core:
7887 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7888 class NormalMover(MonteCarloMover):
7889  r"""Proxy of C++ IMP::core::NormalMover class."""
7890 
7891  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7892 
7893  def __init__(self, *args):
7894  r"""
7895  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7896  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7897  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7898  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7899  __init__(NormalMover self) -> NormalMover
7900  """
7901  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7902 
7903  def set_sigma(self, sigma):
7904  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7905  return _IMP_core.NormalMover_set_sigma(self, sigma)
7906 
7907  def get_sigma(self):
7908  r"""get_sigma(NormalMover self) -> IMP::Float"""
7909  return _IMP_core.NormalMover_get_sigma(self)
7910 
7911  def get_version_info(self):
7912  r"""get_version_info(NormalMover self) -> VersionInfo"""
7913  return _IMP_core.NormalMover_get_version_info(self)
7914  __swig_destroy__ = _IMP_core.delete_NormalMover
7915 
7916  def __str__(self):
7917  r"""__str__(NormalMover self) -> std::string"""
7918  return _IMP_core.NormalMover___str__(self)
7919 
7920  def __repr__(self):
7921  r"""__repr__(NormalMover self) -> std::string"""
7922  return _IMP_core.NormalMover___repr__(self)
7923 
7924  @staticmethod
7925  def get_from(o):
7926  return _object_cast_to_NormalMover(o)
7927 
7928 
7929  def _get_as_binary(self):
7930  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7931  return _IMP_core.NormalMover__get_as_binary(self)
7932 
7933  def _set_from_binary(self, p):
7934  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7935  return _IMP_core.NormalMover__set_from_binary(self, p)
7936 
7937  def __getstate__(self):
7938  p = self._get_as_binary()
7939  if len(self.__dict__) > 1:
7940  d = self.__dict__.copy()
7941  del d['this']
7942  p = (d, p)
7943  return p
7944 
7945  def __setstate__(self, p):
7946  if not hasattr(self, 'this'):
7947  self.__init__()
7948  if isinstance(p, tuple):
7949  d, p = p
7950  self.__dict__.update(d)
7951  return self._set_from_binary(p)
7952 
7953 
7954 # Register NormalMover in _IMP_core:
7955 _IMP_core.NormalMover_swigregister(NormalMover)
7956 class OpenCubicSpline(_OpenCubicSplineBase):
7957  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7958 
7959  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7960 
7961  def __init__(self, values, minrange, spacing, extend=False):
7962  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7963  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7964 
7965  def get_minrange(self):
7966  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7967  return _IMP_core.OpenCubicSpline_get_minrange(self)
7968 
7969  def get_spacing(self):
7970  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7971  return _IMP_core.OpenCubicSpline_get_spacing(self)
7972 
7973  def get_values(self):
7974  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7975  return _IMP_core.OpenCubicSpline_get_values(self)
7976 
7977  def get_extend(self):
7978  r"""get_extend(OpenCubicSpline self) -> bool"""
7979  return _IMP_core.OpenCubicSpline_get_extend(self)
7980 
7981  def get_second_derivatives(self):
7982  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7983  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7984 
7985  def __str__(self):
7986  r"""__str__(OpenCubicSpline self) -> std::string"""
7987  return _IMP_core.OpenCubicSpline___str__(self)
7988 
7989  def __repr__(self):
7990  r"""__repr__(OpenCubicSpline self) -> std::string"""
7991  return _IMP_core.OpenCubicSpline___repr__(self)
7992 
7993  @staticmethod
7994  def get_from(o):
7995  return _object_cast_to_OpenCubicSpline(o)
7996 
7997 
7998  def _get_jax(self):
7999  import jax.numpy as jnp
8000  from IMP.core._jax_util import _spline
8001  def score(feature, minrange, maxrange, spacing, values, second_derivs):
8002  # clip feature to range (extend=True behavior)
8003  feature = jnp.clip(feature, minrange, maxrange)
8004  # determine bin index and thus the cubic fragment to use:
8005  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
8006  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
8007  values, second_derivs)
8008  spacing = self.get_spacing()
8009  minrange = self.get_minrange()
8010  values = jnp.asarray(self.get_values())
8011  maxrange = minrange + spacing * (len(values) - 1)
8012  return functools.partial(
8013  score, minrange=minrange, maxrange=maxrange,
8014  spacing=spacing, values=values,
8015  second_derivs=jnp.asarray(self.get_second_derivatives()))
8016 
8017  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
8018 
8019 # Register OpenCubicSpline in _IMP_core:
8020 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
8021 class QuadraticClosePairsFinder(ClosePairsFinder):
8022  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
8023 
8024  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8025 
8026  def __init__(self):
8027  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
8028  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
8029 
8030  def get_are_close_and_filtered(self, *args):
8031  r"""
8032  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
8033  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
8034  """
8035  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
8036 
8037  def get_close_pairs(self, *args):
8038  r"""
8039  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8040  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8041  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
8042  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
8043  """
8044  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
8045 
8046  def do_get_inputs(self, m, pis):
8047  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8048  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8049 
8050  def get_version_info(self):
8051  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8052  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8053  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8054 
8055  def __str__(self):
8056  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8057  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8058 
8059  def __repr__(self):
8060  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8061  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8062 
8063  @staticmethod
8064  def get_from(o):
8065  return _object_cast_to_QuadraticClosePairsFinder(o)
8066 
8067 
8068 # Register QuadraticClosePairsFinder in _IMP_core:
8069 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8070 class RefinedPairsPairScore(IMP.PairScore):
8071  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8072 
8073  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8074 
8075  def __init__(self, r, f):
8076  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8077  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8078 
8079  def do_get_inputs(self, m, pis):
8080  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8081  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8082 
8083  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8084  r"""evaluate_indexes(RefinedPairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8085  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8086 
8087  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8088  r"""evaluate_indexes_scores(RefinedPairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8089  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8090 
8091  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8092  r"""evaluate_indexes_delta(RefinedPairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8093  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8094 
8095  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8096  r"""evaluate_if_good_indexes(RefinedPairsPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8097  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8098 
8099  def get_version_info(self):
8100  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8101  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8102  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8103 
8104  def __str__(self):
8105  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8106  return _IMP_core.RefinedPairsPairScore___str__(self)
8107 
8108  def __repr__(self):
8109  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8110  return _IMP_core.RefinedPairsPairScore___repr__(self)
8111 
8112  @staticmethod
8113  def get_from(o):
8114  return _object_cast_to_RefinedPairsPairScore(o)
8115 
8116 
8117 # Register RefinedPairsPairScore in _IMP_core:
8118 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8119 class RigidBody(XYZ):
8120  r"""Proxy of C++ IMP::core::RigidBody class."""
8121 
8122  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8123 
8124  def get_rigid_members(self):
8125  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8126  return _IMP_core.RigidBody_get_rigid_members(self)
8127 
8128  @staticmethod
8129  def get_rotation_keys():
8130  r"""get_rotation_keys() -> IMP::FloatKeys"""
8131  return _IMP_core.RigidBody_get_rotation_keys()
8132 
8133  def get_member_particle_indexes(self):
8134  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8135  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8136 
8137  def get_body_member_particle_indexes(self):
8138  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8139  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8140 
8141  def get_member_indexes(self):
8142  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8143  return _IMP_core.RigidBody_get_member_indexes(self)
8144 
8145  def show(self, *args):
8146  r"""show(RigidBody self, _ostream out=std::cout)"""
8147  return _IMP_core.RigidBody_show(self, *args)
8148 
8149  @staticmethod
8150  def setup_particle(*args):
8151  r"""
8152  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8153  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8154  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8155  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8156  """
8157  return _IMP_core.RigidBody_setup_particle(*args)
8158 
8159  @staticmethod
8160  def teardown_particle(rb):
8161  r"""teardown_particle(RigidBody rb)"""
8162  return _IMP_core.RigidBody_teardown_particle(rb)
8163 
8164  def __init__(self, *args):
8165  r"""
8166  __init__(RigidBody self) -> RigidBody
8167  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8168  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8169  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8170  """
8171  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8172  __swig_destroy__ = _IMP_core.delete_RigidBody
8173 
8174  @staticmethod
8175  def get_is_setup(*args):
8176  r"""
8177  get_is_setup(_ParticleAdaptor p) -> bool
8178  get_is_setup(Model m, ParticleIndex pi) -> bool
8179  """
8180  return _IMP_core.RigidBody_get_is_setup(*args)
8181 
8182  def get_coordinates(self):
8183  r"""get_coordinates(RigidBody self) -> Vector3D"""
8184  return _IMP_core.RigidBody_get_coordinates(self)
8185 
8186  def get_rotation(self):
8187  r"""get_rotation(RigidBody self) -> Rotation3D"""
8188  return _IMP_core.RigidBody_get_rotation(self)
8189 
8190  def get_reference_frame(self):
8191  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8192  return _IMP_core.RigidBody_get_reference_frame(self)
8193 
8194  def set_reference_frame(self, tr):
8195  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8196  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8197 
8198  def set_reference_frame_lazy(self, tr):
8199  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8200  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8201 
8202  def set_reference_frame_from_members(self, members):
8203  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8204  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8205 
8206  def pull_back_members_adjoints(self, da):
8207  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8208  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8209 
8210  def pull_back_member_adjoints(self, pi, da):
8211  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8212  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8213 
8214  def pull_back_body_member_adjoints(self, pi, da):
8215  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8216  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8217 
8218  def add_to_derivatives(self, *args):
8219  r"""
8220  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D local_location, DerivativeAccumulator da)
8221  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D global_derivative, Vector3D local_location, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8222  """
8223  return _IMP_core.RigidBody_add_to_derivatives(self, *args)
8224 
8225  def add_to_rotational_derivatives(self, *args):
8226  r"""
8227  add_to_rotational_derivatives(RigidBody self, Vector4D other_qderiv, Rotation3D rot_other_to_local, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8228  add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)
8229  """
8230  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, *args)
8231 
8232  def add_to_torque(self, torque_local, da):
8233  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8234  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8235 
8236  def get_torque(self):
8237  r"""get_torque(RigidBody self) -> Vector3D"""
8238  return _IMP_core.RigidBody_get_torque(self)
8239 
8240  def get_coordinates_are_optimized(self):
8241  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8242  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8243 
8244  def set_coordinates_are_optimized(self, tf):
8245  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8246  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8247 
8248  def normalize_rotation(self):
8249  r"""normalize_rotation(RigidBody self)"""
8250  return _IMP_core.RigidBody_normalize_rotation(self)
8251 
8252  def update_members(self):
8253  r"""update_members(RigidBody self)"""
8254  return _IMP_core.RigidBody_update_members(self)
8255 
8256  def get_rotational_derivatives(self):
8257  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8258  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8259 
8260  def get_number_of_members(self):
8261  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8262  return _IMP_core.RigidBody_get_number_of_members(self)
8263 
8264  def get_member(self, i):
8265  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8266  return _IMP_core.RigidBody_get_member(self, i)
8267 
8268  def add_member(self, p):
8269  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8270  return _IMP_core.RigidBody_add_member(self, p)
8271 
8272  def add_non_rigid_member(self, p):
8273  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8274  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8275 
8276  def set_is_rigid_member(self, pi, tf):
8277  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8278  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8279 
8280  def remove_member(self, p):
8281  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8282  return _IMP_core.RigidBody_remove_member(self, p)
8283 
8284  def add_attribute(self, *args):
8285  r"""
8286  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8287  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8288  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8289  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8290  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8291  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8292  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8293  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8294  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8295  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8296  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8297  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8298  """
8299  return _IMP_core.RigidBody_add_attribute(self, *args)
8300 
8301  def get_value(self, *args):
8302  r"""
8303  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8304  get_value(RigidBody self, IntKey a0) -> IMP::Int
8305  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8306  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8307  get_value(RigidBody self, StringKey a0) -> IMP::String
8308  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8309  get_value(RigidBody self, ObjectKey a0) -> Object
8310  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8311  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8312  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8313  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8314  """
8315  return _IMP_core.RigidBody_get_value(self, *args)
8316 
8317  def set_value(self, *args):
8318  r"""
8319  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8320  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8321  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8322  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8323  set_value(RigidBody self, StringKey a0, IMP::String a1)
8324  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8325  set_value(RigidBody self, ObjectKey a0, Object a1)
8326  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8327  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8328  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8329  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8330  """
8331  return _IMP_core.RigidBody_set_value(self, *args)
8332 
8333  def remove_attribute(self, *args):
8334  r"""
8335  remove_attribute(RigidBody self, FloatKey a0)
8336  remove_attribute(RigidBody self, IntKey a0)
8337  remove_attribute(RigidBody self, FloatsKey a0)
8338  remove_attribute(RigidBody self, IntsKey a0)
8339  remove_attribute(RigidBody self, StringKey a0)
8340  remove_attribute(RigidBody self, ParticleIndexKey a0)
8341  remove_attribute(RigidBody self, ObjectKey a0)
8342  remove_attribute(RigidBody self, SparseFloatKey a0)
8343  remove_attribute(RigidBody self, SparseIntKey a0)
8344  remove_attribute(RigidBody self, SparseStringKey a0)
8345  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8346  """
8347  return _IMP_core.RigidBody_remove_attribute(self, *args)
8348 
8349  def has_attribute(self, *args):
8350  r"""
8351  has_attribute(RigidBody self, FloatKey a0) -> bool
8352  has_attribute(RigidBody self, IntKey a0) -> bool
8353  has_attribute(RigidBody self, FloatsKey a0) -> bool
8354  has_attribute(RigidBody self, IntsKey a0) -> bool
8355  has_attribute(RigidBody self, StringKey a0) -> bool
8356  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8357  has_attribute(RigidBody self, ObjectKey a0) -> bool
8358  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8359  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8360  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8361  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8362  """
8363  return _IMP_core.RigidBody_has_attribute(self, *args)
8364 
8365  def get_derivative(self, a0):
8366  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8367  return _IMP_core.RigidBody_get_derivative(self, a0)
8368 
8369  def get_name(self):
8370  r"""get_name(RigidBody self) -> std::string"""
8371  return _IMP_core.RigidBody_get_name(self)
8372 
8373  def clear_caches(self):
8374  r"""clear_caches(RigidBody self)"""
8375  return _IMP_core.RigidBody_clear_caches(self)
8376 
8377  def set_name(self, a0):
8378  r"""set_name(RigidBody self, std::string a0)"""
8379  return _IMP_core.RigidBody_set_name(self, a0)
8380 
8381  def set_check_level(self, a0):
8382  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8383  return _IMP_core.RigidBody_set_check_level(self, a0)
8384 
8385  def add_to_derivative(self, a0, a1, a2):
8386  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8387  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8388 
8389  def set_is_optimized(self, a0, a1):
8390  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8391  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8392 
8393  def get_is_optimized(self, a0):
8394  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8395  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8396 
8397  def get_check_level(self):
8398  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8399  return _IMP_core.RigidBody_get_check_level(self)
8400 
8401  def __eq__(self, *args):
8402  r"""
8403  __eq__(RigidBody self, RigidBody o) -> bool
8404  __eq__(RigidBody self, Particle d) -> bool
8405  """
8406  return _IMP_core.RigidBody___eq__(self, *args)
8407 
8408  def __ne__(self, *args):
8409  r"""
8410  __ne__(RigidBody self, RigidBody o) -> bool
8411  __ne__(RigidBody self, Particle d) -> bool
8412  """
8413  return _IMP_core.RigidBody___ne__(self, *args)
8414 
8415  def __le__(self, *args):
8416  r"""
8417  __le__(RigidBody self, RigidBody o) -> bool
8418  __le__(RigidBody self, Particle d) -> bool
8419  """
8420  return _IMP_core.RigidBody___le__(self, *args)
8421 
8422  def __lt__(self, *args):
8423  r"""
8424  __lt__(RigidBody self, RigidBody o) -> bool
8425  __lt__(RigidBody self, Particle d) -> bool
8426  """
8427  return _IMP_core.RigidBody___lt__(self, *args)
8428 
8429  def __ge__(self, *args):
8430  r"""
8431  __ge__(RigidBody self, RigidBody o) -> bool
8432  __ge__(RigidBody self, Particle d) -> bool
8433  """
8434  return _IMP_core.RigidBody___ge__(self, *args)
8435 
8436  def __gt__(self, *args):
8437  r"""
8438  __gt__(RigidBody self, RigidBody o) -> bool
8439  __gt__(RigidBody self, Particle d) -> bool
8440  """
8441  return _IMP_core.RigidBody___gt__(self, *args)
8442 
8443  def __hash__(self):
8444  r"""__hash__(RigidBody self) -> std::size_t"""
8445  return _IMP_core.RigidBody___hash__(self)
8446 
8447  def __str__(self):
8448  r"""__str__(RigidBody self) -> std::string"""
8449  return _IMP_core.RigidBody___str__(self)
8450 
8451  def __repr__(self):
8452  r"""__repr__(RigidBody self) -> std::string"""
8453  return _IMP_core.RigidBody___repr__(self)
8454 
8455  def _get_as_binary(self):
8456  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8457  return _IMP_core.RigidBody__get_as_binary(self)
8458 
8459  def _set_from_binary(self, p):
8460  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8461  return _IMP_core.RigidBody__set_from_binary(self, p)
8462 
8463  def __getstate__(self):
8464  p = self._get_as_binary()
8465  if len(self.__dict__) > 1:
8466  d = self.__dict__.copy()
8467  del d['this']
8468  p = (d, p)
8469  return p
8470 
8471  def __setstate__(self, p):
8472  if not hasattr(self, 'this'):
8473  self.__init__()
8474  if isinstance(p, tuple):
8475  d, p = p
8476  self.__dict__.update(d)
8477  return self._set_from_binary(p)
8478 
8479 
8480 # Register RigidBody in _IMP_core:
8481 _IMP_core.RigidBody_swigregister(RigidBody)
8482 
8484  r"""add_rigid_body_cache_key(ObjectKey k)"""
8485  return _IMP_core.add_rigid_body_cache_key(k)
8486 class RigidBodyMember(XYZ):
8487  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8488 
8489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8490 
8491  def show(self, *args):
8492  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8493  return _IMP_core.RigidBodyMember_show(self, *args)
8494 
8495  def get_rigid_body(self):
8496  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8497  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8498 
8499  def get_internal_coordinates(self):
8500  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8501  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8502 
8503  def set_internal_coordinates(self, v):
8504  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8505  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8506 
8507  def set_internal_transformation(self, v):
8508  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8509  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8510 
8511  def get_internal_transformation(self):
8512  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8513  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8514  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8515 
8516  def set_coordinates(self, *args):
8517  r"""
8518  set_coordinates(RigidBodyMember self, Vector3D center)
8519  set_coordinates(RigidBodyMember self, Transformation3D tr)
8520  """
8521  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8522 
8523  def __init__(self, *args):
8524  r"""
8525  __init__(RigidBodyMember self) -> RigidBodyMember
8526  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8527  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8528  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8529  """
8530  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8531 
8532  @staticmethod
8533  def get_is_setup(*args):
8534  r"""
8535  get_is_setup(_ParticleAdaptor p) -> bool
8536  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8537  """
8538  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8539 
8540  @staticmethod
8541  def get_internal_coordinate_keys():
8542  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8543  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8544 
8545  @staticmethod
8546  def get_internal_rotation_keys():
8547  r"""get_internal_rotation_keys() -> IMP::FloatKeys"""
8548  return _IMP_core.RigidBodyMember_get_internal_rotation_keys()
8549 
8550  def add_attribute(self, *args):
8551  r"""
8552  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8553  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8554  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8555  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8556  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8557  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8558  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8559  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8560  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8561  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8562  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8563  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8564  """
8565  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8566 
8567  def get_value(self, *args):
8568  r"""
8569  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8570  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8571  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8572  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8573  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8574  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8575  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8576  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8577  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8578  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8579  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8580  """
8581  return _IMP_core.RigidBodyMember_get_value(self, *args)
8582 
8583  def set_value(self, *args):
8584  r"""
8585  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8586  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8587  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8588  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8589  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8590  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8591  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8592  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8593  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8594  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8595  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8596  """
8597  return _IMP_core.RigidBodyMember_set_value(self, *args)
8598 
8599  def remove_attribute(self, *args):
8600  r"""
8601  remove_attribute(RigidBodyMember self, FloatKey a0)
8602  remove_attribute(RigidBodyMember self, IntKey a0)
8603  remove_attribute(RigidBodyMember self, FloatsKey a0)
8604  remove_attribute(RigidBodyMember self, IntsKey a0)
8605  remove_attribute(RigidBodyMember self, StringKey a0)
8606  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8607  remove_attribute(RigidBodyMember self, ObjectKey a0)
8608  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8609  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8610  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8611  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8612  """
8613  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8614 
8615  def has_attribute(self, *args):
8616  r"""
8617  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8618  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8619  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8620  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8621  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8622  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8623  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8624  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8625  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8626  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8627  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8628  """
8629  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8630 
8631  def get_derivative(self, a0):
8632  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8633  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8634 
8635  def get_name(self):
8636  r"""get_name(RigidBodyMember self) -> std::string"""
8637  return _IMP_core.RigidBodyMember_get_name(self)
8638 
8639  def clear_caches(self):
8640  r"""clear_caches(RigidBodyMember self)"""
8641  return _IMP_core.RigidBodyMember_clear_caches(self)
8642 
8643  def set_name(self, a0):
8644  r"""set_name(RigidBodyMember self, std::string a0)"""
8645  return _IMP_core.RigidBodyMember_set_name(self, a0)
8646 
8647  def set_check_level(self, a0):
8648  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8649  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8650 
8651  def add_to_derivative(self, a0, a1, a2):
8652  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8653  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8654 
8655  def set_is_optimized(self, a0, a1):
8656  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8657  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8658 
8659  def get_is_optimized(self, a0):
8660  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8661  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8662 
8663  def get_check_level(self):
8664  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8665  return _IMP_core.RigidBodyMember_get_check_level(self)
8666 
8667  def __eq__(self, *args):
8668  r"""
8669  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8670  __eq__(RigidBodyMember self, Particle d) -> bool
8671  """
8672  return _IMP_core.RigidBodyMember___eq__(self, *args)
8673 
8674  def __ne__(self, *args):
8675  r"""
8676  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8677  __ne__(RigidBodyMember self, Particle d) -> bool
8678  """
8679  return _IMP_core.RigidBodyMember___ne__(self, *args)
8680 
8681  def __le__(self, *args):
8682  r"""
8683  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8684  __le__(RigidBodyMember self, Particle d) -> bool
8685  """
8686  return _IMP_core.RigidBodyMember___le__(self, *args)
8687 
8688  def __lt__(self, *args):
8689  r"""
8690  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8691  __lt__(RigidBodyMember self, Particle d) -> bool
8692  """
8693  return _IMP_core.RigidBodyMember___lt__(self, *args)
8694 
8695  def __ge__(self, *args):
8696  r"""
8697  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8698  __ge__(RigidBodyMember self, Particle d) -> bool
8699  """
8700  return _IMP_core.RigidBodyMember___ge__(self, *args)
8701 
8702  def __gt__(self, *args):
8703  r"""
8704  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8705  __gt__(RigidBodyMember self, Particle d) -> bool
8706  """
8707  return _IMP_core.RigidBodyMember___gt__(self, *args)
8708 
8709  def __hash__(self):
8710  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8711  return _IMP_core.RigidBodyMember___hash__(self)
8712 
8713  def __str__(self):
8714  r"""__str__(RigidBodyMember self) -> std::string"""
8715  return _IMP_core.RigidBodyMember___str__(self)
8716 
8717  def __repr__(self):
8718  r"""__repr__(RigidBodyMember self) -> std::string"""
8719  return _IMP_core.RigidBodyMember___repr__(self)
8720 
8721  def _get_as_binary(self):
8722  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8723  return _IMP_core.RigidBodyMember__get_as_binary(self)
8724 
8725  def _set_from_binary(self, p):
8726  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8727  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8728 
8729  def __getstate__(self):
8730  p = self._get_as_binary()
8731  if len(self.__dict__) > 1:
8732  d = self.__dict__.copy()
8733  del d['this']
8734  p = (d, p)
8735  return p
8736 
8737  def __setstate__(self, p):
8738  if not hasattr(self, 'this'):
8739  self.__init__()
8740  if isinstance(p, tuple):
8741  d, p = p
8742  self.__dict__.update(d)
8743  return self._set_from_binary(p)
8744 
8745 
8746 # Register RigidBodyMember in _IMP_core:
8747 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8748 class RigidMember(RigidBodyMember):
8749  r"""Proxy of C++ IMP::core::RigidMember class."""
8750 
8751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8752 
8753  def show(self, *args):
8754  r"""show(RigidMember self, _ostream out=std::cout)"""
8755  return _IMP_core.RigidMember_show(self, *args)
8756 
8757  def __init__(self, *args):
8758  r"""
8759  __init__(RigidMember self) -> RigidMember
8760  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8761  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8762  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8763  """
8764  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8765  __swig_destroy__ = _IMP_core.delete_RigidMember
8766 
8767  @staticmethod
8768  def get_is_setup(*args):
8769  r"""
8770  get_is_setup(_ParticleAdaptor p) -> bool
8771  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8772  """
8773  return _IMP_core.RigidMember_get_is_setup(*args)
8774 
8775  def add_attribute(self, *args):
8776  r"""
8777  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8778  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8779  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8780  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8781  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8782  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8783  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8784  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8785  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8786  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8787  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8788  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8789  """
8790  return _IMP_core.RigidMember_add_attribute(self, *args)
8791 
8792  def get_value(self, *args):
8793  r"""
8794  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8795  get_value(RigidMember self, IntKey a0) -> IMP::Int
8796  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8797  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8798  get_value(RigidMember self, StringKey a0) -> IMP::String
8799  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8800  get_value(RigidMember self, ObjectKey a0) -> Object
8801  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8802  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8803  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8804  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8805  """
8806  return _IMP_core.RigidMember_get_value(self, *args)
8807 
8808  def set_value(self, *args):
8809  r"""
8810  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8811  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8812  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8813  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8814  set_value(RigidMember self, StringKey a0, IMP::String a1)
8815  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8816  set_value(RigidMember self, ObjectKey a0, Object a1)
8817  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8818  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8819  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8820  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8821  """
8822  return _IMP_core.RigidMember_set_value(self, *args)
8823 
8824  def remove_attribute(self, *args):
8825  r"""
8826  remove_attribute(RigidMember self, FloatKey a0)
8827  remove_attribute(RigidMember self, IntKey a0)
8828  remove_attribute(RigidMember self, FloatsKey a0)
8829  remove_attribute(RigidMember self, IntsKey a0)
8830  remove_attribute(RigidMember self, StringKey a0)
8831  remove_attribute(RigidMember self, ParticleIndexKey a0)
8832  remove_attribute(RigidMember self, ObjectKey a0)
8833  remove_attribute(RigidMember self, SparseFloatKey a0)
8834  remove_attribute(RigidMember self, SparseIntKey a0)
8835  remove_attribute(RigidMember self, SparseStringKey a0)
8836  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8837  """
8838  return _IMP_core.RigidMember_remove_attribute(self, *args)
8839 
8840  def has_attribute(self, *args):
8841  r"""
8842  has_attribute(RigidMember self, FloatKey a0) -> bool
8843  has_attribute(RigidMember self, IntKey a0) -> bool
8844  has_attribute(RigidMember self, FloatsKey a0) -> bool
8845  has_attribute(RigidMember self, IntsKey a0) -> bool
8846  has_attribute(RigidMember self, StringKey a0) -> bool
8847  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8848  has_attribute(RigidMember self, ObjectKey a0) -> bool
8849  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8850  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8851  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8852  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8853  """
8854  return _IMP_core.RigidMember_has_attribute(self, *args)
8855 
8856  def get_derivative(self, a0):
8857  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8858  return _IMP_core.RigidMember_get_derivative(self, a0)
8859 
8860  def get_name(self):
8861  r"""get_name(RigidMember self) -> std::string"""
8862  return _IMP_core.RigidMember_get_name(self)
8863 
8864  def clear_caches(self):
8865  r"""clear_caches(RigidMember self)"""
8866  return _IMP_core.RigidMember_clear_caches(self)
8867 
8868  def set_name(self, a0):
8869  r"""set_name(RigidMember self, std::string a0)"""
8870  return _IMP_core.RigidMember_set_name(self, a0)
8871 
8872  def set_check_level(self, a0):
8873  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8874  return _IMP_core.RigidMember_set_check_level(self, a0)
8875 
8876  def add_to_derivative(self, a0, a1, a2):
8877  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8878  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8879 
8880  def set_is_optimized(self, a0, a1):
8881  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8882  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8883 
8884  def get_is_optimized(self, a0):
8885  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8886  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8887 
8888  def get_check_level(self):
8889  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8890  return _IMP_core.RigidMember_get_check_level(self)
8891 
8892  def __eq__(self, *args):
8893  r"""
8894  __eq__(RigidMember self, RigidMember o) -> bool
8895  __eq__(RigidMember self, Particle d) -> bool
8896  """
8897  return _IMP_core.RigidMember___eq__(self, *args)
8898 
8899  def __ne__(self, *args):
8900  r"""
8901  __ne__(RigidMember self, RigidMember o) -> bool
8902  __ne__(RigidMember self, Particle d) -> bool
8903  """
8904  return _IMP_core.RigidMember___ne__(self, *args)
8905 
8906  def __le__(self, *args):
8907  r"""
8908  __le__(RigidMember self, RigidMember o) -> bool
8909  __le__(RigidMember self, Particle d) -> bool
8910  """
8911  return _IMP_core.RigidMember___le__(self, *args)
8912 
8913  def __lt__(self, *args):
8914  r"""
8915  __lt__(RigidMember self, RigidMember o) -> bool
8916  __lt__(RigidMember self, Particle d) -> bool
8917  """
8918  return _IMP_core.RigidMember___lt__(self, *args)
8919 
8920  def __ge__(self, *args):
8921  r"""
8922  __ge__(RigidMember self, RigidMember o) -> bool
8923  __ge__(RigidMember self, Particle d) -> bool
8924  """
8925  return _IMP_core.RigidMember___ge__(self, *args)
8926 
8927  def __gt__(self, *args):
8928  r"""
8929  __gt__(RigidMember self, RigidMember o) -> bool
8930  __gt__(RigidMember self, Particle d) -> bool
8931  """
8932  return _IMP_core.RigidMember___gt__(self, *args)
8933 
8934  def __hash__(self):
8935  r"""__hash__(RigidMember self) -> std::size_t"""
8936  return _IMP_core.RigidMember___hash__(self)
8937 
8938  def __str__(self):
8939  r"""__str__(RigidMember self) -> std::string"""
8940  return _IMP_core.RigidMember___str__(self)
8941 
8942  def __repr__(self):
8943  r"""__repr__(RigidMember self) -> std::string"""
8944  return _IMP_core.RigidMember___repr__(self)
8945 
8946  def _get_as_binary(self):
8947  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8948  return _IMP_core.RigidMember__get_as_binary(self)
8949 
8950  def _set_from_binary(self, p):
8951  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8952  return _IMP_core.RigidMember__set_from_binary(self, p)
8953 
8954  def __getstate__(self):
8955  p = self._get_as_binary()
8956  if len(self.__dict__) > 1:
8957  d = self.__dict__.copy()
8958  del d['this']
8959  p = (d, p)
8960  return p
8961 
8962  def __setstate__(self, p):
8963  if not hasattr(self, 'this'):
8964  self.__init__()
8965  if isinstance(p, tuple):
8966  d, p = p
8967  self.__dict__.update(d)
8968  return self._set_from_binary(p)
8969 
8970 
8971 # Register RigidMember in _IMP_core:
8972 _IMP_core.RigidMember_swigregister(RigidMember)
8973 class NonRigidMember(RigidBodyMember):
8974  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8975 
8976  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8977 
8978  def show(self, *args):
8979  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8980  return _IMP_core.NonRigidMember_show(self, *args)
8981 
8982  def __init__(self, *args):
8983  r"""
8984  __init__(NonRigidMember self) -> NonRigidMember
8985  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8986  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8987  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8988  """
8989  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8990  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8991 
8992  @staticmethod
8993  def get_is_setup(*args):
8994  r"""
8995  get_is_setup(_ParticleAdaptor p) -> bool
8996  get_is_setup(Model m, ParticleIndex p) -> bool
8997  """
8998  return _IMP_core.NonRigidMember_get_is_setup(*args)
8999 
9000  def add_to_internal_derivatives(self, deriv_parent, da):
9001  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
9002  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
9003 
9004  def add_to_internal_rotational_derivatives(self, *args):
9005  r"""
9006  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D local_qderiv, Rotation3D rot_local_to_parent, Rotation3D rot_parent_to_global, DerivativeAccumulator da)
9007  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)
9008  """
9009  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, *args)
9010 
9011  def get_internal_derivatives(self):
9012  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
9013  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
9014 
9015  def get_internal_rotational_derivatives(self):
9016  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
9017  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
9018 
9019  def add_attribute(self, *args):
9020  r"""
9021  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
9022  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
9023  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
9024  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9025  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9026  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
9027  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9028  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
9029  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9030  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9031  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9032  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9033  """
9034  return _IMP_core.NonRigidMember_add_attribute(self, *args)
9035 
9036  def get_value(self, *args):
9037  r"""
9038  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
9039  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
9040  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
9041  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
9042  get_value(NonRigidMember self, StringKey a0) -> IMP::String
9043  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
9044  get_value(NonRigidMember self, ObjectKey a0) -> Object
9045  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
9046  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9047  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9048  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9049  """
9050  return _IMP_core.NonRigidMember_get_value(self, *args)
9051 
9052  def set_value(self, *args):
9053  r"""
9054  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9055  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9056  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9057  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9058  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9059  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9060  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9061  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9062  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9063  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9064  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9065  """
9066  return _IMP_core.NonRigidMember_set_value(self, *args)
9067 
9068  def remove_attribute(self, *args):
9069  r"""
9070  remove_attribute(NonRigidMember self, FloatKey a0)
9071  remove_attribute(NonRigidMember self, IntKey a0)
9072  remove_attribute(NonRigidMember self, FloatsKey a0)
9073  remove_attribute(NonRigidMember self, IntsKey a0)
9074  remove_attribute(NonRigidMember self, StringKey a0)
9075  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9076  remove_attribute(NonRigidMember self, ObjectKey a0)
9077  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9078  remove_attribute(NonRigidMember self, SparseIntKey a0)
9079  remove_attribute(NonRigidMember self, SparseStringKey a0)
9080  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9081  """
9082  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9083 
9084  def has_attribute(self, *args):
9085  r"""
9086  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9087  has_attribute(NonRigidMember self, IntKey a0) -> bool
9088  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9089  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9090  has_attribute(NonRigidMember self, StringKey a0) -> bool
9091  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9092  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9093  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9094  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9095  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9096  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9097  """
9098  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9099 
9100  def get_derivative(self, a0):
9101  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9102  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9103 
9104  def get_name(self):
9105  r"""get_name(NonRigidMember self) -> std::string"""
9106  return _IMP_core.NonRigidMember_get_name(self)
9107 
9108  def clear_caches(self):
9109  r"""clear_caches(NonRigidMember self)"""
9110  return _IMP_core.NonRigidMember_clear_caches(self)
9111 
9112  def set_name(self, a0):
9113  r"""set_name(NonRigidMember self, std::string a0)"""
9114  return _IMP_core.NonRigidMember_set_name(self, a0)
9115 
9116  def set_check_level(self, a0):
9117  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9118  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9119 
9120  def add_to_derivative(self, a0, a1, a2):
9121  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9122  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9123 
9124  def set_is_optimized(self, a0, a1):
9125  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9126  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9127 
9128  def get_is_optimized(self, a0):
9129  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9130  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9131 
9132  def get_check_level(self):
9133  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9134  return _IMP_core.NonRigidMember_get_check_level(self)
9135 
9136  def __eq__(self, *args):
9137  r"""
9138  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9139  __eq__(NonRigidMember self, Particle d) -> bool
9140  """
9141  return _IMP_core.NonRigidMember___eq__(self, *args)
9142 
9143  def __ne__(self, *args):
9144  r"""
9145  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9146  __ne__(NonRigidMember self, Particle d) -> bool
9147  """
9148  return _IMP_core.NonRigidMember___ne__(self, *args)
9149 
9150  def __le__(self, *args):
9151  r"""
9152  __le__(NonRigidMember self, NonRigidMember o) -> bool
9153  __le__(NonRigidMember self, Particle d) -> bool
9154  """
9155  return _IMP_core.NonRigidMember___le__(self, *args)
9156 
9157  def __lt__(self, *args):
9158  r"""
9159  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9160  __lt__(NonRigidMember self, Particle d) -> bool
9161  """
9162  return _IMP_core.NonRigidMember___lt__(self, *args)
9163 
9164  def __ge__(self, *args):
9165  r"""
9166  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9167  __ge__(NonRigidMember self, Particle d) -> bool
9168  """
9169  return _IMP_core.NonRigidMember___ge__(self, *args)
9170 
9171  def __gt__(self, *args):
9172  r"""
9173  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9174  __gt__(NonRigidMember self, Particle d) -> bool
9175  """
9176  return _IMP_core.NonRigidMember___gt__(self, *args)
9177 
9178  def __hash__(self):
9179  r"""__hash__(NonRigidMember self) -> std::size_t"""
9180  return _IMP_core.NonRigidMember___hash__(self)
9181 
9182  def __str__(self):
9183  r"""__str__(NonRigidMember self) -> std::string"""
9184  return _IMP_core.NonRigidMember___str__(self)
9185 
9186  def __repr__(self):
9187  r"""__repr__(NonRigidMember self) -> std::string"""
9188  return _IMP_core.NonRigidMember___repr__(self)
9189 
9190  def _get_as_binary(self):
9191  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9192  return _IMP_core.NonRigidMember__get_as_binary(self)
9193 
9194  def _set_from_binary(self, p):
9195  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9196  return _IMP_core.NonRigidMember__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 
9215 # Register NonRigidMember in _IMP_core:
9216 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9217 class RigidMembersRefiner(IMP.Refiner):
9218  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9219 
9220  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9221 
9222  def __init__(self, *args):
9223  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9224  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9225 
9226  def do_get_inputs(self, m, pis):
9227  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9228  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9229 
9230  def get_version_info(self):
9231  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9232  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9233  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9234 
9235  def __str__(self):
9236  r"""__str__(RigidMembersRefiner self) -> std::string"""
9237  return _IMP_core.RigidMembersRefiner___str__(self)
9238 
9239  def __repr__(self):
9240  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9241  return _IMP_core.RigidMembersRefiner___repr__(self)
9242 
9243  @staticmethod
9244  def get_from(o):
9245  return _object_cast_to_RigidMembersRefiner(o)
9246 
9247 
9248 # Register RigidMembersRefiner in _IMP_core:
9249 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9250 
9251 def get_rigid_members_refiner():
9252  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9253  return _IMP_core.get_rigid_members_refiner()
9254 
9255 def transform(*args):
9256  r"""
9257  transform(XYZ a, Transformation3D tr)
9258  transform(RigidBody a, Transformation3D tr)
9259  """
9260  return _IMP_core.transform(*args)
9261 
9262 def get_initial_reference_frame(*args):
9263  r"""
9264  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9265  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9266  """
9267  return _IMP_core.get_initial_reference_frame(*args)
9268 
9269 def create_rigid_bodies(m, n, no_members=False):
9270  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9271  return _IMP_core.create_rigid_bodies(m, n, no_members)
9272 
9273 def show_rigid_body_hierarchy(*args):
9274  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9275  return _IMP_core.show_rigid_body_hierarchy(*args)
9276 
9277 def get_root_rigid_body(m):
9278  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9279  return _IMP_core.get_root_rigid_body(m)
9280 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9281  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9282 
9283  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9284 
9285  def __init__(self, *args):
9286  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9287  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9288 
9289  def do_get_inputs(self, m, pis):
9290  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9291  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9292 
9293  def do_get_outputs(self, m, pis):
9294  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9295  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9296 
9297  def get_version_info(self):
9298  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9299  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9300  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9301 
9302  def __str__(self):
9303  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9304  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9305 
9306  def __repr__(self):
9307  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9308  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9309 
9310  @staticmethod
9311  def get_from(o):
9312  return _object_cast_to__UpdateRigidBodyMembers(o)
9313 
9314 
9315 # Register _UpdateRigidBodyMembers in _IMP_core:
9316 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9317 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9318  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9319 
9320  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9321 
9322  def __init__(self, *args):
9323  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9324  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9325 
9326  def do_get_inputs(self, m, pis):
9327  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9328  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9329 
9330  def do_get_outputs(self, m, pis):
9331  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9332  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9333 
9334  def get_version_info(self):
9335  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9336  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9337  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9338 
9339  def __str__(self):
9340  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9341  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9342 
9343  def __repr__(self):
9344  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9345  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9346 
9347  @staticmethod
9348  def get_from(o):
9349  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9350 
9351 
9352 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9353 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9354 class _NormalizeRotation(IMP.SingletonModifier):
9355  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9356 
9357  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9358 
9359  def __init__(self, *args):
9360  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9361  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9362 
9363  def do_get_inputs(self, m, pis):
9364  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9365  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9366 
9367  def do_get_outputs(self, m, pis):
9368  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9369  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9370 
9371  def get_version_info(self):
9372  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9373  return _IMP_core._NormalizeRotation_get_version_info(self)
9374  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9375 
9376  def __str__(self):
9377  r"""__str__(_NormalizeRotation self) -> std::string"""
9378  return _IMP_core._NormalizeRotation___str__(self)
9379 
9380  def __repr__(self):
9381  r"""__repr__(_NormalizeRotation self) -> std::string"""
9382  return _IMP_core._NormalizeRotation___repr__(self)
9383 
9384  @staticmethod
9385  def get_from(o):
9386  return _object_cast_to__NormalizeRotation(o)
9387 
9388 
9389 # Register _NormalizeRotation in _IMP_core:
9390 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9391 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9392  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9393 
9394  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9395 
9396  def __init__(self, *args, **kwargs):
9397  raise AttributeError("No constructor defined - class is abstract")
9398 
9399  def get_before_modifier(self):
9400  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9401  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9402 
9403  def get_container(self):
9404  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9405  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9406 
9407  def get_version_info(self):
9408  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9409  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9410  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9411 
9412  def __str__(self):
9413  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9414  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9415 
9416  def __repr__(self):
9417  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9418  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9419 
9420  @staticmethod
9421  def get_from(o):
9422  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9423 
9424 
9425  def _get_jax(self):
9426  from IMP.algebra._jax_util import _quaternion_normalize
9427  import jax
9428  normalize_rotations = jax.vmap(_quaternion_normalize, in_axes=0)
9429  def apply_func(jm):
9430  # Assume that constraint acts on all rigid bodies
9431  allrbs = jm['rigid_bodies']
9432  allrbs.quaternion = normalize_rotations(allrbs.quaternion)
9433  return jm
9434  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9435 
9436 
9437 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9438 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9439 class _RigidBodyPositionConstraint(IMP.Constraint):
9440  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9441 
9442  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9443 
9444  def __init__(self, *args, **kwargs):
9445  raise AttributeError("No constructor defined - class is abstract")
9446 
9447  def get_version_info(self):
9448  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9449  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9450  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9451 
9452  def get_before_modifier(self):
9453  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9454  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9455 
9456  def get_after_modifier(self):
9457  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9458  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9459 
9460  def get_index(self):
9461  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9462  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9463 
9464  def __str__(self):
9465  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9466  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9467 
9468  def __repr__(self):
9469  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9470  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9471 
9472  @staticmethod
9473  def get_from(o):
9474  return _object_cast_to__RigidBodyPositionConstraint(o)
9475 
9476 
9477  def _get_jax(self):
9478  import jax
9479  def apply_func(jm):
9480  # Assume that constraint acts on all rigid bodies
9481  bodies = jm['rigid_bodies'].bodies
9482  # todo: this could perhaps be better parallelized, as in most
9483  # cases (at least, without nested rigid bodies) the update of
9484  # one rigid body does not affect members of another body
9485  for body in bodies:
9486  jm = body.update_members(jm)
9487  return jm
9488  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9489 
9490 
9491 # Register _RigidBodyPositionConstraint in _IMP_core:
9492 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9493 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9494  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9495 
9496  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9497 
9498  def __init__(self, rb, constituents):
9499  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9500  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9501 
9502  def get_version_info(self):
9503  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9504  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9505  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9506 
9507  def __str__(self):
9508  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9509  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9510 
9511  def __repr__(self):
9512  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9513  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9514 
9515  @staticmethod
9516  def get_from(o):
9517  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9518 
9519 
9520 # Register RigidBodyHierarchyGeometry in _IMP_core:
9521 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9522 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9523  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9524 
9525  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9526 
9527  def __init__(self, *args):
9528  r"""
9529  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9530  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9531  """
9532  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9533 
9534  def get_version_info(self):
9535  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9536  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9537  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9538 
9539  def __str__(self):
9540  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9541  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9542 
9543  def __repr__(self):
9544  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9545  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9546 
9547  @staticmethod
9548  def get_from(o):
9549  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9550 
9551 
9552 # Register RigidBodyDerivativeGeometry in _IMP_core:
9553 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9554 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9555  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9556 
9557  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9558 
9559  def __init__(self, sc):
9560  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9561  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9562 
9563  def get_version_info(self):
9564  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9565  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9566  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9567 
9568  def __str__(self):
9569  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9570  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9571 
9572  def __repr__(self):
9573  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9574  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9575 
9576  @staticmethod
9577  def get_from(o):
9578  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9579 
9580 
9581 # Register RigidBodyDerivativesGeometry in _IMP_core:
9582 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9583 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9584  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9585 
9586  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9587 
9588  def __init__(self, *args):
9589  r"""
9590  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9591  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9592  """
9593  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9594 
9595  def get_version_info(self):
9596  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9597  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9598  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9599 
9600  def __str__(self):
9601  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9602  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9603 
9604  def __repr__(self):
9605  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9606  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9607 
9608  @staticmethod
9609  def get_from(o):
9610  return _object_cast_to_RigidBodyFrameGeometry(o)
9611 
9612 
9613 # Register RigidBodyFrameGeometry in _IMP_core:
9614 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9615 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9616  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9617 
9618  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9619 
9620  def __init__(self, sc):
9621  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9622  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9623 
9624  def get_version_info(self):
9625  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9626  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9627  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9628 
9629  def __str__(self):
9630  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9631  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9632 
9633  def __repr__(self):
9634  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9635  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9636 
9637  @staticmethod
9638  def get_from(o):
9639  return _object_cast_to_RigidBodyFramesGeometry(o)
9640 
9641 
9642 # Register RigidBodyFramesGeometry in _IMP_core:
9643 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9644 class RigidBodyTorque(IMP.display.SegmentGeometry):
9645  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9646 
9647  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9648 
9649  def __init__(self, p):
9650  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9651  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9652 
9653  def __str__(self):
9654  r"""__str__(RigidBodyTorque self) -> std::string"""
9655  return _IMP_core.RigidBodyTorque___str__(self)
9656 
9657  def __repr__(self):
9658  r"""__repr__(RigidBodyTorque self) -> std::string"""
9659  return _IMP_core.RigidBodyTorque___repr__(self)
9660 
9661  @staticmethod
9662  def get_from(o):
9663  return _object_cast_to_RigidBodyTorque(o)
9664 
9665  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9666 
9667 # Register RigidBodyTorque in _IMP_core:
9668 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9669 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9670  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9671 
9672  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9673 
9674  def __init__(self):
9675  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9676  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9677 
9678  def get_close_pairs(self, *args):
9679  r"""
9680  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9681  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9682  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9683  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9684  """
9685  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9686 
9687  def do_get_inputs(self, m, pis):
9688  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9689  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9690 
9691  def get_version_info(self):
9692  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9693  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9694  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9695 
9696  def __str__(self):
9697  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9698  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9699 
9700  def __repr__(self):
9701  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9702  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9703 
9704  @staticmethod
9705  def get_from(o):
9706  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9707 
9708 
9709 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9710 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9711 class RestraintsScoringFunction(IMP.ScoringFunction):
9712  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9713 
9714  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9715 
9716  def __init__(self, *args):
9717  r"""
9718  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9719  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9720  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9721  """
9722  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9723 
9724  def do_add_score_and_derivatives(self, sa, ss):
9725  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9726  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9727 
9728  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9729  r"""do_add_score_and_derivatives_moved(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, IMP::ScoreStatesTemp const & ss)"""
9730  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9731 
9732  def do_get_inputs(self):
9733  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9734  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9735 
9736  def get_restraints(self):
9737  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9738  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9739 
9740  def set_restraints(self, d):
9741  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9742  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9743 
9744  def get_number_of_restraints(self):
9745  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9746  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9747 
9748  def clear_restraints(self):
9749  r"""clear_restraints(RestraintsScoringFunction self)"""
9750  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9751 
9752  def get_restraint(self, i):
9753  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9754  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9755 
9756  def erase_restraint(self, i):
9757  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9758  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9759 
9760  def add_restraint(self, d):
9761  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9762  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9763 
9764  def add_restraints(self, d):
9765  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9766  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9767 
9768  def _python_index_restraint(self, r, start, stop):
9769  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9770  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9771  def __get_restraints(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_restraints, getfunc=self.get_restraint, erasefunc=self.erase_restraint, appendfunc=self.add_restraint, extendfunc=self.add_restraints, clearfunc=self.clear_restraints, indexfunc=self._python_index_restraint)
9772  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9773  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9774  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9775 
9776  def get_version_info(self):
9777  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9778  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9779  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9780 
9781  def __str__(self):
9782  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9783  return _IMP_core.RestraintsScoringFunction___str__(self)
9784 
9785  def __repr__(self):
9786  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9787  return _IMP_core.RestraintsScoringFunction___repr__(self)
9788 
9789  @staticmethod
9790  def get_from(o):
9791  return _object_cast_to_RestraintsScoringFunction(o)
9792 
9793 
9794  def _get_as_binary(self):
9795  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9796  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9797 
9798  def _set_from_binary(self, p):
9799  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9800  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9801 
9802  def __getstate__(self):
9803  p = self._get_as_binary()
9804  if len(self.__dict__) > 1:
9805  d = self.__dict__.copy()
9806  del d['this']
9807  p = (d, p)
9808  return p
9809 
9810  def __setstate__(self, p):
9811  if not hasattr(self, 'this'):
9812  self.__init__()
9813  if isinstance(p, tuple):
9814  d, p = p
9815  self.__dict__.update(d)
9816  return self._set_from_binary(p)
9817 
9818 
9819  def _get_jax(self):
9820  import IMP._jax_util
9821  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9822  funcs = [j.score_func for j in jis]
9823  keys = frozenset(x for j in jis for x in j._keys)
9824  def jax_sf(jm):
9825  return sum(f(jm) for f in funcs)
9826  return IMP._jax_util.JAXRestraintInfo(
9827  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9828 
9829 
9830 # Register RestraintsScoringFunction in _IMP_core:
9831 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9832 class RigidClosePairsFinder(ClosePairsFinder):
9833  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9834 
9835  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9836 
9837  def __init__(self, cpf=None):
9838  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9839  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9840 
9841  def do_get_inputs(self, m, pis):
9842  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9843  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9844 
9845  def get_close_pairs(self, *args):
9846  r"""
9847  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9848  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9849  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9850  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9851  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9852  """
9853  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9854 
9855  def get_version_info(self):
9856  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9857  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9858  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9859 
9860  def __str__(self):
9861  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9862  return _IMP_core.RigidClosePairsFinder___str__(self)
9863 
9864  def __repr__(self):
9865  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9866  return _IMP_core.RigidClosePairsFinder___repr__(self)
9867 
9868  @staticmethod
9869  def get_from(o):
9870  return _object_cast_to_RigidClosePairsFinder(o)
9871 
9872 
9873  def _get_as_binary(self):
9874  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9875  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9876 
9877  def _set_from_binary(self, p):
9878  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9879  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9880 
9881  def __getstate__(self):
9882  p = self._get_as_binary()
9883  if len(self.__dict__) > 1:
9884  d = self.__dict__.copy()
9885  del d['this']
9886  p = (d, p)
9887  return p
9888 
9889  def __setstate__(self, p):
9890  if not hasattr(self, 'this'):
9891  self.__init__()
9892  if isinstance(p, tuple):
9893  d, p = p
9894  self.__dict__.update(d)
9895  return self._set_from_binary(p)
9896 
9897 
9898 # Register RigidClosePairsFinder in _IMP_core:
9899 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9900 class _SphereDistancePairScore(IMP.PairScore):
9901  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9902 
9903  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9904  __repr__ = _swig_repr
9905 
9906  def __init__(self, *args):
9907  r"""
9908  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9909  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9910  """
9911  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9912 
9913  def do_get_inputs(self, m, pis):
9914  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9915  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9916 
9917  def get_score_functor(self, *args):
9918  r"""
9919  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9920  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9921  """
9922  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9923 
9924  def get_version_info(self):
9925  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9926  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9927  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9928 
9929  @staticmethod
9930  def get_from(o):
9931  return _object_cast_to__SphereDistancePairScore(o)
9932 
9933 
9934  def _get_as_binary(self):
9935  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9936  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9937 
9938  def _set_from_binary(self, p):
9939  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9940  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9941 
9942  def __getstate__(self):
9943  p = self._get_as_binary()
9944  if len(self.__dict__) > 1:
9945  d = self.__dict__.copy()
9946  del d['this']
9947  p = (d, p)
9948  return p
9949 
9950  def __setstate__(self, p):
9951  if not hasattr(self, 'this'):
9952  self.__init__()
9953  if isinstance(p, tuple):
9954  d, p = p
9955  self.__dict__.update(d)
9956  return self._set_from_binary(p)
9957 
9958 
9959  def _get_jax(self, m, indexes):
9960  import jax.numpy as jnp
9961  def jax_score(jm, uf):
9962  xyzs = jm['xyz'][indexes]
9963  rs = jm['r'][indexes]
9964  diff = xyzs[:,0] - xyzs[:,1]
9965  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9966  return uf(drs)
9967  sfnc = self.get_score_functor()
9968  uf = sfnc.get_unary_function().get_derived_object()
9969  f = functools.partial(jax_score, uf=uf._get_jax())
9970  return self._wrap_jax(m, f)
9971 
9972 
9973 # Register _SphereDistancePairScore in _IMP_core:
9974 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9975 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9976  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9977 
9978  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9979 
9980  def __init__(self, *args):
9981  r"""
9982  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9983  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9984  """
9985  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9986 
9987  def do_get_inputs(self, m, pis):
9988  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9989  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9990 
9991  def get_score_functor(self, *args):
9992  r"""
9993  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9994  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9995  """
9996  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9997 
9998  def get_x0(self):
9999  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10000  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
10001 
10002  def get_k(self):
10003  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10004  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
10005 
10006  def get_version_info(self):
10007  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
10008  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
10009  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
10010 
10011  def __str__(self):
10012  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10013  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
10014 
10015  def __repr__(self):
10016  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10017  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
10018 
10019  @staticmethod
10020  def get_from(o):
10021  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
10022 
10023 
10024  def _get_as_binary(self):
10025  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
10026  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
10027 
10028  def _set_from_binary(self, p):
10029  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
10030  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
10031 
10032  def __getstate__(self):
10033  p = self._get_as_binary()
10034  if len(self.__dict__) > 1:
10035  d = self.__dict__.copy()
10036  del d['this']
10037  p = (d, p)
10038  return p
10039 
10040  def __setstate__(self, p):
10041  if not hasattr(self, 'this'):
10042  self.__init__()
10043  if isinstance(p, tuple):
10044  d, p = p
10045  self.__dict__.update(d)
10046  return self._set_from_binary(p)
10047 
10048 
10049  def _get_jax(self, m, indexes):
10050  import jax.numpy as jnp
10051  import jax.lax
10052  def jax_score(jm, d, k):
10053  xyzs = jm['xyz'][indexes]
10054  rs = jm['r'][indexes]
10055  diff = xyzs[:,0] - xyzs[:,1]
10056  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10057  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
10058  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10059  return self._wrap_jax(m, f)
10060 
10061 
10062 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
10063 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
10064 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
10065  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
10066 
10067  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10068 
10069  def __init__(self, d0, k):
10070  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
10071  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
10072 
10073  def get_rest_length(self):
10074  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10075  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10076 
10077  def get_stiffness(self):
10078  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10079  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10080 
10081  def do_get_inputs(self, m, pis):
10082  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10083  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10084 
10085  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10086  r"""evaluate_indexes(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10087  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10088 
10089  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10090  r"""evaluate_indexes_scores(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10091  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10092 
10093  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10094  r"""evaluate_indexes_delta(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10095  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10096 
10097  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10098  r"""evaluate_if_good_indexes(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10099  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10100 
10101  def get_version_info(self):
10102  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10103  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10104  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10105 
10106  def __str__(self):
10107  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10108  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10109 
10110  def __repr__(self):
10111  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10112  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10113 
10114  @staticmethod
10115  def get_from(o):
10116  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10117 
10118 
10119 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10120 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10121 class HarmonicSphereDistancePairScore(IMP.PairScore):
10122  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10123 
10124  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10125 
10126  def __init__(self, *args):
10127  r"""
10128  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10129  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10130  """
10131  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10132 
10133  def do_get_inputs(self, m, pis):
10134  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10135  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10136 
10137  def get_score_functor(self, *args):
10138  r"""
10139  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10140  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10141  """
10142  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10143 
10144  def get_x0(self):
10145  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10146  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10147 
10148  def get_k(self):
10149  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10150  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10151 
10152  def get_version_info(self):
10153  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10154  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10155  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10156 
10157  def __str__(self):
10158  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10159  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10160 
10161  def __repr__(self):
10162  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10163  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10164 
10165  @staticmethod
10166  def get_from(o):
10167  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10168 
10169 
10170  def _get_as_binary(self):
10171  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10172  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10173 
10174  def _set_from_binary(self, p):
10175  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10176  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10177 
10178  def __getstate__(self):
10179  p = self._get_as_binary()
10180  if len(self.__dict__) > 1:
10181  d = self.__dict__.copy()
10182  del d['this']
10183  p = (d, p)
10184  return p
10185 
10186  def __setstate__(self, p):
10187  if not hasattr(self, 'this'):
10188  self.__init__()
10189  if isinstance(p, tuple):
10190  d, p = p
10191  self.__dict__.update(d)
10192  return self._set_from_binary(p)
10193 
10194 
10195  def _get_jax(self, m, indexes):
10196  import jax.numpy as jnp
10197  def jax_score(jm, d, k):
10198  xyzs = jm['xyz'][indexes]
10199  rs = jm['r'][indexes]
10200  diff = xyzs[:,0] - xyzs[:,1]
10201  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10202  return 0.5 * k * (d - drs)**2
10203  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10204  return self._wrap_jax(m, f)
10205 
10206 
10207 # Register HarmonicSphereDistancePairScore in _IMP_core:
10208 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10209 class NormalizedSphereDistancePairScore(IMP.PairScore):
10210  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10211 
10212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10213 
10214  def __init__(self, *args):
10215  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10216  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10217 
10218  def do_get_inputs(self, m, pis):
10219  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10220  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10221 
10222  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10223  r"""evaluate_indexes(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10224  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10225 
10226  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10227  r"""evaluate_indexes_scores(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10228  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10229 
10230  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10231  r"""evaluate_indexes_delta(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10232  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10233 
10234  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10235  r"""evaluate_if_good_indexes(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10236  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10237 
10238  def get_version_info(self):
10239  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10240  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10241  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10242 
10243  def __str__(self):
10244  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10245  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10246 
10247  def __repr__(self):
10248  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10249  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10250 
10251  @staticmethod
10252  def get_from(o):
10253  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10254 
10255 
10256 # Register NormalizedSphereDistancePairScore in _IMP_core:
10257 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10258 class WeightedSphereDistancePairScore(IMP.PairScore):
10259  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10260 
10261  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10262 
10263  def __init__(self, *args):
10264  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10265  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10266 
10267  def do_get_inputs(self, m, pis):
10268  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10269  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10270 
10271  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10272  r"""evaluate_indexes(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10273  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10274 
10275  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10276  r"""evaluate_indexes_scores(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10277  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10278 
10279  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10280  r"""evaluate_indexes_delta(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10281  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10282 
10283  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10284  r"""evaluate_if_good_indexes(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10285  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10286 
10287  def get_version_info(self):
10288  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10289  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10290  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10291 
10292  def __str__(self):
10293  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10294  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10295 
10296  def __repr__(self):
10297  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10298  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10299 
10300  @staticmethod
10301  def get_from(o):
10302  return _object_cast_to_WeightedSphereDistancePairScore(o)
10303 
10304 
10305 # Register WeightedSphereDistancePairScore in _IMP_core:
10306 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10307 class SoftSpherePairScore(IMP.PairScore):
10308  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10309 
10310  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10311 
10312  def __init__(self, *args):
10313  r"""
10314  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10315  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10316  """
10317  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10318 
10319  def do_get_inputs(self, m, pis):
10320  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10321  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10322 
10323  def get_score_functor(self, *args):
10324  r"""
10325  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10326  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10327  """
10328  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10329 
10330  def get_k(self):
10331  r"""get_k(SoftSpherePairScore self) -> double"""
10332  return _IMP_core.SoftSpherePairScore_get_k(self)
10333 
10334  def get_version_info(self):
10335  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10336  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10337  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10338 
10339  def __str__(self):
10340  r"""__str__(SoftSpherePairScore self) -> std::string"""
10341  return _IMP_core.SoftSpherePairScore___str__(self)
10342 
10343  def __repr__(self):
10344  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10345  return _IMP_core.SoftSpherePairScore___repr__(self)
10346 
10347  @staticmethod
10348  def get_from(o):
10349  return _object_cast_to_SoftSpherePairScore(o)
10350 
10351 
10352  def _get_as_binary(self):
10353  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10354  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10355 
10356  def _set_from_binary(self, p):
10357  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10358  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10359 
10360  def __getstate__(self):
10361  p = self._get_as_binary()
10362  if len(self.__dict__) > 1:
10363  d = self.__dict__.copy()
10364  del d['this']
10365  p = (d, p)
10366  return p
10367 
10368  def __setstate__(self, p):
10369  if not hasattr(self, 'this'):
10370  self.__init__()
10371  if isinstance(p, tuple):
10372  d, p = p
10373  self.__dict__.update(d)
10374  return self._set_from_binary(p)
10375 
10376 
10377  def _get_jax(self, m, indexes):
10378  import jax.numpy as jnp
10379  import jax.lax
10380  def jax_score(jm, k):
10381  xyzs = jm['xyz'][indexes]
10382  rs = jm['r'][indexes]
10383  diff = xyzs[:,0] - xyzs[:,1]
10384  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10385  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10386  f = functools.partial(jax_score, k=self.get_k())
10387  return self._wrap_jax(m, f)
10388 
10389 
10390 # Register SoftSpherePairScore in _IMP_core:
10391 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10392 class SurfaceDistancePairScore(IMP.PairScore):
10393  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10394 
10395  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10396 
10397  def __init__(self, *args):
10398  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10399  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10400 
10401  def do_get_inputs(self, m, pis):
10402  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10403  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10404 
10405  def get_version_info(self):
10406  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10407  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10408  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10409 
10410  def __str__(self):
10411  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10412  return _IMP_core.SurfaceDistancePairScore___str__(self)
10413 
10414  def __repr__(self):
10415  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10416  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10417 
10418  @staticmethod
10419  def get_from(o):
10420  return _object_cast_to_SurfaceDistancePairScore(o)
10421 
10422 
10423 # Register SurfaceDistancePairScore in _IMP_core:
10424 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10425 class SurfaceHeightPairScore(IMP.PairScore):
10426  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10427 
10428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10429 
10430  def __init__(self, *args):
10431  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10432  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10433 
10434  def do_get_inputs(self, m, pis):
10435  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10436  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10437 
10438  def get_version_info(self):
10439  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10440  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10441  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10442 
10443  def __str__(self):
10444  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10445  return _IMP_core.SurfaceHeightPairScore___str__(self)
10446 
10447  def __repr__(self):
10448  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10449  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10450 
10451  @staticmethod
10452  def get_from(o):
10453  return _object_cast_to_SurfaceHeightPairScore(o)
10454 
10455 
10456 # Register SurfaceHeightPairScore in _IMP_core:
10457 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10458 class SurfaceDepthPairScore(IMP.PairScore):
10459  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10460 
10461  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10462 
10463  def __init__(self, *args):
10464  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10465  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10466 
10467  def do_get_inputs(self, m, pis):
10468  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10469  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10470 
10471  def get_version_info(self):
10472  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10473  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10474  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10475 
10476  def __str__(self):
10477  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10478  return _IMP_core.SurfaceDepthPairScore___str__(self)
10479 
10480  def __repr__(self):
10481  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10482  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10483 
10484  @staticmethod
10485  def get_from(o):
10486  return _object_cast_to_SurfaceDepthPairScore(o)
10487 
10488 
10489 # Register SurfaceDepthPairScore in _IMP_core:
10490 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10491 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10492  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10493 
10494  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10495 
10496  def __init__(self, *args):
10497  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10498  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10499 
10500  def do_get_inputs(self, m, pis):
10501  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10502  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10503 
10504  def get_version_info(self):
10505  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10506  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10507  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10508 
10509  def __str__(self):
10510  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10511  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10512 
10513  def __repr__(self):
10514  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10515  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10516 
10517  @staticmethod
10518  def get_from(o):
10519  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10520 
10521 
10522 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10523 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10524 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10525  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10526 
10527  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10528 
10529  def __init__(self, *args):
10530  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10531  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10532 
10533  def do_get_inputs(self, m, pis):
10534  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10535  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10536 
10537  def get_version_info(self):
10538  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10539  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10540  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10541 
10542  def __str__(self):
10543  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10544  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10545 
10546  def __repr__(self):
10547  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10548  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10549 
10550  @staticmethod
10551  def get_from(o):
10552  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10553 
10554 
10555 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10556 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10557 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10558  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore 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"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10564  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10565 
10566  def do_get_inputs(self, m, pis):
10567  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10568  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10569 
10570  def get_version_info(self):
10571  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10572  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10573  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10574 
10575  def __str__(self):
10576  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10577  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10578 
10579  def __repr__(self):
10580  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10581  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10582 
10583  @staticmethod
10584  def get_from(o):
10585  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10586 
10587 
10588 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10589 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10590 class SoftSuperSurfacePairScore(IMP.PairScore):
10591  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10592 
10593  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10594 
10595  def __init__(self, *args):
10596  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10597  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10598 
10599  def do_get_inputs(self, m, pis):
10600  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10601  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10602 
10603  def get_version_info(self):
10604  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10605  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10606  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10607 
10608  def __str__(self):
10609  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10610  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10611 
10612  def __repr__(self):
10613  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10614  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10615 
10616  @staticmethod
10617  def get_from(o):
10618  return _object_cast_to_SoftSuperSurfacePairScore(o)
10619 
10620 
10621 # Register SoftSuperSurfacePairScore in _IMP_core:
10622 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10623 class SoftSubSurfacePairScore(IMP.PairScore):
10624  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10625 
10626  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10627 
10628  def __init__(self, *args):
10629  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10630  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10631 
10632  def do_get_inputs(self, m, pis):
10633  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10634  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10635 
10636  def get_version_info(self):
10637  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10638  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10639  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10640 
10641  def __str__(self):
10642  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10643  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10644 
10645  def __repr__(self):
10646  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10647  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10648 
10649  @staticmethod
10650  def get_from(o):
10651  return _object_cast_to_SoftSubSurfacePairScore(o)
10652 
10653 
10654 # Register SoftSubSurfacePairScore in _IMP_core:
10655 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10656 class SurfaceTetheredChain(IMP.UnaryFunction):
10657  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10658 
10659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10660 
10661  def __init__(self, link_num, link_length):
10662  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10663  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10664 
10665  def get_version_info(self):
10666  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10667  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10668  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10669 
10670  def get_link_number(self):
10671  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10672  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10673 
10674  def get_link_length(self):
10675  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10676  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10677 
10678  def set_link_number(self, N):
10679  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10680  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10681 
10682  def set_link_length(self, b):
10683  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10684  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10685 
10686  def get_distance_at_minimum(self):
10687  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10688  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10689 
10690  def get_average_distance(self):
10691  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10692  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10693 
10694  def __str__(self):
10695  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10696  return _IMP_core.SurfaceTetheredChain___str__(self)
10697 
10698  def __repr__(self):
10699  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10700  return _IMP_core.SurfaceTetheredChain___repr__(self)
10701 
10702  @staticmethod
10703  def get_from(o):
10704  return _object_cast_to_SurfaceTetheredChain(o)
10705 
10706 
10707 # Register SurfaceTetheredChain in _IMP_core:
10708 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10709 class SurfaceSymmetryConstraint(IMP.Constraint):
10710  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10711 
10712  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10713 
10714  def __init__(self, m, ss, rbs):
10715  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10716  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10717 
10718  def do_get_inputs(self):
10719  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10720  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10721 
10722  def do_get_outputs(self):
10723  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10724  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10725 
10726  def get_version_info(self):
10727  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10728  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10729  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10730 
10731  def __str__(self):
10732  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10733  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10734 
10735  def __repr__(self):
10736  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10737  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10738 
10739  @staticmethod
10740  def get_from(o):
10741  return _object_cast_to_SurfaceSymmetryConstraint(o)
10742 
10743 
10744 # Register SurfaceSymmetryConstraint in _IMP_core:
10745 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10746 class SteepestDescent(IMP.AttributeOptimizer):
10747  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10748 
10749  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10750 
10751  def __init__(self, *args):
10752  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10753  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10754 
10755  def do_optimize(self, max_steps):
10756  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10757  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10758 
10759  def get_version_info(self):
10760  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10761  return _IMP_core.SteepestDescent_get_version_info(self)
10762  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10763 
10764  def set_threshold(self, t):
10765  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10766  return _IMP_core.SteepestDescent_set_threshold(self, t)
10767 
10768  def set_step_size(self, t):
10769  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10770  return _IMP_core.SteepestDescent_set_step_size(self, t)
10771 
10772  def set_maximum_step_size(self, t):
10773  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10774  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10775 
10776  def __str__(self):
10777  r"""__str__(SteepestDescent self) -> std::string"""
10778  return _IMP_core.SteepestDescent___str__(self)
10779 
10780  def __repr__(self):
10781  r"""__repr__(SteepestDescent self) -> std::string"""
10782  return _IMP_core.SteepestDescent___repr__(self)
10783 
10784  @staticmethod
10785  def get_from(o):
10786  return _object_cast_to_SteepestDescent(o)
10787 
10788 
10789 # Register SteepestDescent in _IMP_core:
10790 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10791 class TransformedDistancePairScore(IMP.PairScore):
10792  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10793 
10794  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10795 
10796  def __init__(self, f, transformation):
10797  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10798  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10799 
10800  def set_transformation(self, rot):
10801  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10802  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10803 
10804  def do_get_inputs(self, m, pis):
10805  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10806  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10807 
10808  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10809  r"""evaluate_indexes(TransformedDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10810  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10811 
10812  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10813  r"""evaluate_indexes_scores(TransformedDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10814  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10815 
10816  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10817  r"""evaluate_indexes_delta(TransformedDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10818  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10819 
10820  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10821  r"""evaluate_if_good_indexes(TransformedDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10822  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10823 
10824  def get_version_info(self):
10825  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10826  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10827  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10828 
10829  def __str__(self):
10830  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10831  return _IMP_core.TransformedDistancePairScore___str__(self)
10832 
10833  def __repr__(self):
10834  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10835  return _IMP_core.TransformedDistancePairScore___repr__(self)
10836 
10837  @staticmethod
10838  def get_from(o):
10839  return _object_cast_to_TransformedDistancePairScore(o)
10840 
10841 
10842 # Register TransformedDistancePairScore in _IMP_core:
10843 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10844 class TypedPairScore(IMP.PairScore):
10845  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10846 
10847  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10848 
10849  def __init__(self, typekey, allow_invalid_types=True):
10850  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10851  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10852 
10853  def set_particle_type(self, arg2):
10854  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10855  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10856 
10857  def set_pair_score(self, ps, atype, btype):
10858  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10859  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10860 
10861  def do_get_inputs(self, m, pis):
10862  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10863  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10864 
10865  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10866  r"""evaluate_indexes(TypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10867  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10868 
10869  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10870  r"""evaluate_indexes_scores(TypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10871  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10872 
10873  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10874  r"""evaluate_indexes_delta(TypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10875  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10876 
10877  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10878  r"""evaluate_if_good_indexes(TypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10879  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10880 
10881  def get_version_info(self):
10882  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10883  return _IMP_core.TypedPairScore_get_version_info(self)
10884  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10885 
10886  def __str__(self):
10887  r"""__str__(TypedPairScore self) -> std::string"""
10888  return _IMP_core.TypedPairScore___str__(self)
10889 
10890  def __repr__(self):
10891  r"""__repr__(TypedPairScore self) -> std::string"""
10892  return _IMP_core.TypedPairScore___repr__(self)
10893 
10894  @staticmethod
10895  def get_from(o):
10896  return _object_cast_to_TypedPairScore(o)
10897 
10898 
10899 # Register TypedPairScore in _IMP_core:
10900 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10901 class RigidBodyDistancePairScore(KClosePairsPairScore):
10902  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10903 
10904  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10905 
10906  def __init__(self, ps, r):
10907  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10908  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10909 
10910  def __str__(self):
10911  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10912  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10913 
10914  def __repr__(self):
10915  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10916  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10917 
10918  @staticmethod
10919  def get_from(o):
10920  return _object_cast_to_RigidBodyDistancePairScore(o)
10921 
10922  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10923 
10924 # Register RigidBodyDistancePairScore in _IMP_core:
10925 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10926 class RigidBodyAnglePairScore(IMP.PairScore):
10927  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10928 
10929  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10930 
10931  def __init__(self, f):
10932  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10933  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10934 
10935  def do_get_inputs(self, m, pis):
10936  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10937  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10938 
10939  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10940  r"""evaluate_indexes(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10941  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10942 
10943  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10944  r"""evaluate_indexes_scores(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10945  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10946 
10947  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10948  r"""evaluate_indexes_delta(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10949  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10950 
10951  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10952  r"""evaluate_if_good_indexes(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10953  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10954 
10955  def get_version_info(self):
10956  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10957  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10958  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10959 
10960  def __str__(self):
10961  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10962  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10963 
10964  def __repr__(self):
10965  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10966  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10967 
10968  @staticmethod
10969  def get_from(o):
10970  return _object_cast_to_RigidBodyAnglePairScore(o)
10971 
10972 
10973 # Register RigidBodyAnglePairScore in _IMP_core:
10974 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10975 class TableRefiner(IMP.Refiner):
10976  r"""Proxy of C++ IMP::core::TableRefiner class."""
10977 
10978  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10979 
10980  def __init__(self):
10981  r"""__init__(TableRefiner self) -> TableRefiner"""
10982  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10983 
10984  def add_particle(self, p, ps):
10985  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10986  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10987 
10988  def remove_particle(self, p):
10989  r"""remove_particle(TableRefiner self, Particle p)"""
10990  return _IMP_core.TableRefiner_remove_particle(self, p)
10991 
10992  def set_particle(self, p, ps):
10993  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10994  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10995 
10996  def do_get_inputs(self, m, pis):
10997  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10998  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10999 
11000  def get_version_info(self):
11001  r"""get_version_info(TableRefiner self) -> VersionInfo"""
11002  return _IMP_core.TableRefiner_get_version_info(self)
11003  __swig_destroy__ = _IMP_core.delete_TableRefiner
11004 
11005  def __str__(self):
11006  r"""__str__(TableRefiner self) -> std::string"""
11007  return _IMP_core.TableRefiner___str__(self)
11008 
11009  def __repr__(self):
11010  r"""__repr__(TableRefiner self) -> std::string"""
11011  return _IMP_core.TableRefiner___repr__(self)
11012 
11013  @staticmethod
11014  def get_from(o):
11015  return _object_cast_to_TableRefiner(o)
11016 
11017 
11018 # Register TableRefiner in _IMP_core:
11019 _IMP_core.TableRefiner_swigregister(TableRefiner)
11020 LOWER = _IMP_core.LOWER
11021 
11022 BOTH = _IMP_core.BOTH
11023 
11024 UPPER = _IMP_core.UPPER
11025 
11026 class MCCGSampler(IMP.Sampler):
11027  r"""Proxy of C++ IMP::core::MCCGSampler class."""
11028 
11029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11030 
11031  def __init__(self, *args):
11032  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
11033  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
11034 
11035  def set_bounding_box(self, bb):
11036  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
11037  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
11038 
11039  def set_number_of_attempts(self, att):
11040  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
11041  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
11042 
11043  def set_number_of_monte_carlo_steps(self, cg):
11044  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
11045  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
11046 
11047  def set_number_of_conjugate_gradient_steps(self, cg):
11048  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
11049  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
11050 
11051  def set_max_monte_carlo_step_size(self, *args):
11052  r"""
11053  set_max_monte_carlo_step_size(MCCGSampler self, double d)
11054  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
11055  """
11056  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
11057 
11058  def set_is_refining(self, tf):
11059  r"""set_is_refining(MCCGSampler self, bool tf)"""
11060  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
11061 
11062  def set_local_optimizer(self, opt):
11063  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
11064  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
11065 
11066  def set_save_rejected_configurations(self, tf):
11067  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
11068  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
11069 
11070  def get_rejected_configurations(self):
11071  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
11072  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11073  def __get_optimizer_states(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_optimizer_states, getfunc=self.get_optimizer_state, erasefunc=self.erase_optimizer_state, appendfunc=self.add_optimizer_state, extendfunc=self.add_optimizer_states, clearfunc=self.clear_optimizer_states, indexfunc=self._python_index_optimizer_state)
11074  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11075  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11076  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11077 
11078  def remove_optimizer_state(self, d):
11079  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11080  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11081 
11082  def _python_index_optimizer_state(self, d, start, stop):
11083  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11084  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11085 
11086  def remove_optimizer_states(self, d):
11087  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11088  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11089 
11090  def set_optimizer_states(self, ps):
11091  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11092  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11093 
11094  def set_optimizer_states_order(self, objs):
11095  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11096  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11097 
11098  def add_optimizer_state(self, obj):
11099  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11100  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11101 
11102  def add_optimizer_states(self, objs):
11103  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11104  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11105 
11106  def clear_optimizer_states(self):
11107  r"""clear_optimizer_states(MCCGSampler self)"""
11108  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11109 
11110  def get_number_of_optimizer_states(self):
11111  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11112  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11113 
11114  def get_has_optimizer_states(self):
11115  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11116  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11117 
11118  def get_optimizer_state(self, i):
11119  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11120  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11121 
11122  def get_optimizer_states(self):
11123  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11124  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11125 
11126  def erase_optimizer_state(self, i):
11127  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11128  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11129 
11130  def reserve_optimizer_states(self, sz):
11131  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11132  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11133 
11134  def do_sample(self):
11135  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11136  return _IMP_core.MCCGSampler_do_sample(self)
11137 
11138  def get_version_info(self):
11139  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11140  return _IMP_core.MCCGSampler_get_version_info(self)
11141  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11142 
11143  def __str__(self):
11144  r"""__str__(MCCGSampler self) -> std::string"""
11145  return _IMP_core.MCCGSampler___str__(self)
11146 
11147  def __repr__(self):
11148  r"""__repr__(MCCGSampler self) -> std::string"""
11149  return _IMP_core.MCCGSampler___repr__(self)
11150 
11151  @staticmethod
11152  def get_from(o):
11153  return _object_cast_to_MCCGSampler(o)
11154 
11155 
11156 # Register MCCGSampler in _IMP_core:
11157 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11158 class MinimumRestraint(IMP.Restraint):
11159  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11160 
11161  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11162 
11163  def __init__(self, *args):
11164  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11165  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11166 
11167  def do_get_inputs(self):
11168  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11169  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11170 
11171  def get_version_info(self):
11172  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11173  return _IMP_core.MinimumRestraint_get_version_info(self)
11174  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11175  def __get_restraints(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_restraints, getfunc=self.get_restraint, erasefunc=self.erase_restraint, appendfunc=self.add_restraint, extendfunc=self.add_restraints, clearfunc=self.clear_restraints, indexfunc=self._python_index_restraint)
11176  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11177  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11178  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11179 
11180  def remove_restraint(self, d):
11181  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11182  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11183 
11184  def _python_index_restraint(self, d, start, stop):
11185  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11186  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11187 
11188  def remove_restraints(self, d):
11189  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11190  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11191 
11192  def set_restraints(self, ps):
11193  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11194  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11195 
11196  def set_restraints_order(self, objs):
11197  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11198  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11199 
11200  def add_restraint(self, obj):
11201  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11202  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11203 
11204  def add_restraints(self, objs):
11205  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11206  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11207 
11208  def clear_restraints(self):
11209  r"""clear_restraints(MinimumRestraint self)"""
11210  return _IMP_core.MinimumRestraint_clear_restraints(self)
11211 
11212  def get_number_of_restraints(self):
11213  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11214  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11215 
11216  def get_has_restraints(self):
11217  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11218  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11219 
11220  def get_restraint(self, i):
11221  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11222  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11223 
11224  def get_restraints(self):
11225  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11226  return _IMP_core.MinimumRestraint_get_restraints(self)
11227 
11228  def erase_restraint(self, i):
11229  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11230  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11231 
11232  def reserve_restraints(self, sz):
11233  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11234  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11235 
11236  def __str__(self):
11237  r"""__str__(MinimumRestraint self) -> std::string"""
11238  return _IMP_core.MinimumRestraint___str__(self)
11239 
11240  def __repr__(self):
11241  r"""__repr__(MinimumRestraint self) -> std::string"""
11242  return _IMP_core.MinimumRestraint___repr__(self)
11243 
11244  @staticmethod
11245  def get_from(o):
11246  return _object_cast_to_MinimumRestraint(o)
11247 
11248 
11249 # Register MinimumRestraint in _IMP_core:
11250 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11251 class Gaussian(RigidBody):
11252  r"""Proxy of C++ IMP::core::Gaussian class."""
11253 
11254  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11255 
11256  def __init__(self, *args):
11257  r"""
11258  __init__(Gaussian self) -> Gaussian
11259  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11260  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11261  """
11262  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11263 
11264  def show(self, *args):
11265  r"""show(Gaussian self, _ostream out=std::cout)"""
11266  return _IMP_core.Gaussian_show(self, *args)
11267 
11268  @staticmethod
11269  def setup_particle(*args):
11270  r"""
11271  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11272  setup_particle(_ParticleAdaptor pa) -> Gaussian
11273  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11274  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11275  """
11276  return _IMP_core.Gaussian_setup_particle(*args)
11277 
11278  @staticmethod
11279  def get_local_covariance_key():
11280  r"""get_local_covariance_key() -> ObjectKey"""
11281  return _IMP_core.Gaussian_get_local_covariance_key()
11282 
11283  @staticmethod
11284  def get_global_covariance_key():
11285  r"""get_global_covariance_key() -> ObjectKey"""
11286  return _IMP_core.Gaussian_get_global_covariance_key()
11287 
11288  @staticmethod
11289  def get_is_setup(*args):
11290  r"""
11291  get_is_setup(_ParticleAdaptor p) -> bool
11292  get_is_setup(Model m, ParticleIndex pi) -> bool
11293  """
11294  return _IMP_core.Gaussian_get_is_setup(*args)
11295 
11296  def get_local_covariance(self):
11297  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11298  return _IMP_core.Gaussian_get_local_covariance(self)
11299 
11300  def get_variances(self):
11301  r"""get_variances(Gaussian self) -> Vector3D"""
11302  return _IMP_core.Gaussian_get_variances(self)
11303 
11304  def get_global_covariance(self):
11305  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11306  return _IMP_core.Gaussian_get_global_covariance(self)
11307 
11308  def get_gaussian(self):
11309  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11310  return _IMP_core.Gaussian_get_gaussian(self)
11311 
11312  def set_gaussian(self, g):
11313  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11314  return _IMP_core.Gaussian_set_gaussian(self, g)
11315 
11316  def set_local_covariance(self, covar):
11317  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11318  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11319 
11320  def set_variances(self, v):
11321  r"""set_variances(Gaussian self, Vector3D v)"""
11322  return _IMP_core.Gaussian_set_variances(self, v)
11323 
11324  def set_global_covariance(self, covar):
11325  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11326  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11327 
11328  def update_global_covariance(self):
11329  r"""update_global_covariance(Gaussian self)"""
11330  return _IMP_core.Gaussian_update_global_covariance(self)
11331 
11332  def add_attribute(self, *args):
11333  r"""
11334  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11335  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11336  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11337  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11338  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11339  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11340  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11341  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11342  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11343  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11344  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11345  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11346  """
11347  return _IMP_core.Gaussian_add_attribute(self, *args)
11348 
11349  def get_value(self, *args):
11350  r"""
11351  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11352  get_value(Gaussian self, IntKey a0) -> IMP::Int
11353  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11354  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11355  get_value(Gaussian self, StringKey a0) -> IMP::String
11356  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11357  get_value(Gaussian self, ObjectKey a0) -> Object
11358  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11359  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11360  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11361  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11362  """
11363  return _IMP_core.Gaussian_get_value(self, *args)
11364 
11365  def set_value(self, *args):
11366  r"""
11367  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11368  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11369  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11370  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11371  set_value(Gaussian self, StringKey a0, IMP::String a1)
11372  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11373  set_value(Gaussian self, ObjectKey a0, Object a1)
11374  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11375  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11376  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11377  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11378  """
11379  return _IMP_core.Gaussian_set_value(self, *args)
11380 
11381  def remove_attribute(self, *args):
11382  r"""
11383  remove_attribute(Gaussian self, FloatKey a0)
11384  remove_attribute(Gaussian self, IntKey a0)
11385  remove_attribute(Gaussian self, FloatsKey a0)
11386  remove_attribute(Gaussian self, IntsKey a0)
11387  remove_attribute(Gaussian self, StringKey a0)
11388  remove_attribute(Gaussian self, ParticleIndexKey a0)
11389  remove_attribute(Gaussian self, ObjectKey a0)
11390  remove_attribute(Gaussian self, SparseFloatKey a0)
11391  remove_attribute(Gaussian self, SparseIntKey a0)
11392  remove_attribute(Gaussian self, SparseStringKey a0)
11393  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11394  """
11395  return _IMP_core.Gaussian_remove_attribute(self, *args)
11396 
11397  def has_attribute(self, *args):
11398  r"""
11399  has_attribute(Gaussian self, FloatKey a0) -> bool
11400  has_attribute(Gaussian self, IntKey a0) -> bool
11401  has_attribute(Gaussian self, FloatsKey a0) -> bool
11402  has_attribute(Gaussian self, IntsKey a0) -> bool
11403  has_attribute(Gaussian self, StringKey a0) -> bool
11404  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11405  has_attribute(Gaussian self, ObjectKey a0) -> bool
11406  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11407  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11408  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11409  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11410  """
11411  return _IMP_core.Gaussian_has_attribute(self, *args)
11412 
11413  def get_derivative(self, a0):
11414  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11415  return _IMP_core.Gaussian_get_derivative(self, a0)
11416 
11417  def get_name(self):
11418  r"""get_name(Gaussian self) -> std::string"""
11419  return _IMP_core.Gaussian_get_name(self)
11420 
11421  def clear_caches(self):
11422  r"""clear_caches(Gaussian self)"""
11423  return _IMP_core.Gaussian_clear_caches(self)
11424 
11425  def set_name(self, a0):
11426  r"""set_name(Gaussian self, std::string a0)"""
11427  return _IMP_core.Gaussian_set_name(self, a0)
11428 
11429  def set_check_level(self, a0):
11430  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11431  return _IMP_core.Gaussian_set_check_level(self, a0)
11432 
11433  def add_to_derivative(self, a0, a1, a2):
11434  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11435  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11436 
11437  def set_is_optimized(self, a0, a1):
11438  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11439  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11440 
11441  def get_is_optimized(self, a0):
11442  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11443  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11444 
11445  def get_check_level(self):
11446  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11447  return _IMP_core.Gaussian_get_check_level(self)
11448 
11449  def __eq__(self, *args):
11450  r"""
11451  __eq__(Gaussian self, Gaussian o) -> bool
11452  __eq__(Gaussian self, Particle d) -> bool
11453  """
11454  return _IMP_core.Gaussian___eq__(self, *args)
11455 
11456  def __ne__(self, *args):
11457  r"""
11458  __ne__(Gaussian self, Gaussian o) -> bool
11459  __ne__(Gaussian self, Particle d) -> bool
11460  """
11461  return _IMP_core.Gaussian___ne__(self, *args)
11462 
11463  def __le__(self, *args):
11464  r"""
11465  __le__(Gaussian self, Gaussian o) -> bool
11466  __le__(Gaussian self, Particle d) -> bool
11467  """
11468  return _IMP_core.Gaussian___le__(self, *args)
11469 
11470  def __lt__(self, *args):
11471  r"""
11472  __lt__(Gaussian self, Gaussian o) -> bool
11473  __lt__(Gaussian self, Particle d) -> bool
11474  """
11475  return _IMP_core.Gaussian___lt__(self, *args)
11476 
11477  def __ge__(self, *args):
11478  r"""
11479  __ge__(Gaussian self, Gaussian o) -> bool
11480  __ge__(Gaussian self, Particle d) -> bool
11481  """
11482  return _IMP_core.Gaussian___ge__(self, *args)
11483 
11484  def __gt__(self, *args):
11485  r"""
11486  __gt__(Gaussian self, Gaussian o) -> bool
11487  __gt__(Gaussian self, Particle d) -> bool
11488  """
11489  return _IMP_core.Gaussian___gt__(self, *args)
11490 
11491  def __hash__(self):
11492  r"""__hash__(Gaussian self) -> std::size_t"""
11493  return _IMP_core.Gaussian___hash__(self)
11494 
11495  def __str__(self):
11496  r"""__str__(Gaussian self) -> std::string"""
11497  return _IMP_core.Gaussian___str__(self)
11498 
11499  def __repr__(self):
11500  r"""__repr__(Gaussian self) -> std::string"""
11501  return _IMP_core.Gaussian___repr__(self)
11502 
11503  def _get_as_binary(self):
11504  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11505  return _IMP_core.Gaussian__get_as_binary(self)
11506 
11507  def _set_from_binary(self, p):
11508  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11509  return _IMP_core.Gaussian__set_from_binary(self, p)
11510 
11511  def __getstate__(self):
11512  p = self._get_as_binary()
11513  if len(self.__dict__) > 1:
11514  d = self.__dict__.copy()
11515  del d['this']
11516  p = (d, p)
11517  return p
11518 
11519  def __setstate__(self, p):
11520  if not hasattr(self, 'this'):
11521  self.__init__()
11522  if isinstance(p, tuple):
11523  d, p = p
11524  self.__dict__.update(d)
11525  return self._set_from_binary(p)
11526 
11527  __swig_destroy__ = _IMP_core.delete_Gaussian
11528 
11529 # Register Gaussian in _IMP_core:
11530 _IMP_core.Gaussian_swigregister(Gaussian)
11531 class PairRestraint(IMP.Restraint):
11532  r"""Proxy of C++ IMP::core::PairRestraint class."""
11533 
11534  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11535 
11536  def __init__(self, *args):
11537  r"""
11538  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11539  __init__(PairRestraint self) -> PairRestraint
11540  """
11541  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11542 
11543  def get_score_object(self):
11544  r"""get_score_object(PairRestraint self) -> PairScore"""
11545  return _IMP_core.PairRestraint_get_score_object(self)
11546 
11547  def get_index(self):
11548  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11549  return _IMP_core.PairRestraint_get_index(self)
11550 
11551  def get_version_info(self):
11552  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11553  return _IMP_core.PairRestraint_get_version_info(self)
11554  __swig_destroy__ = _IMP_core.delete_PairRestraint
11555 
11556  def __str__(self):
11557  r"""__str__(PairRestraint self) -> std::string"""
11558  return _IMP_core.PairRestraint___str__(self)
11559 
11560  def __repr__(self):
11561  r"""__repr__(PairRestraint self) -> std::string"""
11562  return _IMP_core.PairRestraint___repr__(self)
11563 
11564  @staticmethod
11565  def get_from(o):
11566  return _object_cast_to_PairRestraint(o)
11567 
11568 
11569  def _get_as_binary(self):
11570  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11571  return _IMP_core.PairRestraint__get_as_binary(self)
11572 
11573  def _set_from_binary(self, p):
11574  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11575  return _IMP_core.PairRestraint__set_from_binary(self, p)
11576 
11577  def __getstate__(self):
11578  p = self._get_as_binary()
11579  if len(self.__dict__) > 1:
11580  d = self.__dict__.copy()
11581  del d['this']
11582  p = (d, p)
11583  return p
11584 
11585  def __setstate__(self, p):
11586  if not hasattr(self, 'this'):
11587  self.__init__()
11588  if isinstance(p, tuple):
11589  d, p = p
11590  self.__dict__.update(d)
11591  return self._set_from_binary(p)
11592 
11593 
11594  def _get_jax(self):
11595  from . import _jax_util
11596  return _jax_util._get_jax_restraint(self)
11597 
11598 
11599 # Register PairRestraint in _IMP_core:
11600 _IMP_core.PairRestraint_swigregister(PairRestraint)
11601 class SingletonRestraint(IMP.Restraint):
11602  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11603 
11604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11605 
11606  def __init__(self, *args):
11607  r"""
11608  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11609  __init__(SingletonRestraint self) -> SingletonRestraint
11610  """
11611  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11612 
11613  def get_score_object(self):
11614  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11615  return _IMP_core.SingletonRestraint_get_score_object(self)
11616 
11617  def get_index(self):
11618  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11619  return _IMP_core.SingletonRestraint_get_index(self)
11620 
11621  def get_version_info(self):
11622  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11623  return _IMP_core.SingletonRestraint_get_version_info(self)
11624  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11625 
11626  def __str__(self):
11627  r"""__str__(SingletonRestraint self) -> std::string"""
11628  return _IMP_core.SingletonRestraint___str__(self)
11629 
11630  def __repr__(self):
11631  r"""__repr__(SingletonRestraint self) -> std::string"""
11632  return _IMP_core.SingletonRestraint___repr__(self)
11633 
11634  @staticmethod
11635  def get_from(o):
11636  return _object_cast_to_SingletonRestraint(o)
11637 
11638 
11639  def _get_as_binary(self):
11640  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11641  return _IMP_core.SingletonRestraint__get_as_binary(self)
11642 
11643  def _set_from_binary(self, p):
11644  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11645  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11646 
11647  def __getstate__(self):
11648  p = self._get_as_binary()
11649  if len(self.__dict__) > 1:
11650  d = self.__dict__.copy()
11651  del d['this']
11652  p = (d, p)
11653  return p
11654 
11655  def __setstate__(self, p):
11656  if not hasattr(self, 'this'):
11657  self.__init__()
11658  if isinstance(p, tuple):
11659  d, p = p
11660  self.__dict__.update(d)
11661  return self._set_from_binary(p)
11662 
11663 
11664  def _get_jax(self):
11665  from . import _jax_util
11666  return _jax_util._get_jax_restraint(self)
11667 
11668 
11669 # Register SingletonRestraint in _IMP_core:
11670 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11671 class TripletRestraint(IMP.Restraint):
11672  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11673 
11674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11675 
11676  def __init__(self, *args):
11677  r"""
11678  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11679  __init__(TripletRestraint self) -> TripletRestraint
11680  """
11681  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11682 
11683  def get_score_object(self):
11684  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11685  return _IMP_core.TripletRestraint_get_score_object(self)
11686 
11687  def get_index(self):
11688  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11689  return _IMP_core.TripletRestraint_get_index(self)
11690 
11691  def get_version_info(self):
11692  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11693  return _IMP_core.TripletRestraint_get_version_info(self)
11694  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11695 
11696  def __str__(self):
11697  r"""__str__(TripletRestraint self) -> std::string"""
11698  return _IMP_core.TripletRestraint___str__(self)
11699 
11700  def __repr__(self):
11701  r"""__repr__(TripletRestraint self) -> std::string"""
11702  return _IMP_core.TripletRestraint___repr__(self)
11703 
11704  @staticmethod
11705  def get_from(o):
11706  return _object_cast_to_TripletRestraint(o)
11707 
11708 
11709  def _get_as_binary(self):
11710  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11711  return _IMP_core.TripletRestraint__get_as_binary(self)
11712 
11713  def _set_from_binary(self, p):
11714  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11715  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11716 
11717  def __getstate__(self):
11718  p = self._get_as_binary()
11719  if len(self.__dict__) > 1:
11720  d = self.__dict__.copy()
11721  del d['this']
11722  p = (d, p)
11723  return p
11724 
11725  def __setstate__(self, p):
11726  if not hasattr(self, 'this'):
11727  self.__init__()
11728  if isinstance(p, tuple):
11729  d, p = p
11730  self.__dict__.update(d)
11731  return self._set_from_binary(p)
11732 
11733 
11734 # Register TripletRestraint in _IMP_core:
11735 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11736 class QuadRestraint(IMP.Restraint):
11737  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11738 
11739  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11740 
11741  def __init__(self, *args):
11742  r"""
11743  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11744  __init__(QuadRestraint self) -> QuadRestraint
11745  """
11746  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11747 
11748  def get_score_object(self):
11749  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11750  return _IMP_core.QuadRestraint_get_score_object(self)
11751 
11752  def get_index(self):
11753  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11754  return _IMP_core.QuadRestraint_get_index(self)
11755 
11756  def get_version_info(self):
11757  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11758  return _IMP_core.QuadRestraint_get_version_info(self)
11759  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11760 
11761  def __str__(self):
11762  r"""__str__(QuadRestraint self) -> std::string"""
11763  return _IMP_core.QuadRestraint___str__(self)
11764 
11765  def __repr__(self):
11766  r"""__repr__(QuadRestraint self) -> std::string"""
11767  return _IMP_core.QuadRestraint___repr__(self)
11768 
11769  @staticmethod
11770  def get_from(o):
11771  return _object_cast_to_QuadRestraint(o)
11772 
11773 
11774  def _get_as_binary(self):
11775  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11776  return _IMP_core.QuadRestraint__get_as_binary(self)
11777 
11778  def _set_from_binary(self, p):
11779  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11780  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11781 
11782  def __getstate__(self):
11783  p = self._get_as_binary()
11784  if len(self.__dict__) > 1:
11785  d = self.__dict__.copy()
11786  del d['this']
11787  p = (d, p)
11788  return p
11789 
11790  def __setstate__(self, p):
11791  if not hasattr(self, 'this'):
11792  self.__init__()
11793  if isinstance(p, tuple):
11794  d, p = p
11795  self.__dict__.update(d)
11796  return self._set_from_binary(p)
11797 
11798 
11799 # Register QuadRestraint in _IMP_core:
11800 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11801 class SingletonConstraint(IMP.Constraint):
11802  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11803 
11804  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11805 
11806  def __init__(self, *args):
11807  r"""
11808  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11809  __init__(SingletonConstraint self) -> SingletonConstraint
11810  """
11811  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11812 
11813  def get_before_modifier(self):
11814  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11815  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11816 
11817  def get_index(self):
11818  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11819  return _IMP_core.SingletonConstraint_get_index(self)
11820 
11821  def get_version_info(self):
11822  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11823  return _IMP_core.SingletonConstraint_get_version_info(self)
11824  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11825 
11826  def __str__(self):
11827  r"""__str__(SingletonConstraint self) -> std::string"""
11828  return _IMP_core.SingletonConstraint___str__(self)
11829 
11830  def __repr__(self):
11831  r"""__repr__(SingletonConstraint self) -> std::string"""
11832  return _IMP_core.SingletonConstraint___repr__(self)
11833 
11834  @staticmethod
11835  def get_from(o):
11836  return _object_cast_to_SingletonConstraint(o)
11837 
11838 
11839  def _get_as_binary(self):
11840  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11841  return _IMP_core.SingletonConstraint__get_as_binary(self)
11842 
11843  def _set_from_binary(self, p):
11844  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11845  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11846 
11847  def __getstate__(self):
11848  p = self._get_as_binary()
11849  if len(self.__dict__) > 1:
11850  d = self.__dict__.copy()
11851  del d['this']
11852  p = (d, p)
11853  return p
11854 
11855  def __setstate__(self, p):
11856  if not hasattr(self, 'this'):
11857  self.__init__()
11858  if isinstance(p, tuple):
11859  d, p = p
11860  self.__dict__.update(d)
11861  return self._set_from_binary(p)
11862 
11863 
11864  def _get_jax(self):
11865  import jax.numpy as jnp
11866  indexes = jnp.array([self.get_index()])
11867  mod = self.get_before_modifier().get_derived_object()
11868  ji = mod._get_jax(self.get_model(), indexes)
11869  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11870 
11871 
11872 # Register SingletonConstraint in _IMP_core:
11873 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11874 class PairConstraint(IMP.Constraint):
11875  r"""Proxy of C++ IMP::core::PairConstraint class."""
11876 
11877  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11878 
11879  def __init__(self, *args):
11880  r"""
11881  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11882  __init__(PairConstraint self) -> PairConstraint
11883  """
11884  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11885 
11886  def get_before_modifier(self):
11887  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11888  return _IMP_core.PairConstraint_get_before_modifier(self)
11889 
11890  def get_index(self):
11891  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11892  return _IMP_core.PairConstraint_get_index(self)
11893 
11894  def get_version_info(self):
11895  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11896  return _IMP_core.PairConstraint_get_version_info(self)
11897  __swig_destroy__ = _IMP_core.delete_PairConstraint
11898 
11899  def __str__(self):
11900  r"""__str__(PairConstraint self) -> std::string"""
11901  return _IMP_core.PairConstraint___str__(self)
11902 
11903  def __repr__(self):
11904  r"""__repr__(PairConstraint self) -> std::string"""
11905  return _IMP_core.PairConstraint___repr__(self)
11906 
11907  @staticmethod
11908  def get_from(o):
11909  return _object_cast_to_PairConstraint(o)
11910 
11911 
11912  def _get_as_binary(self):
11913  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11914  return _IMP_core.PairConstraint__get_as_binary(self)
11915 
11916  def _set_from_binary(self, p):
11917  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11918  return _IMP_core.PairConstraint__set_from_binary(self, p)
11919 
11920  def __getstate__(self):
11921  p = self._get_as_binary()
11922  if len(self.__dict__) > 1:
11923  d = self.__dict__.copy()
11924  del d['this']
11925  p = (d, p)
11926  return p
11927 
11928  def __setstate__(self, p):
11929  if not hasattr(self, 'this'):
11930  self.__init__()
11931  if isinstance(p, tuple):
11932  d, p = p
11933  self.__dict__.update(d)
11934  return self._set_from_binary(p)
11935 
11936 
11937 # Register PairConstraint in _IMP_core:
11938 _IMP_core.PairConstraint_swigregister(PairConstraint)
11939 class TripletConstraint(IMP.Constraint):
11940  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11941 
11942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11943 
11944  def __init__(self, *args):
11945  r"""
11946  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11947  __init__(TripletConstraint self) -> TripletConstraint
11948  """
11949  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11950 
11951  def get_before_modifier(self):
11952  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11953  return _IMP_core.TripletConstraint_get_before_modifier(self)
11954 
11955  def get_index(self):
11956  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11957  return _IMP_core.TripletConstraint_get_index(self)
11958 
11959  def get_version_info(self):
11960  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11961  return _IMP_core.TripletConstraint_get_version_info(self)
11962  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11963 
11964  def __str__(self):
11965  r"""__str__(TripletConstraint self) -> std::string"""
11966  return _IMP_core.TripletConstraint___str__(self)
11967 
11968  def __repr__(self):
11969  r"""__repr__(TripletConstraint self) -> std::string"""
11970  return _IMP_core.TripletConstraint___repr__(self)
11971 
11972  @staticmethod
11973  def get_from(o):
11974  return _object_cast_to_TripletConstraint(o)
11975 
11976 
11977  def _get_as_binary(self):
11978  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11979  return _IMP_core.TripletConstraint__get_as_binary(self)
11980 
11981  def _set_from_binary(self, p):
11982  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11983  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11984 
11985  def __getstate__(self):
11986  p = self._get_as_binary()
11987  if len(self.__dict__) > 1:
11988  d = self.__dict__.copy()
11989  del d['this']
11990  p = (d, p)
11991  return p
11992 
11993  def __setstate__(self, p):
11994  if not hasattr(self, 'this'):
11995  self.__init__()
11996  if isinstance(p, tuple):
11997  d, p = p
11998  self.__dict__.update(d)
11999  return self._set_from_binary(p)
12000 
12001 
12002 # Register TripletConstraint in _IMP_core:
12003 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
12004 class QuadConstraint(IMP.Constraint):
12005  r"""Proxy of C++ IMP::core::QuadConstraint class."""
12006 
12007  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12008 
12009  def __init__(self, *args):
12010  r"""
12011  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
12012  __init__(QuadConstraint self) -> QuadConstraint
12013  """
12014  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
12015 
12016  def get_before_modifier(self):
12017  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
12018  return _IMP_core.QuadConstraint_get_before_modifier(self)
12019 
12020  def get_index(self):
12021  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
12022  return _IMP_core.QuadConstraint_get_index(self)
12023 
12024  def get_version_info(self):
12025  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
12026  return _IMP_core.QuadConstraint_get_version_info(self)
12027  __swig_destroy__ = _IMP_core.delete_QuadConstraint
12028 
12029  def __str__(self):
12030  r"""__str__(QuadConstraint self) -> std::string"""
12031  return _IMP_core.QuadConstraint___str__(self)
12032 
12033  def __repr__(self):
12034  r"""__repr__(QuadConstraint self) -> std::string"""
12035  return _IMP_core.QuadConstraint___repr__(self)
12036 
12037  @staticmethod
12038  def get_from(o):
12039  return _object_cast_to_QuadConstraint(o)
12040 
12041 
12042  def _get_as_binary(self):
12043  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
12044  return _IMP_core.QuadConstraint__get_as_binary(self)
12045 
12046  def _set_from_binary(self, p):
12047  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
12048  return _IMP_core.QuadConstraint__set_from_binary(self, p)
12049 
12050  def __getstate__(self):
12051  p = self._get_as_binary()
12052  if len(self.__dict__) > 1:
12053  d = self.__dict__.copy()
12054  del d['this']
12055  p = (d, p)
12056  return p
12057 
12058  def __setstate__(self, p):
12059  if not hasattr(self, 'this'):
12060  self.__init__()
12061  if isinstance(p, tuple):
12062  d, p = p
12063  self.__dict__.update(d)
12064  return self._set_from_binary(p)
12065 
12066 
12067 # Register QuadConstraint in _IMP_core:
12068 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
12069 class ConstantSingletonPredicate(IMP.SingletonPredicate):
12070  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
12071 
12072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12073 
12074  def __init__(self, *args):
12075  r"""
12076  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12077  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12078  """
12079  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12080 
12081  def do_get_inputs(self, arg2, arg3):
12082  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12083  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12084 
12085  def get_value(self, *args):
12086  r"""
12087  get_value(ConstantSingletonPredicate self, Particle a) -> int
12088  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12089  """
12090  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12091 
12092  def get_value_index(self, *args):
12093  r"""
12094  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12095  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12096  """
12097  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12098 
12099  def get_version_info(self):
12100  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12101  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12102  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12103 
12104  def __str__(self):
12105  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12106  return _IMP_core.ConstantSingletonPredicate___str__(self)
12107 
12108  def __repr__(self):
12109  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12110  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12111 
12112  @staticmethod
12113  def get_from(o):
12114  return _object_cast_to_ConstantSingletonPredicate(o)
12115 
12116 
12117  def _get_as_binary(self):
12118  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12119  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12120 
12121  def _set_from_binary(self, p):
12122  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12123  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12124 
12125  def __getstate__(self):
12126  p = self._get_as_binary()
12127  if len(self.__dict__) > 1:
12128  d = self.__dict__.copy()
12129  del d['this']
12130  p = (d, p)
12131  return p
12132 
12133  def __setstate__(self, p):
12134  if not hasattr(self, 'this'):
12135  self.__init__()
12136  if isinstance(p, tuple):
12137  d, p = p
12138  self.__dict__.update(d)
12139  return self._set_from_binary(p)
12140 
12141 
12142 # Register ConstantSingletonPredicate in _IMP_core:
12143 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12144 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12145  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12146 
12147  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12148 
12149  def __init__(self, *args):
12150  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12151  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12152 
12153  def do_get_inputs(self, m, pis):
12154  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12155  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12156 
12157  def get_value(self, *args):
12158  r"""
12159  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12160  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12161  """
12162  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12163 
12164  def get_value_index(self, *args):
12165  r"""
12166  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12167  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12168  """
12169  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12170 
12171  def get_version_info(self):
12172  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12173  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12174  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12175 
12176  def __str__(self):
12177  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12178  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12179 
12180  def __repr__(self):
12181  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12182  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12183 
12184  @staticmethod
12185  def get_from(o):
12186  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12187 
12188 
12189  def _get_as_binary(self):
12190  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12191  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12192 
12193  def _set_from_binary(self, p):
12194  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12195  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12196 
12197  def __getstate__(self):
12198  p = self._get_as_binary()
12199  if len(self.__dict__) > 1:
12200  d = self.__dict__.copy()
12201  del d['this']
12202  p = (d, p)
12203  return p
12204 
12205  def __setstate__(self, p):
12206  if not hasattr(self, 'this'):
12207  self.__init__()
12208  if isinstance(p, tuple):
12209  d, p = p
12210  self.__dict__.update(d)
12211  return self._set_from_binary(p)
12212 
12213 
12214 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12215 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12216 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12217  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12218 
12219  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12220 
12221  def __init__(self, *args):
12222  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12223  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12224 
12225  def do_get_inputs(self, m, pis):
12226  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12227  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12228 
12229  def get_value(self, *args):
12230  r"""
12231  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12232  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12233  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12234  """
12235  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12236 
12237  def get_value_index(self, *args):
12238  r"""
12239  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12240  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12241  """
12242  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12243 
12244  def get_version_info(self):
12245  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12246  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12247  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12248 
12249  def __str__(self):
12250  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12251  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12252 
12253  def __repr__(self):
12254  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12255  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12256 
12257  @staticmethod
12258  def get_from(o):
12259  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12260 
12261 
12262 # Register OrderedTypeSingletonPredicate in _IMP_core:
12263 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12264 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12265  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12266 
12267  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12268 
12269  def __init__(self, *args):
12270  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12271  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12272 
12273  def do_get_inputs(self, arg2, arg3):
12274  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12275  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12276 
12277  def get_value(self, *args):
12278  r"""
12279  get_value(AllSameSingletonPredicate self, Particle a) -> int
12280  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12281  """
12282  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12283 
12284  def get_value_index(self, *args):
12285  r"""
12286  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12287  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12288  """
12289  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12290 
12291  def get_version_info(self):
12292  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12293  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12294  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12295 
12296  def __str__(self):
12297  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12298  return _IMP_core.AllSameSingletonPredicate___str__(self)
12299 
12300  def __repr__(self):
12301  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12302  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12303 
12304  @staticmethod
12305  def get_from(o):
12306  return _object_cast_to_AllSameSingletonPredicate(o)
12307 
12308 
12309  def _get_as_binary(self):
12310  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12311  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12312 
12313  def _set_from_binary(self, p):
12314  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12315  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12316 
12317  def __getstate__(self):
12318  p = self._get_as_binary()
12319  if len(self.__dict__) > 1:
12320  d = self.__dict__.copy()
12321  del d['this']
12322  p = (d, p)
12323  return p
12324 
12325  def __setstate__(self, p):
12326  if not hasattr(self, 'this'):
12327  self.__init__()
12328  if isinstance(p, tuple):
12329  d, p = p
12330  self.__dict__.update(d)
12331  return self._set_from_binary(p)
12332 
12333 
12334 # Register AllSameSingletonPredicate in _IMP_core:
12335 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12336 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12337  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12338 
12339  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12340 
12341  def __init__(self, *args):
12342  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12343  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12344 
12345  def do_get_inputs(self, arg2, arg3):
12346  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12347  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12348 
12349  def get_value(self, *args):
12350  r"""
12351  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12352  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12353  """
12354  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12355 
12356  def get_value_index(self, *args):
12357  r"""
12358  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12359  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12360  """
12361  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12362 
12363  def get_version_info(self):
12364  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12365  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12366  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12367 
12368  def __str__(self):
12369  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12370  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12371 
12372  def __repr__(self):
12373  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12374  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12375 
12376  @staticmethod
12377  def get_from(o):
12378  return _object_cast_to_CoinFlipSingletonPredicate(o)
12379 
12380 
12381 # Register CoinFlipSingletonPredicate in _IMP_core:
12382 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12383 class ConstantPairPredicate(IMP.PairPredicate):
12384  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12385 
12386  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12387 
12388  def __init__(self, *args):
12389  r"""
12390  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12391  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12392  """
12393  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12394 
12395  def do_get_inputs(self, arg2, arg3):
12396  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12397  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12398 
12399  def get_value(self, *args):
12400  r"""
12401  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12402  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12403  """
12404  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12405 
12406  def get_value_index(self, *args):
12407  r"""
12408  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12409  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12410  """
12411  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12412 
12413  def get_version_info(self):
12414  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12415  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12416  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12417 
12418  def __str__(self):
12419  r"""__str__(ConstantPairPredicate self) -> std::string"""
12420  return _IMP_core.ConstantPairPredicate___str__(self)
12421 
12422  def __repr__(self):
12423  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12424  return _IMP_core.ConstantPairPredicate___repr__(self)
12425 
12426  @staticmethod
12427  def get_from(o):
12428  return _object_cast_to_ConstantPairPredicate(o)
12429 
12430 
12431  def _get_as_binary(self):
12432  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12433  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12434 
12435  def _set_from_binary(self, p):
12436  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12437  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12438 
12439  def __getstate__(self):
12440  p = self._get_as_binary()
12441  if len(self.__dict__) > 1:
12442  d = self.__dict__.copy()
12443  del d['this']
12444  p = (d, p)
12445  return p
12446 
12447  def __setstate__(self, p):
12448  if not hasattr(self, 'this'):
12449  self.__init__()
12450  if isinstance(p, tuple):
12451  d, p = p
12452  self.__dict__.update(d)
12453  return self._set_from_binary(p)
12454 
12455 
12456 # Register ConstantPairPredicate in _IMP_core:
12457 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12458 class UnorderedTypePairPredicate(IMP.PairPredicate):
12459  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12460 
12461  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12462 
12463  def __init__(self, *args):
12464  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12465  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12466 
12467  def do_get_inputs(self, m, pis):
12468  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12469  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12470 
12471  def get_value(self, *args):
12472  r"""
12473  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12474  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12475  """
12476  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12477 
12478  def get_value_index(self, *args):
12479  r"""
12480  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12481  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12482  """
12483  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12484 
12485  def get_version_info(self):
12486  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12487  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12488  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12489 
12490  def __str__(self):
12491  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12492  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12493 
12494  def __repr__(self):
12495  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12496  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12497 
12498  @staticmethod
12499  def get_from(o):
12500  return _object_cast_to_UnorderedTypePairPredicate(o)
12501 
12502 
12503  def _get_as_binary(self):
12504  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12505  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12506 
12507  def _set_from_binary(self, p):
12508  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12509  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12510 
12511  def __getstate__(self):
12512  p = self._get_as_binary()
12513  if len(self.__dict__) > 1:
12514  d = self.__dict__.copy()
12515  del d['this']
12516  p = (d, p)
12517  return p
12518 
12519  def __setstate__(self, p):
12520  if not hasattr(self, 'this'):
12521  self.__init__()
12522  if isinstance(p, tuple):
12523  d, p = p
12524  self.__dict__.update(d)
12525  return self._set_from_binary(p)
12526 
12527 
12528 # Register UnorderedTypePairPredicate in _IMP_core:
12529 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12530 class OrderedTypePairPredicate(IMP.PairPredicate):
12531  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12532 
12533  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12534 
12535  def __init__(self, *args):
12536  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12537  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12538 
12539  def do_get_inputs(self, m, pis):
12540  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12541  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12542 
12543  def get_value(self, *args):
12544  r"""
12545  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12546  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12547  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12548  """
12549  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12550 
12551  def get_value_index(self, *args):
12552  r"""
12553  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12554  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12555  """
12556  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12557 
12558  def get_version_info(self):
12559  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12560  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12561  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12562 
12563  def __str__(self):
12564  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12565  return _IMP_core.OrderedTypePairPredicate___str__(self)
12566 
12567  def __repr__(self):
12568  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12569  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12570 
12571  @staticmethod
12572  def get_from(o):
12573  return _object_cast_to_OrderedTypePairPredicate(o)
12574 
12575 
12576 # Register OrderedTypePairPredicate in _IMP_core:
12577 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12578 class AllSamePairPredicate(IMP.PairPredicate):
12579  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12580 
12581  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12582 
12583  def __init__(self, *args):
12584  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12585  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12586 
12587  def do_get_inputs(self, arg2, arg3):
12588  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12589  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12590 
12591  def get_value(self, *args):
12592  r"""
12593  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12594  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12595  """
12596  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12597 
12598  def get_value_index(self, *args):
12599  r"""
12600  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12601  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12602  """
12603  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12604 
12605  def get_version_info(self):
12606  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12607  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12608  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12609 
12610  def __str__(self):
12611  r"""__str__(AllSamePairPredicate self) -> std::string"""
12612  return _IMP_core.AllSamePairPredicate___str__(self)
12613 
12614  def __repr__(self):
12615  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12616  return _IMP_core.AllSamePairPredicate___repr__(self)
12617 
12618  @staticmethod
12619  def get_from(o):
12620  return _object_cast_to_AllSamePairPredicate(o)
12621 
12622 
12623  def _get_as_binary(self):
12624  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12625  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12626 
12627  def _set_from_binary(self, p):
12628  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12629  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12630 
12631  def __getstate__(self):
12632  p = self._get_as_binary()
12633  if len(self.__dict__) > 1:
12634  d = self.__dict__.copy()
12635  del d['this']
12636  p = (d, p)
12637  return p
12638 
12639  def __setstate__(self, p):
12640  if not hasattr(self, 'this'):
12641  self.__init__()
12642  if isinstance(p, tuple):
12643  d, p = p
12644  self.__dict__.update(d)
12645  return self._set_from_binary(p)
12646 
12647 
12648 # Register AllSamePairPredicate in _IMP_core:
12649 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12650 class CoinFlipPairPredicate(IMP.PairPredicate):
12651  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12652 
12653  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12654 
12655  def __init__(self, *args):
12656  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12657  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12658 
12659  def do_get_inputs(self, arg2, arg3):
12660  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12661  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12662 
12663  def get_value(self, *args):
12664  r"""
12665  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12666  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12667  """
12668  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12669 
12670  def get_value_index(self, *args):
12671  r"""
12672  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12673  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12674  """
12675  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12676 
12677  def get_version_info(self):
12678  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12679  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12680  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12681 
12682  def __str__(self):
12683  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12684  return _IMP_core.CoinFlipPairPredicate___str__(self)
12685 
12686  def __repr__(self):
12687  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12688  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12689 
12690  @staticmethod
12691  def get_from(o):
12692  return _object_cast_to_CoinFlipPairPredicate(o)
12693 
12694 
12695 # Register CoinFlipPairPredicate in _IMP_core:
12696 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12697 class ConstantTripletPredicate(IMP.TripletPredicate):
12698  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12699 
12700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12701 
12702  def __init__(self, *args):
12703  r"""
12704  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12705  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12706  """
12707  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12708 
12709  def do_get_inputs(self, arg2, arg3):
12710  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12711  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12712 
12713  def get_value(self, *args):
12714  r"""
12715  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12716  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12717  """
12718  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12719 
12720  def get_value_index(self, *args):
12721  r"""
12722  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12723  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12724  """
12725  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12726 
12727  def get_version_info(self):
12728  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12729  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12730  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12731 
12732  def __str__(self):
12733  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12734  return _IMP_core.ConstantTripletPredicate___str__(self)
12735 
12736  def __repr__(self):
12737  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12738  return _IMP_core.ConstantTripletPredicate___repr__(self)
12739 
12740  @staticmethod
12741  def get_from(o):
12742  return _object_cast_to_ConstantTripletPredicate(o)
12743 
12744 
12745  def _get_as_binary(self):
12746  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12747  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12748 
12749  def _set_from_binary(self, p):
12750  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12751  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12752 
12753  def __getstate__(self):
12754  p = self._get_as_binary()
12755  if len(self.__dict__) > 1:
12756  d = self.__dict__.copy()
12757  del d['this']
12758  p = (d, p)
12759  return p
12760 
12761  def __setstate__(self, p):
12762  if not hasattr(self, 'this'):
12763  self.__init__()
12764  if isinstance(p, tuple):
12765  d, p = p
12766  self.__dict__.update(d)
12767  return self._set_from_binary(p)
12768 
12769 
12770 # Register ConstantTripletPredicate in _IMP_core:
12771 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12772 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12773  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12774 
12775  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12776 
12777  def __init__(self, *args):
12778  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12779  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12780 
12781  def do_get_inputs(self, m, pis):
12782  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12783  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12784 
12785  def get_value(self, *args):
12786  r"""
12787  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12788  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12789  """
12790  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12791 
12792  def get_value_index(self, *args):
12793  r"""
12794  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12795  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12796  """
12797  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12798 
12799  def get_version_info(self):
12800  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12801  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12802  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12803 
12804  def __str__(self):
12805  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12806  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12807 
12808  def __repr__(self):
12809  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12810  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12811 
12812  @staticmethod
12813  def get_from(o):
12814  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12815 
12816 
12817  def _get_as_binary(self):
12818  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12819  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12820 
12821  def _set_from_binary(self, p):
12822  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12823  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12824 
12825  def __getstate__(self):
12826  p = self._get_as_binary()
12827  if len(self.__dict__) > 1:
12828  d = self.__dict__.copy()
12829  del d['this']
12830  p = (d, p)
12831  return p
12832 
12833  def __setstate__(self, p):
12834  if not hasattr(self, 'this'):
12835  self.__init__()
12836  if isinstance(p, tuple):
12837  d, p = p
12838  self.__dict__.update(d)
12839  return self._set_from_binary(p)
12840 
12841 
12842 # Register UnorderedTypeTripletPredicate in _IMP_core:
12843 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12844 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12845  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12846 
12847  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12848 
12849  def __init__(self, *args):
12850  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12851  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12852 
12853  def do_get_inputs(self, m, pis):
12854  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12855  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12856 
12857  def get_value(self, *args):
12858  r"""
12859  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12860  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12861  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12862  """
12863  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12864 
12865  def get_value_index(self, *args):
12866  r"""
12867  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12868  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12869  """
12870  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12871 
12872  def get_version_info(self):
12873  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12874  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12875  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12876 
12877  def __str__(self):
12878  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12879  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12880 
12881  def __repr__(self):
12882  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12883  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12884 
12885  @staticmethod
12886  def get_from(o):
12887  return _object_cast_to_OrderedTypeTripletPredicate(o)
12888 
12889 
12890 # Register OrderedTypeTripletPredicate in _IMP_core:
12891 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12892 class AllSameTripletPredicate(IMP.TripletPredicate):
12893  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12894 
12895  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12896 
12897  def __init__(self, *args):
12898  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12899  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12900 
12901  def do_get_inputs(self, arg2, arg3):
12902  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12903  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12904 
12905  def get_value(self, *args):
12906  r"""
12907  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12908  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12909  """
12910  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12911 
12912  def get_value_index(self, *args):
12913  r"""
12914  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12915  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12916  """
12917  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12918 
12919  def get_version_info(self):
12920  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12921  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12922  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12923 
12924  def __str__(self):
12925  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12926  return _IMP_core.AllSameTripletPredicate___str__(self)
12927 
12928  def __repr__(self):
12929  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12930  return _IMP_core.AllSameTripletPredicate___repr__(self)
12931 
12932  @staticmethod
12933  def get_from(o):
12934  return _object_cast_to_AllSameTripletPredicate(o)
12935 
12936 
12937  def _get_as_binary(self):
12938  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12939  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12940 
12941  def _set_from_binary(self, p):
12942  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12943  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12944 
12945  def __getstate__(self):
12946  p = self._get_as_binary()
12947  if len(self.__dict__) > 1:
12948  d = self.__dict__.copy()
12949  del d['this']
12950  p = (d, p)
12951  return p
12952 
12953  def __setstate__(self, p):
12954  if not hasattr(self, 'this'):
12955  self.__init__()
12956  if isinstance(p, tuple):
12957  d, p = p
12958  self.__dict__.update(d)
12959  return self._set_from_binary(p)
12960 
12961 
12962 # Register AllSameTripletPredicate in _IMP_core:
12963 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12964 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12965  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12966 
12967  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12968 
12969  def __init__(self, *args):
12970  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12971  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12972 
12973  def do_get_inputs(self, arg2, arg3):
12974  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12975  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12976 
12977  def get_value(self, *args):
12978  r"""
12979  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12980  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12981  """
12982  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12983 
12984  def get_value_index(self, *args):
12985  r"""
12986  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12987  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12988  """
12989  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12990 
12991  def get_version_info(self):
12992  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12993  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12994  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12995 
12996  def __str__(self):
12997  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12998  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12999 
13000  def __repr__(self):
13001  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
13002  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
13003 
13004  @staticmethod
13005  def get_from(o):
13006  return _object_cast_to_CoinFlipTripletPredicate(o)
13007 
13008 
13009 # Register CoinFlipTripletPredicate in _IMP_core:
13010 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
13011 class ConstantQuadPredicate(IMP.QuadPredicate):
13012  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
13013 
13014  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13015 
13016  def __init__(self, *args):
13017  r"""
13018  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
13019  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
13020  """
13021  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
13022 
13023  def do_get_inputs(self, arg2, arg3):
13024  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13025  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
13026 
13027  def get_value(self, *args):
13028  r"""
13029  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
13030  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13031  """
13032  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
13033 
13034  def get_value_index(self, *args):
13035  r"""
13036  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13037  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13038  """
13039  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
13040 
13041  def get_version_info(self):
13042  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
13043  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
13044  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
13045 
13046  def __str__(self):
13047  r"""__str__(ConstantQuadPredicate self) -> std::string"""
13048  return _IMP_core.ConstantQuadPredicate___str__(self)
13049 
13050  def __repr__(self):
13051  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
13052  return _IMP_core.ConstantQuadPredicate___repr__(self)
13053 
13054  @staticmethod
13055  def get_from(o):
13056  return _object_cast_to_ConstantQuadPredicate(o)
13057 
13058 
13059  def _get_as_binary(self):
13060  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
13061  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
13062 
13063  def _set_from_binary(self, p):
13064  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
13065  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
13066 
13067  def __getstate__(self):
13068  p = self._get_as_binary()
13069  if len(self.__dict__) > 1:
13070  d = self.__dict__.copy()
13071  del d['this']
13072  p = (d, p)
13073  return p
13074 
13075  def __setstate__(self, p):
13076  if not hasattr(self, 'this'):
13077  self.__init__()
13078  if isinstance(p, tuple):
13079  d, p = p
13080  self.__dict__.update(d)
13081  return self._set_from_binary(p)
13082 
13083 
13084 # Register ConstantQuadPredicate in _IMP_core:
13085 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13086 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13087  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13088 
13089  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13090 
13091  def __init__(self, *args):
13092  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13093  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13094 
13095  def do_get_inputs(self, m, pis):
13096  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13097  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13098 
13099  def get_value(self, *args):
13100  r"""
13101  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13102  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13103  """
13104  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13105 
13106  def get_value_index(self, *args):
13107  r"""
13108  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13109  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13110  """
13111  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13112 
13113  def get_version_info(self):
13114  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13115  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13116  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13117 
13118  def __str__(self):
13119  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13120  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13121 
13122  def __repr__(self):
13123  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13124  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13125 
13126  @staticmethod
13127  def get_from(o):
13128  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13129 
13130 
13131  def _get_as_binary(self):
13132  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13133  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13134 
13135  def _set_from_binary(self, p):
13136  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13137  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13138 
13139  def __getstate__(self):
13140  p = self._get_as_binary()
13141  if len(self.__dict__) > 1:
13142  d = self.__dict__.copy()
13143  del d['this']
13144  p = (d, p)
13145  return p
13146 
13147  def __setstate__(self, p):
13148  if not hasattr(self, 'this'):
13149  self.__init__()
13150  if isinstance(p, tuple):
13151  d, p = p
13152  self.__dict__.update(d)
13153  return self._set_from_binary(p)
13154 
13155 
13156 # Register UnorderedTypeQuadPredicate in _IMP_core:
13157 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13158 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13159  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13160 
13161  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13162 
13163  def __init__(self, *args):
13164  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13165  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13166 
13167  def do_get_inputs(self, m, pis):
13168  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13169  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13170 
13171  def get_value(self, *args):
13172  r"""
13173  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13174  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13175  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13176  """
13177  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13178 
13179  def get_value_index(self, *args):
13180  r"""
13181  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13182  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13183  """
13184  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13185 
13186  def get_version_info(self):
13187  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13188  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13189  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13190 
13191  def __str__(self):
13192  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13193  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13194 
13195  def __repr__(self):
13196  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13197  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13198 
13199  @staticmethod
13200  def get_from(o):
13201  return _object_cast_to_OrderedTypeQuadPredicate(o)
13202 
13203 
13204 # Register OrderedTypeQuadPredicate in _IMP_core:
13205 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13206 class AllSameQuadPredicate(IMP.QuadPredicate):
13207  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13208 
13209  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13210 
13211  def __init__(self, *args):
13212  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13213  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13214 
13215  def do_get_inputs(self, arg2, arg3):
13216  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13217  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13218 
13219  def get_value(self, *args):
13220  r"""
13221  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13222  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13223  """
13224  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13225 
13226  def get_value_index(self, *args):
13227  r"""
13228  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13229  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13230  """
13231  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13232 
13233  def get_version_info(self):
13234  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13235  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13236  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13237 
13238  def __str__(self):
13239  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13240  return _IMP_core.AllSameQuadPredicate___str__(self)
13241 
13242  def __repr__(self):
13243  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13244  return _IMP_core.AllSameQuadPredicate___repr__(self)
13245 
13246  @staticmethod
13247  def get_from(o):
13248  return _object_cast_to_AllSameQuadPredicate(o)
13249 
13250 
13251  def _get_as_binary(self):
13252  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13253  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13254 
13255  def _set_from_binary(self, p):
13256  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13257  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13258 
13259  def __getstate__(self):
13260  p = self._get_as_binary()
13261  if len(self.__dict__) > 1:
13262  d = self.__dict__.copy()
13263  del d['this']
13264  p = (d, p)
13265  return p
13266 
13267  def __setstate__(self, p):
13268  if not hasattr(self, 'this'):
13269  self.__init__()
13270  if isinstance(p, tuple):
13271  d, p = p
13272  self.__dict__.update(d)
13273  return self._set_from_binary(p)
13274 
13275 
13276 # Register AllSameQuadPredicate in _IMP_core:
13277 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13278 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13279  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13280 
13281  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13282 
13283  def __init__(self, *args):
13284  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13285  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13286 
13287  def do_get_inputs(self, arg2, arg3):
13288  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13289  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13290 
13291  def get_value(self, *args):
13292  r"""
13293  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13294  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13295  """
13296  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13297 
13298  def get_value_index(self, *args):
13299  r"""
13300  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13301  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13302  """
13303  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13304 
13305  def get_version_info(self):
13306  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13307  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13308  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13309 
13310  def __str__(self):
13311  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13312  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13313 
13314  def __repr__(self):
13315  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13316  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13317 
13318  @staticmethod
13319  def get_from(o):
13320  return _object_cast_to_CoinFlipQuadPredicate(o)
13321 
13322 
13323 # Register CoinFlipQuadPredicate in _IMP_core:
13324 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13325 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13326  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13327 
13328  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13329 
13330  def __init__(self, *args):
13331  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13332  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13333 
13334  def do_get_inputs(self, m, pi):
13335  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13336  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13337 
13338  def get_value(self, *args):
13339  r"""
13340  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13341  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13342  """
13343  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13344 
13345  def get_value_index(self, *args):
13346  r"""
13347  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13348  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13349  """
13350  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13351 
13352  def get_version_info(self):
13353  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13354  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13355  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13356 
13357  def __str__(self):
13358  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13359  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13360 
13361  def __repr__(self):
13362  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13363  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13364 
13365  @staticmethod
13366  def get_from(o):
13367  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13368 
13369 
13370 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13371 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13372 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13373  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13374 
13375  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13376 
13377  def __init__(self, *args):
13378  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13379  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13380 
13381  def do_get_inputs(self, m, pi):
13382  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13383  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13384 
13385  def get_value(self, *args):
13386  r"""
13387  get_value(AttributeSingletonPredicate self, Particle a) -> int
13388  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13389  """
13390  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13391 
13392  def get_value_index(self, *args):
13393  r"""
13394  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13395  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13396  """
13397  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13398 
13399  def get_version_info(self):
13400  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13401  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13402  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13403 
13404  def __str__(self):
13405  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13406  return _IMP_core.AttributeSingletonPredicate___str__(self)
13407 
13408  def __repr__(self):
13409  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13410  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13411 
13412  @staticmethod
13413  def get_from(o):
13414  return _object_cast_to_AttributeSingletonPredicate(o)
13415 
13416 
13417 # Register AttributeSingletonPredicate in _IMP_core:
13418 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13419 class IsCollisionPairPredicate(IMP.PairPredicate):
13420  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13421 
13422  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13423 
13424  def __init__(self, *args):
13425  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13426  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13427 
13428  def do_get_inputs(self, m, pi):
13429  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13430  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13431 
13432  def get_value(self, *args):
13433  r"""
13434  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13435  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13436  """
13437  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13438 
13439  def get_value_index(self, *args):
13440  r"""
13441  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13442  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13443  """
13444  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13445 
13446  def get_version_info(self):
13447  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13448  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13449  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13450 
13451  def __str__(self):
13452  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13453  return _IMP_core.IsCollisionPairPredicate___str__(self)
13454 
13455  def __repr__(self):
13456  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13457  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13458 
13459  @staticmethod
13460  def get_from(o):
13461  return _object_cast_to_IsCollisionPairPredicate(o)
13462 
13463 
13464 # Register IsCollisionPairPredicate in _IMP_core:
13465 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13466 class AngleRestraint(TripletRestraint):
13467  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13468 
13469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13470 
13471  def __init__(self, *args):
13472  r"""
13473  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13474  __init__(AngleRestraint self) -> AngleRestraint
13475  """
13476  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13477  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13478 
13479  def __str__(self):
13480  r"""__str__(AngleRestraint self) -> std::string"""
13481  return _IMP_core.AngleRestraint___str__(self)
13482 
13483  def __repr__(self):
13484  r"""__repr__(AngleRestraint self) -> std::string"""
13485  return _IMP_core.AngleRestraint___repr__(self)
13486 
13487  @staticmethod
13488  def get_from(o):
13489  return _object_cast_to_AngleRestraint(o)
13490 
13491 
13492  def _get_as_binary(self):
13493  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13494  return _IMP_core.AngleRestraint__get_as_binary(self)
13495 
13496  def _set_from_binary(self, p):
13497  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13498  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13499 
13500  def __getstate__(self):
13501  p = self._get_as_binary()
13502  if len(self.__dict__) > 1:
13503  d = self.__dict__.copy()
13504  del d['this']
13505  p = (d, p)
13506  return p
13507 
13508  def __setstate__(self, p):
13509  if not hasattr(self, 'this'):
13510  self.__init__()
13511  if isinstance(p, tuple):
13512  d, p = p
13513  self.__dict__.update(d)
13514  return self._set_from_binary(p)
13515 
13516 
13517 # Register AngleRestraint in _IMP_core:
13518 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13519 class RigidBodyMover(MonteCarloMover):
13520  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13521 
13522  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13523 
13524  def __init__(self, *args):
13525  r"""
13526  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13527  __init__(RigidBodyMover self) -> RigidBodyMover
13528  """
13529  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13530 
13531  def set_maximum_translation(self, mt):
13532  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13533  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13534 
13535  def set_maximum_rotation(self, mr):
13536  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13537  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13538 
13539  def get_maximum_translation(self):
13540  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13541  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13542 
13543  def get_maximum_rotation(self):
13544  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13545  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13546 
13547  def get_index(self):
13548  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13549  return _IMP_core.RigidBodyMover_get_index(self)
13550 
13551  def get_version_info(self):
13552  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13553  return _IMP_core.RigidBodyMover_get_version_info(self)
13554  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13555 
13556  def __str__(self):
13557  r"""__str__(RigidBodyMover self) -> std::string"""
13558  return _IMP_core.RigidBodyMover___str__(self)
13559 
13560  def __repr__(self):
13561  r"""__repr__(RigidBodyMover self) -> std::string"""
13562  return _IMP_core.RigidBodyMover___repr__(self)
13563 
13564  @staticmethod
13565  def get_from(o):
13566  return _object_cast_to_RigidBodyMover(o)
13567 
13568 
13569  def _get_as_binary(self):
13570  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13571  return _IMP_core.RigidBodyMover__get_as_binary(self)
13572 
13573  def _set_from_binary(self, p):
13574  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13575  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13576 
13577  def __getstate__(self):
13578  p = self._get_as_binary()
13579  if len(self.__dict__) > 1:
13580  d = self.__dict__.copy()
13581  del d['this']
13582  p = (d, p)
13583  return p
13584 
13585  def __setstate__(self, p):
13586  if not hasattr(self, 'this'):
13587  self.__init__()
13588  if isinstance(p, tuple):
13589  d, p = p
13590  self.__dict__.update(d)
13591  return self._set_from_binary(p)
13592 
13593 
13594  def _get_jax(self):
13595  import jax.random
13596  import IMP.core._jax_rigid
13597  from IMP.algebra._jax_util import (get_random_vector_on_3d_sphere,
13598  get_random_vector_in_3d_sphere,
13599  get_rotation_about_normalized_axis,
13600  _quaternion_multiply)
13601  max_angle = self.get_maximum_rotation()
13602  max_translation = self.get_maximum_translation()
13603  particle_index = self.get_index()
13604  body_index = IMP.core._jax_rigid._get_rigid_body_index(
13605  self.get_model(), self.get_index())
13606 
13607  def init_func(key):
13608  return key
13609 
13610  def propose_func(jm, key):
13611  body = jm['rigid_bodies'].bodies[body_index]
13612  tf = body.get_transformation(jm)
13613 
13614  if max_translation > 0:
13615  key, subkey = jax.random.split(key)
13616  tf.translation += get_random_vector_in_3d_sphere(
13617  subkey, max_translation)[0]
13618  if max_angle > 0:
13619  key, subkey1, subkey2 = jax.random.split(key, 3)
13620  axis_norm = get_random_vector_on_3d_sphere(subkey1, 1.0)[0]
13621  angle = jax.random.uniform(
13622  subkey2, minval=-max_angle, maxval=max_angle)
13623  rotation = get_rotation_about_normalized_axis(axis_norm, angle)
13624  tf.rotation = _quaternion_multiply(rotation, tf.rotation)
13625  jm = body.set_transformation_lazy(tf, jm)
13626  return jm, key, 1.0
13627 
13628  return self._wrap_jax(init_func, propose_func, keys=['rigid_bodies'])
13629 
13630 
13631 # Register RigidBodyMover in _IMP_core:
13632 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13633 class RigidBodyTunneler(MonteCarloMover):
13634  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13635 
13636  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13637 
13638  def __init__(self, m, pis, ref, k, move_probability=1.):
13639  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13640  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13641 
13642  def add_entry_point(self, fl):
13643  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13644  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13645 
13646  def reset_stats(self):
13647  r"""reset_stats(RigidBodyTunneler self)"""
13648  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13649 
13650  def get_number_of_rejected_moves(self):
13651  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13652  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13653 
13654  def get_number_of_proposed_moves(self):
13655  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13656  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13657 
13658  def get_number_of_impossible_moves(self):
13659  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13660  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13661 
13662  def get_number_of_calls(self):
13663  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13664  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13665 
13666  @staticmethod
13667  def get_reduced_coordinates(*args):
13668  r"""
13669  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13670  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13671  """
13672  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13673 
13674  @staticmethod
13675  def set_reduced_coordinates(m, target, ref, coords):
13676  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13677  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13678 
13679  def get_version_info(self):
13680  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13681  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13682  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13683 
13684  def __str__(self):
13685  r"""__str__(RigidBodyTunneler self) -> std::string"""
13686  return _IMP_core.RigidBodyTunneler___str__(self)
13687 
13688  def __repr__(self):
13689  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13690  return _IMP_core.RigidBodyTunneler___repr__(self)
13691 
13692  @staticmethod
13693  def get_from(o):
13694  return _object_cast_to_RigidBodyTunneler(o)
13695 
13696 
13697 # Register RigidBodyTunneler in _IMP_core:
13698 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13699 class RigidBodyUmbrella(IMP.Restraint):
13700  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13701 
13702  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13703 
13704  def __init__(self, *args):
13705  r"""
13706  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13707  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, double _lambda, IMP::Floats x1, IMP::Floats x2, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13708  """
13709  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13710 
13711  def set_x0(self, *args):
13712  r"""
13713  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13714  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13715  """
13716  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13717 
13718  def get_x0(self):
13719  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13720  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13721 
13722  def get_x(self):
13723  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13724  return _IMP_core.RigidBodyUmbrella_get_x(self)
13725 
13726  def set_alpha(self, alpha):
13727  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13728  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13729 
13730  def set_k(self, k):
13731  r"""set_k(RigidBodyUmbrella self, double k)"""
13732  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13733 
13734  def get_version_info(self):
13735  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13736  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13737  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13738 
13739  def __str__(self):
13740  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13741  return _IMP_core.RigidBodyUmbrella___str__(self)
13742 
13743  def __repr__(self):
13744  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13745  return _IMP_core.RigidBodyUmbrella___repr__(self)
13746 
13747  @staticmethod
13748  def get_from(o):
13749  return _object_cast_to_RigidBodyUmbrella(o)
13750 
13751 
13752 # Register RigidBodyUmbrella in _IMP_core:
13753 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13754 class VolumeRestraint(IMP.Restraint):
13755  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13756 
13757  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13758 
13759  def __init__(self, f, sc, volume):
13760  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13761  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13762 
13763  def do_get_inputs(self):
13764  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13765  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13766 
13767  def get_version_info(self):
13768  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13769  return _IMP_core.VolumeRestraint_get_version_info(self)
13770  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13771 
13772  def __str__(self):
13773  r"""__str__(VolumeRestraint self) -> std::string"""
13774  return _IMP_core.VolumeRestraint___str__(self)
13775 
13776  def __repr__(self):
13777  r"""__repr__(VolumeRestraint self) -> std::string"""
13778  return _IMP_core.VolumeRestraint___repr__(self)
13779 
13780  @staticmethod
13781  def get_from(o):
13782  return _object_cast_to_VolumeRestraint(o)
13783 
13784 
13785 # Register VolumeRestraint in _IMP_core:
13786 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13787 
13788 def get_centroid(ps):
13789  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13790  return _IMP_core.get_centroid(ps)
13791 
13792 def get_bounding_box(ps):
13793  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13794  return _IMP_core.get_bounding_box(ps)
13795 class MoveStatisticsScoreState(IMP.ScoreState):
13796  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13797 
13798  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13799 
13800  def __init__(self, ps):
13801  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13802  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13803 
13804  def show_statistics(self, *args):
13805  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13806  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13807 
13808  def reset(self):
13809  r"""reset(MoveStatisticsScoreState self)"""
13810  return _IMP_core.MoveStatisticsScoreState_reset(self)
13811 
13812  def do_before_evaluate(self):
13813  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13814  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13815 
13816  def do_after_evaluate(self, da):
13817  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13818  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13819 
13820  def do_get_inputs(self):
13821  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13822  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13823 
13824  def do_get_outputs(self):
13825  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13826  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13827 
13828  def get_version_info(self):
13829  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13830  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13831  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13832 
13833  def __str__(self):
13834  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13835  return _IMP_core.MoveStatisticsScoreState___str__(self)
13836 
13837  def __repr__(self):
13838  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13839  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13840 
13841  @staticmethod
13842  def get_from(o):
13843  return _object_cast_to_MoveStatisticsScoreState(o)
13844 
13845 
13846 # Register MoveStatisticsScoreState in _IMP_core:
13847 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13848 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13849 
13850 class Typed(IMP.Decorator):
13851  r"""Proxy of C++ IMP::core::Typed class."""
13852 
13853  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13854 
13855  @staticmethod
13856  def get_type_key():
13857  r"""get_type_key() -> IntKey"""
13858  return _IMP_core.Typed_get_type_key()
13859 
13860  def __init__(self, *args):
13861  r"""
13862  __init__(Typed self) -> Typed
13863  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13864  __init__(Typed self, _ParticleAdaptor d) -> Typed
13865  """
13866  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13867 
13868  def show(self, *args):
13869  r"""show(Typed self, _ostream out=std::cout)"""
13870  return _IMP_core.Typed_show(self, *args)
13871 
13872  @staticmethod
13873  def setup_particle(*args):
13874  r"""
13875  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13876  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13877  """
13878  return _IMP_core.Typed_setup_particle(*args)
13879 
13880  @staticmethod
13881  def get_is_setup(*args):
13882  r"""
13883  get_is_setup(_ParticleAdaptor p) -> bool
13884  get_is_setup(Model m, ParticleIndex pi) -> bool
13885  """
13886  return _IMP_core.Typed_get_is_setup(*args)
13887 
13888  def get_type(self):
13889  r"""get_type(Typed self) -> ParticleType"""
13890  return _IMP_core.Typed_get_type(self)
13891 
13892  def set_type(self, pt):
13893  r"""set_type(Typed self, ParticleType pt)"""
13894  return _IMP_core.Typed_set_type(self, pt)
13895 
13896  def add_attribute(self, *args):
13897  r"""
13898  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13899  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13900  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13901  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13902  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13903  add_attribute(Typed self, StringKey a0, IMP::String a1)
13904  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13905  add_attribute(Typed self, ObjectKey a0, Object a1)
13906  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13907  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13908  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13909  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13910  """
13911  return _IMP_core.Typed_add_attribute(self, *args)
13912 
13913  def get_value(self, *args):
13914  r"""
13915  get_value(Typed self, FloatKey a0) -> IMP::Float
13916  get_value(Typed self, IntKey a0) -> IMP::Int
13917  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13918  get_value(Typed self, IntsKey a0) -> IMP::Ints
13919  get_value(Typed self, StringKey a0) -> IMP::String
13920  get_value(Typed self, ParticleIndexKey a0) -> Particle
13921  get_value(Typed self, ObjectKey a0) -> Object
13922  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13923  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13924  get_value(Typed self, SparseStringKey a0) -> IMP::String
13925  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13926  """
13927  return _IMP_core.Typed_get_value(self, *args)
13928 
13929  def set_value(self, *args):
13930  r"""
13931  set_value(Typed self, FloatKey a0, IMP::Float a1)
13932  set_value(Typed self, IntKey a0, IMP::Int a1)
13933  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13934  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13935  set_value(Typed self, StringKey a0, IMP::String a1)
13936  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13937  set_value(Typed self, ObjectKey a0, Object a1)
13938  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13939  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13940  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13941  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13942  """
13943  return _IMP_core.Typed_set_value(self, *args)
13944 
13945  def remove_attribute(self, *args):
13946  r"""
13947  remove_attribute(Typed self, FloatKey a0)
13948  remove_attribute(Typed self, IntKey a0)
13949  remove_attribute(Typed self, FloatsKey a0)
13950  remove_attribute(Typed self, IntsKey a0)
13951  remove_attribute(Typed self, StringKey a0)
13952  remove_attribute(Typed self, ParticleIndexKey a0)
13953  remove_attribute(Typed self, ObjectKey a0)
13954  remove_attribute(Typed self, SparseFloatKey a0)
13955  remove_attribute(Typed self, SparseIntKey a0)
13956  remove_attribute(Typed self, SparseStringKey a0)
13957  remove_attribute(Typed self, SparseParticleIndexKey a0)
13958  """
13959  return _IMP_core.Typed_remove_attribute(self, *args)
13960 
13961  def has_attribute(self, *args):
13962  r"""
13963  has_attribute(Typed self, FloatKey a0) -> bool
13964  has_attribute(Typed self, IntKey a0) -> bool
13965  has_attribute(Typed self, FloatsKey a0) -> bool
13966  has_attribute(Typed self, IntsKey a0) -> bool
13967  has_attribute(Typed self, StringKey a0) -> bool
13968  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13969  has_attribute(Typed self, ObjectKey a0) -> bool
13970  has_attribute(Typed self, SparseFloatKey a0) -> bool
13971  has_attribute(Typed self, SparseIntKey a0) -> bool
13972  has_attribute(Typed self, SparseStringKey a0) -> bool
13973  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13974  """
13975  return _IMP_core.Typed_has_attribute(self, *args)
13976 
13977  def get_derivative(self, a0):
13978  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13979  return _IMP_core.Typed_get_derivative(self, a0)
13980 
13981  def get_name(self):
13982  r"""get_name(Typed self) -> std::string"""
13983  return _IMP_core.Typed_get_name(self)
13984 
13985  def clear_caches(self):
13986  r"""clear_caches(Typed self)"""
13987  return _IMP_core.Typed_clear_caches(self)
13988 
13989  def set_name(self, a0):
13990  r"""set_name(Typed self, std::string a0)"""
13991  return _IMP_core.Typed_set_name(self, a0)
13992 
13993  def set_check_level(self, a0):
13994  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13995  return _IMP_core.Typed_set_check_level(self, a0)
13996 
13997  def add_to_derivative(self, a0, a1, a2):
13998  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13999  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
14000 
14001  def set_is_optimized(self, a0, a1):
14002  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
14003  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
14004 
14005  def get_is_optimized(self, a0):
14006  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
14007  return _IMP_core.Typed_get_is_optimized(self, a0)
14008 
14009  def get_check_level(self):
14010  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
14011  return _IMP_core.Typed_get_check_level(self)
14012 
14013  def __eq__(self, *args):
14014  r"""
14015  __eq__(Typed self, Typed o) -> bool
14016  __eq__(Typed self, Particle d) -> bool
14017  """
14018  return _IMP_core.Typed___eq__(self, *args)
14019 
14020  def __ne__(self, *args):
14021  r"""
14022  __ne__(Typed self, Typed o) -> bool
14023  __ne__(Typed self, Particle d) -> bool
14024  """
14025  return _IMP_core.Typed___ne__(self, *args)
14026 
14027  def __le__(self, *args):
14028  r"""
14029  __le__(Typed self, Typed o) -> bool
14030  __le__(Typed self, Particle d) -> bool
14031  """
14032  return _IMP_core.Typed___le__(self, *args)
14033 
14034  def __lt__(self, *args):
14035  r"""
14036  __lt__(Typed self, Typed o) -> bool
14037  __lt__(Typed self, Particle d) -> bool
14038  """
14039  return _IMP_core.Typed___lt__(self, *args)
14040 
14041  def __ge__(self, *args):
14042  r"""
14043  __ge__(Typed self, Typed o) -> bool
14044  __ge__(Typed self, Particle d) -> bool
14045  """
14046  return _IMP_core.Typed___ge__(self, *args)
14047 
14048  def __gt__(self, *args):
14049  r"""
14050  __gt__(Typed self, Typed o) -> bool
14051  __gt__(Typed self, Particle d) -> bool
14052  """
14053  return _IMP_core.Typed___gt__(self, *args)
14054 
14055  def __hash__(self):
14056  r"""__hash__(Typed self) -> std::size_t"""
14057  return _IMP_core.Typed___hash__(self)
14058 
14059  def __str__(self):
14060  r"""__str__(Typed self) -> std::string"""
14061  return _IMP_core.Typed___str__(self)
14062 
14063  def __repr__(self):
14064  r"""__repr__(Typed self) -> std::string"""
14065  return _IMP_core.Typed___repr__(self)
14066 
14067  def _get_as_binary(self):
14068  r"""_get_as_binary(Typed self) -> PyObject *"""
14069  return _IMP_core.Typed__get_as_binary(self)
14070 
14071  def _set_from_binary(self, p):
14072  r"""_set_from_binary(Typed self, PyObject * p)"""
14073  return _IMP_core.Typed__set_from_binary(self, p)
14074 
14075  def __getstate__(self):
14076  p = self._get_as_binary()
14077  if len(self.__dict__) > 1:
14078  d = self.__dict__.copy()
14079  del d['this']
14080  p = (d, p)
14081  return p
14082 
14083  def __setstate__(self, p):
14084  if not hasattr(self, 'this'):
14085  self.__init__()
14086  if isinstance(p, tuple):
14087  d, p = p
14088  self.__dict__.update(d)
14089  return self._set_from_binary(p)
14090 
14091  __swig_destroy__ = _IMP_core.delete_Typed
14092 
14093 # Register Typed in _IMP_core:
14094 _IMP_core.Typed_swigregister(Typed)
14095 
14096 def __lshift__(*args):
14097  r"""
14098  __lshift__(_ostream out, XYZ n) -> _ostream
14099  __lshift__(_ostream out, XYZR n) -> _ostream
14100  __lshift__(_ostream out, Direction n) -> _ostream
14101  __lshift__(_ostream out, DirectionAngle n) -> _ostream
14102  __lshift__(_ostream out, Surface n) -> _ostream
14103  __lshift__(_ostream out, Centroid n) -> _ostream
14104  __lshift__(_ostream out, Cover n) -> _ostream
14105  __lshift__(_ostream out, Reference n) -> _ostream
14106  __lshift__(_ostream out, RigidMember n) -> _ostream
14107  __lshift__(_ostream out, RigidBody n) -> _ostream
14108  __lshift__(_ostream out, Gaussian n) -> _ostream
14109  __lshift__(_ostream out, Typed n) -> _ostream
14110  """
14111  return _IMP_core.__lshift__(*args)
14112 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14113  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14114 
14115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14116 
14117  def __init__(self, rs, out):
14118  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14119  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14120 
14121  def get_version_info(self):
14122  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14123  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14124  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14125 
14126  def __str__(self):
14127  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14128  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14129 
14130  def __repr__(self):
14131  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14132  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14133 
14134  @staticmethod
14135  def get_from(o):
14136  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14137 
14138 
14139 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14140 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14141 
14142 def assign_blame(rs, ps, attribute):
14143  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14144  return _IMP_core.assign_blame(rs, ps, attribute)
14145 
14146 def create_blame_geometries(*args):
14147  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14148  return _IMP_core.create_blame_geometries(*args)
14149 class MultipleBinormalRestraint(IMP.Restraint):
14150  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14151 
14152  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14153 
14154  def __init__(self, m, q1, q2):
14155  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14156  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14157 
14158  def add_term(self, term):
14159  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14160  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14161 
14162  def do_get_inputs(self):
14163  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14164  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14165 
14166  def get_version_info(self):
14167  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14168  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14169  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14170 
14171  def __str__(self):
14172  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14173  return _IMP_core.MultipleBinormalRestraint___str__(self)
14174 
14175  def __repr__(self):
14176  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14177  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14178 
14179  @staticmethod
14180  def get_from(o):
14181  return _object_cast_to_MultipleBinormalRestraint(o)
14182 
14183 
14184 # Register MultipleBinormalRestraint in _IMP_core:
14185 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14186 class BinormalTerm(object):
14187  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14188 
14189  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14190 
14191  def __init__(self):
14192  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14193  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14194 
14195  def set_correlation(self, correlation):
14196  r"""set_correlation(BinormalTerm self, double correlation)"""
14197  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14198 
14199  def set_weight(self, weight):
14200  r"""set_weight(BinormalTerm self, double weight)"""
14201  return _IMP_core.BinormalTerm_set_weight(self, weight)
14202 
14203  def set_means(self, means):
14204  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14205  return _IMP_core.BinormalTerm_set_means(self, means)
14206 
14207  def set_standard_deviations(self, stdevs):
14208  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14209  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14210 
14211  def show(self, *args):
14212  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14213  return _IMP_core.BinormalTerm_show(self, *args)
14214 
14215  def __str__(self):
14216  r"""__str__(BinormalTerm self) -> std::string"""
14217  return _IMP_core.BinormalTerm___str__(self)
14218 
14219  def __repr__(self):
14220  r"""__repr__(BinormalTerm self) -> std::string"""
14221  return _IMP_core.BinormalTerm___repr__(self)
14222 
14223  def _get_as_binary(self):
14224  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14225  return _IMP_core.BinormalTerm__get_as_binary(self)
14226 
14227  def _set_from_binary(self, p):
14228  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14229  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14230 
14231  def __getstate__(self):
14232  p = self._get_as_binary()
14233  if len(self.__dict__) > 1:
14234  d = self.__dict__.copy()
14235  del d['this']
14236  p = (d, p)
14237  return p
14238 
14239  def __setstate__(self, p):
14240  if not hasattr(self, 'this'):
14241  self.__init__()
14242  if isinstance(p, tuple):
14243  d, p = p
14244  self.__dict__.update(d)
14245  return self._set_from_binary(p)
14246 
14247  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14248 
14249 # Register BinormalTerm in _IMP_core:
14250 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14251 class Provenance(IMP.Decorator):
14252  r"""Proxy of C++ IMP::core::Provenance class."""
14253 
14254  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14255 
14256  def get_previous(self):
14257  r"""get_previous(Provenance self) -> Provenance"""
14258  return _IMP_core.Provenance_get_previous(self)
14259 
14260  def set_previous(self, p):
14261  r"""set_previous(Provenance self, Provenance p)"""
14262  return _IMP_core.Provenance_set_previous(self, p)
14263 
14264  def __init__(self, *args):
14265  r"""
14266  __init__(Provenance self) -> Provenance
14267  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14268  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14269  """
14270  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14271 
14272  @staticmethod
14273  def get_is_setup(*args):
14274  r"""
14275  get_is_setup(Model m, ParticleIndex pi) -> bool
14276  get_is_setup(_ParticleAdaptor p) -> bool
14277  """
14278  return _IMP_core.Provenance_get_is_setup(*args)
14279 
14280  def show(self, *args):
14281  r"""show(Provenance self, _ostream out=std::cout)"""
14282  return _IMP_core.Provenance_show(self, *args)
14283 
14284  @staticmethod
14285  def setup_particle(*args):
14286  r"""
14287  setup_particle(Model m, ParticleIndex pi) -> Provenance
14288  setup_particle(_ParticleAdaptor pa) -> Provenance
14289  """
14290  return _IMP_core.Provenance_setup_particle(*args)
14291 
14292  def add_attribute(self, *args):
14293  r"""
14294  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14295  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14296  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14297  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14298  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14299  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14300  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14301  add_attribute(Provenance self, ObjectKey a0, Object a1)
14302  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14303  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14304  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14305  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14306  """
14307  return _IMP_core.Provenance_add_attribute(self, *args)
14308 
14309  def get_value(self, *args):
14310  r"""
14311  get_value(Provenance self, FloatKey a0) -> IMP::Float
14312  get_value(Provenance self, IntKey a0) -> IMP::Int
14313  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14314  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14315  get_value(Provenance self, StringKey a0) -> IMP::String
14316  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14317  get_value(Provenance self, ObjectKey a0) -> Object
14318  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14319  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14320  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14321  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14322  """
14323  return _IMP_core.Provenance_get_value(self, *args)
14324 
14325  def set_value(self, *args):
14326  r"""
14327  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14328  set_value(Provenance self, IntKey a0, IMP::Int a1)
14329  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14330  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14331  set_value(Provenance self, StringKey a0, IMP::String a1)
14332  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14333  set_value(Provenance self, ObjectKey a0, Object a1)
14334  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14335  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14336  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14337  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14338  """
14339  return _IMP_core.Provenance_set_value(self, *args)
14340 
14341  def remove_attribute(self, *args):
14342  r"""
14343  remove_attribute(Provenance self, FloatKey a0)
14344  remove_attribute(Provenance self, IntKey a0)
14345  remove_attribute(Provenance self, FloatsKey a0)
14346  remove_attribute(Provenance self, IntsKey a0)
14347  remove_attribute(Provenance self, StringKey a0)
14348  remove_attribute(Provenance self, ParticleIndexKey a0)
14349  remove_attribute(Provenance self, ObjectKey a0)
14350  remove_attribute(Provenance self, SparseFloatKey a0)
14351  remove_attribute(Provenance self, SparseIntKey a0)
14352  remove_attribute(Provenance self, SparseStringKey a0)
14353  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14354  """
14355  return _IMP_core.Provenance_remove_attribute(self, *args)
14356 
14357  def has_attribute(self, *args):
14358  r"""
14359  has_attribute(Provenance self, FloatKey a0) -> bool
14360  has_attribute(Provenance self, IntKey a0) -> bool
14361  has_attribute(Provenance self, FloatsKey a0) -> bool
14362  has_attribute(Provenance self, IntsKey a0) -> bool
14363  has_attribute(Provenance self, StringKey a0) -> bool
14364  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14365  has_attribute(Provenance self, ObjectKey a0) -> bool
14366  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14367  has_attribute(Provenance self, SparseIntKey a0) -> bool
14368  has_attribute(Provenance self, SparseStringKey a0) -> bool
14369  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14370  """
14371  return _IMP_core.Provenance_has_attribute(self, *args)
14372 
14373  def get_derivative(self, a0):
14374  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14375  return _IMP_core.Provenance_get_derivative(self, a0)
14376 
14377  def get_name(self):
14378  r"""get_name(Provenance self) -> std::string"""
14379  return _IMP_core.Provenance_get_name(self)
14380 
14381  def clear_caches(self):
14382  r"""clear_caches(Provenance self)"""
14383  return _IMP_core.Provenance_clear_caches(self)
14384 
14385  def set_name(self, a0):
14386  r"""set_name(Provenance self, std::string a0)"""
14387  return _IMP_core.Provenance_set_name(self, a0)
14388 
14389  def set_check_level(self, a0):
14390  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14391  return _IMP_core.Provenance_set_check_level(self, a0)
14392 
14393  def add_to_derivative(self, a0, a1, a2):
14394  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14395  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14396 
14397  def set_is_optimized(self, a0, a1):
14398  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14399  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14400 
14401  def get_is_optimized(self, a0):
14402  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14403  return _IMP_core.Provenance_get_is_optimized(self, a0)
14404 
14405  def get_check_level(self):
14406  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14407  return _IMP_core.Provenance_get_check_level(self)
14408 
14409  def __eq__(self, *args):
14410  r"""
14411  __eq__(Provenance self, Provenance o) -> bool
14412  __eq__(Provenance self, Particle d) -> bool
14413  """
14414  return _IMP_core.Provenance___eq__(self, *args)
14415 
14416  def __ne__(self, *args):
14417  r"""
14418  __ne__(Provenance self, Provenance o) -> bool
14419  __ne__(Provenance self, Particle d) -> bool
14420  """
14421  return _IMP_core.Provenance___ne__(self, *args)
14422 
14423  def __le__(self, *args):
14424  r"""
14425  __le__(Provenance self, Provenance o) -> bool
14426  __le__(Provenance self, Particle d) -> bool
14427  """
14428  return _IMP_core.Provenance___le__(self, *args)
14429 
14430  def __lt__(self, *args):
14431  r"""
14432  __lt__(Provenance self, Provenance o) -> bool
14433  __lt__(Provenance self, Particle d) -> bool
14434  """
14435  return _IMP_core.Provenance___lt__(self, *args)
14436 
14437  def __ge__(self, *args):
14438  r"""
14439  __ge__(Provenance self, Provenance o) -> bool
14440  __ge__(Provenance self, Particle d) -> bool
14441  """
14442  return _IMP_core.Provenance___ge__(self, *args)
14443 
14444  def __gt__(self, *args):
14445  r"""
14446  __gt__(Provenance self, Provenance o) -> bool
14447  __gt__(Provenance self, Particle d) -> bool
14448  """
14449  return _IMP_core.Provenance___gt__(self, *args)
14450 
14451  def __hash__(self):
14452  r"""__hash__(Provenance self) -> std::size_t"""
14453  return _IMP_core.Provenance___hash__(self)
14454 
14455  def __str__(self):
14456  r"""__str__(Provenance self) -> std::string"""
14457  return _IMP_core.Provenance___str__(self)
14458 
14459  def __repr__(self):
14460  r"""__repr__(Provenance self) -> std::string"""
14461  return _IMP_core.Provenance___repr__(self)
14462 
14463  def _get_as_binary(self):
14464  r"""_get_as_binary(Provenance self) -> PyObject *"""
14465  return _IMP_core.Provenance__get_as_binary(self)
14466 
14467  def _set_from_binary(self, p):
14468  r"""_set_from_binary(Provenance self, PyObject * p)"""
14469  return _IMP_core.Provenance__set_from_binary(self, p)
14470 
14471  def __getstate__(self):
14472  p = self._get_as_binary()
14473  if len(self.__dict__) > 1:
14474  d = self.__dict__.copy()
14475  del d['this']
14476  p = (d, p)
14477  return p
14478 
14479  def __setstate__(self, p):
14480  if not hasattr(self, 'this'):
14481  self.__init__()
14482  if isinstance(p, tuple):
14483  d, p = p
14484  self.__dict__.update(d)
14485  return self._set_from_binary(p)
14486 
14487  __swig_destroy__ = _IMP_core.delete_Provenance
14488 
14489 # Register Provenance in _IMP_core:
14490 _IMP_core.Provenance_swigregister(Provenance)
14491 class StructureProvenance(Provenance):
14492  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14493 
14494  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14495 
14496  def set_filename(self, filename):
14497  r"""set_filename(StructureProvenance self, std::string filename)"""
14498  return _IMP_core.StructureProvenance_set_filename(self, filename)
14499 
14500  def get_filename(self):
14501  r"""get_filename(StructureProvenance self) -> std::string"""
14502  return _IMP_core.StructureProvenance_get_filename(self)
14503 
14504  def set_chain_id(self, chain_id):
14505  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14506  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14507 
14508  def get_chain_id(self):
14509  r"""get_chain_id(StructureProvenance self) -> std::string"""
14510  return _IMP_core.StructureProvenance_get_chain_id(self)
14511 
14512  def set_residue_offset(self, residue_offset):
14513  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14514  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14515 
14516  def get_residue_offset(self):
14517  r"""get_residue_offset(StructureProvenance self) -> int"""
14518  return _IMP_core.StructureProvenance_get_residue_offset(self)
14519 
14520  def __init__(self, *args):
14521  r"""
14522  __init__(StructureProvenance self) -> StructureProvenance
14523  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14524  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14525  """
14526  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14527 
14528  @staticmethod
14529  def get_is_setup(*args):
14530  r"""
14531  get_is_setup(Model m, ParticleIndex pi) -> bool
14532  get_is_setup(_ParticleAdaptor p) -> bool
14533  """
14534  return _IMP_core.StructureProvenance_get_is_setup(*args)
14535 
14536  def show(self, *args):
14537  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14538  return _IMP_core.StructureProvenance_show(self, *args)
14539 
14540  @staticmethod
14541  def setup_particle(*args):
14542  r"""
14543  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14544  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14545  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14546  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14547  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14548  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14549  """
14550  return _IMP_core.StructureProvenance_setup_particle(*args)
14551 
14552  def add_attribute(self, *args):
14553  r"""
14554  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14555  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14556  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14557  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14558  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14559  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14560  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14561  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14562  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14563  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14564  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14565  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14566  """
14567  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14568 
14569  def get_value(self, *args):
14570  r"""
14571  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14572  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14573  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14574  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14575  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14576  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14577  get_value(StructureProvenance self, ObjectKey a0) -> Object
14578  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14579  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14580  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14581  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14582  """
14583  return _IMP_core.StructureProvenance_get_value(self, *args)
14584 
14585  def set_value(self, *args):
14586  r"""
14587  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14588  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14589  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14590  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14591  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14592  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14593  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14594  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14595  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14596  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14597  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14598  """
14599  return _IMP_core.StructureProvenance_set_value(self, *args)
14600 
14601  def remove_attribute(self, *args):
14602  r"""
14603  remove_attribute(StructureProvenance self, FloatKey a0)
14604  remove_attribute(StructureProvenance self, IntKey a0)
14605  remove_attribute(StructureProvenance self, FloatsKey a0)
14606  remove_attribute(StructureProvenance self, IntsKey a0)
14607  remove_attribute(StructureProvenance self, StringKey a0)
14608  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14609  remove_attribute(StructureProvenance self, ObjectKey a0)
14610  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14611  remove_attribute(StructureProvenance self, SparseIntKey a0)
14612  remove_attribute(StructureProvenance self, SparseStringKey a0)
14613  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14614  """
14615  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14616 
14617  def has_attribute(self, *args):
14618  r"""
14619  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14620  has_attribute(StructureProvenance self, IntKey a0) -> bool
14621  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14622  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14623  has_attribute(StructureProvenance self, StringKey a0) -> bool
14624  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14625  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14626  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14627  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14628  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14629  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14630  """
14631  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14632 
14633  def get_derivative(self, a0):
14634  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14635  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14636 
14637  def get_name(self):
14638  r"""get_name(StructureProvenance self) -> std::string"""
14639  return _IMP_core.StructureProvenance_get_name(self)
14640 
14641  def clear_caches(self):
14642  r"""clear_caches(StructureProvenance self)"""
14643  return _IMP_core.StructureProvenance_clear_caches(self)
14644 
14645  def set_name(self, a0):
14646  r"""set_name(StructureProvenance self, std::string a0)"""
14647  return _IMP_core.StructureProvenance_set_name(self, a0)
14648 
14649  def set_check_level(self, a0):
14650  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14651  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14652 
14653  def add_to_derivative(self, a0, a1, a2):
14654  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14655  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14656 
14657  def set_is_optimized(self, a0, a1):
14658  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14659  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14660 
14661  def get_is_optimized(self, a0):
14662  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14663  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14664 
14665  def get_check_level(self):
14666  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14667  return _IMP_core.StructureProvenance_get_check_level(self)
14668 
14669  def __eq__(self, *args):
14670  r"""
14671  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14672  __eq__(StructureProvenance self, Particle d) -> bool
14673  """
14674  return _IMP_core.StructureProvenance___eq__(self, *args)
14675 
14676  def __ne__(self, *args):
14677  r"""
14678  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14679  __ne__(StructureProvenance self, Particle d) -> bool
14680  """
14681  return _IMP_core.StructureProvenance___ne__(self, *args)
14682 
14683  def __le__(self, *args):
14684  r"""
14685  __le__(StructureProvenance self, StructureProvenance o) -> bool
14686  __le__(StructureProvenance self, Particle d) -> bool
14687  """
14688  return _IMP_core.StructureProvenance___le__(self, *args)
14689 
14690  def __lt__(self, *args):
14691  r"""
14692  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14693  __lt__(StructureProvenance self, Particle d) -> bool
14694  """
14695  return _IMP_core.StructureProvenance___lt__(self, *args)
14696 
14697  def __ge__(self, *args):
14698  r"""
14699  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14700  __ge__(StructureProvenance self, Particle d) -> bool
14701  """
14702  return _IMP_core.StructureProvenance___ge__(self, *args)
14703 
14704  def __gt__(self, *args):
14705  r"""
14706  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14707  __gt__(StructureProvenance self, Particle d) -> bool
14708  """
14709  return _IMP_core.StructureProvenance___gt__(self, *args)
14710 
14711  def __hash__(self):
14712  r"""__hash__(StructureProvenance self) -> std::size_t"""
14713  return _IMP_core.StructureProvenance___hash__(self)
14714 
14715  def __str__(self):
14716  r"""__str__(StructureProvenance self) -> std::string"""
14717  return _IMP_core.StructureProvenance___str__(self)
14718 
14719  def __repr__(self):
14720  r"""__repr__(StructureProvenance self) -> std::string"""
14721  return _IMP_core.StructureProvenance___repr__(self)
14722 
14723  def _get_as_binary(self):
14724  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14725  return _IMP_core.StructureProvenance__get_as_binary(self)
14726 
14727  def _set_from_binary(self, p):
14728  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14729  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14730 
14731  def __getstate__(self):
14732  p = self._get_as_binary()
14733  if len(self.__dict__) > 1:
14734  d = self.__dict__.copy()
14735  del d['this']
14736  p = (d, p)
14737  return p
14738 
14739  def __setstate__(self, p):
14740  if not hasattr(self, 'this'):
14741  self.__init__()
14742  if isinstance(p, tuple):
14743  d, p = p
14744  self.__dict__.update(d)
14745  return self._set_from_binary(p)
14746 
14747  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14748 
14749 # Register StructureProvenance in _IMP_core:
14750 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14751 class SampleProvenance(Provenance):
14752  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14753 
14754  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14755 
14756  def set_method(self, method):
14757  r"""set_method(SampleProvenance self, std::string method)"""
14758  return _IMP_core.SampleProvenance_set_method(self, method)
14759 
14760  def get_method(self):
14761  r"""get_method(SampleProvenance self) -> std::string"""
14762  return _IMP_core.SampleProvenance_get_method(self)
14763 
14764  def set_number_of_frames(self, frames):
14765  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14766  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14767 
14768  def get_number_of_frames(self):
14769  r"""get_number_of_frames(SampleProvenance self) -> int"""
14770  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14771 
14772  def set_number_of_iterations(self, iterations):
14773  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14774  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14775 
14776  def get_number_of_iterations(self):
14777  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14778  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14779 
14780  def set_number_of_replicas(self, replicas):
14781  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14782  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14783 
14784  def get_number_of_replicas(self):
14785  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14786  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14787 
14788  def __init__(self, *args):
14789  r"""
14790  __init__(SampleProvenance self) -> SampleProvenance
14791  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14792  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14793  """
14794  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14795 
14796  @staticmethod
14797  def get_is_setup(*args):
14798  r"""
14799  get_is_setup(Model m, ParticleIndex pi) -> bool
14800  get_is_setup(_ParticleAdaptor p) -> bool
14801  """
14802  return _IMP_core.SampleProvenance_get_is_setup(*args)
14803 
14804  def show(self, *args):
14805  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14806  return _IMP_core.SampleProvenance_show(self, *args)
14807 
14808  @staticmethod
14809  def setup_particle(*args):
14810  r"""
14811  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14812  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14813  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14814  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14815  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14816  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14817  """
14818  return _IMP_core.SampleProvenance_setup_particle(*args)
14819 
14820  def add_attribute(self, *args):
14821  r"""
14822  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14823  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14824  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14825  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14826  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14827  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14828  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14829  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14830  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14831  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14832  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14833  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14834  """
14835  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14836 
14837  def get_value(self, *args):
14838  r"""
14839  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14840  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14841  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14842  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14843  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14844  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14845  get_value(SampleProvenance self, ObjectKey a0) -> Object
14846  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14847  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14848  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14849  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14850  """
14851  return _IMP_core.SampleProvenance_get_value(self, *args)
14852 
14853  def set_value(self, *args):
14854  r"""
14855  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14856  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14857  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14858  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14859  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14860  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14861  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14862  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14863  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14864  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14865  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14866  """
14867  return _IMP_core.SampleProvenance_set_value(self, *args)
14868 
14869  def remove_attribute(self, *args):
14870  r"""
14871  remove_attribute(SampleProvenance self, FloatKey a0)
14872  remove_attribute(SampleProvenance self, IntKey a0)
14873  remove_attribute(SampleProvenance self, FloatsKey a0)
14874  remove_attribute(SampleProvenance self, IntsKey a0)
14875  remove_attribute(SampleProvenance self, StringKey a0)
14876  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14877  remove_attribute(SampleProvenance self, ObjectKey a0)
14878  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14879  remove_attribute(SampleProvenance self, SparseIntKey a0)
14880  remove_attribute(SampleProvenance self, SparseStringKey a0)
14881  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14882  """
14883  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14884 
14885  def has_attribute(self, *args):
14886  r"""
14887  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14888  has_attribute(SampleProvenance self, IntKey a0) -> bool
14889  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14890  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14891  has_attribute(SampleProvenance self, StringKey a0) -> bool
14892  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14893  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14894  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14895  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14896  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14897  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14898  """
14899  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14900 
14901  def get_derivative(self, a0):
14902  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14903  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14904 
14905  def get_name(self):
14906  r"""get_name(SampleProvenance self) -> std::string"""
14907  return _IMP_core.SampleProvenance_get_name(self)
14908 
14909  def clear_caches(self):
14910  r"""clear_caches(SampleProvenance self)"""
14911  return _IMP_core.SampleProvenance_clear_caches(self)
14912 
14913  def set_name(self, a0):
14914  r"""set_name(SampleProvenance self, std::string a0)"""
14915  return _IMP_core.SampleProvenance_set_name(self, a0)
14916 
14917  def set_check_level(self, a0):
14918  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14919  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14920 
14921  def add_to_derivative(self, a0, a1, a2):
14922  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14923  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14924 
14925  def set_is_optimized(self, a0, a1):
14926  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14927  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14928 
14929  def get_is_optimized(self, a0):
14930  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14931  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14932 
14933  def get_check_level(self):
14934  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14935  return _IMP_core.SampleProvenance_get_check_level(self)
14936 
14937  def __eq__(self, *args):
14938  r"""
14939  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14940  __eq__(SampleProvenance self, Particle d) -> bool
14941  """
14942  return _IMP_core.SampleProvenance___eq__(self, *args)
14943 
14944  def __ne__(self, *args):
14945  r"""
14946  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14947  __ne__(SampleProvenance self, Particle d) -> bool
14948  """
14949  return _IMP_core.SampleProvenance___ne__(self, *args)
14950 
14951  def __le__(self, *args):
14952  r"""
14953  __le__(SampleProvenance self, SampleProvenance o) -> bool
14954  __le__(SampleProvenance self, Particle d) -> bool
14955  """
14956  return _IMP_core.SampleProvenance___le__(self, *args)
14957 
14958  def __lt__(self, *args):
14959  r"""
14960  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14961  __lt__(SampleProvenance self, Particle d) -> bool
14962  """
14963  return _IMP_core.SampleProvenance___lt__(self, *args)
14964 
14965  def __ge__(self, *args):
14966  r"""
14967  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14968  __ge__(SampleProvenance self, Particle d) -> bool
14969  """
14970  return _IMP_core.SampleProvenance___ge__(self, *args)
14971 
14972  def __gt__(self, *args):
14973  r"""
14974  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14975  __gt__(SampleProvenance self, Particle d) -> bool
14976  """
14977  return _IMP_core.SampleProvenance___gt__(self, *args)
14978 
14979  def __hash__(self):
14980  r"""__hash__(SampleProvenance self) -> std::size_t"""
14981  return _IMP_core.SampleProvenance___hash__(self)
14982 
14983  def __str__(self):
14984  r"""__str__(SampleProvenance self) -> std::string"""
14985  return _IMP_core.SampleProvenance___str__(self)
14986 
14987  def __repr__(self):
14988  r"""__repr__(SampleProvenance self) -> std::string"""
14989  return _IMP_core.SampleProvenance___repr__(self)
14990 
14991  def _get_as_binary(self):
14992  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14993  return _IMP_core.SampleProvenance__get_as_binary(self)
14994 
14995  def _set_from_binary(self, p):
14996  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14997  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14998 
14999  def __getstate__(self):
15000  p = self._get_as_binary()
15001  if len(self.__dict__) > 1:
15002  d = self.__dict__.copy()
15003  del d['this']
15004  p = (d, p)
15005  return p
15006 
15007  def __setstate__(self, p):
15008  if not hasattr(self, 'this'):
15009  self.__init__()
15010  if isinstance(p, tuple):
15011  d, p = p
15012  self.__dict__.update(d)
15013  return self._set_from_binary(p)
15014 
15015  __swig_destroy__ = _IMP_core.delete_SampleProvenance
15016 
15017 # Register SampleProvenance in _IMP_core:
15018 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
15019 class CombineProvenance(Provenance):
15020  r"""Proxy of C++ IMP::core::CombineProvenance class."""
15021 
15022  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15023 
15024  def set_number_of_frames(self, frames):
15025  r"""set_number_of_frames(CombineProvenance self, int frames)"""
15026  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
15027 
15028  def get_number_of_frames(self):
15029  r"""get_number_of_frames(CombineProvenance self) -> int"""
15030  return _IMP_core.CombineProvenance_get_number_of_frames(self)
15031 
15032  def set_number_of_runs(self, runs):
15033  r"""set_number_of_runs(CombineProvenance self, int runs)"""
15034  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
15035 
15036  def get_number_of_runs(self):
15037  r"""get_number_of_runs(CombineProvenance self) -> int"""
15038  return _IMP_core.CombineProvenance_get_number_of_runs(self)
15039 
15040  def __init__(self, *args):
15041  r"""
15042  __init__(CombineProvenance self) -> CombineProvenance
15043  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
15044  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
15045  """
15046  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
15047 
15048  @staticmethod
15049  def get_is_setup(*args):
15050  r"""
15051  get_is_setup(Model m, ParticleIndex pi) -> bool
15052  get_is_setup(_ParticleAdaptor p) -> bool
15053  """
15054  return _IMP_core.CombineProvenance_get_is_setup(*args)
15055 
15056  def show(self, *args):
15057  r"""show(CombineProvenance self, _ostream out=std::cout)"""
15058  return _IMP_core.CombineProvenance_show(self, *args)
15059 
15060  @staticmethod
15061  def setup_particle(*args):
15062  r"""
15063  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
15064  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
15065  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
15066  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
15067  """
15068  return _IMP_core.CombineProvenance_setup_particle(*args)
15069 
15070  def add_attribute(self, *args):
15071  r"""
15072  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
15073  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
15074  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
15075  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15076  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15077  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
15078  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15079  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
15080  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15081  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15082  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15083  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15084  """
15085  return _IMP_core.CombineProvenance_add_attribute(self, *args)
15086 
15087  def get_value(self, *args):
15088  r"""
15089  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
15090  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
15091  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
15092  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
15093  get_value(CombineProvenance self, StringKey a0) -> IMP::String
15094  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
15095  get_value(CombineProvenance self, ObjectKey a0) -> Object
15096  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
15097  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
15098  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
15099  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15100  """
15101  return _IMP_core.CombineProvenance_get_value(self, *args)
15102 
15103  def set_value(self, *args):
15104  r"""
15105  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
15106  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
15107  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15108  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15109  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15110  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15111  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15112  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15113  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15114  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15115  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15116  """
15117  return _IMP_core.CombineProvenance_set_value(self, *args)
15118 
15119  def remove_attribute(self, *args):
15120  r"""
15121  remove_attribute(CombineProvenance self, FloatKey a0)
15122  remove_attribute(CombineProvenance self, IntKey a0)
15123  remove_attribute(CombineProvenance self, FloatsKey a0)
15124  remove_attribute(CombineProvenance self, IntsKey a0)
15125  remove_attribute(CombineProvenance self, StringKey a0)
15126  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15127  remove_attribute(CombineProvenance self, ObjectKey a0)
15128  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15129  remove_attribute(CombineProvenance self, SparseIntKey a0)
15130  remove_attribute(CombineProvenance self, SparseStringKey a0)
15131  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15132  """
15133  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15134 
15135  def has_attribute(self, *args):
15136  r"""
15137  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15138  has_attribute(CombineProvenance self, IntKey a0) -> bool
15139  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15140  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15141  has_attribute(CombineProvenance self, StringKey a0) -> bool
15142  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15143  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15144  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15145  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15146  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15147  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15148  """
15149  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15150 
15151  def get_derivative(self, a0):
15152  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15153  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15154 
15155  def get_name(self):
15156  r"""get_name(CombineProvenance self) -> std::string"""
15157  return _IMP_core.CombineProvenance_get_name(self)
15158 
15159  def clear_caches(self):
15160  r"""clear_caches(CombineProvenance self)"""
15161  return _IMP_core.CombineProvenance_clear_caches(self)
15162 
15163  def set_name(self, a0):
15164  r"""set_name(CombineProvenance self, std::string a0)"""
15165  return _IMP_core.CombineProvenance_set_name(self, a0)
15166 
15167  def set_check_level(self, a0):
15168  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15169  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15170 
15171  def add_to_derivative(self, a0, a1, a2):
15172  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15173  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15174 
15175  def set_is_optimized(self, a0, a1):
15176  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15177  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15178 
15179  def get_is_optimized(self, a0):
15180  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15181  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15182 
15183  def get_check_level(self):
15184  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15185  return _IMP_core.CombineProvenance_get_check_level(self)
15186 
15187  def __eq__(self, *args):
15188  r"""
15189  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15190  __eq__(CombineProvenance self, Particle d) -> bool
15191  """
15192  return _IMP_core.CombineProvenance___eq__(self, *args)
15193 
15194  def __ne__(self, *args):
15195  r"""
15196  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15197  __ne__(CombineProvenance self, Particle d) -> bool
15198  """
15199  return _IMP_core.CombineProvenance___ne__(self, *args)
15200 
15201  def __le__(self, *args):
15202  r"""
15203  __le__(CombineProvenance self, CombineProvenance o) -> bool
15204  __le__(CombineProvenance self, Particle d) -> bool
15205  """
15206  return _IMP_core.CombineProvenance___le__(self, *args)
15207 
15208  def __lt__(self, *args):
15209  r"""
15210  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15211  __lt__(CombineProvenance self, Particle d) -> bool
15212  """
15213  return _IMP_core.CombineProvenance___lt__(self, *args)
15214 
15215  def __ge__(self, *args):
15216  r"""
15217  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15218  __ge__(CombineProvenance self, Particle d) -> bool
15219  """
15220  return _IMP_core.CombineProvenance___ge__(self, *args)
15221 
15222  def __gt__(self, *args):
15223  r"""
15224  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15225  __gt__(CombineProvenance self, Particle d) -> bool
15226  """
15227  return _IMP_core.CombineProvenance___gt__(self, *args)
15228 
15229  def __hash__(self):
15230  r"""__hash__(CombineProvenance self) -> std::size_t"""
15231  return _IMP_core.CombineProvenance___hash__(self)
15232 
15233  def __str__(self):
15234  r"""__str__(CombineProvenance self) -> std::string"""
15235  return _IMP_core.CombineProvenance___str__(self)
15236 
15237  def __repr__(self):
15238  r"""__repr__(CombineProvenance self) -> std::string"""
15239  return _IMP_core.CombineProvenance___repr__(self)
15240 
15241  def _get_as_binary(self):
15242  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15243  return _IMP_core.CombineProvenance__get_as_binary(self)
15244 
15245  def _set_from_binary(self, p):
15246  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15247  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15248 
15249  def __getstate__(self):
15250  p = self._get_as_binary()
15251  if len(self.__dict__) > 1:
15252  d = self.__dict__.copy()
15253  del d['this']
15254  p = (d, p)
15255  return p
15256 
15257  def __setstate__(self, p):
15258  if not hasattr(self, 'this'):
15259  self.__init__()
15260  if isinstance(p, tuple):
15261  d, p = p
15262  self.__dict__.update(d)
15263  return self._set_from_binary(p)
15264 
15265  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15266 
15267 # Register CombineProvenance in _IMP_core:
15268 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15269 class FilterProvenance(Provenance):
15270  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15271 
15272  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15273 
15274  def set_method(self, method):
15275  r"""set_method(FilterProvenance self, std::string method)"""
15276  return _IMP_core.FilterProvenance_set_method(self, method)
15277 
15278  def get_method(self):
15279  r"""get_method(FilterProvenance self) -> std::string"""
15280  return _IMP_core.FilterProvenance_get_method(self)
15281 
15282  def set_number_of_frames(self, frames):
15283  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15284  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15285 
15286  def get_number_of_frames(self):
15287  r"""get_number_of_frames(FilterProvenance self) -> int"""
15288  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15289 
15290  def set_threshold(self, threshold):
15291  r"""set_threshold(FilterProvenance self, double threshold)"""
15292  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15293 
15294  def get_threshold(self):
15295  r"""get_threshold(FilterProvenance self) -> double"""
15296  return _IMP_core.FilterProvenance_get_threshold(self)
15297 
15298  def __init__(self, *args):
15299  r"""
15300  __init__(FilterProvenance self) -> FilterProvenance
15301  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15302  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15303  """
15304  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15305 
15306  @staticmethod
15307  def get_is_setup(*args):
15308  r"""
15309  get_is_setup(Model m, ParticleIndex pi) -> bool
15310  get_is_setup(_ParticleAdaptor p) -> bool
15311  """
15312  return _IMP_core.FilterProvenance_get_is_setup(*args)
15313 
15314  def show(self, *args):
15315  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15316  return _IMP_core.FilterProvenance_show(self, *args)
15317 
15318  @staticmethod
15319  def setup_particle(*args):
15320  r"""
15321  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15322  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15323  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15324  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15325  """
15326  return _IMP_core.FilterProvenance_setup_particle(*args)
15327 
15328  def add_attribute(self, *args):
15329  r"""
15330  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15331  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15332  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15333  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15334  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15335  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15336  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15337  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15338  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15339  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15340  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15341  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15342  """
15343  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15344 
15345  def get_value(self, *args):
15346  r"""
15347  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15348  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15349  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15350  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15351  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15352  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15353  get_value(FilterProvenance self, ObjectKey a0) -> Object
15354  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15355  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15356  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15357  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15358  """
15359  return _IMP_core.FilterProvenance_get_value(self, *args)
15360 
15361  def set_value(self, *args):
15362  r"""
15363  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15364  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15365  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15366  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15367  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15368  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15369  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15370  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15371  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15372  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15373  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15374  """
15375  return _IMP_core.FilterProvenance_set_value(self, *args)
15376 
15377  def remove_attribute(self, *args):
15378  r"""
15379  remove_attribute(FilterProvenance self, FloatKey a0)
15380  remove_attribute(FilterProvenance self, IntKey a0)
15381  remove_attribute(FilterProvenance self, FloatsKey a0)
15382  remove_attribute(FilterProvenance self, IntsKey a0)
15383  remove_attribute(FilterProvenance self, StringKey a0)
15384  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15385  remove_attribute(FilterProvenance self, ObjectKey a0)
15386  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15387  remove_attribute(FilterProvenance self, SparseIntKey a0)
15388  remove_attribute(FilterProvenance self, SparseStringKey a0)
15389  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15390  """
15391  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15392 
15393  def has_attribute(self, *args):
15394  r"""
15395  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15396  has_attribute(FilterProvenance self, IntKey a0) -> bool
15397  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15398  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15399  has_attribute(FilterProvenance self, StringKey a0) -> bool
15400  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15401  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15402  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15403  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15404  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15405  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15406  """
15407  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15408 
15409  def get_derivative(self, a0):
15410  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15411  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15412 
15413  def get_name(self):
15414  r"""get_name(FilterProvenance self) -> std::string"""
15415  return _IMP_core.FilterProvenance_get_name(self)
15416 
15417  def clear_caches(self):
15418  r"""clear_caches(FilterProvenance self)"""
15419  return _IMP_core.FilterProvenance_clear_caches(self)
15420 
15421  def set_name(self, a0):
15422  r"""set_name(FilterProvenance self, std::string a0)"""
15423  return _IMP_core.FilterProvenance_set_name(self, a0)
15424 
15425  def set_check_level(self, a0):
15426  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15427  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15428 
15429  def add_to_derivative(self, a0, a1, a2):
15430  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15431  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15432 
15433  def set_is_optimized(self, a0, a1):
15434  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15435  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15436 
15437  def get_is_optimized(self, a0):
15438  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15439  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15440 
15441  def get_check_level(self):
15442  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15443  return _IMP_core.FilterProvenance_get_check_level(self)
15444 
15445  def __eq__(self, *args):
15446  r"""
15447  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15448  __eq__(FilterProvenance self, Particle d) -> bool
15449  """
15450  return _IMP_core.FilterProvenance___eq__(self, *args)
15451 
15452  def __ne__(self, *args):
15453  r"""
15454  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15455  __ne__(FilterProvenance self, Particle d) -> bool
15456  """
15457  return _IMP_core.FilterProvenance___ne__(self, *args)
15458 
15459  def __le__(self, *args):
15460  r"""
15461  __le__(FilterProvenance self, FilterProvenance o) -> bool
15462  __le__(FilterProvenance self, Particle d) -> bool
15463  """
15464  return _IMP_core.FilterProvenance___le__(self, *args)
15465 
15466  def __lt__(self, *args):
15467  r"""
15468  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15469  __lt__(FilterProvenance self, Particle d) -> bool
15470  """
15471  return _IMP_core.FilterProvenance___lt__(self, *args)
15472 
15473  def __ge__(self, *args):
15474  r"""
15475  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15476  __ge__(FilterProvenance self, Particle d) -> bool
15477  """
15478  return _IMP_core.FilterProvenance___ge__(self, *args)
15479 
15480  def __gt__(self, *args):
15481  r"""
15482  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15483  __gt__(FilterProvenance self, Particle d) -> bool
15484  """
15485  return _IMP_core.FilterProvenance___gt__(self, *args)
15486 
15487  def __hash__(self):
15488  r"""__hash__(FilterProvenance self) -> std::size_t"""
15489  return _IMP_core.FilterProvenance___hash__(self)
15490 
15491  def __str__(self):
15492  r"""__str__(FilterProvenance self) -> std::string"""
15493  return _IMP_core.FilterProvenance___str__(self)
15494 
15495  def __repr__(self):
15496  r"""__repr__(FilterProvenance self) -> std::string"""
15497  return _IMP_core.FilterProvenance___repr__(self)
15498 
15499  def _get_as_binary(self):
15500  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15501  return _IMP_core.FilterProvenance__get_as_binary(self)
15502 
15503  def _set_from_binary(self, p):
15504  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15505  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15506 
15507  def __getstate__(self):
15508  p = self._get_as_binary()
15509  if len(self.__dict__) > 1:
15510  d = self.__dict__.copy()
15511  del d['this']
15512  p = (d, p)
15513  return p
15514 
15515  def __setstate__(self, p):
15516  if not hasattr(self, 'this'):
15517  self.__init__()
15518  if isinstance(p, tuple):
15519  d, p = p
15520  self.__dict__.update(d)
15521  return self._set_from_binary(p)
15522 
15523  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15524 
15525 # Register FilterProvenance in _IMP_core:
15526 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15527 class ClusterProvenance(Provenance):
15528  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15529 
15530  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15531 
15532  def set_number_of_members(self, members):
15533  r"""set_number_of_members(ClusterProvenance self, int members)"""
15534  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15535 
15536  def get_number_of_members(self):
15537  r"""get_number_of_members(ClusterProvenance self) -> int"""
15538  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15539 
15540  def set_precision(self, precision):
15541  r"""set_precision(ClusterProvenance self, double precision)"""
15542  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15543 
15544  def get_precision(self):
15545  r"""get_precision(ClusterProvenance self) -> double"""
15546  return _IMP_core.ClusterProvenance_get_precision(self)
15547 
15548  def set_density(self, density):
15549  r"""set_density(ClusterProvenance self, std::string density)"""
15550  return _IMP_core.ClusterProvenance_set_density(self, density)
15551 
15552  def get_density(self):
15553  r"""get_density(ClusterProvenance self) -> std::string"""
15554  return _IMP_core.ClusterProvenance_get_density(self)
15555 
15556  def __init__(self, *args):
15557  r"""
15558  __init__(ClusterProvenance self) -> ClusterProvenance
15559  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15560  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15561  """
15562  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15563 
15564  @staticmethod
15565  def get_is_setup(*args):
15566  r"""
15567  get_is_setup(Model m, ParticleIndex pi) -> bool
15568  get_is_setup(_ParticleAdaptor p) -> bool
15569  """
15570  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15571 
15572  def show(self, *args):
15573  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15574  return _IMP_core.ClusterProvenance_show(self, *args)
15575 
15576  @staticmethod
15577  def setup_particle(*args):
15578  r"""
15579  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15580  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15581  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15582  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15583  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15584  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15585  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15586  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15587  """
15588  return _IMP_core.ClusterProvenance_setup_particle(*args)
15589 
15590  def add_attribute(self, *args):
15591  r"""
15592  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15593  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15594  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15595  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15596  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15597  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15598  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15599  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15600  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15601  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15602  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15603  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15604  """
15605  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15606 
15607  def get_value(self, *args):
15608  r"""
15609  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15610  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15611  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15612  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15613  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15614  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15615  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15616  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15617  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15618  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15619  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15620  """
15621  return _IMP_core.ClusterProvenance_get_value(self, *args)
15622 
15623  def set_value(self, *args):
15624  r"""
15625  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15626  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15627  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15628  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15629  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15630  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15631  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15632  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15633  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15634  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15635  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15636  """
15637  return _IMP_core.ClusterProvenance_set_value(self, *args)
15638 
15639  def remove_attribute(self, *args):
15640  r"""
15641  remove_attribute(ClusterProvenance self, FloatKey a0)
15642  remove_attribute(ClusterProvenance self, IntKey a0)
15643  remove_attribute(ClusterProvenance self, FloatsKey a0)
15644  remove_attribute(ClusterProvenance self, IntsKey a0)
15645  remove_attribute(ClusterProvenance self, StringKey a0)
15646  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15647  remove_attribute(ClusterProvenance self, ObjectKey a0)
15648  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15649  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15650  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15651  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15652  """
15653  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15654 
15655  def has_attribute(self, *args):
15656  r"""
15657  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15658  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15659  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15660  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15661  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15662  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15663  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15664  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15665  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15666  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15667  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15668  """
15669  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15670 
15671  def get_derivative(self, a0):
15672  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15673  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15674 
15675  def get_name(self):
15676  r"""get_name(ClusterProvenance self) -> std::string"""
15677  return _IMP_core.ClusterProvenance_get_name(self)
15678 
15679  def clear_caches(self):
15680  r"""clear_caches(ClusterProvenance self)"""
15681  return _IMP_core.ClusterProvenance_clear_caches(self)
15682 
15683  def set_name(self, a0):
15684  r"""set_name(ClusterProvenance self, std::string a0)"""
15685  return _IMP_core.ClusterProvenance_set_name(self, a0)
15686 
15687  def set_check_level(self, a0):
15688  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15689  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15690 
15691  def add_to_derivative(self, a0, a1, a2):
15692  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15693  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15694 
15695  def set_is_optimized(self, a0, a1):
15696  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15697  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15698 
15699  def get_is_optimized(self, a0):
15700  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15701  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15702 
15703  def get_check_level(self):
15704  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15705  return _IMP_core.ClusterProvenance_get_check_level(self)
15706 
15707  def __eq__(self, *args):
15708  r"""
15709  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15710  __eq__(ClusterProvenance self, Particle d) -> bool
15711  """
15712  return _IMP_core.ClusterProvenance___eq__(self, *args)
15713 
15714  def __ne__(self, *args):
15715  r"""
15716  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15717  __ne__(ClusterProvenance self, Particle d) -> bool
15718  """
15719  return _IMP_core.ClusterProvenance___ne__(self, *args)
15720 
15721  def __le__(self, *args):
15722  r"""
15723  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15724  __le__(ClusterProvenance self, Particle d) -> bool
15725  """
15726  return _IMP_core.ClusterProvenance___le__(self, *args)
15727 
15728  def __lt__(self, *args):
15729  r"""
15730  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15731  __lt__(ClusterProvenance self, Particle d) -> bool
15732  """
15733  return _IMP_core.ClusterProvenance___lt__(self, *args)
15734 
15735  def __ge__(self, *args):
15736  r"""
15737  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15738  __ge__(ClusterProvenance self, Particle d) -> bool
15739  """
15740  return _IMP_core.ClusterProvenance___ge__(self, *args)
15741 
15742  def __gt__(self, *args):
15743  r"""
15744  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15745  __gt__(ClusterProvenance self, Particle d) -> bool
15746  """
15747  return _IMP_core.ClusterProvenance___gt__(self, *args)
15748 
15749  def __hash__(self):
15750  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15751  return _IMP_core.ClusterProvenance___hash__(self)
15752 
15753  def __str__(self):
15754  r"""__str__(ClusterProvenance self) -> std::string"""
15755  return _IMP_core.ClusterProvenance___str__(self)
15756 
15757  def __repr__(self):
15758  r"""__repr__(ClusterProvenance self) -> std::string"""
15759  return _IMP_core.ClusterProvenance___repr__(self)
15760 
15761  def _get_as_binary(self):
15762  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15763  return _IMP_core.ClusterProvenance__get_as_binary(self)
15764 
15765  def _set_from_binary(self, p):
15766  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15767  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15768 
15769  def __getstate__(self):
15770  p = self._get_as_binary()
15771  if len(self.__dict__) > 1:
15772  d = self.__dict__.copy()
15773  del d['this']
15774  p = (d, p)
15775  return p
15776 
15777  def __setstate__(self, p):
15778  if not hasattr(self, 'this'):
15779  self.__init__()
15780  if isinstance(p, tuple):
15781  d, p = p
15782  self.__dict__.update(d)
15783  return self._set_from_binary(p)
15784 
15785  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15786 
15787 # Register ClusterProvenance in _IMP_core:
15788 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15789 class ScriptProvenance(Provenance):
15790  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15791 
15792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15793 
15794  def set_filename(self, filename):
15795  r"""set_filename(ScriptProvenance self, std::string filename)"""
15796  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15797 
15798  def get_filename(self):
15799  r"""get_filename(ScriptProvenance self) -> std::string"""
15800  return _IMP_core.ScriptProvenance_get_filename(self)
15801 
15802  def __init__(self, *args):
15803  r"""
15804  __init__(ScriptProvenance self) -> ScriptProvenance
15805  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15806  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15807  """
15808  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15809 
15810  @staticmethod
15811  def get_is_setup(*args):
15812  r"""
15813  get_is_setup(Model m, ParticleIndex pi) -> bool
15814  get_is_setup(_ParticleAdaptor p) -> bool
15815  """
15816  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15817 
15818  def show(self, *args):
15819  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15820  return _IMP_core.ScriptProvenance_show(self, *args)
15821 
15822  @staticmethod
15823  def setup_particle(*args):
15824  r"""
15825  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15826  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15827  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15828  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15829  """
15830  return _IMP_core.ScriptProvenance_setup_particle(*args)
15831 
15832  def add_attribute(self, *args):
15833  r"""
15834  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15835  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15836  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15837  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15838  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15839  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15840  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15841  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15842  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15843  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15844  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15845  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15846  """
15847  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15848 
15849  def get_value(self, *args):
15850  r"""
15851  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15852  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15853  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15854  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15855  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15856  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15857  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15858  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15859  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15860  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15861  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15862  """
15863  return _IMP_core.ScriptProvenance_get_value(self, *args)
15864 
15865  def set_value(self, *args):
15866  r"""
15867  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15868  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15869  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15870  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15871  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15872  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15873  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15874  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15875  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15876  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15877  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15878  """
15879  return _IMP_core.ScriptProvenance_set_value(self, *args)
15880 
15881  def remove_attribute(self, *args):
15882  r"""
15883  remove_attribute(ScriptProvenance self, FloatKey a0)
15884  remove_attribute(ScriptProvenance self, IntKey a0)
15885  remove_attribute(ScriptProvenance self, FloatsKey a0)
15886  remove_attribute(ScriptProvenance self, IntsKey a0)
15887  remove_attribute(ScriptProvenance self, StringKey a0)
15888  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15889  remove_attribute(ScriptProvenance self, ObjectKey a0)
15890  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15891  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15892  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15893  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15894  """
15895  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15896 
15897  def has_attribute(self, *args):
15898  r"""
15899  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15900  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15901  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15902  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15903  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15904  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15905  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15906  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15907  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15908  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15909  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15910  """
15911  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15912 
15913  def get_derivative(self, a0):
15914  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15915  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15916 
15917  def get_name(self):
15918  r"""get_name(ScriptProvenance self) -> std::string"""
15919  return _IMP_core.ScriptProvenance_get_name(self)
15920 
15921  def clear_caches(self):
15922  r"""clear_caches(ScriptProvenance self)"""
15923  return _IMP_core.ScriptProvenance_clear_caches(self)
15924 
15925  def set_name(self, a0):
15926  r"""set_name(ScriptProvenance self, std::string a0)"""
15927  return _IMP_core.ScriptProvenance_set_name(self, a0)
15928 
15929  def set_check_level(self, a0):
15930  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15931  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15932 
15933  def add_to_derivative(self, a0, a1, a2):
15934  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15935  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15936 
15937  def set_is_optimized(self, a0, a1):
15938  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15939  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15940 
15941  def get_is_optimized(self, a0):
15942  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15943  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15944 
15945  def get_check_level(self):
15946  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15947  return _IMP_core.ScriptProvenance_get_check_level(self)
15948 
15949  def __eq__(self, *args):
15950  r"""
15951  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15952  __eq__(ScriptProvenance self, Particle d) -> bool
15953  """
15954  return _IMP_core.ScriptProvenance___eq__(self, *args)
15955 
15956  def __ne__(self, *args):
15957  r"""
15958  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15959  __ne__(ScriptProvenance self, Particle d) -> bool
15960  """
15961  return _IMP_core.ScriptProvenance___ne__(self, *args)
15962 
15963  def __le__(self, *args):
15964  r"""
15965  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15966  __le__(ScriptProvenance self, Particle d) -> bool
15967  """
15968  return _IMP_core.ScriptProvenance___le__(self, *args)
15969 
15970  def __lt__(self, *args):
15971  r"""
15972  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15973  __lt__(ScriptProvenance self, Particle d) -> bool
15974  """
15975  return _IMP_core.ScriptProvenance___lt__(self, *args)
15976 
15977  def __ge__(self, *args):
15978  r"""
15979  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15980  __ge__(ScriptProvenance self, Particle d) -> bool
15981  """
15982  return _IMP_core.ScriptProvenance___ge__(self, *args)
15983 
15984  def __gt__(self, *args):
15985  r"""
15986  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15987  __gt__(ScriptProvenance self, Particle d) -> bool
15988  """
15989  return _IMP_core.ScriptProvenance___gt__(self, *args)
15990 
15991  def __hash__(self):
15992  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15993  return _IMP_core.ScriptProvenance___hash__(self)
15994 
15995  def __str__(self):
15996  r"""__str__(ScriptProvenance self) -> std::string"""
15997  return _IMP_core.ScriptProvenance___str__(self)
15998 
15999  def __repr__(self):
16000  r"""__repr__(ScriptProvenance self) -> std::string"""
16001  return _IMP_core.ScriptProvenance___repr__(self)
16002 
16003  def _get_as_binary(self):
16004  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
16005  return _IMP_core.ScriptProvenance__get_as_binary(self)
16006 
16007  def _set_from_binary(self, p):
16008  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
16009  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
16010 
16011  def __getstate__(self):
16012  p = self._get_as_binary()
16013  if len(self.__dict__) > 1:
16014  d = self.__dict__.copy()
16015  del d['this']
16016  p = (d, p)
16017  return p
16018 
16019  def __setstate__(self, p):
16020  if not hasattr(self, 'this'):
16021  self.__init__()
16022  if isinstance(p, tuple):
16023  d, p = p
16024  self.__dict__.update(d)
16025  return self._set_from_binary(p)
16026 
16027  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
16028 
16029 # Register ScriptProvenance in _IMP_core:
16030 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
16031 class SoftwareProvenance(Provenance):
16032  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
16033 
16034  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16035 
16036  def set_software_name(self, name):
16037  r"""set_software_name(SoftwareProvenance self, std::string name)"""
16038  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
16039 
16040  def get_software_name(self):
16041  r"""get_software_name(SoftwareProvenance self) -> std::string"""
16042  return _IMP_core.SoftwareProvenance_get_software_name(self)
16043 
16044  def set_version(self, version):
16045  r"""set_version(SoftwareProvenance self, std::string version)"""
16046  return _IMP_core.SoftwareProvenance_set_version(self, version)
16047 
16048  def get_version(self):
16049  r"""get_version(SoftwareProvenance self) -> std::string"""
16050  return _IMP_core.SoftwareProvenance_get_version(self)
16051 
16052  def set_location(self, location):
16053  r"""set_location(SoftwareProvenance self, std::string location)"""
16054  return _IMP_core.SoftwareProvenance_set_location(self, location)
16055 
16056  def get_location(self):
16057  r"""get_location(SoftwareProvenance self) -> std::string"""
16058  return _IMP_core.SoftwareProvenance_get_location(self)
16059 
16060  def __init__(self, *args):
16061  r"""
16062  __init__(SoftwareProvenance self) -> SoftwareProvenance
16063  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
16064  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
16065  """
16066  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
16067 
16068  @staticmethod
16069  def get_is_setup(*args):
16070  r"""
16071  get_is_setup(Model m, ParticleIndex pi) -> bool
16072  get_is_setup(_ParticleAdaptor p) -> bool
16073  """
16074  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
16075 
16076  def show(self, *args):
16077  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
16078  return _IMP_core.SoftwareProvenance_show(self, *args)
16079 
16080  @staticmethod
16081  def setup_particle(*args):
16082  r"""
16083  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
16084  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
16085  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
16086  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
16087  """
16088  return _IMP_core.SoftwareProvenance_setup_particle(*args)
16089 
16090  def add_attribute(self, *args):
16091  r"""
16092  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
16093  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16094  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16095  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16096  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16097  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
16098  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16099  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
16100  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16101  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16102  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16103  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16104  """
16105  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
16106 
16107  def get_value(self, *args):
16108  r"""
16109  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16110  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16111  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16112  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16113  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16114  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16115  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16116  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16117  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16118  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16119  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16120  """
16121  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16122 
16123  def set_value(self, *args):
16124  r"""
16125  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16126  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16127  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16128  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16129  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16130  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16131  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16132  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16133  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16134  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16135  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16136  """
16137  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16138 
16139  def remove_attribute(self, *args):
16140  r"""
16141  remove_attribute(SoftwareProvenance self, FloatKey a0)
16142  remove_attribute(SoftwareProvenance self, IntKey a0)
16143  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16144  remove_attribute(SoftwareProvenance self, IntsKey a0)
16145  remove_attribute(SoftwareProvenance self, StringKey a0)
16146  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16147  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16148  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16149  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16150  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16151  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16152  """
16153  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16154 
16155  def has_attribute(self, *args):
16156  r"""
16157  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16158  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16159  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16160  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16161  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16162  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16163  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16164  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16165  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16166  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16167  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16168  """
16169  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16170 
16171  def get_derivative(self, a0):
16172  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16173  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16174 
16175  def get_name(self):
16176  r"""get_name(SoftwareProvenance self) -> std::string"""
16177  return _IMP_core.SoftwareProvenance_get_name(self)
16178 
16179  def clear_caches(self):
16180  r"""clear_caches(SoftwareProvenance self)"""
16181  return _IMP_core.SoftwareProvenance_clear_caches(self)
16182 
16183  def set_name(self, a0):
16184  r"""set_name(SoftwareProvenance self, std::string a0)"""
16185  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16186 
16187  def set_check_level(self, a0):
16188  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16189  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16190 
16191  def add_to_derivative(self, a0, a1, a2):
16192  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16193  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16194 
16195  def set_is_optimized(self, a0, a1):
16196  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16197  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16198 
16199  def get_is_optimized(self, a0):
16200  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16201  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16202 
16203  def get_check_level(self):
16204  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16205  return _IMP_core.SoftwareProvenance_get_check_level(self)
16206 
16207  def __eq__(self, *args):
16208  r"""
16209  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16210  __eq__(SoftwareProvenance self, Particle d) -> bool
16211  """
16212  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16213 
16214  def __ne__(self, *args):
16215  r"""
16216  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16217  __ne__(SoftwareProvenance self, Particle d) -> bool
16218  """
16219  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16220 
16221  def __le__(self, *args):
16222  r"""
16223  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16224  __le__(SoftwareProvenance self, Particle d) -> bool
16225  """
16226  return _IMP_core.SoftwareProvenance___le__(self, *args)
16227 
16228  def __lt__(self, *args):
16229  r"""
16230  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16231  __lt__(SoftwareProvenance self, Particle d) -> bool
16232  """
16233  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16234 
16235  def __ge__(self, *args):
16236  r"""
16237  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16238  __ge__(SoftwareProvenance self, Particle d) -> bool
16239  """
16240  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16241 
16242  def __gt__(self, *args):
16243  r"""
16244  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16245  __gt__(SoftwareProvenance self, Particle d) -> bool
16246  """
16247  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16248 
16249  def __hash__(self):
16250  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16251  return _IMP_core.SoftwareProvenance___hash__(self)
16252 
16253  def __str__(self):
16254  r"""__str__(SoftwareProvenance self) -> std::string"""
16255  return _IMP_core.SoftwareProvenance___str__(self)
16256 
16257  def __repr__(self):
16258  r"""__repr__(SoftwareProvenance self) -> std::string"""
16259  return _IMP_core.SoftwareProvenance___repr__(self)
16260 
16261  def _get_as_binary(self):
16262  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16263  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16264 
16265  def _set_from_binary(self, p):
16266  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16267  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16268 
16269  def __getstate__(self):
16270  p = self._get_as_binary()
16271  if len(self.__dict__) > 1:
16272  d = self.__dict__.copy()
16273  del d['this']
16274  p = (d, p)
16275  return p
16276 
16277  def __setstate__(self, p):
16278  if not hasattr(self, 'this'):
16279  self.__init__()
16280  if isinstance(p, tuple):
16281  d, p = p
16282  self.__dict__.update(d)
16283  return self._set_from_binary(p)
16284 
16285  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16286 
16287 # Register SoftwareProvenance in _IMP_core:
16288 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16289 class Provenanced(IMP.Decorator):
16290  r"""Proxy of C++ IMP::core::Provenanced class."""
16291 
16292  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16293 
16294  def get_provenance(self):
16295  r"""get_provenance(Provenanced self) -> Provenance"""
16296  return _IMP_core.Provenanced_get_provenance(self)
16297 
16298  def set_provenance(self, p):
16299  r"""set_provenance(Provenanced self, Provenance p)"""
16300  return _IMP_core.Provenanced_set_provenance(self, p)
16301 
16302  def __init__(self, *args):
16303  r"""
16304  __init__(Provenanced self) -> Provenanced
16305  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16306  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16307  """
16308  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16309 
16310  @staticmethod
16311  def get_is_setup(*args):
16312  r"""
16313  get_is_setup(Model m, ParticleIndex pi) -> bool
16314  get_is_setup(_ParticleAdaptor p) -> bool
16315  """
16316  return _IMP_core.Provenanced_get_is_setup(*args)
16317 
16318  def show(self, *args):
16319  r"""show(Provenanced self, _ostream out=std::cout)"""
16320  return _IMP_core.Provenanced_show(self, *args)
16321 
16322  @staticmethod
16323  def setup_particle(*args):
16324  r"""
16325  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16326  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16327  """
16328  return _IMP_core.Provenanced_setup_particle(*args)
16329 
16330  def add_attribute(self, *args):
16331  r"""
16332  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16333  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16334  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16335  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16336  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16337  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16338  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16339  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16340  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16341  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16342  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16343  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16344  """
16345  return _IMP_core.Provenanced_add_attribute(self, *args)
16346 
16347  def get_value(self, *args):
16348  r"""
16349  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16350  get_value(Provenanced self, IntKey a0) -> IMP::Int
16351  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16352  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16353  get_value(Provenanced self, StringKey a0) -> IMP::String
16354  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16355  get_value(Provenanced self, ObjectKey a0) -> Object
16356  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16357  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16358  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16359  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16360  """
16361  return _IMP_core.Provenanced_get_value(self, *args)
16362 
16363  def set_value(self, *args):
16364  r"""
16365  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16366  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16367  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16368  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16369  set_value(Provenanced self, StringKey a0, IMP::String a1)
16370  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16371  set_value(Provenanced self, ObjectKey a0, Object a1)
16372  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16373  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16374  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16375  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16376  """
16377  return _IMP_core.Provenanced_set_value(self, *args)
16378 
16379  def remove_attribute(self, *args):
16380  r"""
16381  remove_attribute(Provenanced self, FloatKey a0)
16382  remove_attribute(Provenanced self, IntKey a0)
16383  remove_attribute(Provenanced self, FloatsKey a0)
16384  remove_attribute(Provenanced self, IntsKey a0)
16385  remove_attribute(Provenanced self, StringKey a0)
16386  remove_attribute(Provenanced self, ParticleIndexKey a0)
16387  remove_attribute(Provenanced self, ObjectKey a0)
16388  remove_attribute(Provenanced self, SparseFloatKey a0)
16389  remove_attribute(Provenanced self, SparseIntKey a0)
16390  remove_attribute(Provenanced self, SparseStringKey a0)
16391  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16392  """
16393  return _IMP_core.Provenanced_remove_attribute(self, *args)
16394 
16395  def has_attribute(self, *args):
16396  r"""
16397  has_attribute(Provenanced self, FloatKey a0) -> bool
16398  has_attribute(Provenanced self, IntKey a0) -> bool
16399  has_attribute(Provenanced self, FloatsKey a0) -> bool
16400  has_attribute(Provenanced self, IntsKey a0) -> bool
16401  has_attribute(Provenanced self, StringKey a0) -> bool
16402  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16403  has_attribute(Provenanced self, ObjectKey a0) -> bool
16404  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16405  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16406  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16407  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16408  """
16409  return _IMP_core.Provenanced_has_attribute(self, *args)
16410 
16411  def get_derivative(self, a0):
16412  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16413  return _IMP_core.Provenanced_get_derivative(self, a0)
16414 
16415  def get_name(self):
16416  r"""get_name(Provenanced self) -> std::string"""
16417  return _IMP_core.Provenanced_get_name(self)
16418 
16419  def clear_caches(self):
16420  r"""clear_caches(Provenanced self)"""
16421  return _IMP_core.Provenanced_clear_caches(self)
16422 
16423  def set_name(self, a0):
16424  r"""set_name(Provenanced self, std::string a0)"""
16425  return _IMP_core.Provenanced_set_name(self, a0)
16426 
16427  def set_check_level(self, a0):
16428  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16429  return _IMP_core.Provenanced_set_check_level(self, a0)
16430 
16431  def add_to_derivative(self, a0, a1, a2):
16432  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16433  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16434 
16435  def set_is_optimized(self, a0, a1):
16436  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16437  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16438 
16439  def get_is_optimized(self, a0):
16440  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16441  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16442 
16443  def get_check_level(self):
16444  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16445  return _IMP_core.Provenanced_get_check_level(self)
16446 
16447  def __eq__(self, *args):
16448  r"""
16449  __eq__(Provenanced self, Provenanced o) -> bool
16450  __eq__(Provenanced self, Particle d) -> bool
16451  """
16452  return _IMP_core.Provenanced___eq__(self, *args)
16453 
16454  def __ne__(self, *args):
16455  r"""
16456  __ne__(Provenanced self, Provenanced o) -> bool
16457  __ne__(Provenanced self, Particle d) -> bool
16458  """
16459  return _IMP_core.Provenanced___ne__(self, *args)
16460 
16461  def __le__(self, *args):
16462  r"""
16463  __le__(Provenanced self, Provenanced o) -> bool
16464  __le__(Provenanced self, Particle d) -> bool
16465  """
16466  return _IMP_core.Provenanced___le__(self, *args)
16467 
16468  def __lt__(self, *args):
16469  r"""
16470  __lt__(Provenanced self, Provenanced o) -> bool
16471  __lt__(Provenanced self, Particle d) -> bool
16472  """
16473  return _IMP_core.Provenanced___lt__(self, *args)
16474 
16475  def __ge__(self, *args):
16476  r"""
16477  __ge__(Provenanced self, Provenanced o) -> bool
16478  __ge__(Provenanced self, Particle d) -> bool
16479  """
16480  return _IMP_core.Provenanced___ge__(self, *args)
16481 
16482  def __gt__(self, *args):
16483  r"""
16484  __gt__(Provenanced self, Provenanced o) -> bool
16485  __gt__(Provenanced self, Particle d) -> bool
16486  """
16487  return _IMP_core.Provenanced___gt__(self, *args)
16488 
16489  def __hash__(self):
16490  r"""__hash__(Provenanced self) -> std::size_t"""
16491  return _IMP_core.Provenanced___hash__(self)
16492 
16493  def __str__(self):
16494  r"""__str__(Provenanced self) -> std::string"""
16495  return _IMP_core.Provenanced___str__(self)
16496 
16497  def __repr__(self):
16498  r"""__repr__(Provenanced self) -> std::string"""
16499  return _IMP_core.Provenanced___repr__(self)
16500 
16501  def _get_as_binary(self):
16502  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16503  return _IMP_core.Provenanced__get_as_binary(self)
16504 
16505  def _set_from_binary(self, p):
16506  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16507  return _IMP_core.Provenanced__set_from_binary(self, p)
16508 
16509  def __getstate__(self):
16510  p = self._get_as_binary()
16511  if len(self.__dict__) > 1:
16512  d = self.__dict__.copy()
16513  del d['this']
16514  p = (d, p)
16515  return p
16516 
16517  def __setstate__(self, p):
16518  if not hasattr(self, 'this'):
16519  self.__init__()
16520  if isinstance(p, tuple):
16521  d, p = p
16522  self.__dict__.update(d)
16523  return self._set_from_binary(p)
16524 
16525  __swig_destroy__ = _IMP_core.delete_Provenanced
16526 
16527 # Register Provenanced in _IMP_core:
16528 _IMP_core.Provenanced_swigregister(Provenanced)
16529 
16530 def add_provenance(m, pi, p):
16531  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16532  return _IMP_core.add_provenance(m, pi, p)
16533 
16534 def create_clone(p):
16535  r"""create_clone(Provenance p) -> Provenance"""
16536  return _IMP_core.create_clone(p)
16537 
16539  r"""
16540  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16541  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & b) -> Transformation3D
16542  get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16543  """
16544  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16545 
16546 def create_restraint(ps, pp):
16547  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16548  return _IMP_core.create_restraint(ps, pp)
16550  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16551 
16552  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16553 
16554  def __init__(self, *args):
16555  r"""
16556  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16557  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16558  """
16559  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16560 
16561  def get_version_info(self):
16562  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16563  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16564  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16565 
16566  def __str__(self):
16567  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16568  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16569 
16570  def __repr__(self):
16571  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16572  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16573 
16574  @staticmethod
16575  def get_from(o):
16576  return _object_cast_to_TruncatedHarmonic(o)
16577 
16578 
16579 # Register TruncatedHarmonicLowerBound in _IMP_core:
16580 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16582  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16583 
16584  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16585 
16586  def __init__(self, *args):
16587  r"""
16588  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16589  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16590  """
16591  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16592 
16593  def get_version_info(self):
16594  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16595  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16596  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16597 
16598  def __str__(self):
16599  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16600  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16601 
16602  def __repr__(self):
16603  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16604  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16605 
16606  @staticmethod
16607  def get_from(o):
16608  return _object_cast_to_TruncatedHarmonic(o)
16609 
16610 
16611 # Register TruncatedHarmonicUpperBound in _IMP_core:
16612 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16614  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16615 
16616  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16617 
16618  def __init__(self, *args):
16619  r"""
16620  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16621  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16622  """
16623  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16624 
16625  def get_version_info(self):
16626  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16627  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16628  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16629 
16630  def __str__(self):
16631  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16632  return _IMP_core.TruncatedHarmonicBound___str__(self)
16633 
16634  def __repr__(self):
16635  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16636  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16637 
16638  @staticmethod
16639  def get_from(o):
16640  return _object_cast_to_TruncatedHarmonic(o)
16641 
16642 
16643 # Register TruncatedHarmonicBound in _IMP_core:
16644 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16645 class ParticleType(IMP._Value):
16646  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16647 
16648  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16649 
16650  def __init__(self, *args):
16651  r"""
16652  __init__(ParticleType self) -> ParticleType
16653  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16654  __init__(ParticleType self, unsigned int i) -> ParticleType
16655  """
16656  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16657 
16658  @staticmethod
16659  def add_key(sc):
16660  r"""add_key(std::string sc) -> unsigned int"""
16661  return _IMP_core.ParticleType_add_key(sc)
16662 
16663  @staticmethod
16664  def get_key_exists(sc):
16665  r"""get_key_exists(std::string sc) -> bool"""
16666  return _IMP_core.ParticleType_get_key_exists(sc)
16667 
16668  def get_string(self):
16669  r"""get_string(ParticleType self) -> std::string const"""
16670  return _IMP_core.ParticleType_get_string(self)
16671 
16672  def __cmp__(self, o):
16673  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16674  return _IMP_core.ParticleType___cmp__(self, o)
16675 
16676  def __eq__(self, o):
16677  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16678  return _IMP_core.ParticleType___eq__(self, o)
16679 
16680  def __ne__(self, o):
16681  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16682  return _IMP_core.ParticleType___ne__(self, o)
16683 
16684  def __lt__(self, o):
16685  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16686  return _IMP_core.ParticleType___lt__(self, o)
16687 
16688  def __gt__(self, o):
16689  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16690  return _IMP_core.ParticleType___gt__(self, o)
16691 
16692  def __ge__(self, o):
16693  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16694  return _IMP_core.ParticleType___ge__(self, o)
16695 
16696  def __le__(self, o):
16697  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16698  return _IMP_core.ParticleType___le__(self, o)
16699 
16700  def __hash__(self):
16701  r"""__hash__(ParticleType self) -> std::size_t"""
16702  return _IMP_core.ParticleType___hash__(self)
16703 
16704  def show(self, *args):
16705  r"""show(ParticleType self, _ostream out=std::cout)"""
16706  return _IMP_core.ParticleType_show(self, *args)
16707 
16708  @staticmethod
16709  def add_alias(old_key, new_name):
16710  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16711  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16712 
16713  @staticmethod
16714  def get_number_of_keys():
16715  r"""get_number_of_keys() -> unsigned int"""
16716  return _IMP_core.ParticleType_get_number_of_keys()
16717 
16718  def get_index(self):
16719  r"""get_index(ParticleType self) -> unsigned int"""
16720  return _IMP_core.ParticleType_get_index(self)
16721 
16722  @staticmethod
16723  def show_all(out):
16724  r"""show_all(_ostream out)"""
16725  return _IMP_core.ParticleType_show_all(out)
16726 
16727  @staticmethod
16728  def get_all_strings():
16729  r"""get_all_strings() -> IMP::Vector< std::string >"""
16730  return _IMP_core.ParticleType_get_all_strings()
16731 
16732  @staticmethod
16733  def get_number_unique():
16734  r"""get_number_unique() -> unsigned int"""
16735  return _IMP_core.ParticleType_get_number_unique()
16736 
16737  def __str__(self):
16738  r"""__str__(ParticleType self) -> std::string"""
16739  return _IMP_core.ParticleType___str__(self)
16740 
16741  def __repr__(self):
16742  r"""__repr__(ParticleType self) -> std::string"""
16743  return _IMP_core.ParticleType___repr__(self)
16744  __swig_destroy__ = _IMP_core.delete_ParticleType
16745 
16746 # Register ParticleType in _IMP_core:
16747 _IMP_core.ParticleType_swigregister(ParticleType)
16749  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16750 
16751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16752  __repr__ = _swig_repr
16753 
16754  def __init__(self, f, k):
16755  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16756  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16757 
16758  def do_get_inputs(self, m, pis):
16759  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16760  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16761 
16762  def get_unary_function(self):
16763  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16764  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16765 
16766  def get_key(self):
16767  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16768  return _IMP_core.AttributeSingletonScore_get_key(self)
16769 
16770  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16771  r"""evaluate_indexes(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16772  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16773 
16774  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16775  r"""evaluate_indexes_scores(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16776  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16777 
16778  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16779  r"""evaluate_indexes_delta(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16780  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16781 
16782  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16783  r"""evaluate_if_good_indexes(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16784  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16785 
16786  def get_version_info(self):
16787  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16788  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16789  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16790 
16791  @staticmethod
16792  def get_from(o):
16793  return _object_cast_to_AttributeSingletonScore(o)
16794 
16795 
16796  def _get_jax(self, m, indexes):
16797  def score_float_key(jm, key, uf):
16798  return uf(jm[key][indexes])
16799 
16800  def score_xyz_key(jm, xyz_index, uf):
16801  return uf(jm['xyz'][indexes, xyz_index])
16802 
16803  uf = self.get_unary_function().get_derived_object()._get_jax()
16804  key = self.get_key()
16805  # First 7 FloatKeys are reserved in IMP and have to be handled
16806  # specially
16807  if key.get_index() >= 7:
16808  need_keys = [key]
16809  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16810  elif key == XYZR.get_radius_key():
16811  need_keys = [] # We already have the radius in the JAX model
16812  f = functools.partial(score_float_key, key='r', uf=uf)
16813  elif key in XYZ.get_xyz_keys():
16814  need_keys = [] # We already have coordinates in the JAX model
16815  xyz_index = XYZ.get_xyz_keys().index(key)
16816  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16817  else:
16818  raise NotImplementedError("No support for key %s" % key)
16819  return self._wrap_jax(m, f, keys=need_keys)
16820 
16821 
16822 # Register AttributeSingletonScore in _IMP_core:
16823 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16824 
16826  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16827  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16829  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16830 
16831  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16832  __repr__ = _swig_repr
16833 
16834  def __init__(self, f, bb):
16835  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16836  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16837 
16838  def get_unary_function(self):
16839  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16840  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16841 
16842  def get_bounding_box(self):
16843  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16844  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16845 
16846  def do_get_inputs(self, m, pis):
16847  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16848  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16849 
16850  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16851  r"""evaluate_indexes(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16852  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16853 
16854  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16855  r"""evaluate_indexes_scores(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16856  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16857 
16858  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16859  r"""evaluate_indexes_delta(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16860  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16861 
16862  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16863  r"""evaluate_if_good_indexes(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16864  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16865 
16866  def get_version_info(self):
16867  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16868  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16869  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16870 
16871  @staticmethod
16872  def get_from(o):
16873  return _object_cast_to_BoundingBox3DSingletonScore(o)
16874 
16875 
16876  def _get_jax(self, m, indexes):
16877  import jax.numpy as jnp
16878  def score(jm, box_min, box_max, uf):
16879  xyzs = jm['xyz'][indexes]
16880  # This calculates the distance and the score for every point,
16881  # even those inside the box. IMP just returns zero for points
16882  # inside the box, skipping the distance calculation.
16883  # The implementation here is *probably* faster on a GPU since
16884  # we reduce the use of conditionals, and JAX will likely skip
16885  # the sqrt if uf is a harmonic, but this should be benchmarked.
16886  drs = jnp.linalg.norm(
16887  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16888  return uf(drs)
16889  uf = self.get_unary_function().get_derived_object()
16890  bb = self.get_bounding_box()
16891  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16892  box_max=jnp.asarray(bb.get_corner(1)),
16893  uf=uf._get_jax())
16894  return self._wrap_jax(m, f)
16895 
16896 
16897 # Register BoundingBox3DSingletonScore in _IMP_core:
16898 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16899 
16900 def create_bounding_box_3d_singleton_score(f, bb):
16901  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16902  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16904  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16905 
16906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16907  __repr__ = _swig_repr
16908 
16909  def __init__(self, f, sphere):
16910  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16911  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16912 
16913  def do_get_inputs(self, m, pis):
16914  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16915  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16916 
16917  def get_unary_function(self):
16918  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
16919  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
16920 
16921  def get_sphere(self):
16922  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
16923  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
16924 
16925  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16926  r"""evaluate_indexes(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16927  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16928 
16929  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16930  r"""evaluate_indexes_scores(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16931  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16932 
16933  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16934  r"""evaluate_indexes_delta(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
16935  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16936 
16937  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16938  r"""evaluate_if_good_indexes(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
16939  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16940 
16941  def get_version_info(self):
16942  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16943  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16944  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16945 
16946  @staticmethod
16947  def get_from(o):
16948  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16949 
16950 
16951  def _get_jax(self, m, indexes):
16952  import jax.numpy as jnp
16953  import jax.lax
16954  def score_with_radius(jm, inds, center, radius):
16955  xyzs = jm['xyz'][inds]
16956  radii = jm['r'][inds]
16957  drs = jnp.linalg.norm(xyzs - center) + radii - radius
16958  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16959  def score_without_radius(jm, inds, center, radius):
16960  xyzs = jm['xyz'][inds]
16961  drs = jnp.linalg.norm(xyzs - center) - radius
16962  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
16963  without_radii_inds = []
16964  with_radii_inds = []
16965  for ind in indexes:
16966  if XYZR.get_is_setup(m, ind):
16967  with_radii_inds.append(ind)
16968  else:
16969  without_radii_inds.append(ind)
16970  without_radii_inds = jnp.asarray(without_radii_inds)
16971  with_radii_inds = jnp.asarray(with_radii_inds)
16972  uf = self.get_unary_function().get_derived_object()._get_jax()
16973  sphere = self.get_sphere()
16974  radius = sphere.get_radius()
16975  center = jnp.asarray(sphere.get_center())
16976  def score(jm):
16977  s = 0.
16978  if without_radii_inds.size > 0:
16979  s += score_without_radius(jm, without_radii_inds,
16980  center, radius)
16981  if with_radii_inds.size > 0:
16982  s += score_with_radius(jm, with_radii_inds, center, radius)
16983  return s
16984  return self._wrap_jax(m, score)
16985 
16986 
16987 # Register BoundingSphere3DSingletonScore in _IMP_core:
16988 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16989 
16990 def create_bounding_sphere_3d_singleton_score(f, sphere):
16991  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16992  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16994  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16995 
16996  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16997  __repr__ = _swig_repr
16998 
16999  def __init__(self, *args):
17000  r"""
17001  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
17002  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
17003  """
17004  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
17005 
17006  def do_get_inputs(self, m, pis):
17007  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
17008  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
17009 
17010  def get_unary_function(self):
17011  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
17012  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
17013 
17014  def get_point(self):
17015  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
17016  return _IMP_core.DistanceToSingletonScore_get_point(self)
17017 
17018  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17019  r"""evaluate_indexes(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
17020  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17021 
17022  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17023  r"""evaluate_indexes_scores(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
17024  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17025 
17026  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17027  r"""evaluate_indexes_delta(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
17028  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17029 
17030  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17031  r"""evaluate_if_good_indexes(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
17032  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17033 
17034  def get_version_info(self):
17035  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
17036  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
17037  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
17038 
17039  @staticmethod
17040  def get_from(o):
17041  return _object_cast_to_DistanceToSingletonScore(o)
17042 
17043 
17044  def _get_as_binary(self):
17045  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
17046  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
17047 
17048  def _set_from_binary(self, p):
17049  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
17050  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
17051 
17052  def __getstate__(self):
17053  p = self._get_as_binary()
17054  if len(self.__dict__) > 1:
17055  d = self.__dict__.copy()
17056  del d['this']
17057  p = (d, p)
17058  return p
17059 
17060  def __setstate__(self, p):
17061  if not hasattr(self, 'this'):
17062  self.__init__()
17063  if isinstance(p, tuple):
17064  d, p = p
17065  self.__dict__.update(d)
17066  return self._set_from_binary(p)
17067 
17068 
17069  def _get_jax(self, m, indexes):
17070  import jax.numpy as jnp
17071  def score(jm, point, uf):
17072  xyzs = jm['xyz'][indexes]
17073  drs = jnp.linalg.norm(xyzs - point, axis=1)
17074  return uf(drs)
17075  uf = self.get_unary_function().get_derived_object()
17076  f = functools.partial(score, point=jnp.array(self.get_point()),
17077  uf=uf._get_jax())
17078  return self._wrap_jax(m, f)
17079 
17080 
17081 # Register DistanceToSingletonScore in _IMP_core:
17082 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
17083 
17084 def create_distance_to_singleton_score(f, pt):
17085  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
17086  return _IMP_core.create_distance_to_singleton_score(f, pt)
17087 
17088 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
17089  def __init__(self, uf):
17090  if isinstance(uf, HarmonicUpperBound):
17091  p = HarmonicUpperBoundSphereDistancePairScore(
17092  uf.get_mean(), uf.get_k())
17093  elif isinstance(uf, HarmonicLowerBound):
17094  if uf.get_mean() == 0.0:
17095  p = SoftSpherePairScore(uf.get_k())
17096  else:
17097  p = _SphereDistancePairScore(uf)
17098  elif isinstance(uf, Harmonic):
17099  p = HarmonicSphereDistancePairScore(
17100  uf.get_mean(), uf.get_k())
17101  else:
17102  p = _SphereDistancePairScore(uf)
17103  self.__dict__['_proxied'] = p
17104  def __getattr__(self, key):
17105  return getattr(self._proxied, key)
17106  def __setattr__(self, key, val):
17107  return setattr(self._proxied, key, val)
17108 
17109  def __getstate__(self):
17110  return self.__dict__['_proxied']
17111 
17112  def __setstate__(self, p):
17113  self.__dict__['_proxied'] = p
17114 
17115  def _get_jax(self, *args, **kwargs):
17116  return self._proxied._get_jax(*args, **kwargs)
17117 
17118  @staticmethod
17119  def get_from(o):
17120  try:
17121  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17122  except ValueError:
17123  try:
17124  p = HarmonicSphereDistancePairScore.get_from(o)
17125  except ValueError:
17126  try:
17127  p = SoftSpherePairScore.get_from(o)
17128  except ValueError:
17129  p = _SphereDistancePairScore.get_from(o)
17130  obj = object.__new__(SphereDistancePairScore)
17131  obj.__dict__['_proxied'] = p
17132  return obj
17133 
17134 
17135 
17136 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17137  CombineProvenance, FilterProvenance,
17138  ClusterProvenance, ScriptProvenance,
17139  SoftwareProvenance]):
17140  """Yield all provenance decorators of the given types for the particle.
17141  By default, all provenance types are returned. Provenance is returned
17142  in order, most recent first. If the particle has no provenance
17143  information, an empty generator is returned."""
17144  if Provenanced.get_is_setup(p):
17145  prov = Provenanced(p).get_provenance()
17146  while prov:
17147  for c in types:
17148  if c.get_is_setup(prov):
17149  yield c(prov)
17150  prov = prov.get_previous()
17151 
17153  """Tag the given particle with the current Python script.
17154  This is a noop if the particle is already so tagged."""
17155  main = sys.modules['__main__']
17156 # Can't do anything if running from an interactive interpreter
17157  if not hasattr(main, '__file__'):
17158  return
17159  f = IMP.get_absolute_path(main.__file__)
17160  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17161  if prov.get_filename() == f:
17162  return
17163  m = p.get_model()
17164  provp = IMP.Particle(m)
17165  provp.set_name('script')
17166  prov = ScriptProvenance.setup_particle(provp, f)
17167  add_provenance(m, p, prov)
17168 
17169 def add_software_provenance(p, name, version, location):
17170  """Tag the given particle with the software used to create it.
17171  This is a noop if the particle is already so tagged."""
17172  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17173  if prov.get_software_name() == name and prov.get_version() == version \
17174  and prov.get_location() == location:
17175  return
17176  m = p.get_model()
17177  provp = IMP.Particle(m)
17178  provp.set_name('software')
17179  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17180  add_provenance(m, p, prov)
17181 
17183  """Tag the given particle as being created by the current version of IMP."""
17184  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17185  version=IMP.get_module_version(),
17186  location="https://integrativemodeling.org")
17187 
17188 
17189 def get_module_name():
17190  r"""get_module_name() -> std::string const"""
17191  return _IMP_core.get_module_name()
17192 
17193 def get_module_version():
17194  r"""get_module_version() -> std::string const"""
17195  return _IMP_core.get_module_version()
17196 
17197 def get_example_path(fname):
17198  r"""get_example_path(std::string fname) -> std::string"""
17199  return _IMP_core.get_example_path(fname)
17200 
17201 def get_data_path(fname):
17202  r"""get_data_path(std::string fname) -> std::string"""
17203  return _IMP_core.get_data_path(fname)
17204 
17205 from . import _version_check
17206 _version_check.check_version(get_module_version())
17207 __version__ = get_module_version()
17208 
17209 
F visit_breadth_first(HD d, F f)
Apply the visitor to each particle, breadth first.
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
GenericDistanceToSingletonScore< UnaryFunction > DistanceToSingletonScore
Rotation3D get_rotation_about_normalized_axis(const Vector3D &axis_norm, double angle)
Definition: Rotation3D.h:391
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Definition: Surface.h:129
algebra::Transformation3D get_transformation_aligning_first_to_second(XYZsOrVector3ds a, XYZsOrVector3ds b)
double get_mean(const cv::Mat &mat, const cvIntMat &mask)
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
def add_script_provenance
Tag the given particle with the current Python script.
GenericBoundingSphere3DSingletonScore< UnaryFunction > BoundingSphere3DSingletonScore
Abstract predicate function.
Definition: QuadPredicate.h:31
Restraint * create_restraint(Score *s, const typename Score::Argument &t, std::string name=std::string())
Definition: generic.h:36
ParticleIndex get_root_rigid_body(RigidMember m)
Return the index of the outer-most rigid body containing the member.
algebra::ReferenceFrame3D get_initial_reference_frame(Model *m, const ParticleIndexes &pis)
The base class for geometry.
F visit_depth_first(HD d, F &f)
Apply functor F to each particle, traversing the hierarchy depth first.
XYZRs create_xyzr_particles(Model *m, unsigned int num, Float radius, Float box_side=10)
Create a set of particles with random coordinates.
A base class for geometry contained in particles.
double get_angle(Direction a, Direction b)
Get angle between directions.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
Make CGAL functionality available to IMP.
Provenance create_clone(Provenance p)
Clone provenance (including previous provenance)
ParticlesTemp create_rigid_bodies(Model *m, unsigned int n, bool no_members=false)
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
void add_rigid_body_cache_key(ObjectKey k)
Base class for all samplers.
Definition: Sampler.h:31
Key< 34897493 > ParticleType
An IMP::Key object for identifying types of particles by strings.
Definition: Typed.h:28
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid.
void add_particle(RMF::FileHandle fh, Particle *hs)
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
static FloatKeys get_internal_coordinate_keys()
Definition: rigid_bodies.h:730
Composable functors to implement scores via compile-time composition.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
GenericHierarchies get_all_descendants(Hierarchy mhd)
Get all the particles in the subtree.
A base class for geometry from a set of particles.
def add_imp_provenance
Tag the given particle as being created by the current version of IMP.
display::Geometries create_blame_geometries(const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
void show_rigid_body_hierarchy(RigidBody rb, TextOutput out=TextOutput(std::cout))
Implement a constraint on the Model.
Definition: Constraint.h:49
void add_restraint(RMF::FileHandle fh, Restraint *hs)
def add_software_provenance
Tag the given particle with the software used to create it.
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
Abstract predicate function.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
int get_number_of_frames(const ::npctransport_proto::Assignment &config, double time_step)
Abstract class for scoring object(s) of type ParticleIndex.
ScoreStates maintain invariants in the Model.
Definition: ScoreState.h:56
Base class for all optimizers.
Definition: Optimizer.h:48
GenericAttributeSingletonScore< UnaryFunction > AttributeSingletonScore
SurfaceGeometry * create_geometry(const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
Create a geometry from a Surface.
Definition: Surface.h:191
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
algebra::BoundingBoxD< 3 > get_bounding_box(const XYZRs &ps)
Get the bounding box.
const algebra::Vector3D & get_vector_geometry(XYZ d)
Definition: XYZ.h:135
GenericHierarchies get_internal(Hierarchy mhd)
Get all the non-leaves of the bit of hierarchy.
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
std::string get_absolute_path(std::string file)
Convert a possibly relative path to an absolute path.
algebra::Sphere3D get_enclosing_sphere(const XYZs &v)
Get a sphere enclosing the set of XYZRs.
Base class for optimizers that act on individual attributes.
SurfaceGeometry * get_constrained_surface_geometry(const Surface s, std::string name="SurfaceGeometry%1%")
Get surface geometry constrained to the surface.
Definition: Surface.h:236
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Represents a scoring function on the model.
void set_vector_geometry(XYZ d, const algebra::Vector3D &v)
Definition: XYZ.h:131
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract predicate function.
GenericBoundingBox3DSingletonScore< UnaryFunction > BoundingBox3DSingletonScore
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
double get_depth(const Surface &s, const XYZR &d)
Get depth of sphere below surface.
Definition: Surface.h:143
void set_enclosing_radius(XYZR b, const XYZs &v)
Set the radius of the first to enclose the list.
Class to handle individual particles of a Model object.
Definition: Particle.h:45
GenericAttributeSingletonScore< UF > * create_generic_attribute_singleton_score(UF *uf, FloatKey k)
void transform(RigidBody a, const algebra::Transformation3D &tr)
Transform a rigid body.
Definition: rigid_bodies.h:885
void assign_blame(const RestraintsTemp &rs, const ParticlesTemp &ps, FloatKey attribute)
std::string get_module_version()
Return the version of this module, as a string.
TruncatedHarmonic< BOTH > TruncatedHarmonicBound
TruncatedHarmonic< UPPER > TruncatedHarmonicUpperBound
static const FloatKeys & get_xyz_keys()
Get a vector containing the keys for x,y,z.
BallMover
Definition: BallMover.py:1
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
def get_all_provenance
Yield all provenance decorators of the given types for the particle.
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
void add_provenance(Model *m, ParticleIndex pi, Provenance p)
Add provenance to part of the model.
Tag part of the system to track how it was created.
Definition: provenance.h:632
double get_distance(const Surface &s, const XYZR &d)
Get distance from sphere to surface.
Definition: Surface.h:153
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
void set_enclosing_sphere(XYZR b, const XYZs &v, double slack=0)
Set the coordinates and radius of the first to enclose the list.
TruncatedHarmonic< LOWER > TruncatedHarmonicLowerBound
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56