IMP logo
IMP Reference Guide  develop.4eee3cf66f,2026/08/02
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::Vector3D(0, 0, 0), Vector3D normal=IMP::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"""
4323  __init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined
4324  __init__(CentroidOfRefined self) -> CentroidOfRefined
4325  """
4326  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4327 
4328  def get_refiner(self):
4329  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4330  return _IMP_core.CentroidOfRefined_get_refiner(self)
4331 
4332  def get_weight(self):
4333  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4334  return _IMP_core.CentroidOfRefined_get_weight(self)
4335 
4336  def get_keys(self):
4337  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4338  return _IMP_core.CentroidOfRefined_get_keys(self)
4339 
4340  def get_is_weight_null(self):
4341  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4342  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4343 
4344  def do_get_inputs(self, m, pis):
4345  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4346  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4347 
4348  def do_get_outputs(self, m, pis):
4349  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4350  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4351 
4352  def get_version_info(self):
4353  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4354  return _IMP_core.CentroidOfRefined_get_version_info(self)
4355  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4356 
4357  def __str__(self):
4358  r"""__str__(CentroidOfRefined self) -> std::string"""
4359  return _IMP_core.CentroidOfRefined___str__(self)
4360 
4361  def __repr__(self):
4362  r"""__repr__(CentroidOfRefined self) -> std::string"""
4363  return _IMP_core.CentroidOfRefined___repr__(self)
4364 
4365  @staticmethod
4366  def get_from(o):
4367  return _object_cast_to_CentroidOfRefined(o)
4368 
4369 
4370  def _get_as_binary(self):
4371  r"""_get_as_binary(CentroidOfRefined self) -> PyObject *"""
4372  return _IMP_core.CentroidOfRefined__get_as_binary(self)
4373 
4374  def _set_from_binary(self, p):
4375  r"""_set_from_binary(CentroidOfRefined self, PyObject * p)"""
4376  return _IMP_core.CentroidOfRefined__set_from_binary(self, p)
4377 
4378  def __getstate__(self):
4379  p = self._get_as_binary()
4380  if len(self.__dict__) > 1:
4381  d = self.__dict__.copy()
4382  del d['this']
4383  p = (d, p)
4384  return p
4385 
4386  def __setstate__(self, p):
4387  if not hasattr(self, 'this'):
4388  self.__init__()
4389  if isinstance(p, tuple):
4390  d, p = p
4391  self.__dict__.update(d)
4392  return self._set_from_binary(p)
4393 
4394 
4395  def _get_jax(self, m, indexes):
4396  import jax.numpy as jnp
4397  refined = [
4398  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4399  for index in indexes]
4400 
4401  def apply_func_unweighted(jm):
4402  for ind, ref in zip(indexes, refined):
4403  xyz = jm['xyz']
4404  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4405  return jm
4406 
4407  def apply_func_weighted(jm, weight_key):
4408  for ind, ref in zip(indexes, refined):
4409  xyz = jm['xyz']
4410  weights = jm[weight_key][ref]
4411  jm['xyz'] = xyz.at[ind].set(
4412  jnp.average(xyz[ref], axis=0, weights=weights))
4413  return jm
4414 
4415  keys = frozenset(self.get_keys())
4416  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4417  raise NotImplementedError("Only works for XYZ")
4418 
4419  if self.get_is_weight_null():
4420  return self._wrap_jax(apply_func_unweighted)
4421  else:
4422  weight_key = self.get_weight()
4423  return self._wrap_jax(
4424  functools.partial(apply_func_weighted,
4425  weight_key=weight_key.get_string()),
4426  keys=(weight_key,))
4427 
4428 
4429 # Register CentroidOfRefined in _IMP_core:
4430 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4431 class Centroid(XYZ):
4432  r"""Proxy of C++ IMP::core::Centroid class."""
4433 
4434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4435 
4436  def get_constraint(self):
4437  r"""get_constraint(Centroid self) -> Constraint"""
4438  return _IMP_core.Centroid_get_constraint(self)
4439 
4440  def __init__(self, *args):
4441  r"""
4442  __init__(Centroid self) -> Centroid
4443  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4444  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4445  """
4446  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4447 
4448  def show(self, *args):
4449  r"""show(Centroid self, _ostream out=std::cout)"""
4450  return _IMP_core.Centroid_show(self, *args)
4451 
4452  @staticmethod
4453  def setup_particle(*args):
4454  r"""
4455  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4456  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4457  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4458  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4459  """
4460  return _IMP_core.Centroid_setup_particle(*args)
4461 
4462  @staticmethod
4463  def get_is_setup(*args):
4464  r"""
4465  get_is_setup(_ParticleAdaptor p) -> bool
4466  get_is_setup(Model m, ParticleIndex pi) -> bool
4467  """
4468  return _IMP_core.Centroid_get_is_setup(*args)
4469 
4470  def add_attribute(self, *args):
4471  r"""
4472  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4473  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4474  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4475  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4476  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4477  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4478  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4479  add_attribute(Centroid self, ObjectKey a0, Object a1)
4480  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4481  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4482  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4483  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4484  """
4485  return _IMP_core.Centroid_add_attribute(self, *args)
4486 
4487  def get_value(self, *args):
4488  r"""
4489  get_value(Centroid self, FloatKey a0) -> IMP::Float
4490  get_value(Centroid self, IntKey a0) -> IMP::Int
4491  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4492  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4493  get_value(Centroid self, StringKey a0) -> IMP::String
4494  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4495  get_value(Centroid self, ObjectKey a0) -> Object
4496  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4497  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4498  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4499  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4500  """
4501  return _IMP_core.Centroid_get_value(self, *args)
4502 
4503  def set_value(self, *args):
4504  r"""
4505  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4506  set_value(Centroid self, IntKey a0, IMP::Int a1)
4507  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4508  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4509  set_value(Centroid self, StringKey a0, IMP::String a1)
4510  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4511  set_value(Centroid self, ObjectKey a0, Object a1)
4512  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4513  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4514  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4515  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4516  """
4517  return _IMP_core.Centroid_set_value(self, *args)
4518 
4519  def remove_attribute(self, *args):
4520  r"""
4521  remove_attribute(Centroid self, FloatKey a0)
4522  remove_attribute(Centroid self, IntKey a0)
4523  remove_attribute(Centroid self, FloatsKey a0)
4524  remove_attribute(Centroid self, IntsKey a0)
4525  remove_attribute(Centroid self, StringKey a0)
4526  remove_attribute(Centroid self, ParticleIndexKey a0)
4527  remove_attribute(Centroid self, ObjectKey a0)
4528  remove_attribute(Centroid self, SparseFloatKey a0)
4529  remove_attribute(Centroid self, SparseIntKey a0)
4530  remove_attribute(Centroid self, SparseStringKey a0)
4531  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4532  """
4533  return _IMP_core.Centroid_remove_attribute(self, *args)
4534 
4535  def has_attribute(self, *args):
4536  r"""
4537  has_attribute(Centroid self, FloatKey a0) -> bool
4538  has_attribute(Centroid self, IntKey a0) -> bool
4539  has_attribute(Centroid self, FloatsKey a0) -> bool
4540  has_attribute(Centroid self, IntsKey a0) -> bool
4541  has_attribute(Centroid self, StringKey a0) -> bool
4542  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4543  has_attribute(Centroid self, ObjectKey a0) -> bool
4544  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4545  has_attribute(Centroid self, SparseIntKey a0) -> bool
4546  has_attribute(Centroid self, SparseStringKey a0) -> bool
4547  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4548  """
4549  return _IMP_core.Centroid_has_attribute(self, *args)
4550 
4551  def get_derivative(self, a0):
4552  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4553  return _IMP_core.Centroid_get_derivative(self, a0)
4554 
4555  def get_name(self):
4556  r"""get_name(Centroid self) -> std::string"""
4557  return _IMP_core.Centroid_get_name(self)
4558 
4559  def clear_caches(self):
4560  r"""clear_caches(Centroid self)"""
4561  return _IMP_core.Centroid_clear_caches(self)
4562 
4563  def set_name(self, a0):
4564  r"""set_name(Centroid self, std::string a0)"""
4565  return _IMP_core.Centroid_set_name(self, a0)
4566 
4567  def set_check_level(self, a0):
4568  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4569  return _IMP_core.Centroid_set_check_level(self, a0)
4570 
4571  def add_to_derivative(self, a0, a1, a2):
4572  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4573  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4574 
4575  def set_is_optimized(self, a0, a1):
4576  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4577  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4578 
4579  def get_is_optimized(self, a0):
4580  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4581  return _IMP_core.Centroid_get_is_optimized(self, a0)
4582 
4583  def get_check_level(self):
4584  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4585  return _IMP_core.Centroid_get_check_level(self)
4586 
4587  def __eq__(self, *args):
4588  r"""
4589  __eq__(Centroid self, Centroid o) -> bool
4590  __eq__(Centroid self, Particle d) -> bool
4591  """
4592  return _IMP_core.Centroid___eq__(self, *args)
4593 
4594  def __ne__(self, *args):
4595  r"""
4596  __ne__(Centroid self, Centroid o) -> bool
4597  __ne__(Centroid self, Particle d) -> bool
4598  """
4599  return _IMP_core.Centroid___ne__(self, *args)
4600 
4601  def __le__(self, *args):
4602  r"""
4603  __le__(Centroid self, Centroid o) -> bool
4604  __le__(Centroid self, Particle d) -> bool
4605  """
4606  return _IMP_core.Centroid___le__(self, *args)
4607 
4608  def __lt__(self, *args):
4609  r"""
4610  __lt__(Centroid self, Centroid o) -> bool
4611  __lt__(Centroid self, Particle d) -> bool
4612  """
4613  return _IMP_core.Centroid___lt__(self, *args)
4614 
4615  def __ge__(self, *args):
4616  r"""
4617  __ge__(Centroid self, Centroid o) -> bool
4618  __ge__(Centroid self, Particle d) -> bool
4619  """
4620  return _IMP_core.Centroid___ge__(self, *args)
4621 
4622  def __gt__(self, *args):
4623  r"""
4624  __gt__(Centroid self, Centroid o) -> bool
4625  __gt__(Centroid self, Particle d) -> bool
4626  """
4627  return _IMP_core.Centroid___gt__(self, *args)
4628 
4629  def __hash__(self):
4630  r"""__hash__(Centroid self) -> std::size_t"""
4631  return _IMP_core.Centroid___hash__(self)
4632 
4633  def __str__(self):
4634  r"""__str__(Centroid self) -> std::string"""
4635  return _IMP_core.Centroid___str__(self)
4636 
4637  def __repr__(self):
4638  r"""__repr__(Centroid self) -> std::string"""
4639  return _IMP_core.Centroid___repr__(self)
4640 
4641  def _get_as_binary(self):
4642  r"""_get_as_binary(Centroid self) -> PyObject *"""
4643  return _IMP_core.Centroid__get_as_binary(self)
4644 
4645  def _set_from_binary(self, p):
4646  r"""_set_from_binary(Centroid self, PyObject * p)"""
4647  return _IMP_core.Centroid__set_from_binary(self, p)
4648 
4649  def __getstate__(self):
4650  p = self._get_as_binary()
4651  if len(self.__dict__) > 1:
4652  d = self.__dict__.copy()
4653  del d['this']
4654  p = (d, p)
4655  return p
4656 
4657  def __setstate__(self, p):
4658  if not hasattr(self, 'this'):
4659  self.__init__()
4660  if isinstance(p, tuple):
4661  d, p = p
4662  self.__dict__.update(d)
4663  return self._set_from_binary(p)
4664 
4665  __swig_destroy__ = _IMP_core.delete_Centroid
4666 
4667 # Register Centroid in _IMP_core:
4668 _IMP_core.Centroid_swigregister(Centroid)
4669 class ChecksScoreState(IMP.ScoreState):
4670  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4671 
4672  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4673 
4674  def __init__(self, *args):
4675  r"""
4676  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4677  __init__(ChecksScoreState self) -> ChecksScoreState
4678  """
4679  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4680 
4681  def get_number_of_checked(self):
4682  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4683  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4684 
4685  def do_before_evaluate(self):
4686  r"""do_before_evaluate(ChecksScoreState self)"""
4687  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4688 
4689  def do_after_evaluate(self, da):
4690  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4691  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4692 
4693  def do_get_outputs(self):
4694  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4695  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4696 
4697  def do_get_inputs(self):
4698  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4699  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4700 
4701  def get_version_info(self):
4702  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4703  return _IMP_core.ChecksScoreState_get_version_info(self)
4704  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4705 
4706  def __str__(self):
4707  r"""__str__(ChecksScoreState self) -> std::string"""
4708  return _IMP_core.ChecksScoreState___str__(self)
4709 
4710  def __repr__(self):
4711  r"""__repr__(ChecksScoreState self) -> std::string"""
4712  return _IMP_core.ChecksScoreState___repr__(self)
4713 
4714  @staticmethod
4715  def get_from(o):
4716  return _object_cast_to_ChecksScoreState(o)
4717 
4718 
4719  def _get_as_binary(self):
4720  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4721  return _IMP_core.ChecksScoreState__get_as_binary(self)
4722 
4723  def _set_from_binary(self, p):
4724  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4725  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4726 
4727  def __getstate__(self):
4728  p = self._get_as_binary()
4729  if len(self.__dict__) > 1:
4730  d = self.__dict__.copy()
4731  del d['this']
4732  p = (d, p)
4733  return p
4734 
4735  def __setstate__(self, p):
4736  if not hasattr(self, 'this'):
4737  self.__init__()
4738  if isinstance(p, tuple):
4739  d, p = p
4740  self.__dict__.update(d)
4741  return self._set_from_binary(p)
4742 
4743 
4744 # Register ChecksScoreState in _IMP_core:
4745 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4746 class ChildrenRefiner(IMP.Refiner):
4747  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4748 
4749  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4750 
4751  def __init__(self, tr):
4752  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4753  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4754 
4755  def do_get_inputs(self, m, pis):
4756  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4757  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4758 
4759  def get_version_info(self):
4760  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4761  return _IMP_core.ChildrenRefiner_get_version_info(self)
4762  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4763 
4764  def __str__(self):
4765  r"""__str__(ChildrenRefiner self) -> std::string"""
4766  return _IMP_core.ChildrenRefiner___str__(self)
4767 
4768  def __repr__(self):
4769  r"""__repr__(ChildrenRefiner self) -> std::string"""
4770  return _IMP_core.ChildrenRefiner___repr__(self)
4771 
4772  @staticmethod
4773  def get_from(o):
4774  return _object_cast_to_ChildrenRefiner(o)
4775 
4776 
4777 # Register ChildrenRefiner in _IMP_core:
4778 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4779 class ClosedCubicSpline(IMP.UnaryFunction):
4780  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4781 
4782  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4783 
4784  def __init__(self, values, minrange, spacing):
4785  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4786  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4787 
4788  def get_version_info(self):
4789  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4790  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4791  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4792 
4793  def do_show(self, out):
4794  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4795  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4796 
4797  def get_minrange(self):
4798  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4799  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4800 
4801  def get_spacing(self):
4802  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4803  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4804 
4805  def get_values(self):
4806  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4807  return _IMP_core.ClosedCubicSpline_get_values(self)
4808 
4809  def get_second_derivatives(self):
4810  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4811  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4812 
4813  def __str__(self):
4814  r"""__str__(ClosedCubicSpline self) -> std::string"""
4815  return _IMP_core.ClosedCubicSpline___str__(self)
4816 
4817  def __repr__(self):
4818  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4819  return _IMP_core.ClosedCubicSpline___repr__(self)
4820 
4821  @staticmethod
4822  def get_from(o):
4823  return _object_cast_to_ClosedCubicSpline(o)
4824 
4825 
4826  def _get_jax(self):
4827  import jax.numpy as jnp
4828  from IMP.core._jax_util import _spline
4829  def score(feature, minrange, spacing, values, second_derivs):
4830  # determine bin index and thus the cubic fragment to use:
4831  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4832  # enforce periodicity - wrap around from n to 0
4833  highbin = jnp.remainder(lowbin + 1, len(values))
4834  return _spline(feature, minrange, lowbin, highbin, spacing,
4835  values, second_derivs)
4836  return functools.partial(
4837  score, minrange=self.get_minrange(),
4838  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4839  second_derivs=jnp.asarray(self.get_second_derivatives()))
4840 
4841 
4842 # Register ClosedCubicSpline in _IMP_core:
4843 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4844 class KClosePairsPairScore(IMP.PairScore):
4845  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4846 
4847  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4848 
4849  def __init__(self, f, r, k=1):
4850  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4851  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4852 
4853  def get_close_pairs(self, pp):
4854  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4855  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4856 
4857  def create_current_decomposition(self, m, vt):
4858  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4859  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4860 
4861  def do_get_inputs(self, m, pis):
4862  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4863  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4864 
4865  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4866  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"""
4867  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4868 
4869  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4870  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"""
4871  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4872 
4873  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4874  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"""
4875  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4876 
4877  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4878  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"""
4879  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4880 
4881  def get_version_info(self):
4882  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4883  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4884  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4885 
4886  def __str__(self):
4887  r"""__str__(KClosePairsPairScore self) -> std::string"""
4888  return _IMP_core.KClosePairsPairScore___str__(self)
4889 
4890  def __repr__(self):
4891  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4892  return _IMP_core.KClosePairsPairScore___repr__(self)
4893 
4894  @staticmethod
4895  def get_from(o):
4896  return _object_cast_to_KClosePairsPairScore(o)
4897 
4898 
4899 # Register KClosePairsPairScore in _IMP_core:
4900 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4901 class ClosePairsPairScore(IMP.PairScore):
4902  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4903 
4904  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4905 
4906  def __init__(self, f, r, max_distance):
4907  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4908  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4909 
4910  def get_close_pairs(self, pp):
4911  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4912  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4913 
4914  def create_current_decomposition(self, m, vt):
4915  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4916  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4917 
4918  def do_get_inputs(self, m, pis):
4919  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4920  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4921 
4922  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4923  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"""
4924  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4925 
4926  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4927  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"""
4928  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4929 
4930  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4931  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"""
4932  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4933 
4934  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4935  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"""
4936  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4937 
4938  def get_version_info(self):
4939  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4940  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4941  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4942 
4943  def __str__(self):
4944  r"""__str__(ClosePairsPairScore self) -> std::string"""
4945  return _IMP_core.ClosePairsPairScore___str__(self)
4946 
4947  def __repr__(self):
4948  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4949  return _IMP_core.ClosePairsPairScore___repr__(self)
4950 
4951  @staticmethod
4952  def get_from(o):
4953  return _object_cast_to_ClosePairsPairScore(o)
4954 
4955 
4956 # Register ClosePairsPairScore in _IMP_core:
4957 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4958 class ConjugateGradients(IMP.AttributeOptimizer):
4959  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4960 
4961  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4962 
4963  def __init__(self, *args):
4964  r"""
4965  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4966  __init__(ConjugateGradients self) -> ConjugateGradients
4967  """
4968  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4969 
4970  def set_gradient_threshold(self, t):
4971  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4972  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4973 
4974  def set_max_change(self, t):
4975  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4976  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4977 
4978  def do_optimize(self, max_steps):
4979  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4980  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4981 
4982  def get_version_info(self):
4983  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4984  return _IMP_core.ConjugateGradients_get_version_info(self)
4985  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4986 
4987  def __str__(self):
4988  r"""__str__(ConjugateGradients self) -> std::string"""
4989  return _IMP_core.ConjugateGradients___str__(self)
4990 
4991  def __repr__(self):
4992  r"""__repr__(ConjugateGradients self) -> std::string"""
4993  return _IMP_core.ConjugateGradients___repr__(self)
4994 
4995  @staticmethod
4996  def get_from(o):
4997  return _object_cast_to_ConjugateGradients(o)
4998 
4999 
5000  def _get_as_binary(self):
5001  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
5002  return _IMP_core.ConjugateGradients__get_as_binary(self)
5003 
5004  def _set_from_binary(self, p):
5005  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
5006  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
5007 
5008  def __getstate__(self):
5009  p = self._get_as_binary()
5010  if len(self.__dict__) > 1:
5011  d = self.__dict__.copy()
5012  del d['this']
5013  p = (d, p)
5014  return p
5015 
5016  def __setstate__(self, p):
5017  if not hasattr(self, 'this'):
5018  self.__init__()
5019  if isinstance(p, tuple):
5020  d, p = p
5021  self.__dict__.update(d)
5022  return self._set_from_binary(p)
5023 
5024 
5025 # Register ConjugateGradients in _IMP_core:
5026 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
5027 class ConnectivityRestraint(IMP.Restraint):
5028  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
5029 
5030  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5031 
5032  def __init__(self, ps, sc):
5033  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
5034  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
5035 
5036  def get_connected_index_pairs(self):
5037  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
5038  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
5039 
5040  def get_pair_score(self):
5041  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
5042  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
5043 
5044  def do_create_current_decomposition(self):
5045  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
5046  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
5047 
5048  def do_get_inputs(self):
5049  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
5050  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
5051 
5052  def get_version_info(self):
5053  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
5054  return _IMP_core.ConnectivityRestraint_get_version_info(self)
5055  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
5056 
5057  def __str__(self):
5058  r"""__str__(ConnectivityRestraint self) -> std::string"""
5059  return _IMP_core.ConnectivityRestraint___str__(self)
5060 
5061  def __repr__(self):
5062  r"""__repr__(ConnectivityRestraint self) -> std::string"""
5063  return _IMP_core.ConnectivityRestraint___repr__(self)
5064 
5065  @staticmethod
5066  def get_from(o):
5067  return _object_cast_to_ConnectivityRestraint(o)
5068 
5069 
5070 # Register ConnectivityRestraint in _IMP_core:
5071 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
5072 class ConstantRestraint(IMP.Restraint):
5073  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
5074 
5075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5076 
5077  def __init__(self, *args):
5078  r"""
5079  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5080  __init__(ConstantRestraint self) -> ConstantRestraint
5081  """
5082  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5083 
5084  def do_get_inputs(self):
5085  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5086  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5087 
5088  def get_version_info(self):
5089  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5090  return _IMP_core.ConstantRestraint_get_version_info(self)
5091  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5092 
5093  def __str__(self):
5094  r"""__str__(ConstantRestraint self) -> std::string"""
5095  return _IMP_core.ConstantRestraint___str__(self)
5096 
5097  def __repr__(self):
5098  r"""__repr__(ConstantRestraint self) -> std::string"""
5099  return _IMP_core.ConstantRestraint___repr__(self)
5100 
5101  @staticmethod
5102  def get_from(o):
5103  return _object_cast_to_ConstantRestraint(o)
5104 
5105 
5106  def _get_as_binary(self):
5107  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5108  return _IMP_core.ConstantRestraint__get_as_binary(self)
5109 
5110  def _set_from_binary(self, p):
5111  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5112  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5113 
5114  def __getstate__(self):
5115  p = self._get_as_binary()
5116  if len(self.__dict__) > 1:
5117  d = self.__dict__.copy()
5118  del d['this']
5119  p = (d, p)
5120  return p
5121 
5122  def __setstate__(self, p):
5123  if not hasattr(self, 'this'):
5124  self.__init__()
5125  if isinstance(p, tuple):
5126  d, p = p
5127  self.__dict__.update(d)
5128  return self._set_from_binary(p)
5129 
5130 
5131 # Register ConstantRestraint in _IMP_core:
5132 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5133 class Cosine(IMP.UnaryFunction):
5134  r"""Proxy of C++ IMP::core::Cosine class."""
5135 
5136  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5137 
5138  def __init__(self, *args):
5139  r"""
5140  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5141  __init__(Cosine self) -> Cosine
5142  """
5143  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5144 
5145  def get_force_constant(self):
5146  r"""get_force_constant(Cosine self) -> IMP::Float"""
5147  return _IMP_core.Cosine_get_force_constant(self)
5148 
5149  def get_periodicity(self):
5150  r"""get_periodicity(Cosine self) -> int"""
5151  return _IMP_core.Cosine_get_periodicity(self)
5152 
5153  def get_phase(self):
5154  r"""get_phase(Cosine self) -> IMP::Float"""
5155  return _IMP_core.Cosine_get_phase(self)
5156 
5157  def get_version_info(self):
5158  r"""get_version_info(Cosine self) -> VersionInfo"""
5159  return _IMP_core.Cosine_get_version_info(self)
5160  __swig_destroy__ = _IMP_core.delete_Cosine
5161 
5162  def do_show(self, out):
5163  r"""do_show(Cosine self, _ostream out)"""
5164  return _IMP_core.Cosine_do_show(self, out)
5165 
5166  def __str__(self):
5167  r"""__str__(Cosine self) -> std::string"""
5168  return _IMP_core.Cosine___str__(self)
5169 
5170  def __repr__(self):
5171  r"""__repr__(Cosine self) -> std::string"""
5172  return _IMP_core.Cosine___repr__(self)
5173 
5174  @staticmethod
5175  def get_from(o):
5176  return _object_cast_to_Cosine(o)
5177 
5178 
5179  def _get_as_binary(self):
5180  r"""_get_as_binary(Cosine self) -> PyObject *"""
5181  return _IMP_core.Cosine__get_as_binary(self)
5182 
5183  def _set_from_binary(self, p):
5184  r"""_set_from_binary(Cosine self, PyObject * p)"""
5185  return _IMP_core.Cosine__set_from_binary(self, p)
5186 
5187  def __getstate__(self):
5188  p = self._get_as_binary()
5189  if len(self.__dict__) > 1:
5190  d = self.__dict__.copy()
5191  del d['this']
5192  p = (d, p)
5193  return p
5194 
5195  def __setstate__(self, p):
5196  if not hasattr(self, 'this'):
5197  self.__init__()
5198  if isinstance(p, tuple):
5199  d, p = p
5200  self.__dict__.update(d)
5201  return self._set_from_binary(p)
5202 
5203 
5204  def _get_jax(self):
5205  import jax.numpy as jnp
5206  def score(val, k, period, phase):
5207  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5208  return functools.partial(score, k=self.get_force_constant(),
5209  period=self.get_periodicity(),
5210  phase=self.get_phase())
5211 
5212 
5213 # Register Cosine in _IMP_core:
5214 _IMP_core.Cosine_swigregister(Cosine)
5215 class CoverRefined(IMP.SingletonModifier):
5216  r"""Proxy of C++ IMP::core::CoverRefined class."""
5217 
5218  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5219 
5220  def __init__(self, ref, slack=0):
5221  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5222  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5223 
5224  def set_slack(self, slack):
5225  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5226  return _IMP_core.CoverRefined_set_slack(self, slack)
5227 
5228  def do_get_inputs(self, m, pis):
5229  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5230  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5231 
5232  def do_get_outputs(self, m, pis):
5233  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5234  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5235 
5236  def get_version_info(self):
5237  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5238  return _IMP_core.CoverRefined_get_version_info(self)
5239  __swig_destroy__ = _IMP_core.delete_CoverRefined
5240 
5241  def __str__(self):
5242  r"""__str__(CoverRefined self) -> std::string"""
5243  return _IMP_core.CoverRefined___str__(self)
5244 
5245  def __repr__(self):
5246  r"""__repr__(CoverRefined self) -> std::string"""
5247  return _IMP_core.CoverRefined___repr__(self)
5248 
5249  @staticmethod
5250  def get_from(o):
5251  return _object_cast_to_CoverRefined(o)
5252 
5253 
5254 # Register CoverRefined in _IMP_core:
5255 _IMP_core.CoverRefined_swigregister(CoverRefined)
5256 class Cover(XYZR):
5257  r"""Proxy of C++ IMP::core::Cover class."""
5258 
5259  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5260 
5261  def get_constraint(self):
5262  r"""get_constraint(Cover self) -> Constraint"""
5263  return _IMP_core.Cover_get_constraint(self)
5264 
5265  def __init__(self, *args):
5266  r"""
5267  __init__(Cover self) -> Cover
5268  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5269  __init__(Cover self, _ParticleAdaptor d) -> Cover
5270  """
5271  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5272 
5273  def show(self, *args):
5274  r"""show(Cover self, _ostream out=std::cout)"""
5275  return _IMP_core.Cover_show(self, *args)
5276 
5277  @staticmethod
5278  def setup_particle(*args):
5279  r"""
5280  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5281  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5282  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5283  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5284  """
5285  return _IMP_core.Cover_setup_particle(*args)
5286 
5287  @staticmethod
5288  def get_is_setup(*args):
5289  r"""
5290  get_is_setup(_ParticleAdaptor p) -> bool
5291  get_is_setup(Model m, ParticleIndex pi) -> bool
5292  """
5293  return _IMP_core.Cover_get_is_setup(*args)
5294 
5295  def add_attribute(self, *args):
5296  r"""
5297  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5298  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5299  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5300  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5301  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5302  add_attribute(Cover self, StringKey a0, IMP::String a1)
5303  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5304  add_attribute(Cover self, ObjectKey a0, Object a1)
5305  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5306  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5307  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5308  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5309  """
5310  return _IMP_core.Cover_add_attribute(self, *args)
5311 
5312  def get_value(self, *args):
5313  r"""
5314  get_value(Cover self, FloatKey a0) -> IMP::Float
5315  get_value(Cover self, IntKey a0) -> IMP::Int
5316  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5317  get_value(Cover self, IntsKey a0) -> IMP::Ints
5318  get_value(Cover self, StringKey a0) -> IMP::String
5319  get_value(Cover self, ParticleIndexKey a0) -> Particle
5320  get_value(Cover self, ObjectKey a0) -> Object
5321  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5322  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5323  get_value(Cover self, SparseStringKey a0) -> IMP::String
5324  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5325  """
5326  return _IMP_core.Cover_get_value(self, *args)
5327 
5328  def set_value(self, *args):
5329  r"""
5330  set_value(Cover self, FloatKey a0, IMP::Float a1)
5331  set_value(Cover self, IntKey a0, IMP::Int a1)
5332  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5333  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5334  set_value(Cover self, StringKey a0, IMP::String a1)
5335  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5336  set_value(Cover self, ObjectKey a0, Object a1)
5337  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5338  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5339  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5340  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5341  """
5342  return _IMP_core.Cover_set_value(self, *args)
5343 
5344  def remove_attribute(self, *args):
5345  r"""
5346  remove_attribute(Cover self, FloatKey a0)
5347  remove_attribute(Cover self, IntKey a0)
5348  remove_attribute(Cover self, FloatsKey a0)
5349  remove_attribute(Cover self, IntsKey a0)
5350  remove_attribute(Cover self, StringKey a0)
5351  remove_attribute(Cover self, ParticleIndexKey a0)
5352  remove_attribute(Cover self, ObjectKey a0)
5353  remove_attribute(Cover self, SparseFloatKey a0)
5354  remove_attribute(Cover self, SparseIntKey a0)
5355  remove_attribute(Cover self, SparseStringKey a0)
5356  remove_attribute(Cover self, SparseParticleIndexKey a0)
5357  """
5358  return _IMP_core.Cover_remove_attribute(self, *args)
5359 
5360  def has_attribute(self, *args):
5361  r"""
5362  has_attribute(Cover self, FloatKey a0) -> bool
5363  has_attribute(Cover self, IntKey a0) -> bool
5364  has_attribute(Cover self, FloatsKey a0) -> bool
5365  has_attribute(Cover self, IntsKey a0) -> bool
5366  has_attribute(Cover self, StringKey a0) -> bool
5367  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5368  has_attribute(Cover self, ObjectKey a0) -> bool
5369  has_attribute(Cover self, SparseFloatKey a0) -> bool
5370  has_attribute(Cover self, SparseIntKey a0) -> bool
5371  has_attribute(Cover self, SparseStringKey a0) -> bool
5372  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5373  """
5374  return _IMP_core.Cover_has_attribute(self, *args)
5375 
5376  def get_derivative(self, a0):
5377  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5378  return _IMP_core.Cover_get_derivative(self, a0)
5379 
5380  def get_name(self):
5381  r"""get_name(Cover self) -> std::string"""
5382  return _IMP_core.Cover_get_name(self)
5383 
5384  def clear_caches(self):
5385  r"""clear_caches(Cover self)"""
5386  return _IMP_core.Cover_clear_caches(self)
5387 
5388  def set_name(self, a0):
5389  r"""set_name(Cover self, std::string a0)"""
5390  return _IMP_core.Cover_set_name(self, a0)
5391 
5392  def set_check_level(self, a0):
5393  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5394  return _IMP_core.Cover_set_check_level(self, a0)
5395 
5396  def add_to_derivative(self, a0, a1, a2):
5397  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5398  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5399 
5400  def set_is_optimized(self, a0, a1):
5401  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5402  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5403 
5404  def get_is_optimized(self, a0):
5405  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5406  return _IMP_core.Cover_get_is_optimized(self, a0)
5407 
5408  def get_check_level(self):
5409  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5410  return _IMP_core.Cover_get_check_level(self)
5411 
5412  def __eq__(self, *args):
5413  r"""
5414  __eq__(Cover self, Cover o) -> bool
5415  __eq__(Cover self, Particle d) -> bool
5416  """
5417  return _IMP_core.Cover___eq__(self, *args)
5418 
5419  def __ne__(self, *args):
5420  r"""
5421  __ne__(Cover self, Cover o) -> bool
5422  __ne__(Cover self, Particle d) -> bool
5423  """
5424  return _IMP_core.Cover___ne__(self, *args)
5425 
5426  def __le__(self, *args):
5427  r"""
5428  __le__(Cover self, Cover o) -> bool
5429  __le__(Cover self, Particle d) -> bool
5430  """
5431  return _IMP_core.Cover___le__(self, *args)
5432 
5433  def __lt__(self, *args):
5434  r"""
5435  __lt__(Cover self, Cover o) -> bool
5436  __lt__(Cover self, Particle d) -> bool
5437  """
5438  return _IMP_core.Cover___lt__(self, *args)
5439 
5440  def __ge__(self, *args):
5441  r"""
5442  __ge__(Cover self, Cover o) -> bool
5443  __ge__(Cover self, Particle d) -> bool
5444  """
5445  return _IMP_core.Cover___ge__(self, *args)
5446 
5447  def __gt__(self, *args):
5448  r"""
5449  __gt__(Cover self, Cover o) -> bool
5450  __gt__(Cover self, Particle d) -> bool
5451  """
5452  return _IMP_core.Cover___gt__(self, *args)
5453 
5454  def __hash__(self):
5455  r"""__hash__(Cover self) -> std::size_t"""
5456  return _IMP_core.Cover___hash__(self)
5457 
5458  def __str__(self):
5459  r"""__str__(Cover self) -> std::string"""
5460  return _IMP_core.Cover___str__(self)
5461 
5462  def __repr__(self):
5463  r"""__repr__(Cover self) -> std::string"""
5464  return _IMP_core.Cover___repr__(self)
5465 
5466  def _get_as_binary(self):
5467  r"""_get_as_binary(Cover self) -> PyObject *"""
5468  return _IMP_core.Cover__get_as_binary(self)
5469 
5470  def _set_from_binary(self, p):
5471  r"""_set_from_binary(Cover self, PyObject * p)"""
5472  return _IMP_core.Cover__set_from_binary(self, p)
5473 
5474  def __getstate__(self):
5475  p = self._get_as_binary()
5476  if len(self.__dict__) > 1:
5477  d = self.__dict__.copy()
5478  del d['this']
5479  p = (d, p)
5480  return p
5481 
5482  def __setstate__(self, p):
5483  if not hasattr(self, 'this'):
5484  self.__init__()
5485  if isinstance(p, tuple):
5486  d, p = p
5487  self.__dict__.update(d)
5488  return self._set_from_binary(p)
5489 
5490  __swig_destroy__ = _IMP_core.delete_Cover
5491 
5492 # Register Cover in _IMP_core:
5493 _IMP_core.Cover_swigregister(Cover)
5494 class DerivativesFromRefined(IMP.SingletonModifier):
5495  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5496 
5497  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5498 
5499  def __init__(self, *args):
5500  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5501  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5502 
5503  def do_get_inputs(self, m, pis):
5504  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5505  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5506 
5507  def do_get_outputs(self, m, pis):
5508  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5509  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5510 
5511  def get_version_info(self):
5512  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5513  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5514  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5515 
5516  def __str__(self):
5517  r"""__str__(DerivativesFromRefined self) -> std::string"""
5518  return _IMP_core.DerivativesFromRefined___str__(self)
5519 
5520  def __repr__(self):
5521  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5522  return _IMP_core.DerivativesFromRefined___repr__(self)
5523 
5524  @staticmethod
5525  def get_from(o):
5526  return _object_cast_to_DerivativesFromRefined(o)
5527 
5528 
5529 # Register DerivativesFromRefined in _IMP_core:
5530 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5531 class DerivativesToRefined(IMP.SingletonModifier):
5532  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5533 
5534  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5535 
5536  def __init__(self, *args):
5537  r"""
5538  __init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined
5539  __init__(DerivativesToRefined self) -> DerivativesToRefined
5540  """
5541  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5542 
5543  def do_get_inputs(self, m, pis):
5544  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5545  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5546 
5547  def do_get_outputs(self, m, pis):
5548  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5549  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5550 
5551  def get_version_info(self):
5552  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5553  return _IMP_core.DerivativesToRefined_get_version_info(self)
5554  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5555 
5556  def __str__(self):
5557  r"""__str__(DerivativesToRefined self) -> std::string"""
5558  return _IMP_core.DerivativesToRefined___str__(self)
5559 
5560  def __repr__(self):
5561  r"""__repr__(DerivativesToRefined self) -> std::string"""
5562  return _IMP_core.DerivativesToRefined___repr__(self)
5563 
5564  @staticmethod
5565  def get_from(o):
5566  return _object_cast_to_DerivativesToRefined(o)
5567 
5568 
5569  def _get_as_binary(self):
5570  r"""_get_as_binary(DerivativesToRefined self) -> PyObject *"""
5571  return _IMP_core.DerivativesToRefined__get_as_binary(self)
5572 
5573  def _set_from_binary(self, p):
5574  r"""_set_from_binary(DerivativesToRefined self, PyObject * p)"""
5575  return _IMP_core.DerivativesToRefined__set_from_binary(self, p)
5576 
5577  def __getstate__(self):
5578  p = self._get_as_binary()
5579  if len(self.__dict__) > 1:
5580  d = self.__dict__.copy()
5581  del d['this']
5582  p = (d, p)
5583  return p
5584 
5585  def __setstate__(self, p):
5586  if not hasattr(self, 'this'):
5587  self.__init__()
5588  if isinstance(p, tuple):
5589  d, p = p
5590  self.__dict__.update(d)
5591  return self._set_from_binary(p)
5592 
5593 
5594 # Register DerivativesToRefined in _IMP_core:
5595 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5596 class DiameterRestraint(IMP.Restraint):
5597  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5598 
5599  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5600 
5601  def __init__(self, f, sc, diameter):
5602  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5603  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5604 
5605  def do_get_inputs(self):
5606  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5607  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5608 
5609  def get_version_info(self):
5610  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5611  return _IMP_core.DiameterRestraint_get_version_info(self)
5612  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5613 
5614  def do_create_decomposition(self):
5615  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5616  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5617 
5618  def do_create_current_decomposition(self):
5619  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5620  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5621 
5622  def __str__(self):
5623  r"""__str__(DiameterRestraint self) -> std::string"""
5624  return _IMP_core.DiameterRestraint___str__(self)
5625 
5626  def __repr__(self):
5627  r"""__repr__(DiameterRestraint self) -> std::string"""
5628  return _IMP_core.DiameterRestraint___repr__(self)
5629 
5630  @staticmethod
5631  def get_from(o):
5632  return _object_cast_to_DiameterRestraint(o)
5633 
5634 
5635 # Register DiameterRestraint in _IMP_core:
5636 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5637 class Transform(IMP.SingletonModifier):
5638  r"""Proxy of C++ IMP::core::Transform class."""
5639 
5640  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5641 
5642  def __init__(self, *args):
5643  r"""
5644  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5645  __init__(Transform self) -> Transform
5646  """
5647  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5648 
5649  def do_get_inputs(self, m, pis):
5650  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5651  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5652 
5653  def do_get_outputs(self, m, pis):
5654  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5655  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5656 
5657  def get_version_info(self):
5658  r"""get_version_info(Transform self) -> VersionInfo"""
5659  return _IMP_core.Transform_get_version_info(self)
5660  __swig_destroy__ = _IMP_core.delete_Transform
5661 
5662  def __str__(self):
5663  r"""__str__(Transform self) -> std::string"""
5664  return _IMP_core.Transform___str__(self)
5665 
5666  def __repr__(self):
5667  r"""__repr__(Transform self) -> std::string"""
5668  return _IMP_core.Transform___repr__(self)
5669 
5670  @staticmethod
5671  def get_from(o):
5672  return _object_cast_to_Transform(o)
5673 
5674 
5675  def _get_as_binary(self):
5676  r"""_get_as_binary(Transform self) -> PyObject *"""
5677  return _IMP_core.Transform__get_as_binary(self)
5678 
5679  def _set_from_binary(self, p):
5680  r"""_set_from_binary(Transform self, PyObject * p)"""
5681  return _IMP_core.Transform__set_from_binary(self, p)
5682 
5683  def __getstate__(self):
5684  p = self._get_as_binary()
5685  if len(self.__dict__) > 1:
5686  d = self.__dict__.copy()
5687  del d['this']
5688  p = (d, p)
5689  return p
5690 
5691  def __setstate__(self, p):
5692  if not hasattr(self, 'this'):
5693  self.__init__()
5694  if isinstance(p, tuple):
5695  d, p = p
5696  self.__dict__.update(d)
5697  return self._set_from_binary(p)
5698 
5699 
5700 # Register Transform in _IMP_core:
5701 _IMP_core.Transform_swigregister(Transform)
5702 class Reference(IMP.Decorator):
5703  r"""Proxy of C++ IMP::core::Reference class."""
5704 
5705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5706 
5707  def __init__(self, *args):
5708  r"""
5709  __init__(Reference self) -> Reference
5710  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5711  __init__(Reference self, _ParticleAdaptor d) -> Reference
5712  """
5713  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5714 
5715  def show(self, *args):
5716  r"""show(Reference self, _ostream out=std::cout)"""
5717  return _IMP_core.Reference_show(self, *args)
5718 
5719  @staticmethod
5720  def setup_particle(*args):
5721  r"""
5722  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5723  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5724  """
5725  return _IMP_core.Reference_setup_particle(*args)
5726 
5727  def get_reference_particle(self):
5728  r"""get_reference_particle(Reference self) -> Particle"""
5729  return _IMP_core.Reference_get_reference_particle(self)
5730 
5731  @staticmethod
5732  def get_is_setup(*args):
5733  r"""
5734  get_is_setup(_ParticleAdaptor p) -> bool
5735  get_is_setup(Model m, ParticleIndex pi) -> bool
5736  """
5737  return _IMP_core.Reference_get_is_setup(*args)
5738 
5739  @staticmethod
5740  def get_reference_key():
5741  r"""get_reference_key() -> ParticleIndexKey"""
5742  return _IMP_core.Reference_get_reference_key()
5743 
5744  def add_attribute(self, *args):
5745  r"""
5746  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5747  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5748  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5749  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5750  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5751  add_attribute(Reference self, StringKey a0, IMP::String a1)
5752  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5753  add_attribute(Reference self, ObjectKey a0, Object a1)
5754  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5755  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5756  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5757  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5758  """
5759  return _IMP_core.Reference_add_attribute(self, *args)
5760 
5761  def get_value(self, *args):
5762  r"""
5763  get_value(Reference self, FloatKey a0) -> IMP::Float
5764  get_value(Reference self, IntKey a0) -> IMP::Int
5765  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5766  get_value(Reference self, IntsKey a0) -> IMP::Ints
5767  get_value(Reference self, StringKey a0) -> IMP::String
5768  get_value(Reference self, ParticleIndexKey a0) -> Particle
5769  get_value(Reference self, ObjectKey a0) -> Object
5770  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5771  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5772  get_value(Reference self, SparseStringKey a0) -> IMP::String
5773  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5774  """
5775  return _IMP_core.Reference_get_value(self, *args)
5776 
5777  def set_value(self, *args):
5778  r"""
5779  set_value(Reference self, FloatKey a0, IMP::Float a1)
5780  set_value(Reference self, IntKey a0, IMP::Int a1)
5781  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5782  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5783  set_value(Reference self, StringKey a0, IMP::String a1)
5784  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5785  set_value(Reference self, ObjectKey a0, Object a1)
5786  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5787  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5788  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5789  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5790  """
5791  return _IMP_core.Reference_set_value(self, *args)
5792 
5793  def remove_attribute(self, *args):
5794  r"""
5795  remove_attribute(Reference self, FloatKey a0)
5796  remove_attribute(Reference self, IntKey a0)
5797  remove_attribute(Reference self, FloatsKey a0)
5798  remove_attribute(Reference self, IntsKey a0)
5799  remove_attribute(Reference self, StringKey a0)
5800  remove_attribute(Reference self, ParticleIndexKey a0)
5801  remove_attribute(Reference self, ObjectKey a0)
5802  remove_attribute(Reference self, SparseFloatKey a0)
5803  remove_attribute(Reference self, SparseIntKey a0)
5804  remove_attribute(Reference self, SparseStringKey a0)
5805  remove_attribute(Reference self, SparseParticleIndexKey a0)
5806  """
5807  return _IMP_core.Reference_remove_attribute(self, *args)
5808 
5809  def has_attribute(self, *args):
5810  r"""
5811  has_attribute(Reference self, FloatKey a0) -> bool
5812  has_attribute(Reference self, IntKey a0) -> bool
5813  has_attribute(Reference self, FloatsKey a0) -> bool
5814  has_attribute(Reference self, IntsKey a0) -> bool
5815  has_attribute(Reference self, StringKey a0) -> bool
5816  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5817  has_attribute(Reference self, ObjectKey a0) -> bool
5818  has_attribute(Reference self, SparseFloatKey a0) -> bool
5819  has_attribute(Reference self, SparseIntKey a0) -> bool
5820  has_attribute(Reference self, SparseStringKey a0) -> bool
5821  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5822  """
5823  return _IMP_core.Reference_has_attribute(self, *args)
5824 
5825  def get_derivative(self, a0):
5826  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5827  return _IMP_core.Reference_get_derivative(self, a0)
5828 
5829  def get_name(self):
5830  r"""get_name(Reference self) -> std::string"""
5831  return _IMP_core.Reference_get_name(self)
5832 
5833  def clear_caches(self):
5834  r"""clear_caches(Reference self)"""
5835  return _IMP_core.Reference_clear_caches(self)
5836 
5837  def set_name(self, a0):
5838  r"""set_name(Reference self, std::string a0)"""
5839  return _IMP_core.Reference_set_name(self, a0)
5840 
5841  def set_check_level(self, a0):
5842  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5843  return _IMP_core.Reference_set_check_level(self, a0)
5844 
5845  def add_to_derivative(self, a0, a1, a2):
5846  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5847  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5848 
5849  def set_is_optimized(self, a0, a1):
5850  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5851  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5852 
5853  def get_is_optimized(self, a0):
5854  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5855  return _IMP_core.Reference_get_is_optimized(self, a0)
5856 
5857  def get_check_level(self):
5858  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5859  return _IMP_core.Reference_get_check_level(self)
5860 
5861  def __eq__(self, *args):
5862  r"""
5863  __eq__(Reference self, Reference o) -> bool
5864  __eq__(Reference self, Particle d) -> bool
5865  """
5866  return _IMP_core.Reference___eq__(self, *args)
5867 
5868  def __ne__(self, *args):
5869  r"""
5870  __ne__(Reference self, Reference o) -> bool
5871  __ne__(Reference self, Particle d) -> bool
5872  """
5873  return _IMP_core.Reference___ne__(self, *args)
5874 
5875  def __le__(self, *args):
5876  r"""
5877  __le__(Reference self, Reference o) -> bool
5878  __le__(Reference self, Particle d) -> bool
5879  """
5880  return _IMP_core.Reference___le__(self, *args)
5881 
5882  def __lt__(self, *args):
5883  r"""
5884  __lt__(Reference self, Reference o) -> bool
5885  __lt__(Reference self, Particle d) -> bool
5886  """
5887  return _IMP_core.Reference___lt__(self, *args)
5888 
5889  def __ge__(self, *args):
5890  r"""
5891  __ge__(Reference self, Reference o) -> bool
5892  __ge__(Reference self, Particle d) -> bool
5893  """
5894  return _IMP_core.Reference___ge__(self, *args)
5895 
5896  def __gt__(self, *args):
5897  r"""
5898  __gt__(Reference self, Reference o) -> bool
5899  __gt__(Reference self, Particle d) -> bool
5900  """
5901  return _IMP_core.Reference___gt__(self, *args)
5902 
5903  def __hash__(self):
5904  r"""__hash__(Reference self) -> std::size_t"""
5905  return _IMP_core.Reference___hash__(self)
5906 
5907  def __str__(self):
5908  r"""__str__(Reference self) -> std::string"""
5909  return _IMP_core.Reference___str__(self)
5910 
5911  def __repr__(self):
5912  r"""__repr__(Reference self) -> std::string"""
5913  return _IMP_core.Reference___repr__(self)
5914 
5915  def _get_as_binary(self):
5916  r"""_get_as_binary(Reference self) -> PyObject *"""
5917  return _IMP_core.Reference__get_as_binary(self)
5918 
5919  def _set_from_binary(self, p):
5920  r"""_set_from_binary(Reference self, PyObject * p)"""
5921  return _IMP_core.Reference__set_from_binary(self, p)
5922 
5923  def __getstate__(self):
5924  p = self._get_as_binary()
5925  if len(self.__dict__) > 1:
5926  d = self.__dict__.copy()
5927  del d['this']
5928  p = (d, p)
5929  return p
5930 
5931  def __setstate__(self, p):
5932  if not hasattr(self, 'this'):
5933  self.__init__()
5934  if isinstance(p, tuple):
5935  d, p = p
5936  self.__dict__.update(d)
5937  return self._set_from_binary(p)
5938 
5939  __swig_destroy__ = _IMP_core.delete_Reference
5940 
5941 # Register Reference in _IMP_core:
5942 _IMP_core.Reference_swigregister(Reference)
5943 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5944  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5945 
5946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5947 
5948  def __init__(self, t, r):
5949  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5950  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5951 
5952  def do_get_inputs(self, m, pis):
5953  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5954  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5955 
5956  def do_get_outputs(self, m, pis):
5957  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5958  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5959 
5960  def get_version_info(self):
5961  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5962  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5963  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5964 
5965  def __str__(self):
5966  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5967  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5968 
5969  def __repr__(self):
5970  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5971  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5972 
5973  @staticmethod
5974  def get_from(o):
5975  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5976 
5977 
5978 # Register TransformationAndReflectionSymmetry in _IMP_core:
5979 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5980 class TransformationSymmetry(IMP.SingletonModifier):
5981  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5982 
5983  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5984 
5985  def __init__(self, *args):
5986  r"""
5987  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5988  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5989  """
5990  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5991 
5992  def get_transformation(self):
5993  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5994  return _IMP_core.TransformationSymmetry_get_transformation(self)
5995 
5996  def set_transformation(self, t):
5997  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5998  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5999 
6000  def do_get_inputs(self, m, pis):
6001  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6002  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
6003 
6004  def do_get_outputs(self, m, pis):
6005  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6006  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
6007 
6008  def get_version_info(self):
6009  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
6010  return _IMP_core.TransformationSymmetry_get_version_info(self)
6011  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
6012 
6013  def __str__(self):
6014  r"""__str__(TransformationSymmetry self) -> std::string"""
6015  return _IMP_core.TransformationSymmetry___str__(self)
6016 
6017  def __repr__(self):
6018  r"""__repr__(TransformationSymmetry self) -> std::string"""
6019  return _IMP_core.TransformationSymmetry___repr__(self)
6020 
6021  @staticmethod
6022  def get_from(o):
6023  return _object_cast_to_TransformationSymmetry(o)
6024 
6025 
6026 # Register TransformationSymmetry in _IMP_core:
6027 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
6028 class TransformationSymmetryMover(MonteCarloMover):
6029  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
6030 
6031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6032 
6033  def __init__(self, m, symm, pivot, max_translation, max_rotation):
6034  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
6035  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
6036 
6037  def set_maximum_translation(self, mt):
6038  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
6039  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
6040 
6041  def set_maximum_rotation(self, mr):
6042  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
6043  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
6044 
6045  def get_maximum_translation(self):
6046  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
6047  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
6048 
6049  def get_maximum_rotation(self):
6050  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
6051  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
6052 
6053  def get_version_info(self):
6054  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
6055  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
6056  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
6057 
6058  def __str__(self):
6059  r"""__str__(TransformationSymmetryMover self) -> std::string"""
6060  return _IMP_core.TransformationSymmetryMover___str__(self)
6061 
6062  def __repr__(self):
6063  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
6064  return _IMP_core.TransformationSymmetryMover___repr__(self)
6065 
6066  @staticmethod
6067  def get_from(o):
6068  return _object_cast_to_TransformationSymmetryMover(o)
6069 
6070 
6071 # Register TransformationSymmetryMover in _IMP_core:
6072 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
6073 class DihedralRestraint(IMP.Restraint):
6074  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
6075 
6076  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6077 
6078  def __init__(self, m, score_func, p1, p2, p3, p4):
6079  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
6080  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
6081 
6082  def do_get_inputs(self):
6083  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
6084  return _IMP_core.DihedralRestraint_do_get_inputs(self)
6085 
6086  def get_version_info(self):
6087  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
6088  return _IMP_core.DihedralRestraint_get_version_info(self)
6089  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
6090 
6091  def __str__(self):
6092  r"""__str__(DihedralRestraint self) -> std::string"""
6093  return _IMP_core.DihedralRestraint___str__(self)
6094 
6095  def __repr__(self):
6096  r"""__repr__(DihedralRestraint self) -> std::string"""
6097  return _IMP_core.DihedralRestraint___repr__(self)
6098 
6099  @staticmethod
6100  def get_from(o):
6101  return _object_cast_to_DihedralRestraint(o)
6102 
6103 
6104 # Register DihedralRestraint in _IMP_core:
6105 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6106 class DistancePairScore(IMP.PairScore):
6107  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6108 
6109  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6110 
6111  def __init__(self, *args):
6112  r"""
6113  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6114  __init__(DistancePairScore self) -> DistancePairScore
6115  """
6116  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6117 
6118  def do_get_inputs(self, m, pis):
6119  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6120  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6121 
6122  def get_score_functor(self, *args):
6123  r"""
6124  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6125  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6126  """
6127  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6128 
6129  def get_version_info(self):
6130  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6131  return _IMP_core.DistancePairScore_get_version_info(self)
6132  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6133 
6134  def __str__(self):
6135  r"""__str__(DistancePairScore self) -> std::string"""
6136  return _IMP_core.DistancePairScore___str__(self)
6137 
6138  def __repr__(self):
6139  r"""__repr__(DistancePairScore self) -> std::string"""
6140  return _IMP_core.DistancePairScore___repr__(self)
6141 
6142  @staticmethod
6143  def get_from(o):
6144  return _object_cast_to_DistancePairScore(o)
6145 
6146 
6147  def _get_as_binary(self):
6148  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6149  return _IMP_core.DistancePairScore__get_as_binary(self)
6150 
6151  def _set_from_binary(self, p):
6152  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6153  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6154 
6155  def __getstate__(self):
6156  p = self._get_as_binary()
6157  if len(self.__dict__) > 1:
6158  d = self.__dict__.copy()
6159  del d['this']
6160  p = (d, p)
6161  return p
6162 
6163  def __setstate__(self, p):
6164  if not hasattr(self, 'this'):
6165  self.__init__()
6166  if isinstance(p, tuple):
6167  d, p = p
6168  self.__dict__.update(d)
6169  return self._set_from_binary(p)
6170 
6171 
6172  def _get_jax(self, m, indexes):
6173  import jax.numpy as jnp
6174  def jax_score(jm, uf):
6175  xyzs = jm['xyz'][indexes]
6176  diff = xyzs[:,0] - xyzs[:,1]
6177  drs = jnp.linalg.norm(diff, axis=1)
6178  return uf(drs)
6179  sfnc = self.get_score_functor()
6180  uf = sfnc.get_unary_function().get_derived_object()
6181  f = functools.partial(jax_score, uf=uf._get_jax())
6182  return self._wrap_jax(m, f)
6183 
6184 
6185 # Register DistancePairScore in _IMP_core:
6186 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6187 class HarmonicDistancePairScore(IMP.PairScore):
6188  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6189 
6190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6191 
6192  def __init__(self, *args):
6193  r"""
6194  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6195  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6196  """
6197  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6198 
6199  def do_get_inputs(self, m, pis):
6200  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6201  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6202 
6203  def get_score_functor(self, *args):
6204  r"""
6205  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6206  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6207  """
6208  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6209 
6210  def get_x0(self):
6211  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6212  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6213 
6214  def get_k(self):
6215  r"""get_k(HarmonicDistancePairScore self) -> double"""
6216  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6217 
6218  def get_version_info(self):
6219  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6220  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6221  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6222 
6223  def __str__(self):
6224  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6225  return _IMP_core.HarmonicDistancePairScore___str__(self)
6226 
6227  def __repr__(self):
6228  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6229  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6230 
6231  @staticmethod
6232  def get_from(o):
6233  return _object_cast_to_HarmonicDistancePairScore(o)
6234 
6235 
6236  def _get_as_binary(self):
6237  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6238  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6239 
6240  def _set_from_binary(self, p):
6241  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6242  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6243 
6244  def __getstate__(self):
6245  p = self._get_as_binary()
6246  if len(self.__dict__) > 1:
6247  d = self.__dict__.copy()
6248  del d['this']
6249  p = (d, p)
6250  return p
6251 
6252  def __setstate__(self, p):
6253  if not hasattr(self, 'this'):
6254  self.__init__()
6255  if isinstance(p, tuple):
6256  d, p = p
6257  self.__dict__.update(d)
6258  return self._set_from_binary(p)
6259 
6260 
6261  def _get_jax(self, m, indexes):
6262  import jax.numpy as jnp
6263  def jax_harmonic_distance_pair_score(jm, d, k):
6264  xyzs = jm['xyz'][indexes]
6265  diff = xyzs[:,0] - xyzs[:,1]
6266  drs = jnp.linalg.norm(diff, axis=1)
6267  return 0.5 * k * (d - drs)**2
6268  f = functools.partial(jax_harmonic_distance_pair_score,
6269  d=self.get_x0(), k=self.get_k())
6270  return self._wrap_jax(m, f)
6271 
6272 
6273 # Register HarmonicDistancePairScore in _IMP_core:
6274 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6275 class DistanceRestraint(IMP.Restraint):
6276  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6277 
6278  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6279 
6280  def __init__(self, *args):
6281  r"""
6282  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6283  __init__(DistanceRestraint self) -> DistanceRestraint
6284  """
6285  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6286 
6287  def get_score_object(self):
6288  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6289  return _IMP_core.DistanceRestraint_get_score_object(self)
6290 
6291  def get_index(self):
6292  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6293  return _IMP_core.DistanceRestraint_get_index(self)
6294 
6295  def get_version_info(self):
6296  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6297  return _IMP_core.DistanceRestraint_get_version_info(self)
6298  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6299 
6300  def __str__(self):
6301  r"""__str__(DistanceRestraint self) -> std::string"""
6302  return _IMP_core.DistanceRestraint___str__(self)
6303 
6304  def __repr__(self):
6305  r"""__repr__(DistanceRestraint self) -> std::string"""
6306  return _IMP_core.DistanceRestraint___repr__(self)
6307 
6308  @staticmethod
6309  def get_from(o):
6310  return _object_cast_to_DistanceRestraint(o)
6311 
6312 
6313  def _get_as_binary(self):
6314  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6315  return _IMP_core.DistanceRestraint__get_as_binary(self)
6316 
6317  def _set_from_binary(self, p):
6318  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6319  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6320 
6321  def __getstate__(self):
6322  p = self._get_as_binary()
6323  if len(self.__dict__) > 1:
6324  d = self.__dict__.copy()
6325  del d['this']
6326  p = (d, p)
6327  return p
6328 
6329  def __setstate__(self, p):
6330  if not hasattr(self, 'this'):
6331  self.__init__()
6332  if isinstance(p, tuple):
6333  d, p = p
6334  self.__dict__.update(d)
6335  return self._set_from_binary(p)
6336 
6337 
6338  def _get_jax(self):
6339  import jax.numpy as jnp
6340  ps = self.get_score_object()
6341  indexes = jnp.array([self.get_index()])
6342  ji = ps._get_jax(self.get_model(), indexes)
6343  def score(jm):
6344  return jnp.sum(ji.score_func(jm))
6345  return self._wrap_jax(score)
6346 
6347 
6348 # Register DistanceRestraint in _IMP_core:
6349 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6350 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6351  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6352 
6353  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6354 
6355  def __init__(self, f, pt):
6356  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6357  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6358 
6359  def do_get_inputs(self, m, pis):
6360  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6361  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6362 
6363  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6364  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"""
6365  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6366 
6367  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6368  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"""
6369  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6370 
6371  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6372  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"""
6373  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6374 
6375  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6376  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"""
6377  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6378 
6379  def get_version_info(self):
6380  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6381  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6382  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6383 
6384  def __str__(self):
6385  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6386  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6387 
6388  def __repr__(self):
6389  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6390  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6391 
6392  @staticmethod
6393  def get_from(o):
6394  return _object_cast_to_SphereDistanceToSingletonScore(o)
6395 
6396 
6397 # Register SphereDistanceToSingletonScore in _IMP_core:
6398 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6399 class ExcludedVolumeRestraint(IMP.Restraint):
6400  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6401 
6402  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6403 
6404  def __init__(self, *args):
6405  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6406  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6407 
6408  def do_get_inputs(self):
6409  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6410  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6411 
6412  def get_version_info(self):
6413  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6414  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6415  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6416 
6417  def do_create_decomposition(self):
6418  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6419  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6420 
6421  def do_create_current_decomposition(self):
6422  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6423  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6424 
6425  def get_indexes(self):
6426  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6427  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6428  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)
6429  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6430  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6431  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6432 
6433  def remove_pair_filter(self, d):
6434  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6435  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6436 
6437  def _python_index_pair_filter(self, d, start, stop):
6438  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6439  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6440 
6441  def remove_pair_filters(self, d):
6442  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6443  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6444 
6445  def set_pair_filters(self, ps):
6446  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6447  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6448 
6449  def set_pair_filters_order(self, objs):
6450  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6451  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6452 
6453  def add_pair_filter(self, obj):
6454  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6455  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6456 
6457  def add_pair_filters(self, objs):
6458  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6459  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6460 
6461  def clear_pair_filters(self):
6462  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6463  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6464 
6465  def get_number_of_pair_filters(self):
6466  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6467  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6468 
6469  def get_has_pair_filters(self):
6470  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6471  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6472 
6473  def get_pair_filter(self, i):
6474  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6475  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6476 
6477  def get_pair_filters(self):
6478  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6479  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6480 
6481  def erase_pair_filter(self, i):
6482  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6483  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6484 
6485  def reserve_pair_filters(self, sz):
6486  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6487  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6488 
6489  def __str__(self):
6490  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6491  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6492 
6493  def __repr__(self):
6494  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6495  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6496 
6497  @staticmethod
6498  def get_from(o):
6499  return _object_cast_to_ExcludedVolumeRestraint(o)
6500 
6501 
6502 # Register ExcludedVolumeRestraint in _IMP_core:
6503 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6504 class FixedRefiner(IMP.Refiner):
6505  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6506 
6507  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6508 
6509  def __init__(self, *args):
6510  r"""
6511  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6512  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6513  __init__(FixedRefiner self) -> FixedRefiner
6514  """
6515  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6516 
6517  def do_get_inputs(self, m, pis):
6518  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6519  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6520 
6521  def get_version_info(self):
6522  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6523  return _IMP_core.FixedRefiner_get_version_info(self)
6524  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6525 
6526  def __str__(self):
6527  r"""__str__(FixedRefiner self) -> std::string"""
6528  return _IMP_core.FixedRefiner___str__(self)
6529 
6530  def __repr__(self):
6531  r"""__repr__(FixedRefiner self) -> std::string"""
6532  return _IMP_core.FixedRefiner___repr__(self)
6533 
6534  @staticmethod
6535  def get_from(o):
6536  return _object_cast_to_FixedRefiner(o)
6537 
6538 
6539  def _get_as_binary(self):
6540  r"""_get_as_binary(FixedRefiner self) -> PyObject *"""
6541  return _IMP_core.FixedRefiner__get_as_binary(self)
6542 
6543  def _set_from_binary(self, p):
6544  r"""_set_from_binary(FixedRefiner self, PyObject * p)"""
6545  return _IMP_core.FixedRefiner__set_from_binary(self, p)
6546 
6547  def __getstate__(self):
6548  p = self._get_as_binary()
6549  if len(self.__dict__) > 1:
6550  d = self.__dict__.copy()
6551  del d['this']
6552  p = (d, p)
6553  return p
6554 
6555  def __setstate__(self, p):
6556  if not hasattr(self, 'this'):
6557  self.__init__()
6558  if isinstance(p, tuple):
6559  d, p = p
6560  self.__dict__.update(d)
6561  return self._set_from_binary(p)
6562 
6563 
6564 # Register FixedRefiner in _IMP_core:
6565 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6566 class GridClosePairsFinder(ClosePairsFinder):
6567  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6568 
6569  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6570 
6571  def __init__(self):
6572  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6573  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6574 
6575  def get_close_pairs(self, *args):
6576  r"""
6577  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6578  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6579  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6580  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6581  """
6582  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6583 
6584  def do_get_inputs(self, m, pis):
6585  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6586  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6587 
6588  def get_version_info(self):
6589  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6590  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6591  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6592 
6593  def __str__(self):
6594  r"""__str__(GridClosePairsFinder self) -> std::string"""
6595  return _IMP_core.GridClosePairsFinder___str__(self)
6596 
6597  def __repr__(self):
6598  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6599  return _IMP_core.GridClosePairsFinder___repr__(self)
6600 
6601  @staticmethod
6602  def get_from(o):
6603  return _object_cast_to_GridClosePairsFinder(o)
6604 
6605 
6606  def _get_as_binary(self):
6607  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6608  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6609 
6610  def _set_from_binary(self, p):
6611  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6612  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6613 
6614  def __getstate__(self):
6615  p = self._get_as_binary()
6616  if len(self.__dict__) > 1:
6617  d = self.__dict__.copy()
6618  del d['this']
6619  p = (d, p)
6620  return p
6621 
6622  def __setstate__(self, p):
6623  if not hasattr(self, 'this'):
6624  self.__init__()
6625  if isinstance(p, tuple):
6626  d, p = p
6627  self.__dict__.update(d)
6628  return self._set_from_binary(p)
6629 
6630 
6631 # Register GridClosePairsFinder in _IMP_core:
6632 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6633 class Harmonic(IMP.UnaryFunction):
6634  r"""Proxy of C++ IMP::core::Harmonic class."""
6635 
6636  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6637 
6638  def __init__(self, *args):
6639  r"""
6640  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6641  __init__(Harmonic self) -> Harmonic
6642  """
6643  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6644 
6645  def get_version_info(self):
6646  r"""get_version_info(Harmonic self) -> VersionInfo"""
6647  return _IMP_core.Harmonic_get_version_info(self)
6648  __swig_destroy__ = _IMP_core.delete_Harmonic
6649 
6650  def get_mean(self):
6651  r"""get_mean(Harmonic self) -> IMP::Float"""
6652  return _IMP_core.Harmonic_get_mean(self)
6653 
6654  def get_k(self):
6655  r"""get_k(Harmonic self) -> IMP::Float"""
6656  return _IMP_core.Harmonic_get_k(self)
6657 
6658  def set_mean(self, mean):
6659  r"""set_mean(Harmonic self, IMP::Float mean)"""
6660  return _IMP_core.Harmonic_set_mean(self, mean)
6661 
6662  def set_k(self, k):
6663  r"""set_k(Harmonic self, IMP::Float k)"""
6664  return _IMP_core.Harmonic_set_k(self, k)
6665 
6666  @staticmethod
6667  def get_k_from_standard_deviation(sd, t=297.15):
6668  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6669  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6670 
6671  def __str__(self):
6672  r"""__str__(Harmonic self) -> std::string"""
6673  return _IMP_core.Harmonic___str__(self)
6674 
6675  def __repr__(self):
6676  r"""__repr__(Harmonic self) -> std::string"""
6677  return _IMP_core.Harmonic___repr__(self)
6678 
6679  @staticmethod
6680  def get_from(o):
6681  return _object_cast_to_Harmonic(o)
6682 
6683 
6684  def _get_as_binary(self):
6685  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6686  return _IMP_core.Harmonic__get_as_binary(self)
6687 
6688  def _set_from_binary(self, p):
6689  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6690  return _IMP_core.Harmonic__set_from_binary(self, p)
6691 
6692  def __getstate__(self):
6693  p = self._get_as_binary()
6694  if len(self.__dict__) > 1:
6695  d = self.__dict__.copy()
6696  del d['this']
6697  p = (d, p)
6698  return p
6699 
6700  def __setstate__(self, p):
6701  if not hasattr(self, 'this'):
6702  self.__init__()
6703  if isinstance(p, tuple):
6704  d, p = p
6705  self.__dict__.update(d)
6706  return self._set_from_binary(p)
6707 
6708 
6709  def _get_jax(self):
6710  def score(val, mean, k):
6711  return 0.5 * k * (mean - val) ** 2
6712  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6713 
6714 
6715 # Register Harmonic in _IMP_core:
6716 _IMP_core.Harmonic_swigregister(Harmonic)
6717 class HarmonicWell(IMP.UnaryFunction):
6718  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6719 
6720  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6721 
6722  def __init__(self, well, k):
6723  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6724  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6725 
6726  def get_well(self):
6727  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6728  return _IMP_core.HarmonicWell_get_well(self)
6729 
6730  def get_k(self):
6731  r"""get_k(HarmonicWell self) -> double"""
6732  return _IMP_core.HarmonicWell_get_k(self)
6733 
6734  def get_version_info(self):
6735  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6736  return _IMP_core.HarmonicWell_get_version_info(self)
6737  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6738 
6739  def __str__(self):
6740  r"""__str__(HarmonicWell self) -> std::string"""
6741  return _IMP_core.HarmonicWell___str__(self)
6742 
6743  def __repr__(self):
6744  r"""__repr__(HarmonicWell self) -> std::string"""
6745  return _IMP_core.HarmonicWell___repr__(self)
6746 
6747  @staticmethod
6748  def get_from(o):
6749  return _object_cast_to_HarmonicWell(o)
6750 
6751 
6752  def _get_jax(self):
6753  import jax.numpy as jnp
6754  def score(val, lb, ub, k):
6755  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6756  well = self.get_well()
6757  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6758 
6759 
6760 # Register HarmonicWell in _IMP_core:
6761 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6762 class HarmonicLowerBound(Harmonic):
6763  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6764 
6765  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6766 
6767  def __init__(self, *args):
6768  r"""
6769  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6770  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6771  """
6772  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6773  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6774 
6775  def __str__(self):
6776  r"""__str__(HarmonicLowerBound self) -> std::string"""
6777  return _IMP_core.HarmonicLowerBound___str__(self)
6778 
6779  def __repr__(self):
6780  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6781  return _IMP_core.HarmonicLowerBound___repr__(self)
6782 
6783  @staticmethod
6784  def get_from(o):
6785  return _object_cast_to_HarmonicLowerBound(o)
6786 
6787 
6788  def _get_as_binary(self):
6789  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6790  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6791 
6792  def _set_from_binary(self, p):
6793  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6794  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6795 
6796  def __getstate__(self):
6797  p = self._get_as_binary()
6798  if len(self.__dict__) > 1:
6799  d = self.__dict__.copy()
6800  del d['this']
6801  p = (d, p)
6802  return p
6803 
6804  def __setstate__(self, p):
6805  if not hasattr(self, 'this'):
6806  self.__init__()
6807  if isinstance(p, tuple):
6808  d, p = p
6809  self.__dict__.update(d)
6810  return self._set_from_binary(p)
6811 
6812 
6813  def _get_jax(self):
6814  import jax.lax
6815  def score(val, mean, k):
6816  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6817  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6818 
6819 
6820 # Register HarmonicLowerBound in _IMP_core:
6821 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6822 class HarmonicUpperBound(Harmonic):
6823  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6824 
6825  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6826 
6827  def __init__(self, *args):
6828  r"""
6829  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6830  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6831  """
6832  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6833  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6834 
6835  def __str__(self):
6836  r"""__str__(HarmonicUpperBound self) -> std::string"""
6837  return _IMP_core.HarmonicUpperBound___str__(self)
6838 
6839  def __repr__(self):
6840  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6841  return _IMP_core.HarmonicUpperBound___repr__(self)
6842 
6843  @staticmethod
6844  def get_from(o):
6845  return _object_cast_to_HarmonicUpperBound(o)
6846 
6847 
6848  def _get_as_binary(self):
6849  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6850  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6851 
6852  def _set_from_binary(self, p):
6853  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6854  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6855 
6856  def __getstate__(self):
6857  p = self._get_as_binary()
6858  if len(self.__dict__) > 1:
6859  d = self.__dict__.copy()
6860  del d['this']
6861  p = (d, p)
6862  return p
6863 
6864  def __setstate__(self, p):
6865  if not hasattr(self, 'this'):
6866  self.__init__()
6867  if isinstance(p, tuple):
6868  d, p = p
6869  self.__dict__.update(d)
6870  return self._set_from_binary(p)
6871 
6872 
6873  def _get_jax(self):
6874  import jax.lax
6875  def score(val, mean, k):
6876  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6877  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6878 
6879 
6880 # Register HarmonicUpperBound in _IMP_core:
6881 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6882 class WeightedSum(IMP.UnaryFunction):
6883  r"""Proxy of C++ IMP::core::WeightedSum class."""
6884 
6885  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6886 
6887  def __init__(self, funcs, weights):
6888  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6889  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6890 
6891  def get_function_number(self):
6892  r"""get_function_number(WeightedSum self) -> unsigned int"""
6893  return _IMP_core.WeightedSum_get_function_number(self)
6894 
6895  def set_weights(self, weights):
6896  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6897  return _IMP_core.WeightedSum_set_weights(self, weights)
6898 
6899  def get_weights(self):
6900  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6901  return _IMP_core.WeightedSum_get_weights(self)
6902 
6903  def get_weight(self, i):
6904  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6905  return _IMP_core.WeightedSum_get_weight(self, i)
6906 
6907  def get_function(self, i):
6908  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6909  return _IMP_core.WeightedSum_get_function(self, i)
6910 
6911  def get_version_info(self):
6912  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6913  return _IMP_core.WeightedSum_get_version_info(self)
6914  __swig_destroy__ = _IMP_core.delete_WeightedSum
6915 
6916  def __str__(self):
6917  r"""__str__(WeightedSum self) -> std::string"""
6918  return _IMP_core.WeightedSum___str__(self)
6919 
6920  def __repr__(self):
6921  r"""__repr__(WeightedSum self) -> std::string"""
6922  return _IMP_core.WeightedSum___repr__(self)
6923 
6924  @staticmethod
6925  def get_from(o):
6926  return _object_cast_to_WeightedSum(o)
6927 
6928 
6929  def _get_jax(self):
6930  import jax.numpy as jnp
6931  def score(val, funcs, weights):
6932  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6933  nfunc = self.get_function_number()
6934  funcs = [self.get_function(i).get_derived_object()._get_jax()
6935  for i in range(nfunc)]
6936  return functools.partial(score, funcs=funcs,
6937  weights=self.get_weights())
6938 
6939 
6940 # Register WeightedSum in _IMP_core:
6941 _IMP_core.WeightedSum_swigregister(WeightedSum)
6942 class WeightedSumOfExponential(IMP.UnaryFunction):
6943  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6944 
6945  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6946 
6947  def __init__(self, funcs, weights, denom=1.0):
6948  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6949  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6950 
6951  def get_function_number(self):
6952  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6953  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6954 
6955  def set_weights(self, weights):
6956  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6957  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6958 
6959  def get_weights(self):
6960  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6961  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6962 
6963  def get_weight(self, i):
6964  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6965  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6966 
6967  def get_function(self, i):
6968  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6969  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6970 
6971  def set_denominator(self, denom):
6972  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6973  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6974 
6975  def get_denominator(self):
6976  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6977  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6978 
6979  def get_version_info(self):
6980  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6981  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6982  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6983 
6984  def __str__(self):
6985  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6986  return _IMP_core.WeightedSumOfExponential___str__(self)
6987 
6988  def __repr__(self):
6989  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6990  return _IMP_core.WeightedSumOfExponential___repr__(self)
6991 
6992  @staticmethod
6993  def get_from(o):
6994  return _object_cast_to_WeightedSumOfExponential(o)
6995 
6996 
6997  def _get_jax(self):
6998  import jax.numpy as jnp
6999  def score(val, funcs, weights, denom):
7000  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
7001  for (f, weight) in zip(funcs, weights))
7002  return -jnp.log(exp_sum) * denom
7003  nfunc = self.get_function_number()
7004  funcs = [self.get_function(i).get_derived_object()._get_jax()
7005  for i in range(nfunc)]
7006  return functools.partial(score, funcs=funcs,
7007  weights=self.get_weights(),
7008  denom=self.get_denominator())
7009 
7010 
7011 # Register WeightedSumOfExponential in _IMP_core:
7012 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
7013 class MSConnectivityRestraint(IMP.Restraint):
7014  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
7015 
7016  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7017 
7018  def __init__(self, m, ps, eps=0.1):
7019  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
7020  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
7021 
7022  def add_type(self, ps):
7023  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
7024  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
7025 
7026  def add_composite(self, *args):
7027  r"""
7028  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
7029  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
7030  """
7031  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
7032 
7033  def get_connected_pairs(self):
7034  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
7035  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
7036 
7037  def get_pair_score(self):
7038  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
7039  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
7040 
7041  def do_create_current_decomposition(self):
7042  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
7043  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
7044 
7045  def do_get_inputs(self):
7046  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
7047  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
7048 
7049  def get_version_info(self):
7050  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
7051  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
7052  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
7053 
7054  def __str__(self):
7055  r"""__str__(MSConnectivityRestraint self) -> std::string"""
7056  return _IMP_core.MSConnectivityRestraint___str__(self)
7057 
7058  def __repr__(self):
7059  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
7060  return _IMP_core.MSConnectivityRestraint___repr__(self)
7061 
7062  @staticmethod
7063  def get_from(o):
7064  return _object_cast_to_MSConnectivityRestraint(o)
7065 
7066 
7067 # Register MSConnectivityRestraint in _IMP_core:
7068 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
7069 class HierarchyTraits(object):
7070  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
7071 
7072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7073 
7074  def __init__(self, *args):
7075  r"""
7076  __init__(HierarchyTraits self) -> HierarchyTraits
7077  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
7078  """
7079  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
7080 
7081  def get_children_key(self):
7082  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
7083  return _IMP_core.HierarchyTraits_get_children_key(self)
7084 
7085  def get_parent_key(self):
7086  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
7087  return _IMP_core.HierarchyTraits_get_parent_key(self)
7088 
7089  def __eq__(self, o):
7090  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
7091  return _IMP_core.HierarchyTraits___eq__(self, o)
7092 
7093  def show(self, *args):
7094  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
7095  return _IMP_core.HierarchyTraits_show(self, *args)
7096 
7097  def __str__(self):
7098  r"""__str__(HierarchyTraits self) -> std::string"""
7099  return _IMP_core.HierarchyTraits___str__(self)
7100 
7101  def __repr__(self):
7102  r"""__repr__(HierarchyTraits self) -> std::string"""
7103  return _IMP_core.HierarchyTraits___repr__(self)
7104  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
7105 
7106 # Register HierarchyTraits in _IMP_core:
7107 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
7108 class Hierarchy(IMP.Decorator):
7109  r"""Proxy of C++ IMP::core::Hierarchy class."""
7110 
7111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7112 
7113  def get_decorator_traits(self):
7114  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
7115  return _IMP_core.Hierarchy_get_decorator_traits(self)
7116 
7117  @staticmethod
7118  def get_default_decorator_traits():
7119  r"""get_default_decorator_traits() -> HierarchyTraits"""
7120  return _IMP_core.Hierarchy_get_default_decorator_traits()
7121 
7122  def __init__(self, *args):
7123  r"""
7124  __init__(Hierarchy self) -> Hierarchy
7125  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7126  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7127  """
7128  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7129 
7130  def show(self, *args):
7131  r"""show(Hierarchy self, _ostream out=std::cout)"""
7132  return _IMP_core.Hierarchy_show(self, *args)
7133 
7134  @staticmethod
7135  def setup_particle(*args):
7136  r"""
7137  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7138  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7139  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7140  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7141  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7142  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7143  """
7144  return _IMP_core.Hierarchy_setup_particle(*args)
7145 
7146  @staticmethod
7147  def get_is_setup(*args):
7148  r"""
7149  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7150  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7151  """
7152  return _IMP_core.Hierarchy_get_is_setup(*args)
7153 
7154  @staticmethod
7155  def get_changed_key():
7156  r"""get_changed_key() -> TriggerKey"""
7157  return _IMP_core.Hierarchy_get_changed_key()
7158 
7159  def get_parent(self):
7160  r"""get_parent(Hierarchy self) -> Hierarchy"""
7161  return _IMP_core.Hierarchy_get_parent(self)
7162 
7163  def get_number_of_children(self):
7164  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7165  return _IMP_core.Hierarchy_get_number_of_children(self)
7166 
7167  def get_child(self, i):
7168  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7169  return _IMP_core.Hierarchy_get_child(self, i)
7170 
7171  def get_children_indexes(self):
7172  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7173  return _IMP_core.Hierarchy_get_children_indexes(self)
7174 
7175  def get_children(self):
7176  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7177  return _IMP_core.Hierarchy_get_children(self)
7178 
7179  def remove_child(self, *args):
7180  r"""
7181  remove_child(Hierarchy self, unsigned int i)
7182  remove_child(Hierarchy self, Hierarchy h)
7183  """
7184  return _IMP_core.Hierarchy_remove_child(self, *args)
7185 
7186  def clear_children(self):
7187  r"""clear_children(Hierarchy self)"""
7188  return _IMP_core.Hierarchy_clear_children(self)
7189 
7190  def add_child(self, h):
7191  r"""add_child(Hierarchy self, Hierarchy h)"""
7192  return _IMP_core.Hierarchy_add_child(self, h)
7193 
7194  def add_child_at(self, h, pos):
7195  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7196  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7197 
7198  def get_child_index(self, *args):
7199  r"""
7200  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7201  get_child_index(Hierarchy self) -> int
7202  """
7203  return _IMP_core.Hierarchy_get_child_index(self, *args)
7204 
7205  @staticmethod
7206  def get_default_traits():
7207  r"""get_default_traits() -> HierarchyTraits"""
7208  return _IMP_core.Hierarchy_get_default_traits()
7209 
7210  def get_traits(self):
7211  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7212  return _IMP_core.Hierarchy_get_traits(self)
7213 
7214  def add_attribute(self, *args):
7215  r"""
7216  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7217  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7218  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7219  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7220  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7221  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7222  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7223  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7224  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7225  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7226  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7227  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7228  """
7229  return _IMP_core.Hierarchy_add_attribute(self, *args)
7230 
7231  def get_value(self, *args):
7232  r"""
7233  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7234  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7235  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7236  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7237  get_value(Hierarchy self, StringKey a0) -> IMP::String
7238  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7239  get_value(Hierarchy self, ObjectKey a0) -> Object
7240  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7241  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7242  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7243  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7244  """
7245  return _IMP_core.Hierarchy_get_value(self, *args)
7246 
7247  def set_value(self, *args):
7248  r"""
7249  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7250  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7251  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7252  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7253  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7254  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7255  set_value(Hierarchy self, ObjectKey a0, Object a1)
7256  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7257  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7258  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7259  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7260  """
7261  return _IMP_core.Hierarchy_set_value(self, *args)
7262 
7263  def remove_attribute(self, *args):
7264  r"""
7265  remove_attribute(Hierarchy self, FloatKey a0)
7266  remove_attribute(Hierarchy self, IntKey a0)
7267  remove_attribute(Hierarchy self, FloatsKey a0)
7268  remove_attribute(Hierarchy self, IntsKey a0)
7269  remove_attribute(Hierarchy self, StringKey a0)
7270  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7271  remove_attribute(Hierarchy self, ObjectKey a0)
7272  remove_attribute(Hierarchy self, SparseFloatKey a0)
7273  remove_attribute(Hierarchy self, SparseIntKey a0)
7274  remove_attribute(Hierarchy self, SparseStringKey a0)
7275  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7276  """
7277  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7278 
7279  def has_attribute(self, *args):
7280  r"""
7281  has_attribute(Hierarchy self, FloatKey a0) -> bool
7282  has_attribute(Hierarchy self, IntKey a0) -> bool
7283  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7284  has_attribute(Hierarchy self, IntsKey a0) -> bool
7285  has_attribute(Hierarchy self, StringKey a0) -> bool
7286  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7287  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7288  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7289  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7290  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7291  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7292  """
7293  return _IMP_core.Hierarchy_has_attribute(self, *args)
7294 
7295  def get_derivative(self, a0):
7296  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7297  return _IMP_core.Hierarchy_get_derivative(self, a0)
7298 
7299  def get_name(self):
7300  r"""get_name(Hierarchy self) -> std::string"""
7301  return _IMP_core.Hierarchy_get_name(self)
7302 
7303  def clear_caches(self):
7304  r"""clear_caches(Hierarchy self)"""
7305  return _IMP_core.Hierarchy_clear_caches(self)
7306 
7307  def set_name(self, a0):
7308  r"""set_name(Hierarchy self, std::string a0)"""
7309  return _IMP_core.Hierarchy_set_name(self, a0)
7310 
7311  def set_check_level(self, a0):
7312  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7313  return _IMP_core.Hierarchy_set_check_level(self, a0)
7314 
7315  def add_to_derivative(self, a0, a1, a2):
7316  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7317  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7318 
7319  def set_is_optimized(self, a0, a1):
7320  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7321  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7322 
7323  def get_is_optimized(self, a0):
7324  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7325  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7326 
7327  def get_check_level(self):
7328  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7329  return _IMP_core.Hierarchy_get_check_level(self)
7330 
7331  def __eq__(self, *args):
7332  r"""
7333  __eq__(Hierarchy self, Hierarchy o) -> bool
7334  __eq__(Hierarchy self, Particle d) -> bool
7335  """
7336  return _IMP_core.Hierarchy___eq__(self, *args)
7337 
7338  def __ne__(self, *args):
7339  r"""
7340  __ne__(Hierarchy self, Hierarchy o) -> bool
7341  __ne__(Hierarchy self, Particle d) -> bool
7342  """
7343  return _IMP_core.Hierarchy___ne__(self, *args)
7344 
7345  def __le__(self, *args):
7346  r"""
7347  __le__(Hierarchy self, Hierarchy o) -> bool
7348  __le__(Hierarchy self, Particle d) -> bool
7349  """
7350  return _IMP_core.Hierarchy___le__(self, *args)
7351 
7352  def __lt__(self, *args):
7353  r"""
7354  __lt__(Hierarchy self, Hierarchy o) -> bool
7355  __lt__(Hierarchy self, Particle d) -> bool
7356  """
7357  return _IMP_core.Hierarchy___lt__(self, *args)
7358 
7359  def __ge__(self, *args):
7360  r"""
7361  __ge__(Hierarchy self, Hierarchy o) -> bool
7362  __ge__(Hierarchy self, Particle d) -> bool
7363  """
7364  return _IMP_core.Hierarchy___ge__(self, *args)
7365 
7366  def __gt__(self, *args):
7367  r"""
7368  __gt__(Hierarchy self, Hierarchy o) -> bool
7369  __gt__(Hierarchy self, Particle d) -> bool
7370  """
7371  return _IMP_core.Hierarchy___gt__(self, *args)
7372 
7373  def __hash__(self):
7374  r"""__hash__(Hierarchy self) -> std::size_t"""
7375  return _IMP_core.Hierarchy___hash__(self)
7376 
7377  def __str__(self):
7378  r"""__str__(Hierarchy self) -> std::string"""
7379  return _IMP_core.Hierarchy___str__(self)
7380 
7381  def __repr__(self):
7382  r"""__repr__(Hierarchy self) -> std::string"""
7383  return _IMP_core.Hierarchy___repr__(self)
7384  __swig_destroy__ = _IMP_core.delete_Hierarchy
7385 
7386 # Register Hierarchy in _IMP_core:
7387 _IMP_core.Hierarchy_swigregister(Hierarchy)
7388 class HierarchyVisitor(object):
7389  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7390 
7391  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7392  __repr__ = _swig_repr
7393 
7394  def __init__(self):
7395  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7396  if self.__class__ == HierarchyVisitor:
7397  _self = None
7398  else:
7399  _self = self
7400  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7401 
7402  if self.__class__ != HierarchyVisitor:
7403  _director_objects.register(self)
7404 
7405 
7406 
7407 
7408  def __call__(self, p):
7409  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7410  return _IMP_core.HierarchyVisitor___call__(self, p)
7411  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7412  def __disown__(self):
7413  self.this.disown()
7414  _IMP_core.disown_HierarchyVisitor(self)
7415  return weakref.proxy(self)
7416 
7417 # Register HierarchyVisitor in _IMP_core:
7418 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7419 class ModifierVisitor(HierarchyVisitor):
7420  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7421 
7422  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7423  __repr__ = _swig_repr
7424 
7425  def __init__(self, sm):
7426  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7427  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7428  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7429 
7430 # Register ModifierVisitor in _IMP_core:
7431 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7432 class HierarchyCounter(HierarchyVisitor):
7433  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7434 
7435  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7436 
7437  def __init__(self):
7438  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7439  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7440 
7441  def get_count(self):
7442  r"""get_count(HierarchyCounter self) -> unsigned int"""
7443  return _IMP_core.HierarchyCounter_get_count(self)
7444 
7445  def show(self, *args):
7446  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7447  return _IMP_core.HierarchyCounter_show(self, *args)
7448 
7449  def __str__(self):
7450  r"""__str__(HierarchyCounter self) -> std::string"""
7451  return _IMP_core.HierarchyCounter___str__(self)
7452 
7453  def __repr__(self):
7454  r"""__repr__(HierarchyCounter self) -> std::string"""
7455  return _IMP_core.HierarchyCounter___repr__(self)
7456 
7457  def _get_as_binary(self):
7458  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7459  return _IMP_core.HierarchyCounter__get_as_binary(self)
7460 
7461  def _set_from_binary(self, p):
7462  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7463  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7464 
7465  def __getstate__(self):
7466  p = self._get_as_binary()
7467  if len(self.__dict__) > 1:
7468  d = self.__dict__.copy()
7469  del d['this']
7470  p = (d, p)
7471  return p
7472 
7473  def __setstate__(self, p):
7474  if not hasattr(self, 'this'):
7475  self.__init__()
7476  if isinstance(p, tuple):
7477  d, p = p
7478  self.__dict__.update(d)
7479  return self._set_from_binary(p)
7480 
7481  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7482 
7483 # Register HierarchyCounter in _IMP_core:
7484 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7485 
7486 def get_leaves(mhd):
7487  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7488  return _IMP_core.get_leaves(mhd)
7489 
7490 def get_internal(mhd):
7491  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7492  return _IMP_core.get_internal(mhd)
7493 
7494 def get_all_descendants(mhd):
7495  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7496  return _IMP_core.get_all_descendants(mhd)
7497 
7498 def get_root(h):
7499  r"""get_root(Hierarchy h) -> Hierarchy"""
7500  return _IMP_core.get_root(h)
7501 
7502 def visit_breadth_first(d, f):
7503  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7504  return _IMP_core.visit_breadth_first(d, f)
7505 
7506 def visit_depth_first(d, f):
7507  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7508  return _IMP_core.visit_depth_first(d, f)
7509 class LeavesRefiner(IMP.Refiner):
7510  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7511 
7512  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7513 
7514  def __init__(self, tr):
7515  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7516  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7517 
7518  def do_get_inputs(self, m, pis):
7519  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7520  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7521 
7522  def get_version_info(self):
7523  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7524  return _IMP_core.LeavesRefiner_get_version_info(self)
7525  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7526 
7527  def __str__(self):
7528  r"""__str__(LeavesRefiner self) -> std::string"""
7529  return _IMP_core.LeavesRefiner___str__(self)
7530 
7531  def __repr__(self):
7532  r"""__repr__(LeavesRefiner self) -> std::string"""
7533  return _IMP_core.LeavesRefiner___repr__(self)
7534 
7535  @staticmethod
7536  def get_from(o):
7537  return _object_cast_to_LeavesRefiner(o)
7538 
7539 
7540 # Register LeavesRefiner in _IMP_core:
7541 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7542 class Linear(IMP.UnaryFunction):
7543  r"""Proxy of C++ IMP::core::Linear class."""
7544 
7545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7546 
7547  def __init__(self, *args):
7548  r"""
7549  __init__(Linear self, double offset, double slope) -> Linear
7550  __init__(Linear self) -> Linear
7551  """
7552  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7553 
7554  def set_slope(self, f):
7555  r"""set_slope(Linear self, double f)"""
7556  return _IMP_core.Linear_set_slope(self, f)
7557 
7558  def get_slope(self):
7559  r"""get_slope(Linear self) -> double"""
7560  return _IMP_core.Linear_get_slope(self)
7561 
7562  def set_offset(self, f):
7563  r"""set_offset(Linear self, double f)"""
7564  return _IMP_core.Linear_set_offset(self, f)
7565 
7566  def get_offset(self):
7567  r"""get_offset(Linear self) -> double"""
7568  return _IMP_core.Linear_get_offset(self)
7569 
7570  def get_version_info(self):
7571  r"""get_version_info(Linear self) -> VersionInfo"""
7572  return _IMP_core.Linear_get_version_info(self)
7573  __swig_destroy__ = _IMP_core.delete_Linear
7574 
7575  def __str__(self):
7576  r"""__str__(Linear self) -> std::string"""
7577  return _IMP_core.Linear___str__(self)
7578 
7579  def __repr__(self):
7580  r"""__repr__(Linear self) -> std::string"""
7581  return _IMP_core.Linear___repr__(self)
7582 
7583  @staticmethod
7584  def get_from(o):
7585  return _object_cast_to_Linear(o)
7586 
7587 
7588  def _get_as_binary(self):
7589  r"""_get_as_binary(Linear self) -> PyObject *"""
7590  return _IMP_core.Linear__get_as_binary(self)
7591 
7592  def _set_from_binary(self, p):
7593  r"""_set_from_binary(Linear self, PyObject * p)"""
7594  return _IMP_core.Linear__set_from_binary(self, p)
7595 
7596  def __getstate__(self):
7597  p = self._get_as_binary()
7598  if len(self.__dict__) > 1:
7599  d = self.__dict__.copy()
7600  del d['this']
7601  p = (d, p)
7602  return p
7603 
7604  def __setstate__(self, p):
7605  if not hasattr(self, 'this'):
7606  self.__init__()
7607  if isinstance(p, tuple):
7608  d, p = p
7609  self.__dict__.update(d)
7610  return self._set_from_binary(p)
7611 
7612 
7613  def _get_jax(self):
7614  def score(val, slope, offset):
7615  return (val - offset) * slope
7616  return functools.partial(score, slope=self.get_slope(),
7617  offset=self.get_offset())
7618 
7619 
7620 # Register Linear in _IMP_core:
7621 _IMP_core.Linear_swigregister(Linear)
7622 class LogNormalMover(MonteCarloMover):
7623  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7624 
7625  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7626 
7627  def __init__(self, *args):
7628  r"""
7629  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7630  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7631  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7632  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7633  __init__(LogNormalMover self) -> LogNormalMover
7634  """
7635  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7636 
7637  def set_sigma(self, sigma):
7638  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7639  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7640 
7641  def get_sigma(self):
7642  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7643  return _IMP_core.LogNormalMover_get_sigma(self)
7644 
7645  def get_version_info(self):
7646  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7647  return _IMP_core.LogNormalMover_get_version_info(self)
7648  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7649 
7650  def __str__(self):
7651  r"""__str__(LogNormalMover self) -> std::string"""
7652  return _IMP_core.LogNormalMover___str__(self)
7653 
7654  def __repr__(self):
7655  r"""__repr__(LogNormalMover self) -> std::string"""
7656  return _IMP_core.LogNormalMover___repr__(self)
7657 
7658  @staticmethod
7659  def get_from(o):
7660  return _object_cast_to_LogNormalMover(o)
7661 
7662 
7663  def _get_as_binary(self):
7664  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7665  return _IMP_core.LogNormalMover__get_as_binary(self)
7666 
7667  def _set_from_binary(self, p):
7668  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7669  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7670 
7671  def __getstate__(self):
7672  p = self._get_as_binary()
7673  if len(self.__dict__) > 1:
7674  d = self.__dict__.copy()
7675  del d['this']
7676  p = (d, p)
7677  return p
7678 
7679  def __setstate__(self, p):
7680  if not hasattr(self, 'this'):
7681  self.__init__()
7682  if isinstance(p, tuple):
7683  d, p = p
7684  self.__dict__.update(d)
7685  return self._set_from_binary(p)
7686 
7687 
7688 # Register LogNormalMover in _IMP_core:
7689 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7690 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7691 
7692 class MonteCarlo(IMP.Optimizer):
7693  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7694 
7695  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7696 
7697  def __init__(self, *args):
7698  r"""
7699  __init__(MonteCarlo self, Model m) -> MonteCarlo
7700  __init__(MonteCarlo self) -> MonteCarlo
7701  """
7702  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(*args))
7703 
7704  def get_version_info(self):
7705  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7706  return _IMP_core.MonteCarlo_get_version_info(self)
7707  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7708 
7709  def set_return_best(self, tf):
7710  r"""set_return_best(MonteCarlo self, bool tf)"""
7711  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7712 
7713  def get_return_best(self):
7714  r"""get_return_best(MonteCarlo self) -> bool"""
7715  return _IMP_core.MonteCarlo_get_return_best(self)
7716 
7717  def set_score_moved(self, mv):
7718  r"""set_score_moved(MonteCarlo self, bool mv)"""
7719  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7720 
7721  def set_kt(self, t):
7722  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7723  return _IMP_core.MonteCarlo_set_kt(self, t)
7724 
7725  def get_kt(self):
7726  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7727  return _IMP_core.MonteCarlo_get_kt(self)
7728 
7729  def get_last_accepted_energy(self):
7730  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7731  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7732 
7733  def set_last_accepted_energy(self, energy):
7734  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7735  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7736 
7737  def get_best_accepted_energy(self):
7738  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7739  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7740 
7741  def set_best_accepted_energy(self, energy):
7742  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7743  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7744 
7745  def get_number_of_downward_steps(self):
7746  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7747  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7748 
7749  def get_number_of_upward_steps(self):
7750  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7751  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7752 
7753  def get_number_of_proposed_steps(self):
7754  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7755  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7756 
7757  def get_number_of_accepted_steps(self):
7758  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7759  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7760 
7761  def set_number_of_downward_steps(self, nsteps):
7762  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7763  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7764 
7765  def set_number_of_upward_steps(self, nsteps):
7766  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7767  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7768 
7769  def set_number_of_rejected_steps(self, nsteps):
7770  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7771  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7772 
7773  def reset_statistics(self):
7774  r"""reset_statistics(MonteCarlo self)"""
7775  return _IMP_core.MonteCarlo_reset_statistics(self)
7776 
7777  def set_score_threshold(self, s):
7778  r"""set_score_threshold(MonteCarlo self, double s)"""
7779  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7780 
7781  def get_score_threshold(self):
7782  r"""get_score_threshold(MonteCarlo self) -> double"""
7783  return _IMP_core.MonteCarlo_get_score_threshold(self)
7784 
7785  def set_maximum_difference(self, d):
7786  r"""set_maximum_difference(MonteCarlo self, double d)"""
7787  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7788 
7789  def get_maximum_difference(self):
7790  r"""get_maximum_difference(MonteCarlo self) -> double"""
7791  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7792  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)
7793  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7794  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7795  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7796 
7797  def remove_mover(self, d):
7798  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7799  return _IMP_core.MonteCarlo_remove_mover(self, d)
7800 
7801  def _python_index_mover(self, d, start, stop):
7802  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7803  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7804 
7805  def remove_movers(self, d):
7806  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7807  return _IMP_core.MonteCarlo_remove_movers(self, d)
7808 
7809  def set_movers(self, ps):
7810  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7811  return _IMP_core.MonteCarlo_set_movers(self, ps)
7812 
7813  def set_movers_order(self, objs):
7814  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7815  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7816 
7817  def add_mover(self, obj):
7818  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7819  return _IMP_core.MonteCarlo_add_mover(self, obj)
7820 
7821  def add_movers(self, objs):
7822  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7823  return _IMP_core.MonteCarlo_add_movers(self, objs)
7824 
7825  def clear_movers(self):
7826  r"""clear_movers(MonteCarlo self)"""
7827  return _IMP_core.MonteCarlo_clear_movers(self)
7828 
7829  def get_number_of_movers(self):
7830  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7831  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7832 
7833  def get_has_movers(self):
7834  r"""get_has_movers(MonteCarlo self) -> bool"""
7835  return _IMP_core.MonteCarlo_get_has_movers(self)
7836 
7837  def get_mover(self, i):
7838  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7839  return _IMP_core.MonteCarlo_get_mover(self, i)
7840 
7841  def get_movers(self):
7842  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7843  return _IMP_core.MonteCarlo_get_movers(self)
7844 
7845  def erase_mover(self, i):
7846  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7847  return _IMP_core.MonteCarlo_erase_mover(self, i)
7848 
7849  def reserve_movers(self, sz):
7850  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7851  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7852 
7853  def __str__(self):
7854  r"""__str__(MonteCarlo self) -> std::string"""
7855  return _IMP_core.MonteCarlo___str__(self)
7856 
7857  def __repr__(self):
7858  r"""__repr__(MonteCarlo self) -> std::string"""
7859  return _IMP_core.MonteCarlo___repr__(self)
7860 
7861  @staticmethod
7862  def get_from(o):
7863  return _object_cast_to_MonteCarlo(o)
7864 
7865 
7866  def _get_as_binary(self):
7867  r"""_get_as_binary(MonteCarlo self) -> PyObject *"""
7868  return _IMP_core.MonteCarlo__get_as_binary(self)
7869 
7870  def _set_from_binary(self, p):
7871  r"""_set_from_binary(MonteCarlo self, PyObject * p)"""
7872  return _IMP_core.MonteCarlo__set_from_binary(self, p)
7873 
7874  def __getstate__(self):
7875  p = self._get_as_binary()
7876  if len(self.__dict__) > 1:
7877  d = self.__dict__.copy()
7878  del d['this']
7879  p = (d, p)
7880  return p
7881 
7882  def __setstate__(self, p):
7883  if not hasattr(self, 'this'):
7884  self.__init__()
7885  if isinstance(p, tuple):
7886  d, p = p
7887  self.__dict__.update(d)
7888  return self._set_from_binary(p)
7889 
7890 
7891  def _get_jax(self):
7892  from IMP.core._jax_util import _MCJAXInfo
7893  return _MCJAXInfo(self)
7894 
7895  def _get_jax_optimizer(self, max_steps):
7896  import IMP.core._jax_util
7897  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps)
7898 
7899  def _optimize_jax(self, max_steps):
7900  opt = self._get_jax_optimizer(max_steps)
7901  score, mc_state = opt.optimize(opt.get_initial_state())
7902  return score
7903 
7904 
7905 # Register MonteCarlo in _IMP_core:
7906 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7907 class MonteCarloWithLocalOptimization(MonteCarlo):
7908  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7909 
7910  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7911 
7912  def __init__(self, opt, steps):
7913  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7914  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7915 
7916  def get_number_of_steps(self):
7917  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7918  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7919 
7920  def get_local_optimizer(self):
7921  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7922  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7923  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7924 
7925  def __str__(self):
7926  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7927  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7928 
7929  def __repr__(self):
7930  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7931  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7932 
7933  @staticmethod
7934  def get_from(o):
7935  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7936 
7937 
7938 # Register MonteCarloWithLocalOptimization in _IMP_core:
7939 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7940 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7941  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7942 
7943  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7944 
7945  def __init__(self, opt, ns):
7946  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7947  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7948  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7949 
7950  def __str__(self):
7951  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7952  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7953 
7954  def __repr__(self):
7955  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7956  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7957 
7958  @staticmethod
7959  def get_from(o):
7960  return _object_cast_to_MonteCarloWithBasinHopping(o)
7961 
7962 
7963 # Register MonteCarloWithBasinHopping in _IMP_core:
7964 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7965 class NeighborsTable(IMP.ScoreState):
7966  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7967 
7968  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7969 
7970  def __init__(self, *args):
7971  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7972  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7973 
7974  def get_neighbors(self, pi):
7975  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7976  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7977 
7978  def get_version_info(self):
7979  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7980  return _IMP_core.NeighborsTable_get_version_info(self)
7981  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7982 
7983  def __str__(self):
7984  r"""__str__(NeighborsTable self) -> std::string"""
7985  return _IMP_core.NeighborsTable___str__(self)
7986 
7987  def __repr__(self):
7988  r"""__repr__(NeighborsTable self) -> std::string"""
7989  return _IMP_core.NeighborsTable___repr__(self)
7990 
7991  @staticmethod
7992  def get_from(o):
7993  return _object_cast_to_NeighborsTable(o)
7994 
7995 
7996 # Register NeighborsTable in _IMP_core:
7997 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7998 class NormalMover(MonteCarloMover):
7999  r"""Proxy of C++ IMP::core::NormalMover class."""
8000 
8001  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8002 
8003  def __init__(self, *args):
8004  r"""
8005  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
8006  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
8007  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
8008  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
8009  __init__(NormalMover self) -> NormalMover
8010  """
8011  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
8012 
8013  def set_sigma(self, sigma):
8014  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
8015  return _IMP_core.NormalMover_set_sigma(self, sigma)
8016 
8017  def get_sigma(self):
8018  r"""get_sigma(NormalMover self) -> IMP::Float"""
8019  return _IMP_core.NormalMover_get_sigma(self)
8020 
8021  def get_version_info(self):
8022  r"""get_version_info(NormalMover self) -> VersionInfo"""
8023  return _IMP_core.NormalMover_get_version_info(self)
8024  __swig_destroy__ = _IMP_core.delete_NormalMover
8025 
8026  def __str__(self):
8027  r"""__str__(NormalMover self) -> std::string"""
8028  return _IMP_core.NormalMover___str__(self)
8029 
8030  def __repr__(self):
8031  r"""__repr__(NormalMover self) -> std::string"""
8032  return _IMP_core.NormalMover___repr__(self)
8033 
8034  @staticmethod
8035  def get_from(o):
8036  return _object_cast_to_NormalMover(o)
8037 
8038 
8039  def _get_as_binary(self):
8040  r"""_get_as_binary(NormalMover self) -> PyObject *"""
8041  return _IMP_core.NormalMover__get_as_binary(self)
8042 
8043  def _set_from_binary(self, p):
8044  r"""_set_from_binary(NormalMover self, PyObject * p)"""
8045  return _IMP_core.NormalMover__set_from_binary(self, p)
8046 
8047  def __getstate__(self):
8048  p = self._get_as_binary()
8049  if len(self.__dict__) > 1:
8050  d = self.__dict__.copy()
8051  del d['this']
8052  p = (d, p)
8053  return p
8054 
8055  def __setstate__(self, p):
8056  if not hasattr(self, 'this'):
8057  self.__init__()
8058  if isinstance(p, tuple):
8059  d, p = p
8060  self.__dict__.update(d)
8061  return self._set_from_binary(p)
8062 
8063 
8064 # Register NormalMover in _IMP_core:
8065 _IMP_core.NormalMover_swigregister(NormalMover)
8066 class OpenCubicSpline(_OpenCubicSplineBase):
8067  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
8068 
8069  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8070 
8071  def __init__(self, values, minrange, spacing, extend=False):
8072  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
8073  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
8074 
8075  def get_minrange(self):
8076  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
8077  return _IMP_core.OpenCubicSpline_get_minrange(self)
8078 
8079  def get_spacing(self):
8080  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
8081  return _IMP_core.OpenCubicSpline_get_spacing(self)
8082 
8083  def get_values(self):
8084  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
8085  return _IMP_core.OpenCubicSpline_get_values(self)
8086 
8087  def get_extend(self):
8088  r"""get_extend(OpenCubicSpline self) -> bool"""
8089  return _IMP_core.OpenCubicSpline_get_extend(self)
8090 
8091  def get_second_derivatives(self):
8092  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
8093  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
8094 
8095  def __str__(self):
8096  r"""__str__(OpenCubicSpline self) -> std::string"""
8097  return _IMP_core.OpenCubicSpline___str__(self)
8098 
8099  def __repr__(self):
8100  r"""__repr__(OpenCubicSpline self) -> std::string"""
8101  return _IMP_core.OpenCubicSpline___repr__(self)
8102 
8103  @staticmethod
8104  def get_from(o):
8105  return _object_cast_to_OpenCubicSpline(o)
8106 
8107 
8108  def _get_jax(self):
8109  import jax.numpy as jnp
8110  from IMP.core._jax_util import _spline
8111  def score(feature, minrange, maxrange, spacing, values, second_derivs):
8112  # clip feature to range (extend=True behavior)
8113  feature = jnp.clip(feature, minrange, maxrange)
8114  # determine bin index and thus the cubic fragment to use:
8115  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
8116  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
8117  values, second_derivs)
8118  spacing = self.get_spacing()
8119  minrange = self.get_minrange()
8120  values = jnp.asarray(self.get_values())
8121  maxrange = minrange + spacing * (len(values) - 1)
8122  return functools.partial(
8123  score, minrange=minrange, maxrange=maxrange,
8124  spacing=spacing, values=values,
8125  second_derivs=jnp.asarray(self.get_second_derivatives()))
8126 
8127  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
8128 
8129 # Register OpenCubicSpline in _IMP_core:
8130 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
8131 class QuadraticClosePairsFinder(ClosePairsFinder):
8132  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
8133 
8134  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8135 
8136  def __init__(self):
8137  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
8138  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
8139 
8140  def get_are_close_and_filtered(self, *args):
8141  r"""
8142  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
8143  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
8144  """
8145  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
8146 
8147  def get_close_pairs(self, *args):
8148  r"""
8149  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8150  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8151  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
8152  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
8153  """
8154  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
8155 
8156  def do_get_inputs(self, m, pis):
8157  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8158  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8159 
8160  def get_version_info(self):
8161  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8162  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8163  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8164 
8165  def __str__(self):
8166  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8167  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8168 
8169  def __repr__(self):
8170  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8171  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8172 
8173  @staticmethod
8174  def get_from(o):
8175  return _object_cast_to_QuadraticClosePairsFinder(o)
8176 
8177 
8178 # Register QuadraticClosePairsFinder in _IMP_core:
8179 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8180 class RefinedPairsPairScore(IMP.PairScore):
8181  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8182 
8183  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8184 
8185  def __init__(self, r, f):
8186  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8187  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8188 
8189  def do_get_inputs(self, m, pis):
8190  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8191  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8192 
8193  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8194  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"""
8195  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8196 
8197  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8198  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"""
8199  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8200 
8201  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8202  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"""
8203  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8204 
8205  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8206  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"""
8207  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8208 
8209  def get_version_info(self):
8210  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8211  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8212  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8213 
8214  def __str__(self):
8215  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8216  return _IMP_core.RefinedPairsPairScore___str__(self)
8217 
8218  def __repr__(self):
8219  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8220  return _IMP_core.RefinedPairsPairScore___repr__(self)
8221 
8222  @staticmethod
8223  def get_from(o):
8224  return _object_cast_to_RefinedPairsPairScore(o)
8225 
8226 
8227 # Register RefinedPairsPairScore in _IMP_core:
8228 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8229 class RigidBody(XYZ):
8230  r"""Proxy of C++ IMP::core::RigidBody class."""
8231 
8232  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8233 
8234  def get_rigid_members(self):
8235  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8236  return _IMP_core.RigidBody_get_rigid_members(self)
8237 
8238  @staticmethod
8239  def get_rotation_key():
8240  r"""get_rotation_key() -> Vector4DDerivKey"""
8241  return _IMP_core.RigidBody_get_rotation_key()
8242 
8243  def get_member_particle_indexes(self):
8244  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8245  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8246 
8247  def get_body_member_particle_indexes(self):
8248  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8249  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8250 
8251  def get_member_indexes(self):
8252  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8253  return _IMP_core.RigidBody_get_member_indexes(self)
8254 
8255  def show(self, *args):
8256  r"""show(RigidBody self, _ostream out=std::cout)"""
8257  return _IMP_core.RigidBody_show(self, *args)
8258 
8259  @staticmethod
8260  def setup_particle(*args):
8261  r"""
8262  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8263  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8264  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8265  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8266  """
8267  return _IMP_core.RigidBody_setup_particle(*args)
8268 
8269  @staticmethod
8270  def teardown_particle(rb):
8271  r"""teardown_particle(RigidBody rb)"""
8272  return _IMP_core.RigidBody_teardown_particle(rb)
8273 
8274  def __init__(self, *args):
8275  r"""
8276  __init__(RigidBody self) -> RigidBody
8277  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8278  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8279  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8280  """
8281  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8282  __swig_destroy__ = _IMP_core.delete_RigidBody
8283 
8284  @staticmethod
8285  def get_is_setup(*args):
8286  r"""
8287  get_is_setup(_ParticleAdaptor p) -> bool
8288  get_is_setup(Model m, ParticleIndex pi) -> bool
8289  """
8290  return _IMP_core.RigidBody_get_is_setup(*args)
8291 
8292  def get_coordinates(self):
8293  r"""get_coordinates(RigidBody self) -> Vector3D"""
8294  return _IMP_core.RigidBody_get_coordinates(self)
8295 
8296  def get_rotation(self):
8297  r"""get_rotation(RigidBody self) -> Rotation3D"""
8298  return _IMP_core.RigidBody_get_rotation(self)
8299 
8300  def get_reference_frame(self):
8301  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8302  return _IMP_core.RigidBody_get_reference_frame(self)
8303 
8304  def set_reference_frame(self, tr):
8305  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8306  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8307 
8308  def set_reference_frame_lazy(self, tr):
8309  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8310  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8311 
8312  def set_reference_frame_from_members(self, members):
8313  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8314  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8315 
8316  def pull_back_members_adjoints(self, da):
8317  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8318  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8319 
8320  def pull_back_member_adjoints(self, pi, da):
8321  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8322  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8323 
8324  def pull_back_body_member_adjoints(self, pi, da):
8325  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8326  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8327 
8328  def add_to_rotational_derivatives(self, qderiv, da):
8329  r"""add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)"""
8330  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, qderiv, da)
8331 
8332  def add_to_torque(self, torque_local, da):
8333  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8334  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8335 
8336  def get_torque(self):
8337  r"""get_torque(RigidBody self) -> Vector3D"""
8338  return _IMP_core.RigidBody_get_torque(self)
8339 
8340  def get_coordinates_are_optimized(self):
8341  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8342  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8343 
8344  def set_coordinates_are_optimized(self, tf):
8345  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8346  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8347 
8348  def normalize_rotation(self):
8349  r"""normalize_rotation(RigidBody self)"""
8350  return _IMP_core.RigidBody_normalize_rotation(self)
8351 
8352  def update_members(self):
8353  r"""update_members(RigidBody self)"""
8354  return _IMP_core.RigidBody_update_members(self)
8355 
8356  def get_rotational_derivatives(self):
8357  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8358  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8359 
8360  def get_number_of_members(self):
8361  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8362  return _IMP_core.RigidBody_get_number_of_members(self)
8363 
8364  def get_member(self, i):
8365  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8366  return _IMP_core.RigidBody_get_member(self, i)
8367 
8368  def add_member(self, p):
8369  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8370  return _IMP_core.RigidBody_add_member(self, p)
8371 
8372  def add_non_rigid_member(self, p):
8373  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8374  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8375 
8376  def set_is_rigid_member(self, pi, tf):
8377  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8378  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8379 
8380  def remove_member(self, p):
8381  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8382  return _IMP_core.RigidBody_remove_member(self, p)
8383 
8384  def add_attribute(self, *args):
8385  r"""
8386  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8387  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8388  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8389  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8390  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8391  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8392  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8393  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8394  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8395  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8396  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8397  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8398  """
8399  return _IMP_core.RigidBody_add_attribute(self, *args)
8400 
8401  def get_value(self, *args):
8402  r"""
8403  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8404  get_value(RigidBody self, IntKey a0) -> IMP::Int
8405  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8406  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8407  get_value(RigidBody self, StringKey a0) -> IMP::String
8408  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8409  get_value(RigidBody self, ObjectKey a0) -> Object
8410  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8411  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8412  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8413  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8414  """
8415  return _IMP_core.RigidBody_get_value(self, *args)
8416 
8417  def set_value(self, *args):
8418  r"""
8419  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8420  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8421  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8422  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8423  set_value(RigidBody self, StringKey a0, IMP::String a1)
8424  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8425  set_value(RigidBody self, ObjectKey a0, Object a1)
8426  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8427  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8428  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8429  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8430  """
8431  return _IMP_core.RigidBody_set_value(self, *args)
8432 
8433  def remove_attribute(self, *args):
8434  r"""
8435  remove_attribute(RigidBody self, FloatKey a0)
8436  remove_attribute(RigidBody self, IntKey a0)
8437  remove_attribute(RigidBody self, FloatsKey a0)
8438  remove_attribute(RigidBody self, IntsKey a0)
8439  remove_attribute(RigidBody self, StringKey a0)
8440  remove_attribute(RigidBody self, ParticleIndexKey a0)
8441  remove_attribute(RigidBody self, ObjectKey a0)
8442  remove_attribute(RigidBody self, SparseFloatKey a0)
8443  remove_attribute(RigidBody self, SparseIntKey a0)
8444  remove_attribute(RigidBody self, SparseStringKey a0)
8445  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8446  """
8447  return _IMP_core.RigidBody_remove_attribute(self, *args)
8448 
8449  def has_attribute(self, *args):
8450  r"""
8451  has_attribute(RigidBody self, FloatKey a0) -> bool
8452  has_attribute(RigidBody self, IntKey a0) -> bool
8453  has_attribute(RigidBody self, FloatsKey a0) -> bool
8454  has_attribute(RigidBody self, IntsKey a0) -> bool
8455  has_attribute(RigidBody self, StringKey a0) -> bool
8456  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8457  has_attribute(RigidBody self, ObjectKey a0) -> bool
8458  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8459  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8460  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8461  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8462  """
8463  return _IMP_core.RigidBody_has_attribute(self, *args)
8464 
8465  def get_derivative(self, a0):
8466  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8467  return _IMP_core.RigidBody_get_derivative(self, a0)
8468 
8469  def get_name(self):
8470  r"""get_name(RigidBody self) -> std::string"""
8471  return _IMP_core.RigidBody_get_name(self)
8472 
8473  def clear_caches(self):
8474  r"""clear_caches(RigidBody self)"""
8475  return _IMP_core.RigidBody_clear_caches(self)
8476 
8477  def set_name(self, a0):
8478  r"""set_name(RigidBody self, std::string a0)"""
8479  return _IMP_core.RigidBody_set_name(self, a0)
8480 
8481  def set_check_level(self, a0):
8482  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8483  return _IMP_core.RigidBody_set_check_level(self, a0)
8484 
8485  def add_to_derivative(self, a0, a1, a2):
8486  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8487  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8488 
8489  def set_is_optimized(self, a0, a1):
8490  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8491  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8492 
8493  def get_is_optimized(self, a0):
8494  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8495  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8496 
8497  def get_check_level(self):
8498  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8499  return _IMP_core.RigidBody_get_check_level(self)
8500 
8501  def __eq__(self, *args):
8502  r"""
8503  __eq__(RigidBody self, RigidBody o) -> bool
8504  __eq__(RigidBody self, Particle d) -> bool
8505  """
8506  return _IMP_core.RigidBody___eq__(self, *args)
8507 
8508  def __ne__(self, *args):
8509  r"""
8510  __ne__(RigidBody self, RigidBody o) -> bool
8511  __ne__(RigidBody self, Particle d) -> bool
8512  """
8513  return _IMP_core.RigidBody___ne__(self, *args)
8514 
8515  def __le__(self, *args):
8516  r"""
8517  __le__(RigidBody self, RigidBody o) -> bool
8518  __le__(RigidBody self, Particle d) -> bool
8519  """
8520  return _IMP_core.RigidBody___le__(self, *args)
8521 
8522  def __lt__(self, *args):
8523  r"""
8524  __lt__(RigidBody self, RigidBody o) -> bool
8525  __lt__(RigidBody self, Particle d) -> bool
8526  """
8527  return _IMP_core.RigidBody___lt__(self, *args)
8528 
8529  def __ge__(self, *args):
8530  r"""
8531  __ge__(RigidBody self, RigidBody o) -> bool
8532  __ge__(RigidBody self, Particle d) -> bool
8533  """
8534  return _IMP_core.RigidBody___ge__(self, *args)
8535 
8536  def __gt__(self, *args):
8537  r"""
8538  __gt__(RigidBody self, RigidBody o) -> bool
8539  __gt__(RigidBody self, Particle d) -> bool
8540  """
8541  return _IMP_core.RigidBody___gt__(self, *args)
8542 
8543  def __hash__(self):
8544  r"""__hash__(RigidBody self) -> std::size_t"""
8545  return _IMP_core.RigidBody___hash__(self)
8546 
8547  def __str__(self):
8548  r"""__str__(RigidBody self) -> std::string"""
8549  return _IMP_core.RigidBody___str__(self)
8550 
8551  def __repr__(self):
8552  r"""__repr__(RigidBody self) -> std::string"""
8553  return _IMP_core.RigidBody___repr__(self)
8554 
8555  def _get_as_binary(self):
8556  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8557  return _IMP_core.RigidBody__get_as_binary(self)
8558 
8559  def _set_from_binary(self, p):
8560  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8561  return _IMP_core.RigidBody__set_from_binary(self, p)
8562 
8563  def __getstate__(self):
8564  p = self._get_as_binary()
8565  if len(self.__dict__) > 1:
8566  d = self.__dict__.copy()
8567  del d['this']
8568  p = (d, p)
8569  return p
8570 
8571  def __setstate__(self, p):
8572  if not hasattr(self, 'this'):
8573  self.__init__()
8574  if isinstance(p, tuple):
8575  d, p = p
8576  self.__dict__.update(d)
8577  return self._set_from_binary(p)
8578 
8579 
8580 # Register RigidBody in _IMP_core:
8581 _IMP_core.RigidBody_swigregister(RigidBody)
8582 
8584  r"""add_rigid_body_cache_key(ObjectKey k)"""
8585  return _IMP_core.add_rigid_body_cache_key(k)
8586 class RigidBodyMember(XYZ):
8587  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8588 
8589  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8590 
8591  def show(self, *args):
8592  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8593  return _IMP_core.RigidBodyMember_show(self, *args)
8594 
8595  def get_rigid_body(self):
8596  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8597  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8598 
8599  def get_internal_coordinates(self):
8600  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8601  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8602 
8603  def set_internal_coordinates(self, v):
8604  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8605  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8606 
8607  def set_internal_transformation(self, v):
8608  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8609  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8610 
8611  def get_internal_transformation(self):
8612  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8613  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8614  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8615 
8616  def set_coordinates(self, *args):
8617  r"""
8618  set_coordinates(RigidBodyMember self, Vector3D center)
8619  set_coordinates(RigidBodyMember self, Transformation3D tr)
8620  """
8621  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8622 
8623  def __init__(self, *args):
8624  r"""
8625  __init__(RigidBodyMember self) -> RigidBodyMember
8626  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8627  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8628  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8629  """
8630  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8631 
8632  @staticmethod
8633  def get_is_setup(*args):
8634  r"""
8635  get_is_setup(_ParticleAdaptor p) -> bool
8636  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8637  """
8638  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8639 
8640  @staticmethod
8641  def get_internal_coordinate_keys():
8642  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8643  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8644 
8645  @staticmethod
8646  def get_internal_rotation_key():
8647  r"""get_internal_rotation_key() -> Vector4DDerivKey"""
8648  return _IMP_core.RigidBodyMember_get_internal_rotation_key()
8649 
8650  def add_attribute(self, *args):
8651  r"""
8652  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8653  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8654  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8655  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8656  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8657  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8658  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8659  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8660  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8661  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8662  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8663  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8664  """
8665  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8666 
8667  def get_value(self, *args):
8668  r"""
8669  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8670  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8671  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8672  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8673  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8674  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8675  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8676  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8677  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8678  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8679  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8680  """
8681  return _IMP_core.RigidBodyMember_get_value(self, *args)
8682 
8683  def set_value(self, *args):
8684  r"""
8685  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8686  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8687  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8688  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8689  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8690  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8691  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8692  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8693  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8694  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8695  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8696  """
8697  return _IMP_core.RigidBodyMember_set_value(self, *args)
8698 
8699  def remove_attribute(self, *args):
8700  r"""
8701  remove_attribute(RigidBodyMember self, FloatKey a0)
8702  remove_attribute(RigidBodyMember self, IntKey a0)
8703  remove_attribute(RigidBodyMember self, FloatsKey a0)
8704  remove_attribute(RigidBodyMember self, IntsKey a0)
8705  remove_attribute(RigidBodyMember self, StringKey a0)
8706  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8707  remove_attribute(RigidBodyMember self, ObjectKey a0)
8708  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8709  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8710  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8711  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8712  """
8713  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8714 
8715  def has_attribute(self, *args):
8716  r"""
8717  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8718  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8719  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8720  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8721  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8722  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8723  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8724  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8725  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8726  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8727  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8728  """
8729  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8730 
8731  def get_derivative(self, a0):
8732  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8733  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8734 
8735  def get_name(self):
8736  r"""get_name(RigidBodyMember self) -> std::string"""
8737  return _IMP_core.RigidBodyMember_get_name(self)
8738 
8739  def clear_caches(self):
8740  r"""clear_caches(RigidBodyMember self)"""
8741  return _IMP_core.RigidBodyMember_clear_caches(self)
8742 
8743  def set_name(self, a0):
8744  r"""set_name(RigidBodyMember self, std::string a0)"""
8745  return _IMP_core.RigidBodyMember_set_name(self, a0)
8746 
8747  def set_check_level(self, a0):
8748  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8749  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8750 
8751  def add_to_derivative(self, a0, a1, a2):
8752  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8753  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8754 
8755  def set_is_optimized(self, a0, a1):
8756  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8757  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8758 
8759  def get_is_optimized(self, a0):
8760  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8761  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8762 
8763  def get_check_level(self):
8764  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8765  return _IMP_core.RigidBodyMember_get_check_level(self)
8766 
8767  def __eq__(self, *args):
8768  r"""
8769  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8770  __eq__(RigidBodyMember self, Particle d) -> bool
8771  """
8772  return _IMP_core.RigidBodyMember___eq__(self, *args)
8773 
8774  def __ne__(self, *args):
8775  r"""
8776  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8777  __ne__(RigidBodyMember self, Particle d) -> bool
8778  """
8779  return _IMP_core.RigidBodyMember___ne__(self, *args)
8780 
8781  def __le__(self, *args):
8782  r"""
8783  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8784  __le__(RigidBodyMember self, Particle d) -> bool
8785  """
8786  return _IMP_core.RigidBodyMember___le__(self, *args)
8787 
8788  def __lt__(self, *args):
8789  r"""
8790  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8791  __lt__(RigidBodyMember self, Particle d) -> bool
8792  """
8793  return _IMP_core.RigidBodyMember___lt__(self, *args)
8794 
8795  def __ge__(self, *args):
8796  r"""
8797  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8798  __ge__(RigidBodyMember self, Particle d) -> bool
8799  """
8800  return _IMP_core.RigidBodyMember___ge__(self, *args)
8801 
8802  def __gt__(self, *args):
8803  r"""
8804  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8805  __gt__(RigidBodyMember self, Particle d) -> bool
8806  """
8807  return _IMP_core.RigidBodyMember___gt__(self, *args)
8808 
8809  def __hash__(self):
8810  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8811  return _IMP_core.RigidBodyMember___hash__(self)
8812 
8813  def __str__(self):
8814  r"""__str__(RigidBodyMember self) -> std::string"""
8815  return _IMP_core.RigidBodyMember___str__(self)
8816 
8817  def __repr__(self):
8818  r"""__repr__(RigidBodyMember self) -> std::string"""
8819  return _IMP_core.RigidBodyMember___repr__(self)
8820 
8821  def _get_as_binary(self):
8822  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8823  return _IMP_core.RigidBodyMember__get_as_binary(self)
8824 
8825  def _set_from_binary(self, p):
8826  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8827  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8828 
8829  def __getstate__(self):
8830  p = self._get_as_binary()
8831  if len(self.__dict__) > 1:
8832  d = self.__dict__.copy()
8833  del d['this']
8834  p = (d, p)
8835  return p
8836 
8837  def __setstate__(self, p):
8838  if not hasattr(self, 'this'):
8839  self.__init__()
8840  if isinstance(p, tuple):
8841  d, p = p
8842  self.__dict__.update(d)
8843  return self._set_from_binary(p)
8844 
8845 
8846 # Register RigidBodyMember in _IMP_core:
8847 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8848 class RigidMember(RigidBodyMember):
8849  r"""Proxy of C++ IMP::core::RigidMember class."""
8850 
8851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8852 
8853  def show(self, *args):
8854  r"""show(RigidMember self, _ostream out=std::cout)"""
8855  return _IMP_core.RigidMember_show(self, *args)
8856 
8857  def __init__(self, *args):
8858  r"""
8859  __init__(RigidMember self) -> RigidMember
8860  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8861  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8862  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8863  """
8864  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8865  __swig_destroy__ = _IMP_core.delete_RigidMember
8866 
8867  @staticmethod
8868  def get_is_setup(*args):
8869  r"""
8870  get_is_setup(_ParticleAdaptor p) -> bool
8871  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8872  """
8873  return _IMP_core.RigidMember_get_is_setup(*args)
8874 
8875  def add_attribute(self, *args):
8876  r"""
8877  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8878  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8879  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8880  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8881  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8882  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8883  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8884  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8885  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8886  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8887  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8888  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8889  """
8890  return _IMP_core.RigidMember_add_attribute(self, *args)
8891 
8892  def get_value(self, *args):
8893  r"""
8894  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8895  get_value(RigidMember self, IntKey a0) -> IMP::Int
8896  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8897  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8898  get_value(RigidMember self, StringKey a0) -> IMP::String
8899  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8900  get_value(RigidMember self, ObjectKey a0) -> Object
8901  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8902  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8903  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8904  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8905  """
8906  return _IMP_core.RigidMember_get_value(self, *args)
8907 
8908  def set_value(self, *args):
8909  r"""
8910  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8911  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8912  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8913  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8914  set_value(RigidMember self, StringKey a0, IMP::String a1)
8915  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8916  set_value(RigidMember self, ObjectKey a0, Object a1)
8917  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8918  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8919  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8920  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8921  """
8922  return _IMP_core.RigidMember_set_value(self, *args)
8923 
8924  def remove_attribute(self, *args):
8925  r"""
8926  remove_attribute(RigidMember self, FloatKey a0)
8927  remove_attribute(RigidMember self, IntKey a0)
8928  remove_attribute(RigidMember self, FloatsKey a0)
8929  remove_attribute(RigidMember self, IntsKey a0)
8930  remove_attribute(RigidMember self, StringKey a0)
8931  remove_attribute(RigidMember self, ParticleIndexKey a0)
8932  remove_attribute(RigidMember self, ObjectKey a0)
8933  remove_attribute(RigidMember self, SparseFloatKey a0)
8934  remove_attribute(RigidMember self, SparseIntKey a0)
8935  remove_attribute(RigidMember self, SparseStringKey a0)
8936  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8937  """
8938  return _IMP_core.RigidMember_remove_attribute(self, *args)
8939 
8940  def has_attribute(self, *args):
8941  r"""
8942  has_attribute(RigidMember self, FloatKey a0) -> bool
8943  has_attribute(RigidMember self, IntKey a0) -> bool
8944  has_attribute(RigidMember self, FloatsKey a0) -> bool
8945  has_attribute(RigidMember self, IntsKey a0) -> bool
8946  has_attribute(RigidMember self, StringKey a0) -> bool
8947  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8948  has_attribute(RigidMember self, ObjectKey a0) -> bool
8949  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8950  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8951  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8952  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8953  """
8954  return _IMP_core.RigidMember_has_attribute(self, *args)
8955 
8956  def get_derivative(self, a0):
8957  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8958  return _IMP_core.RigidMember_get_derivative(self, a0)
8959 
8960  def get_name(self):
8961  r"""get_name(RigidMember self) -> std::string"""
8962  return _IMP_core.RigidMember_get_name(self)
8963 
8964  def clear_caches(self):
8965  r"""clear_caches(RigidMember self)"""
8966  return _IMP_core.RigidMember_clear_caches(self)
8967 
8968  def set_name(self, a0):
8969  r"""set_name(RigidMember self, std::string a0)"""
8970  return _IMP_core.RigidMember_set_name(self, a0)
8971 
8972  def set_check_level(self, a0):
8973  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8974  return _IMP_core.RigidMember_set_check_level(self, a0)
8975 
8976  def add_to_derivative(self, a0, a1, a2):
8977  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8978  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8979 
8980  def set_is_optimized(self, a0, a1):
8981  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8982  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8983 
8984  def get_is_optimized(self, a0):
8985  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8986  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8987 
8988  def get_check_level(self):
8989  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8990  return _IMP_core.RigidMember_get_check_level(self)
8991 
8992  def __eq__(self, *args):
8993  r"""
8994  __eq__(RigidMember self, RigidMember o) -> bool
8995  __eq__(RigidMember self, Particle d) -> bool
8996  """
8997  return _IMP_core.RigidMember___eq__(self, *args)
8998 
8999  def __ne__(self, *args):
9000  r"""
9001  __ne__(RigidMember self, RigidMember o) -> bool
9002  __ne__(RigidMember self, Particle d) -> bool
9003  """
9004  return _IMP_core.RigidMember___ne__(self, *args)
9005 
9006  def __le__(self, *args):
9007  r"""
9008  __le__(RigidMember self, RigidMember o) -> bool
9009  __le__(RigidMember self, Particle d) -> bool
9010  """
9011  return _IMP_core.RigidMember___le__(self, *args)
9012 
9013  def __lt__(self, *args):
9014  r"""
9015  __lt__(RigidMember self, RigidMember o) -> bool
9016  __lt__(RigidMember self, Particle d) -> bool
9017  """
9018  return _IMP_core.RigidMember___lt__(self, *args)
9019 
9020  def __ge__(self, *args):
9021  r"""
9022  __ge__(RigidMember self, RigidMember o) -> bool
9023  __ge__(RigidMember self, Particle d) -> bool
9024  """
9025  return _IMP_core.RigidMember___ge__(self, *args)
9026 
9027  def __gt__(self, *args):
9028  r"""
9029  __gt__(RigidMember self, RigidMember o) -> bool
9030  __gt__(RigidMember self, Particle d) -> bool
9031  """
9032  return _IMP_core.RigidMember___gt__(self, *args)
9033 
9034  def __hash__(self):
9035  r"""__hash__(RigidMember self) -> std::size_t"""
9036  return _IMP_core.RigidMember___hash__(self)
9037 
9038  def __str__(self):
9039  r"""__str__(RigidMember self) -> std::string"""
9040  return _IMP_core.RigidMember___str__(self)
9041 
9042  def __repr__(self):
9043  r"""__repr__(RigidMember self) -> std::string"""
9044  return _IMP_core.RigidMember___repr__(self)
9045 
9046  def _get_as_binary(self):
9047  r"""_get_as_binary(RigidMember self) -> PyObject *"""
9048  return _IMP_core.RigidMember__get_as_binary(self)
9049 
9050  def _set_from_binary(self, p):
9051  r"""_set_from_binary(RigidMember self, PyObject * p)"""
9052  return _IMP_core.RigidMember__set_from_binary(self, p)
9053 
9054  def __getstate__(self):
9055  p = self._get_as_binary()
9056  if len(self.__dict__) > 1:
9057  d = self.__dict__.copy()
9058  del d['this']
9059  p = (d, p)
9060  return p
9061 
9062  def __setstate__(self, p):
9063  if not hasattr(self, 'this'):
9064  self.__init__()
9065  if isinstance(p, tuple):
9066  d, p = p
9067  self.__dict__.update(d)
9068  return self._set_from_binary(p)
9069 
9070 
9071 # Register RigidMember in _IMP_core:
9072 _IMP_core.RigidMember_swigregister(RigidMember)
9073 class NonRigidMember(RigidBodyMember):
9074  r"""Proxy of C++ IMP::core::NonRigidMember class."""
9075 
9076  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9077 
9078  def show(self, *args):
9079  r"""show(NonRigidMember self, _ostream out=std::cout)"""
9080  return _IMP_core.NonRigidMember_show(self, *args)
9081 
9082  def __init__(self, *args):
9083  r"""
9084  __init__(NonRigidMember self) -> NonRigidMember
9085  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
9086  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
9087  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
9088  """
9089  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
9090  __swig_destroy__ = _IMP_core.delete_NonRigidMember
9091 
9092  @staticmethod
9093  def get_is_setup(*args):
9094  r"""
9095  get_is_setup(_ParticleAdaptor p) -> bool
9096  get_is_setup(Model m, ParticleIndex p) -> bool
9097  """
9098  return _IMP_core.NonRigidMember_get_is_setup(*args)
9099 
9100  def add_to_internal_derivatives(self, deriv_parent, da):
9101  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
9102  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
9103 
9104  def add_to_internal_rotational_derivatives(self, qderiv, da):
9105  r"""add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)"""
9106  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, qderiv, da)
9107 
9108  def get_internal_derivatives(self):
9109  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
9110  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
9111 
9112  def get_internal_rotational_derivatives(self):
9113  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
9114  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
9115 
9116  def add_attribute(self, *args):
9117  r"""
9118  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
9119  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
9120  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
9121  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9122  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9123  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
9124  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9125  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
9126  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9127  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9128  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9129  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9130  """
9131  return _IMP_core.NonRigidMember_add_attribute(self, *args)
9132 
9133  def get_value(self, *args):
9134  r"""
9135  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
9136  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
9137  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
9138  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
9139  get_value(NonRigidMember self, StringKey a0) -> IMP::String
9140  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
9141  get_value(NonRigidMember self, ObjectKey a0) -> Object
9142  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
9143  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9144  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9145  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9146  """
9147  return _IMP_core.NonRigidMember_get_value(self, *args)
9148 
9149  def set_value(self, *args):
9150  r"""
9151  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9152  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9153  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9154  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9155  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9156  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9157  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9158  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9159  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9160  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9161  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9162  """
9163  return _IMP_core.NonRigidMember_set_value(self, *args)
9164 
9165  def remove_attribute(self, *args):
9166  r"""
9167  remove_attribute(NonRigidMember self, FloatKey a0)
9168  remove_attribute(NonRigidMember self, IntKey a0)
9169  remove_attribute(NonRigidMember self, FloatsKey a0)
9170  remove_attribute(NonRigidMember self, IntsKey a0)
9171  remove_attribute(NonRigidMember self, StringKey a0)
9172  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9173  remove_attribute(NonRigidMember self, ObjectKey a0)
9174  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9175  remove_attribute(NonRigidMember self, SparseIntKey a0)
9176  remove_attribute(NonRigidMember self, SparseStringKey a0)
9177  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9178  """
9179  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9180 
9181  def has_attribute(self, *args):
9182  r"""
9183  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9184  has_attribute(NonRigidMember self, IntKey a0) -> bool
9185  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9186  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9187  has_attribute(NonRigidMember self, StringKey a0) -> bool
9188  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9189  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9190  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9191  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9192  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9193  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9194  """
9195  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9196 
9197  def get_derivative(self, a0):
9198  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9199  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9200 
9201  def get_name(self):
9202  r"""get_name(NonRigidMember self) -> std::string"""
9203  return _IMP_core.NonRigidMember_get_name(self)
9204 
9205  def clear_caches(self):
9206  r"""clear_caches(NonRigidMember self)"""
9207  return _IMP_core.NonRigidMember_clear_caches(self)
9208 
9209  def set_name(self, a0):
9210  r"""set_name(NonRigidMember self, std::string a0)"""
9211  return _IMP_core.NonRigidMember_set_name(self, a0)
9212 
9213  def set_check_level(self, a0):
9214  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9215  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9216 
9217  def add_to_derivative(self, a0, a1, a2):
9218  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9219  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9220 
9221  def set_is_optimized(self, a0, a1):
9222  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9223  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9224 
9225  def get_is_optimized(self, a0):
9226  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9227  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9228 
9229  def get_check_level(self):
9230  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9231  return _IMP_core.NonRigidMember_get_check_level(self)
9232 
9233  def __eq__(self, *args):
9234  r"""
9235  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9236  __eq__(NonRigidMember self, Particle d) -> bool
9237  """
9238  return _IMP_core.NonRigidMember___eq__(self, *args)
9239 
9240  def __ne__(self, *args):
9241  r"""
9242  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9243  __ne__(NonRigidMember self, Particle d) -> bool
9244  """
9245  return _IMP_core.NonRigidMember___ne__(self, *args)
9246 
9247  def __le__(self, *args):
9248  r"""
9249  __le__(NonRigidMember self, NonRigidMember o) -> bool
9250  __le__(NonRigidMember self, Particle d) -> bool
9251  """
9252  return _IMP_core.NonRigidMember___le__(self, *args)
9253 
9254  def __lt__(self, *args):
9255  r"""
9256  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9257  __lt__(NonRigidMember self, Particle d) -> bool
9258  """
9259  return _IMP_core.NonRigidMember___lt__(self, *args)
9260 
9261  def __ge__(self, *args):
9262  r"""
9263  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9264  __ge__(NonRigidMember self, Particle d) -> bool
9265  """
9266  return _IMP_core.NonRigidMember___ge__(self, *args)
9267 
9268  def __gt__(self, *args):
9269  r"""
9270  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9271  __gt__(NonRigidMember self, Particle d) -> bool
9272  """
9273  return _IMP_core.NonRigidMember___gt__(self, *args)
9274 
9275  def __hash__(self):
9276  r"""__hash__(NonRigidMember self) -> std::size_t"""
9277  return _IMP_core.NonRigidMember___hash__(self)
9278 
9279  def __str__(self):
9280  r"""__str__(NonRigidMember self) -> std::string"""
9281  return _IMP_core.NonRigidMember___str__(self)
9282 
9283  def __repr__(self):
9284  r"""__repr__(NonRigidMember self) -> std::string"""
9285  return _IMP_core.NonRigidMember___repr__(self)
9286 
9287  def _get_as_binary(self):
9288  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9289  return _IMP_core.NonRigidMember__get_as_binary(self)
9290 
9291  def _set_from_binary(self, p):
9292  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9293  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9294 
9295  def __getstate__(self):
9296  p = self._get_as_binary()
9297  if len(self.__dict__) > 1:
9298  d = self.__dict__.copy()
9299  del d['this']
9300  p = (d, p)
9301  return p
9302 
9303  def __setstate__(self, p):
9304  if not hasattr(self, 'this'):
9305  self.__init__()
9306  if isinstance(p, tuple):
9307  d, p = p
9308  self.__dict__.update(d)
9309  return self._set_from_binary(p)
9310 
9311 
9312 # Register NonRigidMember in _IMP_core:
9313 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9314 class RigidMembersRefiner(IMP.Refiner):
9315  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9316 
9317  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9318 
9319  def __init__(self, *args):
9320  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9321  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9322 
9323  def do_get_inputs(self, m, pis):
9324  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9325  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9326 
9327  def get_version_info(self):
9328  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9329  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9330  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9331 
9332  def __str__(self):
9333  r"""__str__(RigidMembersRefiner self) -> std::string"""
9334  return _IMP_core.RigidMembersRefiner___str__(self)
9335 
9336  def __repr__(self):
9337  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9338  return _IMP_core.RigidMembersRefiner___repr__(self)
9339 
9340  @staticmethod
9341  def get_from(o):
9342  return _object_cast_to_RigidMembersRefiner(o)
9343 
9344 
9345 # Register RigidMembersRefiner in _IMP_core:
9346 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9347 
9348 def get_rigid_members_refiner():
9349  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9350  return _IMP_core.get_rigid_members_refiner()
9351 
9352 def transform(*args):
9353  r"""
9354  transform(XYZ a, Transformation3D tr)
9355  transform(RigidBody a, Transformation3D tr)
9356  """
9357  return _IMP_core.transform(*args)
9358 
9359 def get_initial_reference_frame(*args):
9360  r"""
9361  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9362  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9363  """
9364  return _IMP_core.get_initial_reference_frame(*args)
9365 
9366 def create_rigid_bodies(m, n, no_members=False):
9367  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9368  return _IMP_core.create_rigid_bodies(m, n, no_members)
9369 
9370 def show_rigid_body_hierarchy(*args):
9371  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9372  return _IMP_core.show_rigid_body_hierarchy(*args)
9373 
9374 def get_root_rigid_body(m):
9375  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9376  return _IMP_core.get_root_rigid_body(m)
9377 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9378  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9379 
9380  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9381 
9382  def __init__(self, *args):
9383  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9384  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9385 
9386  def do_get_inputs(self, m, pis):
9387  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9388  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9389 
9390  def do_get_outputs(self, m, pis):
9391  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9392  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9393 
9394  def get_version_info(self):
9395  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9396  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9397  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9398 
9399  def __str__(self):
9400  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9401  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9402 
9403  def __repr__(self):
9404  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9405  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9406 
9407  @staticmethod
9408  def get_from(o):
9409  return _object_cast_to__UpdateRigidBodyMembers(o)
9410 
9411 
9412 # Register _UpdateRigidBodyMembers in _IMP_core:
9413 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9414 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9415  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9416 
9417  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9418 
9419  def __init__(self, *args):
9420  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9421  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9422 
9423  def do_get_inputs(self, m, pis):
9424  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9425  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9426 
9427  def do_get_outputs(self, m, pis):
9428  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9429  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9430 
9431  def get_version_info(self):
9432  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9433  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9434  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9435 
9436  def __str__(self):
9437  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9438  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9439 
9440  def __repr__(self):
9441  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9442  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9443 
9444  @staticmethod
9445  def get_from(o):
9446  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9447 
9448 
9449 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9450 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9451 class _NormalizeRotation(IMP.SingletonModifier):
9452  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9453 
9454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9455 
9456  def __init__(self, *args):
9457  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9458  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9459 
9460  def do_get_inputs(self, m, pis):
9461  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9462  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9463 
9464  def do_get_outputs(self, m, pis):
9465  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9466  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9467 
9468  def get_version_info(self):
9469  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9470  return _IMP_core._NormalizeRotation_get_version_info(self)
9471  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9472 
9473  def __str__(self):
9474  r"""__str__(_NormalizeRotation self) -> std::string"""
9475  return _IMP_core._NormalizeRotation___str__(self)
9476 
9477  def __repr__(self):
9478  r"""__repr__(_NormalizeRotation self) -> std::string"""
9479  return _IMP_core._NormalizeRotation___repr__(self)
9480 
9481  @staticmethod
9482  def get_from(o):
9483  return _object_cast_to__NormalizeRotation(o)
9484 
9485 
9486 # Register _NormalizeRotation in _IMP_core:
9487 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9488 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9489  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9490 
9491  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9492 
9493  def __init__(self, *args, **kwargs):
9494  raise AttributeError("No constructor defined - class is abstract")
9495 
9496  def get_before_modifier(self):
9497  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9498  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9499 
9500  def get_container(self):
9501  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9502  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9503 
9504  def get_version_info(self):
9505  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9506  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9507  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9508 
9509  def __str__(self):
9510  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9511  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9512 
9513  def __repr__(self):
9514  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9515  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9516 
9517  @staticmethod
9518  def get_from(o):
9519  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9520 
9521 
9522  def _get_jax(self):
9523  from IMP.algebra._jax_util import _quaternion_normalize
9524  import jax
9525  normalize_rotations = jax.vmap(_quaternion_normalize, in_axes=0)
9526  def apply_func(jm):
9527  # Assume that constraint acts on all rigid bodies
9528  allrbs = jm['rigid_bodies']
9529  allrbs.quaternion = normalize_rotations(allrbs.quaternion)
9530  return jm
9531  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9532 
9533 
9534 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9535 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9536 class _RigidBodyPositionConstraint(IMP.Constraint):
9537  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9538 
9539  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9540 
9541  def __init__(self, *args, **kwargs):
9542  raise AttributeError("No constructor defined - class is abstract")
9543 
9544  def get_version_info(self):
9545  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9546  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9547  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9548 
9549  def get_before_modifier(self):
9550  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9551  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9552 
9553  def get_after_modifier(self):
9554  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9555  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9556 
9557  def get_index(self):
9558  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9559  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9560 
9561  def __str__(self):
9562  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9563  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9564 
9565  def __repr__(self):
9566  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9567  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9568 
9569  @staticmethod
9570  def get_from(o):
9571  return _object_cast_to__RigidBodyPositionConstraint(o)
9572 
9573 
9574  def _get_jax(self):
9575  import jax
9576  def apply_func(jm):
9577  # Assume that constraint acts on all rigid bodies
9578  bodies = jm['rigid_bodies'].bodies
9579  # todo: this could perhaps be better parallelized, as in most
9580  # cases (at least, without nested rigid bodies) the update of
9581  # one rigid body does not affect members of another body
9582  for body in bodies:
9583  jm = body.update_members(jm)
9584  return jm
9585  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9586 
9587 
9588 # Register _RigidBodyPositionConstraint in _IMP_core:
9589 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9590 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9591  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9592 
9593  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9594 
9595  def __init__(self, rb, constituents):
9596  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9597  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9598 
9599  def get_version_info(self):
9600  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9601  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9602  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9603 
9604  def __str__(self):
9605  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9606  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9607 
9608  def __repr__(self):
9609  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9610  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9611 
9612  @staticmethod
9613  def get_from(o):
9614  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9615 
9616 
9617 # Register RigidBodyHierarchyGeometry in _IMP_core:
9618 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9619 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9620  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9621 
9622  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9623 
9624  def __init__(self, *args):
9625  r"""
9626  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9627  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9628  """
9629  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9630 
9631  def get_version_info(self):
9632  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9633  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9634  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9635 
9636  def __str__(self):
9637  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9638  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9639 
9640  def __repr__(self):
9641  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9642  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9643 
9644  @staticmethod
9645  def get_from(o):
9646  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9647 
9648 
9649 # Register RigidBodyDerivativeGeometry in _IMP_core:
9650 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9651 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9652  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9653 
9654  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9655 
9656  def __init__(self, sc):
9657  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9658  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9659 
9660  def get_version_info(self):
9661  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9662  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9663  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9664 
9665  def __str__(self):
9666  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9667  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9668 
9669  def __repr__(self):
9670  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9671  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9672 
9673  @staticmethod
9674  def get_from(o):
9675  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9676 
9677 
9678 # Register RigidBodyDerivativesGeometry in _IMP_core:
9679 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9680 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9681  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9682 
9683  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9684 
9685  def __init__(self, *args):
9686  r"""
9687  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9688  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9689  """
9690  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9691 
9692  def get_version_info(self):
9693  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9694  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9695  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9696 
9697  def __str__(self):
9698  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9699  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9700 
9701  def __repr__(self):
9702  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9703  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9704 
9705  @staticmethod
9706  def get_from(o):
9707  return _object_cast_to_RigidBodyFrameGeometry(o)
9708 
9709 
9710 # Register RigidBodyFrameGeometry in _IMP_core:
9711 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9712 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9713  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9714 
9715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9716 
9717  def __init__(self, sc):
9718  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9719  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9720 
9721  def get_version_info(self):
9722  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9723  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9724  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9725 
9726  def __str__(self):
9727  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9728  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9729 
9730  def __repr__(self):
9731  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9732  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9733 
9734  @staticmethod
9735  def get_from(o):
9736  return _object_cast_to_RigidBodyFramesGeometry(o)
9737 
9738 
9739 # Register RigidBodyFramesGeometry in _IMP_core:
9740 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9741 class RigidBodyTorque(IMP.display.SegmentGeometry):
9742  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9743 
9744  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9745 
9746  def __init__(self, p):
9747  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9748  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9749 
9750  def __str__(self):
9751  r"""__str__(RigidBodyTorque self) -> std::string"""
9752  return _IMP_core.RigidBodyTorque___str__(self)
9753 
9754  def __repr__(self):
9755  r"""__repr__(RigidBodyTorque self) -> std::string"""
9756  return _IMP_core.RigidBodyTorque___repr__(self)
9757 
9758  @staticmethod
9759  def get_from(o):
9760  return _object_cast_to_RigidBodyTorque(o)
9761 
9762  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9763 
9764 # Register RigidBodyTorque in _IMP_core:
9765 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9766 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9767  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9768 
9769  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9770 
9771  def __init__(self):
9772  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9773  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9774 
9775  def get_close_pairs(self, *args):
9776  r"""
9777  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9778  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9779  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9780  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9781  """
9782  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9783 
9784  def do_get_inputs(self, m, pis):
9785  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9786  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9787 
9788  def get_version_info(self):
9789  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9790  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9791  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9792 
9793  def __str__(self):
9794  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9795  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9796 
9797  def __repr__(self):
9798  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9799  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9800 
9801  @staticmethod
9802  def get_from(o):
9803  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9804 
9805 
9806 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9807 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9808 class RestraintsScoringFunction(IMP.ScoringFunction):
9809  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9810 
9811  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9812 
9813  def __init__(self, *args):
9814  r"""
9815  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9816  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9817  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9818  """
9819  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9820 
9821  def do_add_score_and_derivatives(self, sa, ss):
9822  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9823  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9824 
9825  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9826  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)"""
9827  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9828 
9829  def do_get_inputs(self):
9830  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9831  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9832 
9833  def get_restraints(self):
9834  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9835  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9836 
9837  def set_restraints(self, d):
9838  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9839  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9840 
9841  def get_number_of_restraints(self):
9842  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9843  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9844 
9845  def clear_restraints(self):
9846  r"""clear_restraints(RestraintsScoringFunction self)"""
9847  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9848 
9849  def get_restraint(self, i):
9850  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9851  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9852 
9853  def erase_restraint(self, i):
9854  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9855  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9856 
9857  def add_restraint(self, d):
9858  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9859  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9860 
9861  def add_restraints(self, d):
9862  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9863  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9864 
9865  def _python_index_restraint(self, r, start, stop):
9866  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9867  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9868  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)
9869  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9870  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9871  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9872 
9873  def get_version_info(self):
9874  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9875  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9876  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9877 
9878  def __str__(self):
9879  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9880  return _IMP_core.RestraintsScoringFunction___str__(self)
9881 
9882  def __repr__(self):
9883  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9884  return _IMP_core.RestraintsScoringFunction___repr__(self)
9885 
9886  @staticmethod
9887  def get_from(o):
9888  return _object_cast_to_RestraintsScoringFunction(o)
9889 
9890 
9891  def _get_as_binary(self):
9892  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9893  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9894 
9895  def _set_from_binary(self, p):
9896  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9897  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9898 
9899  def __getstate__(self):
9900  p = self._get_as_binary()
9901  if len(self.__dict__) > 1:
9902  d = self.__dict__.copy()
9903  del d['this']
9904  p = (d, p)
9905  return p
9906 
9907  def __setstate__(self, p):
9908  if not hasattr(self, 'this'):
9909  self.__init__()
9910  if isinstance(p, tuple):
9911  d, p = p
9912  self.__dict__.update(d)
9913  return self._set_from_binary(p)
9914 
9915 
9916  def _get_jax(self):
9917  import IMP._jax_util
9918  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9919  funcs = [j.score_func for j in jis]
9920  keys = frozenset(x for j in jis for x in j._keys)
9921  def jax_sf(jm):
9922  return sum(f(jm) for f in funcs)
9923  return IMP._jax_util.JAXRestraintInfo(
9924  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9925 
9926 
9927 # Register RestraintsScoringFunction in _IMP_core:
9928 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9929 class RigidClosePairsFinder(ClosePairsFinder):
9930  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9931 
9932  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9933 
9934  def __init__(self, cpf=None):
9935  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9936  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9937 
9938  def do_get_inputs(self, m, pis):
9939  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9940  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9941 
9942  def get_close_pairs(self, *args):
9943  r"""
9944  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9945  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9946  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9947  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9948  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9949  """
9950  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9951 
9952  def get_version_info(self):
9953  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9954  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9955  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9956 
9957  def __str__(self):
9958  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9959  return _IMP_core.RigidClosePairsFinder___str__(self)
9960 
9961  def __repr__(self):
9962  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9963  return _IMP_core.RigidClosePairsFinder___repr__(self)
9964 
9965  @staticmethod
9966  def get_from(o):
9967  return _object_cast_to_RigidClosePairsFinder(o)
9968 
9969 
9970  def _get_as_binary(self):
9971  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9972  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9973 
9974  def _set_from_binary(self, p):
9975  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9976  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9977 
9978  def __getstate__(self):
9979  p = self._get_as_binary()
9980  if len(self.__dict__) > 1:
9981  d = self.__dict__.copy()
9982  del d['this']
9983  p = (d, p)
9984  return p
9985 
9986  def __setstate__(self, p):
9987  if not hasattr(self, 'this'):
9988  self.__init__()
9989  if isinstance(p, tuple):
9990  d, p = p
9991  self.__dict__.update(d)
9992  return self._set_from_binary(p)
9993 
9994 
9995 # Register RigidClosePairsFinder in _IMP_core:
9996 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9997 class _SphereDistancePairScore(IMP.PairScore):
9998  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9999 
10000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10001  __repr__ = _swig_repr
10002 
10003  def __init__(self, *args):
10004  r"""
10005  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
10006  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
10007  """
10008  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
10009 
10010  def do_get_inputs(self, m, pis):
10011  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10012  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
10013 
10014  def get_score_functor(self, *args):
10015  r"""
10016  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
10017  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
10018  """
10019  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
10020 
10021  def get_version_info(self):
10022  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
10023  return _IMP_core._SphereDistancePairScore_get_version_info(self)
10024  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
10025 
10026  @staticmethod
10027  def get_from(o):
10028  return _object_cast_to__SphereDistancePairScore(o)
10029 
10030 
10031  def _get_as_binary(self):
10032  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
10033  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
10034 
10035  def _set_from_binary(self, p):
10036  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
10037  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
10038 
10039  def __getstate__(self):
10040  p = self._get_as_binary()
10041  if len(self.__dict__) > 1:
10042  d = self.__dict__.copy()
10043  del d['this']
10044  p = (d, p)
10045  return p
10046 
10047  def __setstate__(self, p):
10048  if not hasattr(self, 'this'):
10049  self.__init__()
10050  if isinstance(p, tuple):
10051  d, p = p
10052  self.__dict__.update(d)
10053  return self._set_from_binary(p)
10054 
10055 
10056  def _get_jax(self, m, indexes):
10057  import jax.numpy as jnp
10058  def jax_score(jm, uf):
10059  xyzs = jm['xyz'][indexes]
10060  rs = jm['r'][indexes]
10061  diff = xyzs[:,0] - xyzs[:,1]
10062  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10063  return uf(drs)
10064  sfnc = self.get_score_functor()
10065  uf = sfnc.get_unary_function().get_derived_object()
10066  f = functools.partial(jax_score, uf=uf._get_jax())
10067  return self._wrap_jax(m, f)
10068 
10069 
10070 # Register _SphereDistancePairScore in _IMP_core:
10071 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
10072 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
10073  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
10074 
10075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10076 
10077  def __init__(self, *args):
10078  r"""
10079  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
10080  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
10081  """
10082  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
10083 
10084  def do_get_inputs(self, m, pis):
10085  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10086  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
10087 
10088  def get_score_functor(self, *args):
10089  r"""
10090  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
10091  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
10092  """
10093  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
10094 
10095  def get_x0(self):
10096  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10097  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
10098 
10099  def get_k(self):
10100  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10101  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
10102 
10103  def get_version_info(self):
10104  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
10105  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
10106  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
10107 
10108  def __str__(self):
10109  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10110  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
10111 
10112  def __repr__(self):
10113  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10114  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
10115 
10116  @staticmethod
10117  def get_from(o):
10118  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
10119 
10120 
10121  def _get_as_binary(self):
10122  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
10123  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
10124 
10125  def _set_from_binary(self, p):
10126  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
10127  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
10128 
10129  def __getstate__(self):
10130  p = self._get_as_binary()
10131  if len(self.__dict__) > 1:
10132  d = self.__dict__.copy()
10133  del d['this']
10134  p = (d, p)
10135  return p
10136 
10137  def __setstate__(self, p):
10138  if not hasattr(self, 'this'):
10139  self.__init__()
10140  if isinstance(p, tuple):
10141  d, p = p
10142  self.__dict__.update(d)
10143  return self._set_from_binary(p)
10144 
10145 
10146  def _get_jax(self, m, indexes):
10147  import jax.numpy as jnp
10148  import jax.lax
10149  def jax_score(jm, d, k):
10150  xyzs = jm['xyz'][indexes]
10151  rs = jm['r'][indexes]
10152  diff = xyzs[:,0] - xyzs[:,1]
10153  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10154  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
10155  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10156  return self._wrap_jax(m, f)
10157 
10158 
10159 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
10160 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
10161 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
10162  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
10163 
10164  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10165 
10166  def __init__(self, d0, k):
10167  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
10168  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
10169 
10170  def get_rest_length(self):
10171  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10172  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10173 
10174  def get_stiffness(self):
10175  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10176  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10177 
10178  def do_get_inputs(self, m, pis):
10179  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10180  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10181 
10182  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10183  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"""
10184  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10185 
10186  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10187  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"""
10188  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10189 
10190  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10191  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"""
10192  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10193 
10194  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10195  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"""
10196  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10197 
10198  def get_version_info(self):
10199  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10200  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10201  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10202 
10203  def __str__(self):
10204  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10205  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10206 
10207  def __repr__(self):
10208  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10209  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10210 
10211  @staticmethod
10212  def get_from(o):
10213  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10214 
10215 
10216 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10217 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10218 class HarmonicSphereDistancePairScore(IMP.PairScore):
10219  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10220 
10221  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10222 
10223  def __init__(self, *args):
10224  r"""
10225  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10226  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10227  """
10228  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10229 
10230  def do_get_inputs(self, m, pis):
10231  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10232  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10233 
10234  def get_score_functor(self, *args):
10235  r"""
10236  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10237  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10238  """
10239  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10240 
10241  def get_x0(self):
10242  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10243  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10244 
10245  def get_k(self):
10246  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10247  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10248 
10249  def get_version_info(self):
10250  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10251  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10252  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10253 
10254  def __str__(self):
10255  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10256  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10257 
10258  def __repr__(self):
10259  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10260  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10261 
10262  @staticmethod
10263  def get_from(o):
10264  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10265 
10266 
10267  def _get_as_binary(self):
10268  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10269  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10270 
10271  def _set_from_binary(self, p):
10272  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10273  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10274 
10275  def __getstate__(self):
10276  p = self._get_as_binary()
10277  if len(self.__dict__) > 1:
10278  d = self.__dict__.copy()
10279  del d['this']
10280  p = (d, p)
10281  return p
10282 
10283  def __setstate__(self, p):
10284  if not hasattr(self, 'this'):
10285  self.__init__()
10286  if isinstance(p, tuple):
10287  d, p = p
10288  self.__dict__.update(d)
10289  return self._set_from_binary(p)
10290 
10291 
10292  def _get_jax(self, m, indexes):
10293  import jax.numpy as jnp
10294  def jax_score(jm, d, k):
10295  xyzs = jm['xyz'][indexes]
10296  rs = jm['r'][indexes]
10297  diff = xyzs[:,0] - xyzs[:,1]
10298  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10299  return 0.5 * k * (d - drs)**2
10300  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10301  return self._wrap_jax(m, f)
10302 
10303 
10304 # Register HarmonicSphereDistancePairScore in _IMP_core:
10305 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10306 class NormalizedSphereDistancePairScore(IMP.PairScore):
10307  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10308 
10309  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10310 
10311  def __init__(self, *args):
10312  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10313  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10314 
10315  def do_get_inputs(self, m, pis):
10316  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10317  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10318 
10319  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10320  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"""
10321  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10322 
10323  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10324  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"""
10325  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10326 
10327  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10328  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"""
10329  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10330 
10331  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10332  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"""
10333  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10334 
10335  def get_version_info(self):
10336  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10337  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10338  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10339 
10340  def __str__(self):
10341  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10342  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10343 
10344  def __repr__(self):
10345  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10346  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10347 
10348  @staticmethod
10349  def get_from(o):
10350  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10351 
10352 
10353 # Register NormalizedSphereDistancePairScore in _IMP_core:
10354 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10355 class WeightedSphereDistancePairScore(IMP.PairScore):
10356  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10357 
10358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10359 
10360  def __init__(self, *args):
10361  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10362  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10363 
10364  def do_get_inputs(self, m, pis):
10365  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10366  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10367 
10368  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10369  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"""
10370  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10371 
10372  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10373  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"""
10374  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10375 
10376  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10377  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"""
10378  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10379 
10380  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10381  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"""
10382  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10383 
10384  def get_version_info(self):
10385  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10386  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10387  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10388 
10389  def __str__(self):
10390  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10391  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10392 
10393  def __repr__(self):
10394  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10395  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10396 
10397  @staticmethod
10398  def get_from(o):
10399  return _object_cast_to_WeightedSphereDistancePairScore(o)
10400 
10401 
10402 # Register WeightedSphereDistancePairScore in _IMP_core:
10403 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10404 class SoftSpherePairScore(IMP.PairScore):
10405  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10406 
10407  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10408 
10409  def __init__(self, *args):
10410  r"""
10411  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10412  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10413  """
10414  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10415 
10416  def do_get_inputs(self, m, pis):
10417  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10418  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10419 
10420  def get_score_functor(self, *args):
10421  r"""
10422  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10423  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10424  """
10425  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10426 
10427  def get_k(self):
10428  r"""get_k(SoftSpherePairScore self) -> double"""
10429  return _IMP_core.SoftSpherePairScore_get_k(self)
10430 
10431  def get_version_info(self):
10432  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10433  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10434  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10435 
10436  def __str__(self):
10437  r"""__str__(SoftSpherePairScore self) -> std::string"""
10438  return _IMP_core.SoftSpherePairScore___str__(self)
10439 
10440  def __repr__(self):
10441  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10442  return _IMP_core.SoftSpherePairScore___repr__(self)
10443 
10444  @staticmethod
10445  def get_from(o):
10446  return _object_cast_to_SoftSpherePairScore(o)
10447 
10448 
10449  def _get_as_binary(self):
10450  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10451  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10452 
10453  def _set_from_binary(self, p):
10454  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10455  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10456 
10457  def __getstate__(self):
10458  p = self._get_as_binary()
10459  if len(self.__dict__) > 1:
10460  d = self.__dict__.copy()
10461  del d['this']
10462  p = (d, p)
10463  return p
10464 
10465  def __setstate__(self, p):
10466  if not hasattr(self, 'this'):
10467  self.__init__()
10468  if isinstance(p, tuple):
10469  d, p = p
10470  self.__dict__.update(d)
10471  return self._set_from_binary(p)
10472 
10473 
10474  def _get_jax(self, m, indexes):
10475  import jax.numpy as jnp
10476  import jax.lax
10477  def jax_score(jm, k):
10478  xyzs = jm['xyz'][indexes]
10479  rs = jm['r'][indexes]
10480  diff = xyzs[:,0] - xyzs[:,1]
10481  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10482  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10483  f = functools.partial(jax_score, k=self.get_k())
10484  return self._wrap_jax(m, f)
10485 
10486 
10487 # Register SoftSpherePairScore in _IMP_core:
10488 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10489 class SurfaceDistancePairScore(IMP.PairScore):
10490  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10491 
10492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10493 
10494  def __init__(self, *args):
10495  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10496  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10497 
10498  def do_get_inputs(self, m, pis):
10499  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10500  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10501 
10502  def get_version_info(self):
10503  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10504  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10505  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10506 
10507  def __str__(self):
10508  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10509  return _IMP_core.SurfaceDistancePairScore___str__(self)
10510 
10511  def __repr__(self):
10512  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10513  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10514 
10515  @staticmethod
10516  def get_from(o):
10517  return _object_cast_to_SurfaceDistancePairScore(o)
10518 
10519 
10520 # Register SurfaceDistancePairScore in _IMP_core:
10521 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10522 class SurfaceHeightPairScore(IMP.PairScore):
10523  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10524 
10525  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10526 
10527  def __init__(self, *args):
10528  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10529  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10530 
10531  def do_get_inputs(self, m, pis):
10532  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10533  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10534 
10535  def get_version_info(self):
10536  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10537  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10538  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10539 
10540  def __str__(self):
10541  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10542  return _IMP_core.SurfaceHeightPairScore___str__(self)
10543 
10544  def __repr__(self):
10545  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10546  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10547 
10548  @staticmethod
10549  def get_from(o):
10550  return _object_cast_to_SurfaceHeightPairScore(o)
10551 
10552 
10553 # Register SurfaceHeightPairScore in _IMP_core:
10554 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10555 class SurfaceDepthPairScore(IMP.PairScore):
10556  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10557 
10558  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10559 
10560  def __init__(self, *args):
10561  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10562  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10563 
10564  def do_get_inputs(self, m, pis):
10565  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10566  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10567 
10568  def get_version_info(self):
10569  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10570  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10571  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10572 
10573  def __str__(self):
10574  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10575  return _IMP_core.SurfaceDepthPairScore___str__(self)
10576 
10577  def __repr__(self):
10578  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10579  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10580 
10581  @staticmethod
10582  def get_from(o):
10583  return _object_cast_to_SurfaceDepthPairScore(o)
10584 
10585 
10586 # Register SurfaceDepthPairScore in _IMP_core:
10587 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10588 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10589  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10590 
10591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10592 
10593  def __init__(self, *args):
10594  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10595  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10596 
10597  def do_get_inputs(self, m, pis):
10598  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10599  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10600 
10601  def get_version_info(self):
10602  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10603  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10604  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10605 
10606  def __str__(self):
10607  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10608  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10609 
10610  def __repr__(self):
10611  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10612  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10613 
10614  @staticmethod
10615  def get_from(o):
10616  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10617 
10618 
10619 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10620 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10621 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10622  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10623 
10624  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10625 
10626  def __init__(self, *args):
10627  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10628  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10629 
10630  def do_get_inputs(self, m, pis):
10631  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10632  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10633 
10634  def get_version_info(self):
10635  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10636  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10637  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10638 
10639  def __str__(self):
10640  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10641  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10642 
10643  def __repr__(self):
10644  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10645  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10646 
10647  @staticmethod
10648  def get_from(o):
10649  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10650 
10651 
10652 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10653 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10654 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10655  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10656 
10657  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10658 
10659  def __init__(self, *args):
10660  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10661  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10662 
10663  def do_get_inputs(self, m, pis):
10664  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10665  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10666 
10667  def get_version_info(self):
10668  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10669  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10670  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10671 
10672  def __str__(self):
10673  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10674  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10675 
10676  def __repr__(self):
10677  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10678  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10679 
10680  @staticmethod
10681  def get_from(o):
10682  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10683 
10684 
10685 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10686 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10687 class SoftSuperSurfacePairScore(IMP.PairScore):
10688  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10689 
10690  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10691 
10692  def __init__(self, *args):
10693  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10694  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10695 
10696  def do_get_inputs(self, m, pis):
10697  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10698  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10699 
10700  def get_version_info(self):
10701  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10702  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10703  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10704 
10705  def __str__(self):
10706  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10707  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10708 
10709  def __repr__(self):
10710  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10711  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10712 
10713  @staticmethod
10714  def get_from(o):
10715  return _object_cast_to_SoftSuperSurfacePairScore(o)
10716 
10717 
10718 # Register SoftSuperSurfacePairScore in _IMP_core:
10719 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10720 class SoftSubSurfacePairScore(IMP.PairScore):
10721  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10722 
10723  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10724 
10725  def __init__(self, *args):
10726  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10727  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10728 
10729  def do_get_inputs(self, m, pis):
10730  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10731  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10732 
10733  def get_version_info(self):
10734  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10735  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10736  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10737 
10738  def __str__(self):
10739  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10740  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10741 
10742  def __repr__(self):
10743  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10744  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10745 
10746  @staticmethod
10747  def get_from(o):
10748  return _object_cast_to_SoftSubSurfacePairScore(o)
10749 
10750 
10751 # Register SoftSubSurfacePairScore in _IMP_core:
10752 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10753 class SurfaceTetheredChain(IMP.UnaryFunction):
10754  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10755 
10756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10757 
10758  def __init__(self, link_num, link_length):
10759  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10760  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10761 
10762  def get_version_info(self):
10763  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10764  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10765  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10766 
10767  def get_link_number(self):
10768  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10769  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10770 
10771  def get_link_length(self):
10772  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10773  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10774 
10775  def set_link_number(self, N):
10776  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10777  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10778 
10779  def set_link_length(self, b):
10780  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10781  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10782 
10783  def get_distance_at_minimum(self):
10784  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10785  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10786 
10787  def get_average_distance(self):
10788  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10789  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10790 
10791  def __str__(self):
10792  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10793  return _IMP_core.SurfaceTetheredChain___str__(self)
10794 
10795  def __repr__(self):
10796  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10797  return _IMP_core.SurfaceTetheredChain___repr__(self)
10798 
10799  @staticmethod
10800  def get_from(o):
10801  return _object_cast_to_SurfaceTetheredChain(o)
10802 
10803 
10804 # Register SurfaceTetheredChain in _IMP_core:
10805 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10806 class SurfaceSymmetryConstraint(IMP.Constraint):
10807  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10808 
10809  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10810 
10811  def __init__(self, m, ss, rbs):
10812  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10813  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10814 
10815  def do_get_inputs(self):
10816  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10817  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10818 
10819  def do_get_outputs(self):
10820  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10821  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10822 
10823  def get_version_info(self):
10824  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10825  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10826  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10827 
10828  def __str__(self):
10829  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10830  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10831 
10832  def __repr__(self):
10833  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10834  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10835 
10836  @staticmethod
10837  def get_from(o):
10838  return _object_cast_to_SurfaceSymmetryConstraint(o)
10839 
10840 
10841 # Register SurfaceSymmetryConstraint in _IMP_core:
10842 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10843 class SteepestDescent(IMP.AttributeOptimizer):
10844  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10845 
10846  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10847 
10848  def __init__(self, *args):
10849  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10850  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10851 
10852  def do_optimize(self, max_steps):
10853  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10854  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10855 
10856  def get_version_info(self):
10857  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10858  return _IMP_core.SteepestDescent_get_version_info(self)
10859  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10860 
10861  def set_threshold(self, t):
10862  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10863  return _IMP_core.SteepestDescent_set_threshold(self, t)
10864 
10865  def set_step_size(self, t):
10866  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10867  return _IMP_core.SteepestDescent_set_step_size(self, t)
10868 
10869  def set_maximum_step_size(self, t):
10870  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10871  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10872 
10873  def __str__(self):
10874  r"""__str__(SteepestDescent self) -> std::string"""
10875  return _IMP_core.SteepestDescent___str__(self)
10876 
10877  def __repr__(self):
10878  r"""__repr__(SteepestDescent self) -> std::string"""
10879  return _IMP_core.SteepestDescent___repr__(self)
10880 
10881  @staticmethod
10882  def get_from(o):
10883  return _object_cast_to_SteepestDescent(o)
10884 
10885 
10886 # Register SteepestDescent in _IMP_core:
10887 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10888 class TransformedDistancePairScore(IMP.PairScore):
10889  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10890 
10891  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10892 
10893  def __init__(self, f, transformation):
10894  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10895  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10896 
10897  def set_transformation(self, rot):
10898  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10899  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10900 
10901  def do_get_inputs(self, m, pis):
10902  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10903  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10904 
10905  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10906  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"""
10907  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10908 
10909  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10910  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"""
10911  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10912 
10913  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10914  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"""
10915  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10916 
10917  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10918  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"""
10919  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10920 
10921  def get_version_info(self):
10922  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10923  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10924  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10925 
10926  def __str__(self):
10927  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10928  return _IMP_core.TransformedDistancePairScore___str__(self)
10929 
10930  def __repr__(self):
10931  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10932  return _IMP_core.TransformedDistancePairScore___repr__(self)
10933 
10934  @staticmethod
10935  def get_from(o):
10936  return _object_cast_to_TransformedDistancePairScore(o)
10937 
10938 
10939 # Register TransformedDistancePairScore in _IMP_core:
10940 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10941 class TypedPairScore(IMP.PairScore):
10942  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10943 
10944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10945 
10946  def __init__(self, typekey, allow_invalid_types=True):
10947  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10948  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10949 
10950  def set_particle_type(self, arg2):
10951  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10952  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10953 
10954  def set_pair_score(self, ps, atype, btype):
10955  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10956  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10957 
10958  def do_get_inputs(self, m, pis):
10959  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10960  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10961 
10962  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10963  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"""
10964  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10965 
10966  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10967  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"""
10968  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10969 
10970  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10971  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"""
10972  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10973 
10974  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10975  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"""
10976  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10977 
10978  def get_version_info(self):
10979  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10980  return _IMP_core.TypedPairScore_get_version_info(self)
10981  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10982 
10983  def __str__(self):
10984  r"""__str__(TypedPairScore self) -> std::string"""
10985  return _IMP_core.TypedPairScore___str__(self)
10986 
10987  def __repr__(self):
10988  r"""__repr__(TypedPairScore self) -> std::string"""
10989  return _IMP_core.TypedPairScore___repr__(self)
10990 
10991  @staticmethod
10992  def get_from(o):
10993  return _object_cast_to_TypedPairScore(o)
10994 
10995 
10996 # Register TypedPairScore in _IMP_core:
10997 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10998 class RigidBodyDistancePairScore(KClosePairsPairScore):
10999  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
11000 
11001  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11002 
11003  def __init__(self, ps, r):
11004  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
11005  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
11006 
11007  def __str__(self):
11008  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
11009  return _IMP_core.RigidBodyDistancePairScore___str__(self)
11010 
11011  def __repr__(self):
11012  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
11013  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
11014 
11015  @staticmethod
11016  def get_from(o):
11017  return _object_cast_to_RigidBodyDistancePairScore(o)
11018 
11019  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
11020 
11021 # Register RigidBodyDistancePairScore in _IMP_core:
11022 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
11023 class RigidBodyAnglePairScore(IMP.PairScore):
11024  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
11025 
11026  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11027 
11028  def __init__(self, f):
11029  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
11030  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
11031 
11032  def do_get_inputs(self, m, pis):
11033  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11034  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
11035 
11036  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
11037  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"""
11038  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
11039 
11040  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
11041  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"""
11042  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
11043 
11044  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
11045  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"""
11046  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
11047 
11048  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
11049  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"""
11050  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
11051 
11052  def get_version_info(self):
11053  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
11054  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
11055  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
11056 
11057  def __str__(self):
11058  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
11059  return _IMP_core.RigidBodyAnglePairScore___str__(self)
11060 
11061  def __repr__(self):
11062  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
11063  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
11064 
11065  @staticmethod
11066  def get_from(o):
11067  return _object_cast_to_RigidBodyAnglePairScore(o)
11068 
11069 
11070 # Register RigidBodyAnglePairScore in _IMP_core:
11071 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
11072 class TableRefiner(IMP.Refiner):
11073  r"""Proxy of C++ IMP::core::TableRefiner class."""
11074 
11075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11076 
11077  def __init__(self):
11078  r"""__init__(TableRefiner self) -> TableRefiner"""
11079  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
11080 
11081  def add_particle(self, p, ps):
11082  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
11083  return _IMP_core.TableRefiner_add_particle(self, p, ps)
11084 
11085  def remove_particle(self, p):
11086  r"""remove_particle(TableRefiner self, Particle p)"""
11087  return _IMP_core.TableRefiner_remove_particle(self, p)
11088 
11089  def set_particle(self, p, ps):
11090  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
11091  return _IMP_core.TableRefiner_set_particle(self, p, ps)
11092 
11093  def do_get_inputs(self, m, pis):
11094  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11095  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
11096 
11097  def get_version_info(self):
11098  r"""get_version_info(TableRefiner self) -> VersionInfo"""
11099  return _IMP_core.TableRefiner_get_version_info(self)
11100  __swig_destroy__ = _IMP_core.delete_TableRefiner
11101 
11102  def __str__(self):
11103  r"""__str__(TableRefiner self) -> std::string"""
11104  return _IMP_core.TableRefiner___str__(self)
11105 
11106  def __repr__(self):
11107  r"""__repr__(TableRefiner self) -> std::string"""
11108  return _IMP_core.TableRefiner___repr__(self)
11109 
11110  @staticmethod
11111  def get_from(o):
11112  return _object_cast_to_TableRefiner(o)
11113 
11114 
11115 # Register TableRefiner in _IMP_core:
11116 _IMP_core.TableRefiner_swigregister(TableRefiner)
11117 LOWER = _IMP_core.LOWER
11118 
11119 BOTH = _IMP_core.BOTH
11120 
11121 UPPER = _IMP_core.UPPER
11122 
11123 class MCCGSampler(IMP.Sampler):
11124  r"""Proxy of C++ IMP::core::MCCGSampler class."""
11125 
11126  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11127 
11128  def __init__(self, *args):
11129  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
11130  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
11131 
11132  def set_bounding_box(self, bb):
11133  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
11134  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
11135 
11136  def set_number_of_attempts(self, att):
11137  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
11138  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
11139 
11140  def set_number_of_monte_carlo_steps(self, cg):
11141  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
11142  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
11143 
11144  def set_number_of_conjugate_gradient_steps(self, cg):
11145  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
11146  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
11147 
11148  def set_max_monte_carlo_step_size(self, *args):
11149  r"""
11150  set_max_monte_carlo_step_size(MCCGSampler self, double d)
11151  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
11152  """
11153  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
11154 
11155  def set_is_refining(self, tf):
11156  r"""set_is_refining(MCCGSampler self, bool tf)"""
11157  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
11158 
11159  def set_local_optimizer(self, opt):
11160  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
11161  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
11162 
11163  def set_save_rejected_configurations(self, tf):
11164  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
11165  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
11166 
11167  def get_rejected_configurations(self):
11168  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
11169  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11170  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)
11171  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11172  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11173  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11174 
11175  def remove_optimizer_state(self, d):
11176  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11177  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11178 
11179  def _python_index_optimizer_state(self, d, start, stop):
11180  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11181  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11182 
11183  def remove_optimizer_states(self, d):
11184  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11185  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11186 
11187  def set_optimizer_states(self, ps):
11188  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11189  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11190 
11191  def set_optimizer_states_order(self, objs):
11192  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11193  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11194 
11195  def add_optimizer_state(self, obj):
11196  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11197  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11198 
11199  def add_optimizer_states(self, objs):
11200  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11201  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11202 
11203  def clear_optimizer_states(self):
11204  r"""clear_optimizer_states(MCCGSampler self)"""
11205  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11206 
11207  def get_number_of_optimizer_states(self):
11208  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11209  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11210 
11211  def get_has_optimizer_states(self):
11212  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11213  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11214 
11215  def get_optimizer_state(self, i):
11216  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11217  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11218 
11219  def get_optimizer_states(self):
11220  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11221  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11222 
11223  def erase_optimizer_state(self, i):
11224  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11225  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11226 
11227  def reserve_optimizer_states(self, sz):
11228  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11229  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11230 
11231  def do_sample(self):
11232  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11233  return _IMP_core.MCCGSampler_do_sample(self)
11234 
11235  def get_version_info(self):
11236  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11237  return _IMP_core.MCCGSampler_get_version_info(self)
11238  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11239 
11240  def __str__(self):
11241  r"""__str__(MCCGSampler self) -> std::string"""
11242  return _IMP_core.MCCGSampler___str__(self)
11243 
11244  def __repr__(self):
11245  r"""__repr__(MCCGSampler self) -> std::string"""
11246  return _IMP_core.MCCGSampler___repr__(self)
11247 
11248  @staticmethod
11249  def get_from(o):
11250  return _object_cast_to_MCCGSampler(o)
11251 
11252 
11253 # Register MCCGSampler in _IMP_core:
11254 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11255 class MinimumRestraint(IMP.Restraint):
11256  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11257 
11258  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11259 
11260  def __init__(self, *args):
11261  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11262  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11263 
11264  def do_get_inputs(self):
11265  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11266  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11267 
11268  def get_version_info(self):
11269  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11270  return _IMP_core.MinimumRestraint_get_version_info(self)
11271  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11272  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)
11273  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11274  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11275  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11276 
11277  def remove_restraint(self, d):
11278  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11279  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11280 
11281  def _python_index_restraint(self, d, start, stop):
11282  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11283  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11284 
11285  def remove_restraints(self, d):
11286  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11287  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11288 
11289  def set_restraints(self, ps):
11290  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11291  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11292 
11293  def set_restraints_order(self, objs):
11294  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11295  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11296 
11297  def add_restraint(self, obj):
11298  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11299  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11300 
11301  def add_restraints(self, objs):
11302  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11303  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11304 
11305  def clear_restraints(self):
11306  r"""clear_restraints(MinimumRestraint self)"""
11307  return _IMP_core.MinimumRestraint_clear_restraints(self)
11308 
11309  def get_number_of_restraints(self):
11310  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11311  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11312 
11313  def get_has_restraints(self):
11314  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11315  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11316 
11317  def get_restraint(self, i):
11318  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11319  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11320 
11321  def get_restraints(self):
11322  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11323  return _IMP_core.MinimumRestraint_get_restraints(self)
11324 
11325  def erase_restraint(self, i):
11326  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11327  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11328 
11329  def reserve_restraints(self, sz):
11330  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11331  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11332 
11333  def __str__(self):
11334  r"""__str__(MinimumRestraint self) -> std::string"""
11335  return _IMP_core.MinimumRestraint___str__(self)
11336 
11337  def __repr__(self):
11338  r"""__repr__(MinimumRestraint self) -> std::string"""
11339  return _IMP_core.MinimumRestraint___repr__(self)
11340 
11341  @staticmethod
11342  def get_from(o):
11343  return _object_cast_to_MinimumRestraint(o)
11344 
11345 
11346 # Register MinimumRestraint in _IMP_core:
11347 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11348 class Gaussian(RigidBody):
11349  r"""Proxy of C++ IMP::core::Gaussian class."""
11350 
11351  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11352 
11353  def __init__(self, *args):
11354  r"""
11355  __init__(Gaussian self) -> Gaussian
11356  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11357  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11358  """
11359  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11360 
11361  def show(self, *args):
11362  r"""show(Gaussian self, _ostream out=std::cout)"""
11363  return _IMP_core.Gaussian_show(self, *args)
11364 
11365  @staticmethod
11366  def setup_particle(*args):
11367  r"""
11368  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11369  setup_particle(_ParticleAdaptor pa) -> Gaussian
11370  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11371  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11372  """
11373  return _IMP_core.Gaussian_setup_particle(*args)
11374 
11375  @staticmethod
11376  def get_local_covariance_key():
11377  r"""get_local_covariance_key() -> ObjectKey"""
11378  return _IMP_core.Gaussian_get_local_covariance_key()
11379 
11380  @staticmethod
11381  def get_global_covariance_key():
11382  r"""get_global_covariance_key() -> ObjectKey"""
11383  return _IMP_core.Gaussian_get_global_covariance_key()
11384 
11385  @staticmethod
11386  def get_is_setup(*args):
11387  r"""
11388  get_is_setup(_ParticleAdaptor p) -> bool
11389  get_is_setup(Model m, ParticleIndex pi) -> bool
11390  """
11391  return _IMP_core.Gaussian_get_is_setup(*args)
11392 
11393  def get_local_covariance(self):
11394  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11395  return _IMP_core.Gaussian_get_local_covariance(self)
11396 
11397  def get_variances(self):
11398  r"""get_variances(Gaussian self) -> Vector3D"""
11399  return _IMP_core.Gaussian_get_variances(self)
11400 
11401  def get_global_covariance(self):
11402  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11403  return _IMP_core.Gaussian_get_global_covariance(self)
11404 
11405  def get_gaussian(self):
11406  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11407  return _IMP_core.Gaussian_get_gaussian(self)
11408 
11409  def set_gaussian(self, g):
11410  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11411  return _IMP_core.Gaussian_set_gaussian(self, g)
11412 
11413  def set_local_covariance(self, covar):
11414  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11415  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11416 
11417  def set_variances(self, v):
11418  r"""set_variances(Gaussian self, Vector3D v)"""
11419  return _IMP_core.Gaussian_set_variances(self, v)
11420 
11421  def set_global_covariance(self, covar):
11422  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11423  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11424 
11425  def update_global_covariance(self):
11426  r"""update_global_covariance(Gaussian self)"""
11427  return _IMP_core.Gaussian_update_global_covariance(self)
11428 
11429  def add_attribute(self, *args):
11430  r"""
11431  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11432  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11433  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11434  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11435  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11436  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11437  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11438  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11439  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11440  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11441  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11442  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11443  """
11444  return _IMP_core.Gaussian_add_attribute(self, *args)
11445 
11446  def get_value(self, *args):
11447  r"""
11448  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11449  get_value(Gaussian self, IntKey a0) -> IMP::Int
11450  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11451  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11452  get_value(Gaussian self, StringKey a0) -> IMP::String
11453  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11454  get_value(Gaussian self, ObjectKey a0) -> Object
11455  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11456  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11457  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11458  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11459  """
11460  return _IMP_core.Gaussian_get_value(self, *args)
11461 
11462  def set_value(self, *args):
11463  r"""
11464  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11465  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11466  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11467  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11468  set_value(Gaussian self, StringKey a0, IMP::String a1)
11469  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11470  set_value(Gaussian self, ObjectKey a0, Object a1)
11471  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11472  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11473  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11474  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11475  """
11476  return _IMP_core.Gaussian_set_value(self, *args)
11477 
11478  def remove_attribute(self, *args):
11479  r"""
11480  remove_attribute(Gaussian self, FloatKey a0)
11481  remove_attribute(Gaussian self, IntKey a0)
11482  remove_attribute(Gaussian self, FloatsKey a0)
11483  remove_attribute(Gaussian self, IntsKey a0)
11484  remove_attribute(Gaussian self, StringKey a0)
11485  remove_attribute(Gaussian self, ParticleIndexKey a0)
11486  remove_attribute(Gaussian self, ObjectKey a0)
11487  remove_attribute(Gaussian self, SparseFloatKey a0)
11488  remove_attribute(Gaussian self, SparseIntKey a0)
11489  remove_attribute(Gaussian self, SparseStringKey a0)
11490  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11491  """
11492  return _IMP_core.Gaussian_remove_attribute(self, *args)
11493 
11494  def has_attribute(self, *args):
11495  r"""
11496  has_attribute(Gaussian self, FloatKey a0) -> bool
11497  has_attribute(Gaussian self, IntKey a0) -> bool
11498  has_attribute(Gaussian self, FloatsKey a0) -> bool
11499  has_attribute(Gaussian self, IntsKey a0) -> bool
11500  has_attribute(Gaussian self, StringKey a0) -> bool
11501  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11502  has_attribute(Gaussian self, ObjectKey a0) -> bool
11503  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11504  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11505  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11506  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11507  """
11508  return _IMP_core.Gaussian_has_attribute(self, *args)
11509 
11510  def get_derivative(self, a0):
11511  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11512  return _IMP_core.Gaussian_get_derivative(self, a0)
11513 
11514  def get_name(self):
11515  r"""get_name(Gaussian self) -> std::string"""
11516  return _IMP_core.Gaussian_get_name(self)
11517 
11518  def clear_caches(self):
11519  r"""clear_caches(Gaussian self)"""
11520  return _IMP_core.Gaussian_clear_caches(self)
11521 
11522  def set_name(self, a0):
11523  r"""set_name(Gaussian self, std::string a0)"""
11524  return _IMP_core.Gaussian_set_name(self, a0)
11525 
11526  def set_check_level(self, a0):
11527  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11528  return _IMP_core.Gaussian_set_check_level(self, a0)
11529 
11530  def add_to_derivative(self, a0, a1, a2):
11531  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11532  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11533 
11534  def set_is_optimized(self, a0, a1):
11535  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11536  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11537 
11538  def get_is_optimized(self, a0):
11539  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11540  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11541 
11542  def get_check_level(self):
11543  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11544  return _IMP_core.Gaussian_get_check_level(self)
11545 
11546  def __eq__(self, *args):
11547  r"""
11548  __eq__(Gaussian self, Gaussian o) -> bool
11549  __eq__(Gaussian self, Particle d) -> bool
11550  """
11551  return _IMP_core.Gaussian___eq__(self, *args)
11552 
11553  def __ne__(self, *args):
11554  r"""
11555  __ne__(Gaussian self, Gaussian o) -> bool
11556  __ne__(Gaussian self, Particle d) -> bool
11557  """
11558  return _IMP_core.Gaussian___ne__(self, *args)
11559 
11560  def __le__(self, *args):
11561  r"""
11562  __le__(Gaussian self, Gaussian o) -> bool
11563  __le__(Gaussian self, Particle d) -> bool
11564  """
11565  return _IMP_core.Gaussian___le__(self, *args)
11566 
11567  def __lt__(self, *args):
11568  r"""
11569  __lt__(Gaussian self, Gaussian o) -> bool
11570  __lt__(Gaussian self, Particle d) -> bool
11571  """
11572  return _IMP_core.Gaussian___lt__(self, *args)
11573 
11574  def __ge__(self, *args):
11575  r"""
11576  __ge__(Gaussian self, Gaussian o) -> bool
11577  __ge__(Gaussian self, Particle d) -> bool
11578  """
11579  return _IMP_core.Gaussian___ge__(self, *args)
11580 
11581  def __gt__(self, *args):
11582  r"""
11583  __gt__(Gaussian self, Gaussian o) -> bool
11584  __gt__(Gaussian self, Particle d) -> bool
11585  """
11586  return _IMP_core.Gaussian___gt__(self, *args)
11587 
11588  def __hash__(self):
11589  r"""__hash__(Gaussian self) -> std::size_t"""
11590  return _IMP_core.Gaussian___hash__(self)
11591 
11592  def __str__(self):
11593  r"""__str__(Gaussian self) -> std::string"""
11594  return _IMP_core.Gaussian___str__(self)
11595 
11596  def __repr__(self):
11597  r"""__repr__(Gaussian self) -> std::string"""
11598  return _IMP_core.Gaussian___repr__(self)
11599 
11600  def _get_as_binary(self):
11601  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11602  return _IMP_core.Gaussian__get_as_binary(self)
11603 
11604  def _set_from_binary(self, p):
11605  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11606  return _IMP_core.Gaussian__set_from_binary(self, p)
11607 
11608  def __getstate__(self):
11609  p = self._get_as_binary()
11610  if len(self.__dict__) > 1:
11611  d = self.__dict__.copy()
11612  del d['this']
11613  p = (d, p)
11614  return p
11615 
11616  def __setstate__(self, p):
11617  if not hasattr(self, 'this'):
11618  self.__init__()
11619  if isinstance(p, tuple):
11620  d, p = p
11621  self.__dict__.update(d)
11622  return self._set_from_binary(p)
11623 
11624  __swig_destroy__ = _IMP_core.delete_Gaussian
11625 
11626 # Register Gaussian in _IMP_core:
11627 _IMP_core.Gaussian_swigregister(Gaussian)
11628 class PairRestraint(IMP.Restraint):
11629  r"""Proxy of C++ IMP::core::PairRestraint class."""
11630 
11631  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11632 
11633  def __init__(self, *args):
11634  r"""
11635  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11636  __init__(PairRestraint self) -> PairRestraint
11637  """
11638  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11639 
11640  def get_score_object(self):
11641  r"""get_score_object(PairRestraint self) -> PairScore"""
11642  return _IMP_core.PairRestraint_get_score_object(self)
11643 
11644  def get_index(self):
11645  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11646  return _IMP_core.PairRestraint_get_index(self)
11647 
11648  def get_version_info(self):
11649  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11650  return _IMP_core.PairRestraint_get_version_info(self)
11651  __swig_destroy__ = _IMP_core.delete_PairRestraint
11652 
11653  def __str__(self):
11654  r"""__str__(PairRestraint self) -> std::string"""
11655  return _IMP_core.PairRestraint___str__(self)
11656 
11657  def __repr__(self):
11658  r"""__repr__(PairRestraint self) -> std::string"""
11659  return _IMP_core.PairRestraint___repr__(self)
11660 
11661  @staticmethod
11662  def get_from(o):
11663  return _object_cast_to_PairRestraint(o)
11664 
11665 
11666  def _get_as_binary(self):
11667  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11668  return _IMP_core.PairRestraint__get_as_binary(self)
11669 
11670  def _set_from_binary(self, p):
11671  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11672  return _IMP_core.PairRestraint__set_from_binary(self, p)
11673 
11674  def __getstate__(self):
11675  p = self._get_as_binary()
11676  if len(self.__dict__) > 1:
11677  d = self.__dict__.copy()
11678  del d['this']
11679  p = (d, p)
11680  return p
11681 
11682  def __setstate__(self, p):
11683  if not hasattr(self, 'this'):
11684  self.__init__()
11685  if isinstance(p, tuple):
11686  d, p = p
11687  self.__dict__.update(d)
11688  return self._set_from_binary(p)
11689 
11690 
11691  def _get_jax(self):
11692  from . import _jax_util
11693  return _jax_util._get_jax_restraint(self)
11694 
11695 
11696 # Register PairRestraint in _IMP_core:
11697 _IMP_core.PairRestraint_swigregister(PairRestraint)
11698 class SingletonRestraint(IMP.Restraint):
11699  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11700 
11701  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11702 
11703  def __init__(self, *args):
11704  r"""
11705  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11706  __init__(SingletonRestraint self) -> SingletonRestraint
11707  """
11708  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11709 
11710  def get_score_object(self):
11711  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11712  return _IMP_core.SingletonRestraint_get_score_object(self)
11713 
11714  def get_index(self):
11715  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11716  return _IMP_core.SingletonRestraint_get_index(self)
11717 
11718  def get_version_info(self):
11719  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11720  return _IMP_core.SingletonRestraint_get_version_info(self)
11721  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11722 
11723  def __str__(self):
11724  r"""__str__(SingletonRestraint self) -> std::string"""
11725  return _IMP_core.SingletonRestraint___str__(self)
11726 
11727  def __repr__(self):
11728  r"""__repr__(SingletonRestraint self) -> std::string"""
11729  return _IMP_core.SingletonRestraint___repr__(self)
11730 
11731  @staticmethod
11732  def get_from(o):
11733  return _object_cast_to_SingletonRestraint(o)
11734 
11735 
11736  def _get_as_binary(self):
11737  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11738  return _IMP_core.SingletonRestraint__get_as_binary(self)
11739 
11740  def _set_from_binary(self, p):
11741  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11742  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11743 
11744  def __getstate__(self):
11745  p = self._get_as_binary()
11746  if len(self.__dict__) > 1:
11747  d = self.__dict__.copy()
11748  del d['this']
11749  p = (d, p)
11750  return p
11751 
11752  def __setstate__(self, p):
11753  if not hasattr(self, 'this'):
11754  self.__init__()
11755  if isinstance(p, tuple):
11756  d, p = p
11757  self.__dict__.update(d)
11758  return self._set_from_binary(p)
11759 
11760 
11761  def _get_jax(self):
11762  from . import _jax_util
11763  return _jax_util._get_jax_restraint(self)
11764 
11765 
11766 # Register SingletonRestraint in _IMP_core:
11767 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11768 class TripletRestraint(IMP.Restraint):
11769  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11770 
11771  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11772 
11773  def __init__(self, *args):
11774  r"""
11775  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11776  __init__(TripletRestraint self) -> TripletRestraint
11777  """
11778  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11779 
11780  def get_score_object(self):
11781  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11782  return _IMP_core.TripletRestraint_get_score_object(self)
11783 
11784  def get_index(self):
11785  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11786  return _IMP_core.TripletRestraint_get_index(self)
11787 
11788  def get_version_info(self):
11789  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11790  return _IMP_core.TripletRestraint_get_version_info(self)
11791  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11792 
11793  def __str__(self):
11794  r"""__str__(TripletRestraint self) -> std::string"""
11795  return _IMP_core.TripletRestraint___str__(self)
11796 
11797  def __repr__(self):
11798  r"""__repr__(TripletRestraint self) -> std::string"""
11799  return _IMP_core.TripletRestraint___repr__(self)
11800 
11801  @staticmethod
11802  def get_from(o):
11803  return _object_cast_to_TripletRestraint(o)
11804 
11805 
11806  def _get_as_binary(self):
11807  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11808  return _IMP_core.TripletRestraint__get_as_binary(self)
11809 
11810  def _set_from_binary(self, p):
11811  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11812  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11813 
11814  def __getstate__(self):
11815  p = self._get_as_binary()
11816  if len(self.__dict__) > 1:
11817  d = self.__dict__.copy()
11818  del d['this']
11819  p = (d, p)
11820  return p
11821 
11822  def __setstate__(self, p):
11823  if not hasattr(self, 'this'):
11824  self.__init__()
11825  if isinstance(p, tuple):
11826  d, p = p
11827  self.__dict__.update(d)
11828  return self._set_from_binary(p)
11829 
11830 
11831 # Register TripletRestraint in _IMP_core:
11832 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11833 class QuadRestraint(IMP.Restraint):
11834  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11835 
11836  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11837 
11838  def __init__(self, *args):
11839  r"""
11840  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11841  __init__(QuadRestraint self) -> QuadRestraint
11842  """
11843  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11844 
11845  def get_score_object(self):
11846  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11847  return _IMP_core.QuadRestraint_get_score_object(self)
11848 
11849  def get_index(self):
11850  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11851  return _IMP_core.QuadRestraint_get_index(self)
11852 
11853  def get_version_info(self):
11854  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11855  return _IMP_core.QuadRestraint_get_version_info(self)
11856  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11857 
11858  def __str__(self):
11859  r"""__str__(QuadRestraint self) -> std::string"""
11860  return _IMP_core.QuadRestraint___str__(self)
11861 
11862  def __repr__(self):
11863  r"""__repr__(QuadRestraint self) -> std::string"""
11864  return _IMP_core.QuadRestraint___repr__(self)
11865 
11866  @staticmethod
11867  def get_from(o):
11868  return _object_cast_to_QuadRestraint(o)
11869 
11870 
11871  def _get_as_binary(self):
11872  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11873  return _IMP_core.QuadRestraint__get_as_binary(self)
11874 
11875  def _set_from_binary(self, p):
11876  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11877  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11878 
11879  def __getstate__(self):
11880  p = self._get_as_binary()
11881  if len(self.__dict__) > 1:
11882  d = self.__dict__.copy()
11883  del d['this']
11884  p = (d, p)
11885  return p
11886 
11887  def __setstate__(self, p):
11888  if not hasattr(self, 'this'):
11889  self.__init__()
11890  if isinstance(p, tuple):
11891  d, p = p
11892  self.__dict__.update(d)
11893  return self._set_from_binary(p)
11894 
11895 
11896 # Register QuadRestraint in _IMP_core:
11897 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11898 class SingletonConstraint(IMP.Constraint):
11899  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11900 
11901  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11902 
11903  def __init__(self, *args):
11904  r"""
11905  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11906  __init__(SingletonConstraint self) -> SingletonConstraint
11907  """
11908  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11909 
11910  def get_before_modifier(self):
11911  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11912  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11913 
11914  def get_index(self):
11915  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11916  return _IMP_core.SingletonConstraint_get_index(self)
11917 
11918  def get_version_info(self):
11919  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11920  return _IMP_core.SingletonConstraint_get_version_info(self)
11921  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11922 
11923  def __str__(self):
11924  r"""__str__(SingletonConstraint self) -> std::string"""
11925  return _IMP_core.SingletonConstraint___str__(self)
11926 
11927  def __repr__(self):
11928  r"""__repr__(SingletonConstraint self) -> std::string"""
11929  return _IMP_core.SingletonConstraint___repr__(self)
11930 
11931  @staticmethod
11932  def get_from(o):
11933  return _object_cast_to_SingletonConstraint(o)
11934 
11935 
11936  def _get_as_binary(self):
11937  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11938  return _IMP_core.SingletonConstraint__get_as_binary(self)
11939 
11940  def _set_from_binary(self, p):
11941  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11942  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11943 
11944  def __getstate__(self):
11945  p = self._get_as_binary()
11946  if len(self.__dict__) > 1:
11947  d = self.__dict__.copy()
11948  del d['this']
11949  p = (d, p)
11950  return p
11951 
11952  def __setstate__(self, p):
11953  if not hasattr(self, 'this'):
11954  self.__init__()
11955  if isinstance(p, tuple):
11956  d, p = p
11957  self.__dict__.update(d)
11958  return self._set_from_binary(p)
11959 
11960 
11961  def _get_jax(self):
11962  import jax.numpy as jnp
11963  indexes = jnp.array([self.get_index()])
11964  mod = self.get_before_modifier().get_derived_object()
11965  ji = mod._get_jax(self.get_model(), indexes)
11966  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11967 
11968 
11969 # Register SingletonConstraint in _IMP_core:
11970 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11971 class PairConstraint(IMP.Constraint):
11972  r"""Proxy of C++ IMP::core::PairConstraint class."""
11973 
11974  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11975 
11976  def __init__(self, *args):
11977  r"""
11978  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11979  __init__(PairConstraint self) -> PairConstraint
11980  """
11981  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11982 
11983  def get_before_modifier(self):
11984  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11985  return _IMP_core.PairConstraint_get_before_modifier(self)
11986 
11987  def get_index(self):
11988  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11989  return _IMP_core.PairConstraint_get_index(self)
11990 
11991  def get_version_info(self):
11992  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11993  return _IMP_core.PairConstraint_get_version_info(self)
11994  __swig_destroy__ = _IMP_core.delete_PairConstraint
11995 
11996  def __str__(self):
11997  r"""__str__(PairConstraint self) -> std::string"""
11998  return _IMP_core.PairConstraint___str__(self)
11999 
12000  def __repr__(self):
12001  r"""__repr__(PairConstraint self) -> std::string"""
12002  return _IMP_core.PairConstraint___repr__(self)
12003 
12004  @staticmethod
12005  def get_from(o):
12006  return _object_cast_to_PairConstraint(o)
12007 
12008 
12009  def _get_as_binary(self):
12010  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
12011  return _IMP_core.PairConstraint__get_as_binary(self)
12012 
12013  def _set_from_binary(self, p):
12014  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
12015  return _IMP_core.PairConstraint__set_from_binary(self, p)
12016 
12017  def __getstate__(self):
12018  p = self._get_as_binary()
12019  if len(self.__dict__) > 1:
12020  d = self.__dict__.copy()
12021  del d['this']
12022  p = (d, p)
12023  return p
12024 
12025  def __setstate__(self, p):
12026  if not hasattr(self, 'this'):
12027  self.__init__()
12028  if isinstance(p, tuple):
12029  d, p = p
12030  self.__dict__.update(d)
12031  return self._set_from_binary(p)
12032 
12033 
12034 # Register PairConstraint in _IMP_core:
12035 _IMP_core.PairConstraint_swigregister(PairConstraint)
12036 class TripletConstraint(IMP.Constraint):
12037  r"""Proxy of C++ IMP::core::TripletConstraint class."""
12038 
12039  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12040 
12041  def __init__(self, *args):
12042  r"""
12043  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
12044  __init__(TripletConstraint self) -> TripletConstraint
12045  """
12046  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
12047 
12048  def get_before_modifier(self):
12049  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
12050  return _IMP_core.TripletConstraint_get_before_modifier(self)
12051 
12052  def get_index(self):
12053  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
12054  return _IMP_core.TripletConstraint_get_index(self)
12055 
12056  def get_version_info(self):
12057  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
12058  return _IMP_core.TripletConstraint_get_version_info(self)
12059  __swig_destroy__ = _IMP_core.delete_TripletConstraint
12060 
12061  def __str__(self):
12062  r"""__str__(TripletConstraint self) -> std::string"""
12063  return _IMP_core.TripletConstraint___str__(self)
12064 
12065  def __repr__(self):
12066  r"""__repr__(TripletConstraint self) -> std::string"""
12067  return _IMP_core.TripletConstraint___repr__(self)
12068 
12069  @staticmethod
12070  def get_from(o):
12071  return _object_cast_to_TripletConstraint(o)
12072 
12073 
12074  def _get_as_binary(self):
12075  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
12076  return _IMP_core.TripletConstraint__get_as_binary(self)
12077 
12078  def _set_from_binary(self, p):
12079  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
12080  return _IMP_core.TripletConstraint__set_from_binary(self, p)
12081 
12082  def __getstate__(self):
12083  p = self._get_as_binary()
12084  if len(self.__dict__) > 1:
12085  d = self.__dict__.copy()
12086  del d['this']
12087  p = (d, p)
12088  return p
12089 
12090  def __setstate__(self, p):
12091  if not hasattr(self, 'this'):
12092  self.__init__()
12093  if isinstance(p, tuple):
12094  d, p = p
12095  self.__dict__.update(d)
12096  return self._set_from_binary(p)
12097 
12098 
12099 # Register TripletConstraint in _IMP_core:
12100 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
12101 class QuadConstraint(IMP.Constraint):
12102  r"""Proxy of C++ IMP::core::QuadConstraint class."""
12103 
12104  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12105 
12106  def __init__(self, *args):
12107  r"""
12108  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
12109  __init__(QuadConstraint self) -> QuadConstraint
12110  """
12111  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
12112 
12113  def get_before_modifier(self):
12114  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
12115  return _IMP_core.QuadConstraint_get_before_modifier(self)
12116 
12117  def get_index(self):
12118  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
12119  return _IMP_core.QuadConstraint_get_index(self)
12120 
12121  def get_version_info(self):
12122  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
12123  return _IMP_core.QuadConstraint_get_version_info(self)
12124  __swig_destroy__ = _IMP_core.delete_QuadConstraint
12125 
12126  def __str__(self):
12127  r"""__str__(QuadConstraint self) -> std::string"""
12128  return _IMP_core.QuadConstraint___str__(self)
12129 
12130  def __repr__(self):
12131  r"""__repr__(QuadConstraint self) -> std::string"""
12132  return _IMP_core.QuadConstraint___repr__(self)
12133 
12134  @staticmethod
12135  def get_from(o):
12136  return _object_cast_to_QuadConstraint(o)
12137 
12138 
12139  def _get_as_binary(self):
12140  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
12141  return _IMP_core.QuadConstraint__get_as_binary(self)
12142 
12143  def _set_from_binary(self, p):
12144  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
12145  return _IMP_core.QuadConstraint__set_from_binary(self, p)
12146 
12147  def __getstate__(self):
12148  p = self._get_as_binary()
12149  if len(self.__dict__) > 1:
12150  d = self.__dict__.copy()
12151  del d['this']
12152  p = (d, p)
12153  return p
12154 
12155  def __setstate__(self, p):
12156  if not hasattr(self, 'this'):
12157  self.__init__()
12158  if isinstance(p, tuple):
12159  d, p = p
12160  self.__dict__.update(d)
12161  return self._set_from_binary(p)
12162 
12163 
12164 # Register QuadConstraint in _IMP_core:
12165 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
12166 class ConstantSingletonPredicate(IMP.SingletonPredicate):
12167  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
12168 
12169  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12170 
12171  def __init__(self, *args):
12172  r"""
12173  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12174  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12175  """
12176  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12177 
12178  def do_get_inputs(self, arg2, arg3):
12179  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12180  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12181 
12182  def get_value(self, *args):
12183  r"""
12184  get_value(ConstantSingletonPredicate self, Particle a) -> int
12185  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12186  """
12187  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12188 
12189  def get_value_index(self, *args):
12190  r"""
12191  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12192  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12193  """
12194  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12195 
12196  def get_version_info(self):
12197  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12198  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12199  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12200 
12201  def __str__(self):
12202  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12203  return _IMP_core.ConstantSingletonPredicate___str__(self)
12204 
12205  def __repr__(self):
12206  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12207  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12208 
12209  @staticmethod
12210  def get_from(o):
12211  return _object_cast_to_ConstantSingletonPredicate(o)
12212 
12213 
12214  def _get_as_binary(self):
12215  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12216  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12217 
12218  def _set_from_binary(self, p):
12219  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12220  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12221 
12222  def __getstate__(self):
12223  p = self._get_as_binary()
12224  if len(self.__dict__) > 1:
12225  d = self.__dict__.copy()
12226  del d['this']
12227  p = (d, p)
12228  return p
12229 
12230  def __setstate__(self, p):
12231  if not hasattr(self, 'this'):
12232  self.__init__()
12233  if isinstance(p, tuple):
12234  d, p = p
12235  self.__dict__.update(d)
12236  return self._set_from_binary(p)
12237 
12238 
12239 # Register ConstantSingletonPredicate in _IMP_core:
12240 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12241 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12242  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12243 
12244  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12245 
12246  def __init__(self, *args):
12247  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12248  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12249 
12250  def do_get_inputs(self, m, pis):
12251  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12252  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12253 
12254  def get_value(self, *args):
12255  r"""
12256  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12257  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12258  """
12259  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12260 
12261  def get_value_index(self, *args):
12262  r"""
12263  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12264  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12265  """
12266  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12267 
12268  def get_version_info(self):
12269  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12270  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12271  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12272 
12273  def __str__(self):
12274  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12275  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12276 
12277  def __repr__(self):
12278  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12279  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12280 
12281  @staticmethod
12282  def get_from(o):
12283  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12284 
12285 
12286  def _get_as_binary(self):
12287  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12288  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12289 
12290  def _set_from_binary(self, p):
12291  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12292  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12293 
12294  def __getstate__(self):
12295  p = self._get_as_binary()
12296  if len(self.__dict__) > 1:
12297  d = self.__dict__.copy()
12298  del d['this']
12299  p = (d, p)
12300  return p
12301 
12302  def __setstate__(self, p):
12303  if not hasattr(self, 'this'):
12304  self.__init__()
12305  if isinstance(p, tuple):
12306  d, p = p
12307  self.__dict__.update(d)
12308  return self._set_from_binary(p)
12309 
12310 
12311 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12312 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12313 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12314  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12315 
12316  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12317 
12318  def __init__(self, *args):
12319  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12320  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12321 
12322  def do_get_inputs(self, m, pis):
12323  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12324  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12325 
12326  def get_value(self, *args):
12327  r"""
12328  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12329  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12330  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12331  """
12332  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12333 
12334  def get_value_index(self, *args):
12335  r"""
12336  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12337  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12338  """
12339  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12340 
12341  def get_version_info(self):
12342  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12343  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12344  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12345 
12346  def __str__(self):
12347  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12348  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12349 
12350  def __repr__(self):
12351  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12352  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12353 
12354  @staticmethod
12355  def get_from(o):
12356  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12357 
12358 
12359 # Register OrderedTypeSingletonPredicate in _IMP_core:
12360 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12361 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12362  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12363 
12364  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12365 
12366  def __init__(self, *args):
12367  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12368  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12369 
12370  def do_get_inputs(self, arg2, arg3):
12371  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12372  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12373 
12374  def get_value(self, *args):
12375  r"""
12376  get_value(AllSameSingletonPredicate self, Particle a) -> int
12377  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12378  """
12379  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12380 
12381  def get_value_index(self, *args):
12382  r"""
12383  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12384  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12385  """
12386  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12387 
12388  def get_version_info(self):
12389  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12390  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12391  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12392 
12393  def __str__(self):
12394  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12395  return _IMP_core.AllSameSingletonPredicate___str__(self)
12396 
12397  def __repr__(self):
12398  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12399  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12400 
12401  @staticmethod
12402  def get_from(o):
12403  return _object_cast_to_AllSameSingletonPredicate(o)
12404 
12405 
12406  def _get_as_binary(self):
12407  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12408  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12409 
12410  def _set_from_binary(self, p):
12411  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12412  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12413 
12414  def __getstate__(self):
12415  p = self._get_as_binary()
12416  if len(self.__dict__) > 1:
12417  d = self.__dict__.copy()
12418  del d['this']
12419  p = (d, p)
12420  return p
12421 
12422  def __setstate__(self, p):
12423  if not hasattr(self, 'this'):
12424  self.__init__()
12425  if isinstance(p, tuple):
12426  d, p = p
12427  self.__dict__.update(d)
12428  return self._set_from_binary(p)
12429 
12430 
12431 # Register AllSameSingletonPredicate in _IMP_core:
12432 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12433 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12434  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12435 
12436  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12437 
12438  def __init__(self, *args):
12439  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12440  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12441 
12442  def do_get_inputs(self, arg2, arg3):
12443  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12444  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12445 
12446  def get_value(self, *args):
12447  r"""
12448  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12449  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12450  """
12451  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12452 
12453  def get_value_index(self, *args):
12454  r"""
12455  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12456  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12457  """
12458  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12459 
12460  def get_version_info(self):
12461  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12462  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12463  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12464 
12465  def __str__(self):
12466  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12467  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12468 
12469  def __repr__(self):
12470  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12471  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12472 
12473  @staticmethod
12474  def get_from(o):
12475  return _object_cast_to_CoinFlipSingletonPredicate(o)
12476 
12477 
12478 # Register CoinFlipSingletonPredicate in _IMP_core:
12479 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12480 class ConstantPairPredicate(IMP.PairPredicate):
12481  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12482 
12483  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12484 
12485  def __init__(self, *args):
12486  r"""
12487  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12488  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12489  """
12490  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12491 
12492  def do_get_inputs(self, arg2, arg3):
12493  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12494  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12495 
12496  def get_value(self, *args):
12497  r"""
12498  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12499  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12500  """
12501  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12502 
12503  def get_value_index(self, *args):
12504  r"""
12505  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12506  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12507  """
12508  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12509 
12510  def get_version_info(self):
12511  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12512  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12513  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12514 
12515  def __str__(self):
12516  r"""__str__(ConstantPairPredicate self) -> std::string"""
12517  return _IMP_core.ConstantPairPredicate___str__(self)
12518 
12519  def __repr__(self):
12520  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12521  return _IMP_core.ConstantPairPredicate___repr__(self)
12522 
12523  @staticmethod
12524  def get_from(o):
12525  return _object_cast_to_ConstantPairPredicate(o)
12526 
12527 
12528  def _get_as_binary(self):
12529  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12530  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12531 
12532  def _set_from_binary(self, p):
12533  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12534  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12535 
12536  def __getstate__(self):
12537  p = self._get_as_binary()
12538  if len(self.__dict__) > 1:
12539  d = self.__dict__.copy()
12540  del d['this']
12541  p = (d, p)
12542  return p
12543 
12544  def __setstate__(self, p):
12545  if not hasattr(self, 'this'):
12546  self.__init__()
12547  if isinstance(p, tuple):
12548  d, p = p
12549  self.__dict__.update(d)
12550  return self._set_from_binary(p)
12551 
12552 
12553 # Register ConstantPairPredicate in _IMP_core:
12554 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12555 class UnorderedTypePairPredicate(IMP.PairPredicate):
12556  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12557 
12558  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12559 
12560  def __init__(self, *args):
12561  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12562  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12563 
12564  def do_get_inputs(self, m, pis):
12565  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12566  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12567 
12568  def get_value(self, *args):
12569  r"""
12570  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12571  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12572  """
12573  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12574 
12575  def get_value_index(self, *args):
12576  r"""
12577  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12578  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12579  """
12580  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12581 
12582  def get_version_info(self):
12583  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12584  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12585  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12586 
12587  def __str__(self):
12588  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12589  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12590 
12591  def __repr__(self):
12592  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12593  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12594 
12595  @staticmethod
12596  def get_from(o):
12597  return _object_cast_to_UnorderedTypePairPredicate(o)
12598 
12599 
12600  def _get_as_binary(self):
12601  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12602  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12603 
12604  def _set_from_binary(self, p):
12605  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12606  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12607 
12608  def __getstate__(self):
12609  p = self._get_as_binary()
12610  if len(self.__dict__) > 1:
12611  d = self.__dict__.copy()
12612  del d['this']
12613  p = (d, p)
12614  return p
12615 
12616  def __setstate__(self, p):
12617  if not hasattr(self, 'this'):
12618  self.__init__()
12619  if isinstance(p, tuple):
12620  d, p = p
12621  self.__dict__.update(d)
12622  return self._set_from_binary(p)
12623 
12624 
12625 # Register UnorderedTypePairPredicate in _IMP_core:
12626 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12627 class OrderedTypePairPredicate(IMP.PairPredicate):
12628  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12629 
12630  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12631 
12632  def __init__(self, *args):
12633  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12634  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12635 
12636  def do_get_inputs(self, m, pis):
12637  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12638  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12639 
12640  def get_value(self, *args):
12641  r"""
12642  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12643  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12644  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12645  """
12646  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12647 
12648  def get_value_index(self, *args):
12649  r"""
12650  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12651  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12652  """
12653  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12654 
12655  def get_version_info(self):
12656  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12657  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12658  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12659 
12660  def __str__(self):
12661  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12662  return _IMP_core.OrderedTypePairPredicate___str__(self)
12663 
12664  def __repr__(self):
12665  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12666  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12667 
12668  @staticmethod
12669  def get_from(o):
12670  return _object_cast_to_OrderedTypePairPredicate(o)
12671 
12672 
12673 # Register OrderedTypePairPredicate in _IMP_core:
12674 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12675 class AllSamePairPredicate(IMP.PairPredicate):
12676  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12677 
12678  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12679 
12680  def __init__(self, *args):
12681  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12682  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12683 
12684  def do_get_inputs(self, arg2, arg3):
12685  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12686  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12687 
12688  def get_value(self, *args):
12689  r"""
12690  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12691  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12692  """
12693  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12694 
12695  def get_value_index(self, *args):
12696  r"""
12697  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12698  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12699  """
12700  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12701 
12702  def get_version_info(self):
12703  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12704  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12705  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12706 
12707  def __str__(self):
12708  r"""__str__(AllSamePairPredicate self) -> std::string"""
12709  return _IMP_core.AllSamePairPredicate___str__(self)
12710 
12711  def __repr__(self):
12712  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12713  return _IMP_core.AllSamePairPredicate___repr__(self)
12714 
12715  @staticmethod
12716  def get_from(o):
12717  return _object_cast_to_AllSamePairPredicate(o)
12718 
12719 
12720  def _get_as_binary(self):
12721  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12722  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12723 
12724  def _set_from_binary(self, p):
12725  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12726  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12727 
12728  def __getstate__(self):
12729  p = self._get_as_binary()
12730  if len(self.__dict__) > 1:
12731  d = self.__dict__.copy()
12732  del d['this']
12733  p = (d, p)
12734  return p
12735 
12736  def __setstate__(self, p):
12737  if not hasattr(self, 'this'):
12738  self.__init__()
12739  if isinstance(p, tuple):
12740  d, p = p
12741  self.__dict__.update(d)
12742  return self._set_from_binary(p)
12743 
12744 
12745 # Register AllSamePairPredicate in _IMP_core:
12746 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12747 class CoinFlipPairPredicate(IMP.PairPredicate):
12748  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12749 
12750  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12751 
12752  def __init__(self, *args):
12753  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12754  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12755 
12756  def do_get_inputs(self, arg2, arg3):
12757  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12758  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12759 
12760  def get_value(self, *args):
12761  r"""
12762  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12763  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12764  """
12765  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12766 
12767  def get_value_index(self, *args):
12768  r"""
12769  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12770  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12771  """
12772  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12773 
12774  def get_version_info(self):
12775  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12776  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12777  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12778 
12779  def __str__(self):
12780  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12781  return _IMP_core.CoinFlipPairPredicate___str__(self)
12782 
12783  def __repr__(self):
12784  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12785  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12786 
12787  @staticmethod
12788  def get_from(o):
12789  return _object_cast_to_CoinFlipPairPredicate(o)
12790 
12791 
12792 # Register CoinFlipPairPredicate in _IMP_core:
12793 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12794 class ConstantTripletPredicate(IMP.TripletPredicate):
12795  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12796 
12797  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12798 
12799  def __init__(self, *args):
12800  r"""
12801  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12802  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12803  """
12804  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12805 
12806  def do_get_inputs(self, arg2, arg3):
12807  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12808  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12809 
12810  def get_value(self, *args):
12811  r"""
12812  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12813  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12814  """
12815  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12816 
12817  def get_value_index(self, *args):
12818  r"""
12819  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12820  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12821  """
12822  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12823 
12824  def get_version_info(self):
12825  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12826  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12827  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12828 
12829  def __str__(self):
12830  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12831  return _IMP_core.ConstantTripletPredicate___str__(self)
12832 
12833  def __repr__(self):
12834  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12835  return _IMP_core.ConstantTripletPredicate___repr__(self)
12836 
12837  @staticmethod
12838  def get_from(o):
12839  return _object_cast_to_ConstantTripletPredicate(o)
12840 
12841 
12842  def _get_as_binary(self):
12843  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12844  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12845 
12846  def _set_from_binary(self, p):
12847  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12848  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12849 
12850  def __getstate__(self):
12851  p = self._get_as_binary()
12852  if len(self.__dict__) > 1:
12853  d = self.__dict__.copy()
12854  del d['this']
12855  p = (d, p)
12856  return p
12857 
12858  def __setstate__(self, p):
12859  if not hasattr(self, 'this'):
12860  self.__init__()
12861  if isinstance(p, tuple):
12862  d, p = p
12863  self.__dict__.update(d)
12864  return self._set_from_binary(p)
12865 
12866 
12867 # Register ConstantTripletPredicate in _IMP_core:
12868 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12869 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12870  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12871 
12872  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12873 
12874  def __init__(self, *args):
12875  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12876  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12877 
12878  def do_get_inputs(self, m, pis):
12879  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12880  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12881 
12882  def get_value(self, *args):
12883  r"""
12884  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12885  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12886  """
12887  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12888 
12889  def get_value_index(self, *args):
12890  r"""
12891  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12892  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12893  """
12894  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12895 
12896  def get_version_info(self):
12897  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12898  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12899  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12900 
12901  def __str__(self):
12902  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12903  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12904 
12905  def __repr__(self):
12906  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12907  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12908 
12909  @staticmethod
12910  def get_from(o):
12911  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12912 
12913 
12914  def _get_as_binary(self):
12915  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12916  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12917 
12918  def _set_from_binary(self, p):
12919  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12920  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12921 
12922  def __getstate__(self):
12923  p = self._get_as_binary()
12924  if len(self.__dict__) > 1:
12925  d = self.__dict__.copy()
12926  del d['this']
12927  p = (d, p)
12928  return p
12929 
12930  def __setstate__(self, p):
12931  if not hasattr(self, 'this'):
12932  self.__init__()
12933  if isinstance(p, tuple):
12934  d, p = p
12935  self.__dict__.update(d)
12936  return self._set_from_binary(p)
12937 
12938 
12939 # Register UnorderedTypeTripletPredicate in _IMP_core:
12940 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12941 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12942  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12943 
12944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12945 
12946  def __init__(self, *args):
12947  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12948  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12949 
12950  def do_get_inputs(self, m, pis):
12951  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12952  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12953 
12954  def get_value(self, *args):
12955  r"""
12956  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12957  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12958  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12959  """
12960  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12961 
12962  def get_value_index(self, *args):
12963  r"""
12964  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12965  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12966  """
12967  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12968 
12969  def get_version_info(self):
12970  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12971  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12972  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12973 
12974  def __str__(self):
12975  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12976  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12977 
12978  def __repr__(self):
12979  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12980  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12981 
12982  @staticmethod
12983  def get_from(o):
12984  return _object_cast_to_OrderedTypeTripletPredicate(o)
12985 
12986 
12987 # Register OrderedTypeTripletPredicate in _IMP_core:
12988 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12989 class AllSameTripletPredicate(IMP.TripletPredicate):
12990  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12991 
12992  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12993 
12994  def __init__(self, *args):
12995  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12996  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12997 
12998  def do_get_inputs(self, arg2, arg3):
12999  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13000  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
13001 
13002  def get_value(self, *args):
13003  r"""
13004  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
13005  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
13006  """
13007  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
13008 
13009  def get_value_index(self, *args):
13010  r"""
13011  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
13012  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
13013  """
13014  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
13015 
13016  def get_version_info(self):
13017  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
13018  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
13019  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
13020 
13021  def __str__(self):
13022  r"""__str__(AllSameTripletPredicate self) -> std::string"""
13023  return _IMP_core.AllSameTripletPredicate___str__(self)
13024 
13025  def __repr__(self):
13026  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
13027  return _IMP_core.AllSameTripletPredicate___repr__(self)
13028 
13029  @staticmethod
13030  def get_from(o):
13031  return _object_cast_to_AllSameTripletPredicate(o)
13032 
13033 
13034  def _get_as_binary(self):
13035  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
13036  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
13037 
13038  def _set_from_binary(self, p):
13039  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
13040  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
13041 
13042  def __getstate__(self):
13043  p = self._get_as_binary()
13044  if len(self.__dict__) > 1:
13045  d = self.__dict__.copy()
13046  del d['this']
13047  p = (d, p)
13048  return p
13049 
13050  def __setstate__(self, p):
13051  if not hasattr(self, 'this'):
13052  self.__init__()
13053  if isinstance(p, tuple):
13054  d, p = p
13055  self.__dict__.update(d)
13056  return self._set_from_binary(p)
13057 
13058 
13059 # Register AllSameTripletPredicate in _IMP_core:
13060 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
13061 class CoinFlipTripletPredicate(IMP.TripletPredicate):
13062  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
13063 
13064  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13065 
13066  def __init__(self, *args):
13067  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
13068  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
13069 
13070  def do_get_inputs(self, arg2, arg3):
13071  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13072  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
13073 
13074  def get_value(self, *args):
13075  r"""
13076  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
13077  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
13078  """
13079  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
13080 
13081  def get_value_index(self, *args):
13082  r"""
13083  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
13084  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
13085  """
13086  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
13087 
13088  def get_version_info(self):
13089  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
13090  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
13091  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
13092 
13093  def __str__(self):
13094  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
13095  return _IMP_core.CoinFlipTripletPredicate___str__(self)
13096 
13097  def __repr__(self):
13098  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
13099  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
13100 
13101  @staticmethod
13102  def get_from(o):
13103  return _object_cast_to_CoinFlipTripletPredicate(o)
13104 
13105 
13106 # Register CoinFlipTripletPredicate in _IMP_core:
13107 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
13108 class ConstantQuadPredicate(IMP.QuadPredicate):
13109  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
13110 
13111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13112 
13113  def __init__(self, *args):
13114  r"""
13115  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
13116  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
13117  """
13118  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
13119 
13120  def do_get_inputs(self, arg2, arg3):
13121  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13122  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
13123 
13124  def get_value(self, *args):
13125  r"""
13126  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
13127  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13128  """
13129  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
13130 
13131  def get_value_index(self, *args):
13132  r"""
13133  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13134  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13135  """
13136  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
13137 
13138  def get_version_info(self):
13139  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
13140  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
13141  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
13142 
13143  def __str__(self):
13144  r"""__str__(ConstantQuadPredicate self) -> std::string"""
13145  return _IMP_core.ConstantQuadPredicate___str__(self)
13146 
13147  def __repr__(self):
13148  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
13149  return _IMP_core.ConstantQuadPredicate___repr__(self)
13150 
13151  @staticmethod
13152  def get_from(o):
13153  return _object_cast_to_ConstantQuadPredicate(o)
13154 
13155 
13156  def _get_as_binary(self):
13157  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
13158  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
13159 
13160  def _set_from_binary(self, p):
13161  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
13162  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
13163 
13164  def __getstate__(self):
13165  p = self._get_as_binary()
13166  if len(self.__dict__) > 1:
13167  d = self.__dict__.copy()
13168  del d['this']
13169  p = (d, p)
13170  return p
13171 
13172  def __setstate__(self, p):
13173  if not hasattr(self, 'this'):
13174  self.__init__()
13175  if isinstance(p, tuple):
13176  d, p = p
13177  self.__dict__.update(d)
13178  return self._set_from_binary(p)
13179 
13180 
13181 # Register ConstantQuadPredicate in _IMP_core:
13182 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13183 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13184  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13185 
13186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13187 
13188  def __init__(self, *args):
13189  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13190  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13191 
13192  def do_get_inputs(self, m, pis):
13193  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13194  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13195 
13196  def get_value(self, *args):
13197  r"""
13198  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13199  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13200  """
13201  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13202 
13203  def get_value_index(self, *args):
13204  r"""
13205  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13206  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13207  """
13208  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13209 
13210  def get_version_info(self):
13211  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13212  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13213  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13214 
13215  def __str__(self):
13216  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13217  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13218 
13219  def __repr__(self):
13220  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13221  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13222 
13223  @staticmethod
13224  def get_from(o):
13225  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13226 
13227 
13228  def _get_as_binary(self):
13229  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13230  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13231 
13232  def _set_from_binary(self, p):
13233  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13234  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13235 
13236  def __getstate__(self):
13237  p = self._get_as_binary()
13238  if len(self.__dict__) > 1:
13239  d = self.__dict__.copy()
13240  del d['this']
13241  p = (d, p)
13242  return p
13243 
13244  def __setstate__(self, p):
13245  if not hasattr(self, 'this'):
13246  self.__init__()
13247  if isinstance(p, tuple):
13248  d, p = p
13249  self.__dict__.update(d)
13250  return self._set_from_binary(p)
13251 
13252 
13253 # Register UnorderedTypeQuadPredicate in _IMP_core:
13254 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13255 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13256  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13257 
13258  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13259 
13260  def __init__(self, *args):
13261  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13262  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13263 
13264  def do_get_inputs(self, m, pis):
13265  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13266  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13267 
13268  def get_value(self, *args):
13269  r"""
13270  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13271  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13272  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13273  """
13274  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13275 
13276  def get_value_index(self, *args):
13277  r"""
13278  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13279  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13280  """
13281  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13282 
13283  def get_version_info(self):
13284  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13285  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13286  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13287 
13288  def __str__(self):
13289  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13290  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13291 
13292  def __repr__(self):
13293  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13294  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13295 
13296  @staticmethod
13297  def get_from(o):
13298  return _object_cast_to_OrderedTypeQuadPredicate(o)
13299 
13300 
13301 # Register OrderedTypeQuadPredicate in _IMP_core:
13302 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13303 class AllSameQuadPredicate(IMP.QuadPredicate):
13304  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13305 
13306  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13307 
13308  def __init__(self, *args):
13309  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13310  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13311 
13312  def do_get_inputs(self, arg2, arg3):
13313  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13314  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13315 
13316  def get_value(self, *args):
13317  r"""
13318  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13319  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13320  """
13321  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13322 
13323  def get_value_index(self, *args):
13324  r"""
13325  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13326  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13327  """
13328  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13329 
13330  def get_version_info(self):
13331  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13332  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13333  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13334 
13335  def __str__(self):
13336  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13337  return _IMP_core.AllSameQuadPredicate___str__(self)
13338 
13339  def __repr__(self):
13340  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13341  return _IMP_core.AllSameQuadPredicate___repr__(self)
13342 
13343  @staticmethod
13344  def get_from(o):
13345  return _object_cast_to_AllSameQuadPredicate(o)
13346 
13347 
13348  def _get_as_binary(self):
13349  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13350  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13351 
13352  def _set_from_binary(self, p):
13353  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13354  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13355 
13356  def __getstate__(self):
13357  p = self._get_as_binary()
13358  if len(self.__dict__) > 1:
13359  d = self.__dict__.copy()
13360  del d['this']
13361  p = (d, p)
13362  return p
13363 
13364  def __setstate__(self, p):
13365  if not hasattr(self, 'this'):
13366  self.__init__()
13367  if isinstance(p, tuple):
13368  d, p = p
13369  self.__dict__.update(d)
13370  return self._set_from_binary(p)
13371 
13372 
13373 # Register AllSameQuadPredicate in _IMP_core:
13374 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13375 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13376  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13377 
13378  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13379 
13380  def __init__(self, *args):
13381  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13382  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13383 
13384  def do_get_inputs(self, arg2, arg3):
13385  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13386  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13387 
13388  def get_value(self, *args):
13389  r"""
13390  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13391  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13392  """
13393  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13394 
13395  def get_value_index(self, *args):
13396  r"""
13397  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13398  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13399  """
13400  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13401 
13402  def get_version_info(self):
13403  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13404  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13405  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13406 
13407  def __str__(self):
13408  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13409  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13410 
13411  def __repr__(self):
13412  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13413  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13414 
13415  @staticmethod
13416  def get_from(o):
13417  return _object_cast_to_CoinFlipQuadPredicate(o)
13418 
13419 
13420 # Register CoinFlipQuadPredicate in _IMP_core:
13421 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13422 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13423  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13424 
13425  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13426 
13427  def __init__(self, *args):
13428  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13429  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13430 
13431  def do_get_inputs(self, m, pi):
13432  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13433  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13434 
13435  def get_value(self, *args):
13436  r"""
13437  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13438  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13439  """
13440  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13441 
13442  def get_value_index(self, *args):
13443  r"""
13444  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13445  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13446  """
13447  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13448 
13449  def get_version_info(self):
13450  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13451  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13452  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13453 
13454  def __str__(self):
13455  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13456  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13457 
13458  def __repr__(self):
13459  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13460  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13461 
13462  @staticmethod
13463  def get_from(o):
13464  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13465 
13466 
13467 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13468 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13469 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13470  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13471 
13472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13473 
13474  def __init__(self, *args):
13475  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13476  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13477 
13478  def do_get_inputs(self, m, pi):
13479  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13480  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13481 
13482  def get_value(self, *args):
13483  r"""
13484  get_value(AttributeSingletonPredicate self, Particle a) -> int
13485  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13486  """
13487  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13488 
13489  def get_value_index(self, *args):
13490  r"""
13491  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13492  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13493  """
13494  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13495 
13496  def get_version_info(self):
13497  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13498  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13499  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13500 
13501  def __str__(self):
13502  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13503  return _IMP_core.AttributeSingletonPredicate___str__(self)
13504 
13505  def __repr__(self):
13506  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13507  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13508 
13509  @staticmethod
13510  def get_from(o):
13511  return _object_cast_to_AttributeSingletonPredicate(o)
13512 
13513 
13514 # Register AttributeSingletonPredicate in _IMP_core:
13515 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13516 class IsCollisionPairPredicate(IMP.PairPredicate):
13517  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13518 
13519  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13520 
13521  def __init__(self, *args):
13522  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13523  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13524 
13525  def do_get_inputs(self, m, pi):
13526  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13527  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13528 
13529  def get_value(self, *args):
13530  r"""
13531  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13532  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13533  """
13534  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13535 
13536  def get_value_index(self, *args):
13537  r"""
13538  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13539  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13540  """
13541  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13542 
13543  def get_version_info(self):
13544  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13545  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13546  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13547 
13548  def __str__(self):
13549  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13550  return _IMP_core.IsCollisionPairPredicate___str__(self)
13551 
13552  def __repr__(self):
13553  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13554  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13555 
13556  @staticmethod
13557  def get_from(o):
13558  return _object_cast_to_IsCollisionPairPredicate(o)
13559 
13560 
13561 # Register IsCollisionPairPredicate in _IMP_core:
13562 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13563 class AngleRestraint(TripletRestraint):
13564  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13565 
13566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13567 
13568  def __init__(self, *args):
13569  r"""
13570  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13571  __init__(AngleRestraint self) -> AngleRestraint
13572  """
13573  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13574  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13575 
13576  def __str__(self):
13577  r"""__str__(AngleRestraint self) -> std::string"""
13578  return _IMP_core.AngleRestraint___str__(self)
13579 
13580  def __repr__(self):
13581  r"""__repr__(AngleRestraint self) -> std::string"""
13582  return _IMP_core.AngleRestraint___repr__(self)
13583 
13584  @staticmethod
13585  def get_from(o):
13586  return _object_cast_to_AngleRestraint(o)
13587 
13588 
13589  def _get_as_binary(self):
13590  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13591  return _IMP_core.AngleRestraint__get_as_binary(self)
13592 
13593  def _set_from_binary(self, p):
13594  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13595  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13596 
13597  def __getstate__(self):
13598  p = self._get_as_binary()
13599  if len(self.__dict__) > 1:
13600  d = self.__dict__.copy()
13601  del d['this']
13602  p = (d, p)
13603  return p
13604 
13605  def __setstate__(self, p):
13606  if not hasattr(self, 'this'):
13607  self.__init__()
13608  if isinstance(p, tuple):
13609  d, p = p
13610  self.__dict__.update(d)
13611  return self._set_from_binary(p)
13612 
13613 
13614 # Register AngleRestraint in _IMP_core:
13615 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13616 class RigidBodyMover(MonteCarloMover):
13617  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13618 
13619  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13620 
13621  def __init__(self, *args):
13622  r"""
13623  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13624  __init__(RigidBodyMover self) -> RigidBodyMover
13625  """
13626  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13627 
13628  def set_maximum_translation(self, mt):
13629  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13630  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13631 
13632  def set_maximum_rotation(self, mr):
13633  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13634  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13635 
13636  def get_maximum_translation(self):
13637  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13638  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13639 
13640  def get_maximum_rotation(self):
13641  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13642  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13643 
13644  def get_index(self):
13645  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13646  return _IMP_core.RigidBodyMover_get_index(self)
13647 
13648  def get_version_info(self):
13649  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13650  return _IMP_core.RigidBodyMover_get_version_info(self)
13651  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13652 
13653  def __str__(self):
13654  r"""__str__(RigidBodyMover self) -> std::string"""
13655  return _IMP_core.RigidBodyMover___str__(self)
13656 
13657  def __repr__(self):
13658  r"""__repr__(RigidBodyMover self) -> std::string"""
13659  return _IMP_core.RigidBodyMover___repr__(self)
13660 
13661  @staticmethod
13662  def get_from(o):
13663  return _object_cast_to_RigidBodyMover(o)
13664 
13665 
13666  def _get_as_binary(self):
13667  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13668  return _IMP_core.RigidBodyMover__get_as_binary(self)
13669 
13670  def _set_from_binary(self, p):
13671  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13672  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13673 
13674  def __getstate__(self):
13675  p = self._get_as_binary()
13676  if len(self.__dict__) > 1:
13677  d = self.__dict__.copy()
13678  del d['this']
13679  p = (d, p)
13680  return p
13681 
13682  def __setstate__(self, p):
13683  if not hasattr(self, 'this'):
13684  self.__init__()
13685  if isinstance(p, tuple):
13686  d, p = p
13687  self.__dict__.update(d)
13688  return self._set_from_binary(p)
13689 
13690 
13691  def _get_jax(self):
13692  import jax.random
13693  import IMP.core._jax_rigid
13694  from IMP.algebra._jax_util import (get_random_vector_on_3d_sphere,
13695  get_random_vector_in_3d_sphere,
13696  get_rotation_about_normalized_axis,
13697  _quaternion_multiply)
13698  max_angle = self.get_maximum_rotation()
13699  max_translation = self.get_maximum_translation()
13700  particle_index = self.get_index()
13701  body_index = IMP.core._jax_rigid._get_rigid_body_index(
13702  self.get_model(), self.get_index())
13703 
13704  def init_func(key):
13705  return key
13706 
13707  def propose_func(jm, key):
13708  body = jm['rigid_bodies'].bodies[body_index]
13709  tf = body.get_transformation(jm)
13710 
13711  if max_translation > 0:
13712  key, subkey = jax.random.split(key)
13713  tf.translation += get_random_vector_in_3d_sphere(
13714  subkey, max_translation)[0]
13715  if max_angle > 0:
13716  key, subkey1, subkey2 = jax.random.split(key, 3)
13717  axis_norm = get_random_vector_on_3d_sphere(subkey1, 1.0)[0]
13718  angle = jax.random.uniform(
13719  subkey2, minval=-max_angle, maxval=max_angle)
13720  rotation = get_rotation_about_normalized_axis(axis_norm, angle)
13721  tf.rotation = _quaternion_multiply(rotation, tf.rotation)
13722  jm = body.set_transformation_lazy(tf, jm)
13723  return jm, key, 1.0
13724 
13725  return self._wrap_jax(init_func, propose_func, keys=['rigid_bodies'])
13726 
13727 
13728 # Register RigidBodyMover in _IMP_core:
13729 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13730 class RigidBodyTunneler(MonteCarloMover):
13731  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13732 
13733  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13734 
13735  def __init__(self, m, pis, ref, k, move_probability=1.):
13736  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13737  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13738 
13739  def add_entry_point(self, fl):
13740  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13741  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13742 
13743  def reset_stats(self):
13744  r"""reset_stats(RigidBodyTunneler self)"""
13745  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13746 
13747  def get_number_of_rejected_moves(self):
13748  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13749  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13750 
13751  def get_number_of_proposed_moves(self):
13752  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13753  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13754 
13755  def get_number_of_impossible_moves(self):
13756  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13757  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13758 
13759  def get_number_of_calls(self):
13760  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13761  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13762 
13763  @staticmethod
13764  def get_reduced_coordinates(*args):
13765  r"""
13766  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13767  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13768  """
13769  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13770 
13771  @staticmethod
13772  def set_reduced_coordinates(m, target, ref, coords):
13773  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13774  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13775 
13776  def get_version_info(self):
13777  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13778  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13779  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13780 
13781  def __str__(self):
13782  r"""__str__(RigidBodyTunneler self) -> std::string"""
13783  return _IMP_core.RigidBodyTunneler___str__(self)
13784 
13785  def __repr__(self):
13786  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13787  return _IMP_core.RigidBodyTunneler___repr__(self)
13788 
13789  @staticmethod
13790  def get_from(o):
13791  return _object_cast_to_RigidBodyTunneler(o)
13792 
13793 
13794 # Register RigidBodyTunneler in _IMP_core:
13795 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13796 class RigidBodyUmbrella(IMP.Restraint):
13797  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13798 
13799  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13800 
13801  def __init__(self, *args):
13802  r"""
13803  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13804  __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
13805  """
13806  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13807 
13808  def set_x0(self, *args):
13809  r"""
13810  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13811  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13812  """
13813  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13814 
13815  def get_x0(self):
13816  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13817  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13818 
13819  def get_x(self):
13820  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13821  return _IMP_core.RigidBodyUmbrella_get_x(self)
13822 
13823  def set_alpha(self, alpha):
13824  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13825  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13826 
13827  def set_k(self, k):
13828  r"""set_k(RigidBodyUmbrella self, double k)"""
13829  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13830 
13831  def get_version_info(self):
13832  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13833  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13834  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13835 
13836  def __str__(self):
13837  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13838  return _IMP_core.RigidBodyUmbrella___str__(self)
13839 
13840  def __repr__(self):
13841  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13842  return _IMP_core.RigidBodyUmbrella___repr__(self)
13843 
13844  @staticmethod
13845  def get_from(o):
13846  return _object_cast_to_RigidBodyUmbrella(o)
13847 
13848 
13849 # Register RigidBodyUmbrella in _IMP_core:
13850 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13851 class VolumeRestraint(IMP.Restraint):
13852  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13853 
13854  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13855 
13856  def __init__(self, f, sc, volume):
13857  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13858  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13859 
13860  def do_get_inputs(self):
13861  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13862  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13863 
13864  def get_version_info(self):
13865  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13866  return _IMP_core.VolumeRestraint_get_version_info(self)
13867  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13868 
13869  def __str__(self):
13870  r"""__str__(VolumeRestraint self) -> std::string"""
13871  return _IMP_core.VolumeRestraint___str__(self)
13872 
13873  def __repr__(self):
13874  r"""__repr__(VolumeRestraint self) -> std::string"""
13875  return _IMP_core.VolumeRestraint___repr__(self)
13876 
13877  @staticmethod
13878  def get_from(o):
13879  return _object_cast_to_VolumeRestraint(o)
13880 
13881 
13882 # Register VolumeRestraint in _IMP_core:
13883 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13884 
13885 def get_centroid(ps):
13886  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13887  return _IMP_core.get_centroid(ps)
13888 
13889 def get_bounding_box(ps):
13890  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13891  return _IMP_core.get_bounding_box(ps)
13892 class MoveStatisticsScoreState(IMP.ScoreState):
13893  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13894 
13895  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13896 
13897  def __init__(self, ps):
13898  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13899  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13900 
13901  def show_statistics(self, *args):
13902  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13903  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13904 
13905  def reset(self):
13906  r"""reset(MoveStatisticsScoreState self)"""
13907  return _IMP_core.MoveStatisticsScoreState_reset(self)
13908 
13909  def do_before_evaluate(self):
13910  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13911  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13912 
13913  def do_after_evaluate(self, da):
13914  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13915  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13916 
13917  def do_get_inputs(self):
13918  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13919  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13920 
13921  def do_get_outputs(self):
13922  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13923  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13924 
13925  def get_version_info(self):
13926  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13927  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13928  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13929 
13930  def __str__(self):
13931  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13932  return _IMP_core.MoveStatisticsScoreState___str__(self)
13933 
13934  def __repr__(self):
13935  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13936  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13937 
13938  @staticmethod
13939  def get_from(o):
13940  return _object_cast_to_MoveStatisticsScoreState(o)
13941 
13942 
13943 # Register MoveStatisticsScoreState in _IMP_core:
13944 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13945 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13946 
13947 class Typed(IMP.Decorator):
13948  r"""Proxy of C++ IMP::core::Typed class."""
13949 
13950  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13951 
13952  @staticmethod
13953  def get_type_key():
13954  r"""get_type_key() -> IntKey"""
13955  return _IMP_core.Typed_get_type_key()
13956 
13957  def __init__(self, *args):
13958  r"""
13959  __init__(Typed self) -> Typed
13960  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13961  __init__(Typed self, _ParticleAdaptor d) -> Typed
13962  """
13963  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13964 
13965  def show(self, *args):
13966  r"""show(Typed self, _ostream out=std::cout)"""
13967  return _IMP_core.Typed_show(self, *args)
13968 
13969  @staticmethod
13970  def setup_particle(*args):
13971  r"""
13972  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13973  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13974  """
13975  return _IMP_core.Typed_setup_particle(*args)
13976 
13977  @staticmethod
13978  def get_is_setup(*args):
13979  r"""
13980  get_is_setup(_ParticleAdaptor p) -> bool
13981  get_is_setup(Model m, ParticleIndex pi) -> bool
13982  """
13983  return _IMP_core.Typed_get_is_setup(*args)
13984 
13985  def get_type(self):
13986  r"""get_type(Typed self) -> ParticleType"""
13987  return _IMP_core.Typed_get_type(self)
13988 
13989  def set_type(self, pt):
13990  r"""set_type(Typed self, ParticleType pt)"""
13991  return _IMP_core.Typed_set_type(self, pt)
13992 
13993  def add_attribute(self, *args):
13994  r"""
13995  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13996  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13997  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13998  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13999  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
14000  add_attribute(Typed self, StringKey a0, IMP::String a1)
14001  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
14002  add_attribute(Typed self, ObjectKey a0, Object a1)
14003  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
14004  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
14005  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
14006  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
14007  """
14008  return _IMP_core.Typed_add_attribute(self, *args)
14009 
14010  def get_value(self, *args):
14011  r"""
14012  get_value(Typed self, FloatKey a0) -> IMP::Float
14013  get_value(Typed self, IntKey a0) -> IMP::Int
14014  get_value(Typed self, FloatsKey a0) -> IMP::Floats
14015  get_value(Typed self, IntsKey a0) -> IMP::Ints
14016  get_value(Typed self, StringKey a0) -> IMP::String
14017  get_value(Typed self, ParticleIndexKey a0) -> Particle
14018  get_value(Typed self, ObjectKey a0) -> Object
14019  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
14020  get_value(Typed self, SparseIntKey a0) -> IMP::Int
14021  get_value(Typed self, SparseStringKey a0) -> IMP::String
14022  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
14023  """
14024  return _IMP_core.Typed_get_value(self, *args)
14025 
14026  def set_value(self, *args):
14027  r"""
14028  set_value(Typed self, FloatKey a0, IMP::Float a1)
14029  set_value(Typed self, IntKey a0, IMP::Int a1)
14030  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
14031  set_value(Typed self, IntsKey a0, IMP::Ints a1)
14032  set_value(Typed self, StringKey a0, IMP::String a1)
14033  set_value(Typed self, ParticleIndexKey a0, Particle a1)
14034  set_value(Typed self, ObjectKey a0, Object a1)
14035  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
14036  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
14037  set_value(Typed self, SparseStringKey a0, IMP::String a1)
14038  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
14039  """
14040  return _IMP_core.Typed_set_value(self, *args)
14041 
14042  def remove_attribute(self, *args):
14043  r"""
14044  remove_attribute(Typed self, FloatKey a0)
14045  remove_attribute(Typed self, IntKey a0)
14046  remove_attribute(Typed self, FloatsKey a0)
14047  remove_attribute(Typed self, IntsKey a0)
14048  remove_attribute(Typed self, StringKey a0)
14049  remove_attribute(Typed self, ParticleIndexKey a0)
14050  remove_attribute(Typed self, ObjectKey a0)
14051  remove_attribute(Typed self, SparseFloatKey a0)
14052  remove_attribute(Typed self, SparseIntKey a0)
14053  remove_attribute(Typed self, SparseStringKey a0)
14054  remove_attribute(Typed self, SparseParticleIndexKey a0)
14055  """
14056  return _IMP_core.Typed_remove_attribute(self, *args)
14057 
14058  def has_attribute(self, *args):
14059  r"""
14060  has_attribute(Typed self, FloatKey a0) -> bool
14061  has_attribute(Typed self, IntKey a0) -> bool
14062  has_attribute(Typed self, FloatsKey a0) -> bool
14063  has_attribute(Typed self, IntsKey a0) -> bool
14064  has_attribute(Typed self, StringKey a0) -> bool
14065  has_attribute(Typed self, ParticleIndexKey a0) -> bool
14066  has_attribute(Typed self, ObjectKey a0) -> bool
14067  has_attribute(Typed self, SparseFloatKey a0) -> bool
14068  has_attribute(Typed self, SparseIntKey a0) -> bool
14069  has_attribute(Typed self, SparseStringKey a0) -> bool
14070  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
14071  """
14072  return _IMP_core.Typed_has_attribute(self, *args)
14073 
14074  def get_derivative(self, a0):
14075  r"""get_derivative(Typed self, FloatKey a0) -> double"""
14076  return _IMP_core.Typed_get_derivative(self, a0)
14077 
14078  def get_name(self):
14079  r"""get_name(Typed self) -> std::string"""
14080  return _IMP_core.Typed_get_name(self)
14081 
14082  def clear_caches(self):
14083  r"""clear_caches(Typed self)"""
14084  return _IMP_core.Typed_clear_caches(self)
14085 
14086  def set_name(self, a0):
14087  r"""set_name(Typed self, std::string a0)"""
14088  return _IMP_core.Typed_set_name(self, a0)
14089 
14090  def set_check_level(self, a0):
14091  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
14092  return _IMP_core.Typed_set_check_level(self, a0)
14093 
14094  def add_to_derivative(self, a0, a1, a2):
14095  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14096  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
14097 
14098  def set_is_optimized(self, a0, a1):
14099  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
14100  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
14101 
14102  def get_is_optimized(self, a0):
14103  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
14104  return _IMP_core.Typed_get_is_optimized(self, a0)
14105 
14106  def get_check_level(self):
14107  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
14108  return _IMP_core.Typed_get_check_level(self)
14109 
14110  def __eq__(self, *args):
14111  r"""
14112  __eq__(Typed self, Typed o) -> bool
14113  __eq__(Typed self, Particle d) -> bool
14114  """
14115  return _IMP_core.Typed___eq__(self, *args)
14116 
14117  def __ne__(self, *args):
14118  r"""
14119  __ne__(Typed self, Typed o) -> bool
14120  __ne__(Typed self, Particle d) -> bool
14121  """
14122  return _IMP_core.Typed___ne__(self, *args)
14123 
14124  def __le__(self, *args):
14125  r"""
14126  __le__(Typed self, Typed o) -> bool
14127  __le__(Typed self, Particle d) -> bool
14128  """
14129  return _IMP_core.Typed___le__(self, *args)
14130 
14131  def __lt__(self, *args):
14132  r"""
14133  __lt__(Typed self, Typed o) -> bool
14134  __lt__(Typed self, Particle d) -> bool
14135  """
14136  return _IMP_core.Typed___lt__(self, *args)
14137 
14138  def __ge__(self, *args):
14139  r"""
14140  __ge__(Typed self, Typed o) -> bool
14141  __ge__(Typed self, Particle d) -> bool
14142  """
14143  return _IMP_core.Typed___ge__(self, *args)
14144 
14145  def __gt__(self, *args):
14146  r"""
14147  __gt__(Typed self, Typed o) -> bool
14148  __gt__(Typed self, Particle d) -> bool
14149  """
14150  return _IMP_core.Typed___gt__(self, *args)
14151 
14152  def __hash__(self):
14153  r"""__hash__(Typed self) -> std::size_t"""
14154  return _IMP_core.Typed___hash__(self)
14155 
14156  def __str__(self):
14157  r"""__str__(Typed self) -> std::string"""
14158  return _IMP_core.Typed___str__(self)
14159 
14160  def __repr__(self):
14161  r"""__repr__(Typed self) -> std::string"""
14162  return _IMP_core.Typed___repr__(self)
14163 
14164  def _get_as_binary(self):
14165  r"""_get_as_binary(Typed self) -> PyObject *"""
14166  return _IMP_core.Typed__get_as_binary(self)
14167 
14168  def _set_from_binary(self, p):
14169  r"""_set_from_binary(Typed self, PyObject * p)"""
14170  return _IMP_core.Typed__set_from_binary(self, p)
14171 
14172  def __getstate__(self):
14173  p = self._get_as_binary()
14174  if len(self.__dict__) > 1:
14175  d = self.__dict__.copy()
14176  del d['this']
14177  p = (d, p)
14178  return p
14179 
14180  def __setstate__(self, p):
14181  if not hasattr(self, 'this'):
14182  self.__init__()
14183  if isinstance(p, tuple):
14184  d, p = p
14185  self.__dict__.update(d)
14186  return self._set_from_binary(p)
14187 
14188  __swig_destroy__ = _IMP_core.delete_Typed
14189 
14190 # Register Typed in _IMP_core:
14191 _IMP_core.Typed_swigregister(Typed)
14192 
14193 def __lshift__(*args):
14194  r"""
14195  __lshift__(_ostream out, XYZ n) -> _ostream
14196  __lshift__(_ostream out, XYZR n) -> _ostream
14197  __lshift__(_ostream out, Direction n) -> _ostream
14198  __lshift__(_ostream out, DirectionAngle n) -> _ostream
14199  __lshift__(_ostream out, Surface n) -> _ostream
14200  __lshift__(_ostream out, Centroid n) -> _ostream
14201  __lshift__(_ostream out, Cover n) -> _ostream
14202  __lshift__(_ostream out, Reference n) -> _ostream
14203  __lshift__(_ostream out, RigidMember n) -> _ostream
14204  __lshift__(_ostream out, RigidBody n) -> _ostream
14205  __lshift__(_ostream out, Gaussian n) -> _ostream
14206  __lshift__(_ostream out, Typed n) -> _ostream
14207  """
14208  return _IMP_core.__lshift__(*args)
14209 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14210  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14211 
14212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14213 
14214  def __init__(self, rs, out):
14215  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14216  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14217 
14218  def get_version_info(self):
14219  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14220  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14221  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14222 
14223  def __str__(self):
14224  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14225  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14226 
14227  def __repr__(self):
14228  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14229  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14230 
14231  @staticmethod
14232  def get_from(o):
14233  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14234 
14235 
14236 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14237 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14238 
14239 def assign_blame(rs, ps, attribute):
14240  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14241  return _IMP_core.assign_blame(rs, ps, attribute)
14242 
14243 def create_blame_geometries(*args):
14244  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14245  return _IMP_core.create_blame_geometries(*args)
14246 class MultipleBinormalRestraint(IMP.Restraint):
14247  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14248 
14249  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14250 
14251  def __init__(self, m, q1, q2):
14252  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14253  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14254 
14255  def add_term(self, term):
14256  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14257  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14258 
14259  def do_get_inputs(self):
14260  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14261  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14262 
14263  def get_version_info(self):
14264  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14265  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14266  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14267 
14268  def __str__(self):
14269  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14270  return _IMP_core.MultipleBinormalRestraint___str__(self)
14271 
14272  def __repr__(self):
14273  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14274  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14275 
14276  @staticmethod
14277  def get_from(o):
14278  return _object_cast_to_MultipleBinormalRestraint(o)
14279 
14280 
14281 # Register MultipleBinormalRestraint in _IMP_core:
14282 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14283 class BinormalTerm(object):
14284  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14285 
14286  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14287 
14288  def __init__(self):
14289  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14290  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14291 
14292  def set_correlation(self, correlation):
14293  r"""set_correlation(BinormalTerm self, double correlation)"""
14294  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14295 
14296  def set_weight(self, weight):
14297  r"""set_weight(BinormalTerm self, double weight)"""
14298  return _IMP_core.BinormalTerm_set_weight(self, weight)
14299 
14300  def set_means(self, means):
14301  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14302  return _IMP_core.BinormalTerm_set_means(self, means)
14303 
14304  def set_standard_deviations(self, stdevs):
14305  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14306  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14307 
14308  def show(self, *args):
14309  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14310  return _IMP_core.BinormalTerm_show(self, *args)
14311 
14312  def __str__(self):
14313  r"""__str__(BinormalTerm self) -> std::string"""
14314  return _IMP_core.BinormalTerm___str__(self)
14315 
14316  def __repr__(self):
14317  r"""__repr__(BinormalTerm self) -> std::string"""
14318  return _IMP_core.BinormalTerm___repr__(self)
14319 
14320  def _get_as_binary(self):
14321  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14322  return _IMP_core.BinormalTerm__get_as_binary(self)
14323 
14324  def _set_from_binary(self, p):
14325  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14326  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14327 
14328  def __getstate__(self):
14329  p = self._get_as_binary()
14330  if len(self.__dict__) > 1:
14331  d = self.__dict__.copy()
14332  del d['this']
14333  p = (d, p)
14334  return p
14335 
14336  def __setstate__(self, p):
14337  if not hasattr(self, 'this'):
14338  self.__init__()
14339  if isinstance(p, tuple):
14340  d, p = p
14341  self.__dict__.update(d)
14342  return self._set_from_binary(p)
14343 
14344  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14345 
14346 # Register BinormalTerm in _IMP_core:
14347 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14348 class Provenance(IMP.Decorator):
14349  r"""Proxy of C++ IMP::core::Provenance class."""
14350 
14351  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14352 
14353  def get_previous(self):
14354  r"""get_previous(Provenance self) -> Provenance"""
14355  return _IMP_core.Provenance_get_previous(self)
14356 
14357  def set_previous(self, p):
14358  r"""set_previous(Provenance self, Provenance p)"""
14359  return _IMP_core.Provenance_set_previous(self, p)
14360 
14361  def __init__(self, *args):
14362  r"""
14363  __init__(Provenance self) -> Provenance
14364  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14365  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14366  """
14367  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14368 
14369  @staticmethod
14370  def get_is_setup(*args):
14371  r"""
14372  get_is_setup(Model m, ParticleIndex pi) -> bool
14373  get_is_setup(_ParticleAdaptor p) -> bool
14374  """
14375  return _IMP_core.Provenance_get_is_setup(*args)
14376 
14377  def show(self, *args):
14378  r"""show(Provenance self, _ostream out=std::cout)"""
14379  return _IMP_core.Provenance_show(self, *args)
14380 
14381  @staticmethod
14382  def setup_particle(*args):
14383  r"""
14384  setup_particle(Model m, ParticleIndex pi) -> Provenance
14385  setup_particle(_ParticleAdaptor pa) -> Provenance
14386  """
14387  return _IMP_core.Provenance_setup_particle(*args)
14388 
14389  def add_attribute(self, *args):
14390  r"""
14391  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14392  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14393  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14394  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14395  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14396  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14397  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14398  add_attribute(Provenance self, ObjectKey a0, Object a1)
14399  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14400  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14401  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14402  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14403  """
14404  return _IMP_core.Provenance_add_attribute(self, *args)
14405 
14406  def get_value(self, *args):
14407  r"""
14408  get_value(Provenance self, FloatKey a0) -> IMP::Float
14409  get_value(Provenance self, IntKey a0) -> IMP::Int
14410  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14411  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14412  get_value(Provenance self, StringKey a0) -> IMP::String
14413  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14414  get_value(Provenance self, ObjectKey a0) -> Object
14415  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14416  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14417  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14418  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14419  """
14420  return _IMP_core.Provenance_get_value(self, *args)
14421 
14422  def set_value(self, *args):
14423  r"""
14424  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14425  set_value(Provenance self, IntKey a0, IMP::Int a1)
14426  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14427  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14428  set_value(Provenance self, StringKey a0, IMP::String a1)
14429  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14430  set_value(Provenance self, ObjectKey a0, Object a1)
14431  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14432  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14433  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14434  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14435  """
14436  return _IMP_core.Provenance_set_value(self, *args)
14437 
14438  def remove_attribute(self, *args):
14439  r"""
14440  remove_attribute(Provenance self, FloatKey a0)
14441  remove_attribute(Provenance self, IntKey a0)
14442  remove_attribute(Provenance self, FloatsKey a0)
14443  remove_attribute(Provenance self, IntsKey a0)
14444  remove_attribute(Provenance self, StringKey a0)
14445  remove_attribute(Provenance self, ParticleIndexKey a0)
14446  remove_attribute(Provenance self, ObjectKey a0)
14447  remove_attribute(Provenance self, SparseFloatKey a0)
14448  remove_attribute(Provenance self, SparseIntKey a0)
14449  remove_attribute(Provenance self, SparseStringKey a0)
14450  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14451  """
14452  return _IMP_core.Provenance_remove_attribute(self, *args)
14453 
14454  def has_attribute(self, *args):
14455  r"""
14456  has_attribute(Provenance self, FloatKey a0) -> bool
14457  has_attribute(Provenance self, IntKey a0) -> bool
14458  has_attribute(Provenance self, FloatsKey a0) -> bool
14459  has_attribute(Provenance self, IntsKey a0) -> bool
14460  has_attribute(Provenance self, StringKey a0) -> bool
14461  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14462  has_attribute(Provenance self, ObjectKey a0) -> bool
14463  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14464  has_attribute(Provenance self, SparseIntKey a0) -> bool
14465  has_attribute(Provenance self, SparseStringKey a0) -> bool
14466  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14467  """
14468  return _IMP_core.Provenance_has_attribute(self, *args)
14469 
14470  def get_derivative(self, a0):
14471  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14472  return _IMP_core.Provenance_get_derivative(self, a0)
14473 
14474  def get_name(self):
14475  r"""get_name(Provenance self) -> std::string"""
14476  return _IMP_core.Provenance_get_name(self)
14477 
14478  def clear_caches(self):
14479  r"""clear_caches(Provenance self)"""
14480  return _IMP_core.Provenance_clear_caches(self)
14481 
14482  def set_name(self, a0):
14483  r"""set_name(Provenance self, std::string a0)"""
14484  return _IMP_core.Provenance_set_name(self, a0)
14485 
14486  def set_check_level(self, a0):
14487  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14488  return _IMP_core.Provenance_set_check_level(self, a0)
14489 
14490  def add_to_derivative(self, a0, a1, a2):
14491  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14492  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14493 
14494  def set_is_optimized(self, a0, a1):
14495  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14496  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14497 
14498  def get_is_optimized(self, a0):
14499  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14500  return _IMP_core.Provenance_get_is_optimized(self, a0)
14501 
14502  def get_check_level(self):
14503  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14504  return _IMP_core.Provenance_get_check_level(self)
14505 
14506  def __eq__(self, *args):
14507  r"""
14508  __eq__(Provenance self, Provenance o) -> bool
14509  __eq__(Provenance self, Particle d) -> bool
14510  """
14511  return _IMP_core.Provenance___eq__(self, *args)
14512 
14513  def __ne__(self, *args):
14514  r"""
14515  __ne__(Provenance self, Provenance o) -> bool
14516  __ne__(Provenance self, Particle d) -> bool
14517  """
14518  return _IMP_core.Provenance___ne__(self, *args)
14519 
14520  def __le__(self, *args):
14521  r"""
14522  __le__(Provenance self, Provenance o) -> bool
14523  __le__(Provenance self, Particle d) -> bool
14524  """
14525  return _IMP_core.Provenance___le__(self, *args)
14526 
14527  def __lt__(self, *args):
14528  r"""
14529  __lt__(Provenance self, Provenance o) -> bool
14530  __lt__(Provenance self, Particle d) -> bool
14531  """
14532  return _IMP_core.Provenance___lt__(self, *args)
14533 
14534  def __ge__(self, *args):
14535  r"""
14536  __ge__(Provenance self, Provenance o) -> bool
14537  __ge__(Provenance self, Particle d) -> bool
14538  """
14539  return _IMP_core.Provenance___ge__(self, *args)
14540 
14541  def __gt__(self, *args):
14542  r"""
14543  __gt__(Provenance self, Provenance o) -> bool
14544  __gt__(Provenance self, Particle d) -> bool
14545  """
14546  return _IMP_core.Provenance___gt__(self, *args)
14547 
14548  def __hash__(self):
14549  r"""__hash__(Provenance self) -> std::size_t"""
14550  return _IMP_core.Provenance___hash__(self)
14551 
14552  def __str__(self):
14553  r"""__str__(Provenance self) -> std::string"""
14554  return _IMP_core.Provenance___str__(self)
14555 
14556  def __repr__(self):
14557  r"""__repr__(Provenance self) -> std::string"""
14558  return _IMP_core.Provenance___repr__(self)
14559 
14560  def _get_as_binary(self):
14561  r"""_get_as_binary(Provenance self) -> PyObject *"""
14562  return _IMP_core.Provenance__get_as_binary(self)
14563 
14564  def _set_from_binary(self, p):
14565  r"""_set_from_binary(Provenance self, PyObject * p)"""
14566  return _IMP_core.Provenance__set_from_binary(self, p)
14567 
14568  def __getstate__(self):
14569  p = self._get_as_binary()
14570  if len(self.__dict__) > 1:
14571  d = self.__dict__.copy()
14572  del d['this']
14573  p = (d, p)
14574  return p
14575 
14576  def __setstate__(self, p):
14577  if not hasattr(self, 'this'):
14578  self.__init__()
14579  if isinstance(p, tuple):
14580  d, p = p
14581  self.__dict__.update(d)
14582  return self._set_from_binary(p)
14583 
14584  __swig_destroy__ = _IMP_core.delete_Provenance
14585 
14586 # Register Provenance in _IMP_core:
14587 _IMP_core.Provenance_swigregister(Provenance)
14588 class StructureProvenance(Provenance):
14589  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14590 
14591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14592 
14593  def set_filename(self, filename):
14594  r"""set_filename(StructureProvenance self, std::string filename)"""
14595  return _IMP_core.StructureProvenance_set_filename(self, filename)
14596 
14597  def get_filename(self):
14598  r"""get_filename(StructureProvenance self) -> std::string"""
14599  return _IMP_core.StructureProvenance_get_filename(self)
14600 
14601  def set_chain_id(self, chain_id):
14602  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14603  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14604 
14605  def get_chain_id(self):
14606  r"""get_chain_id(StructureProvenance self) -> std::string"""
14607  return _IMP_core.StructureProvenance_get_chain_id(self)
14608 
14609  def set_residue_offset(self, residue_offset):
14610  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14611  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14612 
14613  def get_residue_offset(self):
14614  r"""get_residue_offset(StructureProvenance self) -> int"""
14615  return _IMP_core.StructureProvenance_get_residue_offset(self)
14616 
14617  def __init__(self, *args):
14618  r"""
14619  __init__(StructureProvenance self) -> StructureProvenance
14620  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14621  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14622  """
14623  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14624 
14625  @staticmethod
14626  def get_is_setup(*args):
14627  r"""
14628  get_is_setup(Model m, ParticleIndex pi) -> bool
14629  get_is_setup(_ParticleAdaptor p) -> bool
14630  """
14631  return _IMP_core.StructureProvenance_get_is_setup(*args)
14632 
14633  def show(self, *args):
14634  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14635  return _IMP_core.StructureProvenance_show(self, *args)
14636 
14637  @staticmethod
14638  def setup_particle(*args):
14639  r"""
14640  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14641  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14642  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14643  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14644  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14645  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14646  """
14647  return _IMP_core.StructureProvenance_setup_particle(*args)
14648 
14649  def add_attribute(self, *args):
14650  r"""
14651  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14652  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14653  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14654  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14655  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14656  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14657  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14658  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14659  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14660  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14661  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14662  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14663  """
14664  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14665 
14666  def get_value(self, *args):
14667  r"""
14668  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14669  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14670  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14671  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14672  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14673  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14674  get_value(StructureProvenance self, ObjectKey a0) -> Object
14675  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14676  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14677  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14678  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14679  """
14680  return _IMP_core.StructureProvenance_get_value(self, *args)
14681 
14682  def set_value(self, *args):
14683  r"""
14684  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14685  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14686  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14687  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14688  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14689  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14690  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14691  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14692  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14693  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14694  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14695  """
14696  return _IMP_core.StructureProvenance_set_value(self, *args)
14697 
14698  def remove_attribute(self, *args):
14699  r"""
14700  remove_attribute(StructureProvenance self, FloatKey a0)
14701  remove_attribute(StructureProvenance self, IntKey a0)
14702  remove_attribute(StructureProvenance self, FloatsKey a0)
14703  remove_attribute(StructureProvenance self, IntsKey a0)
14704  remove_attribute(StructureProvenance self, StringKey a0)
14705  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14706  remove_attribute(StructureProvenance self, ObjectKey a0)
14707  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14708  remove_attribute(StructureProvenance self, SparseIntKey a0)
14709  remove_attribute(StructureProvenance self, SparseStringKey a0)
14710  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14711  """
14712  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14713 
14714  def has_attribute(self, *args):
14715  r"""
14716  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14717  has_attribute(StructureProvenance self, IntKey a0) -> bool
14718  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14719  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14720  has_attribute(StructureProvenance self, StringKey a0) -> bool
14721  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14722  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14723  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14724  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14725  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14726  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14727  """
14728  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14729 
14730  def get_derivative(self, a0):
14731  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14732  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14733 
14734  def get_name(self):
14735  r"""get_name(StructureProvenance self) -> std::string"""
14736  return _IMP_core.StructureProvenance_get_name(self)
14737 
14738  def clear_caches(self):
14739  r"""clear_caches(StructureProvenance self)"""
14740  return _IMP_core.StructureProvenance_clear_caches(self)
14741 
14742  def set_name(self, a0):
14743  r"""set_name(StructureProvenance self, std::string a0)"""
14744  return _IMP_core.StructureProvenance_set_name(self, a0)
14745 
14746  def set_check_level(self, a0):
14747  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14748  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14749 
14750  def add_to_derivative(self, a0, a1, a2):
14751  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14752  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14753 
14754  def set_is_optimized(self, a0, a1):
14755  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14756  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14757 
14758  def get_is_optimized(self, a0):
14759  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14760  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14761 
14762  def get_check_level(self):
14763  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14764  return _IMP_core.StructureProvenance_get_check_level(self)
14765 
14766  def __eq__(self, *args):
14767  r"""
14768  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14769  __eq__(StructureProvenance self, Particle d) -> bool
14770  """
14771  return _IMP_core.StructureProvenance___eq__(self, *args)
14772 
14773  def __ne__(self, *args):
14774  r"""
14775  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14776  __ne__(StructureProvenance self, Particle d) -> bool
14777  """
14778  return _IMP_core.StructureProvenance___ne__(self, *args)
14779 
14780  def __le__(self, *args):
14781  r"""
14782  __le__(StructureProvenance self, StructureProvenance o) -> bool
14783  __le__(StructureProvenance self, Particle d) -> bool
14784  """
14785  return _IMP_core.StructureProvenance___le__(self, *args)
14786 
14787  def __lt__(self, *args):
14788  r"""
14789  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14790  __lt__(StructureProvenance self, Particle d) -> bool
14791  """
14792  return _IMP_core.StructureProvenance___lt__(self, *args)
14793 
14794  def __ge__(self, *args):
14795  r"""
14796  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14797  __ge__(StructureProvenance self, Particle d) -> bool
14798  """
14799  return _IMP_core.StructureProvenance___ge__(self, *args)
14800 
14801  def __gt__(self, *args):
14802  r"""
14803  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14804  __gt__(StructureProvenance self, Particle d) -> bool
14805  """
14806  return _IMP_core.StructureProvenance___gt__(self, *args)
14807 
14808  def __hash__(self):
14809  r"""__hash__(StructureProvenance self) -> std::size_t"""
14810  return _IMP_core.StructureProvenance___hash__(self)
14811 
14812  def __str__(self):
14813  r"""__str__(StructureProvenance self) -> std::string"""
14814  return _IMP_core.StructureProvenance___str__(self)
14815 
14816  def __repr__(self):
14817  r"""__repr__(StructureProvenance self) -> std::string"""
14818  return _IMP_core.StructureProvenance___repr__(self)
14819 
14820  def _get_as_binary(self):
14821  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14822  return _IMP_core.StructureProvenance__get_as_binary(self)
14823 
14824  def _set_from_binary(self, p):
14825  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14826  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14827 
14828  def __getstate__(self):
14829  p = self._get_as_binary()
14830  if len(self.__dict__) > 1:
14831  d = self.__dict__.copy()
14832  del d['this']
14833  p = (d, p)
14834  return p
14835 
14836  def __setstate__(self, p):
14837  if not hasattr(self, 'this'):
14838  self.__init__()
14839  if isinstance(p, tuple):
14840  d, p = p
14841  self.__dict__.update(d)
14842  return self._set_from_binary(p)
14843 
14844  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14845 
14846 # Register StructureProvenance in _IMP_core:
14847 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14848 class SampleProvenance(Provenance):
14849  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14850 
14851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14852 
14853  def set_method(self, method):
14854  r"""set_method(SampleProvenance self, std::string method)"""
14855  return _IMP_core.SampleProvenance_set_method(self, method)
14856 
14857  def get_method(self):
14858  r"""get_method(SampleProvenance self) -> std::string"""
14859  return _IMP_core.SampleProvenance_get_method(self)
14860 
14861  def set_number_of_frames(self, frames):
14862  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14863  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14864 
14865  def get_number_of_frames(self):
14866  r"""get_number_of_frames(SampleProvenance self) -> int"""
14867  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14868 
14869  def set_number_of_iterations(self, iterations):
14870  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14871  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14872 
14873  def get_number_of_iterations(self):
14874  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14875  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14876 
14877  def set_number_of_replicas(self, replicas):
14878  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14879  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14880 
14881  def get_number_of_replicas(self):
14882  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14883  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14884 
14885  def __init__(self, *args):
14886  r"""
14887  __init__(SampleProvenance self) -> SampleProvenance
14888  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14889  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14890  """
14891  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14892 
14893  @staticmethod
14894  def get_is_setup(*args):
14895  r"""
14896  get_is_setup(Model m, ParticleIndex pi) -> bool
14897  get_is_setup(_ParticleAdaptor p) -> bool
14898  """
14899  return _IMP_core.SampleProvenance_get_is_setup(*args)
14900 
14901  def show(self, *args):
14902  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14903  return _IMP_core.SampleProvenance_show(self, *args)
14904 
14905  @staticmethod
14906  def setup_particle(*args):
14907  r"""
14908  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14909  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14910  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14911  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14912  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14913  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14914  """
14915  return _IMP_core.SampleProvenance_setup_particle(*args)
14916 
14917  def add_attribute(self, *args):
14918  r"""
14919  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14920  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14921  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14922  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14923  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14924  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14925  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14926  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14927  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14928  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14929  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14930  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14931  """
14932  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14933 
14934  def get_value(self, *args):
14935  r"""
14936  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14937  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14938  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14939  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14940  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14941  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14942  get_value(SampleProvenance self, ObjectKey a0) -> Object
14943  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14944  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14945  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14946  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14947  """
14948  return _IMP_core.SampleProvenance_get_value(self, *args)
14949 
14950  def set_value(self, *args):
14951  r"""
14952  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14953  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14954  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14955  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14956  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14957  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14958  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14959  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14960  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14961  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14962  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14963  """
14964  return _IMP_core.SampleProvenance_set_value(self, *args)
14965 
14966  def remove_attribute(self, *args):
14967  r"""
14968  remove_attribute(SampleProvenance self, FloatKey a0)
14969  remove_attribute(SampleProvenance self, IntKey a0)
14970  remove_attribute(SampleProvenance self, FloatsKey a0)
14971  remove_attribute(SampleProvenance self, IntsKey a0)
14972  remove_attribute(SampleProvenance self, StringKey a0)
14973  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14974  remove_attribute(SampleProvenance self, ObjectKey a0)
14975  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14976  remove_attribute(SampleProvenance self, SparseIntKey a0)
14977  remove_attribute(SampleProvenance self, SparseStringKey a0)
14978  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14979  """
14980  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14981 
14982  def has_attribute(self, *args):
14983  r"""
14984  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14985  has_attribute(SampleProvenance self, IntKey a0) -> bool
14986  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14987  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14988  has_attribute(SampleProvenance self, StringKey a0) -> bool
14989  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14990  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14991  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14992  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14993  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14994  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14995  """
14996  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14997 
14998  def get_derivative(self, a0):
14999  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
15000  return _IMP_core.SampleProvenance_get_derivative(self, a0)
15001 
15002  def get_name(self):
15003  r"""get_name(SampleProvenance self) -> std::string"""
15004  return _IMP_core.SampleProvenance_get_name(self)
15005 
15006  def clear_caches(self):
15007  r"""clear_caches(SampleProvenance self)"""
15008  return _IMP_core.SampleProvenance_clear_caches(self)
15009 
15010  def set_name(self, a0):
15011  r"""set_name(SampleProvenance self, std::string a0)"""
15012  return _IMP_core.SampleProvenance_set_name(self, a0)
15013 
15014  def set_check_level(self, a0):
15015  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
15016  return _IMP_core.SampleProvenance_set_check_level(self, a0)
15017 
15018  def add_to_derivative(self, a0, a1, a2):
15019  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15020  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
15021 
15022  def set_is_optimized(self, a0, a1):
15023  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
15024  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
15025 
15026  def get_is_optimized(self, a0):
15027  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
15028  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
15029 
15030  def get_check_level(self):
15031  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
15032  return _IMP_core.SampleProvenance_get_check_level(self)
15033 
15034  def __eq__(self, *args):
15035  r"""
15036  __eq__(SampleProvenance self, SampleProvenance o) -> bool
15037  __eq__(SampleProvenance self, Particle d) -> bool
15038  """
15039  return _IMP_core.SampleProvenance___eq__(self, *args)
15040 
15041  def __ne__(self, *args):
15042  r"""
15043  __ne__(SampleProvenance self, SampleProvenance o) -> bool
15044  __ne__(SampleProvenance self, Particle d) -> bool
15045  """
15046  return _IMP_core.SampleProvenance___ne__(self, *args)
15047 
15048  def __le__(self, *args):
15049  r"""
15050  __le__(SampleProvenance self, SampleProvenance o) -> bool
15051  __le__(SampleProvenance self, Particle d) -> bool
15052  """
15053  return _IMP_core.SampleProvenance___le__(self, *args)
15054 
15055  def __lt__(self, *args):
15056  r"""
15057  __lt__(SampleProvenance self, SampleProvenance o) -> bool
15058  __lt__(SampleProvenance self, Particle d) -> bool
15059  """
15060  return _IMP_core.SampleProvenance___lt__(self, *args)
15061 
15062  def __ge__(self, *args):
15063  r"""
15064  __ge__(SampleProvenance self, SampleProvenance o) -> bool
15065  __ge__(SampleProvenance self, Particle d) -> bool
15066  """
15067  return _IMP_core.SampleProvenance___ge__(self, *args)
15068 
15069  def __gt__(self, *args):
15070  r"""
15071  __gt__(SampleProvenance self, SampleProvenance o) -> bool
15072  __gt__(SampleProvenance self, Particle d) -> bool
15073  """
15074  return _IMP_core.SampleProvenance___gt__(self, *args)
15075 
15076  def __hash__(self):
15077  r"""__hash__(SampleProvenance self) -> std::size_t"""
15078  return _IMP_core.SampleProvenance___hash__(self)
15079 
15080  def __str__(self):
15081  r"""__str__(SampleProvenance self) -> std::string"""
15082  return _IMP_core.SampleProvenance___str__(self)
15083 
15084  def __repr__(self):
15085  r"""__repr__(SampleProvenance self) -> std::string"""
15086  return _IMP_core.SampleProvenance___repr__(self)
15087 
15088  def _get_as_binary(self):
15089  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
15090  return _IMP_core.SampleProvenance__get_as_binary(self)
15091 
15092  def _set_from_binary(self, p):
15093  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
15094  return _IMP_core.SampleProvenance__set_from_binary(self, p)
15095 
15096  def __getstate__(self):
15097  p = self._get_as_binary()
15098  if len(self.__dict__) > 1:
15099  d = self.__dict__.copy()
15100  del d['this']
15101  p = (d, p)
15102  return p
15103 
15104  def __setstate__(self, p):
15105  if not hasattr(self, 'this'):
15106  self.__init__()
15107  if isinstance(p, tuple):
15108  d, p = p
15109  self.__dict__.update(d)
15110  return self._set_from_binary(p)
15111 
15112  __swig_destroy__ = _IMP_core.delete_SampleProvenance
15113 
15114 # Register SampleProvenance in _IMP_core:
15115 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
15116 class CombineProvenance(Provenance):
15117  r"""Proxy of C++ IMP::core::CombineProvenance class."""
15118 
15119  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15120 
15121  def set_number_of_frames(self, frames):
15122  r"""set_number_of_frames(CombineProvenance self, int frames)"""
15123  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
15124 
15125  def get_number_of_frames(self):
15126  r"""get_number_of_frames(CombineProvenance self) -> int"""
15127  return _IMP_core.CombineProvenance_get_number_of_frames(self)
15128 
15129  def set_number_of_runs(self, runs):
15130  r"""set_number_of_runs(CombineProvenance self, int runs)"""
15131  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
15132 
15133  def get_number_of_runs(self):
15134  r"""get_number_of_runs(CombineProvenance self) -> int"""
15135  return _IMP_core.CombineProvenance_get_number_of_runs(self)
15136 
15137  def __init__(self, *args):
15138  r"""
15139  __init__(CombineProvenance self) -> CombineProvenance
15140  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
15141  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
15142  """
15143  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
15144 
15145  @staticmethod
15146  def get_is_setup(*args):
15147  r"""
15148  get_is_setup(Model m, ParticleIndex pi) -> bool
15149  get_is_setup(_ParticleAdaptor p) -> bool
15150  """
15151  return _IMP_core.CombineProvenance_get_is_setup(*args)
15152 
15153  def show(self, *args):
15154  r"""show(CombineProvenance self, _ostream out=std::cout)"""
15155  return _IMP_core.CombineProvenance_show(self, *args)
15156 
15157  @staticmethod
15158  def setup_particle(*args):
15159  r"""
15160  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
15161  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
15162  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
15163  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
15164  """
15165  return _IMP_core.CombineProvenance_setup_particle(*args)
15166 
15167  def add_attribute(self, *args):
15168  r"""
15169  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
15170  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
15171  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
15172  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15173  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15174  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
15175  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15176  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
15177  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15178  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15179  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15180  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15181  """
15182  return _IMP_core.CombineProvenance_add_attribute(self, *args)
15183 
15184  def get_value(self, *args):
15185  r"""
15186  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
15187  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
15188  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
15189  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
15190  get_value(CombineProvenance self, StringKey a0) -> IMP::String
15191  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
15192  get_value(CombineProvenance self, ObjectKey a0) -> Object
15193  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
15194  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
15195  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
15196  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15197  """
15198  return _IMP_core.CombineProvenance_get_value(self, *args)
15199 
15200  def set_value(self, *args):
15201  r"""
15202  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
15203  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
15204  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15205  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15206  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15207  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15208  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15209  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15210  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15211  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15212  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15213  """
15214  return _IMP_core.CombineProvenance_set_value(self, *args)
15215 
15216  def remove_attribute(self, *args):
15217  r"""
15218  remove_attribute(CombineProvenance self, FloatKey a0)
15219  remove_attribute(CombineProvenance self, IntKey a0)
15220  remove_attribute(CombineProvenance self, FloatsKey a0)
15221  remove_attribute(CombineProvenance self, IntsKey a0)
15222  remove_attribute(CombineProvenance self, StringKey a0)
15223  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15224  remove_attribute(CombineProvenance self, ObjectKey a0)
15225  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15226  remove_attribute(CombineProvenance self, SparseIntKey a0)
15227  remove_attribute(CombineProvenance self, SparseStringKey a0)
15228  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15229  """
15230  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15231 
15232  def has_attribute(self, *args):
15233  r"""
15234  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15235  has_attribute(CombineProvenance self, IntKey a0) -> bool
15236  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15237  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15238  has_attribute(CombineProvenance self, StringKey a0) -> bool
15239  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15240  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15241  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15242  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15243  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15244  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15245  """
15246  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15247 
15248  def get_derivative(self, a0):
15249  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15250  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15251 
15252  def get_name(self):
15253  r"""get_name(CombineProvenance self) -> std::string"""
15254  return _IMP_core.CombineProvenance_get_name(self)
15255 
15256  def clear_caches(self):
15257  r"""clear_caches(CombineProvenance self)"""
15258  return _IMP_core.CombineProvenance_clear_caches(self)
15259 
15260  def set_name(self, a0):
15261  r"""set_name(CombineProvenance self, std::string a0)"""
15262  return _IMP_core.CombineProvenance_set_name(self, a0)
15263 
15264  def set_check_level(self, a0):
15265  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15266  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15267 
15268  def add_to_derivative(self, a0, a1, a2):
15269  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15270  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15271 
15272  def set_is_optimized(self, a0, a1):
15273  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15274  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15275 
15276  def get_is_optimized(self, a0):
15277  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15278  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15279 
15280  def get_check_level(self):
15281  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15282  return _IMP_core.CombineProvenance_get_check_level(self)
15283 
15284  def __eq__(self, *args):
15285  r"""
15286  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15287  __eq__(CombineProvenance self, Particle d) -> bool
15288  """
15289  return _IMP_core.CombineProvenance___eq__(self, *args)
15290 
15291  def __ne__(self, *args):
15292  r"""
15293  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15294  __ne__(CombineProvenance self, Particle d) -> bool
15295  """
15296  return _IMP_core.CombineProvenance___ne__(self, *args)
15297 
15298  def __le__(self, *args):
15299  r"""
15300  __le__(CombineProvenance self, CombineProvenance o) -> bool
15301  __le__(CombineProvenance self, Particle d) -> bool
15302  """
15303  return _IMP_core.CombineProvenance___le__(self, *args)
15304 
15305  def __lt__(self, *args):
15306  r"""
15307  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15308  __lt__(CombineProvenance self, Particle d) -> bool
15309  """
15310  return _IMP_core.CombineProvenance___lt__(self, *args)
15311 
15312  def __ge__(self, *args):
15313  r"""
15314  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15315  __ge__(CombineProvenance self, Particle d) -> bool
15316  """
15317  return _IMP_core.CombineProvenance___ge__(self, *args)
15318 
15319  def __gt__(self, *args):
15320  r"""
15321  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15322  __gt__(CombineProvenance self, Particle d) -> bool
15323  """
15324  return _IMP_core.CombineProvenance___gt__(self, *args)
15325 
15326  def __hash__(self):
15327  r"""__hash__(CombineProvenance self) -> std::size_t"""
15328  return _IMP_core.CombineProvenance___hash__(self)
15329 
15330  def __str__(self):
15331  r"""__str__(CombineProvenance self) -> std::string"""
15332  return _IMP_core.CombineProvenance___str__(self)
15333 
15334  def __repr__(self):
15335  r"""__repr__(CombineProvenance self) -> std::string"""
15336  return _IMP_core.CombineProvenance___repr__(self)
15337 
15338  def _get_as_binary(self):
15339  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15340  return _IMP_core.CombineProvenance__get_as_binary(self)
15341 
15342  def _set_from_binary(self, p):
15343  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15344  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15345 
15346  def __getstate__(self):
15347  p = self._get_as_binary()
15348  if len(self.__dict__) > 1:
15349  d = self.__dict__.copy()
15350  del d['this']
15351  p = (d, p)
15352  return p
15353 
15354  def __setstate__(self, p):
15355  if not hasattr(self, 'this'):
15356  self.__init__()
15357  if isinstance(p, tuple):
15358  d, p = p
15359  self.__dict__.update(d)
15360  return self._set_from_binary(p)
15361 
15362  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15363 
15364 # Register CombineProvenance in _IMP_core:
15365 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15366 class FilterProvenance(Provenance):
15367  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15368 
15369  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15370 
15371  def set_method(self, method):
15372  r"""set_method(FilterProvenance self, std::string method)"""
15373  return _IMP_core.FilterProvenance_set_method(self, method)
15374 
15375  def get_method(self):
15376  r"""get_method(FilterProvenance self) -> std::string"""
15377  return _IMP_core.FilterProvenance_get_method(self)
15378 
15379  def set_number_of_frames(self, frames):
15380  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15381  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15382 
15383  def get_number_of_frames(self):
15384  r"""get_number_of_frames(FilterProvenance self) -> int"""
15385  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15386 
15387  def set_threshold(self, threshold):
15388  r"""set_threshold(FilterProvenance self, double threshold)"""
15389  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15390 
15391  def get_threshold(self):
15392  r"""get_threshold(FilterProvenance self) -> double"""
15393  return _IMP_core.FilterProvenance_get_threshold(self)
15394 
15395  def __init__(self, *args):
15396  r"""
15397  __init__(FilterProvenance self) -> FilterProvenance
15398  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15399  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15400  """
15401  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15402 
15403  @staticmethod
15404  def get_is_setup(*args):
15405  r"""
15406  get_is_setup(Model m, ParticleIndex pi) -> bool
15407  get_is_setup(_ParticleAdaptor p) -> bool
15408  """
15409  return _IMP_core.FilterProvenance_get_is_setup(*args)
15410 
15411  def show(self, *args):
15412  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15413  return _IMP_core.FilterProvenance_show(self, *args)
15414 
15415  @staticmethod
15416  def setup_particle(*args):
15417  r"""
15418  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15419  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15420  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15421  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15422  """
15423  return _IMP_core.FilterProvenance_setup_particle(*args)
15424 
15425  def add_attribute(self, *args):
15426  r"""
15427  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15428  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15429  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15430  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15431  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15432  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15433  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15434  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15435  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15436  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15437  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15438  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15439  """
15440  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15441 
15442  def get_value(self, *args):
15443  r"""
15444  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15445  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15446  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15447  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15448  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15449  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15450  get_value(FilterProvenance self, ObjectKey a0) -> Object
15451  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15452  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15453  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15454  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15455  """
15456  return _IMP_core.FilterProvenance_get_value(self, *args)
15457 
15458  def set_value(self, *args):
15459  r"""
15460  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15461  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15462  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15463  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15464  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15465  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15466  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15467  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15468  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15469  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15470  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15471  """
15472  return _IMP_core.FilterProvenance_set_value(self, *args)
15473 
15474  def remove_attribute(self, *args):
15475  r"""
15476  remove_attribute(FilterProvenance self, FloatKey a0)
15477  remove_attribute(FilterProvenance self, IntKey a0)
15478  remove_attribute(FilterProvenance self, FloatsKey a0)
15479  remove_attribute(FilterProvenance self, IntsKey a0)
15480  remove_attribute(FilterProvenance self, StringKey a0)
15481  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15482  remove_attribute(FilterProvenance self, ObjectKey a0)
15483  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15484  remove_attribute(FilterProvenance self, SparseIntKey a0)
15485  remove_attribute(FilterProvenance self, SparseStringKey a0)
15486  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15487  """
15488  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15489 
15490  def has_attribute(self, *args):
15491  r"""
15492  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15493  has_attribute(FilterProvenance self, IntKey a0) -> bool
15494  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15495  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15496  has_attribute(FilterProvenance self, StringKey a0) -> bool
15497  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15498  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15499  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15500  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15501  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15502  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15503  """
15504  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15505 
15506  def get_derivative(self, a0):
15507  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15508  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15509 
15510  def get_name(self):
15511  r"""get_name(FilterProvenance self) -> std::string"""
15512  return _IMP_core.FilterProvenance_get_name(self)
15513 
15514  def clear_caches(self):
15515  r"""clear_caches(FilterProvenance self)"""
15516  return _IMP_core.FilterProvenance_clear_caches(self)
15517 
15518  def set_name(self, a0):
15519  r"""set_name(FilterProvenance self, std::string a0)"""
15520  return _IMP_core.FilterProvenance_set_name(self, a0)
15521 
15522  def set_check_level(self, a0):
15523  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15524  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15525 
15526  def add_to_derivative(self, a0, a1, a2):
15527  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15528  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15529 
15530  def set_is_optimized(self, a0, a1):
15531  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15532  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15533 
15534  def get_is_optimized(self, a0):
15535  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15536  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15537 
15538  def get_check_level(self):
15539  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15540  return _IMP_core.FilterProvenance_get_check_level(self)
15541 
15542  def __eq__(self, *args):
15543  r"""
15544  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15545  __eq__(FilterProvenance self, Particle d) -> bool
15546  """
15547  return _IMP_core.FilterProvenance___eq__(self, *args)
15548 
15549  def __ne__(self, *args):
15550  r"""
15551  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15552  __ne__(FilterProvenance self, Particle d) -> bool
15553  """
15554  return _IMP_core.FilterProvenance___ne__(self, *args)
15555 
15556  def __le__(self, *args):
15557  r"""
15558  __le__(FilterProvenance self, FilterProvenance o) -> bool
15559  __le__(FilterProvenance self, Particle d) -> bool
15560  """
15561  return _IMP_core.FilterProvenance___le__(self, *args)
15562 
15563  def __lt__(self, *args):
15564  r"""
15565  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15566  __lt__(FilterProvenance self, Particle d) -> bool
15567  """
15568  return _IMP_core.FilterProvenance___lt__(self, *args)
15569 
15570  def __ge__(self, *args):
15571  r"""
15572  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15573  __ge__(FilterProvenance self, Particle d) -> bool
15574  """
15575  return _IMP_core.FilterProvenance___ge__(self, *args)
15576 
15577  def __gt__(self, *args):
15578  r"""
15579  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15580  __gt__(FilterProvenance self, Particle d) -> bool
15581  """
15582  return _IMP_core.FilterProvenance___gt__(self, *args)
15583 
15584  def __hash__(self):
15585  r"""__hash__(FilterProvenance self) -> std::size_t"""
15586  return _IMP_core.FilterProvenance___hash__(self)
15587 
15588  def __str__(self):
15589  r"""__str__(FilterProvenance self) -> std::string"""
15590  return _IMP_core.FilterProvenance___str__(self)
15591 
15592  def __repr__(self):
15593  r"""__repr__(FilterProvenance self) -> std::string"""
15594  return _IMP_core.FilterProvenance___repr__(self)
15595 
15596  def _get_as_binary(self):
15597  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15598  return _IMP_core.FilterProvenance__get_as_binary(self)
15599 
15600  def _set_from_binary(self, p):
15601  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15602  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15603 
15604  def __getstate__(self):
15605  p = self._get_as_binary()
15606  if len(self.__dict__) > 1:
15607  d = self.__dict__.copy()
15608  del d['this']
15609  p = (d, p)
15610  return p
15611 
15612  def __setstate__(self, p):
15613  if not hasattr(self, 'this'):
15614  self.__init__()
15615  if isinstance(p, tuple):
15616  d, p = p
15617  self.__dict__.update(d)
15618  return self._set_from_binary(p)
15619 
15620  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15621 
15622 # Register FilterProvenance in _IMP_core:
15623 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15624 class ClusterProvenance(Provenance):
15625  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15626 
15627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15628 
15629  def set_number_of_members(self, members):
15630  r"""set_number_of_members(ClusterProvenance self, int members)"""
15631  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15632 
15633  def get_number_of_members(self):
15634  r"""get_number_of_members(ClusterProvenance self) -> int"""
15635  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15636 
15637  def set_precision(self, precision):
15638  r"""set_precision(ClusterProvenance self, double precision)"""
15639  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15640 
15641  def get_precision(self):
15642  r"""get_precision(ClusterProvenance self) -> double"""
15643  return _IMP_core.ClusterProvenance_get_precision(self)
15644 
15645  def set_density(self, density):
15646  r"""set_density(ClusterProvenance self, std::string density)"""
15647  return _IMP_core.ClusterProvenance_set_density(self, density)
15648 
15649  def get_density(self):
15650  r"""get_density(ClusterProvenance self) -> std::string"""
15651  return _IMP_core.ClusterProvenance_get_density(self)
15652 
15653  def __init__(self, *args):
15654  r"""
15655  __init__(ClusterProvenance self) -> ClusterProvenance
15656  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15657  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15658  """
15659  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15660 
15661  @staticmethod
15662  def get_is_setup(*args):
15663  r"""
15664  get_is_setup(Model m, ParticleIndex pi) -> bool
15665  get_is_setup(_ParticleAdaptor p) -> bool
15666  """
15667  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15668 
15669  def show(self, *args):
15670  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15671  return _IMP_core.ClusterProvenance_show(self, *args)
15672 
15673  @staticmethod
15674  def setup_particle(*args):
15675  r"""
15676  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15677  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15678  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15679  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15680  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15681  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15682  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15683  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15684  """
15685  return _IMP_core.ClusterProvenance_setup_particle(*args)
15686 
15687  def add_attribute(self, *args):
15688  r"""
15689  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15690  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15691  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15692  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15693  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15694  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15695  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15696  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15697  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15698  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15699  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15700  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15701  """
15702  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15703 
15704  def get_value(self, *args):
15705  r"""
15706  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15707  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15708  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15709  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15710  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15711  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15712  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15713  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15714  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15715  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15716  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15717  """
15718  return _IMP_core.ClusterProvenance_get_value(self, *args)
15719 
15720  def set_value(self, *args):
15721  r"""
15722  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15723  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15724  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15725  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15726  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15727  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15728  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15729  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15730  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15731  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15732  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15733  """
15734  return _IMP_core.ClusterProvenance_set_value(self, *args)
15735 
15736  def remove_attribute(self, *args):
15737  r"""
15738  remove_attribute(ClusterProvenance self, FloatKey a0)
15739  remove_attribute(ClusterProvenance self, IntKey a0)
15740  remove_attribute(ClusterProvenance self, FloatsKey a0)
15741  remove_attribute(ClusterProvenance self, IntsKey a0)
15742  remove_attribute(ClusterProvenance self, StringKey a0)
15743  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15744  remove_attribute(ClusterProvenance self, ObjectKey a0)
15745  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15746  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15747  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15748  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15749  """
15750  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15751 
15752  def has_attribute(self, *args):
15753  r"""
15754  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15755  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15756  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15757  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15758  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15759  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15760  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15761  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15762  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15763  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15764  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15765  """
15766  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15767 
15768  def get_derivative(self, a0):
15769  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15770  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15771 
15772  def get_name(self):
15773  r"""get_name(ClusterProvenance self) -> std::string"""
15774  return _IMP_core.ClusterProvenance_get_name(self)
15775 
15776  def clear_caches(self):
15777  r"""clear_caches(ClusterProvenance self)"""
15778  return _IMP_core.ClusterProvenance_clear_caches(self)
15779 
15780  def set_name(self, a0):
15781  r"""set_name(ClusterProvenance self, std::string a0)"""
15782  return _IMP_core.ClusterProvenance_set_name(self, a0)
15783 
15784  def set_check_level(self, a0):
15785  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15786  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15787 
15788  def add_to_derivative(self, a0, a1, a2):
15789  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15790  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15791 
15792  def set_is_optimized(self, a0, a1):
15793  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15794  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15795 
15796  def get_is_optimized(self, a0):
15797  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15798  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15799 
15800  def get_check_level(self):
15801  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15802  return _IMP_core.ClusterProvenance_get_check_level(self)
15803 
15804  def __eq__(self, *args):
15805  r"""
15806  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15807  __eq__(ClusterProvenance self, Particle d) -> bool
15808  """
15809  return _IMP_core.ClusterProvenance___eq__(self, *args)
15810 
15811  def __ne__(self, *args):
15812  r"""
15813  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15814  __ne__(ClusterProvenance self, Particle d) -> bool
15815  """
15816  return _IMP_core.ClusterProvenance___ne__(self, *args)
15817 
15818  def __le__(self, *args):
15819  r"""
15820  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15821  __le__(ClusterProvenance self, Particle d) -> bool
15822  """
15823  return _IMP_core.ClusterProvenance___le__(self, *args)
15824 
15825  def __lt__(self, *args):
15826  r"""
15827  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15828  __lt__(ClusterProvenance self, Particle d) -> bool
15829  """
15830  return _IMP_core.ClusterProvenance___lt__(self, *args)
15831 
15832  def __ge__(self, *args):
15833  r"""
15834  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15835  __ge__(ClusterProvenance self, Particle d) -> bool
15836  """
15837  return _IMP_core.ClusterProvenance___ge__(self, *args)
15838 
15839  def __gt__(self, *args):
15840  r"""
15841  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15842  __gt__(ClusterProvenance self, Particle d) -> bool
15843  """
15844  return _IMP_core.ClusterProvenance___gt__(self, *args)
15845 
15846  def __hash__(self):
15847  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15848  return _IMP_core.ClusterProvenance___hash__(self)
15849 
15850  def __str__(self):
15851  r"""__str__(ClusterProvenance self) -> std::string"""
15852  return _IMP_core.ClusterProvenance___str__(self)
15853 
15854  def __repr__(self):
15855  r"""__repr__(ClusterProvenance self) -> std::string"""
15856  return _IMP_core.ClusterProvenance___repr__(self)
15857 
15858  def _get_as_binary(self):
15859  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15860  return _IMP_core.ClusterProvenance__get_as_binary(self)
15861 
15862  def _set_from_binary(self, p):
15863  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15864  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15865 
15866  def __getstate__(self):
15867  p = self._get_as_binary()
15868  if len(self.__dict__) > 1:
15869  d = self.__dict__.copy()
15870  del d['this']
15871  p = (d, p)
15872  return p
15873 
15874  def __setstate__(self, p):
15875  if not hasattr(self, 'this'):
15876  self.__init__()
15877  if isinstance(p, tuple):
15878  d, p = p
15879  self.__dict__.update(d)
15880  return self._set_from_binary(p)
15881 
15882  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15883 
15884 # Register ClusterProvenance in _IMP_core:
15885 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15886 class ScriptProvenance(Provenance):
15887  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15888 
15889  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15890 
15891  def set_filename(self, filename):
15892  r"""set_filename(ScriptProvenance self, std::string filename)"""
15893  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15894 
15895  def get_filename(self):
15896  r"""get_filename(ScriptProvenance self) -> std::string"""
15897  return _IMP_core.ScriptProvenance_get_filename(self)
15898 
15899  def __init__(self, *args):
15900  r"""
15901  __init__(ScriptProvenance self) -> ScriptProvenance
15902  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15903  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15904  """
15905  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15906 
15907  @staticmethod
15908  def get_is_setup(*args):
15909  r"""
15910  get_is_setup(Model m, ParticleIndex pi) -> bool
15911  get_is_setup(_ParticleAdaptor p) -> bool
15912  """
15913  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15914 
15915  def show(self, *args):
15916  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15917  return _IMP_core.ScriptProvenance_show(self, *args)
15918 
15919  @staticmethod
15920  def setup_particle(*args):
15921  r"""
15922  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15923  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15924  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15925  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15926  """
15927  return _IMP_core.ScriptProvenance_setup_particle(*args)
15928 
15929  def add_attribute(self, *args):
15930  r"""
15931  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15932  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15933  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15934  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15935  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15936  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15937  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15938  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15939  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15940  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15941  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15942  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15943  """
15944  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15945 
15946  def get_value(self, *args):
15947  r"""
15948  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15949  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15950  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15951  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15952  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15953  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15954  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15955  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15956  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15957  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15958  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15959  """
15960  return _IMP_core.ScriptProvenance_get_value(self, *args)
15961 
15962  def set_value(self, *args):
15963  r"""
15964  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15965  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15966  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15967  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15968  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15969  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15970  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15971  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15972  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15973  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15974  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15975  """
15976  return _IMP_core.ScriptProvenance_set_value(self, *args)
15977 
15978  def remove_attribute(self, *args):
15979  r"""
15980  remove_attribute(ScriptProvenance self, FloatKey a0)
15981  remove_attribute(ScriptProvenance self, IntKey a0)
15982  remove_attribute(ScriptProvenance self, FloatsKey a0)
15983  remove_attribute(ScriptProvenance self, IntsKey a0)
15984  remove_attribute(ScriptProvenance self, StringKey a0)
15985  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15986  remove_attribute(ScriptProvenance self, ObjectKey a0)
15987  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15988  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15989  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15990  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15991  """
15992  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15993 
15994  def has_attribute(self, *args):
15995  r"""
15996  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15997  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15998  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15999  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
16000  has_attribute(ScriptProvenance self, StringKey a0) -> bool
16001  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
16002  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
16003  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
16004  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
16005  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
16006  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
16007  """
16008  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
16009 
16010  def get_derivative(self, a0):
16011  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
16012  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
16013 
16014  def get_name(self):
16015  r"""get_name(ScriptProvenance self) -> std::string"""
16016  return _IMP_core.ScriptProvenance_get_name(self)
16017 
16018  def clear_caches(self):
16019  r"""clear_caches(ScriptProvenance self)"""
16020  return _IMP_core.ScriptProvenance_clear_caches(self)
16021 
16022  def set_name(self, a0):
16023  r"""set_name(ScriptProvenance self, std::string a0)"""
16024  return _IMP_core.ScriptProvenance_set_name(self, a0)
16025 
16026  def set_check_level(self, a0):
16027  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
16028  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
16029 
16030  def add_to_derivative(self, a0, a1, a2):
16031  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16032  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
16033 
16034  def set_is_optimized(self, a0, a1):
16035  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
16036  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
16037 
16038  def get_is_optimized(self, a0):
16039  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
16040  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
16041 
16042  def get_check_level(self):
16043  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
16044  return _IMP_core.ScriptProvenance_get_check_level(self)
16045 
16046  def __eq__(self, *args):
16047  r"""
16048  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
16049  __eq__(ScriptProvenance self, Particle d) -> bool
16050  """
16051  return _IMP_core.ScriptProvenance___eq__(self, *args)
16052 
16053  def __ne__(self, *args):
16054  r"""
16055  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
16056  __ne__(ScriptProvenance self, Particle d) -> bool
16057  """
16058  return _IMP_core.ScriptProvenance___ne__(self, *args)
16059 
16060  def __le__(self, *args):
16061  r"""
16062  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
16063  __le__(ScriptProvenance self, Particle d) -> bool
16064  """
16065  return _IMP_core.ScriptProvenance___le__(self, *args)
16066 
16067  def __lt__(self, *args):
16068  r"""
16069  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
16070  __lt__(ScriptProvenance self, Particle d) -> bool
16071  """
16072  return _IMP_core.ScriptProvenance___lt__(self, *args)
16073 
16074  def __ge__(self, *args):
16075  r"""
16076  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
16077  __ge__(ScriptProvenance self, Particle d) -> bool
16078  """
16079  return _IMP_core.ScriptProvenance___ge__(self, *args)
16080 
16081  def __gt__(self, *args):
16082  r"""
16083  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
16084  __gt__(ScriptProvenance self, Particle d) -> bool
16085  """
16086  return _IMP_core.ScriptProvenance___gt__(self, *args)
16087 
16088  def __hash__(self):
16089  r"""__hash__(ScriptProvenance self) -> std::size_t"""
16090  return _IMP_core.ScriptProvenance___hash__(self)
16091 
16092  def __str__(self):
16093  r"""__str__(ScriptProvenance self) -> std::string"""
16094  return _IMP_core.ScriptProvenance___str__(self)
16095 
16096  def __repr__(self):
16097  r"""__repr__(ScriptProvenance self) -> std::string"""
16098  return _IMP_core.ScriptProvenance___repr__(self)
16099 
16100  def _get_as_binary(self):
16101  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
16102  return _IMP_core.ScriptProvenance__get_as_binary(self)
16103 
16104  def _set_from_binary(self, p):
16105  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
16106  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
16107 
16108  def __getstate__(self):
16109  p = self._get_as_binary()
16110  if len(self.__dict__) > 1:
16111  d = self.__dict__.copy()
16112  del d['this']
16113  p = (d, p)
16114  return p
16115 
16116  def __setstate__(self, p):
16117  if not hasattr(self, 'this'):
16118  self.__init__()
16119  if isinstance(p, tuple):
16120  d, p = p
16121  self.__dict__.update(d)
16122  return self._set_from_binary(p)
16123 
16124  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
16125 
16126 # Register ScriptProvenance in _IMP_core:
16127 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
16128 class SoftwareProvenance(Provenance):
16129  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
16130 
16131  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16132 
16133  def set_software_name(self, name):
16134  r"""set_software_name(SoftwareProvenance self, std::string name)"""
16135  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
16136 
16137  def get_software_name(self):
16138  r"""get_software_name(SoftwareProvenance self) -> std::string"""
16139  return _IMP_core.SoftwareProvenance_get_software_name(self)
16140 
16141  def set_version(self, version):
16142  r"""set_version(SoftwareProvenance self, std::string version)"""
16143  return _IMP_core.SoftwareProvenance_set_version(self, version)
16144 
16145  def get_version(self):
16146  r"""get_version(SoftwareProvenance self) -> std::string"""
16147  return _IMP_core.SoftwareProvenance_get_version(self)
16148 
16149  def set_location(self, location):
16150  r"""set_location(SoftwareProvenance self, std::string location)"""
16151  return _IMP_core.SoftwareProvenance_set_location(self, location)
16152 
16153  def get_location(self):
16154  r"""get_location(SoftwareProvenance self) -> std::string"""
16155  return _IMP_core.SoftwareProvenance_get_location(self)
16156 
16157  def __init__(self, *args):
16158  r"""
16159  __init__(SoftwareProvenance self) -> SoftwareProvenance
16160  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
16161  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
16162  """
16163  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
16164 
16165  @staticmethod
16166  def get_is_setup(*args):
16167  r"""
16168  get_is_setup(Model m, ParticleIndex pi) -> bool
16169  get_is_setup(_ParticleAdaptor p) -> bool
16170  """
16171  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
16172 
16173  def show(self, *args):
16174  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
16175  return _IMP_core.SoftwareProvenance_show(self, *args)
16176 
16177  @staticmethod
16178  def setup_particle(*args):
16179  r"""
16180  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
16181  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
16182  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
16183  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
16184  """
16185  return _IMP_core.SoftwareProvenance_setup_particle(*args)
16186 
16187  def add_attribute(self, *args):
16188  r"""
16189  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
16190  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16191  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16192  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16193  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16194  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
16195  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16196  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
16197  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16198  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16199  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16200  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16201  """
16202  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
16203 
16204  def get_value(self, *args):
16205  r"""
16206  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16207  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16208  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16209  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16210  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16211  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16212  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16213  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16214  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16215  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16216  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16217  """
16218  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16219 
16220  def set_value(self, *args):
16221  r"""
16222  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16223  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16224  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16225  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16226  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16227  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16228  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16229  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16230  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16231  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16232  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16233  """
16234  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16235 
16236  def remove_attribute(self, *args):
16237  r"""
16238  remove_attribute(SoftwareProvenance self, FloatKey a0)
16239  remove_attribute(SoftwareProvenance self, IntKey a0)
16240  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16241  remove_attribute(SoftwareProvenance self, IntsKey a0)
16242  remove_attribute(SoftwareProvenance self, StringKey a0)
16243  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16244  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16245  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16246  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16247  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16248  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16249  """
16250  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16251 
16252  def has_attribute(self, *args):
16253  r"""
16254  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16255  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16256  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16257  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16258  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16259  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16260  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16261  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16262  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16263  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16264  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16265  """
16266  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16267 
16268  def get_derivative(self, a0):
16269  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16270  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16271 
16272  def get_name(self):
16273  r"""get_name(SoftwareProvenance self) -> std::string"""
16274  return _IMP_core.SoftwareProvenance_get_name(self)
16275 
16276  def clear_caches(self):
16277  r"""clear_caches(SoftwareProvenance self)"""
16278  return _IMP_core.SoftwareProvenance_clear_caches(self)
16279 
16280  def set_name(self, a0):
16281  r"""set_name(SoftwareProvenance self, std::string a0)"""
16282  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16283 
16284  def set_check_level(self, a0):
16285  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16286  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16287 
16288  def add_to_derivative(self, a0, a1, a2):
16289  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16290  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16291 
16292  def set_is_optimized(self, a0, a1):
16293  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16294  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16295 
16296  def get_is_optimized(self, a0):
16297  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16298  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16299 
16300  def get_check_level(self):
16301  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16302  return _IMP_core.SoftwareProvenance_get_check_level(self)
16303 
16304  def __eq__(self, *args):
16305  r"""
16306  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16307  __eq__(SoftwareProvenance self, Particle d) -> bool
16308  """
16309  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16310 
16311  def __ne__(self, *args):
16312  r"""
16313  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16314  __ne__(SoftwareProvenance self, Particle d) -> bool
16315  """
16316  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16317 
16318  def __le__(self, *args):
16319  r"""
16320  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16321  __le__(SoftwareProvenance self, Particle d) -> bool
16322  """
16323  return _IMP_core.SoftwareProvenance___le__(self, *args)
16324 
16325  def __lt__(self, *args):
16326  r"""
16327  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16328  __lt__(SoftwareProvenance self, Particle d) -> bool
16329  """
16330  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16331 
16332  def __ge__(self, *args):
16333  r"""
16334  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16335  __ge__(SoftwareProvenance self, Particle d) -> bool
16336  """
16337  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16338 
16339  def __gt__(self, *args):
16340  r"""
16341  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16342  __gt__(SoftwareProvenance self, Particle d) -> bool
16343  """
16344  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16345 
16346  def __hash__(self):
16347  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16348  return _IMP_core.SoftwareProvenance___hash__(self)
16349 
16350  def __str__(self):
16351  r"""__str__(SoftwareProvenance self) -> std::string"""
16352  return _IMP_core.SoftwareProvenance___str__(self)
16353 
16354  def __repr__(self):
16355  r"""__repr__(SoftwareProvenance self) -> std::string"""
16356  return _IMP_core.SoftwareProvenance___repr__(self)
16357 
16358  def _get_as_binary(self):
16359  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16360  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16361 
16362  def _set_from_binary(self, p):
16363  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16364  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16365 
16366  def __getstate__(self):
16367  p = self._get_as_binary()
16368  if len(self.__dict__) > 1:
16369  d = self.__dict__.copy()
16370  del d['this']
16371  p = (d, p)
16372  return p
16373 
16374  def __setstate__(self, p):
16375  if not hasattr(self, 'this'):
16376  self.__init__()
16377  if isinstance(p, tuple):
16378  d, p = p
16379  self.__dict__.update(d)
16380  return self._set_from_binary(p)
16381 
16382  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16383 
16384 # Register SoftwareProvenance in _IMP_core:
16385 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16386 class Provenanced(IMP.Decorator):
16387  r"""Proxy of C++ IMP::core::Provenanced class."""
16388 
16389  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16390 
16391  def get_provenance(self):
16392  r"""get_provenance(Provenanced self) -> Provenance"""
16393  return _IMP_core.Provenanced_get_provenance(self)
16394 
16395  def set_provenance(self, p):
16396  r"""set_provenance(Provenanced self, Provenance p)"""
16397  return _IMP_core.Provenanced_set_provenance(self, p)
16398 
16399  def __init__(self, *args):
16400  r"""
16401  __init__(Provenanced self) -> Provenanced
16402  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16403  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16404  """
16405  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16406 
16407  @staticmethod
16408  def get_is_setup(*args):
16409  r"""
16410  get_is_setup(Model m, ParticleIndex pi) -> bool
16411  get_is_setup(_ParticleAdaptor p) -> bool
16412  """
16413  return _IMP_core.Provenanced_get_is_setup(*args)
16414 
16415  def show(self, *args):
16416  r"""show(Provenanced self, _ostream out=std::cout)"""
16417  return _IMP_core.Provenanced_show(self, *args)
16418 
16419  @staticmethod
16420  def setup_particle(*args):
16421  r"""
16422  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16423  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16424  """
16425  return _IMP_core.Provenanced_setup_particle(*args)
16426 
16427  def add_attribute(self, *args):
16428  r"""
16429  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16430  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16431  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16432  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16433  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16434  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16435  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16436  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16437  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16438  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16439  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16440  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16441  """
16442  return _IMP_core.Provenanced_add_attribute(self, *args)
16443 
16444  def get_value(self, *args):
16445  r"""
16446  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16447  get_value(Provenanced self, IntKey a0) -> IMP::Int
16448  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16449  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16450  get_value(Provenanced self, StringKey a0) -> IMP::String
16451  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16452  get_value(Provenanced self, ObjectKey a0) -> Object
16453  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16454  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16455  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16456  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16457  """
16458  return _IMP_core.Provenanced_get_value(self, *args)
16459 
16460  def set_value(self, *args):
16461  r"""
16462  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16463  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16464  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16465  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16466  set_value(Provenanced self, StringKey a0, IMP::String a1)
16467  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16468  set_value(Provenanced self, ObjectKey a0, Object a1)
16469  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16470  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16471  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16472  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16473  """
16474  return _IMP_core.Provenanced_set_value(self, *args)
16475 
16476  def remove_attribute(self, *args):
16477  r"""
16478  remove_attribute(Provenanced self, FloatKey a0)
16479  remove_attribute(Provenanced self, IntKey a0)
16480  remove_attribute(Provenanced self, FloatsKey a0)
16481  remove_attribute(Provenanced self, IntsKey a0)
16482  remove_attribute(Provenanced self, StringKey a0)
16483  remove_attribute(Provenanced self, ParticleIndexKey a0)
16484  remove_attribute(Provenanced self, ObjectKey a0)
16485  remove_attribute(Provenanced self, SparseFloatKey a0)
16486  remove_attribute(Provenanced self, SparseIntKey a0)
16487  remove_attribute(Provenanced self, SparseStringKey a0)
16488  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16489  """
16490  return _IMP_core.Provenanced_remove_attribute(self, *args)
16491 
16492  def has_attribute(self, *args):
16493  r"""
16494  has_attribute(Provenanced self, FloatKey a0) -> bool
16495  has_attribute(Provenanced self, IntKey a0) -> bool
16496  has_attribute(Provenanced self, FloatsKey a0) -> bool
16497  has_attribute(Provenanced self, IntsKey a0) -> bool
16498  has_attribute(Provenanced self, StringKey a0) -> bool
16499  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16500  has_attribute(Provenanced self, ObjectKey a0) -> bool
16501  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16502  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16503  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16504  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16505  """
16506  return _IMP_core.Provenanced_has_attribute(self, *args)
16507 
16508  def get_derivative(self, a0):
16509  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16510  return _IMP_core.Provenanced_get_derivative(self, a0)
16511 
16512  def get_name(self):
16513  r"""get_name(Provenanced self) -> std::string"""
16514  return _IMP_core.Provenanced_get_name(self)
16515 
16516  def clear_caches(self):
16517  r"""clear_caches(Provenanced self)"""
16518  return _IMP_core.Provenanced_clear_caches(self)
16519 
16520  def set_name(self, a0):
16521  r"""set_name(Provenanced self, std::string a0)"""
16522  return _IMP_core.Provenanced_set_name(self, a0)
16523 
16524  def set_check_level(self, a0):
16525  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16526  return _IMP_core.Provenanced_set_check_level(self, a0)
16527 
16528  def add_to_derivative(self, a0, a1, a2):
16529  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16530  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16531 
16532  def set_is_optimized(self, a0, a1):
16533  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16534  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16535 
16536  def get_is_optimized(self, a0):
16537  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16538  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16539 
16540  def get_check_level(self):
16541  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16542  return _IMP_core.Provenanced_get_check_level(self)
16543 
16544  def __eq__(self, *args):
16545  r"""
16546  __eq__(Provenanced self, Provenanced o) -> bool
16547  __eq__(Provenanced self, Particle d) -> bool
16548  """
16549  return _IMP_core.Provenanced___eq__(self, *args)
16550 
16551  def __ne__(self, *args):
16552  r"""
16553  __ne__(Provenanced self, Provenanced o) -> bool
16554  __ne__(Provenanced self, Particle d) -> bool
16555  """
16556  return _IMP_core.Provenanced___ne__(self, *args)
16557 
16558  def __le__(self, *args):
16559  r"""
16560  __le__(Provenanced self, Provenanced o) -> bool
16561  __le__(Provenanced self, Particle d) -> bool
16562  """
16563  return _IMP_core.Provenanced___le__(self, *args)
16564 
16565  def __lt__(self, *args):
16566  r"""
16567  __lt__(Provenanced self, Provenanced o) -> bool
16568  __lt__(Provenanced self, Particle d) -> bool
16569  """
16570  return _IMP_core.Provenanced___lt__(self, *args)
16571 
16572  def __ge__(self, *args):
16573  r"""
16574  __ge__(Provenanced self, Provenanced o) -> bool
16575  __ge__(Provenanced self, Particle d) -> bool
16576  """
16577  return _IMP_core.Provenanced___ge__(self, *args)
16578 
16579  def __gt__(self, *args):
16580  r"""
16581  __gt__(Provenanced self, Provenanced o) -> bool
16582  __gt__(Provenanced self, Particle d) -> bool
16583  """
16584  return _IMP_core.Provenanced___gt__(self, *args)
16585 
16586  def __hash__(self):
16587  r"""__hash__(Provenanced self) -> std::size_t"""
16588  return _IMP_core.Provenanced___hash__(self)
16589 
16590  def __str__(self):
16591  r"""__str__(Provenanced self) -> std::string"""
16592  return _IMP_core.Provenanced___str__(self)
16593 
16594  def __repr__(self):
16595  r"""__repr__(Provenanced self) -> std::string"""
16596  return _IMP_core.Provenanced___repr__(self)
16597 
16598  def _get_as_binary(self):
16599  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16600  return _IMP_core.Provenanced__get_as_binary(self)
16601 
16602  def _set_from_binary(self, p):
16603  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16604  return _IMP_core.Provenanced__set_from_binary(self, p)
16605 
16606  def __getstate__(self):
16607  p = self._get_as_binary()
16608  if len(self.__dict__) > 1:
16609  d = self.__dict__.copy()
16610  del d['this']
16611  p = (d, p)
16612  return p
16613 
16614  def __setstate__(self, p):
16615  if not hasattr(self, 'this'):
16616  self.__init__()
16617  if isinstance(p, tuple):
16618  d, p = p
16619  self.__dict__.update(d)
16620  return self._set_from_binary(p)
16621 
16622  __swig_destroy__ = _IMP_core.delete_Provenanced
16623 
16624 # Register Provenanced in _IMP_core:
16625 _IMP_core.Provenanced_swigregister(Provenanced)
16626 
16627 def add_provenance(m, pi, p):
16628  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16629  return _IMP_core.add_provenance(m, pi, p)
16630 
16631 def create_clone(p):
16632  r"""create_clone(Provenance p) -> Provenance"""
16633  return _IMP_core.create_clone(p)
16634 
16636  r"""
16637  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16638  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & b) -> Transformation3D
16639  get_transformation_aligning_first_to_second(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16640  """
16641  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16642 
16643 def create_restraint(ps, pp):
16644  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16645  return _IMP_core.create_restraint(ps, pp)
16647  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16648 
16649  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16650 
16651  def __init__(self, *args):
16652  r"""
16653  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16654  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16655  """
16656  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16657 
16658  def get_version_info(self):
16659  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16660  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16661  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16662 
16663  def __str__(self):
16664  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16665  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16666 
16667  def __repr__(self):
16668  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16669  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16670 
16671  @staticmethod
16672  def get_from(o):
16673  return _object_cast_to_TruncatedHarmonic(o)
16674 
16675 
16676 # Register TruncatedHarmonicLowerBound in _IMP_core:
16677 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16679  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16680 
16681  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16682 
16683  def __init__(self, *args):
16684  r"""
16685  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16686  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16687  """
16688  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16689 
16690  def get_version_info(self):
16691  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16692  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16693  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16694 
16695  def __str__(self):
16696  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16697  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16698 
16699  def __repr__(self):
16700  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16701  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16702 
16703  @staticmethod
16704  def get_from(o):
16705  return _object_cast_to_TruncatedHarmonic(o)
16706 
16707 
16708 # Register TruncatedHarmonicUpperBound in _IMP_core:
16709 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16711  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16712 
16713  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16714 
16715  def __init__(self, *args):
16716  r"""
16717  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16718  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16719  """
16720  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16721 
16722  def get_version_info(self):
16723  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16724  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16725  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16726 
16727  def __str__(self):
16728  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16729  return _IMP_core.TruncatedHarmonicBound___str__(self)
16730 
16731  def __repr__(self):
16732  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16733  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16734 
16735  @staticmethod
16736  def get_from(o):
16737  return _object_cast_to_TruncatedHarmonic(o)
16738 
16739 
16740 # Register TruncatedHarmonicBound in _IMP_core:
16741 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16742 class ParticleType(IMP._Value):
16743  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16744 
16745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16746 
16747  def __init__(self, *args):
16748  r"""
16749  __init__(ParticleType self) -> ParticleType
16750  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16751  __init__(ParticleType self, unsigned int i) -> ParticleType
16752  """
16753  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16754 
16755  @staticmethod
16756  def add_key(sc):
16757  r"""add_key(std::string sc) -> unsigned int"""
16758  return _IMP_core.ParticleType_add_key(sc)
16759 
16760  @staticmethod
16761  def get_key_exists(sc):
16762  r"""get_key_exists(std::string sc) -> bool"""
16763  return _IMP_core.ParticleType_get_key_exists(sc)
16764 
16765  def get_string(self):
16766  r"""get_string(ParticleType self) -> std::string const"""
16767  return _IMP_core.ParticleType_get_string(self)
16768 
16769  def __cmp__(self, o):
16770  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16771  return _IMP_core.ParticleType___cmp__(self, o)
16772 
16773  def __eq__(self, o):
16774  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16775  return _IMP_core.ParticleType___eq__(self, o)
16776 
16777  def __ne__(self, o):
16778  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16779  return _IMP_core.ParticleType___ne__(self, o)
16780 
16781  def __lt__(self, o):
16782  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16783  return _IMP_core.ParticleType___lt__(self, o)
16784 
16785  def __gt__(self, o):
16786  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16787  return _IMP_core.ParticleType___gt__(self, o)
16788 
16789  def __ge__(self, o):
16790  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16791  return _IMP_core.ParticleType___ge__(self, o)
16792 
16793  def __le__(self, o):
16794  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16795  return _IMP_core.ParticleType___le__(self, o)
16796 
16797  def __hash__(self):
16798  r"""__hash__(ParticleType self) -> std::size_t"""
16799  return _IMP_core.ParticleType___hash__(self)
16800 
16801  def show(self, *args):
16802  r"""show(ParticleType self, _ostream out=std::cout)"""
16803  return _IMP_core.ParticleType_show(self, *args)
16804 
16805  @staticmethod
16806  def add_alias(old_key, new_name):
16807  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16808  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16809 
16810  @staticmethod
16811  def get_number_of_keys():
16812  r"""get_number_of_keys() -> unsigned int"""
16813  return _IMP_core.ParticleType_get_number_of_keys()
16814 
16815  def get_index(self):
16816  r"""get_index(ParticleType self) -> unsigned int"""
16817  return _IMP_core.ParticleType_get_index(self)
16818 
16819  @staticmethod
16820  def show_all(out):
16821  r"""show_all(_ostream out)"""
16822  return _IMP_core.ParticleType_show_all(out)
16823 
16824  @staticmethod
16825  def get_all_strings():
16826  r"""get_all_strings() -> IMP::Vector< std::string >"""
16827  return _IMP_core.ParticleType_get_all_strings()
16828 
16829  @staticmethod
16830  def get_number_unique():
16831  r"""get_number_unique() -> unsigned int"""
16832  return _IMP_core.ParticleType_get_number_unique()
16833 
16834  def __str__(self):
16835  r"""__str__(ParticleType self) -> std::string"""
16836  return _IMP_core.ParticleType___str__(self)
16837 
16838  def __repr__(self):
16839  r"""__repr__(ParticleType self) -> std::string"""
16840  return _IMP_core.ParticleType___repr__(self)
16841  __swig_destroy__ = _IMP_core.delete_ParticleType
16842 
16843 # Register ParticleType in _IMP_core:
16844 _IMP_core.ParticleType_swigregister(ParticleType)
16846  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16847 
16848  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16849  __repr__ = _swig_repr
16850 
16851  def __init__(self, f, k):
16852  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16853  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16854 
16855  def do_get_inputs(self, m, pis):
16856  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16857  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16858 
16859  def get_unary_function(self):
16860  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16861  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16862 
16863  def get_key(self):
16864  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16865  return _IMP_core.AttributeSingletonScore_get_key(self)
16866 
16867  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16868  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"""
16869  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16870 
16871  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16872  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"""
16873  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16874 
16875  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16876  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"""
16877  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16878 
16879  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16880  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"""
16881  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16882 
16883  def get_version_info(self):
16884  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16885  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16886  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16887 
16888  @staticmethod
16889  def get_from(o):
16890  return _object_cast_to_AttributeSingletonScore(o)
16891 
16892 
16893  def _get_jax(self, m, indexes):
16894  def score_float_key(jm, key, uf):
16895  return uf(jm[key][indexes])
16896 
16897  def score_xyz_key(jm, xyz_index, uf):
16898  return uf(jm['xyz'][indexes, xyz_index])
16899 
16900  uf = self.get_unary_function().get_derived_object()._get_jax()
16901  key = self.get_key()
16902  # First 7 FloatKeys are reserved in IMP and have to be handled
16903  # specially
16904  if key.get_index() >= 7:
16905  need_keys = [key]
16906  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16907  elif key == XYZR.get_radius_key():
16908  need_keys = [] # We already have the radius in the JAX model
16909  f = functools.partial(score_float_key, key='r', uf=uf)
16910  elif key in XYZ.get_xyz_keys():
16911  need_keys = [] # We already have coordinates in the JAX model
16912  xyz_index = XYZ.get_xyz_keys().index(key)
16913  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16914  else:
16915  raise NotImplementedError("No support for key %s" % key)
16916  return self._wrap_jax(m, f, keys=need_keys)
16917 
16918 
16919 # Register AttributeSingletonScore in _IMP_core:
16920 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16921 
16923  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16924  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16926  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16927 
16928  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16929  __repr__ = _swig_repr
16930 
16931  def __init__(self, f, bb):
16932  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16933  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16934 
16935  def get_unary_function(self):
16936  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16937  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16938 
16939  def get_bounding_box(self):
16940  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16941  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16942 
16943  def do_get_inputs(self, m, pis):
16944  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16945  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16946 
16947  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16948  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"""
16949  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16950 
16951  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16952  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"""
16953  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16954 
16955  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16956  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"""
16957  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16958 
16959  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16960  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"""
16961  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16962 
16963  def get_version_info(self):
16964  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16965  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16966  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16967 
16968  @staticmethod
16969  def get_from(o):
16970  return _object_cast_to_BoundingBox3DSingletonScore(o)
16971 
16972 
16973  def _get_jax(self, m, indexes):
16974  import jax.numpy as jnp
16975  def score(jm, box_min, box_max, uf):
16976  xyzs = jm['xyz'][indexes]
16977  # This calculates the distance and the score for every point,
16978  # even those inside the box. IMP just returns zero for points
16979  # inside the box, skipping the distance calculation.
16980  # The implementation here is *probably* faster on a GPU since
16981  # we reduce the use of conditionals, and JAX will likely skip
16982  # the sqrt if uf is a harmonic, but this should be benchmarked.
16983  drs = jnp.linalg.norm(
16984  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16985  return uf(drs)
16986  uf = self.get_unary_function().get_derived_object()
16987  bb = self.get_bounding_box()
16988  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16989  box_max=jnp.asarray(bb.get_corner(1)),
16990  uf=uf._get_jax())
16991  return self._wrap_jax(m, f)
16992 
16993 
16994 # Register BoundingBox3DSingletonScore in _IMP_core:
16995 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16996 
16997 def create_bounding_box_3d_singleton_score(f, bb):
16998  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16999  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
17001  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
17002 
17003  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
17004  __repr__ = _swig_repr
17005 
17006  def __init__(self, f, sphere):
17007  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
17008  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
17009 
17010  def do_get_inputs(self, m, pis):
17011  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
17012  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
17013 
17014  def get_unary_function(self):
17015  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
17016  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
17017 
17018  def get_sphere(self):
17019  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
17020  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
17021 
17022  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17023  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"""
17024  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17025 
17026  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17027  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"""
17028  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17029 
17030  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17031  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"""
17032  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17033 
17034  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17035  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"""
17036  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17037 
17038  def get_version_info(self):
17039  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
17040  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
17041  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
17042 
17043  @staticmethod
17044  def get_from(o):
17045  return _object_cast_to_BoundingSphere3DSingletonScore(o)
17046 
17047 
17048  def _get_jax(self, m, indexes):
17049  import jax.numpy as jnp
17050  import jax.lax
17051  def score_with_radius(jm, inds, center, radius):
17052  xyzs = jm['xyz'][inds]
17053  radii = jm['r'][inds]
17054  drs = jnp.linalg.norm(xyzs - center) + radii - radius
17055  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
17056  def score_without_radius(jm, inds, center, radius):
17057  xyzs = jm['xyz'][inds]
17058  drs = jnp.linalg.norm(xyzs - center) - radius
17059  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
17060  without_radii_inds = []
17061  with_radii_inds = []
17062  for ind in indexes:
17063  if XYZR.get_is_setup(m, ind):
17064  with_radii_inds.append(ind)
17065  else:
17066  without_radii_inds.append(ind)
17067  without_radii_inds = jnp.asarray(without_radii_inds)
17068  with_radii_inds = jnp.asarray(with_radii_inds)
17069  uf = self.get_unary_function().get_derived_object()._get_jax()
17070  sphere = self.get_sphere()
17071  radius = sphere.get_radius()
17072  center = jnp.asarray(sphere.get_center())
17073  def score(jm):
17074  s = 0.
17075  if without_radii_inds.size > 0:
17076  s += score_without_radius(jm, without_radii_inds,
17077  center, radius)
17078  if with_radii_inds.size > 0:
17079  s += score_with_radius(jm, with_radii_inds, center, radius)
17080  return s
17081  return self._wrap_jax(m, score)
17082 
17083 
17084 # Register BoundingSphere3DSingletonScore in _IMP_core:
17085 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
17086 
17087 def create_bounding_sphere_3d_singleton_score(f, sphere):
17088  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
17089  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
17091  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
17092 
17093  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
17094  __repr__ = _swig_repr
17095 
17096  def __init__(self, *args):
17097  r"""
17098  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
17099  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
17100  """
17101  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
17102 
17103  def do_get_inputs(self, m, pis):
17104  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
17105  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
17106 
17107  def get_unary_function(self):
17108  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
17109  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
17110 
17111  def get_point(self):
17112  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
17113  return _IMP_core.DistanceToSingletonScore_get_point(self)
17114 
17115  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17116  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"""
17117  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17118 
17119  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17120  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"""
17121  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17122 
17123  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17124  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"""
17125  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17126 
17127  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17128  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"""
17129  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17130 
17131  def get_version_info(self):
17132  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
17133  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
17134  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
17135 
17136  @staticmethod
17137  def get_from(o):
17138  return _object_cast_to_DistanceToSingletonScore(o)
17139 
17140 
17141  def _get_as_binary(self):
17142  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
17143  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
17144 
17145  def _set_from_binary(self, p):
17146  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
17147  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
17148 
17149  def __getstate__(self):
17150  p = self._get_as_binary()
17151  if len(self.__dict__) > 1:
17152  d = self.__dict__.copy()
17153  del d['this']
17154  p = (d, p)
17155  return p
17156 
17157  def __setstate__(self, p):
17158  if not hasattr(self, 'this'):
17159  self.__init__()
17160  if isinstance(p, tuple):
17161  d, p = p
17162  self.__dict__.update(d)
17163  return self._set_from_binary(p)
17164 
17165 
17166  def _get_jax(self, m, indexes):
17167  import jax.numpy as jnp
17168  def score(jm, point, uf):
17169  xyzs = jm['xyz'][indexes]
17170  drs = jnp.linalg.norm(xyzs - point, axis=1)
17171  return uf(drs)
17172  uf = self.get_unary_function().get_derived_object()
17173  f = functools.partial(score, point=jnp.array(self.get_point()),
17174  uf=uf._get_jax())
17175  return self._wrap_jax(m, f)
17176 
17177 
17178 # Register DistanceToSingletonScore in _IMP_core:
17179 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
17180 
17181 def create_distance_to_singleton_score(f, pt):
17182  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
17183  return _IMP_core.create_distance_to_singleton_score(f, pt)
17184 
17185 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
17186  def __init__(self, uf):
17187  if isinstance(uf, HarmonicUpperBound):
17188  p = HarmonicUpperBoundSphereDistancePairScore(
17189  uf.get_mean(), uf.get_k())
17190  elif isinstance(uf, HarmonicLowerBound):
17191  if uf.get_mean() == 0.0:
17192  p = SoftSpherePairScore(uf.get_k())
17193  else:
17194  p = _SphereDistancePairScore(uf)
17195  elif isinstance(uf, Harmonic):
17196  p = HarmonicSphereDistancePairScore(
17197  uf.get_mean(), uf.get_k())
17198  else:
17199  p = _SphereDistancePairScore(uf)
17200  self.__dict__['_proxied'] = p
17201  def __getattr__(self, key):
17202  return getattr(self._proxied, key)
17203  def __setattr__(self, key, val):
17204  return setattr(self._proxied, key, val)
17205 
17206  def __getstate__(self):
17207  return self.__dict__['_proxied']
17208 
17209  def __setstate__(self, p):
17210  self.__dict__['_proxied'] = p
17211 
17212  def _get_jax(self, *args, **kwargs):
17213  return self._proxied._get_jax(*args, **kwargs)
17214 
17215  @staticmethod
17216  def get_from(o):
17217  try:
17218  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17219  except ValueError:
17220  try:
17221  p = HarmonicSphereDistancePairScore.get_from(o)
17222  except ValueError:
17223  try:
17224  p = SoftSpherePairScore.get_from(o)
17225  except ValueError:
17226  p = _SphereDistancePairScore.get_from(o)
17227  obj = object.__new__(SphereDistancePairScore)
17228  obj.__dict__['_proxied'] = p
17229  return obj
17230 
17231 
17232 
17233 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17234  CombineProvenance, FilterProvenance,
17235  ClusterProvenance, ScriptProvenance,
17236  SoftwareProvenance]):
17237  """Yield all provenance decorators of the given types for the particle.
17238  By default, all provenance types are returned. Provenance is returned
17239  in order, most recent first. If the particle has no provenance
17240  information, an empty generator is returned."""
17241  if Provenanced.get_is_setup(p):
17242  prov = Provenanced(p).get_provenance()
17243  while prov:
17244  for c in types:
17245  if c.get_is_setup(prov):
17246  yield c(prov)
17247  prov = prov.get_previous()
17248 
17250  """Tag the given particle with the current Python script.
17251  This is a noop if the particle is already so tagged."""
17252  main = sys.modules['__main__']
17253 # Can't do anything if running from an interactive interpreter
17254  if not hasattr(main, '__file__'):
17255  return
17256  f = IMP.get_absolute_path(main.__file__)
17257  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17258  if prov.get_filename() == f:
17259  return
17260  m = p.get_model()
17261  provp = IMP.Particle(m)
17262  provp.set_name('script')
17263  prov = ScriptProvenance.setup_particle(provp, f)
17264  add_provenance(m, p, prov)
17265 
17266 def add_software_provenance(p, name, version, location):
17267  """Tag the given particle with the software used to create it.
17268  This is a noop if the particle is already so tagged."""
17269  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17270  if prov.get_software_name() == name and prov.get_version() == version \
17271  and prov.get_location() == location:
17272  return
17273  m = p.get_model()
17274  provp = IMP.Particle(m)
17275  provp.set_name('software')
17276  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17277  add_provenance(m, p, prov)
17278 
17280  """Tag the given particle as being created by the current version of IMP."""
17281  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17282  version=IMP.get_module_version(),
17283  location="https://integrativemodeling.org")
17284 
17285 
17286 def get_module_name():
17287  r"""get_module_name() -> std::string const"""
17288  return _IMP_core.get_module_name()
17289 
17290 def get_module_version():
17291  r"""get_module_version() -> std::string const"""
17292  return _IMP_core.get_module_version()
17293 
17294 def get_example_path(fname):
17295  r"""get_example_path(std::string fname) -> std::string"""
17296  return _IMP_core.get_example_path(fname)
17297 
17298 def get_data_path(fname):
17299  r"""get_data_path(std::string fname) -> std::string"""
17300  return _IMP_core.get_data_path(fname)
17301 
17302 from . import _version_check
17303 _version_check.check_version(get_module_version())
17304 __version__ = get_module_version()
17305 
17306 
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:618
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:36
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:748
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