IMP logo
IMP Reference Guide  develop.2f2f70d8d2,2026/03/10
The Integrative Modeling Platform
core/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.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 do_propose(self):
1820  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1821  return _IMP_core.MonteCarloMover_do_propose(self)
1822 
1823  def do_reject(self):
1824  r"""do_reject(MonteCarloMover self)"""
1825  return _IMP_core.MonteCarloMover_do_reject(self)
1826 
1827  def do_accept(self):
1828  r"""do_accept(MonteCarloMover self)"""
1829  return _IMP_core.MonteCarloMover_do_accept(self)
1830 
1831  def do_get_outputs(self):
1832  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1833  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1834 
1835  def __str__(self):
1836  r"""__str__(MonteCarloMover self) -> std::string"""
1837  return _IMP_core.MonteCarloMover___str__(self)
1838 
1839  def __repr__(self):
1840  r"""__repr__(MonteCarloMover self) -> std::string"""
1841  return _IMP_core.MonteCarloMover___repr__(self)
1842 
1843  @staticmethod
1844  def get_from(o):
1845  return _object_cast_to_MonteCarloMover(o)
1846 
1847 
1848  def do_show(self, out):
1849  pass
1850 
1851  @staticmethod
1852  def get_from(o):
1853  return _object_cast_to_MonteCarloMover(o)
1854 
1855 
1856  def _get_jax(self):
1857  """Return a JAX implementation of this mover.
1858  Implement this method in a MonteCarloMover subclass to provide
1859  equivalent functionality using [JAX](https://docs.jax.dev/).
1860  See _wrap_jax for more information.
1861  """
1862  raise NotImplementedError(f"No JAX implementation for {self}")
1863 
1864  def _wrap_jax(self, init_func, propose_func):
1865  """Create the return value for _get_jax.
1866  Use this method in _get_jax() to wrap the JAX functions
1867  with other mover-specific information.
1868 
1869  @param init_func a JAX function which is used to initialize this
1870  mover. It is called with a single argument, a fresh JAX
1871  random key, and should return a persistent state object.
1872  This object may be the key itself, or any other Python object
1873  that JAX understands.
1874  @param propose_func a JAX function which is called with the current
1875  JAX Model and the mover's persistent state object.
1876  It should return a new JAX Model with the move applied,
1877  a new persistent state, and the proposal ratio. If the move
1878  is rejected then the new JAX Model will be discarded.
1879  However, the mover's persistent state is updated for both
1880  accepted and rejected moves.
1881  """
1882  from IMP.core._jax_util import JAXMoverInfo
1883  return JAXMoverInfo(init_func, propose_func)
1884 
1885  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1886  def __disown__(self):
1887  self.this.disown()
1888  _IMP_core.disown_MonteCarloMover(self)
1889  return weakref.proxy(self)
1890 
1891  def do_destroy(self):
1892  r"""do_destroy(MonteCarloMover self)"""
1893  return _IMP_core.MonteCarloMover_do_destroy(self)
1894 
1895  def handle_set_has_required_score_states(self, arg0):
1896  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1897  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1898 
1899  def do_get_inputs(self):
1900  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1901  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1902 
1903  def do_get_interactions(self):
1904  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1905  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1906 
1907 # Register MonteCarloMover in _IMP_core:
1908 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1909 class XYZ(IMP.Decorator):
1910  r"""Proxy of C++ IMP::core::XYZ class."""
1911 
1912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1913 
1914  @staticmethod
1915  def get_coordinate_key(i):
1916  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1917  return _IMP_core.XYZ_get_coordinate_key(i)
1918 
1919  def __init__(self, *args):
1920  r"""
1921  __init__(XYZ self) -> XYZ
1922  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1923  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1924  """
1925  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1926 
1927  def show(self, *args):
1928  r"""show(XYZ self, _ostream out=std::cout)"""
1929  return _IMP_core.XYZ_show(self, *args)
1930 
1931  @staticmethod
1932  def setup_particle(*args):
1933  r"""
1934  setup_particle(Model m, ParticleIndex pi) -> XYZ
1935  setup_particle(_ParticleAdaptor pa) -> XYZ
1936  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1937  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1938  """
1939  return _IMP_core.XYZ_setup_particle(*args)
1940 
1941  def get_x(self):
1942  r"""get_x(XYZ self) -> IMP::Float"""
1943  return _IMP_core.XYZ_get_x(self)
1944 
1945  def set_x(self, t):
1946  r"""set_x(XYZ self, IMP::Float t)"""
1947  return _IMP_core.XYZ_set_x(self, t)
1948 
1949  def get_y(self):
1950  r"""get_y(XYZ self) -> IMP::Float"""
1951  return _IMP_core.XYZ_get_y(self)
1952 
1953  def set_y(self, t):
1954  r"""set_y(XYZ self, IMP::Float t)"""
1955  return _IMP_core.XYZ_set_y(self, t)
1956 
1957  def get_z(self):
1958  r"""get_z(XYZ self) -> IMP::Float"""
1959  return _IMP_core.XYZ_get_z(self)
1960 
1961  def set_z(self, t):
1962  r"""set_z(XYZ self, IMP::Float t)"""
1963  return _IMP_core.XYZ_set_z(self, t)
1964 
1965  def set_coordinate(self, i, v):
1966  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1967  return _IMP_core.XYZ_set_coordinate(self, i, v)
1968 
1969  def set_coordinates(self, v):
1970  r"""set_coordinates(XYZ self, Vector3D v)"""
1971  return _IMP_core.XYZ_set_coordinates(self, v)
1972 
1973  def get_coordinate(self, i):
1974  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1975  return _IMP_core.XYZ_get_coordinate(self, i)
1976 
1977  def add_to_derivatives(self, v, d):
1978  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1979  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1980 
1981  def get_coordinates_are_optimized(self):
1982  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1983  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
1984 
1985  def set_coordinates_are_optimized(self, tf):
1986  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
1987  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
1988 
1989  def get_vector_to(self, b):
1990  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
1991  return _IMP_core.XYZ_get_vector_to(self, b)
1992 
1993  def get_coordinates(self):
1994  r"""get_coordinates(XYZ self) -> Vector3D"""
1995  return _IMP_core.XYZ_get_coordinates(self)
1996 
1997  def get_derivatives(self):
1998  r"""get_derivatives(XYZ self) -> Vector3D"""
1999  return _IMP_core.XYZ_get_derivatives(self)
2000 
2001  @staticmethod
2002  def get_is_setup(*args):
2003  r"""
2004  get_is_setup(_ParticleAdaptor p) -> bool
2005  get_is_setup(Model m, ParticleIndex pi) -> bool
2006  """
2007  return _IMP_core.XYZ_get_is_setup(*args)
2008 
2009  @staticmethod
2010  def get_xyz_keys():
2011  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2012  return _IMP_core.XYZ_get_xyz_keys()
2013 
2014  def add_attribute(self, *args):
2015  r"""
2016  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2017  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2018  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2019  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2020  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2021  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2022  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2023  add_attribute(XYZ self, ObjectKey a0, Object a1)
2024  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2025  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2026  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2027  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2028  """
2029  return _IMP_core.XYZ_add_attribute(self, *args)
2030 
2031  def get_value(self, *args):
2032  r"""
2033  get_value(XYZ self, FloatKey a0) -> IMP::Float
2034  get_value(XYZ self, IntKey a0) -> IMP::Int
2035  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2036  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2037  get_value(XYZ self, StringKey a0) -> IMP::String
2038  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2039  get_value(XYZ self, ObjectKey a0) -> Object
2040  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2041  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2042  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2043  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2044  """
2045  return _IMP_core.XYZ_get_value(self, *args)
2046 
2047  def set_value(self, *args):
2048  r"""
2049  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2050  set_value(XYZ self, IntKey a0, IMP::Int a1)
2051  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2052  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2053  set_value(XYZ self, StringKey a0, IMP::String a1)
2054  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2055  set_value(XYZ self, ObjectKey a0, Object a1)
2056  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2057  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2058  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2059  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2060  """
2061  return _IMP_core.XYZ_set_value(self, *args)
2062 
2063  def remove_attribute(self, *args):
2064  r"""
2065  remove_attribute(XYZ self, FloatKey a0)
2066  remove_attribute(XYZ self, IntKey a0)
2067  remove_attribute(XYZ self, FloatsKey a0)
2068  remove_attribute(XYZ self, IntsKey a0)
2069  remove_attribute(XYZ self, StringKey a0)
2070  remove_attribute(XYZ self, ParticleIndexKey a0)
2071  remove_attribute(XYZ self, ObjectKey a0)
2072  remove_attribute(XYZ self, SparseFloatKey a0)
2073  remove_attribute(XYZ self, SparseIntKey a0)
2074  remove_attribute(XYZ self, SparseStringKey a0)
2075  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2076  """
2077  return _IMP_core.XYZ_remove_attribute(self, *args)
2078 
2079  def has_attribute(self, *args):
2080  r"""
2081  has_attribute(XYZ self, FloatKey a0) -> bool
2082  has_attribute(XYZ self, IntKey a0) -> bool
2083  has_attribute(XYZ self, FloatsKey a0) -> bool
2084  has_attribute(XYZ self, IntsKey a0) -> bool
2085  has_attribute(XYZ self, StringKey a0) -> bool
2086  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2087  has_attribute(XYZ self, ObjectKey a0) -> bool
2088  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2089  has_attribute(XYZ self, SparseIntKey a0) -> bool
2090  has_attribute(XYZ self, SparseStringKey a0) -> bool
2091  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2092  """
2093  return _IMP_core.XYZ_has_attribute(self, *args)
2094 
2095  def get_derivative(self, *args):
2096  r"""
2097  get_derivative(XYZ self, int i) -> IMP::Float
2098  get_derivative(XYZ self, FloatKey a0) -> double
2099  """
2100  return _IMP_core.XYZ_get_derivative(self, *args)
2101 
2102  def get_name(self):
2103  r"""get_name(XYZ self) -> std::string"""
2104  return _IMP_core.XYZ_get_name(self)
2105 
2106  def clear_caches(self):
2107  r"""clear_caches(XYZ self)"""
2108  return _IMP_core.XYZ_clear_caches(self)
2109 
2110  def set_name(self, a0):
2111  r"""set_name(XYZ self, std::string a0)"""
2112  return _IMP_core.XYZ_set_name(self, a0)
2113 
2114  def set_check_level(self, a0):
2115  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2116  return _IMP_core.XYZ_set_check_level(self, a0)
2117 
2118  def add_to_derivative(self, *args):
2119  r"""
2120  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2121  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2122  """
2123  return _IMP_core.XYZ_add_to_derivative(self, *args)
2124 
2125  def set_is_optimized(self, a0, a1):
2126  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2127  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2128 
2129  def get_is_optimized(self, a0):
2130  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2131  return _IMP_core.XYZ_get_is_optimized(self, a0)
2132 
2133  def get_check_level(self):
2134  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2135  return _IMP_core.XYZ_get_check_level(self)
2136 
2137  def __eq__(self, *args):
2138  r"""
2139  __eq__(XYZ self, XYZ o) -> bool
2140  __eq__(XYZ self, Particle d) -> bool
2141  """
2142  return _IMP_core.XYZ___eq__(self, *args)
2143 
2144  def __ne__(self, *args):
2145  r"""
2146  __ne__(XYZ self, XYZ o) -> bool
2147  __ne__(XYZ self, Particle d) -> bool
2148  """
2149  return _IMP_core.XYZ___ne__(self, *args)
2150 
2151  def __le__(self, *args):
2152  r"""
2153  __le__(XYZ self, XYZ o) -> bool
2154  __le__(XYZ self, Particle d) -> bool
2155  """
2156  return _IMP_core.XYZ___le__(self, *args)
2157 
2158  def __lt__(self, *args):
2159  r"""
2160  __lt__(XYZ self, XYZ o) -> bool
2161  __lt__(XYZ self, Particle d) -> bool
2162  """
2163  return _IMP_core.XYZ___lt__(self, *args)
2164 
2165  def __ge__(self, *args):
2166  r"""
2167  __ge__(XYZ self, XYZ o) -> bool
2168  __ge__(XYZ self, Particle d) -> bool
2169  """
2170  return _IMP_core.XYZ___ge__(self, *args)
2171 
2172  def __gt__(self, *args):
2173  r"""
2174  __gt__(XYZ self, XYZ o) -> bool
2175  __gt__(XYZ self, Particle d) -> bool
2176  """
2177  return _IMP_core.XYZ___gt__(self, *args)
2178 
2179  def __hash__(self):
2180  r"""__hash__(XYZ self) -> std::size_t"""
2181  return _IMP_core.XYZ___hash__(self)
2182 
2183  def __str__(self):
2184  r"""__str__(XYZ self) -> std::string"""
2185  return _IMP_core.XYZ___str__(self)
2186 
2187  def __repr__(self):
2188  r"""__repr__(XYZ self) -> std::string"""
2189  return _IMP_core.XYZ___repr__(self)
2190 
2191  def _get_as_binary(self):
2192  r"""_get_as_binary(XYZ self) -> PyObject *"""
2193  return _IMP_core.XYZ__get_as_binary(self)
2194 
2195  def _set_from_binary(self, p):
2196  r"""_set_from_binary(XYZ self, PyObject * p)"""
2197  return _IMP_core.XYZ__set_from_binary(self, p)
2198 
2199  def __getstate__(self):
2200  p = self._get_as_binary()
2201  if len(self.__dict__) > 1:
2202  d = self.__dict__.copy()
2203  del d['this']
2204  p = (d, p)
2205  return p
2206 
2207  def __setstate__(self, p):
2208  if not hasattr(self, 'this'):
2209  self.__init__()
2210  if isinstance(p, tuple):
2211  d, p = p
2212  self.__dict__.update(d)
2213  return self._set_from_binary(p)
2214 
2215  __swig_destroy__ = _IMP_core.delete_XYZ
2216 
2217 # Register XYZ in _IMP_core:
2218 _IMP_core.XYZ_swigregister(XYZ)
2219 
2220 def set_vector_geometry(d, v):
2221  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2222  return _IMP_core.set_vector_geometry(d, v)
2223 
2224 def get_vector_geometry(d):
2225  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2226  return _IMP_core.get_vector_geometry(d)
2227 
2228 def get_dihedral(a, b, c, d):
2229  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2230  return _IMP_core.get_dihedral(a, b, c, d)
2231 class XYZR(XYZ):
2232  r"""Proxy of C++ IMP::core::XYZR class."""
2233 
2234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2235 
2236  def __init__(self, *args):
2237  r"""
2238  __init__(XYZR self) -> XYZR
2239  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2240  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2241  """
2242  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2243 
2244  def show(self, *args):
2245  r"""show(XYZR self, _ostream out=std::cout)"""
2246  return _IMP_core.XYZR_show(self, *args)
2247 
2248  @staticmethod
2249  def setup_particle(*args):
2250  r"""
2251  setup_particle(Model m, ParticleIndex pi) -> XYZR
2252  setup_particle(_ParticleAdaptor pa) -> XYZR
2253  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2254  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2255  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2256  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2257  """
2258  return _IMP_core.XYZR_setup_particle(*args)
2259 
2260  @staticmethod
2261  def get_is_setup(*args):
2262  r"""
2263  get_is_setup(_ParticleAdaptor p) -> bool
2264  get_is_setup(Model m, ParticleIndex pi) -> bool
2265  """
2266  return _IMP_core.XYZR_get_is_setup(*args)
2267 
2268  def get_radius(self):
2269  r"""get_radius(XYZR self) -> double"""
2270  return _IMP_core.XYZR_get_radius(self)
2271 
2272  def set_radius(self, r):
2273  r"""set_radius(XYZR self, double r)"""
2274  return _IMP_core.XYZR_set_radius(self, r)
2275 
2276  def get_sphere(self):
2277  r"""get_sphere(XYZR self) -> Sphere3D"""
2278  return _IMP_core.XYZR_get_sphere(self)
2279 
2280  def set_sphere(self, s):
2281  r"""set_sphere(XYZR self, Sphere3D s)"""
2282  return _IMP_core.XYZR_set_sphere(self, s)
2283 
2284  @staticmethod
2285  def get_radius_key():
2286  r"""get_radius_key() -> FloatKey"""
2287  return _IMP_core.XYZR_get_radius_key()
2288 
2289  def add_to_radius_derivative(self, v, d):
2290  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2291  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2292 
2293  def add_attribute(self, *args):
2294  r"""
2295  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2296  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2297  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2298  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2299  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2300  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2301  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2302  add_attribute(XYZR self, ObjectKey a0, Object a1)
2303  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2304  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2305  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2306  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2307  """
2308  return _IMP_core.XYZR_add_attribute(self, *args)
2309 
2310  def get_value(self, *args):
2311  r"""
2312  get_value(XYZR self, FloatKey a0) -> IMP::Float
2313  get_value(XYZR self, IntKey a0) -> IMP::Int
2314  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2315  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2316  get_value(XYZR self, StringKey a0) -> IMP::String
2317  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2318  get_value(XYZR self, ObjectKey a0) -> Object
2319  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2320  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2321  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2322  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2323  """
2324  return _IMP_core.XYZR_get_value(self, *args)
2325 
2326  def set_value(self, *args):
2327  r"""
2328  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2329  set_value(XYZR self, IntKey a0, IMP::Int a1)
2330  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2331  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2332  set_value(XYZR self, StringKey a0, IMP::String a1)
2333  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2334  set_value(XYZR self, ObjectKey a0, Object a1)
2335  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2336  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2337  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2338  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2339  """
2340  return _IMP_core.XYZR_set_value(self, *args)
2341 
2342  def remove_attribute(self, *args):
2343  r"""
2344  remove_attribute(XYZR self, FloatKey a0)
2345  remove_attribute(XYZR self, IntKey a0)
2346  remove_attribute(XYZR self, FloatsKey a0)
2347  remove_attribute(XYZR self, IntsKey a0)
2348  remove_attribute(XYZR self, StringKey a0)
2349  remove_attribute(XYZR self, ParticleIndexKey a0)
2350  remove_attribute(XYZR self, ObjectKey a0)
2351  remove_attribute(XYZR self, SparseFloatKey a0)
2352  remove_attribute(XYZR self, SparseIntKey a0)
2353  remove_attribute(XYZR self, SparseStringKey a0)
2354  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2355  """
2356  return _IMP_core.XYZR_remove_attribute(self, *args)
2357 
2358  def has_attribute(self, *args):
2359  r"""
2360  has_attribute(XYZR self, FloatKey a0) -> bool
2361  has_attribute(XYZR self, IntKey a0) -> bool
2362  has_attribute(XYZR self, FloatsKey a0) -> bool
2363  has_attribute(XYZR self, IntsKey a0) -> bool
2364  has_attribute(XYZR self, StringKey a0) -> bool
2365  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2366  has_attribute(XYZR self, ObjectKey a0) -> bool
2367  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2368  has_attribute(XYZR self, SparseIntKey a0) -> bool
2369  has_attribute(XYZR self, SparseStringKey a0) -> bool
2370  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2371  """
2372  return _IMP_core.XYZR_has_attribute(self, *args)
2373 
2374  def get_derivative(self, a0):
2375  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2376  return _IMP_core.XYZR_get_derivative(self, a0)
2377 
2378  def get_name(self):
2379  r"""get_name(XYZR self) -> std::string"""
2380  return _IMP_core.XYZR_get_name(self)
2381 
2382  def clear_caches(self):
2383  r"""clear_caches(XYZR self)"""
2384  return _IMP_core.XYZR_clear_caches(self)
2385 
2386  def set_name(self, a0):
2387  r"""set_name(XYZR self, std::string a0)"""
2388  return _IMP_core.XYZR_set_name(self, a0)
2389 
2390  def set_check_level(self, a0):
2391  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2392  return _IMP_core.XYZR_set_check_level(self, a0)
2393 
2394  def add_to_derivative(self, a0, a1, a2):
2395  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2396  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2397 
2398  def set_is_optimized(self, a0, a1):
2399  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2400  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2401 
2402  def get_is_optimized(self, a0):
2403  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2404  return _IMP_core.XYZR_get_is_optimized(self, a0)
2405 
2406  def get_check_level(self):
2407  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2408  return _IMP_core.XYZR_get_check_level(self)
2409 
2410  def __eq__(self, *args):
2411  r"""
2412  __eq__(XYZR self, XYZR o) -> bool
2413  __eq__(XYZR self, Particle d) -> bool
2414  """
2415  return _IMP_core.XYZR___eq__(self, *args)
2416 
2417  def __ne__(self, *args):
2418  r"""
2419  __ne__(XYZR self, XYZR o) -> bool
2420  __ne__(XYZR self, Particle d) -> bool
2421  """
2422  return _IMP_core.XYZR___ne__(self, *args)
2423 
2424  def __le__(self, *args):
2425  r"""
2426  __le__(XYZR self, XYZR o) -> bool
2427  __le__(XYZR self, Particle d) -> bool
2428  """
2429  return _IMP_core.XYZR___le__(self, *args)
2430 
2431  def __lt__(self, *args):
2432  r"""
2433  __lt__(XYZR self, XYZR o) -> bool
2434  __lt__(XYZR self, Particle d) -> bool
2435  """
2436  return _IMP_core.XYZR___lt__(self, *args)
2437 
2438  def __ge__(self, *args):
2439  r"""
2440  __ge__(XYZR self, XYZR o) -> bool
2441  __ge__(XYZR self, Particle d) -> bool
2442  """
2443  return _IMP_core.XYZR___ge__(self, *args)
2444 
2445  def __gt__(self, *args):
2446  r"""
2447  __gt__(XYZR self, XYZR o) -> bool
2448  __gt__(XYZR self, Particle d) -> bool
2449  """
2450  return _IMP_core.XYZR___gt__(self, *args)
2451 
2452  def __hash__(self):
2453  r"""__hash__(XYZR self) -> std::size_t"""
2454  return _IMP_core.XYZR___hash__(self)
2455 
2456  def __str__(self):
2457  r"""__str__(XYZR self) -> std::string"""
2458  return _IMP_core.XYZR___str__(self)
2459 
2460  def __repr__(self):
2461  r"""__repr__(XYZR self) -> std::string"""
2462  return _IMP_core.XYZR___repr__(self)
2463 
2464  def _get_as_binary(self):
2465  r"""_get_as_binary(XYZR self) -> PyObject *"""
2466  return _IMP_core.XYZR__get_as_binary(self)
2467 
2468  def _set_from_binary(self, p):
2469  r"""_set_from_binary(XYZR self, PyObject * p)"""
2470  return _IMP_core.XYZR__set_from_binary(self, p)
2471 
2472  def __getstate__(self):
2473  p = self._get_as_binary()
2474  if len(self.__dict__) > 1:
2475  d = self.__dict__.copy()
2476  del d['this']
2477  p = (d, p)
2478  return p
2479 
2480  def __setstate__(self, p):
2481  if not hasattr(self, 'this'):
2482  self.__init__()
2483  if isinstance(p, tuple):
2484  d, p = p
2485  self.__dict__.update(d)
2486  return self._set_from_binary(p)
2487 
2488  __swig_destroy__ = _IMP_core.delete_XYZR
2489 
2490 # Register XYZR in _IMP_core:
2491 _IMP_core.XYZR_swigregister(XYZR)
2492 
2493 def set_enclosing_sphere(b, v, slack=0):
2494  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2495  return _IMP_core.set_enclosing_sphere(b, v, slack)
2496 
2497 def set_enclosing_radius(b, v):
2498  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2499  return _IMP_core.set_enclosing_radius(b, v)
2500 
2501 def get_enclosing_sphere(v):
2502  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2503  return _IMP_core.get_enclosing_sphere(v)
2504 
2505 def create_xyzr_particles(m, num, radius, box_side=10):
2506  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2507  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2508 class XYZRGeometry(IMP.display.SingletonGeometry):
2509  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2510 
2511  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2512 
2513  def __init__(self, *args):
2514  r"""
2515  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2516  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2517  """
2518  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2519 
2520  def get_version_info(self):
2521  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2522  return _IMP_core.XYZRGeometry_get_version_info(self)
2523  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2524 
2525  def __str__(self):
2526  r"""__str__(XYZRGeometry self) -> std::string"""
2527  return _IMP_core.XYZRGeometry___str__(self)
2528 
2529  def __repr__(self):
2530  r"""__repr__(XYZRGeometry self) -> std::string"""
2531  return _IMP_core.XYZRGeometry___repr__(self)
2532 
2533  @staticmethod
2534  def get_from(o):
2535  return _object_cast_to_XYZRGeometry(o)
2536 
2537 
2538 # Register XYZRGeometry in _IMP_core:
2539 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2540 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2541  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2542 
2543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2544 
2545  def __init__(self, sc):
2546  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2547  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2548 
2549  def get_version_info(self):
2550  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2551  return _IMP_core.XYZRsGeometry_get_version_info(self)
2552  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2553 
2554  def __str__(self):
2555  r"""__str__(XYZRsGeometry self) -> std::string"""
2556  return _IMP_core.XYZRsGeometry___str__(self)
2557 
2558  def __repr__(self):
2559  r"""__repr__(XYZRsGeometry self) -> std::string"""
2560  return _IMP_core.XYZRsGeometry___repr__(self)
2561 
2562  @staticmethod
2563  def get_from(o):
2564  return _object_cast_to_XYZRsGeometry(o)
2565 
2566 
2567 # Register XYZRsGeometry in _IMP_core:
2568 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2569 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2570  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2571 
2572  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2573 
2574  def __init__(self, *args):
2575  r"""
2576  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2577  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2578  """
2579  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2580 
2581  def get_version_info(self):
2582  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2583  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2584  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2585 
2586  def __str__(self):
2587  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2588  return _IMP_core.XYZDerivativeGeometry___str__(self)
2589 
2590  def __repr__(self):
2591  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2592  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2593 
2594  @staticmethod
2595  def get_from(o):
2596  return _object_cast_to_XYZDerivativeGeometry(o)
2597 
2598 
2599 # Register XYZDerivativeGeometry in _IMP_core:
2600 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2601 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2602  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2603 
2604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2605 
2606  def __init__(self, sc):
2607  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2608  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2609 
2610  def get_version_info(self):
2611  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2612  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2613  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2614 
2615  def __str__(self):
2616  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2617  return _IMP_core.XYZDerivativesGeometry___str__(self)
2618 
2619  def __repr__(self):
2620  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2621  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2622 
2623  @staticmethod
2624  def get_from(o):
2625  return _object_cast_to_XYZDerivativesGeometry(o)
2626 
2627 
2628 # Register XYZDerivativesGeometry in _IMP_core:
2629 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2630 class EdgePairGeometry(IMP.display.PairGeometry):
2631  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2632 
2633  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2634 
2635  def __init__(self, pp):
2636  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2637  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2638 
2639  def get_version_info(self):
2640  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2641  return _IMP_core.EdgePairGeometry_get_version_info(self)
2642  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2643 
2644  def __str__(self):
2645  r"""__str__(EdgePairGeometry self) -> std::string"""
2646  return _IMP_core.EdgePairGeometry___str__(self)
2647 
2648  def __repr__(self):
2649  r"""__repr__(EdgePairGeometry self) -> std::string"""
2650  return _IMP_core.EdgePairGeometry___repr__(self)
2651 
2652  @staticmethod
2653  def get_from(o):
2654  return _object_cast_to_EdgePairGeometry(o)
2655 
2656 
2657 # Register EdgePairGeometry in _IMP_core:
2658 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2659 class EdgePairsGeometry(IMP.display.PairsGeometry):
2660  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2661 
2662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2663 
2664  def __init__(self, sc):
2665  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2666  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2667 
2668  def get_version_info(self):
2669  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2670  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2671  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2672 
2673  def __str__(self):
2674  r"""__str__(EdgePairsGeometry self) -> std::string"""
2675  return _IMP_core.EdgePairsGeometry___str__(self)
2676 
2677  def __repr__(self):
2678  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2679  return _IMP_core.EdgePairsGeometry___repr__(self)
2680 
2681  @staticmethod
2682  def get_from(o):
2683  return _object_cast_to_EdgePairsGeometry(o)
2684 
2685 
2686 # Register EdgePairsGeometry in _IMP_core:
2687 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2688 class Direction(IMP.Decorator):
2689  r"""Proxy of C++ IMP::core::Direction class."""
2690 
2691  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2692 
2693  @staticmethod
2694  def do_setup_particle(m, pi, v):
2695  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2696  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2697 
2698  def __init__(self, *args):
2699  r"""
2700  __init__(Direction self) -> Direction
2701  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2702  __init__(Direction self, _ParticleAdaptor d) -> Direction
2703  """
2704  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2705 
2706  def show(self, *args):
2707  r"""show(Direction self, _ostream out=std::cout)"""
2708  return _IMP_core.Direction_show(self, *args)
2709 
2710  @staticmethod
2711  def setup_particle(*args):
2712  r"""
2713  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2714  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2715  """
2716  return _IMP_core.Direction_setup_particle(*args)
2717 
2718  @staticmethod
2719  def get_is_setup(*args):
2720  r"""
2721  get_is_setup(_ParticleAdaptor p) -> bool
2722  get_is_setup(Model m, ParticleIndex pi) -> bool
2723  """
2724  return _IMP_core.Direction_get_is_setup(*args)
2725 
2726  @staticmethod
2727  def get_direction_key(i):
2728  r"""get_direction_key(unsigned int i) -> FloatKey"""
2729  return _IMP_core.Direction_get_direction_key(i)
2730 
2731  def get_direction_derivative(self, i):
2732  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2733  return _IMP_core.Direction_get_direction_derivative(self, i)
2734 
2735  def get_direction_derivatives(self):
2736  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2737  return _IMP_core.Direction_get_direction_derivatives(self)
2738 
2739  def add_to_direction_derivative(self, i, v, d):
2740  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2741  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2742 
2743  def add_to_direction_derivatives(self, v, d):
2744  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2745  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2746 
2747  def get_direction_is_optimized(self):
2748  r"""get_direction_is_optimized(Direction self) -> bool"""
2749  return _IMP_core.Direction_get_direction_is_optimized(self)
2750 
2751  def set_direction_is_optimized(self, tf):
2752  r"""set_direction_is_optimized(Direction self, bool tf)"""
2753  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2754 
2755  def get_direction(self):
2756  r"""get_direction(Direction self) -> Vector3D"""
2757  return _IMP_core.Direction_get_direction(self)
2758 
2759  def set_direction(self, v):
2760  r"""set_direction(Direction self, Vector3D v)"""
2761  return _IMP_core.Direction_set_direction(self, v)
2762 
2763  def reflect(self):
2764  r"""reflect(Direction self)"""
2765  return _IMP_core.Direction_reflect(self)
2766 
2767  def add_attribute(self, *args):
2768  r"""
2769  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2770  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2771  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2772  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2773  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2774  add_attribute(Direction self, StringKey a0, IMP::String a1)
2775  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2776  add_attribute(Direction self, ObjectKey a0, Object a1)
2777  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2778  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2779  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2780  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2781  """
2782  return _IMP_core.Direction_add_attribute(self, *args)
2783 
2784  def get_value(self, *args):
2785  r"""
2786  get_value(Direction self, FloatKey a0) -> IMP::Float
2787  get_value(Direction self, IntKey a0) -> IMP::Int
2788  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2789  get_value(Direction self, IntsKey a0) -> IMP::Ints
2790  get_value(Direction self, StringKey a0) -> IMP::String
2791  get_value(Direction self, ParticleIndexKey a0) -> Particle
2792  get_value(Direction self, ObjectKey a0) -> Object
2793  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2794  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2795  get_value(Direction self, SparseStringKey a0) -> IMP::String
2796  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2797  """
2798  return _IMP_core.Direction_get_value(self, *args)
2799 
2800  def set_value(self, *args):
2801  r"""
2802  set_value(Direction self, FloatKey a0, IMP::Float a1)
2803  set_value(Direction self, IntKey a0, IMP::Int a1)
2804  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2805  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2806  set_value(Direction self, StringKey a0, IMP::String a1)
2807  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2808  set_value(Direction self, ObjectKey a0, Object a1)
2809  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2810  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2811  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2812  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2813  """
2814  return _IMP_core.Direction_set_value(self, *args)
2815 
2816  def remove_attribute(self, *args):
2817  r"""
2818  remove_attribute(Direction self, FloatKey a0)
2819  remove_attribute(Direction self, IntKey a0)
2820  remove_attribute(Direction self, FloatsKey a0)
2821  remove_attribute(Direction self, IntsKey a0)
2822  remove_attribute(Direction self, StringKey a0)
2823  remove_attribute(Direction self, ParticleIndexKey a0)
2824  remove_attribute(Direction self, ObjectKey a0)
2825  remove_attribute(Direction self, SparseFloatKey a0)
2826  remove_attribute(Direction self, SparseIntKey a0)
2827  remove_attribute(Direction self, SparseStringKey a0)
2828  remove_attribute(Direction self, SparseParticleIndexKey a0)
2829  """
2830  return _IMP_core.Direction_remove_attribute(self, *args)
2831 
2832  def has_attribute(self, *args):
2833  r"""
2834  has_attribute(Direction self, FloatKey a0) -> bool
2835  has_attribute(Direction self, IntKey a0) -> bool
2836  has_attribute(Direction self, FloatsKey a0) -> bool
2837  has_attribute(Direction self, IntsKey a0) -> bool
2838  has_attribute(Direction self, StringKey a0) -> bool
2839  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2840  has_attribute(Direction self, ObjectKey a0) -> bool
2841  has_attribute(Direction self, SparseFloatKey a0) -> bool
2842  has_attribute(Direction self, SparseIntKey a0) -> bool
2843  has_attribute(Direction self, SparseStringKey a0) -> bool
2844  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2845  """
2846  return _IMP_core.Direction_has_attribute(self, *args)
2847 
2848  def get_derivative(self, a0):
2849  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2850  return _IMP_core.Direction_get_derivative(self, a0)
2851 
2852  def get_name(self):
2853  r"""get_name(Direction self) -> std::string"""
2854  return _IMP_core.Direction_get_name(self)
2855 
2856  def clear_caches(self):
2857  r"""clear_caches(Direction self)"""
2858  return _IMP_core.Direction_clear_caches(self)
2859 
2860  def set_name(self, a0):
2861  r"""set_name(Direction self, std::string a0)"""
2862  return _IMP_core.Direction_set_name(self, a0)
2863 
2864  def set_check_level(self, a0):
2865  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2866  return _IMP_core.Direction_set_check_level(self, a0)
2867 
2868  def add_to_derivative(self, a0, a1, a2):
2869  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2870  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2871 
2872  def set_is_optimized(self, a0, a1):
2873  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2874  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2875 
2876  def get_is_optimized(self, a0):
2877  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2878  return _IMP_core.Direction_get_is_optimized(self, a0)
2879 
2880  def get_check_level(self):
2881  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2882  return _IMP_core.Direction_get_check_level(self)
2883 
2884  def __eq__(self, *args):
2885  r"""
2886  __eq__(Direction self, Direction o) -> bool
2887  __eq__(Direction self, Particle d) -> bool
2888  """
2889  return _IMP_core.Direction___eq__(self, *args)
2890 
2891  def __ne__(self, *args):
2892  r"""
2893  __ne__(Direction self, Direction o) -> bool
2894  __ne__(Direction self, Particle d) -> bool
2895  """
2896  return _IMP_core.Direction___ne__(self, *args)
2897 
2898  def __le__(self, *args):
2899  r"""
2900  __le__(Direction self, Direction o) -> bool
2901  __le__(Direction self, Particle d) -> bool
2902  """
2903  return _IMP_core.Direction___le__(self, *args)
2904 
2905  def __lt__(self, *args):
2906  r"""
2907  __lt__(Direction self, Direction o) -> bool
2908  __lt__(Direction self, Particle d) -> bool
2909  """
2910  return _IMP_core.Direction___lt__(self, *args)
2911 
2912  def __ge__(self, *args):
2913  r"""
2914  __ge__(Direction self, Direction o) -> bool
2915  __ge__(Direction self, Particle d) -> bool
2916  """
2917  return _IMP_core.Direction___ge__(self, *args)
2918 
2919  def __gt__(self, *args):
2920  r"""
2921  __gt__(Direction self, Direction o) -> bool
2922  __gt__(Direction self, Particle d) -> bool
2923  """
2924  return _IMP_core.Direction___gt__(self, *args)
2925 
2926  def __hash__(self):
2927  r"""__hash__(Direction self) -> std::size_t"""
2928  return _IMP_core.Direction___hash__(self)
2929 
2930  def __str__(self):
2931  r"""__str__(Direction self) -> std::string"""
2932  return _IMP_core.Direction___str__(self)
2933 
2934  def __repr__(self):
2935  r"""__repr__(Direction self) -> std::string"""
2936  return _IMP_core.Direction___repr__(self)
2937 
2938  def _get_as_binary(self):
2939  r"""_get_as_binary(Direction self) -> PyObject *"""
2940  return _IMP_core.Direction__get_as_binary(self)
2941 
2942  def _set_from_binary(self, p):
2943  r"""_set_from_binary(Direction self, PyObject * p)"""
2944  return _IMP_core.Direction__set_from_binary(self, p)
2945 
2946  def __getstate__(self):
2947  p = self._get_as_binary()
2948  if len(self.__dict__) > 1:
2949  d = self.__dict__.copy()
2950  del d['this']
2951  p = (d, p)
2952  return p
2953 
2954  def __setstate__(self, p):
2955  if not hasattr(self, 'this'):
2956  self.__init__()
2957  if isinstance(p, tuple):
2958  d, p = p
2959  self.__dict__.update(d)
2960  return self._set_from_binary(p)
2961 
2962  __swig_destroy__ = _IMP_core.delete_Direction
2963 
2964 # Register Direction in _IMP_core:
2965 _IMP_core.Direction_swigregister(Direction)
2966 
2967 def get_angle(a, b):
2968  r"""get_angle(Direction a, Direction b) -> double"""
2969  return _IMP_core.get_angle(a, b)
2970 class DirectionAngle(IMP.Decorator):
2971  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2972 
2973  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2974 
2975  def __init__(self, *args):
2976  r"""
2977  __init__(DirectionAngle self) -> DirectionAngle
2978  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2979  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2980  """
2981  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2982 
2983  def show(self, *args):
2984  r"""show(DirectionAngle self, _ostream out=std::cout)"""
2985  return _IMP_core.DirectionAngle_show(self, *args)
2986 
2987  @staticmethod
2988  def setup_particle(*args):
2989  r"""
2990  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
2991  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
2992  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2993  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
2994  """
2995  return _IMP_core.DirectionAngle_setup_particle(*args)
2996 
2997  @staticmethod
2998  def get_is_setup(*args):
2999  r"""
3000  get_is_setup(_ParticleAdaptor p) -> bool
3001  get_is_setup(Model m, ParticleIndex pi) -> bool
3002  """
3003  return _IMP_core.DirectionAngle_get_is_setup(*args)
3004 
3005  @staticmethod
3006  def get_angle_key():
3007  r"""get_angle_key() -> FloatKey"""
3008  return _IMP_core.DirectionAngle_get_angle_key()
3009 
3010  @staticmethod
3011  def get_particle_key(i):
3012  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3013  return _IMP_core.DirectionAngle_get_particle_key(i)
3014 
3015  def get_particle(self, *args):
3016  r"""
3017  get_particle(DirectionAngle self, unsigned int i) -> Particle
3018  get_particle(DirectionAngle self) -> Particle
3019  """
3020  return _IMP_core.DirectionAngle_get_particle(self, *args)
3021 
3022  def get_particle_index(self, *args):
3023  r"""
3024  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3025  get_particle_index(DirectionAngle self) -> ParticleIndex
3026  """
3027  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3028 
3029  def get_angle(self):
3030  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3031  return _IMP_core.DirectionAngle_get_angle(self)
3032 
3033  def get_angle_derivative(self):
3034  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3035  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3036 
3037  def add_to_angle_derivative(self, v, d):
3038  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3039  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3040 
3041  def add_attribute(self, *args):
3042  r"""
3043  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3044  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3045  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3046  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3047  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3048  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3049  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3050  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3051  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3052  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3053  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3054  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3055  """
3056  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3057 
3058  def get_value(self, *args):
3059  r"""
3060  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3061  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3062  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3063  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3064  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3065  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3066  get_value(DirectionAngle self, ObjectKey a0) -> Object
3067  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3068  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3069  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3070  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3071  """
3072  return _IMP_core.DirectionAngle_get_value(self, *args)
3073 
3074  def set_value(self, *args):
3075  r"""
3076  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3077  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3078  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3079  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3080  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3081  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3082  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3083  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3084  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3085  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3086  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3087  """
3088  return _IMP_core.DirectionAngle_set_value(self, *args)
3089 
3090  def remove_attribute(self, *args):
3091  r"""
3092  remove_attribute(DirectionAngle self, FloatKey a0)
3093  remove_attribute(DirectionAngle self, IntKey a0)
3094  remove_attribute(DirectionAngle self, FloatsKey a0)
3095  remove_attribute(DirectionAngle self, IntsKey a0)
3096  remove_attribute(DirectionAngle self, StringKey a0)
3097  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3098  remove_attribute(DirectionAngle self, ObjectKey a0)
3099  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3100  remove_attribute(DirectionAngle self, SparseIntKey a0)
3101  remove_attribute(DirectionAngle self, SparseStringKey a0)
3102  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3103  """
3104  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3105 
3106  def has_attribute(self, *args):
3107  r"""
3108  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3109  has_attribute(DirectionAngle self, IntKey a0) -> bool
3110  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3111  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3112  has_attribute(DirectionAngle self, StringKey a0) -> bool
3113  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3114  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3115  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3116  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3117  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3118  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3119  """
3120  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3121 
3122  def get_derivative(self, a0):
3123  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3124  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3125 
3126  def get_name(self):
3127  r"""get_name(DirectionAngle self) -> std::string"""
3128  return _IMP_core.DirectionAngle_get_name(self)
3129 
3130  def clear_caches(self):
3131  r"""clear_caches(DirectionAngle self)"""
3132  return _IMP_core.DirectionAngle_clear_caches(self)
3133 
3134  def set_name(self, a0):
3135  r"""set_name(DirectionAngle self, std::string a0)"""
3136  return _IMP_core.DirectionAngle_set_name(self, a0)
3137 
3138  def set_check_level(self, a0):
3139  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3140  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3141 
3142  def add_to_derivative(self, a0, a1, a2):
3143  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3144  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3145 
3146  def set_is_optimized(self, a0, a1):
3147  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3148  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3149 
3150  def get_is_optimized(self, a0):
3151  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3152  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3153 
3154  def get_check_level(self):
3155  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3156  return _IMP_core.DirectionAngle_get_check_level(self)
3157 
3158  def __eq__(self, *args):
3159  r"""
3160  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3161  __eq__(DirectionAngle self, Particle d) -> bool
3162  """
3163  return _IMP_core.DirectionAngle___eq__(self, *args)
3164 
3165  def __ne__(self, *args):
3166  r"""
3167  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3168  __ne__(DirectionAngle self, Particle d) -> bool
3169  """
3170  return _IMP_core.DirectionAngle___ne__(self, *args)
3171 
3172  def __le__(self, *args):
3173  r"""
3174  __le__(DirectionAngle self, DirectionAngle o) -> bool
3175  __le__(DirectionAngle self, Particle d) -> bool
3176  """
3177  return _IMP_core.DirectionAngle___le__(self, *args)
3178 
3179  def __lt__(self, *args):
3180  r"""
3181  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3182  __lt__(DirectionAngle self, Particle d) -> bool
3183  """
3184  return _IMP_core.DirectionAngle___lt__(self, *args)
3185 
3186  def __ge__(self, *args):
3187  r"""
3188  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3189  __ge__(DirectionAngle self, Particle d) -> bool
3190  """
3191  return _IMP_core.DirectionAngle___ge__(self, *args)
3192 
3193  def __gt__(self, *args):
3194  r"""
3195  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3196  __gt__(DirectionAngle self, Particle d) -> bool
3197  """
3198  return _IMP_core.DirectionAngle___gt__(self, *args)
3199 
3200  def __hash__(self):
3201  r"""__hash__(DirectionAngle self) -> std::size_t"""
3202  return _IMP_core.DirectionAngle___hash__(self)
3203 
3204  def __str__(self):
3205  r"""__str__(DirectionAngle self) -> std::string"""
3206  return _IMP_core.DirectionAngle___str__(self)
3207 
3208  def __repr__(self):
3209  r"""__repr__(DirectionAngle self) -> std::string"""
3210  return _IMP_core.DirectionAngle___repr__(self)
3211 
3212  def _get_as_binary(self):
3213  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3214  return _IMP_core.DirectionAngle__get_as_binary(self)
3215 
3216  def _set_from_binary(self, p):
3217  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3218  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3219 
3220  def __getstate__(self):
3221  p = self._get_as_binary()
3222  if len(self.__dict__) > 1:
3223  d = self.__dict__.copy()
3224  del d['this']
3225  p = (d, p)
3226  return p
3227 
3228  def __setstate__(self, p):
3229  if not hasattr(self, 'this'):
3230  self.__init__()
3231  if isinstance(p, tuple):
3232  d, p = p
3233  self.__dict__.update(d)
3234  return self._set_from_binary(p)
3235 
3236  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3237 
3238 # Register DirectionAngle in _IMP_core:
3239 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3240 class Surface(XYZ):
3241  r"""Proxy of C++ IMP::core::Surface class."""
3242 
3243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3244 
3245  @staticmethod
3246  def do_setup_particle(*args):
3247  r"""
3248  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::algebra::Vector3D(0, 0, 0), Vector3D normal=IMP::algebra::Vector3D(0, 0, 1))
3249  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3250  """
3251  return _IMP_core.Surface_do_setup_particle(*args)
3252 
3253  def __init__(self, *args):
3254  r"""
3255  __init__(Surface self) -> Surface
3256  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3257  __init__(Surface self, _ParticleAdaptor d) -> Surface
3258  """
3259  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3260 
3261  def show(self, *args):
3262  r"""show(Surface self, _ostream out=std::cout)"""
3263  return _IMP_core.Surface_show(self, *args)
3264 
3265  @staticmethod
3266  def setup_particle(*args):
3267  r"""
3268  setup_particle(Model m, ParticleIndex pi) -> Surface
3269  setup_particle(_ParticleAdaptor pa) -> Surface
3270  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3271  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3272  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3273  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3274  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3275  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3276  """
3277  return _IMP_core.Surface_setup_particle(*args)
3278 
3279  def get_normal_x(self):
3280  r"""get_normal_x(Surface self) -> IMP::Float"""
3281  return _IMP_core.Surface_get_normal_x(self)
3282 
3283  def set_normal_x(self, t):
3284  r"""set_normal_x(Surface self, IMP::Float t)"""
3285  return _IMP_core.Surface_set_normal_x(self, t)
3286 
3287  def get_normal_y(self):
3288  r"""get_normal_y(Surface self) -> IMP::Float"""
3289  return _IMP_core.Surface_get_normal_y(self)
3290 
3291  def set_normal_y(self, t):
3292  r"""set_normal_y(Surface self, IMP::Float t)"""
3293  return _IMP_core.Surface_set_normal_y(self, t)
3294 
3295  def get_normal_z(self):
3296  r"""get_normal_z(Surface self) -> IMP::Float"""
3297  return _IMP_core.Surface_get_normal_z(self)
3298 
3299  def set_normal_z(self, t):
3300  r"""set_normal_z(Surface self, IMP::Float t)"""
3301  return _IMP_core.Surface_set_normal_z(self, t)
3302 
3303  @staticmethod
3304  def get_is_setup(*args):
3305  r"""
3306  get_is_setup(_ParticleAdaptor p) -> bool
3307  get_is_setup(Model m, ParticleIndex pi) -> bool
3308  """
3309  return _IMP_core.Surface_get_is_setup(*args)
3310 
3311  @staticmethod
3312  def get_normal_key(i):
3313  r"""get_normal_key(unsigned int i) -> FloatKey"""
3314  return _IMP_core.Surface_get_normal_key(i)
3315 
3316  def get_normal_derivative(self, i):
3317  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3318  return _IMP_core.Surface_get_normal_derivative(self, i)
3319 
3320  def get_normal_derivatives(self):
3321  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3322  return _IMP_core.Surface_get_normal_derivatives(self)
3323 
3324  def add_to_normal_derivative(self, i, v, d):
3325  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3326  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3327 
3328  def add_to_normal_derivatives(self, v, d):
3329  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3330  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3331 
3332  def get_normal_is_optimized(self):
3333  r"""get_normal_is_optimized(Surface self) -> bool"""
3334  return _IMP_core.Surface_get_normal_is_optimized(self)
3335 
3336  def set_normal_is_optimized(self, tf):
3337  r"""set_normal_is_optimized(Surface self, bool tf)"""
3338  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3339 
3340  def get_normal(self):
3341  r"""get_normal(Surface self) -> Vector3D"""
3342  return _IMP_core.Surface_get_normal(self)
3343 
3344  def set_normal(self, normal):
3345  r"""set_normal(Surface self, Vector3D normal)"""
3346  return _IMP_core.Surface_set_normal(self, normal)
3347 
3348  def reflect(self):
3349  r"""reflect(Surface self)"""
3350  return _IMP_core.Surface_reflect(self)
3351 
3352  def get_height(self, v):
3353  r"""get_height(Surface self, Vector3D v) -> double"""
3354  return _IMP_core.Surface_get_height(self, v)
3355 
3356  def get_depth(self, v):
3357  r"""get_depth(Surface self, Vector3D v) -> double"""
3358  return _IMP_core.Surface_get_depth(self, v)
3359 
3360  def get_distance_to(self, v):
3361  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3362  return _IMP_core.Surface_get_distance_to(self, v)
3363 
3364  def get_distance_to_center(self, v):
3365  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3366  return _IMP_core.Surface_get_distance_to_center(self, v)
3367 
3368  def set_reference_frame(self, rf):
3369  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3370  return _IMP_core.Surface_set_reference_frame(self, rf)
3371 
3372  def get_reference_frame(self):
3373  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3374  return _IMP_core.Surface_get_reference_frame(self)
3375 
3376  def get_plane(self):
3377  r"""get_plane(Surface self) -> Plane3D"""
3378  return _IMP_core.Surface_get_plane(self)
3379 
3380  def add_attribute(self, *args):
3381  r"""
3382  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3383  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3384  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3385  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3386  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3387  add_attribute(Surface self, StringKey a0, IMP::String a1)
3388  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3389  add_attribute(Surface self, ObjectKey a0, Object a1)
3390  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3391  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3392  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3393  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3394  """
3395  return _IMP_core.Surface_add_attribute(self, *args)
3396 
3397  def get_value(self, *args):
3398  r"""
3399  get_value(Surface self, FloatKey a0) -> IMP::Float
3400  get_value(Surface self, IntKey a0) -> IMP::Int
3401  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3402  get_value(Surface self, IntsKey a0) -> IMP::Ints
3403  get_value(Surface self, StringKey a0) -> IMP::String
3404  get_value(Surface self, ParticleIndexKey a0) -> Particle
3405  get_value(Surface self, ObjectKey a0) -> Object
3406  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3407  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3408  get_value(Surface self, SparseStringKey a0) -> IMP::String
3409  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3410  """
3411  return _IMP_core.Surface_get_value(self, *args)
3412 
3413  def set_value(self, *args):
3414  r"""
3415  set_value(Surface self, FloatKey a0, IMP::Float a1)
3416  set_value(Surface self, IntKey a0, IMP::Int a1)
3417  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3418  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3419  set_value(Surface self, StringKey a0, IMP::String a1)
3420  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3421  set_value(Surface self, ObjectKey a0, Object a1)
3422  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3423  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3424  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3425  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3426  """
3427  return _IMP_core.Surface_set_value(self, *args)
3428 
3429  def remove_attribute(self, *args):
3430  r"""
3431  remove_attribute(Surface self, FloatKey a0)
3432  remove_attribute(Surface self, IntKey a0)
3433  remove_attribute(Surface self, FloatsKey a0)
3434  remove_attribute(Surface self, IntsKey a0)
3435  remove_attribute(Surface self, StringKey a0)
3436  remove_attribute(Surface self, ParticleIndexKey a0)
3437  remove_attribute(Surface self, ObjectKey a0)
3438  remove_attribute(Surface self, SparseFloatKey a0)
3439  remove_attribute(Surface self, SparseIntKey a0)
3440  remove_attribute(Surface self, SparseStringKey a0)
3441  remove_attribute(Surface self, SparseParticleIndexKey a0)
3442  """
3443  return _IMP_core.Surface_remove_attribute(self, *args)
3444 
3445  def has_attribute(self, *args):
3446  r"""
3447  has_attribute(Surface self, FloatKey a0) -> bool
3448  has_attribute(Surface self, IntKey a0) -> bool
3449  has_attribute(Surface self, FloatsKey a0) -> bool
3450  has_attribute(Surface self, IntsKey a0) -> bool
3451  has_attribute(Surface self, StringKey a0) -> bool
3452  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3453  has_attribute(Surface self, ObjectKey a0) -> bool
3454  has_attribute(Surface self, SparseFloatKey a0) -> bool
3455  has_attribute(Surface self, SparseIntKey a0) -> bool
3456  has_attribute(Surface self, SparseStringKey a0) -> bool
3457  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3458  """
3459  return _IMP_core.Surface_has_attribute(self, *args)
3460 
3461  def get_derivative(self, a0):
3462  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3463  return _IMP_core.Surface_get_derivative(self, a0)
3464 
3465  def get_name(self):
3466  r"""get_name(Surface self) -> std::string"""
3467  return _IMP_core.Surface_get_name(self)
3468 
3469  def clear_caches(self):
3470  r"""clear_caches(Surface self)"""
3471  return _IMP_core.Surface_clear_caches(self)
3472 
3473  def set_name(self, a0):
3474  r"""set_name(Surface self, std::string a0)"""
3475  return _IMP_core.Surface_set_name(self, a0)
3476 
3477  def set_check_level(self, a0):
3478  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3479  return _IMP_core.Surface_set_check_level(self, a0)
3480 
3481  def add_to_derivative(self, a0, a1, a2):
3482  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3483  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3484 
3485  def set_is_optimized(self, a0, a1):
3486  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3487  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3488 
3489  def get_is_optimized(self, a0):
3490  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3491  return _IMP_core.Surface_get_is_optimized(self, a0)
3492 
3493  def get_check_level(self):
3494  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3495  return _IMP_core.Surface_get_check_level(self)
3496 
3497  def __eq__(self, *args):
3498  r"""
3499  __eq__(Surface self, Surface o) -> bool
3500  __eq__(Surface self, Particle d) -> bool
3501  """
3502  return _IMP_core.Surface___eq__(self, *args)
3503 
3504  def __ne__(self, *args):
3505  r"""
3506  __ne__(Surface self, Surface o) -> bool
3507  __ne__(Surface self, Particle d) -> bool
3508  """
3509  return _IMP_core.Surface___ne__(self, *args)
3510 
3511  def __le__(self, *args):
3512  r"""
3513  __le__(Surface self, Surface o) -> bool
3514  __le__(Surface self, Particle d) -> bool
3515  """
3516  return _IMP_core.Surface___le__(self, *args)
3517 
3518  def __lt__(self, *args):
3519  r"""
3520  __lt__(Surface self, Surface o) -> bool
3521  __lt__(Surface self, Particle d) -> bool
3522  """
3523  return _IMP_core.Surface___lt__(self, *args)
3524 
3525  def __ge__(self, *args):
3526  r"""
3527  __ge__(Surface self, Surface o) -> bool
3528  __ge__(Surface self, Particle d) -> bool
3529  """
3530  return _IMP_core.Surface___ge__(self, *args)
3531 
3532  def __gt__(self, *args):
3533  r"""
3534  __gt__(Surface self, Surface o) -> bool
3535  __gt__(Surface self, Particle d) -> bool
3536  """
3537  return _IMP_core.Surface___gt__(self, *args)
3538 
3539  def __hash__(self):
3540  r"""__hash__(Surface self) -> std::size_t"""
3541  return _IMP_core.Surface___hash__(self)
3542 
3543  def __str__(self):
3544  r"""__str__(Surface self) -> std::string"""
3545  return _IMP_core.Surface___str__(self)
3546 
3547  def __repr__(self):
3548  r"""__repr__(Surface self) -> std::string"""
3549  return _IMP_core.Surface___repr__(self)
3550 
3551  def _get_as_binary(self):
3552  r"""_get_as_binary(Surface self) -> PyObject *"""
3553  return _IMP_core.Surface__get_as_binary(self)
3554 
3555  def _set_from_binary(self, p):
3556  r"""_set_from_binary(Surface self, PyObject * p)"""
3557  return _IMP_core.Surface__set_from_binary(self, p)
3558 
3559  def __getstate__(self):
3560  p = self._get_as_binary()
3561  if len(self.__dict__) > 1:
3562  d = self.__dict__.copy()
3563  del d['this']
3564  p = (d, p)
3565  return p
3566 
3567  def __setstate__(self, p):
3568  if not hasattr(self, 'this'):
3569  self.__init__()
3570  if isinstance(p, tuple):
3571  d, p = p
3572  self.__dict__.update(d)
3573  return self._set_from_binary(p)
3574 
3575  __swig_destroy__ = _IMP_core.delete_Surface
3576 
3577 # Register Surface in _IMP_core:
3578 _IMP_core.Surface_swigregister(Surface)
3579 
3580 def get_height(*args):
3581  r"""
3582  get_height(Surface s, XYZR d) -> double
3583  get_height(Surface s, XYZ d) -> double
3584  """
3585  return _IMP_core.get_height(*args)
3586 
3587 def get_depth(*args):
3588  r"""
3589  get_depth(Surface s, XYZR d) -> double
3590  get_depth(Surface s, XYZ d) -> double
3591  """
3592  return _IMP_core.get_depth(*args)
3593 
3594 def get_distance(*args):
3595  r"""
3596  get_distance(XYZ a, XYZ b) -> double
3597  get_distance(XYZR a, XYZR b) -> double
3598  get_distance(Surface s, XYZR d) -> double
3599  get_distance(Surface s, XYZ d) -> double
3600  """
3601  return _IMP_core.get_distance(*args)
3602 class SurfaceGeometry(IMP.display.Geometry):
3603  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3604 
3605  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3606 
3607  def __init__(self, *args):
3608  r"""
3609  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3610  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3611  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3612  """
3613  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3614 
3615  def get_geometry(self):
3616  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3617  return _IMP_core.SurfaceGeometry_get_geometry(self)
3618 
3619  def set_geometry(self, s):
3620  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3621  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3622 
3623  def get_version_info(self):
3624  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3625  return _IMP_core.SurfaceGeometry_get_version_info(self)
3626  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3627 
3628  def __str__(self):
3629  r"""__str__(SurfaceGeometry self) -> std::string"""
3630  return _IMP_core.SurfaceGeometry___str__(self)
3631 
3632  def __repr__(self):
3633  r"""__repr__(SurfaceGeometry self) -> std::string"""
3634  return _IMP_core.SurfaceGeometry___repr__(self)
3635 
3636  @staticmethod
3637  def get_from(o):
3638  return _object_cast_to_SurfaceGeometry(o)
3639 
3640 
3641 # Register SurfaceGeometry in _IMP_core:
3642 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3643 
3644 def create_geometry(*args):
3645  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3646  return _IMP_core.create_geometry(*args)
3647 class SurfaceGeometryConstraint(IMP.Constraint):
3648  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3649 
3650  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3651 
3652  def __init__(self, s, g):
3653  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3654  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3655 
3656  def get_surface(self):
3657  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3658  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3659 
3660  def get_geometry(self):
3661  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3662  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3663 
3664  def do_get_inputs(self):
3665  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3666  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3667 
3668  def do_get_outputs(self):
3669  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3670  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3671 
3672  def get_version_info(self):
3673  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3674  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3675  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3676 
3677  def __str__(self):
3678  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3679  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3680 
3681  def __repr__(self):
3682  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3683  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3684 
3685  @staticmethod
3686  def get_from(o):
3687  return _object_cast_to_SurfaceGeometryConstraint(o)
3688 
3689 
3690 # Register SurfaceGeometryConstraint in _IMP_core:
3691 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3692 
3694  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3695  return _IMP_core.get_constrained_surface_geometry(*args)
3696 class LateralSurfaceConstraint(IMP.Constraint):
3697  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3698 
3699  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3700 
3701  def __init__(self, s, d):
3702  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3703  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3704 
3705  def do_get_inputs(self):
3706  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3707  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3708 
3709  def do_get_outputs(self):
3710  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3711  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3712 
3713  def get_version_info(self):
3714  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3715  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3716  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3717 
3718  def __str__(self):
3719  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3720  return _IMP_core.LateralSurfaceConstraint___str__(self)
3721 
3722  def __repr__(self):
3723  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3724  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3725 
3726  @staticmethod
3727  def get_from(o):
3728  return _object_cast_to_LateralSurfaceConstraint(o)
3729 
3730 
3731 # Register LateralSurfaceConstraint in _IMP_core:
3732 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3733 class AngleTripletScore(IMP.TripletScore):
3734  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3735 
3736  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3737 
3738  def __init__(self, *args):
3739  r"""
3740  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3741  __init__(AngleTripletScore self) -> AngleTripletScore
3742  """
3743  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3744 
3745  def do_get_inputs(self, m, pis):
3746  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3747  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3748 
3749  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3750  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"""
3751  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3752 
3753  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3754  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"""
3755  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3756 
3757  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3758  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"""
3759  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3760 
3761  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3762  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"""
3763  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3764 
3765  def get_version_info(self):
3766  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3767  return _IMP_core.AngleTripletScore_get_version_info(self)
3768  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3769 
3770  def __str__(self):
3771  r"""__str__(AngleTripletScore self) -> std::string"""
3772  return _IMP_core.AngleTripletScore___str__(self)
3773 
3774  def __repr__(self):
3775  r"""__repr__(AngleTripletScore self) -> std::string"""
3776  return _IMP_core.AngleTripletScore___repr__(self)
3777 
3778  @staticmethod
3779  def get_from(o):
3780  return _object_cast_to_AngleTripletScore(o)
3781 
3782 
3783  def _get_as_binary(self):
3784  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3785  return _IMP_core.AngleTripletScore__get_as_binary(self)
3786 
3787  def _set_from_binary(self, p):
3788  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3789  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3790 
3791  def __getstate__(self):
3792  p = self._get_as_binary()
3793  if len(self.__dict__) > 1:
3794  d = self.__dict__.copy()
3795  del d['this']
3796  p = (d, p)
3797  return p
3798 
3799  def __setstate__(self, p):
3800  if not hasattr(self, 'this'):
3801  self.__init__()
3802  if isinstance(p, tuple):
3803  d, p = p
3804  self.__dict__.update(d)
3805  return self._set_from_binary(p)
3806 
3807 
3808 # Register AngleTripletScore in _IMP_core:
3809 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3810 class BallMover(MonteCarloMover):
3811  r"""Proxy of C++ IMP::core::BallMover class."""
3812 
3813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3814 
3815  def __init__(self, *args):
3816  r"""
3817  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3818  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3819  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3820  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3821  __init__(BallMover self) -> BallMover
3822  """
3823  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3824 
3825  def set_radius(self, radius):
3826  r"""set_radius(BallMover self, IMP::Float radius)"""
3827  return _IMP_core.BallMover_set_radius(self, radius)
3828 
3829  def get_radius(self):
3830  r"""get_radius(BallMover self) -> IMP::Float"""
3831  return _IMP_core.BallMover_get_radius(self)
3832 
3833  def get_indexes(self):
3834  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3835  return _IMP_core.BallMover_get_indexes(self)
3836 
3837  def get_keys(self):
3838  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3839  return _IMP_core.BallMover_get_keys(self)
3840 
3841  def get_version_info(self):
3842  r"""get_version_info(BallMover self) -> VersionInfo"""
3843  return _IMP_core.BallMover_get_version_info(self)
3844  __swig_destroy__ = _IMP_core.delete_BallMover
3845 
3846  def __str__(self):
3847  r"""__str__(BallMover self) -> std::string"""
3848  return _IMP_core.BallMover___str__(self)
3849 
3850  def __repr__(self):
3851  r"""__repr__(BallMover self) -> std::string"""
3852  return _IMP_core.BallMover___repr__(self)
3853 
3854  @staticmethod
3855  def get_from(o):
3856  return _object_cast_to_BallMover(o)
3857 
3858 
3859  def _get_as_binary(self):
3860  r"""_get_as_binary(BallMover self) -> PyObject *"""
3861  return _IMP_core.BallMover__get_as_binary(self)
3862 
3863  def _set_from_binary(self, p):
3864  r"""_set_from_binary(BallMover self, PyObject * p)"""
3865  return _IMP_core.BallMover__set_from_binary(self, p)
3866 
3867  def __getstate__(self):
3868  p = self._get_as_binary()
3869  if len(self.__dict__) > 1:
3870  d = self.__dict__.copy()
3871  del d['this']
3872  p = (d, p)
3873  return p
3874 
3875  def __setstate__(self, p):
3876  if not hasattr(self, 'this'):
3877  self.__init__()
3878  if isinstance(p, tuple):
3879  d, p = p
3880  self.__dict__.update(d)
3881  return self._set_from_binary(p)
3882 
3883 
3884  def _get_jax(self):
3885  import jax.random
3886  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3887  indexes = self.get_indexes()
3888  keys = frozenset(self.get_keys())
3889  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
3890  raise NotImplementedError("Only works for XYZ")
3891  radius = self.get_radius()
3892 
3893  def init_func(key):
3894  return key
3895 
3896  def propose_func(jm, key):
3897  key, subkey = jax.random.split(key)
3898  v = get_random_vector_in_3d_sphere(subkey, radius)
3899  jm['xyz'] = jm['xyz'].at[indexes].add(v)
3900  return jm, key, 1.0
3901  return self._wrap_jax(init_func, propose_func)
3902 
3903 
3904 # Register BallMover in _IMP_core:
3905 _IMP_core.BallMover_swigregister(BallMover)
3906 class SerialMover(MonteCarloMover):
3907  r"""Proxy of C++ IMP::core::SerialMover class."""
3908 
3909  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3910 
3911  def __init__(self, *args):
3912  r"""
3913  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3914  __init__(SerialMover self) -> SerialMover
3915  """
3916  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3917 
3918  def get_movers(self):
3919  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3920  return _IMP_core.SerialMover_get_movers(self)
3921 
3922  def get_version_info(self):
3923  r"""get_version_info(SerialMover self) -> VersionInfo"""
3924  return _IMP_core.SerialMover_get_version_info(self)
3925  __swig_destroy__ = _IMP_core.delete_SerialMover
3926 
3927  def __str__(self):
3928  r"""__str__(SerialMover self) -> std::string"""
3929  return _IMP_core.SerialMover___str__(self)
3930 
3931  def __repr__(self):
3932  r"""__repr__(SerialMover self) -> std::string"""
3933  return _IMP_core.SerialMover___repr__(self)
3934 
3935  @staticmethod
3936  def get_from(o):
3937  return _object_cast_to_SerialMover(o)
3938 
3939 
3940  def _get_as_binary(self):
3941  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3942  return _IMP_core.SerialMover__get_as_binary(self)
3943 
3944  def _set_from_binary(self, p):
3945  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3946  return _IMP_core.SerialMover__set_from_binary(self, p)
3947 
3948  def __getstate__(self):
3949  p = self._get_as_binary()
3950  if len(self.__dict__) > 1:
3951  d = self.__dict__.copy()
3952  del d['this']
3953  p = (d, p)
3954  return p
3955 
3956  def __setstate__(self, p):
3957  if not hasattr(self, 'this'):
3958  self.__init__()
3959  if isinstance(p, tuple):
3960  d, p = p
3961  self.__dict__.update(d)
3962  return self._set_from_binary(p)
3963 
3964 
3965  def _get_jax(self):
3966  import jax.random
3967  import jax.lax
3968  from IMP.core._jax_util import _SerialMover
3969  movers = [m.get_derived_object()._get_jax()
3970  for m in self.get_movers()]
3971 
3972  def sub_propose_func(jm, sms, i):
3973  """Call the propose_func of the ith mover"""
3974  jm, sms.mover_state[i], ratio = movers[i].propose_func(
3975  jm, sms.mover_state[i])
3976  return jm, sms, ratio
3977 
3978  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
3979  for i in range(len(movers))]
3980 
3981  def init_func(key):
3982  # Initialize all movers and store their state in ours
3983  mover_state = []
3984  for m in movers:
3985  key, subkey = jax.random.split(key)
3986  mover_state.append(m.init_func(subkey))
3987  return _SerialMover(imov=-1, mover_state=mover_state)
3988 
3989  def propose_func(jm, sms):
3990  sms.imov = jax.lax.min(sms.imov + 1, len(movers) - 1)
3991  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
3992  return self._wrap_jax(init_func, propose_func)
3993 
3994 
3995 # Register SerialMover in _IMP_core:
3996 _IMP_core.SerialMover_swigregister(SerialMover)
3997 class SubsetMover(MonteCarloMover):
3998  r"""Proxy of C++ IMP::core::SubsetMover class."""
3999 
4000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4001 
4002  def __init__(self, *args):
4003  r"""
4004  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4005  __init__(SubsetMover self) -> SubsetMover
4006  """
4007  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4008 
4009  def get_movers(self):
4010  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4011  return _IMP_core.SubsetMover_get_movers(self)
4012 
4013  def get_subset_size(self):
4014  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4015  return _IMP_core.SubsetMover_get_subset_size(self)
4016 
4017  def get_version_info(self):
4018  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4019  return _IMP_core.SubsetMover_get_version_info(self)
4020  __swig_destroy__ = _IMP_core.delete_SubsetMover
4021 
4022  def __str__(self):
4023  r"""__str__(SubsetMover self) -> std::string"""
4024  return _IMP_core.SubsetMover___str__(self)
4025 
4026  def __repr__(self):
4027  r"""__repr__(SubsetMover self) -> std::string"""
4028  return _IMP_core.SubsetMover___repr__(self)
4029 
4030  @staticmethod
4031  def get_from(o):
4032  return _object_cast_to_SubsetMover(o)
4033 
4034 
4035  def _get_as_binary(self):
4036  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4037  return _IMP_core.SubsetMover__get_as_binary(self)
4038 
4039  def _set_from_binary(self, p):
4040  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4041  return _IMP_core.SubsetMover__set_from_binary(self, p)
4042 
4043  def __getstate__(self):
4044  p = self._get_as_binary()
4045  if len(self.__dict__) > 1:
4046  d = self.__dict__.copy()
4047  del d['this']
4048  p = (d, p)
4049  return p
4050 
4051  def __setstate__(self, p):
4052  if not hasattr(self, 'this'):
4053  self.__init__()
4054  if isinstance(p, tuple):
4055  d, p = p
4056  self.__dict__.update(d)
4057  return self._set_from_binary(p)
4058 
4059 
4060 # Register SubsetMover in _IMP_core:
4061 _IMP_core.SubsetMover_swigregister(SubsetMover)
4062 class DirectionMover(MonteCarloMover):
4063  r"""Proxy of C++ IMP::core::DirectionMover class."""
4064 
4065  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4066 
4067  def __init__(self, *args):
4068  r"""
4069  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4070  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4071  __init__(DirectionMover self) -> DirectionMover
4072  """
4073  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4074 
4075  def set_maximum_rotation(self, mr):
4076  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4077  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4078 
4079  def set_reflect_probability(self, rp):
4080  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4081  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4082 
4083  def get_maximum_rotation(self):
4084  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4085  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4086 
4087  def get_reflect_probability(self):
4088  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4089  return _IMP_core.DirectionMover_get_reflect_probability(self)
4090 
4091  def get_direction(self):
4092  r"""get_direction(DirectionMover self) -> Direction"""
4093  return _IMP_core.DirectionMover_get_direction(self)
4094 
4095  def get_version_info(self):
4096  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4097  return _IMP_core.DirectionMover_get_version_info(self)
4098  __swig_destroy__ = _IMP_core.delete_DirectionMover
4099 
4100  def __str__(self):
4101  r"""__str__(DirectionMover self) -> std::string"""
4102  return _IMP_core.DirectionMover___str__(self)
4103 
4104  def __repr__(self):
4105  r"""__repr__(DirectionMover self) -> std::string"""
4106  return _IMP_core.DirectionMover___repr__(self)
4107 
4108  @staticmethod
4109  def get_from(o):
4110  return _object_cast_to_DirectionMover(o)
4111 
4112 
4113  def _get_as_binary(self):
4114  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4115  return _IMP_core.DirectionMover__get_as_binary(self)
4116 
4117  def _set_from_binary(self, p):
4118  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4119  return _IMP_core.DirectionMover__set_from_binary(self, p)
4120 
4121  def __getstate__(self):
4122  p = self._get_as_binary()
4123  if len(self.__dict__) > 1:
4124  d = self.__dict__.copy()
4125  del d['this']
4126  p = (d, p)
4127  return p
4128 
4129  def __setstate__(self, p):
4130  if not hasattr(self, 'this'):
4131  self.__init__()
4132  if isinstance(p, tuple):
4133  d, p = p
4134  self.__dict__.update(d)
4135  return self._set_from_binary(p)
4136 
4137 
4138 # Register DirectionMover in _IMP_core:
4139 _IMP_core.DirectionMover_swigregister(DirectionMover)
4140 class SurfaceMover(MonteCarloMover):
4141  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4142 
4143  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4144 
4145  def __init__(self, *args):
4146  r"""
4147  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4148  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4149  __init__(SurfaceMover self) -> SurfaceMover
4150  """
4151  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4152 
4153  def set_maximum_translation(self, mt):
4154  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4155  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4156 
4157  def set_maximum_rotation(self, mr):
4158  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4159  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4160 
4161  def set_reflect_probability(self, rp):
4162  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4163  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4164 
4165  def get_maximum_translation(self):
4166  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4167  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4168 
4169  def get_maximum_rotation(self):
4170  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4171  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4172 
4173  def get_reflect_probability(self):
4174  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4175  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4176 
4177  def get_surface(self):
4178  r"""get_surface(SurfaceMover self) -> Surface"""
4179  return _IMP_core.SurfaceMover_get_surface(self)
4180 
4181  def get_version_info(self):
4182  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4183  return _IMP_core.SurfaceMover_get_version_info(self)
4184  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4185 
4186  def __str__(self):
4187  r"""__str__(SurfaceMover self) -> std::string"""
4188  return _IMP_core.SurfaceMover___str__(self)
4189 
4190  def __repr__(self):
4191  r"""__repr__(SurfaceMover self) -> std::string"""
4192  return _IMP_core.SurfaceMover___repr__(self)
4193 
4194  @staticmethod
4195  def get_from(o):
4196  return _object_cast_to_SurfaceMover(o)
4197 
4198 
4199  def _get_as_binary(self):
4200  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4201  return _IMP_core.SurfaceMover__get_as_binary(self)
4202 
4203  def _set_from_binary(self, p):
4204  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4205  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4206 
4207  def __getstate__(self):
4208  p = self._get_as_binary()
4209  if len(self.__dict__) > 1:
4210  d = self.__dict__.copy()
4211  del d['this']
4212  p = (d, p)
4213  return p
4214 
4215  def __setstate__(self, p):
4216  if not hasattr(self, 'this'):
4217  self.__init__()
4218  if isinstance(p, tuple):
4219  d, p = p
4220  self.__dict__.update(d)
4221  return self._set_from_binary(p)
4222 
4223 
4224 # Register SurfaceMover in _IMP_core:
4225 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4226 class BoxSweepClosePairsFinder(ClosePairsFinder):
4227  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4228 
4229  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4230 
4231  def __init__(self):
4232  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4233  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4234 
4235  def get_close_pairs(self, *args):
4236  r"""
4237  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4238  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4239  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4240  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4241  """
4242  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4243 
4244  def do_get_inputs(self, m, pis):
4245  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4246  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4247 
4248  def get_version_info(self):
4249  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4250  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4251  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4252 
4253  def __str__(self):
4254  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4255  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4256 
4257  def __repr__(self):
4258  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4259  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4260 
4261  @staticmethod
4262  def get_from(o):
4263  return _object_cast_to_BoxSweepClosePairsFinder(o)
4264 
4265 
4266 # Register BoxSweepClosePairsFinder in _IMP_core:
4267 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4268 class CentroidOfRefined(IMP.SingletonModifier):
4269  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4270 
4271  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4272 
4273  def __init__(self, *args):
4274  r"""__init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined"""
4275  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4276 
4277  def get_refiner(self):
4278  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4279  return _IMP_core.CentroidOfRefined_get_refiner(self)
4280 
4281  def get_weight(self):
4282  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4283  return _IMP_core.CentroidOfRefined_get_weight(self)
4284 
4285  def get_keys(self):
4286  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4287  return _IMP_core.CentroidOfRefined_get_keys(self)
4288 
4289  def get_is_weight_null(self):
4290  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4291  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4292 
4293  def do_get_inputs(self, m, pis):
4294  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4295  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4296 
4297  def do_get_outputs(self, m, pis):
4298  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4299  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4300 
4301  def get_version_info(self):
4302  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4303  return _IMP_core.CentroidOfRefined_get_version_info(self)
4304  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4305 
4306  def __str__(self):
4307  r"""__str__(CentroidOfRefined self) -> std::string"""
4308  return _IMP_core.CentroidOfRefined___str__(self)
4309 
4310  def __repr__(self):
4311  r"""__repr__(CentroidOfRefined self) -> std::string"""
4312  return _IMP_core.CentroidOfRefined___repr__(self)
4313 
4314  @staticmethod
4315  def get_from(o):
4316  return _object_cast_to_CentroidOfRefined(o)
4317 
4318 
4319  def _get_jax(self, m, indexes):
4320  import jax.numpy as jnp
4321  refined = [
4322  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4323  for index in indexes]
4324 
4325  def apply_func_unweighted(jm):
4326  for ind, ref in zip(indexes, refined):
4327  xyz = jm['xyz']
4328  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4329  return jm
4330 
4331  def apply_func_weighted(jm, weight_key):
4332  for ind, ref in zip(indexes, refined):
4333  xyz = jm['xyz']
4334  weights = jm[weight_key][ref]
4335  jm['xyz'] = xyz.at[ind].set(
4336  jnp.average(xyz[ref], axis=0, weights=weights))
4337  return jm
4338 
4339  keys = frozenset(self.get_keys())
4340  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4341  raise NotImplementedError("Only works for XYZ")
4342 
4343  if self.get_is_weight_null():
4344  return self._wrap_jax(apply_func_unweighted)
4345  else:
4346  weight_key = self.get_weight()
4347  return self._wrap_jax(
4348  functools.partial(apply_func_weighted,
4349  weight_key=weight_key.get_string()),
4350  keys=(weight_key,))
4351 
4352 
4353 # Register CentroidOfRefined in _IMP_core:
4354 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4355 class Centroid(XYZ):
4356  r"""Proxy of C++ IMP::core::Centroid class."""
4357 
4358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4359 
4360  def get_constraint(self):
4361  r"""get_constraint(Centroid self) -> Constraint"""
4362  return _IMP_core.Centroid_get_constraint(self)
4363 
4364  def __init__(self, *args):
4365  r"""
4366  __init__(Centroid self) -> Centroid
4367  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4368  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4369  """
4370  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4371 
4372  def show(self, *args):
4373  r"""show(Centroid self, _ostream out=std::cout)"""
4374  return _IMP_core.Centroid_show(self, *args)
4375 
4376  @staticmethod
4377  def setup_particle(*args):
4378  r"""
4379  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4380  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4381  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4382  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4383  """
4384  return _IMP_core.Centroid_setup_particle(*args)
4385 
4386  @staticmethod
4387  def get_is_setup(*args):
4388  r"""
4389  get_is_setup(_ParticleAdaptor p) -> bool
4390  get_is_setup(Model m, ParticleIndex pi) -> bool
4391  """
4392  return _IMP_core.Centroid_get_is_setup(*args)
4393 
4394  def add_attribute(self, *args):
4395  r"""
4396  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4397  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4398  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4399  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4400  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4401  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4402  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4403  add_attribute(Centroid self, ObjectKey a0, Object a1)
4404  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4405  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4406  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4407  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4408  """
4409  return _IMP_core.Centroid_add_attribute(self, *args)
4410 
4411  def get_value(self, *args):
4412  r"""
4413  get_value(Centroid self, FloatKey a0) -> IMP::Float
4414  get_value(Centroid self, IntKey a0) -> IMP::Int
4415  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4416  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4417  get_value(Centroid self, StringKey a0) -> IMP::String
4418  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4419  get_value(Centroid self, ObjectKey a0) -> Object
4420  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4421  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4422  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4423  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4424  """
4425  return _IMP_core.Centroid_get_value(self, *args)
4426 
4427  def set_value(self, *args):
4428  r"""
4429  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4430  set_value(Centroid self, IntKey a0, IMP::Int a1)
4431  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4432  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4433  set_value(Centroid self, StringKey a0, IMP::String a1)
4434  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4435  set_value(Centroid self, ObjectKey a0, Object a1)
4436  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4437  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4438  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4439  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4440  """
4441  return _IMP_core.Centroid_set_value(self, *args)
4442 
4443  def remove_attribute(self, *args):
4444  r"""
4445  remove_attribute(Centroid self, FloatKey a0)
4446  remove_attribute(Centroid self, IntKey a0)
4447  remove_attribute(Centroid self, FloatsKey a0)
4448  remove_attribute(Centroid self, IntsKey a0)
4449  remove_attribute(Centroid self, StringKey a0)
4450  remove_attribute(Centroid self, ParticleIndexKey a0)
4451  remove_attribute(Centroid self, ObjectKey a0)
4452  remove_attribute(Centroid self, SparseFloatKey a0)
4453  remove_attribute(Centroid self, SparseIntKey a0)
4454  remove_attribute(Centroid self, SparseStringKey a0)
4455  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4456  """
4457  return _IMP_core.Centroid_remove_attribute(self, *args)
4458 
4459  def has_attribute(self, *args):
4460  r"""
4461  has_attribute(Centroid self, FloatKey a0) -> bool
4462  has_attribute(Centroid self, IntKey a0) -> bool
4463  has_attribute(Centroid self, FloatsKey a0) -> bool
4464  has_attribute(Centroid self, IntsKey a0) -> bool
4465  has_attribute(Centroid self, StringKey a0) -> bool
4466  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4467  has_attribute(Centroid self, ObjectKey a0) -> bool
4468  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4469  has_attribute(Centroid self, SparseIntKey a0) -> bool
4470  has_attribute(Centroid self, SparseStringKey a0) -> bool
4471  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4472  """
4473  return _IMP_core.Centroid_has_attribute(self, *args)
4474 
4475  def get_derivative(self, a0):
4476  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4477  return _IMP_core.Centroid_get_derivative(self, a0)
4478 
4479  def get_name(self):
4480  r"""get_name(Centroid self) -> std::string"""
4481  return _IMP_core.Centroid_get_name(self)
4482 
4483  def clear_caches(self):
4484  r"""clear_caches(Centroid self)"""
4485  return _IMP_core.Centroid_clear_caches(self)
4486 
4487  def set_name(self, a0):
4488  r"""set_name(Centroid self, std::string a0)"""
4489  return _IMP_core.Centroid_set_name(self, a0)
4490 
4491  def set_check_level(self, a0):
4492  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4493  return _IMP_core.Centroid_set_check_level(self, a0)
4494 
4495  def add_to_derivative(self, a0, a1, a2):
4496  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4497  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4498 
4499  def set_is_optimized(self, a0, a1):
4500  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4501  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4502 
4503  def get_is_optimized(self, a0):
4504  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4505  return _IMP_core.Centroid_get_is_optimized(self, a0)
4506 
4507  def get_check_level(self):
4508  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4509  return _IMP_core.Centroid_get_check_level(self)
4510 
4511  def __eq__(self, *args):
4512  r"""
4513  __eq__(Centroid self, Centroid o) -> bool
4514  __eq__(Centroid self, Particle d) -> bool
4515  """
4516  return _IMP_core.Centroid___eq__(self, *args)
4517 
4518  def __ne__(self, *args):
4519  r"""
4520  __ne__(Centroid self, Centroid o) -> bool
4521  __ne__(Centroid self, Particle d) -> bool
4522  """
4523  return _IMP_core.Centroid___ne__(self, *args)
4524 
4525  def __le__(self, *args):
4526  r"""
4527  __le__(Centroid self, Centroid o) -> bool
4528  __le__(Centroid self, Particle d) -> bool
4529  """
4530  return _IMP_core.Centroid___le__(self, *args)
4531 
4532  def __lt__(self, *args):
4533  r"""
4534  __lt__(Centroid self, Centroid o) -> bool
4535  __lt__(Centroid self, Particle d) -> bool
4536  """
4537  return _IMP_core.Centroid___lt__(self, *args)
4538 
4539  def __ge__(self, *args):
4540  r"""
4541  __ge__(Centroid self, Centroid o) -> bool
4542  __ge__(Centroid self, Particle d) -> bool
4543  """
4544  return _IMP_core.Centroid___ge__(self, *args)
4545 
4546  def __gt__(self, *args):
4547  r"""
4548  __gt__(Centroid self, Centroid o) -> bool
4549  __gt__(Centroid self, Particle d) -> bool
4550  """
4551  return _IMP_core.Centroid___gt__(self, *args)
4552 
4553  def __hash__(self):
4554  r"""__hash__(Centroid self) -> std::size_t"""
4555  return _IMP_core.Centroid___hash__(self)
4556 
4557  def __str__(self):
4558  r"""__str__(Centroid self) -> std::string"""
4559  return _IMP_core.Centroid___str__(self)
4560 
4561  def __repr__(self):
4562  r"""__repr__(Centroid self) -> std::string"""
4563  return _IMP_core.Centroid___repr__(self)
4564 
4565  def _get_as_binary(self):
4566  r"""_get_as_binary(Centroid self) -> PyObject *"""
4567  return _IMP_core.Centroid__get_as_binary(self)
4568 
4569  def _set_from_binary(self, p):
4570  r"""_set_from_binary(Centroid self, PyObject * p)"""
4571  return _IMP_core.Centroid__set_from_binary(self, p)
4572 
4573  def __getstate__(self):
4574  p = self._get_as_binary()
4575  if len(self.__dict__) > 1:
4576  d = self.__dict__.copy()
4577  del d['this']
4578  p = (d, p)
4579  return p
4580 
4581  def __setstate__(self, p):
4582  if not hasattr(self, 'this'):
4583  self.__init__()
4584  if isinstance(p, tuple):
4585  d, p = p
4586  self.__dict__.update(d)
4587  return self._set_from_binary(p)
4588 
4589  __swig_destroy__ = _IMP_core.delete_Centroid
4590 
4591 # Register Centroid in _IMP_core:
4592 _IMP_core.Centroid_swigregister(Centroid)
4593 class ChecksScoreState(IMP.ScoreState):
4594  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4595 
4596  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4597 
4598  def __init__(self, *args):
4599  r"""
4600  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4601  __init__(ChecksScoreState self) -> ChecksScoreState
4602  """
4603  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4604 
4605  def get_number_of_checked(self):
4606  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4607  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4608 
4609  def do_before_evaluate(self):
4610  r"""do_before_evaluate(ChecksScoreState self)"""
4611  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4612 
4613  def do_after_evaluate(self, da):
4614  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4615  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4616 
4617  def do_get_outputs(self):
4618  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4619  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4620 
4621  def do_get_inputs(self):
4622  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4623  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4624 
4625  def get_version_info(self):
4626  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4627  return _IMP_core.ChecksScoreState_get_version_info(self)
4628  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4629 
4630  def __str__(self):
4631  r"""__str__(ChecksScoreState self) -> std::string"""
4632  return _IMP_core.ChecksScoreState___str__(self)
4633 
4634  def __repr__(self):
4635  r"""__repr__(ChecksScoreState self) -> std::string"""
4636  return _IMP_core.ChecksScoreState___repr__(self)
4637 
4638  @staticmethod
4639  def get_from(o):
4640  return _object_cast_to_ChecksScoreState(o)
4641 
4642 
4643  def _get_as_binary(self):
4644  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4645  return _IMP_core.ChecksScoreState__get_as_binary(self)
4646 
4647  def _set_from_binary(self, p):
4648  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4649  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4650 
4651  def __getstate__(self):
4652  p = self._get_as_binary()
4653  if len(self.__dict__) > 1:
4654  d = self.__dict__.copy()
4655  del d['this']
4656  p = (d, p)
4657  return p
4658 
4659  def __setstate__(self, p):
4660  if not hasattr(self, 'this'):
4661  self.__init__()
4662  if isinstance(p, tuple):
4663  d, p = p
4664  self.__dict__.update(d)
4665  return self._set_from_binary(p)
4666 
4667 
4668 # Register ChecksScoreState in _IMP_core:
4669 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4670 class ChildrenRefiner(IMP.Refiner):
4671  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4672 
4673  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4674 
4675  def __init__(self, tr):
4676  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4677  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4678 
4679  def do_get_inputs(self, m, pis):
4680  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4681  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4682 
4683  def get_version_info(self):
4684  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4685  return _IMP_core.ChildrenRefiner_get_version_info(self)
4686  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4687 
4688  def __str__(self):
4689  r"""__str__(ChildrenRefiner self) -> std::string"""
4690  return _IMP_core.ChildrenRefiner___str__(self)
4691 
4692  def __repr__(self):
4693  r"""__repr__(ChildrenRefiner self) -> std::string"""
4694  return _IMP_core.ChildrenRefiner___repr__(self)
4695 
4696  @staticmethod
4697  def get_from(o):
4698  return _object_cast_to_ChildrenRefiner(o)
4699 
4700 
4701 # Register ChildrenRefiner in _IMP_core:
4702 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4703 class ClosedCubicSpline(IMP.UnaryFunction):
4704  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4705 
4706  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4707 
4708  def __init__(self, values, minrange, spacing):
4709  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4710  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4711 
4712  def get_version_info(self):
4713  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4714  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4715  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4716 
4717  def do_show(self, out):
4718  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4719  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4720 
4721  def get_minrange(self):
4722  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4723  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4724 
4725  def get_spacing(self):
4726  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4727  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4728 
4729  def get_values(self):
4730  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4731  return _IMP_core.ClosedCubicSpline_get_values(self)
4732 
4733  def get_second_derivatives(self):
4734  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4735  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4736 
4737  def __str__(self):
4738  r"""__str__(ClosedCubicSpline self) -> std::string"""
4739  return _IMP_core.ClosedCubicSpline___str__(self)
4740 
4741  def __repr__(self):
4742  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4743  return _IMP_core.ClosedCubicSpline___repr__(self)
4744 
4745  @staticmethod
4746  def get_from(o):
4747  return _object_cast_to_ClosedCubicSpline(o)
4748 
4749 
4750  def _get_jax(self):
4751  import jax.numpy as jnp
4752  from IMP.core._jax_util import _spline
4753  def score(feature, minrange, spacing, values, second_derivs):
4754  # determine bin index and thus the cubic fragment to use:
4755  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4756  # enforce periodicity - wrap around from n to 0
4757  highbin = jnp.remainder(lowbin + 1, len(values))
4758  return _spline(feature, minrange, lowbin, highbin, spacing,
4759  values, second_derivs)
4760  return functools.partial(
4761  score, minrange=self.get_minrange(),
4762  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4763  second_derivs=jnp.asarray(self.get_second_derivatives()))
4764 
4765 
4766 # Register ClosedCubicSpline in _IMP_core:
4767 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4768 class KClosePairsPairScore(IMP.PairScore):
4769  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4770 
4771  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4772 
4773  def __init__(self, f, r, k=1):
4774  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4775  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4776 
4777  def get_close_pairs(self, pp):
4778  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4779  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4780 
4781  def create_current_decomposition(self, m, vt):
4782  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4783  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4784 
4785  def do_get_inputs(self, m, pis):
4786  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4787  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4788 
4789  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4790  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"""
4791  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4792 
4793  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4794  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"""
4795  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4796 
4797  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4798  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"""
4799  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4800 
4801  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4802  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"""
4803  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4804 
4805  def get_version_info(self):
4806  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4807  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4808  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4809 
4810  def __str__(self):
4811  r"""__str__(KClosePairsPairScore self) -> std::string"""
4812  return _IMP_core.KClosePairsPairScore___str__(self)
4813 
4814  def __repr__(self):
4815  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4816  return _IMP_core.KClosePairsPairScore___repr__(self)
4817 
4818  @staticmethod
4819  def get_from(o):
4820  return _object_cast_to_KClosePairsPairScore(o)
4821 
4822 
4823 # Register KClosePairsPairScore in _IMP_core:
4824 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4825 class ClosePairsPairScore(IMP.PairScore):
4826  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4827 
4828  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4829 
4830  def __init__(self, f, r, max_distance):
4831  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4832  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4833 
4834  def get_close_pairs(self, pp):
4835  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4836  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4837 
4838  def create_current_decomposition(self, m, vt):
4839  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4840  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4841 
4842  def do_get_inputs(self, m, pis):
4843  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4844  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4845 
4846  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4847  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"""
4848  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4849 
4850  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4851  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"""
4852  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4853 
4854  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4855  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"""
4856  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4857 
4858  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4859  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"""
4860  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4861 
4862  def get_version_info(self):
4863  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4864  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4865  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4866 
4867  def __str__(self):
4868  r"""__str__(ClosePairsPairScore self) -> std::string"""
4869  return _IMP_core.ClosePairsPairScore___str__(self)
4870 
4871  def __repr__(self):
4872  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4873  return _IMP_core.ClosePairsPairScore___repr__(self)
4874 
4875  @staticmethod
4876  def get_from(o):
4877  return _object_cast_to_ClosePairsPairScore(o)
4878 
4879 
4880 # Register ClosePairsPairScore in _IMP_core:
4881 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4882 class ConjugateGradients(IMP.AttributeOptimizer):
4883  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4884 
4885  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4886 
4887  def __init__(self, *args):
4888  r"""
4889  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4890  __init__(ConjugateGradients self) -> ConjugateGradients
4891  """
4892  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4893 
4894  def set_gradient_threshold(self, t):
4895  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4896  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4897 
4898  def set_max_change(self, t):
4899  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4900  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4901 
4902  def do_optimize(self, max_steps):
4903  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4904  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4905 
4906  def get_version_info(self):
4907  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4908  return _IMP_core.ConjugateGradients_get_version_info(self)
4909  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4910 
4911  def __str__(self):
4912  r"""__str__(ConjugateGradients self) -> std::string"""
4913  return _IMP_core.ConjugateGradients___str__(self)
4914 
4915  def __repr__(self):
4916  r"""__repr__(ConjugateGradients self) -> std::string"""
4917  return _IMP_core.ConjugateGradients___repr__(self)
4918 
4919  @staticmethod
4920  def get_from(o):
4921  return _object_cast_to_ConjugateGradients(o)
4922 
4923 
4924  def _get_as_binary(self):
4925  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
4926  return _IMP_core.ConjugateGradients__get_as_binary(self)
4927 
4928  def _set_from_binary(self, p):
4929  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
4930  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
4931 
4932  def __getstate__(self):
4933  p = self._get_as_binary()
4934  if len(self.__dict__) > 1:
4935  d = self.__dict__.copy()
4936  del d['this']
4937  p = (d, p)
4938  return p
4939 
4940  def __setstate__(self, p):
4941  if not hasattr(self, 'this'):
4942  self.__init__()
4943  if isinstance(p, tuple):
4944  d, p = p
4945  self.__dict__.update(d)
4946  return self._set_from_binary(p)
4947 
4948 
4949 # Register ConjugateGradients in _IMP_core:
4950 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
4951 class ConnectivityRestraint(IMP.Restraint):
4952  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
4953 
4954  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4955 
4956  def __init__(self, ps, sc):
4957  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
4958  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
4959 
4960  def get_connected_index_pairs(self):
4961  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
4962  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
4963 
4964  def get_pair_score(self):
4965  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
4966  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
4967 
4968  def do_create_current_decomposition(self):
4969  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
4970  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
4971 
4972  def do_get_inputs(self):
4973  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
4974  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
4975 
4976  def get_version_info(self):
4977  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
4978  return _IMP_core.ConnectivityRestraint_get_version_info(self)
4979  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
4980 
4981  def __str__(self):
4982  r"""__str__(ConnectivityRestraint self) -> std::string"""
4983  return _IMP_core.ConnectivityRestraint___str__(self)
4984 
4985  def __repr__(self):
4986  r"""__repr__(ConnectivityRestraint self) -> std::string"""
4987  return _IMP_core.ConnectivityRestraint___repr__(self)
4988 
4989  @staticmethod
4990  def get_from(o):
4991  return _object_cast_to_ConnectivityRestraint(o)
4992 
4993 
4994 # Register ConnectivityRestraint in _IMP_core:
4995 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
4996 class ConstantRestraint(IMP.Restraint):
4997  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
4998 
4999  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5000 
5001  def __init__(self, *args):
5002  r"""
5003  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5004  __init__(ConstantRestraint self) -> ConstantRestraint
5005  """
5006  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5007 
5008  def do_get_inputs(self):
5009  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5010  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5011 
5012  def get_version_info(self):
5013  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5014  return _IMP_core.ConstantRestraint_get_version_info(self)
5015  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5016 
5017  def __str__(self):
5018  r"""__str__(ConstantRestraint self) -> std::string"""
5019  return _IMP_core.ConstantRestraint___str__(self)
5020 
5021  def __repr__(self):
5022  r"""__repr__(ConstantRestraint self) -> std::string"""
5023  return _IMP_core.ConstantRestraint___repr__(self)
5024 
5025  @staticmethod
5026  def get_from(o):
5027  return _object_cast_to_ConstantRestraint(o)
5028 
5029 
5030  def _get_as_binary(self):
5031  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5032  return _IMP_core.ConstantRestraint__get_as_binary(self)
5033 
5034  def _set_from_binary(self, p):
5035  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5036  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5037 
5038  def __getstate__(self):
5039  p = self._get_as_binary()
5040  if len(self.__dict__) > 1:
5041  d = self.__dict__.copy()
5042  del d['this']
5043  p = (d, p)
5044  return p
5045 
5046  def __setstate__(self, p):
5047  if not hasattr(self, 'this'):
5048  self.__init__()
5049  if isinstance(p, tuple):
5050  d, p = p
5051  self.__dict__.update(d)
5052  return self._set_from_binary(p)
5053 
5054 
5055 # Register ConstantRestraint in _IMP_core:
5056 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5057 class Cosine(IMP.UnaryFunction):
5058  r"""Proxy of C++ IMP::core::Cosine class."""
5059 
5060  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5061 
5062  def __init__(self, *args):
5063  r"""
5064  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5065  __init__(Cosine self) -> Cosine
5066  """
5067  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5068 
5069  def get_force_constant(self):
5070  r"""get_force_constant(Cosine self) -> IMP::Float"""
5071  return _IMP_core.Cosine_get_force_constant(self)
5072 
5073  def get_periodicity(self):
5074  r"""get_periodicity(Cosine self) -> int"""
5075  return _IMP_core.Cosine_get_periodicity(self)
5076 
5077  def get_phase(self):
5078  r"""get_phase(Cosine self) -> IMP::Float"""
5079  return _IMP_core.Cosine_get_phase(self)
5080 
5081  def get_version_info(self):
5082  r"""get_version_info(Cosine self) -> VersionInfo"""
5083  return _IMP_core.Cosine_get_version_info(self)
5084  __swig_destroy__ = _IMP_core.delete_Cosine
5085 
5086  def do_show(self, out):
5087  r"""do_show(Cosine self, _ostream out)"""
5088  return _IMP_core.Cosine_do_show(self, out)
5089 
5090  def __str__(self):
5091  r"""__str__(Cosine self) -> std::string"""
5092  return _IMP_core.Cosine___str__(self)
5093 
5094  def __repr__(self):
5095  r"""__repr__(Cosine self) -> std::string"""
5096  return _IMP_core.Cosine___repr__(self)
5097 
5098  @staticmethod
5099  def get_from(o):
5100  return _object_cast_to_Cosine(o)
5101 
5102 
5103  def _get_as_binary(self):
5104  r"""_get_as_binary(Cosine self) -> PyObject *"""
5105  return _IMP_core.Cosine__get_as_binary(self)
5106 
5107  def _set_from_binary(self, p):
5108  r"""_set_from_binary(Cosine self, PyObject * p)"""
5109  return _IMP_core.Cosine__set_from_binary(self, p)
5110 
5111  def __getstate__(self):
5112  p = self._get_as_binary()
5113  if len(self.__dict__) > 1:
5114  d = self.__dict__.copy()
5115  del d['this']
5116  p = (d, p)
5117  return p
5118 
5119  def __setstate__(self, p):
5120  if not hasattr(self, 'this'):
5121  self.__init__()
5122  if isinstance(p, tuple):
5123  d, p = p
5124  self.__dict__.update(d)
5125  return self._set_from_binary(p)
5126 
5127 
5128  def _get_jax(self):
5129  import jax.numpy as jnp
5130  def score(val, k, period, phase):
5131  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5132  return functools.partial(score, k=self.get_force_constant(),
5133  period=self.get_periodicity(),
5134  phase=self.get_phase())
5135 
5136 
5137 # Register Cosine in _IMP_core:
5138 _IMP_core.Cosine_swigregister(Cosine)
5139 class CoverRefined(IMP.SingletonModifier):
5140  r"""Proxy of C++ IMP::core::CoverRefined class."""
5141 
5142  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5143 
5144  def __init__(self, ref, slack=0):
5145  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5146  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5147 
5148  def set_slack(self, slack):
5149  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5150  return _IMP_core.CoverRefined_set_slack(self, slack)
5151 
5152  def do_get_inputs(self, m, pis):
5153  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5154  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5155 
5156  def do_get_outputs(self, m, pis):
5157  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5158  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5159 
5160  def get_version_info(self):
5161  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5162  return _IMP_core.CoverRefined_get_version_info(self)
5163  __swig_destroy__ = _IMP_core.delete_CoverRefined
5164 
5165  def __str__(self):
5166  r"""__str__(CoverRefined self) -> std::string"""
5167  return _IMP_core.CoverRefined___str__(self)
5168 
5169  def __repr__(self):
5170  r"""__repr__(CoverRefined self) -> std::string"""
5171  return _IMP_core.CoverRefined___repr__(self)
5172 
5173  @staticmethod
5174  def get_from(o):
5175  return _object_cast_to_CoverRefined(o)
5176 
5177 
5178 # Register CoverRefined in _IMP_core:
5179 _IMP_core.CoverRefined_swigregister(CoverRefined)
5180 class Cover(XYZR):
5181  r"""Proxy of C++ IMP::core::Cover class."""
5182 
5183  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5184 
5185  def get_constraint(self):
5186  r"""get_constraint(Cover self) -> Constraint"""
5187  return _IMP_core.Cover_get_constraint(self)
5188 
5189  def __init__(self, *args):
5190  r"""
5191  __init__(Cover self) -> Cover
5192  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5193  __init__(Cover self, _ParticleAdaptor d) -> Cover
5194  """
5195  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5196 
5197  def show(self, *args):
5198  r"""show(Cover self, _ostream out=std::cout)"""
5199  return _IMP_core.Cover_show(self, *args)
5200 
5201  @staticmethod
5202  def setup_particle(*args):
5203  r"""
5204  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5205  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5206  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5207  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5208  """
5209  return _IMP_core.Cover_setup_particle(*args)
5210 
5211  @staticmethod
5212  def get_is_setup(*args):
5213  r"""
5214  get_is_setup(_ParticleAdaptor p) -> bool
5215  get_is_setup(Model m, ParticleIndex pi) -> bool
5216  """
5217  return _IMP_core.Cover_get_is_setup(*args)
5218 
5219  def add_attribute(self, *args):
5220  r"""
5221  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5222  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5223  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5224  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5225  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5226  add_attribute(Cover self, StringKey a0, IMP::String a1)
5227  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5228  add_attribute(Cover self, ObjectKey a0, Object a1)
5229  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5230  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5231  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5232  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5233  """
5234  return _IMP_core.Cover_add_attribute(self, *args)
5235 
5236  def get_value(self, *args):
5237  r"""
5238  get_value(Cover self, FloatKey a0) -> IMP::Float
5239  get_value(Cover self, IntKey a0) -> IMP::Int
5240  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5241  get_value(Cover self, IntsKey a0) -> IMP::Ints
5242  get_value(Cover self, StringKey a0) -> IMP::String
5243  get_value(Cover self, ParticleIndexKey a0) -> Particle
5244  get_value(Cover self, ObjectKey a0) -> Object
5245  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5246  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5247  get_value(Cover self, SparseStringKey a0) -> IMP::String
5248  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5249  """
5250  return _IMP_core.Cover_get_value(self, *args)
5251 
5252  def set_value(self, *args):
5253  r"""
5254  set_value(Cover self, FloatKey a0, IMP::Float a1)
5255  set_value(Cover self, IntKey a0, IMP::Int a1)
5256  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5257  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5258  set_value(Cover self, StringKey a0, IMP::String a1)
5259  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5260  set_value(Cover self, ObjectKey a0, Object a1)
5261  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5262  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5263  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5264  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5265  """
5266  return _IMP_core.Cover_set_value(self, *args)
5267 
5268  def remove_attribute(self, *args):
5269  r"""
5270  remove_attribute(Cover self, FloatKey a0)
5271  remove_attribute(Cover self, IntKey a0)
5272  remove_attribute(Cover self, FloatsKey a0)
5273  remove_attribute(Cover self, IntsKey a0)
5274  remove_attribute(Cover self, StringKey a0)
5275  remove_attribute(Cover self, ParticleIndexKey a0)
5276  remove_attribute(Cover self, ObjectKey a0)
5277  remove_attribute(Cover self, SparseFloatKey a0)
5278  remove_attribute(Cover self, SparseIntKey a0)
5279  remove_attribute(Cover self, SparseStringKey a0)
5280  remove_attribute(Cover self, SparseParticleIndexKey a0)
5281  """
5282  return _IMP_core.Cover_remove_attribute(self, *args)
5283 
5284  def has_attribute(self, *args):
5285  r"""
5286  has_attribute(Cover self, FloatKey a0) -> bool
5287  has_attribute(Cover self, IntKey a0) -> bool
5288  has_attribute(Cover self, FloatsKey a0) -> bool
5289  has_attribute(Cover self, IntsKey a0) -> bool
5290  has_attribute(Cover self, StringKey a0) -> bool
5291  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5292  has_attribute(Cover self, ObjectKey a0) -> bool
5293  has_attribute(Cover self, SparseFloatKey a0) -> bool
5294  has_attribute(Cover self, SparseIntKey a0) -> bool
5295  has_attribute(Cover self, SparseStringKey a0) -> bool
5296  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5297  """
5298  return _IMP_core.Cover_has_attribute(self, *args)
5299 
5300  def get_derivative(self, a0):
5301  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5302  return _IMP_core.Cover_get_derivative(self, a0)
5303 
5304  def get_name(self):
5305  r"""get_name(Cover self) -> std::string"""
5306  return _IMP_core.Cover_get_name(self)
5307 
5308  def clear_caches(self):
5309  r"""clear_caches(Cover self)"""
5310  return _IMP_core.Cover_clear_caches(self)
5311 
5312  def set_name(self, a0):
5313  r"""set_name(Cover self, std::string a0)"""
5314  return _IMP_core.Cover_set_name(self, a0)
5315 
5316  def set_check_level(self, a0):
5317  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5318  return _IMP_core.Cover_set_check_level(self, a0)
5319 
5320  def add_to_derivative(self, a0, a1, a2):
5321  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5322  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5323 
5324  def set_is_optimized(self, a0, a1):
5325  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5326  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5327 
5328  def get_is_optimized(self, a0):
5329  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5330  return _IMP_core.Cover_get_is_optimized(self, a0)
5331 
5332  def get_check_level(self):
5333  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5334  return _IMP_core.Cover_get_check_level(self)
5335 
5336  def __eq__(self, *args):
5337  r"""
5338  __eq__(Cover self, Cover o) -> bool
5339  __eq__(Cover self, Particle d) -> bool
5340  """
5341  return _IMP_core.Cover___eq__(self, *args)
5342 
5343  def __ne__(self, *args):
5344  r"""
5345  __ne__(Cover self, Cover o) -> bool
5346  __ne__(Cover self, Particle d) -> bool
5347  """
5348  return _IMP_core.Cover___ne__(self, *args)
5349 
5350  def __le__(self, *args):
5351  r"""
5352  __le__(Cover self, Cover o) -> bool
5353  __le__(Cover self, Particle d) -> bool
5354  """
5355  return _IMP_core.Cover___le__(self, *args)
5356 
5357  def __lt__(self, *args):
5358  r"""
5359  __lt__(Cover self, Cover o) -> bool
5360  __lt__(Cover self, Particle d) -> bool
5361  """
5362  return _IMP_core.Cover___lt__(self, *args)
5363 
5364  def __ge__(self, *args):
5365  r"""
5366  __ge__(Cover self, Cover o) -> bool
5367  __ge__(Cover self, Particle d) -> bool
5368  """
5369  return _IMP_core.Cover___ge__(self, *args)
5370 
5371  def __gt__(self, *args):
5372  r"""
5373  __gt__(Cover self, Cover o) -> bool
5374  __gt__(Cover self, Particle d) -> bool
5375  """
5376  return _IMP_core.Cover___gt__(self, *args)
5377 
5378  def __hash__(self):
5379  r"""__hash__(Cover self) -> std::size_t"""
5380  return _IMP_core.Cover___hash__(self)
5381 
5382  def __str__(self):
5383  r"""__str__(Cover self) -> std::string"""
5384  return _IMP_core.Cover___str__(self)
5385 
5386  def __repr__(self):
5387  r"""__repr__(Cover self) -> std::string"""
5388  return _IMP_core.Cover___repr__(self)
5389 
5390  def _get_as_binary(self):
5391  r"""_get_as_binary(Cover self) -> PyObject *"""
5392  return _IMP_core.Cover__get_as_binary(self)
5393 
5394  def _set_from_binary(self, p):
5395  r"""_set_from_binary(Cover self, PyObject * p)"""
5396  return _IMP_core.Cover__set_from_binary(self, p)
5397 
5398  def __getstate__(self):
5399  p = self._get_as_binary()
5400  if len(self.__dict__) > 1:
5401  d = self.__dict__.copy()
5402  del d['this']
5403  p = (d, p)
5404  return p
5405 
5406  def __setstate__(self, p):
5407  if not hasattr(self, 'this'):
5408  self.__init__()
5409  if isinstance(p, tuple):
5410  d, p = p
5411  self.__dict__.update(d)
5412  return self._set_from_binary(p)
5413 
5414  __swig_destroy__ = _IMP_core.delete_Cover
5415 
5416 # Register Cover in _IMP_core:
5417 _IMP_core.Cover_swigregister(Cover)
5418 class DerivativesFromRefined(IMP.SingletonModifier):
5419  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5420 
5421  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5422 
5423  def __init__(self, *args):
5424  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5425  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5426 
5427  def do_get_inputs(self, m, pis):
5428  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5429  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5430 
5431  def do_get_outputs(self, m, pis):
5432  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5433  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5434 
5435  def get_version_info(self):
5436  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5437  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5438  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5439 
5440  def __str__(self):
5441  r"""__str__(DerivativesFromRefined self) -> std::string"""
5442  return _IMP_core.DerivativesFromRefined___str__(self)
5443 
5444  def __repr__(self):
5445  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5446  return _IMP_core.DerivativesFromRefined___repr__(self)
5447 
5448  @staticmethod
5449  def get_from(o):
5450  return _object_cast_to_DerivativesFromRefined(o)
5451 
5452 
5453 # Register DerivativesFromRefined in _IMP_core:
5454 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5455 class DerivativesToRefined(IMP.SingletonModifier):
5456  r"""Proxy of C++ IMP::core::DerivativesToRefined class."""
5457 
5458  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5459 
5460  def __init__(self, *args):
5461  r"""__init__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined"""
5462  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5463 
5464  def do_get_inputs(self, m, pis):
5465  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5466  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5467 
5468  def do_get_outputs(self, m, pis):
5469  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5470  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5471 
5472  def get_version_info(self):
5473  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5474  return _IMP_core.DerivativesToRefined_get_version_info(self)
5475  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5476 
5477  def __str__(self):
5478  r"""__str__(DerivativesToRefined self) -> std::string"""
5479  return _IMP_core.DerivativesToRefined___str__(self)
5480 
5481  def __repr__(self):
5482  r"""__repr__(DerivativesToRefined self) -> std::string"""
5483  return _IMP_core.DerivativesToRefined___repr__(self)
5484 
5485  @staticmethod
5486  def get_from(o):
5487  return _object_cast_to_DerivativesToRefined(o)
5488 
5489 
5490 # Register DerivativesToRefined in _IMP_core:
5491 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5492 class DiameterRestraint(IMP.Restraint):
5493  r"""Proxy of C++ IMP::core::DiameterRestraint class."""
5494 
5495  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5496 
5497  def __init__(self, f, sc, diameter):
5498  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5499  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5500 
5501  def do_get_inputs(self):
5502  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5503  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5504 
5505  def get_version_info(self):
5506  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5507  return _IMP_core.DiameterRestraint_get_version_info(self)
5508  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5509 
5510  def do_create_decomposition(self):
5511  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5512  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5513 
5514  def do_create_current_decomposition(self):
5515  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5516  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5517 
5518  def __str__(self):
5519  r"""__str__(DiameterRestraint self) -> std::string"""
5520  return _IMP_core.DiameterRestraint___str__(self)
5521 
5522  def __repr__(self):
5523  r"""__repr__(DiameterRestraint self) -> std::string"""
5524  return _IMP_core.DiameterRestraint___repr__(self)
5525 
5526  @staticmethod
5527  def get_from(o):
5528  return _object_cast_to_DiameterRestraint(o)
5529 
5530 
5531 # Register DiameterRestraint in _IMP_core:
5532 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5533 class Transform(IMP.SingletonModifier):
5534  r"""Proxy of C++ IMP::core::Transform class."""
5535 
5536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5537 
5538  def __init__(self, *args):
5539  r"""
5540  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5541  __init__(Transform self) -> Transform
5542  """
5543  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5544 
5545  def do_get_inputs(self, m, pis):
5546  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5547  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5548 
5549  def do_get_outputs(self, m, pis):
5550  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5551  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5552 
5553  def get_version_info(self):
5554  r"""get_version_info(Transform self) -> VersionInfo"""
5555  return _IMP_core.Transform_get_version_info(self)
5556  __swig_destroy__ = _IMP_core.delete_Transform
5557 
5558  def __str__(self):
5559  r"""__str__(Transform self) -> std::string"""
5560  return _IMP_core.Transform___str__(self)
5561 
5562  def __repr__(self):
5563  r"""__repr__(Transform self) -> std::string"""
5564  return _IMP_core.Transform___repr__(self)
5565 
5566  @staticmethod
5567  def get_from(o):
5568  return _object_cast_to_Transform(o)
5569 
5570 
5571  def _get_as_binary(self):
5572  r"""_get_as_binary(Transform self) -> PyObject *"""
5573  return _IMP_core.Transform__get_as_binary(self)
5574 
5575  def _set_from_binary(self, p):
5576  r"""_set_from_binary(Transform self, PyObject * p)"""
5577  return _IMP_core.Transform__set_from_binary(self, p)
5578 
5579  def __getstate__(self):
5580  p = self._get_as_binary()
5581  if len(self.__dict__) > 1:
5582  d = self.__dict__.copy()
5583  del d['this']
5584  p = (d, p)
5585  return p
5586 
5587  def __setstate__(self, p):
5588  if not hasattr(self, 'this'):
5589  self.__init__()
5590  if isinstance(p, tuple):
5591  d, p = p
5592  self.__dict__.update(d)
5593  return self._set_from_binary(p)
5594 
5595 
5596 # Register Transform in _IMP_core:
5597 _IMP_core.Transform_swigregister(Transform)
5598 class Reference(IMP.Decorator):
5599  r"""Proxy of C++ IMP::core::Reference class."""
5600 
5601  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5602 
5603  def __init__(self, *args):
5604  r"""
5605  __init__(Reference self) -> Reference
5606  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5607  __init__(Reference self, _ParticleAdaptor d) -> Reference
5608  """
5609  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5610 
5611  def show(self, *args):
5612  r"""show(Reference self, _ostream out=std::cout)"""
5613  return _IMP_core.Reference_show(self, *args)
5614 
5615  @staticmethod
5616  def setup_particle(*args):
5617  r"""
5618  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5619  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5620  """
5621  return _IMP_core.Reference_setup_particle(*args)
5622 
5623  def get_reference_particle(self):
5624  r"""get_reference_particle(Reference self) -> Particle"""
5625  return _IMP_core.Reference_get_reference_particle(self)
5626 
5627  @staticmethod
5628  def get_is_setup(*args):
5629  r"""
5630  get_is_setup(_ParticleAdaptor p) -> bool
5631  get_is_setup(Model m, ParticleIndex pi) -> bool
5632  """
5633  return _IMP_core.Reference_get_is_setup(*args)
5634 
5635  @staticmethod
5636  def get_reference_key():
5637  r"""get_reference_key() -> ParticleIndexKey"""
5638  return _IMP_core.Reference_get_reference_key()
5639 
5640  def add_attribute(self, *args):
5641  r"""
5642  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5643  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5644  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5645  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5646  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5647  add_attribute(Reference self, StringKey a0, IMP::String a1)
5648  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5649  add_attribute(Reference self, ObjectKey a0, Object a1)
5650  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5651  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5652  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5653  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5654  """
5655  return _IMP_core.Reference_add_attribute(self, *args)
5656 
5657  def get_value(self, *args):
5658  r"""
5659  get_value(Reference self, FloatKey a0) -> IMP::Float
5660  get_value(Reference self, IntKey a0) -> IMP::Int
5661  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5662  get_value(Reference self, IntsKey a0) -> IMP::Ints
5663  get_value(Reference self, StringKey a0) -> IMP::String
5664  get_value(Reference self, ParticleIndexKey a0) -> Particle
5665  get_value(Reference self, ObjectKey a0) -> Object
5666  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5667  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5668  get_value(Reference self, SparseStringKey a0) -> IMP::String
5669  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5670  """
5671  return _IMP_core.Reference_get_value(self, *args)
5672 
5673  def set_value(self, *args):
5674  r"""
5675  set_value(Reference self, FloatKey a0, IMP::Float a1)
5676  set_value(Reference self, IntKey a0, IMP::Int a1)
5677  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5678  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5679  set_value(Reference self, StringKey a0, IMP::String a1)
5680  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5681  set_value(Reference self, ObjectKey a0, Object a1)
5682  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5683  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5684  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5685  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5686  """
5687  return _IMP_core.Reference_set_value(self, *args)
5688 
5689  def remove_attribute(self, *args):
5690  r"""
5691  remove_attribute(Reference self, FloatKey a0)
5692  remove_attribute(Reference self, IntKey a0)
5693  remove_attribute(Reference self, FloatsKey a0)
5694  remove_attribute(Reference self, IntsKey a0)
5695  remove_attribute(Reference self, StringKey a0)
5696  remove_attribute(Reference self, ParticleIndexKey a0)
5697  remove_attribute(Reference self, ObjectKey a0)
5698  remove_attribute(Reference self, SparseFloatKey a0)
5699  remove_attribute(Reference self, SparseIntKey a0)
5700  remove_attribute(Reference self, SparseStringKey a0)
5701  remove_attribute(Reference self, SparseParticleIndexKey a0)
5702  """
5703  return _IMP_core.Reference_remove_attribute(self, *args)
5704 
5705  def has_attribute(self, *args):
5706  r"""
5707  has_attribute(Reference self, FloatKey a0) -> bool
5708  has_attribute(Reference self, IntKey a0) -> bool
5709  has_attribute(Reference self, FloatsKey a0) -> bool
5710  has_attribute(Reference self, IntsKey a0) -> bool
5711  has_attribute(Reference self, StringKey a0) -> bool
5712  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5713  has_attribute(Reference self, ObjectKey a0) -> bool
5714  has_attribute(Reference self, SparseFloatKey a0) -> bool
5715  has_attribute(Reference self, SparseIntKey a0) -> bool
5716  has_attribute(Reference self, SparseStringKey a0) -> bool
5717  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5718  """
5719  return _IMP_core.Reference_has_attribute(self, *args)
5720 
5721  def get_derivative(self, a0):
5722  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5723  return _IMP_core.Reference_get_derivative(self, a0)
5724 
5725  def get_name(self):
5726  r"""get_name(Reference self) -> std::string"""
5727  return _IMP_core.Reference_get_name(self)
5728 
5729  def clear_caches(self):
5730  r"""clear_caches(Reference self)"""
5731  return _IMP_core.Reference_clear_caches(self)
5732 
5733  def set_name(self, a0):
5734  r"""set_name(Reference self, std::string a0)"""
5735  return _IMP_core.Reference_set_name(self, a0)
5736 
5737  def set_check_level(self, a0):
5738  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5739  return _IMP_core.Reference_set_check_level(self, a0)
5740 
5741  def add_to_derivative(self, a0, a1, a2):
5742  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5743  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5744 
5745  def set_is_optimized(self, a0, a1):
5746  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5747  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5748 
5749  def get_is_optimized(self, a0):
5750  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5751  return _IMP_core.Reference_get_is_optimized(self, a0)
5752 
5753  def get_check_level(self):
5754  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5755  return _IMP_core.Reference_get_check_level(self)
5756 
5757  def __eq__(self, *args):
5758  r"""
5759  __eq__(Reference self, Reference o) -> bool
5760  __eq__(Reference self, Particle d) -> bool
5761  """
5762  return _IMP_core.Reference___eq__(self, *args)
5763 
5764  def __ne__(self, *args):
5765  r"""
5766  __ne__(Reference self, Reference o) -> bool
5767  __ne__(Reference self, Particle d) -> bool
5768  """
5769  return _IMP_core.Reference___ne__(self, *args)
5770 
5771  def __le__(self, *args):
5772  r"""
5773  __le__(Reference self, Reference o) -> bool
5774  __le__(Reference self, Particle d) -> bool
5775  """
5776  return _IMP_core.Reference___le__(self, *args)
5777 
5778  def __lt__(self, *args):
5779  r"""
5780  __lt__(Reference self, Reference o) -> bool
5781  __lt__(Reference self, Particle d) -> bool
5782  """
5783  return _IMP_core.Reference___lt__(self, *args)
5784 
5785  def __ge__(self, *args):
5786  r"""
5787  __ge__(Reference self, Reference o) -> bool
5788  __ge__(Reference self, Particle d) -> bool
5789  """
5790  return _IMP_core.Reference___ge__(self, *args)
5791 
5792  def __gt__(self, *args):
5793  r"""
5794  __gt__(Reference self, Reference o) -> bool
5795  __gt__(Reference self, Particle d) -> bool
5796  """
5797  return _IMP_core.Reference___gt__(self, *args)
5798 
5799  def __hash__(self):
5800  r"""__hash__(Reference self) -> std::size_t"""
5801  return _IMP_core.Reference___hash__(self)
5802 
5803  def __str__(self):
5804  r"""__str__(Reference self) -> std::string"""
5805  return _IMP_core.Reference___str__(self)
5806 
5807  def __repr__(self):
5808  r"""__repr__(Reference self) -> std::string"""
5809  return _IMP_core.Reference___repr__(self)
5810 
5811  def _get_as_binary(self):
5812  r"""_get_as_binary(Reference self) -> PyObject *"""
5813  return _IMP_core.Reference__get_as_binary(self)
5814 
5815  def _set_from_binary(self, p):
5816  r"""_set_from_binary(Reference self, PyObject * p)"""
5817  return _IMP_core.Reference__set_from_binary(self, p)
5818 
5819  def __getstate__(self):
5820  p = self._get_as_binary()
5821  if len(self.__dict__) > 1:
5822  d = self.__dict__.copy()
5823  del d['this']
5824  p = (d, p)
5825  return p
5826 
5827  def __setstate__(self, p):
5828  if not hasattr(self, 'this'):
5829  self.__init__()
5830  if isinstance(p, tuple):
5831  d, p = p
5832  self.__dict__.update(d)
5833  return self._set_from_binary(p)
5834 
5835  __swig_destroy__ = _IMP_core.delete_Reference
5836 
5837 # Register Reference in _IMP_core:
5838 _IMP_core.Reference_swigregister(Reference)
5839 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5840  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5841 
5842  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5843 
5844  def __init__(self, t, r):
5845  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5846  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5847 
5848  def do_get_inputs(self, m, pis):
5849  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5850  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5851 
5852  def do_get_outputs(self, m, pis):
5853  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5854  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5855 
5856  def get_version_info(self):
5857  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5858  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5859  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5860 
5861  def __str__(self):
5862  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5863  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5864 
5865  def __repr__(self):
5866  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5867  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5868 
5869  @staticmethod
5870  def get_from(o):
5871  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5872 
5873 
5874 # Register TransformationAndReflectionSymmetry in _IMP_core:
5875 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5876 class TransformationSymmetry(IMP.SingletonModifier):
5877  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5878 
5879  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5880 
5881  def __init__(self, *args):
5882  r"""
5883  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5884  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5885  """
5886  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5887 
5888  def get_transformation(self):
5889  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5890  return _IMP_core.TransformationSymmetry_get_transformation(self)
5891 
5892  def set_transformation(self, t):
5893  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
5894  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
5895 
5896  def do_get_inputs(self, m, pis):
5897  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5898  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
5899 
5900  def do_get_outputs(self, m, pis):
5901  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5902  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
5903 
5904  def get_version_info(self):
5905  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
5906  return _IMP_core.TransformationSymmetry_get_version_info(self)
5907  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
5908 
5909  def __str__(self):
5910  r"""__str__(TransformationSymmetry self) -> std::string"""
5911  return _IMP_core.TransformationSymmetry___str__(self)
5912 
5913  def __repr__(self):
5914  r"""__repr__(TransformationSymmetry self) -> std::string"""
5915  return _IMP_core.TransformationSymmetry___repr__(self)
5916 
5917  @staticmethod
5918  def get_from(o):
5919  return _object_cast_to_TransformationSymmetry(o)
5920 
5921 
5922 # Register TransformationSymmetry in _IMP_core:
5923 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
5924 class TransformationSymmetryMover(MonteCarloMover):
5925  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
5926 
5927  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5928 
5929  def __init__(self, m, symm, pivot, max_translation, max_rotation):
5930  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
5931  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
5932 
5933  def set_maximum_translation(self, mt):
5934  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
5935  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
5936 
5937  def set_maximum_rotation(self, mr):
5938  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
5939  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
5940 
5941  def get_maximum_translation(self):
5942  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
5943  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
5944 
5945  def get_maximum_rotation(self):
5946  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
5947  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
5948 
5949  def get_version_info(self):
5950  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
5951  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
5952  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
5953 
5954  def __str__(self):
5955  r"""__str__(TransformationSymmetryMover self) -> std::string"""
5956  return _IMP_core.TransformationSymmetryMover___str__(self)
5957 
5958  def __repr__(self):
5959  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
5960  return _IMP_core.TransformationSymmetryMover___repr__(self)
5961 
5962  @staticmethod
5963  def get_from(o):
5964  return _object_cast_to_TransformationSymmetryMover(o)
5965 
5966 
5967 # Register TransformationSymmetryMover in _IMP_core:
5968 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
5969 class DihedralRestraint(IMP.Restraint):
5970  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
5971 
5972  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5973 
5974  def __init__(self, m, score_func, p1, p2, p3, p4):
5975  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
5976  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
5977 
5978  def do_get_inputs(self):
5979  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
5980  return _IMP_core.DihedralRestraint_do_get_inputs(self)
5981 
5982  def get_version_info(self):
5983  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
5984  return _IMP_core.DihedralRestraint_get_version_info(self)
5985  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
5986 
5987  def __str__(self):
5988  r"""__str__(DihedralRestraint self) -> std::string"""
5989  return _IMP_core.DihedralRestraint___str__(self)
5990 
5991  def __repr__(self):
5992  r"""__repr__(DihedralRestraint self) -> std::string"""
5993  return _IMP_core.DihedralRestraint___repr__(self)
5994 
5995  @staticmethod
5996  def get_from(o):
5997  return _object_cast_to_DihedralRestraint(o)
5998 
5999 
6000 # Register DihedralRestraint in _IMP_core:
6001 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6002 class DistancePairScore(IMP.PairScore):
6003  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6004 
6005  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6006 
6007  def __init__(self, *args):
6008  r"""
6009  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6010  __init__(DistancePairScore self) -> DistancePairScore
6011  """
6012  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6013 
6014  def do_get_inputs(self, m, pis):
6015  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6016  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6017 
6018  def get_score_functor(self, *args):
6019  r"""
6020  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6021  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6022  """
6023  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6024 
6025  def get_version_info(self):
6026  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6027  return _IMP_core.DistancePairScore_get_version_info(self)
6028  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6029 
6030  def __str__(self):
6031  r"""__str__(DistancePairScore self) -> std::string"""
6032  return _IMP_core.DistancePairScore___str__(self)
6033 
6034  def __repr__(self):
6035  r"""__repr__(DistancePairScore self) -> std::string"""
6036  return _IMP_core.DistancePairScore___repr__(self)
6037 
6038  @staticmethod
6039  def get_from(o):
6040  return _object_cast_to_DistancePairScore(o)
6041 
6042 
6043  def _get_as_binary(self):
6044  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6045  return _IMP_core.DistancePairScore__get_as_binary(self)
6046 
6047  def _set_from_binary(self, p):
6048  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6049  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6050 
6051  def __getstate__(self):
6052  p = self._get_as_binary()
6053  if len(self.__dict__) > 1:
6054  d = self.__dict__.copy()
6055  del d['this']
6056  p = (d, p)
6057  return p
6058 
6059  def __setstate__(self, p):
6060  if not hasattr(self, 'this'):
6061  self.__init__()
6062  if isinstance(p, tuple):
6063  d, p = p
6064  self.__dict__.update(d)
6065  return self._set_from_binary(p)
6066 
6067 
6068  def _get_jax(self, m, indexes):
6069  import jax.numpy as jnp
6070  def jax_score(jm, uf):
6071  xyzs = jm['xyz'][indexes]
6072  diff = xyzs[:,0] - xyzs[:,1]
6073  drs = jnp.linalg.norm(diff, axis=1)
6074  return uf(drs)
6075  sfnc = self.get_score_functor()
6076  uf = sfnc.get_unary_function().get_derived_object()
6077  f = functools.partial(jax_score, uf=uf._get_jax())
6078  return self._wrap_jax(m, f)
6079 
6080 
6081 # Register DistancePairScore in _IMP_core:
6082 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6083 class HarmonicDistancePairScore(IMP.PairScore):
6084  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6085 
6086  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6087 
6088  def __init__(self, *args):
6089  r"""
6090  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6091  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6092  """
6093  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6094 
6095  def do_get_inputs(self, m, pis):
6096  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6097  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6098 
6099  def get_score_functor(self, *args):
6100  r"""
6101  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6102  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6103  """
6104  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6105 
6106  def get_x0(self):
6107  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6108  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6109 
6110  def get_k(self):
6111  r"""get_k(HarmonicDistancePairScore self) -> double"""
6112  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6113 
6114  def get_version_info(self):
6115  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6116  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6117  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6118 
6119  def __str__(self):
6120  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6121  return _IMP_core.HarmonicDistancePairScore___str__(self)
6122 
6123  def __repr__(self):
6124  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6125  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6126 
6127  @staticmethod
6128  def get_from(o):
6129  return _object_cast_to_HarmonicDistancePairScore(o)
6130 
6131 
6132  def _get_as_binary(self):
6133  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6134  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6135 
6136  def _set_from_binary(self, p):
6137  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6138  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6139 
6140  def __getstate__(self):
6141  p = self._get_as_binary()
6142  if len(self.__dict__) > 1:
6143  d = self.__dict__.copy()
6144  del d['this']
6145  p = (d, p)
6146  return p
6147 
6148  def __setstate__(self, p):
6149  if not hasattr(self, 'this'):
6150  self.__init__()
6151  if isinstance(p, tuple):
6152  d, p = p
6153  self.__dict__.update(d)
6154  return self._set_from_binary(p)
6155 
6156 
6157  def _get_jax(self, m, indexes):
6158  import jax.numpy as jnp
6159  def jax_harmonic_distance_pair_score(jm, d, k):
6160  xyzs = jm['xyz'][indexes]
6161  diff = xyzs[:,0] - xyzs[:,1]
6162  drs = jnp.linalg.norm(diff, axis=1)
6163  return 0.5 * k * (d - drs)**2
6164  f = functools.partial(jax_harmonic_distance_pair_score,
6165  d=self.get_x0(), k=self.get_k())
6166  return self._wrap_jax(m, f)
6167 
6168 
6169 # Register HarmonicDistancePairScore in _IMP_core:
6170 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6171 class DistanceRestraint(IMP.Restraint):
6172  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6173 
6174  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6175 
6176  def __init__(self, *args):
6177  r"""
6178  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6179  __init__(DistanceRestraint self) -> DistanceRestraint
6180  """
6181  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6182 
6183  def get_score_object(self):
6184  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6185  return _IMP_core.DistanceRestraint_get_score_object(self)
6186 
6187  def get_index(self):
6188  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6189  return _IMP_core.DistanceRestraint_get_index(self)
6190 
6191  def get_version_info(self):
6192  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6193  return _IMP_core.DistanceRestraint_get_version_info(self)
6194  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6195 
6196  def __str__(self):
6197  r"""__str__(DistanceRestraint self) -> std::string"""
6198  return _IMP_core.DistanceRestraint___str__(self)
6199 
6200  def __repr__(self):
6201  r"""__repr__(DistanceRestraint self) -> std::string"""
6202  return _IMP_core.DistanceRestraint___repr__(self)
6203 
6204  @staticmethod
6205  def get_from(o):
6206  return _object_cast_to_DistanceRestraint(o)
6207 
6208 
6209  def _get_as_binary(self):
6210  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6211  return _IMP_core.DistanceRestraint__get_as_binary(self)
6212 
6213  def _set_from_binary(self, p):
6214  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6215  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6216 
6217  def __getstate__(self):
6218  p = self._get_as_binary()
6219  if len(self.__dict__) > 1:
6220  d = self.__dict__.copy()
6221  del d['this']
6222  p = (d, p)
6223  return p
6224 
6225  def __setstate__(self, p):
6226  if not hasattr(self, 'this'):
6227  self.__init__()
6228  if isinstance(p, tuple):
6229  d, p = p
6230  self.__dict__.update(d)
6231  return self._set_from_binary(p)
6232 
6233 
6234  def _get_jax(self):
6235  import jax.numpy as jnp
6236  ps = self.get_score_object()
6237  indexes = jnp.array([self.get_index()])
6238  ji = ps._get_jax(self.get_model(), indexes)
6239  return self._wrap_jax(ji.score_func)
6240 
6241 
6242 # Register DistanceRestraint in _IMP_core:
6243 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6244 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6245  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6246 
6247  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6248 
6249  def __init__(self, f, pt):
6250  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6251  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6252 
6253  def do_get_inputs(self, m, pis):
6254  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6255  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6256 
6257  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6258  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"""
6259  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6260 
6261  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6262  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"""
6263  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6264 
6265  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6266  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"""
6267  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6268 
6269  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6270  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"""
6271  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6272 
6273  def get_version_info(self):
6274  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6275  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6276  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6277 
6278  def __str__(self):
6279  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6280  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6281 
6282  def __repr__(self):
6283  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6284  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6285 
6286  @staticmethod
6287  def get_from(o):
6288  return _object_cast_to_SphereDistanceToSingletonScore(o)
6289 
6290 
6291 # Register SphereDistanceToSingletonScore in _IMP_core:
6292 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6293 class ExcludedVolumeRestraint(IMP.Restraint):
6294  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6295 
6296  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6297 
6298  def __init__(self, *args):
6299  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6300  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6301 
6302  def do_get_inputs(self):
6303  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6304  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6305 
6306  def get_version_info(self):
6307  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6308  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6309  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6310 
6311  def do_create_decomposition(self):
6312  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6313  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6314 
6315  def do_create_current_decomposition(self):
6316  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6317  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6318 
6319  def get_indexes(self):
6320  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6321  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6322  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)
6323  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6324  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6325  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6326 
6327  def remove_pair_filter(self, d):
6328  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6329  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6330 
6331  def _python_index_pair_filter(self, d, start, stop):
6332  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6333  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6334 
6335  def remove_pair_filters(self, d):
6336  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6337  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6338 
6339  def set_pair_filters(self, ps):
6340  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6341  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6342 
6343  def set_pair_filters_order(self, objs):
6344  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6345  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6346 
6347  def add_pair_filter(self, obj):
6348  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6349  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6350 
6351  def add_pair_filters(self, objs):
6352  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6353  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6354 
6355  def clear_pair_filters(self):
6356  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6357  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6358 
6359  def get_number_of_pair_filters(self):
6360  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6361  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6362 
6363  def get_has_pair_filters(self):
6364  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6365  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6366 
6367  def get_pair_filter(self, i):
6368  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6369  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6370 
6371  def get_pair_filters(self):
6372  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6373  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6374 
6375  def erase_pair_filter(self, i):
6376  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6377  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6378 
6379  def reserve_pair_filters(self, sz):
6380  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6381  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6382 
6383  def __str__(self):
6384  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6385  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6386 
6387  def __repr__(self):
6388  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6389  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6390 
6391  @staticmethod
6392  def get_from(o):
6393  return _object_cast_to_ExcludedVolumeRestraint(o)
6394 
6395 
6396 # Register ExcludedVolumeRestraint in _IMP_core:
6397 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6398 class FixedRefiner(IMP.Refiner):
6399  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6400 
6401  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6402 
6403  def __init__(self, *args):
6404  r"""
6405  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6406  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6407  """
6408  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6409 
6410  def do_get_inputs(self, m, pis):
6411  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6412  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6413 
6414  def get_version_info(self):
6415  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6416  return _IMP_core.FixedRefiner_get_version_info(self)
6417  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6418 
6419  def __str__(self):
6420  r"""__str__(FixedRefiner self) -> std::string"""
6421  return _IMP_core.FixedRefiner___str__(self)
6422 
6423  def __repr__(self):
6424  r"""__repr__(FixedRefiner self) -> std::string"""
6425  return _IMP_core.FixedRefiner___repr__(self)
6426 
6427  @staticmethod
6428  def get_from(o):
6429  return _object_cast_to_FixedRefiner(o)
6430 
6431 
6432 # Register FixedRefiner in _IMP_core:
6433 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6434 class GridClosePairsFinder(ClosePairsFinder):
6435  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6436 
6437  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6438 
6439  def __init__(self):
6440  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6441  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6442 
6443  def get_close_pairs(self, *args):
6444  r"""
6445  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6446  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6447  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6448  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6449  """
6450  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6451 
6452  def do_get_inputs(self, m, pis):
6453  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6454  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6455 
6456  def get_version_info(self):
6457  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6458  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6459  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6460 
6461  def __str__(self):
6462  r"""__str__(GridClosePairsFinder self) -> std::string"""
6463  return _IMP_core.GridClosePairsFinder___str__(self)
6464 
6465  def __repr__(self):
6466  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6467  return _IMP_core.GridClosePairsFinder___repr__(self)
6468 
6469  @staticmethod
6470  def get_from(o):
6471  return _object_cast_to_GridClosePairsFinder(o)
6472 
6473 
6474  def _get_as_binary(self):
6475  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6476  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6477 
6478  def _set_from_binary(self, p):
6479  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6480  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6481 
6482  def __getstate__(self):
6483  p = self._get_as_binary()
6484  if len(self.__dict__) > 1:
6485  d = self.__dict__.copy()
6486  del d['this']
6487  p = (d, p)
6488  return p
6489 
6490  def __setstate__(self, p):
6491  if not hasattr(self, 'this'):
6492  self.__init__()
6493  if isinstance(p, tuple):
6494  d, p = p
6495  self.__dict__.update(d)
6496  return self._set_from_binary(p)
6497 
6498 
6499 # Register GridClosePairsFinder in _IMP_core:
6500 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6501 class Harmonic(IMP.UnaryFunction):
6502  r"""Proxy of C++ IMP::core::Harmonic class."""
6503 
6504  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6505 
6506  def __init__(self, *args):
6507  r"""
6508  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6509  __init__(Harmonic self) -> Harmonic
6510  """
6511  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6512 
6513  def get_version_info(self):
6514  r"""get_version_info(Harmonic self) -> VersionInfo"""
6515  return _IMP_core.Harmonic_get_version_info(self)
6516  __swig_destroy__ = _IMP_core.delete_Harmonic
6517 
6518  def get_mean(self):
6519  r"""get_mean(Harmonic self) -> IMP::Float"""
6520  return _IMP_core.Harmonic_get_mean(self)
6521 
6522  def get_k(self):
6523  r"""get_k(Harmonic self) -> IMP::Float"""
6524  return _IMP_core.Harmonic_get_k(self)
6525 
6526  def set_mean(self, mean):
6527  r"""set_mean(Harmonic self, IMP::Float mean)"""
6528  return _IMP_core.Harmonic_set_mean(self, mean)
6529 
6530  def set_k(self, k):
6531  r"""set_k(Harmonic self, IMP::Float k)"""
6532  return _IMP_core.Harmonic_set_k(self, k)
6533 
6534  @staticmethod
6535  def get_k_from_standard_deviation(sd, t=297.15):
6536  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6537  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6538 
6539  def __str__(self):
6540  r"""__str__(Harmonic self) -> std::string"""
6541  return _IMP_core.Harmonic___str__(self)
6542 
6543  def __repr__(self):
6544  r"""__repr__(Harmonic self) -> std::string"""
6545  return _IMP_core.Harmonic___repr__(self)
6546 
6547  @staticmethod
6548  def get_from(o):
6549  return _object_cast_to_Harmonic(o)
6550 
6551 
6552  def _get_as_binary(self):
6553  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6554  return _IMP_core.Harmonic__get_as_binary(self)
6555 
6556  def _set_from_binary(self, p):
6557  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6558  return _IMP_core.Harmonic__set_from_binary(self, p)
6559 
6560  def __getstate__(self):
6561  p = self._get_as_binary()
6562  if len(self.__dict__) > 1:
6563  d = self.__dict__.copy()
6564  del d['this']
6565  p = (d, p)
6566  return p
6567 
6568  def __setstate__(self, p):
6569  if not hasattr(self, 'this'):
6570  self.__init__()
6571  if isinstance(p, tuple):
6572  d, p = p
6573  self.__dict__.update(d)
6574  return self._set_from_binary(p)
6575 
6576 
6577  def _get_jax(self):
6578  def score(val, mean, k):
6579  return 0.5 * k * (mean - val) ** 2
6580  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6581 
6582 
6583 # Register Harmonic in _IMP_core:
6584 _IMP_core.Harmonic_swigregister(Harmonic)
6585 class HarmonicWell(IMP.UnaryFunction):
6586  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6587 
6588  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6589 
6590  def __init__(self, well, k):
6591  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6592  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6593 
6594  def get_well(self):
6595  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6596  return _IMP_core.HarmonicWell_get_well(self)
6597 
6598  def get_k(self):
6599  r"""get_k(HarmonicWell self) -> double"""
6600  return _IMP_core.HarmonicWell_get_k(self)
6601 
6602  def get_version_info(self):
6603  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6604  return _IMP_core.HarmonicWell_get_version_info(self)
6605  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6606 
6607  def __str__(self):
6608  r"""__str__(HarmonicWell self) -> std::string"""
6609  return _IMP_core.HarmonicWell___str__(self)
6610 
6611  def __repr__(self):
6612  r"""__repr__(HarmonicWell self) -> std::string"""
6613  return _IMP_core.HarmonicWell___repr__(self)
6614 
6615  @staticmethod
6616  def get_from(o):
6617  return _object_cast_to_HarmonicWell(o)
6618 
6619 
6620  def _get_jax(self):
6621  import jax.numpy as jnp
6622  def score(val, lb, ub, k):
6623  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6624  well = self.get_well()
6625  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6626 
6627 
6628 # Register HarmonicWell in _IMP_core:
6629 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6630 class HarmonicLowerBound(Harmonic):
6631  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6632 
6633  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6634 
6635  def __init__(self, *args):
6636  r"""
6637  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6638  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6639  """
6640  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6641  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6642 
6643  def __str__(self):
6644  r"""__str__(HarmonicLowerBound self) -> std::string"""
6645  return _IMP_core.HarmonicLowerBound___str__(self)
6646 
6647  def __repr__(self):
6648  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6649  return _IMP_core.HarmonicLowerBound___repr__(self)
6650 
6651  @staticmethod
6652  def get_from(o):
6653  return _object_cast_to_HarmonicLowerBound(o)
6654 
6655 
6656  def _get_as_binary(self):
6657  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6658  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6659 
6660  def _set_from_binary(self, p):
6661  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6662  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6663 
6664  def __getstate__(self):
6665  p = self._get_as_binary()
6666  if len(self.__dict__) > 1:
6667  d = self.__dict__.copy()
6668  del d['this']
6669  p = (d, p)
6670  return p
6671 
6672  def __setstate__(self, p):
6673  if not hasattr(self, 'this'):
6674  self.__init__()
6675  if isinstance(p, tuple):
6676  d, p = p
6677  self.__dict__.update(d)
6678  return self._set_from_binary(p)
6679 
6680 
6681  def _get_jax(self):
6682  import jax.lax
6683  def score(val, mean, k):
6684  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6685  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6686 
6687 
6688 # Register HarmonicLowerBound in _IMP_core:
6689 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6690 class HarmonicUpperBound(Harmonic):
6691  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6692 
6693  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6694 
6695  def __init__(self, *args):
6696  r"""
6697  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6698  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6699  """
6700  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6701  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6702 
6703  def __str__(self):
6704  r"""__str__(HarmonicUpperBound self) -> std::string"""
6705  return _IMP_core.HarmonicUpperBound___str__(self)
6706 
6707  def __repr__(self):
6708  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6709  return _IMP_core.HarmonicUpperBound___repr__(self)
6710 
6711  @staticmethod
6712  def get_from(o):
6713  return _object_cast_to_HarmonicUpperBound(o)
6714 
6715 
6716  def _get_as_binary(self):
6717  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6718  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6719 
6720  def _set_from_binary(self, p):
6721  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6722  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6723 
6724  def __getstate__(self):
6725  p = self._get_as_binary()
6726  if len(self.__dict__) > 1:
6727  d = self.__dict__.copy()
6728  del d['this']
6729  p = (d, p)
6730  return p
6731 
6732  def __setstate__(self, p):
6733  if not hasattr(self, 'this'):
6734  self.__init__()
6735  if isinstance(p, tuple):
6736  d, p = p
6737  self.__dict__.update(d)
6738  return self._set_from_binary(p)
6739 
6740 
6741  def _get_jax(self):
6742  import jax.lax
6743  def score(val, mean, k):
6744  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6745  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6746 
6747 
6748 # Register HarmonicUpperBound in _IMP_core:
6749 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6750 class WeightedSum(IMP.UnaryFunction):
6751  r"""Proxy of C++ IMP::core::WeightedSum class."""
6752 
6753  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6754 
6755  def __init__(self, funcs, weights):
6756  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6757  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6758 
6759  def get_function_number(self):
6760  r"""get_function_number(WeightedSum self) -> unsigned int"""
6761  return _IMP_core.WeightedSum_get_function_number(self)
6762 
6763  def set_weights(self, weights):
6764  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6765  return _IMP_core.WeightedSum_set_weights(self, weights)
6766 
6767  def get_weights(self):
6768  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6769  return _IMP_core.WeightedSum_get_weights(self)
6770 
6771  def get_weight(self, i):
6772  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6773  return _IMP_core.WeightedSum_get_weight(self, i)
6774 
6775  def get_function(self, i):
6776  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6777  return _IMP_core.WeightedSum_get_function(self, i)
6778 
6779  def get_version_info(self):
6780  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6781  return _IMP_core.WeightedSum_get_version_info(self)
6782  __swig_destroy__ = _IMP_core.delete_WeightedSum
6783 
6784  def __str__(self):
6785  r"""__str__(WeightedSum self) -> std::string"""
6786  return _IMP_core.WeightedSum___str__(self)
6787 
6788  def __repr__(self):
6789  r"""__repr__(WeightedSum self) -> std::string"""
6790  return _IMP_core.WeightedSum___repr__(self)
6791 
6792  @staticmethod
6793  def get_from(o):
6794  return _object_cast_to_WeightedSum(o)
6795 
6796 
6797  def _get_jax(self):
6798  import jax.numpy as jnp
6799  def score(val, funcs, weights):
6800  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6801  nfunc = self.get_function_number()
6802  funcs = [self.get_function(i).get_derived_object()._get_jax()
6803  for i in range(nfunc)]
6804  return functools.partial(score, funcs=funcs,
6805  weights=self.get_weights())
6806 
6807 
6808 # Register WeightedSum in _IMP_core:
6809 _IMP_core.WeightedSum_swigregister(WeightedSum)
6810 class WeightedSumOfExponential(IMP.UnaryFunction):
6811  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6812 
6813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6814 
6815  def __init__(self, funcs, weights, denom=1.0):
6816  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6817  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6818 
6819  def get_function_number(self):
6820  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6821  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6822 
6823  def set_weights(self, weights):
6824  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6825  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6826 
6827  def get_weights(self):
6828  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6829  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6830 
6831  def get_weight(self, i):
6832  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6833  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6834 
6835  def get_function(self, i):
6836  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6837  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6838 
6839  def set_denominator(self, denom):
6840  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6841  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6842 
6843  def get_denominator(self):
6844  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6845  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6846 
6847  def get_version_info(self):
6848  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6849  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6850  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6851 
6852  def __str__(self):
6853  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6854  return _IMP_core.WeightedSumOfExponential___str__(self)
6855 
6856  def __repr__(self):
6857  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6858  return _IMP_core.WeightedSumOfExponential___repr__(self)
6859 
6860  @staticmethod
6861  def get_from(o):
6862  return _object_cast_to_WeightedSumOfExponential(o)
6863 
6864 
6865  def _get_jax(self):
6866  import jax.numpy as jnp
6867  def score(val, funcs, weights, denom):
6868  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
6869  for (f, weight) in zip(funcs, weights))
6870  return -jnp.log(exp_sum) * denom
6871  nfunc = self.get_function_number()
6872  funcs = [self.get_function(i).get_derived_object()._get_jax()
6873  for i in range(nfunc)]
6874  return functools.partial(score, funcs=funcs,
6875  weights=self.get_weights(),
6876  denom=self.get_denominator())
6877 
6878 
6879 # Register WeightedSumOfExponential in _IMP_core:
6880 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
6881 class MSConnectivityRestraint(IMP.Restraint):
6882  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
6883 
6884  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6885 
6886  def __init__(self, m, ps, eps=0.1):
6887  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
6888  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
6889 
6890  def add_type(self, ps):
6891  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
6892  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
6893 
6894  def add_composite(self, *args):
6895  r"""
6896  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
6897  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
6898  """
6899  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
6900 
6901  def get_connected_pairs(self):
6902  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
6903  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
6904 
6905  def get_pair_score(self):
6906  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
6907  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
6908 
6909  def do_create_current_decomposition(self):
6910  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
6911  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
6912 
6913  def do_get_inputs(self):
6914  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
6915  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
6916 
6917  def get_version_info(self):
6918  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
6919  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
6920  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
6921 
6922  def __str__(self):
6923  r"""__str__(MSConnectivityRestraint self) -> std::string"""
6924  return _IMP_core.MSConnectivityRestraint___str__(self)
6925 
6926  def __repr__(self):
6927  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
6928  return _IMP_core.MSConnectivityRestraint___repr__(self)
6929 
6930  @staticmethod
6931  def get_from(o):
6932  return _object_cast_to_MSConnectivityRestraint(o)
6933 
6934 
6935 # Register MSConnectivityRestraint in _IMP_core:
6936 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
6937 class HierarchyTraits(object):
6938  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
6939 
6940  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6941 
6942  def __init__(self, *args):
6943  r"""
6944  __init__(HierarchyTraits self) -> HierarchyTraits
6945  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
6946  """
6947  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
6948 
6949  def get_children_key(self):
6950  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
6951  return _IMP_core.HierarchyTraits_get_children_key(self)
6952 
6953  def get_parent_key(self):
6954  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
6955  return _IMP_core.HierarchyTraits_get_parent_key(self)
6956 
6957  def __eq__(self, o):
6958  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
6959  return _IMP_core.HierarchyTraits___eq__(self, o)
6960 
6961  def show(self, *args):
6962  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
6963  return _IMP_core.HierarchyTraits_show(self, *args)
6964 
6965  def __str__(self):
6966  r"""__str__(HierarchyTraits self) -> std::string"""
6967  return _IMP_core.HierarchyTraits___str__(self)
6968 
6969  def __repr__(self):
6970  r"""__repr__(HierarchyTraits self) -> std::string"""
6971  return _IMP_core.HierarchyTraits___repr__(self)
6972  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
6973 
6974 # Register HierarchyTraits in _IMP_core:
6975 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
6976 class Hierarchy(IMP.Decorator):
6977  r"""Proxy of C++ IMP::core::Hierarchy class."""
6978 
6979  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6980 
6981  def get_decorator_traits(self):
6982  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
6983  return _IMP_core.Hierarchy_get_decorator_traits(self)
6984 
6985  @staticmethod
6986  def get_default_decorator_traits():
6987  r"""get_default_decorator_traits() -> HierarchyTraits"""
6988  return _IMP_core.Hierarchy_get_default_decorator_traits()
6989 
6990  def __init__(self, *args):
6991  r"""
6992  __init__(Hierarchy self) -> Hierarchy
6993  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6994  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
6995  """
6996  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
6997 
6998  def show(self, *args):
6999  r"""show(Hierarchy self, _ostream out=std::cout)"""
7000  return _IMP_core.Hierarchy_show(self, *args)
7001 
7002  @staticmethod
7003  def setup_particle(*args):
7004  r"""
7005  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7006  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7007  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7008  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7009  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7010  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7011  """
7012  return _IMP_core.Hierarchy_setup_particle(*args)
7013 
7014  @staticmethod
7015  def get_is_setup(*args):
7016  r"""
7017  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7018  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7019  """
7020  return _IMP_core.Hierarchy_get_is_setup(*args)
7021 
7022  @staticmethod
7023  def get_changed_key():
7024  r"""get_changed_key() -> TriggerKey"""
7025  return _IMP_core.Hierarchy_get_changed_key()
7026 
7027  def get_parent(self):
7028  r"""get_parent(Hierarchy self) -> Hierarchy"""
7029  return _IMP_core.Hierarchy_get_parent(self)
7030 
7031  def get_number_of_children(self):
7032  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7033  return _IMP_core.Hierarchy_get_number_of_children(self)
7034 
7035  def get_child(self, i):
7036  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7037  return _IMP_core.Hierarchy_get_child(self, i)
7038 
7039  def get_children_indexes(self):
7040  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7041  return _IMP_core.Hierarchy_get_children_indexes(self)
7042 
7043  def get_children(self):
7044  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7045  return _IMP_core.Hierarchy_get_children(self)
7046 
7047  def remove_child(self, *args):
7048  r"""
7049  remove_child(Hierarchy self, unsigned int i)
7050  remove_child(Hierarchy self, Hierarchy h)
7051  """
7052  return _IMP_core.Hierarchy_remove_child(self, *args)
7053 
7054  def clear_children(self):
7055  r"""clear_children(Hierarchy self)"""
7056  return _IMP_core.Hierarchy_clear_children(self)
7057 
7058  def add_child(self, h):
7059  r"""add_child(Hierarchy self, Hierarchy h)"""
7060  return _IMP_core.Hierarchy_add_child(self, h)
7061 
7062  def add_child_at(self, h, pos):
7063  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7064  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7065 
7066  def get_child_index(self, *args):
7067  r"""
7068  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7069  get_child_index(Hierarchy self) -> int
7070  """
7071  return _IMP_core.Hierarchy_get_child_index(self, *args)
7072 
7073  @staticmethod
7074  def get_default_traits():
7075  r"""get_default_traits() -> HierarchyTraits"""
7076  return _IMP_core.Hierarchy_get_default_traits()
7077 
7078  def get_traits(self):
7079  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7080  return _IMP_core.Hierarchy_get_traits(self)
7081 
7082  def add_attribute(self, *args):
7083  r"""
7084  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7085  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7086  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7087  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7088  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7089  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7090  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7091  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7092  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7093  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7094  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7095  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7096  """
7097  return _IMP_core.Hierarchy_add_attribute(self, *args)
7098 
7099  def get_value(self, *args):
7100  r"""
7101  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7102  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7103  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7104  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7105  get_value(Hierarchy self, StringKey a0) -> IMP::String
7106  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7107  get_value(Hierarchy self, ObjectKey a0) -> Object
7108  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7109  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7110  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7111  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7112  """
7113  return _IMP_core.Hierarchy_get_value(self, *args)
7114 
7115  def set_value(self, *args):
7116  r"""
7117  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7118  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7119  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7120  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7121  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7122  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7123  set_value(Hierarchy self, ObjectKey a0, Object a1)
7124  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7125  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7126  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7127  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7128  """
7129  return _IMP_core.Hierarchy_set_value(self, *args)
7130 
7131  def remove_attribute(self, *args):
7132  r"""
7133  remove_attribute(Hierarchy self, FloatKey a0)
7134  remove_attribute(Hierarchy self, IntKey a0)
7135  remove_attribute(Hierarchy self, FloatsKey a0)
7136  remove_attribute(Hierarchy self, IntsKey a0)
7137  remove_attribute(Hierarchy self, StringKey a0)
7138  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7139  remove_attribute(Hierarchy self, ObjectKey a0)
7140  remove_attribute(Hierarchy self, SparseFloatKey a0)
7141  remove_attribute(Hierarchy self, SparseIntKey a0)
7142  remove_attribute(Hierarchy self, SparseStringKey a0)
7143  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7144  """
7145  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7146 
7147  def has_attribute(self, *args):
7148  r"""
7149  has_attribute(Hierarchy self, FloatKey a0) -> bool
7150  has_attribute(Hierarchy self, IntKey a0) -> bool
7151  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7152  has_attribute(Hierarchy self, IntsKey a0) -> bool
7153  has_attribute(Hierarchy self, StringKey a0) -> bool
7154  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7155  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7156  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7157  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7158  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7159  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7160  """
7161  return _IMP_core.Hierarchy_has_attribute(self, *args)
7162 
7163  def get_derivative(self, a0):
7164  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7165  return _IMP_core.Hierarchy_get_derivative(self, a0)
7166 
7167  def get_name(self):
7168  r"""get_name(Hierarchy self) -> std::string"""
7169  return _IMP_core.Hierarchy_get_name(self)
7170 
7171  def clear_caches(self):
7172  r"""clear_caches(Hierarchy self)"""
7173  return _IMP_core.Hierarchy_clear_caches(self)
7174 
7175  def set_name(self, a0):
7176  r"""set_name(Hierarchy self, std::string a0)"""
7177  return _IMP_core.Hierarchy_set_name(self, a0)
7178 
7179  def set_check_level(self, a0):
7180  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7181  return _IMP_core.Hierarchy_set_check_level(self, a0)
7182 
7183  def add_to_derivative(self, a0, a1, a2):
7184  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7185  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7186 
7187  def set_is_optimized(self, a0, a1):
7188  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7189  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7190 
7191  def get_is_optimized(self, a0):
7192  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7193  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7194 
7195  def get_check_level(self):
7196  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7197  return _IMP_core.Hierarchy_get_check_level(self)
7198 
7199  def __eq__(self, *args):
7200  r"""
7201  __eq__(Hierarchy self, Hierarchy o) -> bool
7202  __eq__(Hierarchy self, Particle d) -> bool
7203  """
7204  return _IMP_core.Hierarchy___eq__(self, *args)
7205 
7206  def __ne__(self, *args):
7207  r"""
7208  __ne__(Hierarchy self, Hierarchy o) -> bool
7209  __ne__(Hierarchy self, Particle d) -> bool
7210  """
7211  return _IMP_core.Hierarchy___ne__(self, *args)
7212 
7213  def __le__(self, *args):
7214  r"""
7215  __le__(Hierarchy self, Hierarchy o) -> bool
7216  __le__(Hierarchy self, Particle d) -> bool
7217  """
7218  return _IMP_core.Hierarchy___le__(self, *args)
7219 
7220  def __lt__(self, *args):
7221  r"""
7222  __lt__(Hierarchy self, Hierarchy o) -> bool
7223  __lt__(Hierarchy self, Particle d) -> bool
7224  """
7225  return _IMP_core.Hierarchy___lt__(self, *args)
7226 
7227  def __ge__(self, *args):
7228  r"""
7229  __ge__(Hierarchy self, Hierarchy o) -> bool
7230  __ge__(Hierarchy self, Particle d) -> bool
7231  """
7232  return _IMP_core.Hierarchy___ge__(self, *args)
7233 
7234  def __gt__(self, *args):
7235  r"""
7236  __gt__(Hierarchy self, Hierarchy o) -> bool
7237  __gt__(Hierarchy self, Particle d) -> bool
7238  """
7239  return _IMP_core.Hierarchy___gt__(self, *args)
7240 
7241  def __hash__(self):
7242  r"""__hash__(Hierarchy self) -> std::size_t"""
7243  return _IMP_core.Hierarchy___hash__(self)
7244 
7245  def __str__(self):
7246  r"""__str__(Hierarchy self) -> std::string"""
7247  return _IMP_core.Hierarchy___str__(self)
7248 
7249  def __repr__(self):
7250  r"""__repr__(Hierarchy self) -> std::string"""
7251  return _IMP_core.Hierarchy___repr__(self)
7252  __swig_destroy__ = _IMP_core.delete_Hierarchy
7253 
7254 # Register Hierarchy in _IMP_core:
7255 _IMP_core.Hierarchy_swigregister(Hierarchy)
7256 class HierarchyVisitor(object):
7257  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7258 
7259  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7260  __repr__ = _swig_repr
7261 
7262  def __init__(self):
7263  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7264  if self.__class__ == HierarchyVisitor:
7265  _self = None
7266  else:
7267  _self = self
7268  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7269 
7270  if self.__class__ != HierarchyVisitor:
7271  _director_objects.register(self)
7272 
7273 
7274 
7275 
7276  def __call__(self, p):
7277  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7278  return _IMP_core.HierarchyVisitor___call__(self, p)
7279  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7280  def __disown__(self):
7281  self.this.disown()
7282  _IMP_core.disown_HierarchyVisitor(self)
7283  return weakref.proxy(self)
7284 
7285 # Register HierarchyVisitor in _IMP_core:
7286 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7287 class ModifierVisitor(HierarchyVisitor):
7288  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7289 
7290  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7291  __repr__ = _swig_repr
7292 
7293  def __init__(self, sm):
7294  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7295  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7296  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7297 
7298 # Register ModifierVisitor in _IMP_core:
7299 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7300 class HierarchyCounter(HierarchyVisitor):
7301  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7302 
7303  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7304 
7305  def __init__(self):
7306  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7307  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7308 
7309  def get_count(self):
7310  r"""get_count(HierarchyCounter self) -> unsigned int"""
7311  return _IMP_core.HierarchyCounter_get_count(self)
7312 
7313  def show(self, *args):
7314  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7315  return _IMP_core.HierarchyCounter_show(self, *args)
7316 
7317  def __str__(self):
7318  r"""__str__(HierarchyCounter self) -> std::string"""
7319  return _IMP_core.HierarchyCounter___str__(self)
7320 
7321  def __repr__(self):
7322  r"""__repr__(HierarchyCounter self) -> std::string"""
7323  return _IMP_core.HierarchyCounter___repr__(self)
7324 
7325  def _get_as_binary(self):
7326  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7327  return _IMP_core.HierarchyCounter__get_as_binary(self)
7328 
7329  def _set_from_binary(self, p):
7330  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7331  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7332 
7333  def __getstate__(self):
7334  p = self._get_as_binary()
7335  if len(self.__dict__) > 1:
7336  d = self.__dict__.copy()
7337  del d['this']
7338  p = (d, p)
7339  return p
7340 
7341  def __setstate__(self, p):
7342  if not hasattr(self, 'this'):
7343  self.__init__()
7344  if isinstance(p, tuple):
7345  d, p = p
7346  self.__dict__.update(d)
7347  return self._set_from_binary(p)
7348 
7349  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7350 
7351 # Register HierarchyCounter in _IMP_core:
7352 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7353 
7354 def get_leaves(mhd):
7355  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7356  return _IMP_core.get_leaves(mhd)
7357 
7358 def get_internal(mhd):
7359  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7360  return _IMP_core.get_internal(mhd)
7361 
7362 def get_all_descendants(mhd):
7363  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7364  return _IMP_core.get_all_descendants(mhd)
7365 
7366 def get_root(h):
7367  r"""get_root(Hierarchy h) -> Hierarchy"""
7368  return _IMP_core.get_root(h)
7369 
7370 def visit_breadth_first(d, f):
7371  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7372  return _IMP_core.visit_breadth_first(d, f)
7373 
7374 def visit_depth_first(d, f):
7375  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7376  return _IMP_core.visit_depth_first(d, f)
7377 class LeavesRefiner(IMP.Refiner):
7378  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7379 
7380  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7381 
7382  def __init__(self, tr):
7383  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7384  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7385 
7386  def do_get_inputs(self, m, pis):
7387  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7388  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7389 
7390  def get_version_info(self):
7391  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7392  return _IMP_core.LeavesRefiner_get_version_info(self)
7393  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7394 
7395  def __str__(self):
7396  r"""__str__(LeavesRefiner self) -> std::string"""
7397  return _IMP_core.LeavesRefiner___str__(self)
7398 
7399  def __repr__(self):
7400  r"""__repr__(LeavesRefiner self) -> std::string"""
7401  return _IMP_core.LeavesRefiner___repr__(self)
7402 
7403  @staticmethod
7404  def get_from(o):
7405  return _object_cast_to_LeavesRefiner(o)
7406 
7407 
7408 # Register LeavesRefiner in _IMP_core:
7409 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7410 class Linear(IMP.UnaryFunction):
7411  r"""Proxy of C++ IMP::core::Linear class."""
7412 
7413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7414 
7415  def __init__(self, *args):
7416  r"""
7417  __init__(Linear self, double offset, double slope) -> Linear
7418  __init__(Linear self) -> Linear
7419  """
7420  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7421 
7422  def set_slope(self, f):
7423  r"""set_slope(Linear self, double f)"""
7424  return _IMP_core.Linear_set_slope(self, f)
7425 
7426  def get_slope(self):
7427  r"""get_slope(Linear self) -> double"""
7428  return _IMP_core.Linear_get_slope(self)
7429 
7430  def set_offset(self, f):
7431  r"""set_offset(Linear self, double f)"""
7432  return _IMP_core.Linear_set_offset(self, f)
7433 
7434  def get_offset(self):
7435  r"""get_offset(Linear self) -> double"""
7436  return _IMP_core.Linear_get_offset(self)
7437 
7438  def get_version_info(self):
7439  r"""get_version_info(Linear self) -> VersionInfo"""
7440  return _IMP_core.Linear_get_version_info(self)
7441  __swig_destroy__ = _IMP_core.delete_Linear
7442 
7443  def __str__(self):
7444  r"""__str__(Linear self) -> std::string"""
7445  return _IMP_core.Linear___str__(self)
7446 
7447  def __repr__(self):
7448  r"""__repr__(Linear self) -> std::string"""
7449  return _IMP_core.Linear___repr__(self)
7450 
7451  @staticmethod
7452  def get_from(o):
7453  return _object_cast_to_Linear(o)
7454 
7455 
7456  def _get_as_binary(self):
7457  r"""_get_as_binary(Linear self) -> PyObject *"""
7458  return _IMP_core.Linear__get_as_binary(self)
7459 
7460  def _set_from_binary(self, p):
7461  r"""_set_from_binary(Linear self, PyObject * p)"""
7462  return _IMP_core.Linear__set_from_binary(self, p)
7463 
7464  def __getstate__(self):
7465  p = self._get_as_binary()
7466  if len(self.__dict__) > 1:
7467  d = self.__dict__.copy()
7468  del d['this']
7469  p = (d, p)
7470  return p
7471 
7472  def __setstate__(self, p):
7473  if not hasattr(self, 'this'):
7474  self.__init__()
7475  if isinstance(p, tuple):
7476  d, p = p
7477  self.__dict__.update(d)
7478  return self._set_from_binary(p)
7479 
7480 
7481  def _get_jax(self):
7482  def score(val, slope, offset):
7483  return (val - offset) * slope
7484  return functools.partial(score, slope=self.get_slope(),
7485  offset=self.get_offset())
7486 
7487 
7488 # Register Linear in _IMP_core:
7489 _IMP_core.Linear_swigregister(Linear)
7490 class LogNormalMover(MonteCarloMover):
7491  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7492 
7493  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7494 
7495  def __init__(self, *args):
7496  r"""
7497  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7498  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7499  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7500  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7501  __init__(LogNormalMover self) -> LogNormalMover
7502  """
7503  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7504 
7505  def set_sigma(self, sigma):
7506  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7507  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7508 
7509  def get_sigma(self):
7510  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7511  return _IMP_core.LogNormalMover_get_sigma(self)
7512 
7513  def get_version_info(self):
7514  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7515  return _IMP_core.LogNormalMover_get_version_info(self)
7516  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7517 
7518  def __str__(self):
7519  r"""__str__(LogNormalMover self) -> std::string"""
7520  return _IMP_core.LogNormalMover___str__(self)
7521 
7522  def __repr__(self):
7523  r"""__repr__(LogNormalMover self) -> std::string"""
7524  return _IMP_core.LogNormalMover___repr__(self)
7525 
7526  @staticmethod
7527  def get_from(o):
7528  return _object_cast_to_LogNormalMover(o)
7529 
7530 
7531  def _get_as_binary(self):
7532  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7533  return _IMP_core.LogNormalMover__get_as_binary(self)
7534 
7535  def _set_from_binary(self, p):
7536  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7537  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7538 
7539  def __getstate__(self):
7540  p = self._get_as_binary()
7541  if len(self.__dict__) > 1:
7542  d = self.__dict__.copy()
7543  del d['this']
7544  p = (d, p)
7545  return p
7546 
7547  def __setstate__(self, p):
7548  if not hasattr(self, 'this'):
7549  self.__init__()
7550  if isinstance(p, tuple):
7551  d, p = p
7552  self.__dict__.update(d)
7553  return self._set_from_binary(p)
7554 
7555 
7556 # Register LogNormalMover in _IMP_core:
7557 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7558 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7559 
7560 class MonteCarlo(IMP.Optimizer):
7561  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7562 
7563  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7564 
7565  def __init__(self, m):
7566  r"""__init__(MonteCarlo self, Model m) -> MonteCarlo"""
7567  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(m))
7568 
7569  def get_version_info(self):
7570  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7571  return _IMP_core.MonteCarlo_get_version_info(self)
7572  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7573 
7574  def set_return_best(self, tf):
7575  r"""set_return_best(MonteCarlo self, bool tf)"""
7576  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7577 
7578  def get_return_best(self):
7579  r"""get_return_best(MonteCarlo self) -> bool"""
7580  return _IMP_core.MonteCarlo_get_return_best(self)
7581 
7582  def set_score_moved(self, mv):
7583  r"""set_score_moved(MonteCarlo self, bool mv)"""
7584  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7585 
7586  def set_kt(self, t):
7587  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7588  return _IMP_core.MonteCarlo_set_kt(self, t)
7589 
7590  def get_kt(self):
7591  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7592  return _IMP_core.MonteCarlo_get_kt(self)
7593 
7594  def get_last_accepted_energy(self):
7595  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7596  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7597 
7598  def set_last_accepted_energy(self, energy):
7599  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7600  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7601 
7602  def get_best_accepted_energy(self):
7603  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7604  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7605 
7606  def set_best_accepted_energy(self, energy):
7607  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7608  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7609 
7610  def get_number_of_downward_steps(self):
7611  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7612  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7613 
7614  def get_number_of_upward_steps(self):
7615  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7616  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7617 
7618  def get_number_of_proposed_steps(self):
7619  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7620  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7621 
7622  def get_number_of_accepted_steps(self):
7623  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7624  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7625 
7626  def set_number_of_downward_steps(self, nsteps):
7627  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7628  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7629 
7630  def set_number_of_upward_steps(self, nsteps):
7631  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7632  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7633 
7634  def set_number_of_rejected_steps(self, nsteps):
7635  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7636  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7637 
7638  def reset_statistics(self):
7639  r"""reset_statistics(MonteCarlo self)"""
7640  return _IMP_core.MonteCarlo_reset_statistics(self)
7641 
7642  def set_score_threshold(self, s):
7643  r"""set_score_threshold(MonteCarlo self, double s)"""
7644  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7645 
7646  def get_score_threshold(self):
7647  r"""get_score_threshold(MonteCarlo self) -> double"""
7648  return _IMP_core.MonteCarlo_get_score_threshold(self)
7649 
7650  def set_maximum_difference(self, d):
7651  r"""set_maximum_difference(MonteCarlo self, double d)"""
7652  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7653 
7654  def get_maximum_difference(self):
7655  r"""get_maximum_difference(MonteCarlo self) -> double"""
7656  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7657  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)
7658  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7659  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7660  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7661 
7662  def remove_mover(self, d):
7663  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7664  return _IMP_core.MonteCarlo_remove_mover(self, d)
7665 
7666  def _python_index_mover(self, d, start, stop):
7667  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7668  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7669 
7670  def remove_movers(self, d):
7671  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7672  return _IMP_core.MonteCarlo_remove_movers(self, d)
7673 
7674  def set_movers(self, ps):
7675  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7676  return _IMP_core.MonteCarlo_set_movers(self, ps)
7677 
7678  def set_movers_order(self, objs):
7679  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7680  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7681 
7682  def add_mover(self, obj):
7683  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7684  return _IMP_core.MonteCarlo_add_mover(self, obj)
7685 
7686  def add_movers(self, objs):
7687  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7688  return _IMP_core.MonteCarlo_add_movers(self, objs)
7689 
7690  def clear_movers(self):
7691  r"""clear_movers(MonteCarlo self)"""
7692  return _IMP_core.MonteCarlo_clear_movers(self)
7693 
7694  def get_number_of_movers(self):
7695  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7696  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7697 
7698  def get_has_movers(self):
7699  r"""get_has_movers(MonteCarlo self) -> bool"""
7700  return _IMP_core.MonteCarlo_get_has_movers(self)
7701 
7702  def get_mover(self, i):
7703  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7704  return _IMP_core.MonteCarlo_get_mover(self, i)
7705 
7706  def get_movers(self):
7707  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7708  return _IMP_core.MonteCarlo_get_movers(self)
7709 
7710  def erase_mover(self, i):
7711  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7712  return _IMP_core.MonteCarlo_erase_mover(self, i)
7713 
7714  def reserve_movers(self, sz):
7715  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7716  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7717 
7718  def __str__(self):
7719  r"""__str__(MonteCarlo self) -> std::string"""
7720  return _IMP_core.MonteCarlo___str__(self)
7721 
7722  def __repr__(self):
7723  r"""__repr__(MonteCarlo self) -> std::string"""
7724  return _IMP_core.MonteCarlo___repr__(self)
7725 
7726  @staticmethod
7727  def get_from(o):
7728  return _object_cast_to_MonteCarlo(o)
7729 
7730 
7731  def _get_jax(self):
7732  from IMP.core._jax_util import _MCJAXInfo
7733  return _MCJAXInfo(self)
7734 
7735  def _optimize_jax(self, max_steps):
7736  import IMP.core._jax_util
7737  return IMP.core._jax_util._mc_optimize(self, max_steps)
7738 
7739 
7740 # Register MonteCarlo in _IMP_core:
7741 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7742 class MonteCarloWithLocalOptimization(MonteCarlo):
7743  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7744 
7745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7746 
7747  def __init__(self, opt, steps):
7748  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7749  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7750 
7751  def get_number_of_steps(self):
7752  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7753  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7754 
7755  def get_local_optimizer(self):
7756  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7757  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7758  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7759 
7760  def __str__(self):
7761  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7762  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7763 
7764  def __repr__(self):
7765  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7766  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7767 
7768  @staticmethod
7769  def get_from(o):
7770  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7771 
7772 
7773 # Register MonteCarloWithLocalOptimization in _IMP_core:
7774 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7775 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7776  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7777 
7778  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7779 
7780  def __init__(self, opt, ns):
7781  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7782  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7783  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7784 
7785  def __str__(self):
7786  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7787  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7788 
7789  def __repr__(self):
7790  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7791  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7792 
7793  @staticmethod
7794  def get_from(o):
7795  return _object_cast_to_MonteCarloWithBasinHopping(o)
7796 
7797 
7798 # Register MonteCarloWithBasinHopping in _IMP_core:
7799 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7800 class NeighborsTable(IMP.ScoreState):
7801  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7802 
7803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7804 
7805  def __init__(self, *args):
7806  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7807  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
7808 
7809  def get_neighbors(self, pi):
7810  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7811  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
7812 
7813  def get_version_info(self):
7814  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
7815  return _IMP_core.NeighborsTable_get_version_info(self)
7816  __swig_destroy__ = _IMP_core.delete_NeighborsTable
7817 
7818  def __str__(self):
7819  r"""__str__(NeighborsTable self) -> std::string"""
7820  return _IMP_core.NeighborsTable___str__(self)
7821 
7822  def __repr__(self):
7823  r"""__repr__(NeighborsTable self) -> std::string"""
7824  return _IMP_core.NeighborsTable___repr__(self)
7825 
7826  @staticmethod
7827  def get_from(o):
7828  return _object_cast_to_NeighborsTable(o)
7829 
7830 
7831 # Register NeighborsTable in _IMP_core:
7832 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
7833 class NormalMover(MonteCarloMover):
7834  r"""Proxy of C++ IMP::core::NormalMover class."""
7835 
7836  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7837 
7838  def __init__(self, *args):
7839  r"""
7840  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
7841  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
7842  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
7843  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
7844  __init__(NormalMover self) -> NormalMover
7845  """
7846  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
7847 
7848  def set_sigma(self, sigma):
7849  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
7850  return _IMP_core.NormalMover_set_sigma(self, sigma)
7851 
7852  def get_sigma(self):
7853  r"""get_sigma(NormalMover self) -> IMP::Float"""
7854  return _IMP_core.NormalMover_get_sigma(self)
7855 
7856  def get_version_info(self):
7857  r"""get_version_info(NormalMover self) -> VersionInfo"""
7858  return _IMP_core.NormalMover_get_version_info(self)
7859  __swig_destroy__ = _IMP_core.delete_NormalMover
7860 
7861  def __str__(self):
7862  r"""__str__(NormalMover self) -> std::string"""
7863  return _IMP_core.NormalMover___str__(self)
7864 
7865  def __repr__(self):
7866  r"""__repr__(NormalMover self) -> std::string"""
7867  return _IMP_core.NormalMover___repr__(self)
7868 
7869  @staticmethod
7870  def get_from(o):
7871  return _object_cast_to_NormalMover(o)
7872 
7873 
7874  def _get_as_binary(self):
7875  r"""_get_as_binary(NormalMover self) -> PyObject *"""
7876  return _IMP_core.NormalMover__get_as_binary(self)
7877 
7878  def _set_from_binary(self, p):
7879  r"""_set_from_binary(NormalMover self, PyObject * p)"""
7880  return _IMP_core.NormalMover__set_from_binary(self, p)
7881 
7882  def __getstate__(self):
7883  p = self._get_as_binary()
7884  if len(self.__dict__) > 1:
7885  d = self.__dict__.copy()
7886  del d['this']
7887  p = (d, p)
7888  return p
7889 
7890  def __setstate__(self, p):
7891  if not hasattr(self, 'this'):
7892  self.__init__()
7893  if isinstance(p, tuple):
7894  d, p = p
7895  self.__dict__.update(d)
7896  return self._set_from_binary(p)
7897 
7898 
7899 # Register NormalMover in _IMP_core:
7900 _IMP_core.NormalMover_swigregister(NormalMover)
7901 class OpenCubicSpline(_OpenCubicSplineBase):
7902  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
7903 
7904  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7905 
7906  def __init__(self, values, minrange, spacing, extend=False):
7907  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
7908  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
7909 
7910  def get_minrange(self):
7911  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
7912  return _IMP_core.OpenCubicSpline_get_minrange(self)
7913 
7914  def get_spacing(self):
7915  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
7916  return _IMP_core.OpenCubicSpline_get_spacing(self)
7917 
7918  def get_values(self):
7919  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
7920  return _IMP_core.OpenCubicSpline_get_values(self)
7921 
7922  def get_extend(self):
7923  r"""get_extend(OpenCubicSpline self) -> bool"""
7924  return _IMP_core.OpenCubicSpline_get_extend(self)
7925 
7926  def get_second_derivatives(self):
7927  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
7928  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
7929 
7930  def __str__(self):
7931  r"""__str__(OpenCubicSpline self) -> std::string"""
7932  return _IMP_core.OpenCubicSpline___str__(self)
7933 
7934  def __repr__(self):
7935  r"""__repr__(OpenCubicSpline self) -> std::string"""
7936  return _IMP_core.OpenCubicSpline___repr__(self)
7937 
7938  @staticmethod
7939  def get_from(o):
7940  return _object_cast_to_OpenCubicSpline(o)
7941 
7942 
7943  def _get_jax(self):
7944  import jax.numpy as jnp
7945  from IMP.core._jax_util import _spline
7946  def score(feature, minrange, maxrange, spacing, values, second_derivs):
7947  # clip feature to range (extend=True behavior)
7948  feature = jnp.clip(feature, minrange, maxrange)
7949  # determine bin index and thus the cubic fragment to use:
7950  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
7951  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
7952  values, second_derivs)
7953  spacing = self.get_spacing()
7954  minrange = self.get_minrange()
7955  values = jnp.asarray(self.get_values())
7956  maxrange = minrange + spacing * (len(values) - 1)
7957  return functools.partial(
7958  score, minrange=minrange, maxrange=maxrange,
7959  spacing=spacing, values=values,
7960  second_derivs=jnp.asarray(self.get_second_derivatives()))
7961 
7962  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
7963 
7964 # Register OpenCubicSpline in _IMP_core:
7965 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
7966 class QuadraticClosePairsFinder(ClosePairsFinder):
7967  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
7968 
7969  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7970 
7971  def __init__(self):
7972  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
7973  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
7974 
7975  def get_are_close_and_filtered(self, *args):
7976  r"""
7977  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
7978  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
7979  """
7980  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
7981 
7982  def get_close_pairs(self, *args):
7983  r"""
7984  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7985  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
7986  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
7987  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
7988  """
7989  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
7990 
7991  def do_get_inputs(self, m, pis):
7992  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7993  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
7994 
7995  def get_version_info(self):
7996  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
7997  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
7998  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
7999 
8000  def __str__(self):
8001  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8002  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8003 
8004  def __repr__(self):
8005  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8006  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8007 
8008  @staticmethod
8009  def get_from(o):
8010  return _object_cast_to_QuadraticClosePairsFinder(o)
8011 
8012 
8013 # Register QuadraticClosePairsFinder in _IMP_core:
8014 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8015 class RefinedPairsPairScore(IMP.PairScore):
8016  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8017 
8018  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8019 
8020  def __init__(self, r, f):
8021  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8022  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8023 
8024  def do_get_inputs(self, m, pis):
8025  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8026  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8027 
8028  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8029  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"""
8030  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8031 
8032  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8033  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"""
8034  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8035 
8036  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8037  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"""
8038  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8039 
8040  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8041  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"""
8042  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8043 
8044  def get_version_info(self):
8045  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8046  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8047  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8048 
8049  def __str__(self):
8050  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8051  return _IMP_core.RefinedPairsPairScore___str__(self)
8052 
8053  def __repr__(self):
8054  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8055  return _IMP_core.RefinedPairsPairScore___repr__(self)
8056 
8057  @staticmethod
8058  def get_from(o):
8059  return _object_cast_to_RefinedPairsPairScore(o)
8060 
8061 
8062 # Register RefinedPairsPairScore in _IMP_core:
8063 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8064 class RigidBody(XYZ):
8065  r"""Proxy of C++ IMP::core::RigidBody class."""
8066 
8067  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8068 
8069  def get_rigid_members(self):
8070  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8071  return _IMP_core.RigidBody_get_rigid_members(self)
8072 
8073  @staticmethod
8074  def get_rotation_keys():
8075  r"""get_rotation_keys() -> IMP::FloatKeys"""
8076  return _IMP_core.RigidBody_get_rotation_keys()
8077 
8078  def get_member_particle_indexes(self):
8079  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8080  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8081 
8082  def get_body_member_particle_indexes(self):
8083  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8084  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8085 
8086  def get_member_indexes(self):
8087  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8088  return _IMP_core.RigidBody_get_member_indexes(self)
8089 
8090  def show(self, *args):
8091  r"""show(RigidBody self, _ostream out=std::cout)"""
8092  return _IMP_core.RigidBody_show(self, *args)
8093 
8094  @staticmethod
8095  def setup_particle(*args):
8096  r"""
8097  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8098  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8099  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8100  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8101  """
8102  return _IMP_core.RigidBody_setup_particle(*args)
8103 
8104  @staticmethod
8105  def teardown_particle(rb):
8106  r"""teardown_particle(RigidBody rb)"""
8107  return _IMP_core.RigidBody_teardown_particle(rb)
8108 
8109  def __init__(self, *args):
8110  r"""
8111  __init__(RigidBody self) -> RigidBody
8112  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8113  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8114  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8115  """
8116  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8117  __swig_destroy__ = _IMP_core.delete_RigidBody
8118 
8119  @staticmethod
8120  def get_is_setup(*args):
8121  r"""
8122  get_is_setup(_ParticleAdaptor p) -> bool
8123  get_is_setup(Model m, ParticleIndex pi) -> bool
8124  """
8125  return _IMP_core.RigidBody_get_is_setup(*args)
8126 
8127  def get_coordinates(self):
8128  r"""get_coordinates(RigidBody self) -> Vector3D"""
8129  return _IMP_core.RigidBody_get_coordinates(self)
8130 
8131  def get_rotation(self):
8132  r"""get_rotation(RigidBody self) -> Rotation3D"""
8133  return _IMP_core.RigidBody_get_rotation(self)
8134 
8135  def get_reference_frame(self):
8136  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8137  return _IMP_core.RigidBody_get_reference_frame(self)
8138 
8139  def set_reference_frame(self, tr):
8140  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8141  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8142 
8143  def set_reference_frame_lazy(self, tr):
8144  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8145  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8146 
8147  def set_reference_frame_from_members(self, members):
8148  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8149  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8150 
8151  def pull_back_members_adjoints(self, da):
8152  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8153  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8154 
8155  def pull_back_member_adjoints(self, pi, da):
8156  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8157  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8158 
8159  def pull_back_body_member_adjoints(self, pi, da):
8160  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8161  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8162 
8163  def add_to_derivatives(self, *args):
8164  r"""
8165  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D local_location, DerivativeAccumulator da)
8166  add_to_derivatives(RigidBody self, Vector3D local_derivative, Vector3D global_derivative, Vector3D local_location, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8167  """
8168  return _IMP_core.RigidBody_add_to_derivatives(self, *args)
8169 
8170  def add_to_rotational_derivatives(self, *args):
8171  r"""
8172  add_to_rotational_derivatives(RigidBody self, Vector4D other_qderiv, Rotation3D rot_other_to_local, Rotation3D rot_local_to_global, DerivativeAccumulator da)
8173  add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)
8174  """
8175  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, *args)
8176 
8177  def add_to_torque(self, torque_local, da):
8178  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8179  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8180 
8181  def get_torque(self):
8182  r"""get_torque(RigidBody self) -> Vector3D"""
8183  return _IMP_core.RigidBody_get_torque(self)
8184 
8185  def get_coordinates_are_optimized(self):
8186  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8187  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8188 
8189  def set_coordinates_are_optimized(self, tf):
8190  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8191  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8192 
8193  def normalize_rotation(self):
8194  r"""normalize_rotation(RigidBody self)"""
8195  return _IMP_core.RigidBody_normalize_rotation(self)
8196 
8197  def update_members(self):
8198  r"""update_members(RigidBody self)"""
8199  return _IMP_core.RigidBody_update_members(self)
8200 
8201  def get_rotational_derivatives(self):
8202  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8203  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8204 
8205  def get_number_of_members(self):
8206  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8207  return _IMP_core.RigidBody_get_number_of_members(self)
8208 
8209  def get_member(self, i):
8210  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8211  return _IMP_core.RigidBody_get_member(self, i)
8212 
8213  def add_member(self, p):
8214  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8215  return _IMP_core.RigidBody_add_member(self, p)
8216 
8217  def add_non_rigid_member(self, p):
8218  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8219  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8220 
8221  def set_is_rigid_member(self, pi, tf):
8222  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8223  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8224 
8225  def remove_member(self, p):
8226  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8227  return _IMP_core.RigidBody_remove_member(self, p)
8228 
8229  def add_attribute(self, *args):
8230  r"""
8231  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8232  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8233  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8234  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8235  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8236  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8237  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8238  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8239  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8240  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8241  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8242  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8243  """
8244  return _IMP_core.RigidBody_add_attribute(self, *args)
8245 
8246  def get_value(self, *args):
8247  r"""
8248  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8249  get_value(RigidBody self, IntKey a0) -> IMP::Int
8250  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8251  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8252  get_value(RigidBody self, StringKey a0) -> IMP::String
8253  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8254  get_value(RigidBody self, ObjectKey a0) -> Object
8255  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8256  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8257  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8258  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8259  """
8260  return _IMP_core.RigidBody_get_value(self, *args)
8261 
8262  def set_value(self, *args):
8263  r"""
8264  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8265  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8266  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8267  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8268  set_value(RigidBody self, StringKey a0, IMP::String a1)
8269  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8270  set_value(RigidBody self, ObjectKey a0, Object a1)
8271  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8272  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8273  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8274  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8275  """
8276  return _IMP_core.RigidBody_set_value(self, *args)
8277 
8278  def remove_attribute(self, *args):
8279  r"""
8280  remove_attribute(RigidBody self, FloatKey a0)
8281  remove_attribute(RigidBody self, IntKey a0)
8282  remove_attribute(RigidBody self, FloatsKey a0)
8283  remove_attribute(RigidBody self, IntsKey a0)
8284  remove_attribute(RigidBody self, StringKey a0)
8285  remove_attribute(RigidBody self, ParticleIndexKey a0)
8286  remove_attribute(RigidBody self, ObjectKey a0)
8287  remove_attribute(RigidBody self, SparseFloatKey a0)
8288  remove_attribute(RigidBody self, SparseIntKey a0)
8289  remove_attribute(RigidBody self, SparseStringKey a0)
8290  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8291  """
8292  return _IMP_core.RigidBody_remove_attribute(self, *args)
8293 
8294  def has_attribute(self, *args):
8295  r"""
8296  has_attribute(RigidBody self, FloatKey a0) -> bool
8297  has_attribute(RigidBody self, IntKey a0) -> bool
8298  has_attribute(RigidBody self, FloatsKey a0) -> bool
8299  has_attribute(RigidBody self, IntsKey a0) -> bool
8300  has_attribute(RigidBody self, StringKey a0) -> bool
8301  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8302  has_attribute(RigidBody self, ObjectKey a0) -> bool
8303  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8304  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8305  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8306  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8307  """
8308  return _IMP_core.RigidBody_has_attribute(self, *args)
8309 
8310  def get_derivative(self, a0):
8311  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8312  return _IMP_core.RigidBody_get_derivative(self, a0)
8313 
8314  def get_name(self):
8315  r"""get_name(RigidBody self) -> std::string"""
8316  return _IMP_core.RigidBody_get_name(self)
8317 
8318  def clear_caches(self):
8319  r"""clear_caches(RigidBody self)"""
8320  return _IMP_core.RigidBody_clear_caches(self)
8321 
8322  def set_name(self, a0):
8323  r"""set_name(RigidBody self, std::string a0)"""
8324  return _IMP_core.RigidBody_set_name(self, a0)
8325 
8326  def set_check_level(self, a0):
8327  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8328  return _IMP_core.RigidBody_set_check_level(self, a0)
8329 
8330  def add_to_derivative(self, a0, a1, a2):
8331  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8332  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8333 
8334  def set_is_optimized(self, a0, a1):
8335  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8336  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8337 
8338  def get_is_optimized(self, a0):
8339  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8340  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8341 
8342  def get_check_level(self):
8343  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8344  return _IMP_core.RigidBody_get_check_level(self)
8345 
8346  def __eq__(self, *args):
8347  r"""
8348  __eq__(RigidBody self, RigidBody o) -> bool
8349  __eq__(RigidBody self, Particle d) -> bool
8350  """
8351  return _IMP_core.RigidBody___eq__(self, *args)
8352 
8353  def __ne__(self, *args):
8354  r"""
8355  __ne__(RigidBody self, RigidBody o) -> bool
8356  __ne__(RigidBody self, Particle d) -> bool
8357  """
8358  return _IMP_core.RigidBody___ne__(self, *args)
8359 
8360  def __le__(self, *args):
8361  r"""
8362  __le__(RigidBody self, RigidBody o) -> bool
8363  __le__(RigidBody self, Particle d) -> bool
8364  """
8365  return _IMP_core.RigidBody___le__(self, *args)
8366 
8367  def __lt__(self, *args):
8368  r"""
8369  __lt__(RigidBody self, RigidBody o) -> bool
8370  __lt__(RigidBody self, Particle d) -> bool
8371  """
8372  return _IMP_core.RigidBody___lt__(self, *args)
8373 
8374  def __ge__(self, *args):
8375  r"""
8376  __ge__(RigidBody self, RigidBody o) -> bool
8377  __ge__(RigidBody self, Particle d) -> bool
8378  """
8379  return _IMP_core.RigidBody___ge__(self, *args)
8380 
8381  def __gt__(self, *args):
8382  r"""
8383  __gt__(RigidBody self, RigidBody o) -> bool
8384  __gt__(RigidBody self, Particle d) -> bool
8385  """
8386  return _IMP_core.RigidBody___gt__(self, *args)
8387 
8388  def __hash__(self):
8389  r"""__hash__(RigidBody self) -> std::size_t"""
8390  return _IMP_core.RigidBody___hash__(self)
8391 
8392  def __str__(self):
8393  r"""__str__(RigidBody self) -> std::string"""
8394  return _IMP_core.RigidBody___str__(self)
8395 
8396  def __repr__(self):
8397  r"""__repr__(RigidBody self) -> std::string"""
8398  return _IMP_core.RigidBody___repr__(self)
8399 
8400  def _get_as_binary(self):
8401  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8402  return _IMP_core.RigidBody__get_as_binary(self)
8403 
8404  def _set_from_binary(self, p):
8405  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8406  return _IMP_core.RigidBody__set_from_binary(self, p)
8407 
8408  def __getstate__(self):
8409  p = self._get_as_binary()
8410  if len(self.__dict__) > 1:
8411  d = self.__dict__.copy()
8412  del d['this']
8413  p = (d, p)
8414  return p
8415 
8416  def __setstate__(self, p):
8417  if not hasattr(self, 'this'):
8418  self.__init__()
8419  if isinstance(p, tuple):
8420  d, p = p
8421  self.__dict__.update(d)
8422  return self._set_from_binary(p)
8423 
8424 
8425 # Register RigidBody in _IMP_core:
8426 _IMP_core.RigidBody_swigregister(RigidBody)
8427 
8429  r"""add_rigid_body_cache_key(ObjectKey k)"""
8430  return _IMP_core.add_rigid_body_cache_key(k)
8431 class RigidBodyMember(XYZ):
8432  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8433 
8434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8435 
8436  def show(self, *args):
8437  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8438  return _IMP_core.RigidBodyMember_show(self, *args)
8439 
8440  def get_rigid_body(self):
8441  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8442  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8443 
8444  def get_internal_coordinates(self):
8445  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8446  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8447 
8448  def set_internal_coordinates(self, v):
8449  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8450  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8451 
8452  def set_internal_transformation(self, v):
8453  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8454  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8455 
8456  def get_internal_transformation(self):
8457  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8458  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8459  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8460 
8461  def set_coordinates(self, *args):
8462  r"""
8463  set_coordinates(RigidBodyMember self, Vector3D center)
8464  set_coordinates(RigidBodyMember self, Transformation3D tr)
8465  """
8466  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8467 
8468  def __init__(self, *args):
8469  r"""
8470  __init__(RigidBodyMember self) -> RigidBodyMember
8471  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8472  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8473  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8474  """
8475  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8476 
8477  @staticmethod
8478  def get_is_setup(*args):
8479  r"""
8480  get_is_setup(_ParticleAdaptor p) -> bool
8481  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8482  """
8483  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8484 
8485  @staticmethod
8486  def get_internal_coordinate_keys():
8487  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8488  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8489 
8490  @staticmethod
8491  def get_internal_rotation_keys():
8492  r"""get_internal_rotation_keys() -> IMP::FloatKeys"""
8493  return _IMP_core.RigidBodyMember_get_internal_rotation_keys()
8494 
8495  def add_attribute(self, *args):
8496  r"""
8497  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8498  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8499  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8500  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8501  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8502  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8503  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8504  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8505  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8506  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8507  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8508  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8509  """
8510  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8511 
8512  def get_value(self, *args):
8513  r"""
8514  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8515  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8516  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8517  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8518  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8519  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8520  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8521  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8522  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8523  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8524  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8525  """
8526  return _IMP_core.RigidBodyMember_get_value(self, *args)
8527 
8528  def set_value(self, *args):
8529  r"""
8530  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8531  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8532  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8533  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8534  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8535  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8536  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8537  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8538  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8539  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8540  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8541  """
8542  return _IMP_core.RigidBodyMember_set_value(self, *args)
8543 
8544  def remove_attribute(self, *args):
8545  r"""
8546  remove_attribute(RigidBodyMember self, FloatKey a0)
8547  remove_attribute(RigidBodyMember self, IntKey a0)
8548  remove_attribute(RigidBodyMember self, FloatsKey a0)
8549  remove_attribute(RigidBodyMember self, IntsKey a0)
8550  remove_attribute(RigidBodyMember self, StringKey a0)
8551  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8552  remove_attribute(RigidBodyMember self, ObjectKey a0)
8553  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8554  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8555  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8556  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8557  """
8558  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8559 
8560  def has_attribute(self, *args):
8561  r"""
8562  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8563  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8564  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8565  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8566  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8567  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8568  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8569  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8570  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8571  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8572  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8573  """
8574  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8575 
8576  def get_derivative(self, a0):
8577  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8578  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8579 
8580  def get_name(self):
8581  r"""get_name(RigidBodyMember self) -> std::string"""
8582  return _IMP_core.RigidBodyMember_get_name(self)
8583 
8584  def clear_caches(self):
8585  r"""clear_caches(RigidBodyMember self)"""
8586  return _IMP_core.RigidBodyMember_clear_caches(self)
8587 
8588  def set_name(self, a0):
8589  r"""set_name(RigidBodyMember self, std::string a0)"""
8590  return _IMP_core.RigidBodyMember_set_name(self, a0)
8591 
8592  def set_check_level(self, a0):
8593  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8594  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8595 
8596  def add_to_derivative(self, a0, a1, a2):
8597  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8598  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8599 
8600  def set_is_optimized(self, a0, a1):
8601  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8602  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8603 
8604  def get_is_optimized(self, a0):
8605  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8606  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8607 
8608  def get_check_level(self):
8609  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8610  return _IMP_core.RigidBodyMember_get_check_level(self)
8611 
8612  def __eq__(self, *args):
8613  r"""
8614  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8615  __eq__(RigidBodyMember self, Particle d) -> bool
8616  """
8617  return _IMP_core.RigidBodyMember___eq__(self, *args)
8618 
8619  def __ne__(self, *args):
8620  r"""
8621  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8622  __ne__(RigidBodyMember self, Particle d) -> bool
8623  """
8624  return _IMP_core.RigidBodyMember___ne__(self, *args)
8625 
8626  def __le__(self, *args):
8627  r"""
8628  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8629  __le__(RigidBodyMember self, Particle d) -> bool
8630  """
8631  return _IMP_core.RigidBodyMember___le__(self, *args)
8632 
8633  def __lt__(self, *args):
8634  r"""
8635  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8636  __lt__(RigidBodyMember self, Particle d) -> bool
8637  """
8638  return _IMP_core.RigidBodyMember___lt__(self, *args)
8639 
8640  def __ge__(self, *args):
8641  r"""
8642  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8643  __ge__(RigidBodyMember self, Particle d) -> bool
8644  """
8645  return _IMP_core.RigidBodyMember___ge__(self, *args)
8646 
8647  def __gt__(self, *args):
8648  r"""
8649  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8650  __gt__(RigidBodyMember self, Particle d) -> bool
8651  """
8652  return _IMP_core.RigidBodyMember___gt__(self, *args)
8653 
8654  def __hash__(self):
8655  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8656  return _IMP_core.RigidBodyMember___hash__(self)
8657 
8658  def __str__(self):
8659  r"""__str__(RigidBodyMember self) -> std::string"""
8660  return _IMP_core.RigidBodyMember___str__(self)
8661 
8662  def __repr__(self):
8663  r"""__repr__(RigidBodyMember self) -> std::string"""
8664  return _IMP_core.RigidBodyMember___repr__(self)
8665 
8666  def _get_as_binary(self):
8667  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8668  return _IMP_core.RigidBodyMember__get_as_binary(self)
8669 
8670  def _set_from_binary(self, p):
8671  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8672  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8673 
8674  def __getstate__(self):
8675  p = self._get_as_binary()
8676  if len(self.__dict__) > 1:
8677  d = self.__dict__.copy()
8678  del d['this']
8679  p = (d, p)
8680  return p
8681 
8682  def __setstate__(self, p):
8683  if not hasattr(self, 'this'):
8684  self.__init__()
8685  if isinstance(p, tuple):
8686  d, p = p
8687  self.__dict__.update(d)
8688  return self._set_from_binary(p)
8689 
8690 
8691 # Register RigidBodyMember in _IMP_core:
8692 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8693 class RigidMember(RigidBodyMember):
8694  r"""Proxy of C++ IMP::core::RigidMember class."""
8695 
8696  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8697 
8698  def show(self, *args):
8699  r"""show(RigidMember self, _ostream out=std::cout)"""
8700  return _IMP_core.RigidMember_show(self, *args)
8701 
8702  def __init__(self, *args):
8703  r"""
8704  __init__(RigidMember self) -> RigidMember
8705  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8706  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8707  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8708  """
8709  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8710  __swig_destroy__ = _IMP_core.delete_RigidMember
8711 
8712  @staticmethod
8713  def get_is_setup(*args):
8714  r"""
8715  get_is_setup(_ParticleAdaptor p) -> bool
8716  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8717  """
8718  return _IMP_core.RigidMember_get_is_setup(*args)
8719 
8720  def add_attribute(self, *args):
8721  r"""
8722  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8723  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8724  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8725  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8726  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8727  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8728  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8729  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8730  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8731  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8732  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8733  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8734  """
8735  return _IMP_core.RigidMember_add_attribute(self, *args)
8736 
8737  def get_value(self, *args):
8738  r"""
8739  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8740  get_value(RigidMember self, IntKey a0) -> IMP::Int
8741  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8742  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8743  get_value(RigidMember self, StringKey a0) -> IMP::String
8744  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8745  get_value(RigidMember self, ObjectKey a0) -> Object
8746  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8747  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8748  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8749  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8750  """
8751  return _IMP_core.RigidMember_get_value(self, *args)
8752 
8753  def set_value(self, *args):
8754  r"""
8755  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8756  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8757  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8758  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8759  set_value(RigidMember self, StringKey a0, IMP::String a1)
8760  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8761  set_value(RigidMember self, ObjectKey a0, Object a1)
8762  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8763  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8764  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8765  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8766  """
8767  return _IMP_core.RigidMember_set_value(self, *args)
8768 
8769  def remove_attribute(self, *args):
8770  r"""
8771  remove_attribute(RigidMember self, FloatKey a0)
8772  remove_attribute(RigidMember self, IntKey a0)
8773  remove_attribute(RigidMember self, FloatsKey a0)
8774  remove_attribute(RigidMember self, IntsKey a0)
8775  remove_attribute(RigidMember self, StringKey a0)
8776  remove_attribute(RigidMember self, ParticleIndexKey a0)
8777  remove_attribute(RigidMember self, ObjectKey a0)
8778  remove_attribute(RigidMember self, SparseFloatKey a0)
8779  remove_attribute(RigidMember self, SparseIntKey a0)
8780  remove_attribute(RigidMember self, SparseStringKey a0)
8781  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8782  """
8783  return _IMP_core.RigidMember_remove_attribute(self, *args)
8784 
8785  def has_attribute(self, *args):
8786  r"""
8787  has_attribute(RigidMember self, FloatKey a0) -> bool
8788  has_attribute(RigidMember self, IntKey a0) -> bool
8789  has_attribute(RigidMember self, FloatsKey a0) -> bool
8790  has_attribute(RigidMember self, IntsKey a0) -> bool
8791  has_attribute(RigidMember self, StringKey a0) -> bool
8792  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8793  has_attribute(RigidMember self, ObjectKey a0) -> bool
8794  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
8795  has_attribute(RigidMember self, SparseIntKey a0) -> bool
8796  has_attribute(RigidMember self, SparseStringKey a0) -> bool
8797  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
8798  """
8799  return _IMP_core.RigidMember_has_attribute(self, *args)
8800 
8801  def get_derivative(self, a0):
8802  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
8803  return _IMP_core.RigidMember_get_derivative(self, a0)
8804 
8805  def get_name(self):
8806  r"""get_name(RigidMember self) -> std::string"""
8807  return _IMP_core.RigidMember_get_name(self)
8808 
8809  def clear_caches(self):
8810  r"""clear_caches(RigidMember self)"""
8811  return _IMP_core.RigidMember_clear_caches(self)
8812 
8813  def set_name(self, a0):
8814  r"""set_name(RigidMember self, std::string a0)"""
8815  return _IMP_core.RigidMember_set_name(self, a0)
8816 
8817  def set_check_level(self, a0):
8818  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
8819  return _IMP_core.RigidMember_set_check_level(self, a0)
8820 
8821  def add_to_derivative(self, a0, a1, a2):
8822  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8823  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
8824 
8825  def set_is_optimized(self, a0, a1):
8826  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
8827  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
8828 
8829  def get_is_optimized(self, a0):
8830  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
8831  return _IMP_core.RigidMember_get_is_optimized(self, a0)
8832 
8833  def get_check_level(self):
8834  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
8835  return _IMP_core.RigidMember_get_check_level(self)
8836 
8837  def __eq__(self, *args):
8838  r"""
8839  __eq__(RigidMember self, RigidMember o) -> bool
8840  __eq__(RigidMember self, Particle d) -> bool
8841  """
8842  return _IMP_core.RigidMember___eq__(self, *args)
8843 
8844  def __ne__(self, *args):
8845  r"""
8846  __ne__(RigidMember self, RigidMember o) -> bool
8847  __ne__(RigidMember self, Particle d) -> bool
8848  """
8849  return _IMP_core.RigidMember___ne__(self, *args)
8850 
8851  def __le__(self, *args):
8852  r"""
8853  __le__(RigidMember self, RigidMember o) -> bool
8854  __le__(RigidMember self, Particle d) -> bool
8855  """
8856  return _IMP_core.RigidMember___le__(self, *args)
8857 
8858  def __lt__(self, *args):
8859  r"""
8860  __lt__(RigidMember self, RigidMember o) -> bool
8861  __lt__(RigidMember self, Particle d) -> bool
8862  """
8863  return _IMP_core.RigidMember___lt__(self, *args)
8864 
8865  def __ge__(self, *args):
8866  r"""
8867  __ge__(RigidMember self, RigidMember o) -> bool
8868  __ge__(RigidMember self, Particle d) -> bool
8869  """
8870  return _IMP_core.RigidMember___ge__(self, *args)
8871 
8872  def __gt__(self, *args):
8873  r"""
8874  __gt__(RigidMember self, RigidMember o) -> bool
8875  __gt__(RigidMember self, Particle d) -> bool
8876  """
8877  return _IMP_core.RigidMember___gt__(self, *args)
8878 
8879  def __hash__(self):
8880  r"""__hash__(RigidMember self) -> std::size_t"""
8881  return _IMP_core.RigidMember___hash__(self)
8882 
8883  def __str__(self):
8884  r"""__str__(RigidMember self) -> std::string"""
8885  return _IMP_core.RigidMember___str__(self)
8886 
8887  def __repr__(self):
8888  r"""__repr__(RigidMember self) -> std::string"""
8889  return _IMP_core.RigidMember___repr__(self)
8890 
8891  def _get_as_binary(self):
8892  r"""_get_as_binary(RigidMember self) -> PyObject *"""
8893  return _IMP_core.RigidMember__get_as_binary(self)
8894 
8895  def _set_from_binary(self, p):
8896  r"""_set_from_binary(RigidMember self, PyObject * p)"""
8897  return _IMP_core.RigidMember__set_from_binary(self, p)
8898 
8899  def __getstate__(self):
8900  p = self._get_as_binary()
8901  if len(self.__dict__) > 1:
8902  d = self.__dict__.copy()
8903  del d['this']
8904  p = (d, p)
8905  return p
8906 
8907  def __setstate__(self, p):
8908  if not hasattr(self, 'this'):
8909  self.__init__()
8910  if isinstance(p, tuple):
8911  d, p = p
8912  self.__dict__.update(d)
8913  return self._set_from_binary(p)
8914 
8915 
8916 # Register RigidMember in _IMP_core:
8917 _IMP_core.RigidMember_swigregister(RigidMember)
8918 class NonRigidMember(RigidBodyMember):
8919  r"""Proxy of C++ IMP::core::NonRigidMember class."""
8920 
8921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8922 
8923  def show(self, *args):
8924  r"""show(NonRigidMember self, _ostream out=std::cout)"""
8925  return _IMP_core.NonRigidMember_show(self, *args)
8926 
8927  def __init__(self, *args):
8928  r"""
8929  __init__(NonRigidMember self) -> NonRigidMember
8930  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
8931  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
8932  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
8933  """
8934  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
8935  __swig_destroy__ = _IMP_core.delete_NonRigidMember
8936 
8937  @staticmethod
8938  def get_is_setup(*args):
8939  r"""
8940  get_is_setup(_ParticleAdaptor p) -> bool
8941  get_is_setup(Model m, ParticleIndex p) -> bool
8942  """
8943  return _IMP_core.NonRigidMember_get_is_setup(*args)
8944 
8945  def add_to_internal_derivatives(self, deriv_parent, da):
8946  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
8947  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
8948 
8949  def add_to_internal_rotational_derivatives(self, *args):
8950  r"""
8951  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D local_qderiv, Rotation3D rot_local_to_parent, Rotation3D rot_parent_to_global, DerivativeAccumulator da)
8952  add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)
8953  """
8954  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, *args)
8955 
8956  def get_internal_derivatives(self):
8957  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
8958  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
8959 
8960  def get_internal_rotational_derivatives(self):
8961  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
8962  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
8963 
8964  def add_attribute(self, *args):
8965  r"""
8966  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
8967  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
8968  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
8969  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
8970  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
8971  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
8972  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
8973  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
8974  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
8975  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
8976  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
8977  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8978  """
8979  return _IMP_core.NonRigidMember_add_attribute(self, *args)
8980 
8981  def get_value(self, *args):
8982  r"""
8983  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
8984  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
8985  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
8986  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
8987  get_value(NonRigidMember self, StringKey a0) -> IMP::String
8988  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
8989  get_value(NonRigidMember self, ObjectKey a0) -> Object
8990  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
8991  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
8992  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
8993  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8994  """
8995  return _IMP_core.NonRigidMember_get_value(self, *args)
8996 
8997  def set_value(self, *args):
8998  r"""
8999  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9000  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9001  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9002  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9003  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9004  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9005  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9006  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9007  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9008  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9009  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9010  """
9011  return _IMP_core.NonRigidMember_set_value(self, *args)
9012 
9013  def remove_attribute(self, *args):
9014  r"""
9015  remove_attribute(NonRigidMember self, FloatKey a0)
9016  remove_attribute(NonRigidMember self, IntKey a0)
9017  remove_attribute(NonRigidMember self, FloatsKey a0)
9018  remove_attribute(NonRigidMember self, IntsKey a0)
9019  remove_attribute(NonRigidMember self, StringKey a0)
9020  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9021  remove_attribute(NonRigidMember self, ObjectKey a0)
9022  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9023  remove_attribute(NonRigidMember self, SparseIntKey a0)
9024  remove_attribute(NonRigidMember self, SparseStringKey a0)
9025  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9026  """
9027  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9028 
9029  def has_attribute(self, *args):
9030  r"""
9031  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9032  has_attribute(NonRigidMember self, IntKey a0) -> bool
9033  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9034  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9035  has_attribute(NonRigidMember self, StringKey a0) -> bool
9036  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9037  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9038  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9039  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9040  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9041  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9042  """
9043  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9044 
9045  def get_derivative(self, a0):
9046  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9047  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9048 
9049  def get_name(self):
9050  r"""get_name(NonRigidMember self) -> std::string"""
9051  return _IMP_core.NonRigidMember_get_name(self)
9052 
9053  def clear_caches(self):
9054  r"""clear_caches(NonRigidMember self)"""
9055  return _IMP_core.NonRigidMember_clear_caches(self)
9056 
9057  def set_name(self, a0):
9058  r"""set_name(NonRigidMember self, std::string a0)"""
9059  return _IMP_core.NonRigidMember_set_name(self, a0)
9060 
9061  def set_check_level(self, a0):
9062  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9063  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9064 
9065  def add_to_derivative(self, a0, a1, a2):
9066  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9067  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9068 
9069  def set_is_optimized(self, a0, a1):
9070  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9071  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9072 
9073  def get_is_optimized(self, a0):
9074  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9075  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9076 
9077  def get_check_level(self):
9078  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9079  return _IMP_core.NonRigidMember_get_check_level(self)
9080 
9081  def __eq__(self, *args):
9082  r"""
9083  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9084  __eq__(NonRigidMember self, Particle d) -> bool
9085  """
9086  return _IMP_core.NonRigidMember___eq__(self, *args)
9087 
9088  def __ne__(self, *args):
9089  r"""
9090  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9091  __ne__(NonRigidMember self, Particle d) -> bool
9092  """
9093  return _IMP_core.NonRigidMember___ne__(self, *args)
9094 
9095  def __le__(self, *args):
9096  r"""
9097  __le__(NonRigidMember self, NonRigidMember o) -> bool
9098  __le__(NonRigidMember self, Particle d) -> bool
9099  """
9100  return _IMP_core.NonRigidMember___le__(self, *args)
9101 
9102  def __lt__(self, *args):
9103  r"""
9104  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9105  __lt__(NonRigidMember self, Particle d) -> bool
9106  """
9107  return _IMP_core.NonRigidMember___lt__(self, *args)
9108 
9109  def __ge__(self, *args):
9110  r"""
9111  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9112  __ge__(NonRigidMember self, Particle d) -> bool
9113  """
9114  return _IMP_core.NonRigidMember___ge__(self, *args)
9115 
9116  def __gt__(self, *args):
9117  r"""
9118  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9119  __gt__(NonRigidMember self, Particle d) -> bool
9120  """
9121  return _IMP_core.NonRigidMember___gt__(self, *args)
9122 
9123  def __hash__(self):
9124  r"""__hash__(NonRigidMember self) -> std::size_t"""
9125  return _IMP_core.NonRigidMember___hash__(self)
9126 
9127  def __str__(self):
9128  r"""__str__(NonRigidMember self) -> std::string"""
9129  return _IMP_core.NonRigidMember___str__(self)
9130 
9131  def __repr__(self):
9132  r"""__repr__(NonRigidMember self) -> std::string"""
9133  return _IMP_core.NonRigidMember___repr__(self)
9134 
9135  def _get_as_binary(self):
9136  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9137  return _IMP_core.NonRigidMember__get_as_binary(self)
9138 
9139  def _set_from_binary(self, p):
9140  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9141  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9142 
9143  def __getstate__(self):
9144  p = self._get_as_binary()
9145  if len(self.__dict__) > 1:
9146  d = self.__dict__.copy()
9147  del d['this']
9148  p = (d, p)
9149  return p
9150 
9151  def __setstate__(self, p):
9152  if not hasattr(self, 'this'):
9153  self.__init__()
9154  if isinstance(p, tuple):
9155  d, p = p
9156  self.__dict__.update(d)
9157  return self._set_from_binary(p)
9158 
9159 
9160 # Register NonRigidMember in _IMP_core:
9161 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9162 class RigidMembersRefiner(IMP.Refiner):
9163  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9164 
9165  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9166 
9167  def __init__(self, *args):
9168  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9169  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9170 
9171  def do_get_inputs(self, m, pis):
9172  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9173  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9174 
9175  def get_version_info(self):
9176  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9177  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9178  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9179 
9180  def __str__(self):
9181  r"""__str__(RigidMembersRefiner self) -> std::string"""
9182  return _IMP_core.RigidMembersRefiner___str__(self)
9183 
9184  def __repr__(self):
9185  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9186  return _IMP_core.RigidMembersRefiner___repr__(self)
9187 
9188  @staticmethod
9189  def get_from(o):
9190  return _object_cast_to_RigidMembersRefiner(o)
9191 
9192 
9193 # Register RigidMembersRefiner in _IMP_core:
9194 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9195 
9196 def get_rigid_members_refiner():
9197  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9198  return _IMP_core.get_rigid_members_refiner()
9199 
9200 def transform(*args):
9201  r"""
9202  transform(XYZ a, Transformation3D tr)
9203  transform(RigidBody a, Transformation3D tr)
9204  """
9205  return _IMP_core.transform(*args)
9206 
9207 def get_initial_reference_frame(*args):
9208  r"""
9209  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9210  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9211  """
9212  return _IMP_core.get_initial_reference_frame(*args)
9213 
9214 def create_rigid_bodies(m, n, no_members=False):
9215  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9216  return _IMP_core.create_rigid_bodies(m, n, no_members)
9217 
9218 def show_rigid_body_hierarchy(*args):
9219  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9220  return _IMP_core.show_rigid_body_hierarchy(*args)
9221 
9222 def get_root_rigid_body(m):
9223  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9224  return _IMP_core.get_root_rigid_body(m)
9225 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9226  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9227 
9228  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9229 
9230  def __init__(self, *args):
9231  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9232  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9233 
9234  def do_get_inputs(self, m, pis):
9235  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9236  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9237 
9238  def do_get_outputs(self, m, pis):
9239  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9240  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9241 
9242  def get_version_info(self):
9243  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9244  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9245  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9246 
9247  def __str__(self):
9248  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9249  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9250 
9251  def __repr__(self):
9252  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9253  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9254 
9255  @staticmethod
9256  def get_from(o):
9257  return _object_cast_to__UpdateRigidBodyMembers(o)
9258 
9259 
9260 # Register _UpdateRigidBodyMembers in _IMP_core:
9261 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9262 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9263  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9264 
9265  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9266 
9267  def __init__(self, *args):
9268  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9269  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9270 
9271  def do_get_inputs(self, m, pis):
9272  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9273  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9274 
9275  def do_get_outputs(self, m, pis):
9276  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9277  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9278 
9279  def get_version_info(self):
9280  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9281  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9282  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9283 
9284  def __str__(self):
9285  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9286  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9287 
9288  def __repr__(self):
9289  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9290  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9291 
9292  @staticmethod
9293  def get_from(o):
9294  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9295 
9296 
9297 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9298 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9299 class _NormalizeRotation(IMP.SingletonModifier):
9300  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation class."""
9301 
9302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9303 
9304  def __init__(self, *args):
9305  r"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9306  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9307 
9308  def do_get_inputs(self, m, pis):
9309  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9310  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9311 
9312  def do_get_outputs(self, m, pis):
9313  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9314  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9315 
9316  def get_version_info(self):
9317  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9318  return _IMP_core._NormalizeRotation_get_version_info(self)
9319  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9320 
9321  def __str__(self):
9322  r"""__str__(_NormalizeRotation self) -> std::string"""
9323  return _IMP_core._NormalizeRotation___str__(self)
9324 
9325  def __repr__(self):
9326  r"""__repr__(_NormalizeRotation self) -> std::string"""
9327  return _IMP_core._NormalizeRotation___repr__(self)
9328 
9329  @staticmethod
9330  def get_from(o):
9331  return _object_cast_to__NormalizeRotation(o)
9332 
9333 
9334 # Register _NormalizeRotation in _IMP_core:
9335 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9336 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9337  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9338 
9339  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9340 
9341  def __init__(self, *args, **kwargs):
9342  raise AttributeError("No constructor defined - class is abstract")
9343 
9344  def get_before_modifier(self):
9345  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9346  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9347 
9348  def get_container(self):
9349  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9350  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9351 
9352  def get_version_info(self):
9353  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9354  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9355  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9356 
9357  def __str__(self):
9358  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9359  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9360 
9361  def __repr__(self):
9362  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9363  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9364 
9365  @staticmethod
9366  def get_from(o):
9367  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9368 
9369 
9370 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9371 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9372 class _RigidBodyPositionConstraint(IMP.Constraint):
9373  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9374 
9375  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9376 
9377  def __init__(self, *args, **kwargs):
9378  raise AttributeError("No constructor defined - class is abstract")
9379 
9380  def get_version_info(self):
9381  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9382  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9383  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9384 
9385  def get_before_modifier(self):
9386  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9387  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9388 
9389  def get_after_modifier(self):
9390  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9391  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9392 
9393  def get_index(self):
9394  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9395  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9396 
9397  def __str__(self):
9398  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9399  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9400 
9401  def __repr__(self):
9402  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9403  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9404 
9405  @staticmethod
9406  def get_from(o):
9407  return _object_cast_to__RigidBodyPositionConstraint(o)
9408 
9409 
9410 # Register _RigidBodyPositionConstraint in _IMP_core:
9411 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9412 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9413  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9414 
9415  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9416 
9417  def __init__(self, rb, constituents):
9418  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9419  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9420 
9421  def get_version_info(self):
9422  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9423  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9424  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9425 
9426  def __str__(self):
9427  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9428  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9429 
9430  def __repr__(self):
9431  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9432  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9433 
9434  @staticmethod
9435  def get_from(o):
9436  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9437 
9438 
9439 # Register RigidBodyHierarchyGeometry in _IMP_core:
9440 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9441 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9442  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9443 
9444  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9445 
9446  def __init__(self, *args):
9447  r"""
9448  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9449  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9450  """
9451  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9452 
9453  def get_version_info(self):
9454  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9455  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9456  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9457 
9458  def __str__(self):
9459  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9460  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9461 
9462  def __repr__(self):
9463  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9464  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9465 
9466  @staticmethod
9467  def get_from(o):
9468  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9469 
9470 
9471 # Register RigidBodyDerivativeGeometry in _IMP_core:
9472 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9473 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9474  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9475 
9476  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9477 
9478  def __init__(self, sc):
9479  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9480  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9481 
9482  def get_version_info(self):
9483  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9484  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9485  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9486 
9487  def __str__(self):
9488  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9489  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9490 
9491  def __repr__(self):
9492  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9493  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9494 
9495  @staticmethod
9496  def get_from(o):
9497  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9498 
9499 
9500 # Register RigidBodyDerivativesGeometry in _IMP_core:
9501 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9502 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9503  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9504 
9505  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9506 
9507  def __init__(self, *args):
9508  r"""
9509  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9510  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9511  """
9512  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9513 
9514  def get_version_info(self):
9515  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9516  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9517  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9518 
9519  def __str__(self):
9520  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9521  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9522 
9523  def __repr__(self):
9524  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9525  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9526 
9527  @staticmethod
9528  def get_from(o):
9529  return _object_cast_to_RigidBodyFrameGeometry(o)
9530 
9531 
9532 # Register RigidBodyFrameGeometry in _IMP_core:
9533 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9534 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9535  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9536 
9537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9538 
9539  def __init__(self, sc):
9540  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9541  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9542 
9543  def get_version_info(self):
9544  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9545  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9546  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9547 
9548  def __str__(self):
9549  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9550  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9551 
9552  def __repr__(self):
9553  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9554  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9555 
9556  @staticmethod
9557  def get_from(o):
9558  return _object_cast_to_RigidBodyFramesGeometry(o)
9559 
9560 
9561 # Register RigidBodyFramesGeometry in _IMP_core:
9562 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9563 class RigidBodyTorque(IMP.display.SegmentGeometry):
9564  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9565 
9566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9567 
9568  def __init__(self, p):
9569  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9570  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9571 
9572  def __str__(self):
9573  r"""__str__(RigidBodyTorque self) -> std::string"""
9574  return _IMP_core.RigidBodyTorque___str__(self)
9575 
9576  def __repr__(self):
9577  r"""__repr__(RigidBodyTorque self) -> std::string"""
9578  return _IMP_core.RigidBodyTorque___repr__(self)
9579 
9580  @staticmethod
9581  def get_from(o):
9582  return _object_cast_to_RigidBodyTorque(o)
9583 
9584  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9585 
9586 # Register RigidBodyTorque in _IMP_core:
9587 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9588 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9589  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9590 
9591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9592 
9593  def __init__(self):
9594  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9595  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9596 
9597  def get_close_pairs(self, *args):
9598  r"""
9599  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9600  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9601  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9602  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9603  """
9604  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9605 
9606  def do_get_inputs(self, m, pis):
9607  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9608  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9609 
9610  def get_version_info(self):
9611  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9612  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9613  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9614 
9615  def __str__(self):
9616  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9617  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9618 
9619  def __repr__(self):
9620  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9621  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9622 
9623  @staticmethod
9624  def get_from(o):
9625  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9626 
9627 
9628 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9629 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9630 class RestraintsScoringFunction(IMP.ScoringFunction):
9631  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9632 
9633  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9634 
9635  def __init__(self, *args):
9636  r"""
9637  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9638  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9639  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9640  """
9641  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9642 
9643  def do_add_score_and_derivatives(self, sa, ss):
9644  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9645  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9646 
9647  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9648  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)"""
9649  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9650 
9651  def do_get_inputs(self):
9652  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9653  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9654 
9655  def get_restraints(self):
9656  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9657  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9658 
9659  def set_restraints(self, d):
9660  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9661  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9662 
9663  def get_number_of_restraints(self):
9664  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9665  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9666 
9667  def clear_restraints(self):
9668  r"""clear_restraints(RestraintsScoringFunction self)"""
9669  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9670 
9671  def get_restraint(self, i):
9672  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9673  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9674 
9675  def erase_restraint(self, i):
9676  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9677  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9678 
9679  def add_restraint(self, d):
9680  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9681  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9682 
9683  def add_restraints(self, d):
9684  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9685  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9686 
9687  def _python_index_restraint(self, r, start, stop):
9688  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9689  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9690  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)
9691  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9692  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9693  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9694 
9695  def get_version_info(self):
9696  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9697  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9698  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9699 
9700  def __str__(self):
9701  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9702  return _IMP_core.RestraintsScoringFunction___str__(self)
9703 
9704  def __repr__(self):
9705  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9706  return _IMP_core.RestraintsScoringFunction___repr__(self)
9707 
9708  @staticmethod
9709  def get_from(o):
9710  return _object_cast_to_RestraintsScoringFunction(o)
9711 
9712 
9713  def _get_as_binary(self):
9714  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9715  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9716 
9717  def _set_from_binary(self, p):
9718  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9719  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9720 
9721  def __getstate__(self):
9722  p = self._get_as_binary()
9723  if len(self.__dict__) > 1:
9724  d = self.__dict__.copy()
9725  del d['this']
9726  p = (d, p)
9727  return p
9728 
9729  def __setstate__(self, p):
9730  if not hasattr(self, 'this'):
9731  self.__init__()
9732  if isinstance(p, tuple):
9733  d, p = p
9734  self.__dict__.update(d)
9735  return self._set_from_binary(p)
9736 
9737 
9738  def _get_jax(self):
9739  import IMP._jax_util
9740  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
9741  funcs = [j.score_func for j in jis]
9742  keys = frozenset(x for j in jis for x in j._keys)
9743  def jax_sf(jm):
9744  return sum(f(jm) for f in funcs)
9745  return IMP._jax_util.JAXRestraintInfo(
9746  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9747 
9748 
9749 # Register RestraintsScoringFunction in _IMP_core:
9750 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9751 class RigidClosePairsFinder(ClosePairsFinder):
9752  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9753 
9754  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9755 
9756  def __init__(self, cpf=None):
9757  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9758  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9759 
9760  def do_get_inputs(self, m, pis):
9761  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9762  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9763 
9764  def get_close_pairs(self, *args):
9765  r"""
9766  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9767  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9768  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9769  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9770  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9771  """
9772  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
9773 
9774  def get_version_info(self):
9775  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
9776  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
9777  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
9778 
9779  def __str__(self):
9780  r"""__str__(RigidClosePairsFinder self) -> std::string"""
9781  return _IMP_core.RigidClosePairsFinder___str__(self)
9782 
9783  def __repr__(self):
9784  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
9785  return _IMP_core.RigidClosePairsFinder___repr__(self)
9786 
9787  @staticmethod
9788  def get_from(o):
9789  return _object_cast_to_RigidClosePairsFinder(o)
9790 
9791 
9792  def _get_as_binary(self):
9793  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
9794  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
9795 
9796  def _set_from_binary(self, p):
9797  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
9798  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
9799 
9800  def __getstate__(self):
9801  p = self._get_as_binary()
9802  if len(self.__dict__) > 1:
9803  d = self.__dict__.copy()
9804  del d['this']
9805  p = (d, p)
9806  return p
9807 
9808  def __setstate__(self, p):
9809  if not hasattr(self, 'this'):
9810  self.__init__()
9811  if isinstance(p, tuple):
9812  d, p = p
9813  self.__dict__.update(d)
9814  return self._set_from_binary(p)
9815 
9816 
9817 # Register RigidClosePairsFinder in _IMP_core:
9818 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
9819 class _SphereDistancePairScore(IMP.PairScore):
9820  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
9821 
9822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9823  __repr__ = _swig_repr
9824 
9825  def __init__(self, *args):
9826  r"""
9827  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
9828  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
9829  """
9830  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
9831 
9832  def do_get_inputs(self, m, pis):
9833  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9834  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
9835 
9836  def get_score_functor(self, *args):
9837  r"""
9838  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9839  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
9840  """
9841  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
9842 
9843  def get_version_info(self):
9844  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
9845  return _IMP_core._SphereDistancePairScore_get_version_info(self)
9846  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
9847 
9848  @staticmethod
9849  def get_from(o):
9850  return _object_cast_to__SphereDistancePairScore(o)
9851 
9852 
9853  def _get_as_binary(self):
9854  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
9855  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
9856 
9857  def _set_from_binary(self, p):
9858  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
9859  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
9860 
9861  def __getstate__(self):
9862  p = self._get_as_binary()
9863  if len(self.__dict__) > 1:
9864  d = self.__dict__.copy()
9865  del d['this']
9866  p = (d, p)
9867  return p
9868 
9869  def __setstate__(self, p):
9870  if not hasattr(self, 'this'):
9871  self.__init__()
9872  if isinstance(p, tuple):
9873  d, p = p
9874  self.__dict__.update(d)
9875  return self._set_from_binary(p)
9876 
9877 
9878  def _get_jax(self, m, indexes):
9879  import jax.numpy as jnp
9880  def jax_score(jm, uf):
9881  xyzs = jm['xyz'][indexes]
9882  rs = jm['r'][indexes]
9883  diff = xyzs[:,0] - xyzs[:,1]
9884  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
9885  return uf(drs)
9886  sfnc = self.get_score_functor()
9887  uf = sfnc.get_unary_function().get_derived_object()
9888  f = functools.partial(jax_score, uf=uf._get_jax())
9889  return self._wrap_jax(m, f)
9890 
9891 
9892 # Register _SphereDistancePairScore in _IMP_core:
9893 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
9894 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
9895  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
9896 
9897  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9898 
9899  def __init__(self, *args):
9900  r"""
9901  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
9902  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
9903  """
9904  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
9905 
9906  def do_get_inputs(self, m, pis):
9907  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9908  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
9909 
9910  def get_score_functor(self, *args):
9911  r"""
9912  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
9913  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
9914  """
9915  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
9916 
9917  def get_version_info(self):
9918  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
9919  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
9920  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
9921 
9922  def __str__(self):
9923  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9924  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
9925 
9926  def __repr__(self):
9927  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
9928  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
9929 
9930  @staticmethod
9931  def get_from(o):
9932  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
9933 
9934 
9935  def _get_as_binary(self):
9936  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
9937  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
9938 
9939  def _set_from_binary(self, p):
9940  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
9941  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
9942 
9943  def __getstate__(self):
9944  p = self._get_as_binary()
9945  if len(self.__dict__) > 1:
9946  d = self.__dict__.copy()
9947  del d['this']
9948  p = (d, p)
9949  return p
9950 
9951  def __setstate__(self, p):
9952  if not hasattr(self, 'this'):
9953  self.__init__()
9954  if isinstance(p, tuple):
9955  d, p = p
9956  self.__dict__.update(d)
9957  return self._set_from_binary(p)
9958 
9959 
9960 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
9961 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
9962 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
9963  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
9964 
9965  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9966 
9967  def __init__(self, d0, k):
9968  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
9969  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
9970 
9971  def get_rest_length(self):
9972  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
9973  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
9974 
9975  def get_stiffness(self):
9976  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
9977  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
9978 
9979  def do_get_inputs(self, m, pis):
9980  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9981  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
9982 
9983  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9984  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"""
9985  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9986 
9987  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9988  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"""
9989  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9990 
9991  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9992  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"""
9993  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9994 
9995  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9996  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"""
9997  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9998 
9999  def get_version_info(self):
10000  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10001  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10002  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10003 
10004  def __str__(self):
10005  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10006  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10007 
10008  def __repr__(self):
10009  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10010  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10011 
10012  @staticmethod
10013  def get_from(o):
10014  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10015 
10016 
10017 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10018 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10019 class HarmonicSphereDistancePairScore(IMP.PairScore):
10020  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10021 
10022  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10023 
10024  def __init__(self, *args):
10025  r"""
10026  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10027  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10028  """
10029  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10030 
10031  def do_get_inputs(self, m, pis):
10032  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10033  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10034 
10035  def get_score_functor(self, *args):
10036  r"""
10037  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10038  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10039  """
10040  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10041 
10042  def get_x0(self):
10043  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10044  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10045 
10046  def get_k(self):
10047  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10048  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10049 
10050  def get_version_info(self):
10051  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10052  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10053  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10054 
10055  def __str__(self):
10056  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10057  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10058 
10059  def __repr__(self):
10060  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10061  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10062 
10063  @staticmethod
10064  def get_from(o):
10065  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10066 
10067 
10068  def _get_as_binary(self):
10069  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10070  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10071 
10072  def _set_from_binary(self, p):
10073  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10074  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10075 
10076  def __getstate__(self):
10077  p = self._get_as_binary()
10078  if len(self.__dict__) > 1:
10079  d = self.__dict__.copy()
10080  del d['this']
10081  p = (d, p)
10082  return p
10083 
10084  def __setstate__(self, p):
10085  if not hasattr(self, 'this'):
10086  self.__init__()
10087  if isinstance(p, tuple):
10088  d, p = p
10089  self.__dict__.update(d)
10090  return self._set_from_binary(p)
10091 
10092 
10093  def _get_jax(self, m, indexes):
10094  import jax.numpy as jnp
10095  def jax_score(jm, d, k):
10096  xyzs = jm['xyz'][indexes]
10097  rs = jm['r'][indexes]
10098  diff = xyzs[:,0] - xyzs[:,1]
10099  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10100  return 0.5 * k * (d - drs)**2
10101  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10102  return self._wrap_jax(m, f)
10103 
10104 
10105 # Register HarmonicSphereDistancePairScore in _IMP_core:
10106 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10107 class NormalizedSphereDistancePairScore(IMP.PairScore):
10108  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10109 
10110  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10111 
10112  def __init__(self, *args):
10113  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10114  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10115 
10116  def do_get_inputs(self, m, pis):
10117  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10118  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10119 
10120  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10121  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"""
10122  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10123 
10124  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10125  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"""
10126  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10127 
10128  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10129  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"""
10130  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10131 
10132  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10133  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"""
10134  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10135 
10136  def get_version_info(self):
10137  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10138  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10139  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10140 
10141  def __str__(self):
10142  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10143  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10144 
10145  def __repr__(self):
10146  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10147  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10148 
10149  @staticmethod
10150  def get_from(o):
10151  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10152 
10153 
10154 # Register NormalizedSphereDistancePairScore in _IMP_core:
10155 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10156 class WeightedSphereDistancePairScore(IMP.PairScore):
10157  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10158 
10159  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10160 
10161  def __init__(self, *args):
10162  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10163  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10164 
10165  def do_get_inputs(self, m, pis):
10166  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10167  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10168 
10169  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10170  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"""
10171  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10172 
10173  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10174  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"""
10175  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10176 
10177  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10178  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"""
10179  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10180 
10181  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10182  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"""
10183  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10184 
10185  def get_version_info(self):
10186  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10187  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10188  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10189 
10190  def __str__(self):
10191  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10192  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10193 
10194  def __repr__(self):
10195  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10196  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10197 
10198  @staticmethod
10199  def get_from(o):
10200  return _object_cast_to_WeightedSphereDistancePairScore(o)
10201 
10202 
10203 # Register WeightedSphereDistancePairScore in _IMP_core:
10204 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10205 class SoftSpherePairScore(IMP.PairScore):
10206  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10207 
10208  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10209 
10210  def __init__(self, *args):
10211  r"""
10212  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10213  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10214  """
10215  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10216 
10217  def do_get_inputs(self, m, pis):
10218  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10219  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10220 
10221  def get_score_functor(self, *args):
10222  r"""
10223  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10224  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10225  """
10226  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10227 
10228  def get_k(self):
10229  r"""get_k(SoftSpherePairScore self) -> double"""
10230  return _IMP_core.SoftSpherePairScore_get_k(self)
10231 
10232  def get_version_info(self):
10233  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10234  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10235  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10236 
10237  def __str__(self):
10238  r"""__str__(SoftSpherePairScore self) -> std::string"""
10239  return _IMP_core.SoftSpherePairScore___str__(self)
10240 
10241  def __repr__(self):
10242  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10243  return _IMP_core.SoftSpherePairScore___repr__(self)
10244 
10245  @staticmethod
10246  def get_from(o):
10247  return _object_cast_to_SoftSpherePairScore(o)
10248 
10249 
10250  def _get_as_binary(self):
10251  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10252  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10253 
10254  def _set_from_binary(self, p):
10255  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10256  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10257 
10258  def __getstate__(self):
10259  p = self._get_as_binary()
10260  if len(self.__dict__) > 1:
10261  d = self.__dict__.copy()
10262  del d['this']
10263  p = (d, p)
10264  return p
10265 
10266  def __setstate__(self, p):
10267  if not hasattr(self, 'this'):
10268  self.__init__()
10269  if isinstance(p, tuple):
10270  d, p = p
10271  self.__dict__.update(d)
10272  return self._set_from_binary(p)
10273 
10274 
10275  def _get_jax(self, m, indexes):
10276  import jax.numpy as jnp
10277  import jax.lax
10278  def jax_score(jm, k):
10279  xyzs = jm['xyz'][indexes]
10280  rs = jm['r'][indexes]
10281  diff = xyzs[:,0] - xyzs[:,1]
10282  drs = jnp.linalg.norm(diff, axis=1) - rs.sum(axis=1)
10283  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10284  f = functools.partial(jax_score, k=self.get_k())
10285  return self._wrap_jax(m, f)
10286 
10287 
10288 # Register SoftSpherePairScore in _IMP_core:
10289 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10290 class SurfaceDistancePairScore(IMP.PairScore):
10291  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10292 
10293  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10294 
10295  def __init__(self, *args):
10296  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10297  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10298 
10299  def do_get_inputs(self, m, pis):
10300  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10301  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10302 
10303  def get_version_info(self):
10304  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10305  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10306  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10307 
10308  def __str__(self):
10309  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10310  return _IMP_core.SurfaceDistancePairScore___str__(self)
10311 
10312  def __repr__(self):
10313  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10314  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10315 
10316  @staticmethod
10317  def get_from(o):
10318  return _object_cast_to_SurfaceDistancePairScore(o)
10319 
10320 
10321 # Register SurfaceDistancePairScore in _IMP_core:
10322 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10323 class SurfaceHeightPairScore(IMP.PairScore):
10324  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10325 
10326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10327 
10328  def __init__(self, *args):
10329  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10330  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10331 
10332  def do_get_inputs(self, m, pis):
10333  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10334  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10335 
10336  def get_version_info(self):
10337  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10338  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10339  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10340 
10341  def __str__(self):
10342  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10343  return _IMP_core.SurfaceHeightPairScore___str__(self)
10344 
10345  def __repr__(self):
10346  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10347  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10348 
10349  @staticmethod
10350  def get_from(o):
10351  return _object_cast_to_SurfaceHeightPairScore(o)
10352 
10353 
10354 # Register SurfaceHeightPairScore in _IMP_core:
10355 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10356 class SurfaceDepthPairScore(IMP.PairScore):
10357  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10358 
10359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10360 
10361  def __init__(self, *args):
10362  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10363  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10364 
10365  def do_get_inputs(self, m, pis):
10366  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10367  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10368 
10369  def get_version_info(self):
10370  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10371  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10372  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10373 
10374  def __str__(self):
10375  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10376  return _IMP_core.SurfaceDepthPairScore___str__(self)
10377 
10378  def __repr__(self):
10379  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10380  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10381 
10382  @staticmethod
10383  def get_from(o):
10384  return _object_cast_to_SurfaceDepthPairScore(o)
10385 
10386 
10387 # Register SurfaceDepthPairScore in _IMP_core:
10388 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10389 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10390  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10391 
10392  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10393 
10394  def __init__(self, *args):
10395  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10396  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10397 
10398  def do_get_inputs(self, m, pis):
10399  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10400  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10401 
10402  def get_version_info(self):
10403  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10404  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10405  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10406 
10407  def __str__(self):
10408  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10409  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10410 
10411  def __repr__(self):
10412  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10413  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10414 
10415  @staticmethod
10416  def get_from(o):
10417  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10418 
10419 
10420 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10421 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10422 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10423  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10424 
10425  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10426 
10427  def __init__(self, *args):
10428  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10429  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10430 
10431  def do_get_inputs(self, m, pis):
10432  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10433  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10434 
10435  def get_version_info(self):
10436  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10437  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10438  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10439 
10440  def __str__(self):
10441  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10442  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10443 
10444  def __repr__(self):
10445  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10446  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10447 
10448  @staticmethod
10449  def get_from(o):
10450  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10451 
10452 
10453 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10454 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10455 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10456  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10457 
10458  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10459 
10460  def __init__(self, *args):
10461  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10462  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10463 
10464  def do_get_inputs(self, m, pis):
10465  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10466  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10467 
10468  def get_version_info(self):
10469  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10470  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10471  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10472 
10473  def __str__(self):
10474  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10475  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10476 
10477  def __repr__(self):
10478  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10479  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10480 
10481  @staticmethod
10482  def get_from(o):
10483  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10484 
10485 
10486 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10487 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10488 class SoftSuperSurfacePairScore(IMP.PairScore):
10489  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10490 
10491  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10492 
10493  def __init__(self, *args):
10494  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10495  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10496 
10497  def do_get_inputs(self, m, pis):
10498  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10499  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10500 
10501  def get_version_info(self):
10502  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10503  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10504  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10505 
10506  def __str__(self):
10507  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10508  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10509 
10510  def __repr__(self):
10511  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10512  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10513 
10514  @staticmethod
10515  def get_from(o):
10516  return _object_cast_to_SoftSuperSurfacePairScore(o)
10517 
10518 
10519 # Register SoftSuperSurfacePairScore in _IMP_core:
10520 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10521 class SoftSubSurfacePairScore(IMP.PairScore):
10522  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10523 
10524  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10525 
10526  def __init__(self, *args):
10527  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10528  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10529 
10530  def do_get_inputs(self, m, pis):
10531  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10532  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10533 
10534  def get_version_info(self):
10535  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10536  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10537  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10538 
10539  def __str__(self):
10540  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10541  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10542 
10543  def __repr__(self):
10544  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10545  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10546 
10547  @staticmethod
10548  def get_from(o):
10549  return _object_cast_to_SoftSubSurfacePairScore(o)
10550 
10551 
10552 # Register SoftSubSurfacePairScore in _IMP_core:
10553 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10554 class SurfaceTetheredChain(IMP.UnaryFunction):
10555  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10556 
10557  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10558 
10559  def __init__(self, link_num, link_length):
10560  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10561  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10562 
10563  def get_version_info(self):
10564  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10565  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10566  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10567 
10568  def get_link_number(self):
10569  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10570  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10571 
10572  def get_link_length(self):
10573  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10574  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10575 
10576  def set_link_number(self, N):
10577  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10578  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10579 
10580  def set_link_length(self, b):
10581  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10582  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10583 
10584  def get_distance_at_minimum(self):
10585  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10586  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10587 
10588  def get_average_distance(self):
10589  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10590  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10591 
10592  def __str__(self):
10593  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10594  return _IMP_core.SurfaceTetheredChain___str__(self)
10595 
10596  def __repr__(self):
10597  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10598  return _IMP_core.SurfaceTetheredChain___repr__(self)
10599 
10600  @staticmethod
10601  def get_from(o):
10602  return _object_cast_to_SurfaceTetheredChain(o)
10603 
10604 
10605 # Register SurfaceTetheredChain in _IMP_core:
10606 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10607 class SurfaceSymmetryConstraint(IMP.Constraint):
10608  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10609 
10610  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10611 
10612  def __init__(self, m, ss, rbs):
10613  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10614  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10615 
10616  def do_get_inputs(self):
10617  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10618  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10619 
10620  def do_get_outputs(self):
10621  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10622  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10623 
10624  def get_version_info(self):
10625  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10626  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10627  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10628 
10629  def __str__(self):
10630  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10631  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10632 
10633  def __repr__(self):
10634  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10635  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10636 
10637  @staticmethod
10638  def get_from(o):
10639  return _object_cast_to_SurfaceSymmetryConstraint(o)
10640 
10641 
10642 # Register SurfaceSymmetryConstraint in _IMP_core:
10643 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10644 class SteepestDescent(IMP.AttributeOptimizer):
10645  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10646 
10647  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10648 
10649  def __init__(self, *args):
10650  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10651  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10652 
10653  def do_optimize(self, max_steps):
10654  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10655  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10656 
10657  def get_version_info(self):
10658  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10659  return _IMP_core.SteepestDescent_get_version_info(self)
10660  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10661 
10662  def set_threshold(self, t):
10663  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10664  return _IMP_core.SteepestDescent_set_threshold(self, t)
10665 
10666  def set_step_size(self, t):
10667  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10668  return _IMP_core.SteepestDescent_set_step_size(self, t)
10669 
10670  def set_maximum_step_size(self, t):
10671  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10672  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10673 
10674  def __str__(self):
10675  r"""__str__(SteepestDescent self) -> std::string"""
10676  return _IMP_core.SteepestDescent___str__(self)
10677 
10678  def __repr__(self):
10679  r"""__repr__(SteepestDescent self) -> std::string"""
10680  return _IMP_core.SteepestDescent___repr__(self)
10681 
10682  @staticmethod
10683  def get_from(o):
10684  return _object_cast_to_SteepestDescent(o)
10685 
10686 
10687 # Register SteepestDescent in _IMP_core:
10688 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10689 class TransformedDistancePairScore(IMP.PairScore):
10690  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10691 
10692  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10693 
10694  def __init__(self, f, transformation):
10695  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10696  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10697 
10698  def set_transformation(self, rot):
10699  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10700  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10701 
10702  def do_get_inputs(self, m, pis):
10703  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10704  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10705 
10706  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10707  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"""
10708  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10709 
10710  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10711  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"""
10712  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10713 
10714  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10715  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"""
10716  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10717 
10718  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10719  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"""
10720  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10721 
10722  def get_version_info(self):
10723  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10724  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10725  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10726 
10727  def __str__(self):
10728  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10729  return _IMP_core.TransformedDistancePairScore___str__(self)
10730 
10731  def __repr__(self):
10732  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10733  return _IMP_core.TransformedDistancePairScore___repr__(self)
10734 
10735  @staticmethod
10736  def get_from(o):
10737  return _object_cast_to_TransformedDistancePairScore(o)
10738 
10739 
10740 # Register TransformedDistancePairScore in _IMP_core:
10741 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10742 class TypedPairScore(IMP.PairScore):
10743  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10744 
10745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10746 
10747  def __init__(self, typekey, allow_invalid_types=True):
10748  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
10749  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
10750 
10751  def set_particle_type(self, arg2):
10752  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
10753  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
10754 
10755  def set_pair_score(self, ps, atype, btype):
10756  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
10757  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
10758 
10759  def do_get_inputs(self, m, pis):
10760  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10761  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
10762 
10763  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10764  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"""
10765  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10766 
10767  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10768  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"""
10769  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10770 
10771  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10772  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"""
10773  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10774 
10775  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10776  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"""
10777  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10778 
10779  def get_version_info(self):
10780  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
10781  return _IMP_core.TypedPairScore_get_version_info(self)
10782  __swig_destroy__ = _IMP_core.delete_TypedPairScore
10783 
10784  def __str__(self):
10785  r"""__str__(TypedPairScore self) -> std::string"""
10786  return _IMP_core.TypedPairScore___str__(self)
10787 
10788  def __repr__(self):
10789  r"""__repr__(TypedPairScore self) -> std::string"""
10790  return _IMP_core.TypedPairScore___repr__(self)
10791 
10792  @staticmethod
10793  def get_from(o):
10794  return _object_cast_to_TypedPairScore(o)
10795 
10796 
10797 # Register TypedPairScore in _IMP_core:
10798 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
10799 class RigidBodyDistancePairScore(KClosePairsPairScore):
10800  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
10801 
10802  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10803 
10804  def __init__(self, ps, r):
10805  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
10806  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
10807 
10808  def __str__(self):
10809  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
10810  return _IMP_core.RigidBodyDistancePairScore___str__(self)
10811 
10812  def __repr__(self):
10813  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
10814  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
10815 
10816  @staticmethod
10817  def get_from(o):
10818  return _object_cast_to_RigidBodyDistancePairScore(o)
10819 
10820  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
10821 
10822 # Register RigidBodyDistancePairScore in _IMP_core:
10823 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
10824 class RigidBodyAnglePairScore(IMP.PairScore):
10825  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
10826 
10827  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10828 
10829  def __init__(self, f):
10830  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
10831  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
10832 
10833  def do_get_inputs(self, m, pis):
10834  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10835  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
10836 
10837  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10838  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"""
10839  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10840 
10841  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10842  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"""
10843  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10844 
10845  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10846  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"""
10847  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10848 
10849  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10850  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"""
10851  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10852 
10853  def get_version_info(self):
10854  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
10855  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
10856  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
10857 
10858  def __str__(self):
10859  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
10860  return _IMP_core.RigidBodyAnglePairScore___str__(self)
10861 
10862  def __repr__(self):
10863  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
10864  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
10865 
10866  @staticmethod
10867  def get_from(o):
10868  return _object_cast_to_RigidBodyAnglePairScore(o)
10869 
10870 
10871 # Register RigidBodyAnglePairScore in _IMP_core:
10872 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
10873 class TableRefiner(IMP.Refiner):
10874  r"""Proxy of C++ IMP::core::TableRefiner class."""
10875 
10876  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10877 
10878  def __init__(self):
10879  r"""__init__(TableRefiner self) -> TableRefiner"""
10880  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
10881 
10882  def add_particle(self, p, ps):
10883  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10884  return _IMP_core.TableRefiner_add_particle(self, p, ps)
10885 
10886  def remove_particle(self, p):
10887  r"""remove_particle(TableRefiner self, Particle p)"""
10888  return _IMP_core.TableRefiner_remove_particle(self, p)
10889 
10890  def set_particle(self, p, ps):
10891  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
10892  return _IMP_core.TableRefiner_set_particle(self, p, ps)
10893 
10894  def do_get_inputs(self, m, pis):
10895  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10896  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
10897 
10898  def get_version_info(self):
10899  r"""get_version_info(TableRefiner self) -> VersionInfo"""
10900  return _IMP_core.TableRefiner_get_version_info(self)
10901  __swig_destroy__ = _IMP_core.delete_TableRefiner
10902 
10903  def __str__(self):
10904  r"""__str__(TableRefiner self) -> std::string"""
10905  return _IMP_core.TableRefiner___str__(self)
10906 
10907  def __repr__(self):
10908  r"""__repr__(TableRefiner self) -> std::string"""
10909  return _IMP_core.TableRefiner___repr__(self)
10910 
10911  @staticmethod
10912  def get_from(o):
10913  return _object_cast_to_TableRefiner(o)
10914 
10915 
10916 # Register TableRefiner in _IMP_core:
10917 _IMP_core.TableRefiner_swigregister(TableRefiner)
10918 LOWER = _IMP_core.LOWER
10919 
10920 BOTH = _IMP_core.BOTH
10921 
10922 UPPER = _IMP_core.UPPER
10923 
10924 class MCCGSampler(IMP.Sampler):
10925  r"""Proxy of C++ IMP::core::MCCGSampler class."""
10926 
10927  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10928 
10929  def __init__(self, *args):
10930  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
10931  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
10932 
10933  def set_bounding_box(self, bb):
10934  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
10935  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
10936 
10937  def set_number_of_attempts(self, att):
10938  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
10939  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
10940 
10941  def set_number_of_monte_carlo_steps(self, cg):
10942  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
10943  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
10944 
10945  def set_number_of_conjugate_gradient_steps(self, cg):
10946  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
10947  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
10948 
10949  def set_max_monte_carlo_step_size(self, *args):
10950  r"""
10951  set_max_monte_carlo_step_size(MCCGSampler self, double d)
10952  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
10953  """
10954  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
10955 
10956  def set_is_refining(self, tf):
10957  r"""set_is_refining(MCCGSampler self, bool tf)"""
10958  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
10959 
10960  def set_local_optimizer(self, opt):
10961  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
10962  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
10963 
10964  def set_save_rejected_configurations(self, tf):
10965  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
10966  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
10967 
10968  def get_rejected_configurations(self):
10969  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
10970  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
10971  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)
10972  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
10973  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
10974  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
10975 
10976  def remove_optimizer_state(self, d):
10977  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
10978  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
10979 
10980  def _python_index_optimizer_state(self, d, start, stop):
10981  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
10982  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
10983 
10984  def remove_optimizer_states(self, d):
10985  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
10986  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
10987 
10988  def set_optimizer_states(self, ps):
10989  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
10990  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
10991 
10992  def set_optimizer_states_order(self, objs):
10993  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
10994  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
10995 
10996  def add_optimizer_state(self, obj):
10997  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
10998  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
10999 
11000  def add_optimizer_states(self, objs):
11001  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11002  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11003 
11004  def clear_optimizer_states(self):
11005  r"""clear_optimizer_states(MCCGSampler self)"""
11006  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11007 
11008  def get_number_of_optimizer_states(self):
11009  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11010  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11011 
11012  def get_has_optimizer_states(self):
11013  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11014  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11015 
11016  def get_optimizer_state(self, i):
11017  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11018  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11019 
11020  def get_optimizer_states(self):
11021  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11022  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11023 
11024  def erase_optimizer_state(self, i):
11025  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11026  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11027 
11028  def reserve_optimizer_states(self, sz):
11029  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11030  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11031 
11032  def do_sample(self):
11033  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11034  return _IMP_core.MCCGSampler_do_sample(self)
11035 
11036  def get_version_info(self):
11037  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11038  return _IMP_core.MCCGSampler_get_version_info(self)
11039  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11040 
11041  def __str__(self):
11042  r"""__str__(MCCGSampler self) -> std::string"""
11043  return _IMP_core.MCCGSampler___str__(self)
11044 
11045  def __repr__(self):
11046  r"""__repr__(MCCGSampler self) -> std::string"""
11047  return _IMP_core.MCCGSampler___repr__(self)
11048 
11049  @staticmethod
11050  def get_from(o):
11051  return _object_cast_to_MCCGSampler(o)
11052 
11053 
11054 # Register MCCGSampler in _IMP_core:
11055 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11056 class MinimumRestraint(IMP.Restraint):
11057  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11058 
11059  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11060 
11061  def __init__(self, *args):
11062  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11063  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11064 
11065  def do_get_inputs(self):
11066  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11067  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11068 
11069  def get_version_info(self):
11070  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11071  return _IMP_core.MinimumRestraint_get_version_info(self)
11072  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11073  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)
11074  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11075  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11076  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11077 
11078  def remove_restraint(self, d):
11079  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11080  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11081 
11082  def _python_index_restraint(self, d, start, stop):
11083  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11084  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11085 
11086  def remove_restraints(self, d):
11087  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11088  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11089 
11090  def set_restraints(self, ps):
11091  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11092  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11093 
11094  def set_restraints_order(self, objs):
11095  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11096  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11097 
11098  def add_restraint(self, obj):
11099  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11100  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11101 
11102  def add_restraints(self, objs):
11103  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11104  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11105 
11106  def clear_restraints(self):
11107  r"""clear_restraints(MinimumRestraint self)"""
11108  return _IMP_core.MinimumRestraint_clear_restraints(self)
11109 
11110  def get_number_of_restraints(self):
11111  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11112  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11113 
11114  def get_has_restraints(self):
11115  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11116  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11117 
11118  def get_restraint(self, i):
11119  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11120  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11121 
11122  def get_restraints(self):
11123  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11124  return _IMP_core.MinimumRestraint_get_restraints(self)
11125 
11126  def erase_restraint(self, i):
11127  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11128  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11129 
11130  def reserve_restraints(self, sz):
11131  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11132  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11133 
11134  def __str__(self):
11135  r"""__str__(MinimumRestraint self) -> std::string"""
11136  return _IMP_core.MinimumRestraint___str__(self)
11137 
11138  def __repr__(self):
11139  r"""__repr__(MinimumRestraint self) -> std::string"""
11140  return _IMP_core.MinimumRestraint___repr__(self)
11141 
11142  @staticmethod
11143  def get_from(o):
11144  return _object_cast_to_MinimumRestraint(o)
11145 
11146 
11147 # Register MinimumRestraint in _IMP_core:
11148 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11149 class Gaussian(RigidBody):
11150  r"""Proxy of C++ IMP::core::Gaussian class."""
11151 
11152  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11153 
11154  def __init__(self, *args):
11155  r"""
11156  __init__(Gaussian self) -> Gaussian
11157  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11158  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11159  """
11160  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11161 
11162  def show(self, *args):
11163  r"""show(Gaussian self, _ostream out=std::cout)"""
11164  return _IMP_core.Gaussian_show(self, *args)
11165 
11166  @staticmethod
11167  def setup_particle(*args):
11168  r"""
11169  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11170  setup_particle(_ParticleAdaptor pa) -> Gaussian
11171  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11172  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11173  """
11174  return _IMP_core.Gaussian_setup_particle(*args)
11175 
11176  @staticmethod
11177  def get_local_covariance_key():
11178  r"""get_local_covariance_key() -> ObjectKey"""
11179  return _IMP_core.Gaussian_get_local_covariance_key()
11180 
11181  @staticmethod
11182  def get_global_covariance_key():
11183  r"""get_global_covariance_key() -> ObjectKey"""
11184  return _IMP_core.Gaussian_get_global_covariance_key()
11185 
11186  @staticmethod
11187  def get_is_setup(*args):
11188  r"""
11189  get_is_setup(_ParticleAdaptor p) -> bool
11190  get_is_setup(Model m, ParticleIndex pi) -> bool
11191  """
11192  return _IMP_core.Gaussian_get_is_setup(*args)
11193 
11194  def get_local_covariance(self):
11195  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11196  return _IMP_core.Gaussian_get_local_covariance(self)
11197 
11198  def get_variances(self):
11199  r"""get_variances(Gaussian self) -> Vector3D"""
11200  return _IMP_core.Gaussian_get_variances(self)
11201 
11202  def get_global_covariance(self):
11203  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11204  return _IMP_core.Gaussian_get_global_covariance(self)
11205 
11206  def get_gaussian(self):
11207  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11208  return _IMP_core.Gaussian_get_gaussian(self)
11209 
11210  def set_gaussian(self, g):
11211  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11212  return _IMP_core.Gaussian_set_gaussian(self, g)
11213 
11214  def set_local_covariance(self, covar):
11215  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11216  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11217 
11218  def set_variances(self, v):
11219  r"""set_variances(Gaussian self, Vector3D v)"""
11220  return _IMP_core.Gaussian_set_variances(self, v)
11221 
11222  def set_global_covariance(self, covar):
11223  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11224  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11225 
11226  def update_global_covariance(self):
11227  r"""update_global_covariance(Gaussian self)"""
11228  return _IMP_core.Gaussian_update_global_covariance(self)
11229 
11230  def add_attribute(self, *args):
11231  r"""
11232  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11233  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11234  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11235  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11236  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11237  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11238  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11239  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11240  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11241  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11242  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11243  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11244  """
11245  return _IMP_core.Gaussian_add_attribute(self, *args)
11246 
11247  def get_value(self, *args):
11248  r"""
11249  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11250  get_value(Gaussian self, IntKey a0) -> IMP::Int
11251  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11252  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11253  get_value(Gaussian self, StringKey a0) -> IMP::String
11254  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11255  get_value(Gaussian self, ObjectKey a0) -> Object
11256  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11257  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11258  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11259  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11260  """
11261  return _IMP_core.Gaussian_get_value(self, *args)
11262 
11263  def set_value(self, *args):
11264  r"""
11265  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11266  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11267  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11268  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11269  set_value(Gaussian self, StringKey a0, IMP::String a1)
11270  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11271  set_value(Gaussian self, ObjectKey a0, Object a1)
11272  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11273  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11274  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11275  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11276  """
11277  return _IMP_core.Gaussian_set_value(self, *args)
11278 
11279  def remove_attribute(self, *args):
11280  r"""
11281  remove_attribute(Gaussian self, FloatKey a0)
11282  remove_attribute(Gaussian self, IntKey a0)
11283  remove_attribute(Gaussian self, FloatsKey a0)
11284  remove_attribute(Gaussian self, IntsKey a0)
11285  remove_attribute(Gaussian self, StringKey a0)
11286  remove_attribute(Gaussian self, ParticleIndexKey a0)
11287  remove_attribute(Gaussian self, ObjectKey a0)
11288  remove_attribute(Gaussian self, SparseFloatKey a0)
11289  remove_attribute(Gaussian self, SparseIntKey a0)
11290  remove_attribute(Gaussian self, SparseStringKey a0)
11291  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11292  """
11293  return _IMP_core.Gaussian_remove_attribute(self, *args)
11294 
11295  def has_attribute(self, *args):
11296  r"""
11297  has_attribute(Gaussian self, FloatKey a0) -> bool
11298  has_attribute(Gaussian self, IntKey a0) -> bool
11299  has_attribute(Gaussian self, FloatsKey a0) -> bool
11300  has_attribute(Gaussian self, IntsKey a0) -> bool
11301  has_attribute(Gaussian self, StringKey a0) -> bool
11302  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11303  has_attribute(Gaussian self, ObjectKey a0) -> bool
11304  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11305  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11306  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11307  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11308  """
11309  return _IMP_core.Gaussian_has_attribute(self, *args)
11310 
11311  def get_derivative(self, a0):
11312  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11313  return _IMP_core.Gaussian_get_derivative(self, a0)
11314 
11315  def get_name(self):
11316  r"""get_name(Gaussian self) -> std::string"""
11317  return _IMP_core.Gaussian_get_name(self)
11318 
11319  def clear_caches(self):
11320  r"""clear_caches(Gaussian self)"""
11321  return _IMP_core.Gaussian_clear_caches(self)
11322 
11323  def set_name(self, a0):
11324  r"""set_name(Gaussian self, std::string a0)"""
11325  return _IMP_core.Gaussian_set_name(self, a0)
11326 
11327  def set_check_level(self, a0):
11328  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11329  return _IMP_core.Gaussian_set_check_level(self, a0)
11330 
11331  def add_to_derivative(self, a0, a1, a2):
11332  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11333  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11334 
11335  def set_is_optimized(self, a0, a1):
11336  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11337  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11338 
11339  def get_is_optimized(self, a0):
11340  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11341  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11342 
11343  def get_check_level(self):
11344  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11345  return _IMP_core.Gaussian_get_check_level(self)
11346 
11347  def __eq__(self, *args):
11348  r"""
11349  __eq__(Gaussian self, Gaussian o) -> bool
11350  __eq__(Gaussian self, Particle d) -> bool
11351  """
11352  return _IMP_core.Gaussian___eq__(self, *args)
11353 
11354  def __ne__(self, *args):
11355  r"""
11356  __ne__(Gaussian self, Gaussian o) -> bool
11357  __ne__(Gaussian self, Particle d) -> bool
11358  """
11359  return _IMP_core.Gaussian___ne__(self, *args)
11360 
11361  def __le__(self, *args):
11362  r"""
11363  __le__(Gaussian self, Gaussian o) -> bool
11364  __le__(Gaussian self, Particle d) -> bool
11365  """
11366  return _IMP_core.Gaussian___le__(self, *args)
11367 
11368  def __lt__(self, *args):
11369  r"""
11370  __lt__(Gaussian self, Gaussian o) -> bool
11371  __lt__(Gaussian self, Particle d) -> bool
11372  """
11373  return _IMP_core.Gaussian___lt__(self, *args)
11374 
11375  def __ge__(self, *args):
11376  r"""
11377  __ge__(Gaussian self, Gaussian o) -> bool
11378  __ge__(Gaussian self, Particle d) -> bool
11379  """
11380  return _IMP_core.Gaussian___ge__(self, *args)
11381 
11382  def __gt__(self, *args):
11383  r"""
11384  __gt__(Gaussian self, Gaussian o) -> bool
11385  __gt__(Gaussian self, Particle d) -> bool
11386  """
11387  return _IMP_core.Gaussian___gt__(self, *args)
11388 
11389  def __hash__(self):
11390  r"""__hash__(Gaussian self) -> std::size_t"""
11391  return _IMP_core.Gaussian___hash__(self)
11392 
11393  def __str__(self):
11394  r"""__str__(Gaussian self) -> std::string"""
11395  return _IMP_core.Gaussian___str__(self)
11396 
11397  def __repr__(self):
11398  r"""__repr__(Gaussian self) -> std::string"""
11399  return _IMP_core.Gaussian___repr__(self)
11400 
11401  def _get_as_binary(self):
11402  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11403  return _IMP_core.Gaussian__get_as_binary(self)
11404 
11405  def _set_from_binary(self, p):
11406  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11407  return _IMP_core.Gaussian__set_from_binary(self, p)
11408 
11409  def __getstate__(self):
11410  p = self._get_as_binary()
11411  if len(self.__dict__) > 1:
11412  d = self.__dict__.copy()
11413  del d['this']
11414  p = (d, p)
11415  return p
11416 
11417  def __setstate__(self, p):
11418  if not hasattr(self, 'this'):
11419  self.__init__()
11420  if isinstance(p, tuple):
11421  d, p = p
11422  self.__dict__.update(d)
11423  return self._set_from_binary(p)
11424 
11425  __swig_destroy__ = _IMP_core.delete_Gaussian
11426 
11427 # Register Gaussian in _IMP_core:
11428 _IMP_core.Gaussian_swigregister(Gaussian)
11429 class PairRestraint(IMP.Restraint):
11430  r"""Proxy of C++ IMP::core::PairRestraint class."""
11431 
11432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11433 
11434  def __init__(self, *args):
11435  r"""
11436  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11437  __init__(PairRestraint self) -> PairRestraint
11438  """
11439  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11440 
11441  def get_score_object(self):
11442  r"""get_score_object(PairRestraint self) -> PairScore"""
11443  return _IMP_core.PairRestraint_get_score_object(self)
11444 
11445  def get_index(self):
11446  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11447  return _IMP_core.PairRestraint_get_index(self)
11448 
11449  def get_version_info(self):
11450  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11451  return _IMP_core.PairRestraint_get_version_info(self)
11452  __swig_destroy__ = _IMP_core.delete_PairRestraint
11453 
11454  def __str__(self):
11455  r"""__str__(PairRestraint self) -> std::string"""
11456  return _IMP_core.PairRestraint___str__(self)
11457 
11458  def __repr__(self):
11459  r"""__repr__(PairRestraint self) -> std::string"""
11460  return _IMP_core.PairRestraint___repr__(self)
11461 
11462  @staticmethod
11463  def get_from(o):
11464  return _object_cast_to_PairRestraint(o)
11465 
11466 
11467  def _get_as_binary(self):
11468  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11469  return _IMP_core.PairRestraint__get_as_binary(self)
11470 
11471  def _set_from_binary(self, p):
11472  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11473  return _IMP_core.PairRestraint__set_from_binary(self, p)
11474 
11475  def __getstate__(self):
11476  p = self._get_as_binary()
11477  if len(self.__dict__) > 1:
11478  d = self.__dict__.copy()
11479  del d['this']
11480  p = (d, p)
11481  return p
11482 
11483  def __setstate__(self, p):
11484  if not hasattr(self, 'this'):
11485  self.__init__()
11486  if isinstance(p, tuple):
11487  d, p = p
11488  self.__dict__.update(d)
11489  return self._set_from_binary(p)
11490 
11491 
11492  def _get_jax(self):
11493  from . import _jax_util
11494  return _jax_util._get_jax_restraint(self)
11495 
11496 
11497 # Register PairRestraint in _IMP_core:
11498 _IMP_core.PairRestraint_swigregister(PairRestraint)
11499 class SingletonRestraint(IMP.Restraint):
11500  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11501 
11502  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11503 
11504  def __init__(self, *args):
11505  r"""
11506  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11507  __init__(SingletonRestraint self) -> SingletonRestraint
11508  """
11509  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11510 
11511  def get_score_object(self):
11512  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11513  return _IMP_core.SingletonRestraint_get_score_object(self)
11514 
11515  def get_index(self):
11516  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11517  return _IMP_core.SingletonRestraint_get_index(self)
11518 
11519  def get_version_info(self):
11520  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11521  return _IMP_core.SingletonRestraint_get_version_info(self)
11522  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11523 
11524  def __str__(self):
11525  r"""__str__(SingletonRestraint self) -> std::string"""
11526  return _IMP_core.SingletonRestraint___str__(self)
11527 
11528  def __repr__(self):
11529  r"""__repr__(SingletonRestraint self) -> std::string"""
11530  return _IMP_core.SingletonRestraint___repr__(self)
11531 
11532  @staticmethod
11533  def get_from(o):
11534  return _object_cast_to_SingletonRestraint(o)
11535 
11536 
11537  def _get_as_binary(self):
11538  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11539  return _IMP_core.SingletonRestraint__get_as_binary(self)
11540 
11541  def _set_from_binary(self, p):
11542  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11543  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11544 
11545  def __getstate__(self):
11546  p = self._get_as_binary()
11547  if len(self.__dict__) > 1:
11548  d = self.__dict__.copy()
11549  del d['this']
11550  p = (d, p)
11551  return p
11552 
11553  def __setstate__(self, p):
11554  if not hasattr(self, 'this'):
11555  self.__init__()
11556  if isinstance(p, tuple):
11557  d, p = p
11558  self.__dict__.update(d)
11559  return self._set_from_binary(p)
11560 
11561 
11562  def _get_jax(self):
11563  from . import _jax_util
11564  return _jax_util._get_jax_restraint(self)
11565 
11566 
11567 # Register SingletonRestraint in _IMP_core:
11568 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11569 class TripletRestraint(IMP.Restraint):
11570  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11571 
11572  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11573 
11574  def __init__(self, *args):
11575  r"""
11576  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11577  __init__(TripletRestraint self) -> TripletRestraint
11578  """
11579  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11580 
11581  def get_score_object(self):
11582  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11583  return _IMP_core.TripletRestraint_get_score_object(self)
11584 
11585  def get_index(self):
11586  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11587  return _IMP_core.TripletRestraint_get_index(self)
11588 
11589  def get_version_info(self):
11590  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11591  return _IMP_core.TripletRestraint_get_version_info(self)
11592  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11593 
11594  def __str__(self):
11595  r"""__str__(TripletRestraint self) -> std::string"""
11596  return _IMP_core.TripletRestraint___str__(self)
11597 
11598  def __repr__(self):
11599  r"""__repr__(TripletRestraint self) -> std::string"""
11600  return _IMP_core.TripletRestraint___repr__(self)
11601 
11602  @staticmethod
11603  def get_from(o):
11604  return _object_cast_to_TripletRestraint(o)
11605 
11606 
11607  def _get_as_binary(self):
11608  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11609  return _IMP_core.TripletRestraint__get_as_binary(self)
11610 
11611  def _set_from_binary(self, p):
11612  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11613  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11614 
11615  def __getstate__(self):
11616  p = self._get_as_binary()
11617  if len(self.__dict__) > 1:
11618  d = self.__dict__.copy()
11619  del d['this']
11620  p = (d, p)
11621  return p
11622 
11623  def __setstate__(self, p):
11624  if not hasattr(self, 'this'):
11625  self.__init__()
11626  if isinstance(p, tuple):
11627  d, p = p
11628  self.__dict__.update(d)
11629  return self._set_from_binary(p)
11630 
11631 
11632 # Register TripletRestraint in _IMP_core:
11633 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11634 class QuadRestraint(IMP.Restraint):
11635  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11636 
11637  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11638 
11639  def __init__(self, *args):
11640  r"""
11641  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11642  __init__(QuadRestraint self) -> QuadRestraint
11643  """
11644  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11645 
11646  def get_score_object(self):
11647  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11648  return _IMP_core.QuadRestraint_get_score_object(self)
11649 
11650  def get_index(self):
11651  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11652  return _IMP_core.QuadRestraint_get_index(self)
11653 
11654  def get_version_info(self):
11655  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11656  return _IMP_core.QuadRestraint_get_version_info(self)
11657  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11658 
11659  def __str__(self):
11660  r"""__str__(QuadRestraint self) -> std::string"""
11661  return _IMP_core.QuadRestraint___str__(self)
11662 
11663  def __repr__(self):
11664  r"""__repr__(QuadRestraint self) -> std::string"""
11665  return _IMP_core.QuadRestraint___repr__(self)
11666 
11667  @staticmethod
11668  def get_from(o):
11669  return _object_cast_to_QuadRestraint(o)
11670 
11671 
11672  def _get_as_binary(self):
11673  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11674  return _IMP_core.QuadRestraint__get_as_binary(self)
11675 
11676  def _set_from_binary(self, p):
11677  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11678  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11679 
11680  def __getstate__(self):
11681  p = self._get_as_binary()
11682  if len(self.__dict__) > 1:
11683  d = self.__dict__.copy()
11684  del d['this']
11685  p = (d, p)
11686  return p
11687 
11688  def __setstate__(self, p):
11689  if not hasattr(self, 'this'):
11690  self.__init__()
11691  if isinstance(p, tuple):
11692  d, p = p
11693  self.__dict__.update(d)
11694  return self._set_from_binary(p)
11695 
11696 
11697 # Register QuadRestraint in _IMP_core:
11698 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11699 class SingletonConstraint(IMP.Constraint):
11700  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11701 
11702  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11703 
11704  def __init__(self, *args):
11705  r"""
11706  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11707  __init__(SingletonConstraint self) -> SingletonConstraint
11708  """
11709  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11710 
11711  def get_before_modifier(self):
11712  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11713  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11714 
11715  def get_index(self):
11716  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11717  return _IMP_core.SingletonConstraint_get_index(self)
11718 
11719  def get_version_info(self):
11720  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11721  return _IMP_core.SingletonConstraint_get_version_info(self)
11722  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11723 
11724  def __str__(self):
11725  r"""__str__(SingletonConstraint self) -> std::string"""
11726  return _IMP_core.SingletonConstraint___str__(self)
11727 
11728  def __repr__(self):
11729  r"""__repr__(SingletonConstraint self) -> std::string"""
11730  return _IMP_core.SingletonConstraint___repr__(self)
11731 
11732  @staticmethod
11733  def get_from(o):
11734  return _object_cast_to_SingletonConstraint(o)
11735 
11736 
11737  def _get_as_binary(self):
11738  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11739  return _IMP_core.SingletonConstraint__get_as_binary(self)
11740 
11741  def _set_from_binary(self, p):
11742  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11743  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11744 
11745  def __getstate__(self):
11746  p = self._get_as_binary()
11747  if len(self.__dict__) > 1:
11748  d = self.__dict__.copy()
11749  del d['this']
11750  p = (d, p)
11751  return p
11752 
11753  def __setstate__(self, p):
11754  if not hasattr(self, 'this'):
11755  self.__init__()
11756  if isinstance(p, tuple):
11757  d, p = p
11758  self.__dict__.update(d)
11759  return self._set_from_binary(p)
11760 
11761 
11762  def _get_jax(self):
11763  import jax.numpy as jnp
11764  indexes = jnp.array([self.get_index()])
11765  mod = self.get_before_modifier().get_derived_object()
11766  ji = mod._get_jax(self.get_model(), indexes)
11767  return self._wrap_jax(ji.apply_func, keys=ji._keys)
11768 
11769 
11770 # Register SingletonConstraint in _IMP_core:
11771 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
11772 class PairConstraint(IMP.Constraint):
11773  r"""Proxy of C++ IMP::core::PairConstraint class."""
11774 
11775  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11776 
11777  def __init__(self, *args):
11778  r"""
11779  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
11780  __init__(PairConstraint self) -> PairConstraint
11781  """
11782  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
11783 
11784  def get_before_modifier(self):
11785  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
11786  return _IMP_core.PairConstraint_get_before_modifier(self)
11787 
11788  def get_index(self):
11789  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
11790  return _IMP_core.PairConstraint_get_index(self)
11791 
11792  def get_version_info(self):
11793  r"""get_version_info(PairConstraint self) -> VersionInfo"""
11794  return _IMP_core.PairConstraint_get_version_info(self)
11795  __swig_destroy__ = _IMP_core.delete_PairConstraint
11796 
11797  def __str__(self):
11798  r"""__str__(PairConstraint self) -> std::string"""
11799  return _IMP_core.PairConstraint___str__(self)
11800 
11801  def __repr__(self):
11802  r"""__repr__(PairConstraint self) -> std::string"""
11803  return _IMP_core.PairConstraint___repr__(self)
11804 
11805  @staticmethod
11806  def get_from(o):
11807  return _object_cast_to_PairConstraint(o)
11808 
11809 
11810  def _get_as_binary(self):
11811  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
11812  return _IMP_core.PairConstraint__get_as_binary(self)
11813 
11814  def _set_from_binary(self, p):
11815  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
11816  return _IMP_core.PairConstraint__set_from_binary(self, p)
11817 
11818  def __getstate__(self):
11819  p = self._get_as_binary()
11820  if len(self.__dict__) > 1:
11821  d = self.__dict__.copy()
11822  del d['this']
11823  p = (d, p)
11824  return p
11825 
11826  def __setstate__(self, p):
11827  if not hasattr(self, 'this'):
11828  self.__init__()
11829  if isinstance(p, tuple):
11830  d, p = p
11831  self.__dict__.update(d)
11832  return self._set_from_binary(p)
11833 
11834 
11835 # Register PairConstraint in _IMP_core:
11836 _IMP_core.PairConstraint_swigregister(PairConstraint)
11837 class TripletConstraint(IMP.Constraint):
11838  r"""Proxy of C++ IMP::core::TripletConstraint class."""
11839 
11840  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11841 
11842  def __init__(self, *args):
11843  r"""
11844  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
11845  __init__(TripletConstraint self) -> TripletConstraint
11846  """
11847  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
11848 
11849  def get_before_modifier(self):
11850  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
11851  return _IMP_core.TripletConstraint_get_before_modifier(self)
11852 
11853  def get_index(self):
11854  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
11855  return _IMP_core.TripletConstraint_get_index(self)
11856 
11857  def get_version_info(self):
11858  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
11859  return _IMP_core.TripletConstraint_get_version_info(self)
11860  __swig_destroy__ = _IMP_core.delete_TripletConstraint
11861 
11862  def __str__(self):
11863  r"""__str__(TripletConstraint self) -> std::string"""
11864  return _IMP_core.TripletConstraint___str__(self)
11865 
11866  def __repr__(self):
11867  r"""__repr__(TripletConstraint self) -> std::string"""
11868  return _IMP_core.TripletConstraint___repr__(self)
11869 
11870  @staticmethod
11871  def get_from(o):
11872  return _object_cast_to_TripletConstraint(o)
11873 
11874 
11875  def _get_as_binary(self):
11876  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
11877  return _IMP_core.TripletConstraint__get_as_binary(self)
11878 
11879  def _set_from_binary(self, p):
11880  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
11881  return _IMP_core.TripletConstraint__set_from_binary(self, p)
11882 
11883  def __getstate__(self):
11884  p = self._get_as_binary()
11885  if len(self.__dict__) > 1:
11886  d = self.__dict__.copy()
11887  del d['this']
11888  p = (d, p)
11889  return p
11890 
11891  def __setstate__(self, p):
11892  if not hasattr(self, 'this'):
11893  self.__init__()
11894  if isinstance(p, tuple):
11895  d, p = p
11896  self.__dict__.update(d)
11897  return self._set_from_binary(p)
11898 
11899 
11900 # Register TripletConstraint in _IMP_core:
11901 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
11902 class QuadConstraint(IMP.Constraint):
11903  r"""Proxy of C++ IMP::core::QuadConstraint class."""
11904 
11905  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11906 
11907  def __init__(self, *args):
11908  r"""
11909  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
11910  __init__(QuadConstraint self) -> QuadConstraint
11911  """
11912  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
11913 
11914  def get_before_modifier(self):
11915  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
11916  return _IMP_core.QuadConstraint_get_before_modifier(self)
11917 
11918  def get_index(self):
11919  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
11920  return _IMP_core.QuadConstraint_get_index(self)
11921 
11922  def get_version_info(self):
11923  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
11924  return _IMP_core.QuadConstraint_get_version_info(self)
11925  __swig_destroy__ = _IMP_core.delete_QuadConstraint
11926 
11927  def __str__(self):
11928  r"""__str__(QuadConstraint self) -> std::string"""
11929  return _IMP_core.QuadConstraint___str__(self)
11930 
11931  def __repr__(self):
11932  r"""__repr__(QuadConstraint self) -> std::string"""
11933  return _IMP_core.QuadConstraint___repr__(self)
11934 
11935  @staticmethod
11936  def get_from(o):
11937  return _object_cast_to_QuadConstraint(o)
11938 
11939 
11940  def _get_as_binary(self):
11941  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
11942  return _IMP_core.QuadConstraint__get_as_binary(self)
11943 
11944  def _set_from_binary(self, p):
11945  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
11946  return _IMP_core.QuadConstraint__set_from_binary(self, p)
11947 
11948  def __getstate__(self):
11949  p = self._get_as_binary()
11950  if len(self.__dict__) > 1:
11951  d = self.__dict__.copy()
11952  del d['this']
11953  p = (d, p)
11954  return p
11955 
11956  def __setstate__(self, p):
11957  if not hasattr(self, 'this'):
11958  self.__init__()
11959  if isinstance(p, tuple):
11960  d, p = p
11961  self.__dict__.update(d)
11962  return self._set_from_binary(p)
11963 
11964 
11965 # Register QuadConstraint in _IMP_core:
11966 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
11967 class ConstantSingletonPredicate(IMP.SingletonPredicate):
11968  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
11969 
11970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11971 
11972  def __init__(self, *args):
11973  r"""
11974  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
11975  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
11976  """
11977  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
11978 
11979  def do_get_inputs(self, arg2, arg3):
11980  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
11981  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
11982 
11983  def get_value(self, *args):
11984  r"""
11985  get_value(ConstantSingletonPredicate self, Particle a) -> int
11986  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
11987  """
11988  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
11989 
11990  def get_value_index(self, *args):
11991  r"""
11992  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
11993  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
11994  """
11995  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
11996 
11997  def get_version_info(self):
11998  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
11999  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12000  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12001 
12002  def __str__(self):
12003  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12004  return _IMP_core.ConstantSingletonPredicate___str__(self)
12005 
12006  def __repr__(self):
12007  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12008  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12009 
12010  @staticmethod
12011  def get_from(o):
12012  return _object_cast_to_ConstantSingletonPredicate(o)
12013 
12014 
12015  def _get_as_binary(self):
12016  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12017  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12018 
12019  def _set_from_binary(self, p):
12020  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12021  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12022 
12023  def __getstate__(self):
12024  p = self._get_as_binary()
12025  if len(self.__dict__) > 1:
12026  d = self.__dict__.copy()
12027  del d['this']
12028  p = (d, p)
12029  return p
12030 
12031  def __setstate__(self, p):
12032  if not hasattr(self, 'this'):
12033  self.__init__()
12034  if isinstance(p, tuple):
12035  d, p = p
12036  self.__dict__.update(d)
12037  return self._set_from_binary(p)
12038 
12039 
12040 # Register ConstantSingletonPredicate in _IMP_core:
12041 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12042 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12043  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12044 
12045  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12046 
12047  def __init__(self, *args):
12048  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12049  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12050 
12051  def do_get_inputs(self, m, pis):
12052  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12053  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12054 
12055  def get_value(self, *args):
12056  r"""
12057  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12058  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12059  """
12060  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12061 
12062  def get_value_index(self, *args):
12063  r"""
12064  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12065  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12066  """
12067  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12068 
12069  def get_version_info(self):
12070  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12071  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12072  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12073 
12074  def __str__(self):
12075  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12076  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12077 
12078  def __repr__(self):
12079  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12080  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12081 
12082  @staticmethod
12083  def get_from(o):
12084  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12085 
12086 
12087  def _get_as_binary(self):
12088  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12089  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12090 
12091  def _set_from_binary(self, p):
12092  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12093  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12094 
12095  def __getstate__(self):
12096  p = self._get_as_binary()
12097  if len(self.__dict__) > 1:
12098  d = self.__dict__.copy()
12099  del d['this']
12100  p = (d, p)
12101  return p
12102 
12103  def __setstate__(self, p):
12104  if not hasattr(self, 'this'):
12105  self.__init__()
12106  if isinstance(p, tuple):
12107  d, p = p
12108  self.__dict__.update(d)
12109  return self._set_from_binary(p)
12110 
12111 
12112 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12113 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12114 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12115  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12116 
12117  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12118 
12119  def __init__(self, *args):
12120  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12121  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12122 
12123  def do_get_inputs(self, m, pis):
12124  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12125  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12126 
12127  def get_value(self, *args):
12128  r"""
12129  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12130  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12131  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12132  """
12133  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12134 
12135  def get_value_index(self, *args):
12136  r"""
12137  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12138  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12139  """
12140  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12141 
12142  def get_version_info(self):
12143  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12144  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12145  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12146 
12147  def __str__(self):
12148  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12149  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12150 
12151  def __repr__(self):
12152  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12153  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12154 
12155  @staticmethod
12156  def get_from(o):
12157  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12158 
12159 
12160 # Register OrderedTypeSingletonPredicate in _IMP_core:
12161 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12162 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12163  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12164 
12165  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12166 
12167  def __init__(self, *args):
12168  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12169  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12170 
12171  def do_get_inputs(self, arg2, arg3):
12172  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12173  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12174 
12175  def get_value(self, *args):
12176  r"""
12177  get_value(AllSameSingletonPredicate self, Particle a) -> int
12178  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12179  """
12180  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12181 
12182  def get_value_index(self, *args):
12183  r"""
12184  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12185  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12186  """
12187  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12188 
12189  def get_version_info(self):
12190  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12191  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12192  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12193 
12194  def __str__(self):
12195  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12196  return _IMP_core.AllSameSingletonPredicate___str__(self)
12197 
12198  def __repr__(self):
12199  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12200  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12201 
12202  @staticmethod
12203  def get_from(o):
12204  return _object_cast_to_AllSameSingletonPredicate(o)
12205 
12206 
12207  def _get_as_binary(self):
12208  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12209  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12210 
12211  def _set_from_binary(self, p):
12212  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12213  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12214 
12215  def __getstate__(self):
12216  p = self._get_as_binary()
12217  if len(self.__dict__) > 1:
12218  d = self.__dict__.copy()
12219  del d['this']
12220  p = (d, p)
12221  return p
12222 
12223  def __setstate__(self, p):
12224  if not hasattr(self, 'this'):
12225  self.__init__()
12226  if isinstance(p, tuple):
12227  d, p = p
12228  self.__dict__.update(d)
12229  return self._set_from_binary(p)
12230 
12231 
12232 # Register AllSameSingletonPredicate in _IMP_core:
12233 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12234 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12235  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12236 
12237  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12238 
12239  def __init__(self, *args):
12240  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12241  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12242 
12243  def do_get_inputs(self, arg2, arg3):
12244  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12245  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12246 
12247  def get_value(self, *args):
12248  r"""
12249  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12250  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12251  """
12252  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12253 
12254  def get_value_index(self, *args):
12255  r"""
12256  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12257  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12258  """
12259  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12260 
12261  def get_version_info(self):
12262  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12263  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12264  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12265 
12266  def __str__(self):
12267  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12268  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12269 
12270  def __repr__(self):
12271  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12272  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12273 
12274  @staticmethod
12275  def get_from(o):
12276  return _object_cast_to_CoinFlipSingletonPredicate(o)
12277 
12278 
12279 # Register CoinFlipSingletonPredicate in _IMP_core:
12280 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12281 class ConstantPairPredicate(IMP.PairPredicate):
12282  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12283 
12284  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12285 
12286  def __init__(self, *args):
12287  r"""
12288  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12289  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12290  """
12291  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12292 
12293  def do_get_inputs(self, arg2, arg3):
12294  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12295  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12296 
12297  def get_value(self, *args):
12298  r"""
12299  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12300  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12301  """
12302  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12303 
12304  def get_value_index(self, *args):
12305  r"""
12306  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12307  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12308  """
12309  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12310 
12311  def get_version_info(self):
12312  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12313  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12314  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12315 
12316  def __str__(self):
12317  r"""__str__(ConstantPairPredicate self) -> std::string"""
12318  return _IMP_core.ConstantPairPredicate___str__(self)
12319 
12320  def __repr__(self):
12321  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12322  return _IMP_core.ConstantPairPredicate___repr__(self)
12323 
12324  @staticmethod
12325  def get_from(o):
12326  return _object_cast_to_ConstantPairPredicate(o)
12327 
12328 
12329  def _get_as_binary(self):
12330  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12331  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12332 
12333  def _set_from_binary(self, p):
12334  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12335  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12336 
12337  def __getstate__(self):
12338  p = self._get_as_binary()
12339  if len(self.__dict__) > 1:
12340  d = self.__dict__.copy()
12341  del d['this']
12342  p = (d, p)
12343  return p
12344 
12345  def __setstate__(self, p):
12346  if not hasattr(self, 'this'):
12347  self.__init__()
12348  if isinstance(p, tuple):
12349  d, p = p
12350  self.__dict__.update(d)
12351  return self._set_from_binary(p)
12352 
12353 
12354 # Register ConstantPairPredicate in _IMP_core:
12355 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12356 class UnorderedTypePairPredicate(IMP.PairPredicate):
12357  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12358 
12359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12360 
12361  def __init__(self, *args):
12362  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12363  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12364 
12365  def do_get_inputs(self, m, pis):
12366  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12367  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12368 
12369  def get_value(self, *args):
12370  r"""
12371  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12372  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12373  """
12374  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12375 
12376  def get_value_index(self, *args):
12377  r"""
12378  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12379  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12380  """
12381  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12382 
12383  def get_version_info(self):
12384  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12385  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12386  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12387 
12388  def __str__(self):
12389  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12390  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12391 
12392  def __repr__(self):
12393  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12394  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12395 
12396  @staticmethod
12397  def get_from(o):
12398  return _object_cast_to_UnorderedTypePairPredicate(o)
12399 
12400 
12401  def _get_as_binary(self):
12402  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12403  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12404 
12405  def _set_from_binary(self, p):
12406  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12407  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12408 
12409  def __getstate__(self):
12410  p = self._get_as_binary()
12411  if len(self.__dict__) > 1:
12412  d = self.__dict__.copy()
12413  del d['this']
12414  p = (d, p)
12415  return p
12416 
12417  def __setstate__(self, p):
12418  if not hasattr(self, 'this'):
12419  self.__init__()
12420  if isinstance(p, tuple):
12421  d, p = p
12422  self.__dict__.update(d)
12423  return self._set_from_binary(p)
12424 
12425 
12426 # Register UnorderedTypePairPredicate in _IMP_core:
12427 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12428 class OrderedTypePairPredicate(IMP.PairPredicate):
12429  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12430 
12431  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12432 
12433  def __init__(self, *args):
12434  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12435  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12436 
12437  def do_get_inputs(self, m, pis):
12438  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12439  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12440 
12441  def get_value(self, *args):
12442  r"""
12443  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12444  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12445  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12446  """
12447  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12448 
12449  def get_value_index(self, *args):
12450  r"""
12451  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12452  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12453  """
12454  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12455 
12456  def get_version_info(self):
12457  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12458  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12459  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12460 
12461  def __str__(self):
12462  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12463  return _IMP_core.OrderedTypePairPredicate___str__(self)
12464 
12465  def __repr__(self):
12466  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12467  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12468 
12469  @staticmethod
12470  def get_from(o):
12471  return _object_cast_to_OrderedTypePairPredicate(o)
12472 
12473 
12474 # Register OrderedTypePairPredicate in _IMP_core:
12475 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12476 class AllSamePairPredicate(IMP.PairPredicate):
12477  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12478 
12479  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12480 
12481  def __init__(self, *args):
12482  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12483  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12484 
12485  def do_get_inputs(self, arg2, arg3):
12486  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12487  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12488 
12489  def get_value(self, *args):
12490  r"""
12491  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12492  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12493  """
12494  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12495 
12496  def get_value_index(self, *args):
12497  r"""
12498  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12499  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12500  """
12501  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12502 
12503  def get_version_info(self):
12504  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12505  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12506  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12507 
12508  def __str__(self):
12509  r"""__str__(AllSamePairPredicate self) -> std::string"""
12510  return _IMP_core.AllSamePairPredicate___str__(self)
12511 
12512  def __repr__(self):
12513  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12514  return _IMP_core.AllSamePairPredicate___repr__(self)
12515 
12516  @staticmethod
12517  def get_from(o):
12518  return _object_cast_to_AllSamePairPredicate(o)
12519 
12520 
12521  def _get_as_binary(self):
12522  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12523  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12524 
12525  def _set_from_binary(self, p):
12526  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12527  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12528 
12529  def __getstate__(self):
12530  p = self._get_as_binary()
12531  if len(self.__dict__) > 1:
12532  d = self.__dict__.copy()
12533  del d['this']
12534  p = (d, p)
12535  return p
12536 
12537  def __setstate__(self, p):
12538  if not hasattr(self, 'this'):
12539  self.__init__()
12540  if isinstance(p, tuple):
12541  d, p = p
12542  self.__dict__.update(d)
12543  return self._set_from_binary(p)
12544 
12545 
12546 # Register AllSamePairPredicate in _IMP_core:
12547 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12548 class CoinFlipPairPredicate(IMP.PairPredicate):
12549  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12550 
12551  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12552 
12553  def __init__(self, *args):
12554  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12555  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12556 
12557  def do_get_inputs(self, arg2, arg3):
12558  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12559  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12560 
12561  def get_value(self, *args):
12562  r"""
12563  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12564  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12565  """
12566  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12567 
12568  def get_value_index(self, *args):
12569  r"""
12570  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12571  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12572  """
12573  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12574 
12575  def get_version_info(self):
12576  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12577  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12578  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12579 
12580  def __str__(self):
12581  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12582  return _IMP_core.CoinFlipPairPredicate___str__(self)
12583 
12584  def __repr__(self):
12585  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12586  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12587 
12588  @staticmethod
12589  def get_from(o):
12590  return _object_cast_to_CoinFlipPairPredicate(o)
12591 
12592 
12593 # Register CoinFlipPairPredicate in _IMP_core:
12594 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12595 class ConstantTripletPredicate(IMP.TripletPredicate):
12596  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12597 
12598  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12599 
12600  def __init__(self, *args):
12601  r"""
12602  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12603  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12604  """
12605  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12606 
12607  def do_get_inputs(self, arg2, arg3):
12608  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12609  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12610 
12611  def get_value(self, *args):
12612  r"""
12613  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12614  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12615  """
12616  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12617 
12618  def get_value_index(self, *args):
12619  r"""
12620  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12621  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12622  """
12623  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12624 
12625  def get_version_info(self):
12626  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12627  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12628  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12629 
12630  def __str__(self):
12631  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12632  return _IMP_core.ConstantTripletPredicate___str__(self)
12633 
12634  def __repr__(self):
12635  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12636  return _IMP_core.ConstantTripletPredicate___repr__(self)
12637 
12638  @staticmethod
12639  def get_from(o):
12640  return _object_cast_to_ConstantTripletPredicate(o)
12641 
12642 
12643  def _get_as_binary(self):
12644  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12645  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12646 
12647  def _set_from_binary(self, p):
12648  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12649  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12650 
12651  def __getstate__(self):
12652  p = self._get_as_binary()
12653  if len(self.__dict__) > 1:
12654  d = self.__dict__.copy()
12655  del d['this']
12656  p = (d, p)
12657  return p
12658 
12659  def __setstate__(self, p):
12660  if not hasattr(self, 'this'):
12661  self.__init__()
12662  if isinstance(p, tuple):
12663  d, p = p
12664  self.__dict__.update(d)
12665  return self._set_from_binary(p)
12666 
12667 
12668 # Register ConstantTripletPredicate in _IMP_core:
12669 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12670 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12671  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12672 
12673  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12674 
12675  def __init__(self, *args):
12676  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12677  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12678 
12679  def do_get_inputs(self, m, pis):
12680  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12681  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12682 
12683  def get_value(self, *args):
12684  r"""
12685  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12686  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12687  """
12688  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12689 
12690  def get_value_index(self, *args):
12691  r"""
12692  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12693  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12694  """
12695  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12696 
12697  def get_version_info(self):
12698  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12699  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12700  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12701 
12702  def __str__(self):
12703  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12704  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12705 
12706  def __repr__(self):
12707  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12708  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12709 
12710  @staticmethod
12711  def get_from(o):
12712  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12713 
12714 
12715  def _get_as_binary(self):
12716  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12717  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12718 
12719  def _set_from_binary(self, p):
12720  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12721  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12722 
12723  def __getstate__(self):
12724  p = self._get_as_binary()
12725  if len(self.__dict__) > 1:
12726  d = self.__dict__.copy()
12727  del d['this']
12728  p = (d, p)
12729  return p
12730 
12731  def __setstate__(self, p):
12732  if not hasattr(self, 'this'):
12733  self.__init__()
12734  if isinstance(p, tuple):
12735  d, p = p
12736  self.__dict__.update(d)
12737  return self._set_from_binary(p)
12738 
12739 
12740 # Register UnorderedTypeTripletPredicate in _IMP_core:
12741 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12742 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12743  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12744 
12745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12746 
12747  def __init__(self, *args):
12748  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
12749  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
12750 
12751  def do_get_inputs(self, m, pis):
12752  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12753  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12754 
12755  def get_value(self, *args):
12756  r"""
12757  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
12758  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12759  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12760  """
12761  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
12762 
12763  def get_value_index(self, *args):
12764  r"""
12765  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12766  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12767  """
12768  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
12769 
12770  def get_version_info(self):
12771  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
12772  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
12773  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
12774 
12775  def __str__(self):
12776  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
12777  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
12778 
12779  def __repr__(self):
12780  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
12781  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
12782 
12783  @staticmethod
12784  def get_from(o):
12785  return _object_cast_to_OrderedTypeTripletPredicate(o)
12786 
12787 
12788 # Register OrderedTypeTripletPredicate in _IMP_core:
12789 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
12790 class AllSameTripletPredicate(IMP.TripletPredicate):
12791  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
12792 
12793  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12794 
12795  def __init__(self, *args):
12796  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
12797  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
12798 
12799  def do_get_inputs(self, arg2, arg3):
12800  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12801  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
12802 
12803  def get_value(self, *args):
12804  r"""
12805  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12806  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12807  """
12808  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
12809 
12810  def get_value_index(self, *args):
12811  r"""
12812  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12813  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12814  """
12815  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
12816 
12817  def get_version_info(self):
12818  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
12819  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
12820  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
12821 
12822  def __str__(self):
12823  r"""__str__(AllSameTripletPredicate self) -> std::string"""
12824  return _IMP_core.AllSameTripletPredicate___str__(self)
12825 
12826  def __repr__(self):
12827  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
12828  return _IMP_core.AllSameTripletPredicate___repr__(self)
12829 
12830  @staticmethod
12831  def get_from(o):
12832  return _object_cast_to_AllSameTripletPredicate(o)
12833 
12834 
12835  def _get_as_binary(self):
12836  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
12837  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
12838 
12839  def _set_from_binary(self, p):
12840  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
12841  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
12842 
12843  def __getstate__(self):
12844  p = self._get_as_binary()
12845  if len(self.__dict__) > 1:
12846  d = self.__dict__.copy()
12847  del d['this']
12848  p = (d, p)
12849  return p
12850 
12851  def __setstate__(self, p):
12852  if not hasattr(self, 'this'):
12853  self.__init__()
12854  if isinstance(p, tuple):
12855  d, p = p
12856  self.__dict__.update(d)
12857  return self._set_from_binary(p)
12858 
12859 
12860 # Register AllSameTripletPredicate in _IMP_core:
12861 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
12862 class CoinFlipTripletPredicate(IMP.TripletPredicate):
12863  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
12864 
12865  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12866 
12867  def __init__(self, *args):
12868  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
12869  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
12870 
12871  def do_get_inputs(self, arg2, arg3):
12872  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12873  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
12874 
12875  def get_value(self, *args):
12876  r"""
12877  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12878  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12879  """
12880  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
12881 
12882  def get_value_index(self, *args):
12883  r"""
12884  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12885  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12886  """
12887  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
12888 
12889  def get_version_info(self):
12890  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
12891  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
12892  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
12893 
12894  def __str__(self):
12895  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
12896  return _IMP_core.CoinFlipTripletPredicate___str__(self)
12897 
12898  def __repr__(self):
12899  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
12900  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
12901 
12902  @staticmethod
12903  def get_from(o):
12904  return _object_cast_to_CoinFlipTripletPredicate(o)
12905 
12906 
12907 # Register CoinFlipTripletPredicate in _IMP_core:
12908 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
12909 class ConstantQuadPredicate(IMP.QuadPredicate):
12910  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
12911 
12912  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12913 
12914  def __init__(self, *args):
12915  r"""
12916  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
12917  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
12918  """
12919  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
12920 
12921  def do_get_inputs(self, arg2, arg3):
12922  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12923  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
12924 
12925  def get_value(self, *args):
12926  r"""
12927  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
12928  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
12929  """
12930  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
12931 
12932  def get_value_index(self, *args):
12933  r"""
12934  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
12935  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
12936  """
12937  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
12938 
12939  def get_version_info(self):
12940  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
12941  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
12942  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
12943 
12944  def __str__(self):
12945  r"""__str__(ConstantQuadPredicate self) -> std::string"""
12946  return _IMP_core.ConstantQuadPredicate___str__(self)
12947 
12948  def __repr__(self):
12949  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
12950  return _IMP_core.ConstantQuadPredicate___repr__(self)
12951 
12952  @staticmethod
12953  def get_from(o):
12954  return _object_cast_to_ConstantQuadPredicate(o)
12955 
12956 
12957  def _get_as_binary(self):
12958  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
12959  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
12960 
12961  def _set_from_binary(self, p):
12962  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
12963  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
12964 
12965  def __getstate__(self):
12966  p = self._get_as_binary()
12967  if len(self.__dict__) > 1:
12968  d = self.__dict__.copy()
12969  del d['this']
12970  p = (d, p)
12971  return p
12972 
12973  def __setstate__(self, p):
12974  if not hasattr(self, 'this'):
12975  self.__init__()
12976  if isinstance(p, tuple):
12977  d, p = p
12978  self.__dict__.update(d)
12979  return self._set_from_binary(p)
12980 
12981 
12982 # Register ConstantQuadPredicate in _IMP_core:
12983 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
12984 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
12985  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
12986 
12987  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12988 
12989  def __init__(self, *args):
12990  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
12991  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
12992 
12993  def do_get_inputs(self, m, pis):
12994  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12995  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
12996 
12997  def get_value(self, *args):
12998  r"""
12999  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13000  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13001  """
13002  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13003 
13004  def get_value_index(self, *args):
13005  r"""
13006  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13007  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13008  """
13009  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13010 
13011  def get_version_info(self):
13012  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13013  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13014  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13015 
13016  def __str__(self):
13017  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13018  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13019 
13020  def __repr__(self):
13021  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13022  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13023 
13024  @staticmethod
13025  def get_from(o):
13026  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13027 
13028 
13029  def _get_as_binary(self):
13030  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13031  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13032 
13033  def _set_from_binary(self, p):
13034  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13035  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13036 
13037  def __getstate__(self):
13038  p = self._get_as_binary()
13039  if len(self.__dict__) > 1:
13040  d = self.__dict__.copy()
13041  del d['this']
13042  p = (d, p)
13043  return p
13044 
13045  def __setstate__(self, p):
13046  if not hasattr(self, 'this'):
13047  self.__init__()
13048  if isinstance(p, tuple):
13049  d, p = p
13050  self.__dict__.update(d)
13051  return self._set_from_binary(p)
13052 
13053 
13054 # Register UnorderedTypeQuadPredicate in _IMP_core:
13055 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13056 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13057  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13058 
13059  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13060 
13061  def __init__(self, *args):
13062  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13063  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13064 
13065  def do_get_inputs(self, m, pis):
13066  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13067  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13068 
13069  def get_value(self, *args):
13070  r"""
13071  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13072  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13073  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13074  """
13075  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13076 
13077  def get_value_index(self, *args):
13078  r"""
13079  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13080  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13081  """
13082  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13083 
13084  def get_version_info(self):
13085  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13086  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13087  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13088 
13089  def __str__(self):
13090  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13091  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13092 
13093  def __repr__(self):
13094  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13095  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13096 
13097  @staticmethod
13098  def get_from(o):
13099  return _object_cast_to_OrderedTypeQuadPredicate(o)
13100 
13101 
13102 # Register OrderedTypeQuadPredicate in _IMP_core:
13103 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13104 class AllSameQuadPredicate(IMP.QuadPredicate):
13105  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13106 
13107  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13108 
13109  def __init__(self, *args):
13110  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13111  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13112 
13113  def do_get_inputs(self, arg2, arg3):
13114  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13115  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13116 
13117  def get_value(self, *args):
13118  r"""
13119  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13120  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13121  """
13122  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13123 
13124  def get_value_index(self, *args):
13125  r"""
13126  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13127  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13128  """
13129  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13130 
13131  def get_version_info(self):
13132  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13133  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13134  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13135 
13136  def __str__(self):
13137  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13138  return _IMP_core.AllSameQuadPredicate___str__(self)
13139 
13140  def __repr__(self):
13141  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13142  return _IMP_core.AllSameQuadPredicate___repr__(self)
13143 
13144  @staticmethod
13145  def get_from(o):
13146  return _object_cast_to_AllSameQuadPredicate(o)
13147 
13148 
13149  def _get_as_binary(self):
13150  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13151  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13152 
13153  def _set_from_binary(self, p):
13154  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13155  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13156 
13157  def __getstate__(self):
13158  p = self._get_as_binary()
13159  if len(self.__dict__) > 1:
13160  d = self.__dict__.copy()
13161  del d['this']
13162  p = (d, p)
13163  return p
13164 
13165  def __setstate__(self, p):
13166  if not hasattr(self, 'this'):
13167  self.__init__()
13168  if isinstance(p, tuple):
13169  d, p = p
13170  self.__dict__.update(d)
13171  return self._set_from_binary(p)
13172 
13173 
13174 # Register AllSameQuadPredicate in _IMP_core:
13175 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13176 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13177  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13178 
13179  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13180 
13181  def __init__(self, *args):
13182  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13183  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13184 
13185  def do_get_inputs(self, arg2, arg3):
13186  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13187  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13188 
13189  def get_value(self, *args):
13190  r"""
13191  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13192  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13193  """
13194  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13195 
13196  def get_value_index(self, *args):
13197  r"""
13198  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13199  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13200  """
13201  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13202 
13203  def get_version_info(self):
13204  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13205  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13206  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13207 
13208  def __str__(self):
13209  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13210  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13211 
13212  def __repr__(self):
13213  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13214  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13215 
13216  @staticmethod
13217  def get_from(o):
13218  return _object_cast_to_CoinFlipQuadPredicate(o)
13219 
13220 
13221 # Register CoinFlipQuadPredicate in _IMP_core:
13222 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13223 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13224  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13225 
13226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13227 
13228  def __init__(self, *args):
13229  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13230  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13231 
13232  def do_get_inputs(self, m, pi):
13233  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13234  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13235 
13236  def get_value(self, *args):
13237  r"""
13238  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13239  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13240  """
13241  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13242 
13243  def get_value_index(self, *args):
13244  r"""
13245  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13246  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13247  """
13248  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13249 
13250  def get_version_info(self):
13251  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13252  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13253  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13254 
13255  def __str__(self):
13256  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13257  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13258 
13259  def __repr__(self):
13260  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13261  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13262 
13263  @staticmethod
13264  def get_from(o):
13265  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13266 
13267 
13268 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13269 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13270 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13271  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13272 
13273  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13274 
13275  def __init__(self, *args):
13276  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13277  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13278 
13279  def do_get_inputs(self, m, pi):
13280  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13281  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13282 
13283  def get_value(self, *args):
13284  r"""
13285  get_value(AttributeSingletonPredicate self, Particle a) -> int
13286  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13287  """
13288  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13289 
13290  def get_value_index(self, *args):
13291  r"""
13292  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13293  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13294  """
13295  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13296 
13297  def get_version_info(self):
13298  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13299  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13300  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13301 
13302  def __str__(self):
13303  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13304  return _IMP_core.AttributeSingletonPredicate___str__(self)
13305 
13306  def __repr__(self):
13307  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13308  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13309 
13310  @staticmethod
13311  def get_from(o):
13312  return _object_cast_to_AttributeSingletonPredicate(o)
13313 
13314 
13315 # Register AttributeSingletonPredicate in _IMP_core:
13316 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13317 class IsCollisionPairPredicate(IMP.PairPredicate):
13318  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13319 
13320  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13321 
13322  def __init__(self, *args):
13323  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13324  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13325 
13326  def do_get_inputs(self, m, pi):
13327  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13328  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13329 
13330  def get_value(self, *args):
13331  r"""
13332  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13333  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13334  """
13335  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13336 
13337  def get_value_index(self, *args):
13338  r"""
13339  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13340  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13341  """
13342  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13343 
13344  def get_version_info(self):
13345  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13346  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13347  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13348 
13349  def __str__(self):
13350  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13351  return _IMP_core.IsCollisionPairPredicate___str__(self)
13352 
13353  def __repr__(self):
13354  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13355  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13356 
13357  @staticmethod
13358  def get_from(o):
13359  return _object_cast_to_IsCollisionPairPredicate(o)
13360 
13361 
13362 # Register IsCollisionPairPredicate in _IMP_core:
13363 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13364 class AngleRestraint(TripletRestraint):
13365  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13366 
13367  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13368 
13369  def __init__(self, *args):
13370  r"""
13371  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13372  __init__(AngleRestraint self) -> AngleRestraint
13373  """
13374  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13375  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13376 
13377  def __str__(self):
13378  r"""__str__(AngleRestraint self) -> std::string"""
13379  return _IMP_core.AngleRestraint___str__(self)
13380 
13381  def __repr__(self):
13382  r"""__repr__(AngleRestraint self) -> std::string"""
13383  return _IMP_core.AngleRestraint___repr__(self)
13384 
13385  @staticmethod
13386  def get_from(o):
13387  return _object_cast_to_AngleRestraint(o)
13388 
13389 
13390  def _get_as_binary(self):
13391  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13392  return _IMP_core.AngleRestraint__get_as_binary(self)
13393 
13394  def _set_from_binary(self, p):
13395  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13396  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13397 
13398  def __getstate__(self):
13399  p = self._get_as_binary()
13400  if len(self.__dict__) > 1:
13401  d = self.__dict__.copy()
13402  del d['this']
13403  p = (d, p)
13404  return p
13405 
13406  def __setstate__(self, p):
13407  if not hasattr(self, 'this'):
13408  self.__init__()
13409  if isinstance(p, tuple):
13410  d, p = p
13411  self.__dict__.update(d)
13412  return self._set_from_binary(p)
13413 
13414 
13415 # Register AngleRestraint in _IMP_core:
13416 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13417 class RigidBodyMover(MonteCarloMover):
13418  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13419 
13420  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13421 
13422  def __init__(self, *args):
13423  r"""
13424  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13425  __init__(RigidBodyMover self) -> RigidBodyMover
13426  """
13427  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13428 
13429  def set_maximum_translation(self, mt):
13430  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13431  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13432 
13433  def set_maximum_rotation(self, mr):
13434  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13435  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13436 
13437  def get_maximum_translation(self):
13438  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13439  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13440 
13441  def get_maximum_rotation(self):
13442  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13443  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13444 
13445  def get_index(self):
13446  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13447  return _IMP_core.RigidBodyMover_get_index(self)
13448 
13449  def get_version_info(self):
13450  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13451  return _IMP_core.RigidBodyMover_get_version_info(self)
13452  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13453 
13454  def __str__(self):
13455  r"""__str__(RigidBodyMover self) -> std::string"""
13456  return _IMP_core.RigidBodyMover___str__(self)
13457 
13458  def __repr__(self):
13459  r"""__repr__(RigidBodyMover self) -> std::string"""
13460  return _IMP_core.RigidBodyMover___repr__(self)
13461 
13462  @staticmethod
13463  def get_from(o):
13464  return _object_cast_to_RigidBodyMover(o)
13465 
13466 
13467  def _get_as_binary(self):
13468  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13469  return _IMP_core.RigidBodyMover__get_as_binary(self)
13470 
13471  def _set_from_binary(self, p):
13472  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13473  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13474 
13475  def __getstate__(self):
13476  p = self._get_as_binary()
13477  if len(self.__dict__) > 1:
13478  d = self.__dict__.copy()
13479  del d['this']
13480  p = (d, p)
13481  return p
13482 
13483  def __setstate__(self, p):
13484  if not hasattr(self, 'this'):
13485  self.__init__()
13486  if isinstance(p, tuple):
13487  d, p = p
13488  self.__dict__.update(d)
13489  return self._set_from_binary(p)
13490 
13491 
13492 # Register RigidBodyMover in _IMP_core:
13493 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13494 class RigidBodyTunneler(MonteCarloMover):
13495  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13496 
13497  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13498 
13499  def __init__(self, m, pis, ref, k, move_probability=1.):
13500  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13501  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13502 
13503  def add_entry_point(self, fl):
13504  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13505  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13506 
13507  def reset_stats(self):
13508  r"""reset_stats(RigidBodyTunneler self)"""
13509  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13510 
13511  def get_number_of_rejected_moves(self):
13512  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13513  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13514 
13515  def get_number_of_proposed_moves(self):
13516  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13517  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13518 
13519  def get_number_of_impossible_moves(self):
13520  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13521  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13522 
13523  def get_number_of_calls(self):
13524  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13525  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13526 
13527  @staticmethod
13528  def get_reduced_coordinates(*args):
13529  r"""
13530  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13531  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13532  """
13533  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13534 
13535  @staticmethod
13536  def set_reduced_coordinates(m, target, ref, coords):
13537  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13538  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13539 
13540  def get_version_info(self):
13541  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13542  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13543  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13544 
13545  def __str__(self):
13546  r"""__str__(RigidBodyTunneler self) -> std::string"""
13547  return _IMP_core.RigidBodyTunneler___str__(self)
13548 
13549  def __repr__(self):
13550  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13551  return _IMP_core.RigidBodyTunneler___repr__(self)
13552 
13553  @staticmethod
13554  def get_from(o):
13555  return _object_cast_to_RigidBodyTunneler(o)
13556 
13557 
13558 # Register RigidBodyTunneler in _IMP_core:
13559 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13560 class RigidBodyUmbrella(IMP.Restraint):
13561  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13562 
13563  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13564 
13565  def __init__(self, *args):
13566  r"""
13567  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13568  __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
13569  """
13570  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13571 
13572  def set_x0(self, *args):
13573  r"""
13574  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13575  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13576  """
13577  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13578 
13579  def get_x0(self):
13580  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13581  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13582 
13583  def get_x(self):
13584  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13585  return _IMP_core.RigidBodyUmbrella_get_x(self)
13586 
13587  def set_alpha(self, alpha):
13588  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13589  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13590 
13591  def set_k(self, k):
13592  r"""set_k(RigidBodyUmbrella self, double k)"""
13593  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13594 
13595  def get_version_info(self):
13596  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13597  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13598  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13599 
13600  def __str__(self):
13601  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13602  return _IMP_core.RigidBodyUmbrella___str__(self)
13603 
13604  def __repr__(self):
13605  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13606  return _IMP_core.RigidBodyUmbrella___repr__(self)
13607 
13608  @staticmethod
13609  def get_from(o):
13610  return _object_cast_to_RigidBodyUmbrella(o)
13611 
13612 
13613 # Register RigidBodyUmbrella in _IMP_core:
13614 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13615 class VolumeRestraint(IMP.Restraint):
13616  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13617 
13618  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13619 
13620  def __init__(self, f, sc, volume):
13621  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13622  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13623 
13624  def do_get_inputs(self):
13625  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13626  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13627 
13628  def get_version_info(self):
13629  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13630  return _IMP_core.VolumeRestraint_get_version_info(self)
13631  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13632 
13633  def __str__(self):
13634  r"""__str__(VolumeRestraint self) -> std::string"""
13635  return _IMP_core.VolumeRestraint___str__(self)
13636 
13637  def __repr__(self):
13638  r"""__repr__(VolumeRestraint self) -> std::string"""
13639  return _IMP_core.VolumeRestraint___repr__(self)
13640 
13641  @staticmethod
13642  def get_from(o):
13643  return _object_cast_to_VolumeRestraint(o)
13644 
13645 
13646 # Register VolumeRestraint in _IMP_core:
13647 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13648 
13649 def get_centroid(ps):
13650  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13651  return _IMP_core.get_centroid(ps)
13652 
13653 def get_bounding_box(ps):
13654  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13655  return _IMP_core.get_bounding_box(ps)
13656 class MoveStatisticsScoreState(IMP.ScoreState):
13657  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13658 
13659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13660 
13661  def __init__(self, ps):
13662  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13663  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13664 
13665  def show_statistics(self, *args):
13666  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13667  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13668 
13669  def reset(self):
13670  r"""reset(MoveStatisticsScoreState self)"""
13671  return _IMP_core.MoveStatisticsScoreState_reset(self)
13672 
13673  def do_before_evaluate(self):
13674  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13675  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13676 
13677  def do_after_evaluate(self, da):
13678  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13679  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13680 
13681  def do_get_inputs(self):
13682  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13683  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13684 
13685  def do_get_outputs(self):
13686  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13687  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13688 
13689  def get_version_info(self):
13690  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13691  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13692  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13693 
13694  def __str__(self):
13695  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13696  return _IMP_core.MoveStatisticsScoreState___str__(self)
13697 
13698  def __repr__(self):
13699  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13700  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13701 
13702  @staticmethod
13703  def get_from(o):
13704  return _object_cast_to_MoveStatisticsScoreState(o)
13705 
13706 
13707 # Register MoveStatisticsScoreState in _IMP_core:
13708 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13709 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
13710 
13711 class Typed(IMP.Decorator):
13712  r"""Proxy of C++ IMP::core::Typed class."""
13713 
13714  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13715 
13716  @staticmethod
13717  def get_type_key():
13718  r"""get_type_key() -> IntKey"""
13719  return _IMP_core.Typed_get_type_key()
13720 
13721  def __init__(self, *args):
13722  r"""
13723  __init__(Typed self) -> Typed
13724  __init__(Typed self, Model m, ParticleIndex id) -> Typed
13725  __init__(Typed self, _ParticleAdaptor d) -> Typed
13726  """
13727  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
13728 
13729  def show(self, *args):
13730  r"""show(Typed self, _ostream out=std::cout)"""
13731  return _IMP_core.Typed_show(self, *args)
13732 
13733  @staticmethod
13734  def setup_particle(*args):
13735  r"""
13736  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
13737  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
13738  """
13739  return _IMP_core.Typed_setup_particle(*args)
13740 
13741  @staticmethod
13742  def get_is_setup(*args):
13743  r"""
13744  get_is_setup(_ParticleAdaptor p) -> bool
13745  get_is_setup(Model m, ParticleIndex pi) -> bool
13746  """
13747  return _IMP_core.Typed_get_is_setup(*args)
13748 
13749  def get_type(self):
13750  r"""get_type(Typed self) -> ParticleType"""
13751  return _IMP_core.Typed_get_type(self)
13752 
13753  def set_type(self, pt):
13754  r"""set_type(Typed self, ParticleType pt)"""
13755  return _IMP_core.Typed_set_type(self, pt)
13756 
13757  def add_attribute(self, *args):
13758  r"""
13759  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
13760  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
13761  add_attribute(Typed self, IntKey a0, IMP::Int a1)
13762  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
13763  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
13764  add_attribute(Typed self, StringKey a0, IMP::String a1)
13765  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
13766  add_attribute(Typed self, ObjectKey a0, Object a1)
13767  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
13768  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
13769  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
13770  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13771  """
13772  return _IMP_core.Typed_add_attribute(self, *args)
13773 
13774  def get_value(self, *args):
13775  r"""
13776  get_value(Typed self, FloatKey a0) -> IMP::Float
13777  get_value(Typed self, IntKey a0) -> IMP::Int
13778  get_value(Typed self, FloatsKey a0) -> IMP::Floats
13779  get_value(Typed self, IntsKey a0) -> IMP::Ints
13780  get_value(Typed self, StringKey a0) -> IMP::String
13781  get_value(Typed self, ParticleIndexKey a0) -> Particle
13782  get_value(Typed self, ObjectKey a0) -> Object
13783  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
13784  get_value(Typed self, SparseIntKey a0) -> IMP::Int
13785  get_value(Typed self, SparseStringKey a0) -> IMP::String
13786  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
13787  """
13788  return _IMP_core.Typed_get_value(self, *args)
13789 
13790  def set_value(self, *args):
13791  r"""
13792  set_value(Typed self, FloatKey a0, IMP::Float a1)
13793  set_value(Typed self, IntKey a0, IMP::Int a1)
13794  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
13795  set_value(Typed self, IntsKey a0, IMP::Ints a1)
13796  set_value(Typed self, StringKey a0, IMP::String a1)
13797  set_value(Typed self, ParticleIndexKey a0, Particle a1)
13798  set_value(Typed self, ObjectKey a0, Object a1)
13799  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
13800  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
13801  set_value(Typed self, SparseStringKey a0, IMP::String a1)
13802  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
13803  """
13804  return _IMP_core.Typed_set_value(self, *args)
13805 
13806  def remove_attribute(self, *args):
13807  r"""
13808  remove_attribute(Typed self, FloatKey a0)
13809  remove_attribute(Typed self, IntKey a0)
13810  remove_attribute(Typed self, FloatsKey a0)
13811  remove_attribute(Typed self, IntsKey a0)
13812  remove_attribute(Typed self, StringKey a0)
13813  remove_attribute(Typed self, ParticleIndexKey a0)
13814  remove_attribute(Typed self, ObjectKey a0)
13815  remove_attribute(Typed self, SparseFloatKey a0)
13816  remove_attribute(Typed self, SparseIntKey a0)
13817  remove_attribute(Typed self, SparseStringKey a0)
13818  remove_attribute(Typed self, SparseParticleIndexKey a0)
13819  """
13820  return _IMP_core.Typed_remove_attribute(self, *args)
13821 
13822  def has_attribute(self, *args):
13823  r"""
13824  has_attribute(Typed self, FloatKey a0) -> bool
13825  has_attribute(Typed self, IntKey a0) -> bool
13826  has_attribute(Typed self, FloatsKey a0) -> bool
13827  has_attribute(Typed self, IntsKey a0) -> bool
13828  has_attribute(Typed self, StringKey a0) -> bool
13829  has_attribute(Typed self, ParticleIndexKey a0) -> bool
13830  has_attribute(Typed self, ObjectKey a0) -> bool
13831  has_attribute(Typed self, SparseFloatKey a0) -> bool
13832  has_attribute(Typed self, SparseIntKey a0) -> bool
13833  has_attribute(Typed self, SparseStringKey a0) -> bool
13834  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
13835  """
13836  return _IMP_core.Typed_has_attribute(self, *args)
13837 
13838  def get_derivative(self, a0):
13839  r"""get_derivative(Typed self, FloatKey a0) -> double"""
13840  return _IMP_core.Typed_get_derivative(self, a0)
13841 
13842  def get_name(self):
13843  r"""get_name(Typed self) -> std::string"""
13844  return _IMP_core.Typed_get_name(self)
13845 
13846  def clear_caches(self):
13847  r"""clear_caches(Typed self)"""
13848  return _IMP_core.Typed_clear_caches(self)
13849 
13850  def set_name(self, a0):
13851  r"""set_name(Typed self, std::string a0)"""
13852  return _IMP_core.Typed_set_name(self, a0)
13853 
13854  def set_check_level(self, a0):
13855  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
13856  return _IMP_core.Typed_set_check_level(self, a0)
13857 
13858  def add_to_derivative(self, a0, a1, a2):
13859  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13860  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
13861 
13862  def set_is_optimized(self, a0, a1):
13863  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
13864  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
13865 
13866  def get_is_optimized(self, a0):
13867  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
13868  return _IMP_core.Typed_get_is_optimized(self, a0)
13869 
13870  def get_check_level(self):
13871  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
13872  return _IMP_core.Typed_get_check_level(self)
13873 
13874  def __eq__(self, *args):
13875  r"""
13876  __eq__(Typed self, Typed o) -> bool
13877  __eq__(Typed self, Particle d) -> bool
13878  """
13879  return _IMP_core.Typed___eq__(self, *args)
13880 
13881  def __ne__(self, *args):
13882  r"""
13883  __ne__(Typed self, Typed o) -> bool
13884  __ne__(Typed self, Particle d) -> bool
13885  """
13886  return _IMP_core.Typed___ne__(self, *args)
13887 
13888  def __le__(self, *args):
13889  r"""
13890  __le__(Typed self, Typed o) -> bool
13891  __le__(Typed self, Particle d) -> bool
13892  """
13893  return _IMP_core.Typed___le__(self, *args)
13894 
13895  def __lt__(self, *args):
13896  r"""
13897  __lt__(Typed self, Typed o) -> bool
13898  __lt__(Typed self, Particle d) -> bool
13899  """
13900  return _IMP_core.Typed___lt__(self, *args)
13901 
13902  def __ge__(self, *args):
13903  r"""
13904  __ge__(Typed self, Typed o) -> bool
13905  __ge__(Typed self, Particle d) -> bool
13906  """
13907  return _IMP_core.Typed___ge__(self, *args)
13908 
13909  def __gt__(self, *args):
13910  r"""
13911  __gt__(Typed self, Typed o) -> bool
13912  __gt__(Typed self, Particle d) -> bool
13913  """
13914  return _IMP_core.Typed___gt__(self, *args)
13915 
13916  def __hash__(self):
13917  r"""__hash__(Typed self) -> std::size_t"""
13918  return _IMP_core.Typed___hash__(self)
13919 
13920  def __str__(self):
13921  r"""__str__(Typed self) -> std::string"""
13922  return _IMP_core.Typed___str__(self)
13923 
13924  def __repr__(self):
13925  r"""__repr__(Typed self) -> std::string"""
13926  return _IMP_core.Typed___repr__(self)
13927 
13928  def _get_as_binary(self):
13929  r"""_get_as_binary(Typed self) -> PyObject *"""
13930  return _IMP_core.Typed__get_as_binary(self)
13931 
13932  def _set_from_binary(self, p):
13933  r"""_set_from_binary(Typed self, PyObject * p)"""
13934  return _IMP_core.Typed__set_from_binary(self, p)
13935 
13936  def __getstate__(self):
13937  p = self._get_as_binary()
13938  if len(self.__dict__) > 1:
13939  d = self.__dict__.copy()
13940  del d['this']
13941  p = (d, p)
13942  return p
13943 
13944  def __setstate__(self, p):
13945  if not hasattr(self, 'this'):
13946  self.__init__()
13947  if isinstance(p, tuple):
13948  d, p = p
13949  self.__dict__.update(d)
13950  return self._set_from_binary(p)
13951 
13952  __swig_destroy__ = _IMP_core.delete_Typed
13953 
13954 # Register Typed in _IMP_core:
13955 _IMP_core.Typed_swigregister(Typed)
13956 
13957 def __lshift__(*args):
13958  r"""
13959  __lshift__(_ostream out, XYZ n) -> _ostream
13960  __lshift__(_ostream out, XYZR n) -> _ostream
13961  __lshift__(_ostream out, Direction n) -> _ostream
13962  __lshift__(_ostream out, DirectionAngle n) -> _ostream
13963  __lshift__(_ostream out, Surface n) -> _ostream
13964  __lshift__(_ostream out, Centroid n) -> _ostream
13965  __lshift__(_ostream out, Cover n) -> _ostream
13966  __lshift__(_ostream out, Reference n) -> _ostream
13967  __lshift__(_ostream out, RigidMember n) -> _ostream
13968  __lshift__(_ostream out, RigidBody n) -> _ostream
13969  __lshift__(_ostream out, Gaussian n) -> _ostream
13970  __lshift__(_ostream out, Typed n) -> _ostream
13971  """
13972  return _IMP_core.__lshift__(*args)
13973 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
13974  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
13975 
13976  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13977 
13978  def __init__(self, rs, out):
13979  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
13980  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
13981 
13982  def get_version_info(self):
13983  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
13984  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
13985  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
13986 
13987  def __str__(self):
13988  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
13989  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
13990 
13991  def __repr__(self):
13992  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
13993  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
13994 
13995  @staticmethod
13996  def get_from(o):
13997  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
13998 
13999 
14000 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14001 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14002 
14003 def assign_blame(rs, ps, attribute):
14004  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14005  return _IMP_core.assign_blame(rs, ps, attribute)
14006 
14007 def create_blame_geometries(*args):
14008  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14009  return _IMP_core.create_blame_geometries(*args)
14010 class MultipleBinormalRestraint(IMP.Restraint):
14011  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14012 
14013  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14014 
14015  def __init__(self, m, q1, q2):
14016  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14017  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14018 
14019  def add_term(self, term):
14020  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14021  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14022 
14023  def do_get_inputs(self):
14024  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14025  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14026 
14027  def get_version_info(self):
14028  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14029  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14030  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14031 
14032  def __str__(self):
14033  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14034  return _IMP_core.MultipleBinormalRestraint___str__(self)
14035 
14036  def __repr__(self):
14037  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14038  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14039 
14040  @staticmethod
14041  def get_from(o):
14042  return _object_cast_to_MultipleBinormalRestraint(o)
14043 
14044 
14045 # Register MultipleBinormalRestraint in _IMP_core:
14046 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14047 class BinormalTerm(object):
14048  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14049 
14050  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14051 
14052  def __init__(self):
14053  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14054  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14055 
14056  def set_correlation(self, correlation):
14057  r"""set_correlation(BinormalTerm self, double correlation)"""
14058  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14059 
14060  def set_weight(self, weight):
14061  r"""set_weight(BinormalTerm self, double weight)"""
14062  return _IMP_core.BinormalTerm_set_weight(self, weight)
14063 
14064  def set_means(self, means):
14065  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14066  return _IMP_core.BinormalTerm_set_means(self, means)
14067 
14068  def set_standard_deviations(self, stdevs):
14069  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14070  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14071 
14072  def show(self, *args):
14073  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14074  return _IMP_core.BinormalTerm_show(self, *args)
14075 
14076  def __str__(self):
14077  r"""__str__(BinormalTerm self) -> std::string"""
14078  return _IMP_core.BinormalTerm___str__(self)
14079 
14080  def __repr__(self):
14081  r"""__repr__(BinormalTerm self) -> std::string"""
14082  return _IMP_core.BinormalTerm___repr__(self)
14083 
14084  def _get_as_binary(self):
14085  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14086  return _IMP_core.BinormalTerm__get_as_binary(self)
14087 
14088  def _set_from_binary(self, p):
14089  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14090  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14091 
14092  def __getstate__(self):
14093  p = self._get_as_binary()
14094  if len(self.__dict__) > 1:
14095  d = self.__dict__.copy()
14096  del d['this']
14097  p = (d, p)
14098  return p
14099 
14100  def __setstate__(self, p):
14101  if not hasattr(self, 'this'):
14102  self.__init__()
14103  if isinstance(p, tuple):
14104  d, p = p
14105  self.__dict__.update(d)
14106  return self._set_from_binary(p)
14107 
14108  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14109 
14110 # Register BinormalTerm in _IMP_core:
14111 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14112 class Provenance(IMP.Decorator):
14113  r"""Proxy of C++ IMP::core::Provenance class."""
14114 
14115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14116 
14117  def get_previous(self):
14118  r"""get_previous(Provenance self) -> Provenance"""
14119  return _IMP_core.Provenance_get_previous(self)
14120 
14121  def set_previous(self, p):
14122  r"""set_previous(Provenance self, Provenance p)"""
14123  return _IMP_core.Provenance_set_previous(self, p)
14124 
14125  def __init__(self, *args):
14126  r"""
14127  __init__(Provenance self) -> Provenance
14128  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14129  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14130  """
14131  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14132 
14133  @staticmethod
14134  def get_is_setup(*args):
14135  r"""
14136  get_is_setup(Model m, ParticleIndex pi) -> bool
14137  get_is_setup(_ParticleAdaptor p) -> bool
14138  """
14139  return _IMP_core.Provenance_get_is_setup(*args)
14140 
14141  def show(self, *args):
14142  r"""show(Provenance self, _ostream out=std::cout)"""
14143  return _IMP_core.Provenance_show(self, *args)
14144 
14145  @staticmethod
14146  def setup_particle(*args):
14147  r"""
14148  setup_particle(Model m, ParticleIndex pi) -> Provenance
14149  setup_particle(_ParticleAdaptor pa) -> Provenance
14150  """
14151  return _IMP_core.Provenance_setup_particle(*args)
14152 
14153  def add_attribute(self, *args):
14154  r"""
14155  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14156  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14157  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14158  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14159  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14160  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14161  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14162  add_attribute(Provenance self, ObjectKey a0, Object a1)
14163  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14164  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14165  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14166  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14167  """
14168  return _IMP_core.Provenance_add_attribute(self, *args)
14169 
14170  def get_value(self, *args):
14171  r"""
14172  get_value(Provenance self, FloatKey a0) -> IMP::Float
14173  get_value(Provenance self, IntKey a0) -> IMP::Int
14174  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14175  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14176  get_value(Provenance self, StringKey a0) -> IMP::String
14177  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14178  get_value(Provenance self, ObjectKey a0) -> Object
14179  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14180  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14181  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14182  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14183  """
14184  return _IMP_core.Provenance_get_value(self, *args)
14185 
14186  def set_value(self, *args):
14187  r"""
14188  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14189  set_value(Provenance self, IntKey a0, IMP::Int a1)
14190  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14191  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14192  set_value(Provenance self, StringKey a0, IMP::String a1)
14193  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14194  set_value(Provenance self, ObjectKey a0, Object a1)
14195  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14196  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14197  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14198  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14199  """
14200  return _IMP_core.Provenance_set_value(self, *args)
14201 
14202  def remove_attribute(self, *args):
14203  r"""
14204  remove_attribute(Provenance self, FloatKey a0)
14205  remove_attribute(Provenance self, IntKey a0)
14206  remove_attribute(Provenance self, FloatsKey a0)
14207  remove_attribute(Provenance self, IntsKey a0)
14208  remove_attribute(Provenance self, StringKey a0)
14209  remove_attribute(Provenance self, ParticleIndexKey a0)
14210  remove_attribute(Provenance self, ObjectKey a0)
14211  remove_attribute(Provenance self, SparseFloatKey a0)
14212  remove_attribute(Provenance self, SparseIntKey a0)
14213  remove_attribute(Provenance self, SparseStringKey a0)
14214  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14215  """
14216  return _IMP_core.Provenance_remove_attribute(self, *args)
14217 
14218  def has_attribute(self, *args):
14219  r"""
14220  has_attribute(Provenance self, FloatKey a0) -> bool
14221  has_attribute(Provenance self, IntKey a0) -> bool
14222  has_attribute(Provenance self, FloatsKey a0) -> bool
14223  has_attribute(Provenance self, IntsKey a0) -> bool
14224  has_attribute(Provenance self, StringKey a0) -> bool
14225  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14226  has_attribute(Provenance self, ObjectKey a0) -> bool
14227  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14228  has_attribute(Provenance self, SparseIntKey a0) -> bool
14229  has_attribute(Provenance self, SparseStringKey a0) -> bool
14230  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14231  """
14232  return _IMP_core.Provenance_has_attribute(self, *args)
14233 
14234  def get_derivative(self, a0):
14235  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14236  return _IMP_core.Provenance_get_derivative(self, a0)
14237 
14238  def get_name(self):
14239  r"""get_name(Provenance self) -> std::string"""
14240  return _IMP_core.Provenance_get_name(self)
14241 
14242  def clear_caches(self):
14243  r"""clear_caches(Provenance self)"""
14244  return _IMP_core.Provenance_clear_caches(self)
14245 
14246  def set_name(self, a0):
14247  r"""set_name(Provenance self, std::string a0)"""
14248  return _IMP_core.Provenance_set_name(self, a0)
14249 
14250  def set_check_level(self, a0):
14251  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14252  return _IMP_core.Provenance_set_check_level(self, a0)
14253 
14254  def add_to_derivative(self, a0, a1, a2):
14255  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14256  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14257 
14258  def set_is_optimized(self, a0, a1):
14259  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14260  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14261 
14262  def get_is_optimized(self, a0):
14263  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14264  return _IMP_core.Provenance_get_is_optimized(self, a0)
14265 
14266  def get_check_level(self):
14267  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14268  return _IMP_core.Provenance_get_check_level(self)
14269 
14270  def __eq__(self, *args):
14271  r"""
14272  __eq__(Provenance self, Provenance o) -> bool
14273  __eq__(Provenance self, Particle d) -> bool
14274  """
14275  return _IMP_core.Provenance___eq__(self, *args)
14276 
14277  def __ne__(self, *args):
14278  r"""
14279  __ne__(Provenance self, Provenance o) -> bool
14280  __ne__(Provenance self, Particle d) -> bool
14281  """
14282  return _IMP_core.Provenance___ne__(self, *args)
14283 
14284  def __le__(self, *args):
14285  r"""
14286  __le__(Provenance self, Provenance o) -> bool
14287  __le__(Provenance self, Particle d) -> bool
14288  """
14289  return _IMP_core.Provenance___le__(self, *args)
14290 
14291  def __lt__(self, *args):
14292  r"""
14293  __lt__(Provenance self, Provenance o) -> bool
14294  __lt__(Provenance self, Particle d) -> bool
14295  """
14296  return _IMP_core.Provenance___lt__(self, *args)
14297 
14298  def __ge__(self, *args):
14299  r"""
14300  __ge__(Provenance self, Provenance o) -> bool
14301  __ge__(Provenance self, Particle d) -> bool
14302  """
14303  return _IMP_core.Provenance___ge__(self, *args)
14304 
14305  def __gt__(self, *args):
14306  r"""
14307  __gt__(Provenance self, Provenance o) -> bool
14308  __gt__(Provenance self, Particle d) -> bool
14309  """
14310  return _IMP_core.Provenance___gt__(self, *args)
14311 
14312  def __hash__(self):
14313  r"""__hash__(Provenance self) -> std::size_t"""
14314  return _IMP_core.Provenance___hash__(self)
14315 
14316  def __str__(self):
14317  r"""__str__(Provenance self) -> std::string"""
14318  return _IMP_core.Provenance___str__(self)
14319 
14320  def __repr__(self):
14321  r"""__repr__(Provenance self) -> std::string"""
14322  return _IMP_core.Provenance___repr__(self)
14323 
14324  def _get_as_binary(self):
14325  r"""_get_as_binary(Provenance self) -> PyObject *"""
14326  return _IMP_core.Provenance__get_as_binary(self)
14327 
14328  def _set_from_binary(self, p):
14329  r"""_set_from_binary(Provenance self, PyObject * p)"""
14330  return _IMP_core.Provenance__set_from_binary(self, p)
14331 
14332  def __getstate__(self):
14333  p = self._get_as_binary()
14334  if len(self.__dict__) > 1:
14335  d = self.__dict__.copy()
14336  del d['this']
14337  p = (d, p)
14338  return p
14339 
14340  def __setstate__(self, p):
14341  if not hasattr(self, 'this'):
14342  self.__init__()
14343  if isinstance(p, tuple):
14344  d, p = p
14345  self.__dict__.update(d)
14346  return self._set_from_binary(p)
14347 
14348  __swig_destroy__ = _IMP_core.delete_Provenance
14349 
14350 # Register Provenance in _IMP_core:
14351 _IMP_core.Provenance_swigregister(Provenance)
14352 class StructureProvenance(Provenance):
14353  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14354 
14355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14356 
14357  def set_filename(self, filename):
14358  r"""set_filename(StructureProvenance self, std::string filename)"""
14359  return _IMP_core.StructureProvenance_set_filename(self, filename)
14360 
14361  def get_filename(self):
14362  r"""get_filename(StructureProvenance self) -> std::string"""
14363  return _IMP_core.StructureProvenance_get_filename(self)
14364 
14365  def set_chain_id(self, chain_id):
14366  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14367  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14368 
14369  def get_chain_id(self):
14370  r"""get_chain_id(StructureProvenance self) -> std::string"""
14371  return _IMP_core.StructureProvenance_get_chain_id(self)
14372 
14373  def set_residue_offset(self, residue_offset):
14374  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14375  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14376 
14377  def get_residue_offset(self):
14378  r"""get_residue_offset(StructureProvenance self) -> int"""
14379  return _IMP_core.StructureProvenance_get_residue_offset(self)
14380 
14381  def __init__(self, *args):
14382  r"""
14383  __init__(StructureProvenance self) -> StructureProvenance
14384  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14385  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14386  """
14387  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14388 
14389  @staticmethod
14390  def get_is_setup(*args):
14391  r"""
14392  get_is_setup(Model m, ParticleIndex pi) -> bool
14393  get_is_setup(_ParticleAdaptor p) -> bool
14394  """
14395  return _IMP_core.StructureProvenance_get_is_setup(*args)
14396 
14397  def show(self, *args):
14398  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14399  return _IMP_core.StructureProvenance_show(self, *args)
14400 
14401  @staticmethod
14402  def setup_particle(*args):
14403  r"""
14404  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14405  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14406  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14407  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14408  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14409  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14410  """
14411  return _IMP_core.StructureProvenance_setup_particle(*args)
14412 
14413  def add_attribute(self, *args):
14414  r"""
14415  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14416  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14417  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14418  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14419  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14420  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14421  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14422  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14423  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14424  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14425  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14426  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14427  """
14428  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14429 
14430  def get_value(self, *args):
14431  r"""
14432  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14433  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14434  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14435  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14436  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14437  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14438  get_value(StructureProvenance self, ObjectKey a0) -> Object
14439  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14440  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14441  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14442  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14443  """
14444  return _IMP_core.StructureProvenance_get_value(self, *args)
14445 
14446  def set_value(self, *args):
14447  r"""
14448  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14449  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14450  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14451  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14452  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14453  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14454  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14455  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14456  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14457  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14458  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14459  """
14460  return _IMP_core.StructureProvenance_set_value(self, *args)
14461 
14462  def remove_attribute(self, *args):
14463  r"""
14464  remove_attribute(StructureProvenance self, FloatKey a0)
14465  remove_attribute(StructureProvenance self, IntKey a0)
14466  remove_attribute(StructureProvenance self, FloatsKey a0)
14467  remove_attribute(StructureProvenance self, IntsKey a0)
14468  remove_attribute(StructureProvenance self, StringKey a0)
14469  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14470  remove_attribute(StructureProvenance self, ObjectKey a0)
14471  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14472  remove_attribute(StructureProvenance self, SparseIntKey a0)
14473  remove_attribute(StructureProvenance self, SparseStringKey a0)
14474  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14475  """
14476  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14477 
14478  def has_attribute(self, *args):
14479  r"""
14480  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14481  has_attribute(StructureProvenance self, IntKey a0) -> bool
14482  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14483  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14484  has_attribute(StructureProvenance self, StringKey a0) -> bool
14485  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14486  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14487  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14488  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14489  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14490  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14491  """
14492  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14493 
14494  def get_derivative(self, a0):
14495  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14496  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14497 
14498  def get_name(self):
14499  r"""get_name(StructureProvenance self) -> std::string"""
14500  return _IMP_core.StructureProvenance_get_name(self)
14501 
14502  def clear_caches(self):
14503  r"""clear_caches(StructureProvenance self)"""
14504  return _IMP_core.StructureProvenance_clear_caches(self)
14505 
14506  def set_name(self, a0):
14507  r"""set_name(StructureProvenance self, std::string a0)"""
14508  return _IMP_core.StructureProvenance_set_name(self, a0)
14509 
14510  def set_check_level(self, a0):
14511  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14512  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14513 
14514  def add_to_derivative(self, a0, a1, a2):
14515  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14516  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14517 
14518  def set_is_optimized(self, a0, a1):
14519  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14520  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14521 
14522  def get_is_optimized(self, a0):
14523  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14524  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14525 
14526  def get_check_level(self):
14527  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14528  return _IMP_core.StructureProvenance_get_check_level(self)
14529 
14530  def __eq__(self, *args):
14531  r"""
14532  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14533  __eq__(StructureProvenance self, Particle d) -> bool
14534  """
14535  return _IMP_core.StructureProvenance___eq__(self, *args)
14536 
14537  def __ne__(self, *args):
14538  r"""
14539  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14540  __ne__(StructureProvenance self, Particle d) -> bool
14541  """
14542  return _IMP_core.StructureProvenance___ne__(self, *args)
14543 
14544  def __le__(self, *args):
14545  r"""
14546  __le__(StructureProvenance self, StructureProvenance o) -> bool
14547  __le__(StructureProvenance self, Particle d) -> bool
14548  """
14549  return _IMP_core.StructureProvenance___le__(self, *args)
14550 
14551  def __lt__(self, *args):
14552  r"""
14553  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14554  __lt__(StructureProvenance self, Particle d) -> bool
14555  """
14556  return _IMP_core.StructureProvenance___lt__(self, *args)
14557 
14558  def __ge__(self, *args):
14559  r"""
14560  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14561  __ge__(StructureProvenance self, Particle d) -> bool
14562  """
14563  return _IMP_core.StructureProvenance___ge__(self, *args)
14564 
14565  def __gt__(self, *args):
14566  r"""
14567  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14568  __gt__(StructureProvenance self, Particle d) -> bool
14569  """
14570  return _IMP_core.StructureProvenance___gt__(self, *args)
14571 
14572  def __hash__(self):
14573  r"""__hash__(StructureProvenance self) -> std::size_t"""
14574  return _IMP_core.StructureProvenance___hash__(self)
14575 
14576  def __str__(self):
14577  r"""__str__(StructureProvenance self) -> std::string"""
14578  return _IMP_core.StructureProvenance___str__(self)
14579 
14580  def __repr__(self):
14581  r"""__repr__(StructureProvenance self) -> std::string"""
14582  return _IMP_core.StructureProvenance___repr__(self)
14583 
14584  def _get_as_binary(self):
14585  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14586  return _IMP_core.StructureProvenance__get_as_binary(self)
14587 
14588  def _set_from_binary(self, p):
14589  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14590  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14591 
14592  def __getstate__(self):
14593  p = self._get_as_binary()
14594  if len(self.__dict__) > 1:
14595  d = self.__dict__.copy()
14596  del d['this']
14597  p = (d, p)
14598  return p
14599 
14600  def __setstate__(self, p):
14601  if not hasattr(self, 'this'):
14602  self.__init__()
14603  if isinstance(p, tuple):
14604  d, p = p
14605  self.__dict__.update(d)
14606  return self._set_from_binary(p)
14607 
14608  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14609 
14610 # Register StructureProvenance in _IMP_core:
14611 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14612 class SampleProvenance(Provenance):
14613  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14614 
14615  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14616 
14617  def set_method(self, method):
14618  r"""set_method(SampleProvenance self, std::string method)"""
14619  return _IMP_core.SampleProvenance_set_method(self, method)
14620 
14621  def get_method(self):
14622  r"""get_method(SampleProvenance self) -> std::string"""
14623  return _IMP_core.SampleProvenance_get_method(self)
14624 
14625  def set_number_of_frames(self, frames):
14626  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14627  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14628 
14629  def get_number_of_frames(self):
14630  r"""get_number_of_frames(SampleProvenance self) -> int"""
14631  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14632 
14633  def set_number_of_iterations(self, iterations):
14634  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14635  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14636 
14637  def get_number_of_iterations(self):
14638  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14639  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14640 
14641  def set_number_of_replicas(self, replicas):
14642  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14643  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14644 
14645  def get_number_of_replicas(self):
14646  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14647  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14648 
14649  def __init__(self, *args):
14650  r"""
14651  __init__(SampleProvenance self) -> SampleProvenance
14652  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14653  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14654  """
14655  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14656 
14657  @staticmethod
14658  def get_is_setup(*args):
14659  r"""
14660  get_is_setup(Model m, ParticleIndex pi) -> bool
14661  get_is_setup(_ParticleAdaptor p) -> bool
14662  """
14663  return _IMP_core.SampleProvenance_get_is_setup(*args)
14664 
14665  def show(self, *args):
14666  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14667  return _IMP_core.SampleProvenance_show(self, *args)
14668 
14669  @staticmethod
14670  def setup_particle(*args):
14671  r"""
14672  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14673  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14674  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14675  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14676  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14677  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14678  """
14679  return _IMP_core.SampleProvenance_setup_particle(*args)
14680 
14681  def add_attribute(self, *args):
14682  r"""
14683  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14684  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14685  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14686  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14687  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14688  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14689  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14690  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14691  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14692  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14693  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14694  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14695  """
14696  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14697 
14698  def get_value(self, *args):
14699  r"""
14700  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14701  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14702  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14703  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14704  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14705  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14706  get_value(SampleProvenance self, ObjectKey a0) -> Object
14707  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14708  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14709  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
14710  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14711  """
14712  return _IMP_core.SampleProvenance_get_value(self, *args)
14713 
14714  def set_value(self, *args):
14715  r"""
14716  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
14717  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
14718  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14719  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14720  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
14721  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14722  set_value(SampleProvenance self, ObjectKey a0, Object a1)
14723  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14724  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14725  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14726  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14727  """
14728  return _IMP_core.SampleProvenance_set_value(self, *args)
14729 
14730  def remove_attribute(self, *args):
14731  r"""
14732  remove_attribute(SampleProvenance self, FloatKey a0)
14733  remove_attribute(SampleProvenance self, IntKey a0)
14734  remove_attribute(SampleProvenance self, FloatsKey a0)
14735  remove_attribute(SampleProvenance self, IntsKey a0)
14736  remove_attribute(SampleProvenance self, StringKey a0)
14737  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
14738  remove_attribute(SampleProvenance self, ObjectKey a0)
14739  remove_attribute(SampleProvenance self, SparseFloatKey a0)
14740  remove_attribute(SampleProvenance self, SparseIntKey a0)
14741  remove_attribute(SampleProvenance self, SparseStringKey a0)
14742  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
14743  """
14744  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
14745 
14746  def has_attribute(self, *args):
14747  r"""
14748  has_attribute(SampleProvenance self, FloatKey a0) -> bool
14749  has_attribute(SampleProvenance self, IntKey a0) -> bool
14750  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
14751  has_attribute(SampleProvenance self, IntsKey a0) -> bool
14752  has_attribute(SampleProvenance self, StringKey a0) -> bool
14753  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
14754  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
14755  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
14756  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
14757  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
14758  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
14759  """
14760  return _IMP_core.SampleProvenance_has_attribute(self, *args)
14761 
14762  def get_derivative(self, a0):
14763  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
14764  return _IMP_core.SampleProvenance_get_derivative(self, a0)
14765 
14766  def get_name(self):
14767  r"""get_name(SampleProvenance self) -> std::string"""
14768  return _IMP_core.SampleProvenance_get_name(self)
14769 
14770  def clear_caches(self):
14771  r"""clear_caches(SampleProvenance self)"""
14772  return _IMP_core.SampleProvenance_clear_caches(self)
14773 
14774  def set_name(self, a0):
14775  r"""set_name(SampleProvenance self, std::string a0)"""
14776  return _IMP_core.SampleProvenance_set_name(self, a0)
14777 
14778  def set_check_level(self, a0):
14779  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
14780  return _IMP_core.SampleProvenance_set_check_level(self, a0)
14781 
14782  def add_to_derivative(self, a0, a1, a2):
14783  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14784  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
14785 
14786  def set_is_optimized(self, a0, a1):
14787  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
14788  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
14789 
14790  def get_is_optimized(self, a0):
14791  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
14792  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
14793 
14794  def get_check_level(self):
14795  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
14796  return _IMP_core.SampleProvenance_get_check_level(self)
14797 
14798  def __eq__(self, *args):
14799  r"""
14800  __eq__(SampleProvenance self, SampleProvenance o) -> bool
14801  __eq__(SampleProvenance self, Particle d) -> bool
14802  """
14803  return _IMP_core.SampleProvenance___eq__(self, *args)
14804 
14805  def __ne__(self, *args):
14806  r"""
14807  __ne__(SampleProvenance self, SampleProvenance o) -> bool
14808  __ne__(SampleProvenance self, Particle d) -> bool
14809  """
14810  return _IMP_core.SampleProvenance___ne__(self, *args)
14811 
14812  def __le__(self, *args):
14813  r"""
14814  __le__(SampleProvenance self, SampleProvenance o) -> bool
14815  __le__(SampleProvenance self, Particle d) -> bool
14816  """
14817  return _IMP_core.SampleProvenance___le__(self, *args)
14818 
14819  def __lt__(self, *args):
14820  r"""
14821  __lt__(SampleProvenance self, SampleProvenance o) -> bool
14822  __lt__(SampleProvenance self, Particle d) -> bool
14823  """
14824  return _IMP_core.SampleProvenance___lt__(self, *args)
14825 
14826  def __ge__(self, *args):
14827  r"""
14828  __ge__(SampleProvenance self, SampleProvenance o) -> bool
14829  __ge__(SampleProvenance self, Particle d) -> bool
14830  """
14831  return _IMP_core.SampleProvenance___ge__(self, *args)
14832 
14833  def __gt__(self, *args):
14834  r"""
14835  __gt__(SampleProvenance self, SampleProvenance o) -> bool
14836  __gt__(SampleProvenance self, Particle d) -> bool
14837  """
14838  return _IMP_core.SampleProvenance___gt__(self, *args)
14839 
14840  def __hash__(self):
14841  r"""__hash__(SampleProvenance self) -> std::size_t"""
14842  return _IMP_core.SampleProvenance___hash__(self)
14843 
14844  def __str__(self):
14845  r"""__str__(SampleProvenance self) -> std::string"""
14846  return _IMP_core.SampleProvenance___str__(self)
14847 
14848  def __repr__(self):
14849  r"""__repr__(SampleProvenance self) -> std::string"""
14850  return _IMP_core.SampleProvenance___repr__(self)
14851 
14852  def _get_as_binary(self):
14853  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
14854  return _IMP_core.SampleProvenance__get_as_binary(self)
14855 
14856  def _set_from_binary(self, p):
14857  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
14858  return _IMP_core.SampleProvenance__set_from_binary(self, p)
14859 
14860  def __getstate__(self):
14861  p = self._get_as_binary()
14862  if len(self.__dict__) > 1:
14863  d = self.__dict__.copy()
14864  del d['this']
14865  p = (d, p)
14866  return p
14867 
14868  def __setstate__(self, p):
14869  if not hasattr(self, 'this'):
14870  self.__init__()
14871  if isinstance(p, tuple):
14872  d, p = p
14873  self.__dict__.update(d)
14874  return self._set_from_binary(p)
14875 
14876  __swig_destroy__ = _IMP_core.delete_SampleProvenance
14877 
14878 # Register SampleProvenance in _IMP_core:
14879 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
14880 class CombineProvenance(Provenance):
14881  r"""Proxy of C++ IMP::core::CombineProvenance class."""
14882 
14883  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14884 
14885  def set_number_of_frames(self, frames):
14886  r"""set_number_of_frames(CombineProvenance self, int frames)"""
14887  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
14888 
14889  def get_number_of_frames(self):
14890  r"""get_number_of_frames(CombineProvenance self) -> int"""
14891  return _IMP_core.CombineProvenance_get_number_of_frames(self)
14892 
14893  def set_number_of_runs(self, runs):
14894  r"""set_number_of_runs(CombineProvenance self, int runs)"""
14895  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
14896 
14897  def get_number_of_runs(self):
14898  r"""get_number_of_runs(CombineProvenance self) -> int"""
14899  return _IMP_core.CombineProvenance_get_number_of_runs(self)
14900 
14901  def __init__(self, *args):
14902  r"""
14903  __init__(CombineProvenance self) -> CombineProvenance
14904  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
14905  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
14906  """
14907  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
14908 
14909  @staticmethod
14910  def get_is_setup(*args):
14911  r"""
14912  get_is_setup(Model m, ParticleIndex pi) -> bool
14913  get_is_setup(_ParticleAdaptor p) -> bool
14914  """
14915  return _IMP_core.CombineProvenance_get_is_setup(*args)
14916 
14917  def show(self, *args):
14918  r"""show(CombineProvenance self, _ostream out=std::cout)"""
14919  return _IMP_core.CombineProvenance_show(self, *args)
14920 
14921  @staticmethod
14922  def setup_particle(*args):
14923  r"""
14924  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
14925  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
14926  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
14927  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
14928  """
14929  return _IMP_core.CombineProvenance_setup_particle(*args)
14930 
14931  def add_attribute(self, *args):
14932  r"""
14933  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
14934  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
14935  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
14936  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14937  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14938  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
14939  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14940  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
14941  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
14942  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
14943  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
14944  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14945  """
14946  return _IMP_core.CombineProvenance_add_attribute(self, *args)
14947 
14948  def get_value(self, *args):
14949  r"""
14950  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
14951  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
14952  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
14953  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
14954  get_value(CombineProvenance self, StringKey a0) -> IMP::String
14955  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
14956  get_value(CombineProvenance self, ObjectKey a0) -> Object
14957  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
14958  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
14959  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
14960  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14961  """
14962  return _IMP_core.CombineProvenance_get_value(self, *args)
14963 
14964  def set_value(self, *args):
14965  r"""
14966  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
14967  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
14968  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
14969  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
14970  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
14971  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
14972  set_value(CombineProvenance self, ObjectKey a0, Object a1)
14973  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
14974  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
14975  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
14976  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14977  """
14978  return _IMP_core.CombineProvenance_set_value(self, *args)
14979 
14980  def remove_attribute(self, *args):
14981  r"""
14982  remove_attribute(CombineProvenance self, FloatKey a0)
14983  remove_attribute(CombineProvenance self, IntKey a0)
14984  remove_attribute(CombineProvenance self, FloatsKey a0)
14985  remove_attribute(CombineProvenance self, IntsKey a0)
14986  remove_attribute(CombineProvenance self, StringKey a0)
14987  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
14988  remove_attribute(CombineProvenance self, ObjectKey a0)
14989  remove_attribute(CombineProvenance self, SparseFloatKey a0)
14990  remove_attribute(CombineProvenance self, SparseIntKey a0)
14991  remove_attribute(CombineProvenance self, SparseStringKey a0)
14992  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
14993  """
14994  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
14995 
14996  def has_attribute(self, *args):
14997  r"""
14998  has_attribute(CombineProvenance self, FloatKey a0) -> bool
14999  has_attribute(CombineProvenance self, IntKey a0) -> bool
15000  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15001  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15002  has_attribute(CombineProvenance self, StringKey a0) -> bool
15003  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15004  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15005  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15006  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15007  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15008  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15009  """
15010  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15011 
15012  def get_derivative(self, a0):
15013  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15014  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15015 
15016  def get_name(self):
15017  r"""get_name(CombineProvenance self) -> std::string"""
15018  return _IMP_core.CombineProvenance_get_name(self)
15019 
15020  def clear_caches(self):
15021  r"""clear_caches(CombineProvenance self)"""
15022  return _IMP_core.CombineProvenance_clear_caches(self)
15023 
15024  def set_name(self, a0):
15025  r"""set_name(CombineProvenance self, std::string a0)"""
15026  return _IMP_core.CombineProvenance_set_name(self, a0)
15027 
15028  def set_check_level(self, a0):
15029  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15030  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15031 
15032  def add_to_derivative(self, a0, a1, a2):
15033  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15034  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15035 
15036  def set_is_optimized(self, a0, a1):
15037  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15038  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15039 
15040  def get_is_optimized(self, a0):
15041  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15042  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15043 
15044  def get_check_level(self):
15045  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15046  return _IMP_core.CombineProvenance_get_check_level(self)
15047 
15048  def __eq__(self, *args):
15049  r"""
15050  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15051  __eq__(CombineProvenance self, Particle d) -> bool
15052  """
15053  return _IMP_core.CombineProvenance___eq__(self, *args)
15054 
15055  def __ne__(self, *args):
15056  r"""
15057  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15058  __ne__(CombineProvenance self, Particle d) -> bool
15059  """
15060  return _IMP_core.CombineProvenance___ne__(self, *args)
15061 
15062  def __le__(self, *args):
15063  r"""
15064  __le__(CombineProvenance self, CombineProvenance o) -> bool
15065  __le__(CombineProvenance self, Particle d) -> bool
15066  """
15067  return _IMP_core.CombineProvenance___le__(self, *args)
15068 
15069  def __lt__(self, *args):
15070  r"""
15071  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15072  __lt__(CombineProvenance self, Particle d) -> bool
15073  """
15074  return _IMP_core.CombineProvenance___lt__(self, *args)
15075 
15076  def __ge__(self, *args):
15077  r"""
15078  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15079  __ge__(CombineProvenance self, Particle d) -> bool
15080  """
15081  return _IMP_core.CombineProvenance___ge__(self, *args)
15082 
15083  def __gt__(self, *args):
15084  r"""
15085  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15086  __gt__(CombineProvenance self, Particle d) -> bool
15087  """
15088  return _IMP_core.CombineProvenance___gt__(self, *args)
15089 
15090  def __hash__(self):
15091  r"""__hash__(CombineProvenance self) -> std::size_t"""
15092  return _IMP_core.CombineProvenance___hash__(self)
15093 
15094  def __str__(self):
15095  r"""__str__(CombineProvenance self) -> std::string"""
15096  return _IMP_core.CombineProvenance___str__(self)
15097 
15098  def __repr__(self):
15099  r"""__repr__(CombineProvenance self) -> std::string"""
15100  return _IMP_core.CombineProvenance___repr__(self)
15101 
15102  def _get_as_binary(self):
15103  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15104  return _IMP_core.CombineProvenance__get_as_binary(self)
15105 
15106  def _set_from_binary(self, p):
15107  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15108  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15109 
15110  def __getstate__(self):
15111  p = self._get_as_binary()
15112  if len(self.__dict__) > 1:
15113  d = self.__dict__.copy()
15114  del d['this']
15115  p = (d, p)
15116  return p
15117 
15118  def __setstate__(self, p):
15119  if not hasattr(self, 'this'):
15120  self.__init__()
15121  if isinstance(p, tuple):
15122  d, p = p
15123  self.__dict__.update(d)
15124  return self._set_from_binary(p)
15125 
15126  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15127 
15128 # Register CombineProvenance in _IMP_core:
15129 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15130 class FilterProvenance(Provenance):
15131  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15132 
15133  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15134 
15135  def set_method(self, method):
15136  r"""set_method(FilterProvenance self, std::string method)"""
15137  return _IMP_core.FilterProvenance_set_method(self, method)
15138 
15139  def get_method(self):
15140  r"""get_method(FilterProvenance self) -> std::string"""
15141  return _IMP_core.FilterProvenance_get_method(self)
15142 
15143  def set_number_of_frames(self, frames):
15144  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15145  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15146 
15147  def get_number_of_frames(self):
15148  r"""get_number_of_frames(FilterProvenance self) -> int"""
15149  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15150 
15151  def set_threshold(self, threshold):
15152  r"""set_threshold(FilterProvenance self, double threshold)"""
15153  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15154 
15155  def get_threshold(self):
15156  r"""get_threshold(FilterProvenance self) -> double"""
15157  return _IMP_core.FilterProvenance_get_threshold(self)
15158 
15159  def __init__(self, *args):
15160  r"""
15161  __init__(FilterProvenance self) -> FilterProvenance
15162  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15163  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15164  """
15165  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15166 
15167  @staticmethod
15168  def get_is_setup(*args):
15169  r"""
15170  get_is_setup(Model m, ParticleIndex pi) -> bool
15171  get_is_setup(_ParticleAdaptor p) -> bool
15172  """
15173  return _IMP_core.FilterProvenance_get_is_setup(*args)
15174 
15175  def show(self, *args):
15176  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15177  return _IMP_core.FilterProvenance_show(self, *args)
15178 
15179  @staticmethod
15180  def setup_particle(*args):
15181  r"""
15182  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15183  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15184  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15185  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15186  """
15187  return _IMP_core.FilterProvenance_setup_particle(*args)
15188 
15189  def add_attribute(self, *args):
15190  r"""
15191  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15192  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15193  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15194  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15195  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15196  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15197  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15198  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15199  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15200  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15201  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15202  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15203  """
15204  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15205 
15206  def get_value(self, *args):
15207  r"""
15208  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15209  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15210  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15211  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15212  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15213  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15214  get_value(FilterProvenance self, ObjectKey a0) -> Object
15215  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15216  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15217  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15218  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15219  """
15220  return _IMP_core.FilterProvenance_get_value(self, *args)
15221 
15222  def set_value(self, *args):
15223  r"""
15224  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15225  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15226  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15227  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15228  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15229  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15230  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15231  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15232  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15233  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15234  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15235  """
15236  return _IMP_core.FilterProvenance_set_value(self, *args)
15237 
15238  def remove_attribute(self, *args):
15239  r"""
15240  remove_attribute(FilterProvenance self, FloatKey a0)
15241  remove_attribute(FilterProvenance self, IntKey a0)
15242  remove_attribute(FilterProvenance self, FloatsKey a0)
15243  remove_attribute(FilterProvenance self, IntsKey a0)
15244  remove_attribute(FilterProvenance self, StringKey a0)
15245  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15246  remove_attribute(FilterProvenance self, ObjectKey a0)
15247  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15248  remove_attribute(FilterProvenance self, SparseIntKey a0)
15249  remove_attribute(FilterProvenance self, SparseStringKey a0)
15250  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15251  """
15252  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15253 
15254  def has_attribute(self, *args):
15255  r"""
15256  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15257  has_attribute(FilterProvenance self, IntKey a0) -> bool
15258  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15259  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15260  has_attribute(FilterProvenance self, StringKey a0) -> bool
15261  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15262  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15263  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15264  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15265  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15266  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15267  """
15268  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15269 
15270  def get_derivative(self, a0):
15271  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15272  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15273 
15274  def get_name(self):
15275  r"""get_name(FilterProvenance self) -> std::string"""
15276  return _IMP_core.FilterProvenance_get_name(self)
15277 
15278  def clear_caches(self):
15279  r"""clear_caches(FilterProvenance self)"""
15280  return _IMP_core.FilterProvenance_clear_caches(self)
15281 
15282  def set_name(self, a0):
15283  r"""set_name(FilterProvenance self, std::string a0)"""
15284  return _IMP_core.FilterProvenance_set_name(self, a0)
15285 
15286  def set_check_level(self, a0):
15287  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15288  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15289 
15290  def add_to_derivative(self, a0, a1, a2):
15291  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15292  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15293 
15294  def set_is_optimized(self, a0, a1):
15295  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15296  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15297 
15298  def get_is_optimized(self, a0):
15299  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15300  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15301 
15302  def get_check_level(self):
15303  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15304  return _IMP_core.FilterProvenance_get_check_level(self)
15305 
15306  def __eq__(self, *args):
15307  r"""
15308  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15309  __eq__(FilterProvenance self, Particle d) -> bool
15310  """
15311  return _IMP_core.FilterProvenance___eq__(self, *args)
15312 
15313  def __ne__(self, *args):
15314  r"""
15315  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15316  __ne__(FilterProvenance self, Particle d) -> bool
15317  """
15318  return _IMP_core.FilterProvenance___ne__(self, *args)
15319 
15320  def __le__(self, *args):
15321  r"""
15322  __le__(FilterProvenance self, FilterProvenance o) -> bool
15323  __le__(FilterProvenance self, Particle d) -> bool
15324  """
15325  return _IMP_core.FilterProvenance___le__(self, *args)
15326 
15327  def __lt__(self, *args):
15328  r"""
15329  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15330  __lt__(FilterProvenance self, Particle d) -> bool
15331  """
15332  return _IMP_core.FilterProvenance___lt__(self, *args)
15333 
15334  def __ge__(self, *args):
15335  r"""
15336  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15337  __ge__(FilterProvenance self, Particle d) -> bool
15338  """
15339  return _IMP_core.FilterProvenance___ge__(self, *args)
15340 
15341  def __gt__(self, *args):
15342  r"""
15343  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15344  __gt__(FilterProvenance self, Particle d) -> bool
15345  """
15346  return _IMP_core.FilterProvenance___gt__(self, *args)
15347 
15348  def __hash__(self):
15349  r"""__hash__(FilterProvenance self) -> std::size_t"""
15350  return _IMP_core.FilterProvenance___hash__(self)
15351 
15352  def __str__(self):
15353  r"""__str__(FilterProvenance self) -> std::string"""
15354  return _IMP_core.FilterProvenance___str__(self)
15355 
15356  def __repr__(self):
15357  r"""__repr__(FilterProvenance self) -> std::string"""
15358  return _IMP_core.FilterProvenance___repr__(self)
15359 
15360  def _get_as_binary(self):
15361  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15362  return _IMP_core.FilterProvenance__get_as_binary(self)
15363 
15364  def _set_from_binary(self, p):
15365  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15366  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15367 
15368  def __getstate__(self):
15369  p = self._get_as_binary()
15370  if len(self.__dict__) > 1:
15371  d = self.__dict__.copy()
15372  del d['this']
15373  p = (d, p)
15374  return p
15375 
15376  def __setstate__(self, p):
15377  if not hasattr(self, 'this'):
15378  self.__init__()
15379  if isinstance(p, tuple):
15380  d, p = p
15381  self.__dict__.update(d)
15382  return self._set_from_binary(p)
15383 
15384  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15385 
15386 # Register FilterProvenance in _IMP_core:
15387 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15388 class ClusterProvenance(Provenance):
15389  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15390 
15391  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15392 
15393  def set_number_of_members(self, members):
15394  r"""set_number_of_members(ClusterProvenance self, int members)"""
15395  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15396 
15397  def get_number_of_members(self):
15398  r"""get_number_of_members(ClusterProvenance self) -> int"""
15399  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15400 
15401  def set_precision(self, precision):
15402  r"""set_precision(ClusterProvenance self, double precision)"""
15403  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15404 
15405  def get_precision(self):
15406  r"""get_precision(ClusterProvenance self) -> double"""
15407  return _IMP_core.ClusterProvenance_get_precision(self)
15408 
15409  def set_density(self, density):
15410  r"""set_density(ClusterProvenance self, std::string density)"""
15411  return _IMP_core.ClusterProvenance_set_density(self, density)
15412 
15413  def get_density(self):
15414  r"""get_density(ClusterProvenance self) -> std::string"""
15415  return _IMP_core.ClusterProvenance_get_density(self)
15416 
15417  def __init__(self, *args):
15418  r"""
15419  __init__(ClusterProvenance self) -> ClusterProvenance
15420  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15421  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15422  """
15423  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15424 
15425  @staticmethod
15426  def get_is_setup(*args):
15427  r"""
15428  get_is_setup(Model m, ParticleIndex pi) -> bool
15429  get_is_setup(_ParticleAdaptor p) -> bool
15430  """
15431  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15432 
15433  def show(self, *args):
15434  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15435  return _IMP_core.ClusterProvenance_show(self, *args)
15436 
15437  @staticmethod
15438  def setup_particle(*args):
15439  r"""
15440  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15441  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15442  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15443  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15444  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15445  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15446  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15447  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15448  """
15449  return _IMP_core.ClusterProvenance_setup_particle(*args)
15450 
15451  def add_attribute(self, *args):
15452  r"""
15453  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15454  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15455  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15456  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15457  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15458  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15459  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15460  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15461  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15462  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15463  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15464  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15465  """
15466  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15467 
15468  def get_value(self, *args):
15469  r"""
15470  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15471  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15472  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15473  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15474  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15475  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15476  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15477  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15478  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15479  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15480  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15481  """
15482  return _IMP_core.ClusterProvenance_get_value(self, *args)
15483 
15484  def set_value(self, *args):
15485  r"""
15486  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15487  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15488  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15489  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15490  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15491  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15492  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15493  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15494  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15495  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15496  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15497  """
15498  return _IMP_core.ClusterProvenance_set_value(self, *args)
15499 
15500  def remove_attribute(self, *args):
15501  r"""
15502  remove_attribute(ClusterProvenance self, FloatKey a0)
15503  remove_attribute(ClusterProvenance self, IntKey a0)
15504  remove_attribute(ClusterProvenance self, FloatsKey a0)
15505  remove_attribute(ClusterProvenance self, IntsKey a0)
15506  remove_attribute(ClusterProvenance self, StringKey a0)
15507  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15508  remove_attribute(ClusterProvenance self, ObjectKey a0)
15509  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15510  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15511  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15512  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15513  """
15514  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15515 
15516  def has_attribute(self, *args):
15517  r"""
15518  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15519  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15520  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15521  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15522  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15523  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15524  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15525  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15526  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15527  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15528  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15529  """
15530  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15531 
15532  def get_derivative(self, a0):
15533  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15534  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15535 
15536  def get_name(self):
15537  r"""get_name(ClusterProvenance self) -> std::string"""
15538  return _IMP_core.ClusterProvenance_get_name(self)
15539 
15540  def clear_caches(self):
15541  r"""clear_caches(ClusterProvenance self)"""
15542  return _IMP_core.ClusterProvenance_clear_caches(self)
15543 
15544  def set_name(self, a0):
15545  r"""set_name(ClusterProvenance self, std::string a0)"""
15546  return _IMP_core.ClusterProvenance_set_name(self, a0)
15547 
15548  def set_check_level(self, a0):
15549  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15550  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15551 
15552  def add_to_derivative(self, a0, a1, a2):
15553  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15554  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15555 
15556  def set_is_optimized(self, a0, a1):
15557  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15558  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15559 
15560  def get_is_optimized(self, a0):
15561  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15562  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15563 
15564  def get_check_level(self):
15565  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15566  return _IMP_core.ClusterProvenance_get_check_level(self)
15567 
15568  def __eq__(self, *args):
15569  r"""
15570  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15571  __eq__(ClusterProvenance self, Particle d) -> bool
15572  """
15573  return _IMP_core.ClusterProvenance___eq__(self, *args)
15574 
15575  def __ne__(self, *args):
15576  r"""
15577  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15578  __ne__(ClusterProvenance self, Particle d) -> bool
15579  """
15580  return _IMP_core.ClusterProvenance___ne__(self, *args)
15581 
15582  def __le__(self, *args):
15583  r"""
15584  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15585  __le__(ClusterProvenance self, Particle d) -> bool
15586  """
15587  return _IMP_core.ClusterProvenance___le__(self, *args)
15588 
15589  def __lt__(self, *args):
15590  r"""
15591  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15592  __lt__(ClusterProvenance self, Particle d) -> bool
15593  """
15594  return _IMP_core.ClusterProvenance___lt__(self, *args)
15595 
15596  def __ge__(self, *args):
15597  r"""
15598  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15599  __ge__(ClusterProvenance self, Particle d) -> bool
15600  """
15601  return _IMP_core.ClusterProvenance___ge__(self, *args)
15602 
15603  def __gt__(self, *args):
15604  r"""
15605  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15606  __gt__(ClusterProvenance self, Particle d) -> bool
15607  """
15608  return _IMP_core.ClusterProvenance___gt__(self, *args)
15609 
15610  def __hash__(self):
15611  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15612  return _IMP_core.ClusterProvenance___hash__(self)
15613 
15614  def __str__(self):
15615  r"""__str__(ClusterProvenance self) -> std::string"""
15616  return _IMP_core.ClusterProvenance___str__(self)
15617 
15618  def __repr__(self):
15619  r"""__repr__(ClusterProvenance self) -> std::string"""
15620  return _IMP_core.ClusterProvenance___repr__(self)
15621 
15622  def _get_as_binary(self):
15623  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15624  return _IMP_core.ClusterProvenance__get_as_binary(self)
15625 
15626  def _set_from_binary(self, p):
15627  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15628  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15629 
15630  def __getstate__(self):
15631  p = self._get_as_binary()
15632  if len(self.__dict__) > 1:
15633  d = self.__dict__.copy()
15634  del d['this']
15635  p = (d, p)
15636  return p
15637 
15638  def __setstate__(self, p):
15639  if not hasattr(self, 'this'):
15640  self.__init__()
15641  if isinstance(p, tuple):
15642  d, p = p
15643  self.__dict__.update(d)
15644  return self._set_from_binary(p)
15645 
15646  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15647 
15648 # Register ClusterProvenance in _IMP_core:
15649 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15650 class ScriptProvenance(Provenance):
15651  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15652 
15653  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15654 
15655  def set_filename(self, filename):
15656  r"""set_filename(ScriptProvenance self, std::string filename)"""
15657  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15658 
15659  def get_filename(self):
15660  r"""get_filename(ScriptProvenance self) -> std::string"""
15661  return _IMP_core.ScriptProvenance_get_filename(self)
15662 
15663  def __init__(self, *args):
15664  r"""
15665  __init__(ScriptProvenance self) -> ScriptProvenance
15666  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15667  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15668  """
15669  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15670 
15671  @staticmethod
15672  def get_is_setup(*args):
15673  r"""
15674  get_is_setup(Model m, ParticleIndex pi) -> bool
15675  get_is_setup(_ParticleAdaptor p) -> bool
15676  """
15677  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15678 
15679  def show(self, *args):
15680  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15681  return _IMP_core.ScriptProvenance_show(self, *args)
15682 
15683  @staticmethod
15684  def setup_particle(*args):
15685  r"""
15686  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15687  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15688  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15689  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15690  """
15691  return _IMP_core.ScriptProvenance_setup_particle(*args)
15692 
15693  def add_attribute(self, *args):
15694  r"""
15695  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15696  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15697  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15698  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15699  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15700  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15701  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15702  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15703  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15704  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15705  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15706  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15707  """
15708  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15709 
15710  def get_value(self, *args):
15711  r"""
15712  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
15713  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
15714  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
15715  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
15716  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
15717  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
15718  get_value(ScriptProvenance self, ObjectKey a0) -> Object
15719  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
15720  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
15721  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
15722  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15723  """
15724  return _IMP_core.ScriptProvenance_get_value(self, *args)
15725 
15726  def set_value(self, *args):
15727  r"""
15728  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15729  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
15730  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15731  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15732  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
15733  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15734  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
15735  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15736  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15737  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15738  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15739  """
15740  return _IMP_core.ScriptProvenance_set_value(self, *args)
15741 
15742  def remove_attribute(self, *args):
15743  r"""
15744  remove_attribute(ScriptProvenance self, FloatKey a0)
15745  remove_attribute(ScriptProvenance self, IntKey a0)
15746  remove_attribute(ScriptProvenance self, FloatsKey a0)
15747  remove_attribute(ScriptProvenance self, IntsKey a0)
15748  remove_attribute(ScriptProvenance self, StringKey a0)
15749  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
15750  remove_attribute(ScriptProvenance self, ObjectKey a0)
15751  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
15752  remove_attribute(ScriptProvenance self, SparseIntKey a0)
15753  remove_attribute(ScriptProvenance self, SparseStringKey a0)
15754  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
15755  """
15756  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
15757 
15758  def has_attribute(self, *args):
15759  r"""
15760  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
15761  has_attribute(ScriptProvenance self, IntKey a0) -> bool
15762  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
15763  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
15764  has_attribute(ScriptProvenance self, StringKey a0) -> bool
15765  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
15766  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
15767  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
15768  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
15769  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
15770  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
15771  """
15772  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
15773 
15774  def get_derivative(self, a0):
15775  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
15776  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
15777 
15778  def get_name(self):
15779  r"""get_name(ScriptProvenance self) -> std::string"""
15780  return _IMP_core.ScriptProvenance_get_name(self)
15781 
15782  def clear_caches(self):
15783  r"""clear_caches(ScriptProvenance self)"""
15784  return _IMP_core.ScriptProvenance_clear_caches(self)
15785 
15786  def set_name(self, a0):
15787  r"""set_name(ScriptProvenance self, std::string a0)"""
15788  return _IMP_core.ScriptProvenance_set_name(self, a0)
15789 
15790  def set_check_level(self, a0):
15791  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
15792  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
15793 
15794  def add_to_derivative(self, a0, a1, a2):
15795  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15796  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
15797 
15798  def set_is_optimized(self, a0, a1):
15799  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
15800  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
15801 
15802  def get_is_optimized(self, a0):
15803  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
15804  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
15805 
15806  def get_check_level(self):
15807  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
15808  return _IMP_core.ScriptProvenance_get_check_level(self)
15809 
15810  def __eq__(self, *args):
15811  r"""
15812  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
15813  __eq__(ScriptProvenance self, Particle d) -> bool
15814  """
15815  return _IMP_core.ScriptProvenance___eq__(self, *args)
15816 
15817  def __ne__(self, *args):
15818  r"""
15819  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
15820  __ne__(ScriptProvenance self, Particle d) -> bool
15821  """
15822  return _IMP_core.ScriptProvenance___ne__(self, *args)
15823 
15824  def __le__(self, *args):
15825  r"""
15826  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
15827  __le__(ScriptProvenance self, Particle d) -> bool
15828  """
15829  return _IMP_core.ScriptProvenance___le__(self, *args)
15830 
15831  def __lt__(self, *args):
15832  r"""
15833  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
15834  __lt__(ScriptProvenance self, Particle d) -> bool
15835  """
15836  return _IMP_core.ScriptProvenance___lt__(self, *args)
15837 
15838  def __ge__(self, *args):
15839  r"""
15840  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
15841  __ge__(ScriptProvenance self, Particle d) -> bool
15842  """
15843  return _IMP_core.ScriptProvenance___ge__(self, *args)
15844 
15845  def __gt__(self, *args):
15846  r"""
15847  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
15848  __gt__(ScriptProvenance self, Particle d) -> bool
15849  """
15850  return _IMP_core.ScriptProvenance___gt__(self, *args)
15851 
15852  def __hash__(self):
15853  r"""__hash__(ScriptProvenance self) -> std::size_t"""
15854  return _IMP_core.ScriptProvenance___hash__(self)
15855 
15856  def __str__(self):
15857  r"""__str__(ScriptProvenance self) -> std::string"""
15858  return _IMP_core.ScriptProvenance___str__(self)
15859 
15860  def __repr__(self):
15861  r"""__repr__(ScriptProvenance self) -> std::string"""
15862  return _IMP_core.ScriptProvenance___repr__(self)
15863 
15864  def _get_as_binary(self):
15865  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
15866  return _IMP_core.ScriptProvenance__get_as_binary(self)
15867 
15868  def _set_from_binary(self, p):
15869  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
15870  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
15871 
15872  def __getstate__(self):
15873  p = self._get_as_binary()
15874  if len(self.__dict__) > 1:
15875  d = self.__dict__.copy()
15876  del d['this']
15877  p = (d, p)
15878  return p
15879 
15880  def __setstate__(self, p):
15881  if not hasattr(self, 'this'):
15882  self.__init__()
15883  if isinstance(p, tuple):
15884  d, p = p
15885  self.__dict__.update(d)
15886  return self._set_from_binary(p)
15887 
15888  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
15889 
15890 # Register ScriptProvenance in _IMP_core:
15891 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
15892 class SoftwareProvenance(Provenance):
15893  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
15894 
15895  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15896 
15897  def set_software_name(self, name):
15898  r"""set_software_name(SoftwareProvenance self, std::string name)"""
15899  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
15900 
15901  def get_software_name(self):
15902  r"""get_software_name(SoftwareProvenance self) -> std::string"""
15903  return _IMP_core.SoftwareProvenance_get_software_name(self)
15904 
15905  def set_version(self, version):
15906  r"""set_version(SoftwareProvenance self, std::string version)"""
15907  return _IMP_core.SoftwareProvenance_set_version(self, version)
15908 
15909  def get_version(self):
15910  r"""get_version(SoftwareProvenance self) -> std::string"""
15911  return _IMP_core.SoftwareProvenance_get_version(self)
15912 
15913  def set_location(self, location):
15914  r"""set_location(SoftwareProvenance self, std::string location)"""
15915  return _IMP_core.SoftwareProvenance_set_location(self, location)
15916 
15917  def get_location(self):
15918  r"""get_location(SoftwareProvenance self) -> std::string"""
15919  return _IMP_core.SoftwareProvenance_get_location(self)
15920 
15921  def __init__(self, *args):
15922  r"""
15923  __init__(SoftwareProvenance self) -> SoftwareProvenance
15924  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
15925  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
15926  """
15927  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
15928 
15929  @staticmethod
15930  def get_is_setup(*args):
15931  r"""
15932  get_is_setup(Model m, ParticleIndex pi) -> bool
15933  get_is_setup(_ParticleAdaptor p) -> bool
15934  """
15935  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
15936 
15937  def show(self, *args):
15938  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
15939  return _IMP_core.SoftwareProvenance_show(self, *args)
15940 
15941  @staticmethod
15942  def setup_particle(*args):
15943  r"""
15944  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
15945  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
15946  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
15947  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
15948  """
15949  return _IMP_core.SoftwareProvenance_setup_particle(*args)
15950 
15951  def add_attribute(self, *args):
15952  r"""
15953  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
15954  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
15955  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
15956  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
15957  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
15958  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
15959  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
15960  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
15961  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
15962  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
15963  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
15964  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15965  """
15966  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
15967 
15968  def get_value(self, *args):
15969  r"""
15970  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
15971  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
15972  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
15973  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
15974  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
15975  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
15976  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
15977  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
15978  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
15979  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
15980  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15981  """
15982  return _IMP_core.SoftwareProvenance_get_value(self, *args)
15983 
15984  def set_value(self, *args):
15985  r"""
15986  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
15987  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
15988  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
15989  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
15990  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
15991  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
15992  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
15993  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
15994  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
15995  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
15996  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15997  """
15998  return _IMP_core.SoftwareProvenance_set_value(self, *args)
15999 
16000  def remove_attribute(self, *args):
16001  r"""
16002  remove_attribute(SoftwareProvenance self, FloatKey a0)
16003  remove_attribute(SoftwareProvenance self, IntKey a0)
16004  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16005  remove_attribute(SoftwareProvenance self, IntsKey a0)
16006  remove_attribute(SoftwareProvenance self, StringKey a0)
16007  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16008  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16009  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16010  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16011  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16012  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16013  """
16014  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16015 
16016  def has_attribute(self, *args):
16017  r"""
16018  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16019  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16020  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16021  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16022  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16023  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16024  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16025  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16026  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16027  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16028  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16029  """
16030  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16031 
16032  def get_derivative(self, a0):
16033  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16034  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16035 
16036  def get_name(self):
16037  r"""get_name(SoftwareProvenance self) -> std::string"""
16038  return _IMP_core.SoftwareProvenance_get_name(self)
16039 
16040  def clear_caches(self):
16041  r"""clear_caches(SoftwareProvenance self)"""
16042  return _IMP_core.SoftwareProvenance_clear_caches(self)
16043 
16044  def set_name(self, a0):
16045  r"""set_name(SoftwareProvenance self, std::string a0)"""
16046  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16047 
16048  def set_check_level(self, a0):
16049  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16050  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16051 
16052  def add_to_derivative(self, a0, a1, a2):
16053  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16054  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16055 
16056  def set_is_optimized(self, a0, a1):
16057  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16058  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16059 
16060  def get_is_optimized(self, a0):
16061  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16062  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16063 
16064  def get_check_level(self):
16065  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16066  return _IMP_core.SoftwareProvenance_get_check_level(self)
16067 
16068  def __eq__(self, *args):
16069  r"""
16070  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16071  __eq__(SoftwareProvenance self, Particle d) -> bool
16072  """
16073  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16074 
16075  def __ne__(self, *args):
16076  r"""
16077  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16078  __ne__(SoftwareProvenance self, Particle d) -> bool
16079  """
16080  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16081 
16082  def __le__(self, *args):
16083  r"""
16084  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16085  __le__(SoftwareProvenance self, Particle d) -> bool
16086  """
16087  return _IMP_core.SoftwareProvenance___le__(self, *args)
16088 
16089  def __lt__(self, *args):
16090  r"""
16091  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16092  __lt__(SoftwareProvenance self, Particle d) -> bool
16093  """
16094  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16095 
16096  def __ge__(self, *args):
16097  r"""
16098  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16099  __ge__(SoftwareProvenance self, Particle d) -> bool
16100  """
16101  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16102 
16103  def __gt__(self, *args):
16104  r"""
16105  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16106  __gt__(SoftwareProvenance self, Particle d) -> bool
16107  """
16108  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16109 
16110  def __hash__(self):
16111  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16112  return _IMP_core.SoftwareProvenance___hash__(self)
16113 
16114  def __str__(self):
16115  r"""__str__(SoftwareProvenance self) -> std::string"""
16116  return _IMP_core.SoftwareProvenance___str__(self)
16117 
16118  def __repr__(self):
16119  r"""__repr__(SoftwareProvenance self) -> std::string"""
16120  return _IMP_core.SoftwareProvenance___repr__(self)
16121 
16122  def _get_as_binary(self):
16123  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16124  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16125 
16126  def _set_from_binary(self, p):
16127  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16128  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16129 
16130  def __getstate__(self):
16131  p = self._get_as_binary()
16132  if len(self.__dict__) > 1:
16133  d = self.__dict__.copy()
16134  del d['this']
16135  p = (d, p)
16136  return p
16137 
16138  def __setstate__(self, p):
16139  if not hasattr(self, 'this'):
16140  self.__init__()
16141  if isinstance(p, tuple):
16142  d, p = p
16143  self.__dict__.update(d)
16144  return self._set_from_binary(p)
16145 
16146  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16147 
16148 # Register SoftwareProvenance in _IMP_core:
16149 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16150 class Provenanced(IMP.Decorator):
16151  r"""Proxy of C++ IMP::core::Provenanced class."""
16152 
16153  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16154 
16155  def get_provenance(self):
16156  r"""get_provenance(Provenanced self) -> Provenance"""
16157  return _IMP_core.Provenanced_get_provenance(self)
16158 
16159  def set_provenance(self, p):
16160  r"""set_provenance(Provenanced self, Provenance p)"""
16161  return _IMP_core.Provenanced_set_provenance(self, p)
16162 
16163  def __init__(self, *args):
16164  r"""
16165  __init__(Provenanced self) -> Provenanced
16166  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16167  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16168  """
16169  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16170 
16171  @staticmethod
16172  def get_is_setup(*args):
16173  r"""
16174  get_is_setup(Model m, ParticleIndex pi) -> bool
16175  get_is_setup(_ParticleAdaptor p) -> bool
16176  """
16177  return _IMP_core.Provenanced_get_is_setup(*args)
16178 
16179  def show(self, *args):
16180  r"""show(Provenanced self, _ostream out=std::cout)"""
16181  return _IMP_core.Provenanced_show(self, *args)
16182 
16183  @staticmethod
16184  def setup_particle(*args):
16185  r"""
16186  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16187  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16188  """
16189  return _IMP_core.Provenanced_setup_particle(*args)
16190 
16191  def add_attribute(self, *args):
16192  r"""
16193  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16194  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16195  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16196  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16197  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16198  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16199  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16200  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16201  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16202  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16203  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16204  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16205  """
16206  return _IMP_core.Provenanced_add_attribute(self, *args)
16207 
16208  def get_value(self, *args):
16209  r"""
16210  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16211  get_value(Provenanced self, IntKey a0) -> IMP::Int
16212  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16213  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16214  get_value(Provenanced self, StringKey a0) -> IMP::String
16215  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16216  get_value(Provenanced self, ObjectKey a0) -> Object
16217  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16218  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16219  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16220  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16221  """
16222  return _IMP_core.Provenanced_get_value(self, *args)
16223 
16224  def set_value(self, *args):
16225  r"""
16226  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16227  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16228  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16229  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16230  set_value(Provenanced self, StringKey a0, IMP::String a1)
16231  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16232  set_value(Provenanced self, ObjectKey a0, Object a1)
16233  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16234  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16235  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16236  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16237  """
16238  return _IMP_core.Provenanced_set_value(self, *args)
16239 
16240  def remove_attribute(self, *args):
16241  r"""
16242  remove_attribute(Provenanced self, FloatKey a0)
16243  remove_attribute(Provenanced self, IntKey a0)
16244  remove_attribute(Provenanced self, FloatsKey a0)
16245  remove_attribute(Provenanced self, IntsKey a0)
16246  remove_attribute(Provenanced self, StringKey a0)
16247  remove_attribute(Provenanced self, ParticleIndexKey a0)
16248  remove_attribute(Provenanced self, ObjectKey a0)
16249  remove_attribute(Provenanced self, SparseFloatKey a0)
16250  remove_attribute(Provenanced self, SparseIntKey a0)
16251  remove_attribute(Provenanced self, SparseStringKey a0)
16252  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16253  """
16254  return _IMP_core.Provenanced_remove_attribute(self, *args)
16255 
16256  def has_attribute(self, *args):
16257  r"""
16258  has_attribute(Provenanced self, FloatKey a0) -> bool
16259  has_attribute(Provenanced self, IntKey a0) -> bool
16260  has_attribute(Provenanced self, FloatsKey a0) -> bool
16261  has_attribute(Provenanced self, IntsKey a0) -> bool
16262  has_attribute(Provenanced self, StringKey a0) -> bool
16263  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16264  has_attribute(Provenanced self, ObjectKey a0) -> bool
16265  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16266  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16267  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16268  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16269  """
16270  return _IMP_core.Provenanced_has_attribute(self, *args)
16271 
16272  def get_derivative(self, a0):
16273  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16274  return _IMP_core.Provenanced_get_derivative(self, a0)
16275 
16276  def get_name(self):
16277  r"""get_name(Provenanced self) -> std::string"""
16278  return _IMP_core.Provenanced_get_name(self)
16279 
16280  def clear_caches(self):
16281  r"""clear_caches(Provenanced self)"""
16282  return _IMP_core.Provenanced_clear_caches(self)
16283 
16284  def set_name(self, a0):
16285  r"""set_name(Provenanced self, std::string a0)"""
16286  return _IMP_core.Provenanced_set_name(self, a0)
16287 
16288  def set_check_level(self, a0):
16289  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16290  return _IMP_core.Provenanced_set_check_level(self, a0)
16291 
16292  def add_to_derivative(self, a0, a1, a2):
16293  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16294  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16295 
16296  def set_is_optimized(self, a0, a1):
16297  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16298  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16299 
16300  def get_is_optimized(self, a0):
16301  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16302  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16303 
16304  def get_check_level(self):
16305  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16306  return _IMP_core.Provenanced_get_check_level(self)
16307 
16308  def __eq__(self, *args):
16309  r"""
16310  __eq__(Provenanced self, Provenanced o) -> bool
16311  __eq__(Provenanced self, Particle d) -> bool
16312  """
16313  return _IMP_core.Provenanced___eq__(self, *args)
16314 
16315  def __ne__(self, *args):
16316  r"""
16317  __ne__(Provenanced self, Provenanced o) -> bool
16318  __ne__(Provenanced self, Particle d) -> bool
16319  """
16320  return _IMP_core.Provenanced___ne__(self, *args)
16321 
16322  def __le__(self, *args):
16323  r"""
16324  __le__(Provenanced self, Provenanced o) -> bool
16325  __le__(Provenanced self, Particle d) -> bool
16326  """
16327  return _IMP_core.Provenanced___le__(self, *args)
16328 
16329  def __lt__(self, *args):
16330  r"""
16331  __lt__(Provenanced self, Provenanced o) -> bool
16332  __lt__(Provenanced self, Particle d) -> bool
16333  """
16334  return _IMP_core.Provenanced___lt__(self, *args)
16335 
16336  def __ge__(self, *args):
16337  r"""
16338  __ge__(Provenanced self, Provenanced o) -> bool
16339  __ge__(Provenanced self, Particle d) -> bool
16340  """
16341  return _IMP_core.Provenanced___ge__(self, *args)
16342 
16343  def __gt__(self, *args):
16344  r"""
16345  __gt__(Provenanced self, Provenanced o) -> bool
16346  __gt__(Provenanced self, Particle d) -> bool
16347  """
16348  return _IMP_core.Provenanced___gt__(self, *args)
16349 
16350  def __hash__(self):
16351  r"""__hash__(Provenanced self) -> std::size_t"""
16352  return _IMP_core.Provenanced___hash__(self)
16353 
16354  def __str__(self):
16355  r"""__str__(Provenanced self) -> std::string"""
16356  return _IMP_core.Provenanced___str__(self)
16357 
16358  def __repr__(self):
16359  r"""__repr__(Provenanced self) -> std::string"""
16360  return _IMP_core.Provenanced___repr__(self)
16361 
16362  def _get_as_binary(self):
16363  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16364  return _IMP_core.Provenanced__get_as_binary(self)
16365 
16366  def _set_from_binary(self, p):
16367  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16368  return _IMP_core.Provenanced__set_from_binary(self, p)
16369 
16370  def __getstate__(self):
16371  p = self._get_as_binary()
16372  if len(self.__dict__) > 1:
16373  d = self.__dict__.copy()
16374  del d['this']
16375  p = (d, p)
16376  return p
16377 
16378  def __setstate__(self, p):
16379  if not hasattr(self, 'this'):
16380  self.__init__()
16381  if isinstance(p, tuple):
16382  d, p = p
16383  self.__dict__.update(d)
16384  return self._set_from_binary(p)
16385 
16386  __swig_destroy__ = _IMP_core.delete_Provenanced
16387 
16388 # Register Provenanced in _IMP_core:
16389 _IMP_core.Provenanced_swigregister(Provenanced)
16390 
16391 def add_provenance(m, pi, p):
16392  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16393  return _IMP_core.add_provenance(m, pi, p)
16394 
16395 def create_clone(p):
16396  r"""create_clone(Provenance p) -> Provenance"""
16397  return _IMP_core.create_clone(p)
16398 
16400  r"""
16401  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16402  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & b) -> Transformation3D
16403  get_transformation_aligning_first_to_second(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16404  """
16405  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16406 
16407 def create_restraint(ps, pp):
16408  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16409  return _IMP_core.create_restraint(ps, pp)
16411  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16412 
16413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16414 
16415  def __init__(self, *args):
16416  r"""
16417  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16418  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16419  """
16420  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16421 
16422  def get_version_info(self):
16423  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16424  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16425  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16426 
16427  def __str__(self):
16428  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16429  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16430 
16431  def __repr__(self):
16432  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16433  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16434 
16435  @staticmethod
16436  def get_from(o):
16437  return _object_cast_to_TruncatedHarmonic(o)
16438 
16439 
16440 # Register TruncatedHarmonicLowerBound in _IMP_core:
16441 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16443  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16444 
16445  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16446 
16447  def __init__(self, *args):
16448  r"""
16449  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16450  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16451  """
16452  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16453 
16454  def get_version_info(self):
16455  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16456  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16457  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16458 
16459  def __str__(self):
16460  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16461  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16462 
16463  def __repr__(self):
16464  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16465  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16466 
16467  @staticmethod
16468  def get_from(o):
16469  return _object_cast_to_TruncatedHarmonic(o)
16470 
16471 
16472 # Register TruncatedHarmonicUpperBound in _IMP_core:
16473 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16475  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16476 
16477  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16478 
16479  def __init__(self, *args):
16480  r"""
16481  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16482  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16483  """
16484  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16485 
16486  def get_version_info(self):
16487  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16488  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16489  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16490 
16491  def __str__(self):
16492  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16493  return _IMP_core.TruncatedHarmonicBound___str__(self)
16494 
16495  def __repr__(self):
16496  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16497  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16498 
16499  @staticmethod
16500  def get_from(o):
16501  return _object_cast_to_TruncatedHarmonic(o)
16502 
16503 
16504 # Register TruncatedHarmonicBound in _IMP_core:
16505 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16506 class ParticleType(IMP._Value):
16507  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16508 
16509  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16510 
16511  def __init__(self, *args):
16512  r"""
16513  __init__(ParticleType self) -> ParticleType
16514  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16515  __init__(ParticleType self, unsigned int i) -> ParticleType
16516  """
16517  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16518 
16519  @staticmethod
16520  def add_key(sc):
16521  r"""add_key(std::string sc) -> unsigned int"""
16522  return _IMP_core.ParticleType_add_key(sc)
16523 
16524  @staticmethod
16525  def get_key_exists(sc):
16526  r"""get_key_exists(std::string sc) -> bool"""
16527  return _IMP_core.ParticleType_get_key_exists(sc)
16528 
16529  def get_string(self):
16530  r"""get_string(ParticleType self) -> std::string const"""
16531  return _IMP_core.ParticleType_get_string(self)
16532 
16533  def __cmp__(self, o):
16534  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16535  return _IMP_core.ParticleType___cmp__(self, o)
16536 
16537  def __eq__(self, o):
16538  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16539  return _IMP_core.ParticleType___eq__(self, o)
16540 
16541  def __ne__(self, o):
16542  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16543  return _IMP_core.ParticleType___ne__(self, o)
16544 
16545  def __lt__(self, o):
16546  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16547  return _IMP_core.ParticleType___lt__(self, o)
16548 
16549  def __gt__(self, o):
16550  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16551  return _IMP_core.ParticleType___gt__(self, o)
16552 
16553  def __ge__(self, o):
16554  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16555  return _IMP_core.ParticleType___ge__(self, o)
16556 
16557  def __le__(self, o):
16558  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16559  return _IMP_core.ParticleType___le__(self, o)
16560 
16561  def __hash__(self):
16562  r"""__hash__(ParticleType self) -> std::size_t"""
16563  return _IMP_core.ParticleType___hash__(self)
16564 
16565  def show(self, *args):
16566  r"""show(ParticleType self, _ostream out=std::cout)"""
16567  return _IMP_core.ParticleType_show(self, *args)
16568 
16569  @staticmethod
16570  def add_alias(old_key, new_name):
16571  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16572  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16573 
16574  @staticmethod
16575  def get_number_of_keys():
16576  r"""get_number_of_keys() -> unsigned int"""
16577  return _IMP_core.ParticleType_get_number_of_keys()
16578 
16579  def get_index(self):
16580  r"""get_index(ParticleType self) -> unsigned int"""
16581  return _IMP_core.ParticleType_get_index(self)
16582 
16583  @staticmethod
16584  def show_all(out):
16585  r"""show_all(_ostream out)"""
16586  return _IMP_core.ParticleType_show_all(out)
16587 
16588  @staticmethod
16589  def get_all_strings():
16590  r"""get_all_strings() -> IMP::Vector< std::string >"""
16591  return _IMP_core.ParticleType_get_all_strings()
16592 
16593  @staticmethod
16594  def get_number_unique():
16595  r"""get_number_unique() -> unsigned int"""
16596  return _IMP_core.ParticleType_get_number_unique()
16597 
16598  def __str__(self):
16599  r"""__str__(ParticleType self) -> std::string"""
16600  return _IMP_core.ParticleType___str__(self)
16601 
16602  def __repr__(self):
16603  r"""__repr__(ParticleType self) -> std::string"""
16604  return _IMP_core.ParticleType___repr__(self)
16605  __swig_destroy__ = _IMP_core.delete_ParticleType
16606 
16607 # Register ParticleType in _IMP_core:
16608 _IMP_core.ParticleType_swigregister(ParticleType)
16610  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16611 
16612  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16613  __repr__ = _swig_repr
16614 
16615  def __init__(self, f, k):
16616  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16617  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16618 
16619  def do_get_inputs(self, m, pis):
16620  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16621  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16622 
16623  def get_unary_function(self):
16624  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16625  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16626 
16627  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16628  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"""
16629  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16630 
16631  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16632  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"""
16633  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16634 
16635  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16636  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"""
16637  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16638 
16639  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16640  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"""
16641  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16642 
16643  def get_version_info(self):
16644  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16645  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16646  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16647 
16648  @staticmethod
16649  def get_from(o):
16650  return _object_cast_to_AttributeSingletonScore(o)
16651 
16652 
16653 # Register AttributeSingletonScore in _IMP_core:
16654 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16655 
16657  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16658  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16660  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16661 
16662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16663  __repr__ = _swig_repr
16664 
16665  def __init__(self, f, bb):
16666  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16667  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16668 
16669  def get_unary_function(self):
16670  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16671  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16672 
16673  def get_bounding_box(self):
16674  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16675  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16676 
16677  def do_get_inputs(self, m, pis):
16678  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16679  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
16680 
16681  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16682  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"""
16683  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16684 
16685  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16686  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"""
16687  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16688 
16689  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16690  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"""
16691  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16692 
16693  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16694  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"""
16695  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16696 
16697  def get_version_info(self):
16698  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
16699  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
16700  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
16701 
16702  @staticmethod
16703  def get_from(o):
16704  return _object_cast_to_BoundingBox3DSingletonScore(o)
16705 
16706 
16707  def _get_jax(self, m, indexes):
16708  import jax.numpy as jnp
16709  def score(jm, box_min, box_max, uf):
16710  xyzs = jm['xyz'][indexes]
16711  # This calculates the distance and the score for every point,
16712  # even those inside the box. IMP just returns zero for points
16713  # inside the box, skipping the distance calculation.
16714  # The implementation here is *probably* faster on a GPU since
16715  # we reduce the use of conditionals, and JAX will likely skip
16716  # the sqrt if uf is a harmonic, but this should be benchmarked.
16717  drs = jnp.linalg.norm(
16718  xyzs - jnp.clip(xyzs, box_min, box_max), axis=1)
16719  return uf(drs)
16720  uf = self.get_unary_function().get_derived_object()
16721  bb = self.get_bounding_box()
16722  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
16723  box_max=jnp.asarray(bb.get_corner(1)),
16724  uf=uf._get_jax())
16725  return self._wrap_jax(m, f)
16726 
16727 
16728 # Register BoundingBox3DSingletonScore in _IMP_core:
16729 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
16730 
16731 def create_bounding_box_3d_singleton_score(f, bb):
16732  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16733  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
16735  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
16736 
16737  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16738  __repr__ = _swig_repr
16739 
16740  def __init__(self, f, sphere):
16741  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16742  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
16743 
16744  def do_get_inputs(self, m, pis):
16745  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16746  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
16747 
16748  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16749  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"""
16750  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16751 
16752  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16753  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"""
16754  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16755 
16756  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16757  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"""
16758  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16759 
16760  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16761  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"""
16762  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16763 
16764  def get_version_info(self):
16765  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
16766  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
16767  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
16768 
16769  @staticmethod
16770  def get_from(o):
16771  return _object_cast_to_BoundingSphere3DSingletonScore(o)
16772 
16773 
16774 # Register BoundingSphere3DSingletonScore in _IMP_core:
16775 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
16776 
16777 def create_bounding_sphere_3d_singleton_score(f, sphere):
16778  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
16779  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
16781  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
16782 
16783  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16784  __repr__ = _swig_repr
16785 
16786  def __init__(self, *args):
16787  r"""
16788  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
16789  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
16790  """
16791  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
16792 
16793  def do_get_inputs(self, m, pis):
16794  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16795  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
16796 
16797  def get_unary_function(self):
16798  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
16799  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
16800 
16801  def get_point(self):
16802  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
16803  return _IMP_core.DistanceToSingletonScore_get_point(self)
16804 
16805  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16806  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"""
16807  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16808 
16809  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16810  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"""
16811  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16812 
16813  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16814  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"""
16815  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16816 
16817  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16818  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"""
16819  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16820 
16821  def get_version_info(self):
16822  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
16823  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
16824  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
16825 
16826  @staticmethod
16827  def get_from(o):
16828  return _object_cast_to_DistanceToSingletonScore(o)
16829 
16830 
16831  def _get_as_binary(self):
16832  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
16833  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
16834 
16835  def _set_from_binary(self, p):
16836  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
16837  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
16838 
16839  def __getstate__(self):
16840  p = self._get_as_binary()
16841  if len(self.__dict__) > 1:
16842  d = self.__dict__.copy()
16843  del d['this']
16844  p = (d, p)
16845  return p
16846 
16847  def __setstate__(self, p):
16848  if not hasattr(self, 'this'):
16849  self.__init__()
16850  if isinstance(p, tuple):
16851  d, p = p
16852  self.__dict__.update(d)
16853  return self._set_from_binary(p)
16854 
16855 
16856  def _get_jax(self, m, indexes):
16857  import jax.numpy as jnp
16858  def score(jm, point, uf):
16859  xyzs = jm['xyz'][indexes]
16860  drs = jnp.linalg.norm(xyzs - point, axis=1)
16861  return uf(drs)
16862  uf = self.get_unary_function().get_derived_object()
16863  f = functools.partial(score, point=jnp.array(self.get_point()),
16864  uf=uf._get_jax())
16865  return self._wrap_jax(m, f)
16866 
16867 
16868 # Register DistanceToSingletonScore in _IMP_core:
16869 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
16870 
16871 def create_distance_to_singleton_score(f, pt):
16872  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
16873  return _IMP_core.create_distance_to_singleton_score(f, pt)
16874 
16875 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
16876  def __init__(self, uf):
16877  if isinstance(uf, HarmonicUpperBound):
16878  p = HarmonicUpperBoundSphereDistancePairScore(
16879  uf.get_mean(), uf.get_k())
16880  elif isinstance(uf, HarmonicLowerBound):
16881  if uf.get_mean() == 0.0:
16882  p = SoftSpherePairScore(uf.get_k())
16883  else:
16884  p = _SphereDistancePairScore(uf)
16885  elif isinstance(uf, Harmonic):
16886  p = HarmonicSphereDistancePairScore(
16887  uf.get_mean(), uf.get_k())
16888  else:
16889  p = _SphereDistancePairScore(uf)
16890  self.__dict__['_proxied'] = p
16891  def __getattr__(self, key):
16892  return getattr(self._proxied, key)
16893  def __setattr__(self, key, val):
16894  return setattr(self._proxied, key, val)
16895 
16896  def __getstate__(self):
16897  return self.__dict__['_proxied']
16898 
16899  def __setstate__(self, p):
16900  self.__dict__['_proxied'] = p
16901 
16902  def _get_jax(self, *args, **kwargs):
16903  return self._proxied._get_jax(*args, **kwargs)
16904 
16905  @staticmethod
16906  def get_from(o):
16907  try:
16908  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
16909  except ValueError:
16910  try:
16911  p = HarmonicSphereDistancePairScore.get_from(o)
16912  except ValueError:
16913  try:
16914  p = SoftSpherePairScore.get_from(o)
16915  except ValueError:
16916  p = _SphereDistancePairScore.get_from(o)
16917  obj = object.__new__(SphereDistancePairScore)
16918  obj.__dict__['_proxied'] = p
16919  return obj
16920 
16921 
16922 
16923 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
16924  CombineProvenance, FilterProvenance,
16925  ClusterProvenance, ScriptProvenance,
16926  SoftwareProvenance]):
16927  """Yield all provenance decorators of the given types for the particle.
16928  By default, all provenance types are returned. Provenance is returned
16929  in order, most recent first. If the particle has no provenance
16930  information, an empty generator is returned."""
16931  if Provenanced.get_is_setup(p):
16932  prov = Provenanced(p).get_provenance()
16933  while prov:
16934  for c in types:
16935  if c.get_is_setup(prov):
16936  yield c(prov)
16937  prov = prov.get_previous()
16938 
16940  """Tag the given particle with the current Python script.
16941  This is a noop if the particle is already so tagged."""
16942  main = sys.modules['__main__']
16943 # Can't do anything if running from an interactive interpreter
16944  if not hasattr(main, '__file__'):
16945  return
16946  f = IMP.get_absolute_path(main.__file__)
16947  for prov in get_all_provenance(p, types=[ScriptProvenance]):
16948  if prov.get_filename() == f:
16949  return
16950  m = p.get_model()
16951  provp = IMP.Particle(m)
16952  provp.set_name('script')
16953  prov = ScriptProvenance.setup_particle(provp, f)
16954  add_provenance(m, p, prov)
16955 
16956 def add_software_provenance(p, name, version, location):
16957  """Tag the given particle with the software used to create it.
16958  This is a noop if the particle is already so tagged."""
16959  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
16960  if prov.get_software_name() == name and prov.get_version() == version \
16961  and prov.get_location() == location:
16962  return
16963  m = p.get_model()
16964  provp = IMP.Particle(m)
16965  provp.set_name('software')
16966  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
16967  add_provenance(m, p, prov)
16968 
16970  """Tag the given particle as being created by the current version of IMP."""
16971  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
16972  version=IMP.get_module_version(),
16973  location="https://integrativemodeling.org")
16974 
16975 
16976 def get_module_name():
16977  r"""get_module_name() -> std::string const"""
16978  return _IMP_core.get_module_name()
16979 
16980 def get_module_version():
16981  r"""get_module_version() -> std::string const"""
16982  return _IMP_core.get_module_version()
16983 
16984 def get_example_path(fname):
16985  r"""get_example_path(std::string fname) -> std::string"""
16986  return _IMP_core.get_example_path(fname)
16987 
16988 def get_data_path(fname):
16989  r"""get_data_path(std::string fname) -> std::string"""
16990  return _IMP_core.get_data_path(fname)
16991 
16992 from . import _version_check
16993 _version_check.check_version(get_module_version())
16994 __version__ = get_module_version()
16995 
16996 
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
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.
Composable functors to implement scores via compile-time composition.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
GenericHierarchies get_all_descendants(Hierarchy mhd)
Get all the particles in the subtree.
A base class for geometry from a set of particles.
def add_imp_provenance
Tag the given particle as being created by the current version of IMP.
display::Geometries create_blame_geometries(const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
void show_rigid_body_hierarchy(RigidBody rb, TextOutput out=TextOutput(std::cout))
Implement a constraint on the Model.
Definition: Constraint.h:49
void add_restraint(RMF::FileHandle fh, Restraint *hs)
def add_software_provenance
Tag the given particle with the software used to create it.
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
Abstract predicate function.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
int get_number_of_frames(const ::npctransport_proto::Assignment &config, double time_step)
Abstract class for scoring object(s) of type ParticleIndex.
ScoreStates maintain invariants in the Model.
Definition: ScoreState.h:56
Base class for all optimizers.
Definition: Optimizer.h:48
GenericAttributeSingletonScore< UnaryFunction > AttributeSingletonScore
SurfaceGeometry * create_geometry(const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
Create a geometry from a Surface.
Definition: Surface.h:191
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
algebra::BoundingBoxD< 3 > get_bounding_box(const XYZRs &ps)
Get the bounding box.
const algebra::Vector3D & get_vector_geometry(XYZ d)
Definition: XYZ.h:135
GenericHierarchies get_internal(Hierarchy mhd)
Get all the non-leaves of the bit of hierarchy.
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
std::string get_absolute_path(std::string file)
Convert a possibly relative path to an absolute path.
algebra::Sphere3D get_enclosing_sphere(const XYZs &v)
Get a sphere enclosing the set of XYZRs.
Base class for optimizers that act on individual attributes.
SurfaceGeometry * get_constrained_surface_geometry(const Surface s, std::string name="SurfaceGeometry%1%")
Get surface geometry constrained to the surface.
Definition: Surface.h:236
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Represents a scoring function on the model.
void set_vector_geometry(XYZ d, const algebra::Vector3D &v)
Definition: XYZ.h:131
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract predicate function.
GenericBoundingBox3DSingletonScore< UnaryFunction > BoundingBox3DSingletonScore
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
double get_depth(const Surface &s, const XYZR &d)
Get depth of sphere below surface.
Definition: Surface.h:143
void set_enclosing_radius(XYZR b, const XYZs &v)
Set the radius of the first to enclose the list.
Class to handle individual particles of a Model object.
Definition: Particle.h:45
GenericAttributeSingletonScore< UF > * create_generic_attribute_singleton_score(UF *uf, FloatKey k)
void transform(RigidBody a, const algebra::Transformation3D &tr)
Transform a rigid body.
Definition: rigid_bodies.h:880
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