IMP logo
IMP Reference Guide  develop.266d43d110,2026/09/24
The Integrative Modeling Platform
core/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.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 import typing
18 import _IMP_core
19 
20 import builtins as __builtin__
21 
22 def _swig_repr(self):
23  try:
24  strthis = "proxy of " + self.this.__repr__()
25  except __builtin__.Exception:
26  strthis = ""
27  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
28 
29 
30 def _swig_setattr_nondynamic_instance_variable(set):
31  def set_instance_attr(self, name, value):
32  if name == "this":
33  set(self, name, value)
34  elif name == "thisown":
35  self.this.own(value)
36  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
37  set(self, name, value)
38  else:
39  raise AttributeError("You cannot add instance attributes to %s" % self)
40  return set_instance_attr
41 
42 
43 def _swig_setattr_nondynamic_class_variable(set):
44  def set_class_attr(cls, name, value):
45  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
46  set(cls, name, value)
47  else:
48  raise AttributeError("You cannot add class attributes to %s" % cls)
49  return set_class_attr
50 
51 
52 class _SwigNonDynamicMeta(type):
53  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
54  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
55 
56 
57 import weakref
58 
59 class IMP_CORE_SwigPyIterator(object):
60  r"""Proxy of C++ swig::IMP_CORE_SwigPyIterator class."""
61 
62  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
63 
64  def __init__(self, *args, **kwargs):
65  raise AttributeError("No constructor defined - class is abstract")
66  __repr__ = _swig_repr
67  __swig_destroy__ = _IMP_core.delete_IMP_CORE_SwigPyIterator
68 
69  def value(self):
70  r"""value(IMP_CORE_SwigPyIterator self) -> PyObject *"""
71  return _IMP_core.IMP_CORE_SwigPyIterator_value(self)
72 
73  def incr(self, n=1):
74  r"""incr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
75  return _IMP_core.IMP_CORE_SwigPyIterator_incr(self, n)
76 
77  def decr(self, n=1):
78  r"""decr(IMP_CORE_SwigPyIterator self, size_t n=1) -> IMP_CORE_SwigPyIterator"""
79  return _IMP_core.IMP_CORE_SwigPyIterator_decr(self, n)
80 
81  def distance(self, x):
82  r"""distance(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t"""
83  return _IMP_core.IMP_CORE_SwigPyIterator_distance(self, x)
84 
85  def equal(self, x):
86  r"""equal(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
87  return _IMP_core.IMP_CORE_SwigPyIterator_equal(self, x)
88 
89  def copy(self):
90  r"""copy(IMP_CORE_SwigPyIterator self) -> IMP_CORE_SwigPyIterator"""
91  return _IMP_core.IMP_CORE_SwigPyIterator_copy(self)
92 
93  def __next__(self):
94  r"""__next__(IMP_CORE_SwigPyIterator self) -> PyObject *"""
95  return _IMP_core.IMP_CORE_SwigPyIterator___next__(self)
96 
97  def previous(self):
98  r"""previous(IMP_CORE_SwigPyIterator self) -> PyObject *"""
99  return _IMP_core.IMP_CORE_SwigPyIterator_previous(self)
100 
101  def advance(self, n):
102  r"""advance(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
103  return _IMP_core.IMP_CORE_SwigPyIterator_advance(self, n)
104 
105  def __eq__(self, x):
106  r"""__eq__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
107  return _IMP_core.IMP_CORE_SwigPyIterator___eq__(self, x)
108 
109  def __ne__(self, x):
110  r"""__ne__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> bool"""
111  return _IMP_core.IMP_CORE_SwigPyIterator___ne__(self, x)
112 
113  def __iadd__(self, n):
114  r"""__iadd__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
115  return _IMP_core.IMP_CORE_SwigPyIterator___iadd__(self, n)
116 
117  def __isub__(self, n):
118  r"""__isub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
119  return _IMP_core.IMP_CORE_SwigPyIterator___isub__(self, n)
120 
121  def __add__(self, n):
122  r"""__add__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator"""
123  return _IMP_core.IMP_CORE_SwigPyIterator___add__(self, n)
124 
125  def __sub__(self, *args):
126  r"""
127  __sub__(IMP_CORE_SwigPyIterator self, ptrdiff_t n) -> IMP_CORE_SwigPyIterator
128  __sub__(IMP_CORE_SwigPyIterator self, IMP_CORE_SwigPyIterator x) -> ptrdiff_t
129  """
130  return _IMP_core.IMP_CORE_SwigPyIterator___sub__(self, *args)
131  def __iter__(self):
132  return self
133 
134 # Register IMP_CORE_SwigPyIterator in _IMP_core:
135 _IMP_core.IMP_CORE_SwigPyIterator_swigregister(IMP_CORE_SwigPyIterator)
136 
137 _value_types=[]
138 _object_types=[]
139 _raii_types=[]
140 _plural_types=[]
141 
142 IMP_DEBUG = _IMP_core.IMP_DEBUG
143 
144 IMP_RELEASE = _IMP_core.IMP_RELEASE
145 
146 IMP_SILENT = _IMP_core.IMP_SILENT
147 
148 IMP_PROGRESS = _IMP_core.IMP_PROGRESS
149 
150 IMP_TERSE = _IMP_core.IMP_TERSE
151 
152 IMP_VERBOSE = _IMP_core.IMP_VERBOSE
153 
154 IMP_MEMORY = _IMP_core.IMP_MEMORY
155 
156 IMP_NONE = _IMP_core.IMP_NONE
157 
158 IMP_USAGE = _IMP_core.IMP_USAGE
159 
160 IMP_INTERNAL = _IMP_core.IMP_INTERNAL
161 
162 IMP_KERNEL_HAS_LOG4CXX = _IMP_core.IMP_KERNEL_HAS_LOG4CXX
163 
164 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_core.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
165 
166 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_core.IMP_COMPILER_HAS_DEBUG_VECTOR
167 
168 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_core.IMP_COMPILER_HAS_RANDOM_SHUFFLE
169 
170 IMP_COMPILER_HAS_THREE_WAY = _IMP_core.IMP_COMPILER_HAS_THREE_WAY
171 
172 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_core.IMP_KERNEL_HAS_BOOST_RANDOM
173 
174 IMP_KERNEL_HAS_NUMPY = _IMP_core.IMP_KERNEL_HAS_NUMPY
175 
176 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_core.IMP_KERNEL_HAS_BOOST_SYSTEM
177 
178 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_core.IMP_KERNEL_HAS_GPERFTOOLS
179 
180 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
181 
182 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_core.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
183 
184 IMPKERNEL_SHOW_WARNINGS = _IMP_core.IMPKERNEL_SHOW_WARNINGS
185 
186 
187 import sys
188 class _DirectorObjects:
189  """@internal Simple class to keep references to director objects
190  to prevent premature deletion."""
191  def __init__(self):
192  self._objects = []
193  def register(self, obj):
194  """Take a reference to a director object; will only work for
195  refcounted C++ classes"""
196  if hasattr(obj, 'get_ref_count'):
197  self._objects.append(obj)
198  def cleanup(self):
199  """Only drop our reference and allow cleanup by Python if no other
200  Python references exist (we hold 3 references: one in self._objects,
201  one in x, and one in the argument list for getrefcount) *and* no
202  other C++ references exist (the Python object always holds one)"""
203  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
204  or x.get_ref_count() > 1]
205 # Do in two steps so the references are kept until the end of the
206 # function (deleting references may trigger a fresh call to this method)
207  self._objects = objs
208  def get_object_count(self):
209  """Get number of director objects (useful for testing only)"""
210  return len(self._objects)
211 _director_objects = _DirectorObjects()
212 
213 class _ostream(object):
214  r"""Proxy of C++ std::ostream class."""
215 
216  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
217 
218  def __init__(self, *args, **kwargs):
219  raise AttributeError("No constructor defined")
220  __repr__ = _swig_repr
221 
222  def write(self, osa_buf):
223  r"""write(_ostream self, char const * osa_buf)"""
224  return _IMP_core._ostream_write(self, osa_buf)
225 
226 # Register _ostream in _IMP_core:
227 _IMP_core._ostream_swigregister(_ostream)
228 IMP_C_OPEN_BINARY = _IMP_core.IMP_C_OPEN_BINARY
229 
230 import IMP
231 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CGAL_HAS_BOOST_FILESYSTEM
232 
233 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
234 
235 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_core.IMP_CGAL_HAS_BOOST_RANDOM
236 
237 IMP_CGAL_HAS_NUMPY = _IMP_core.IMP_CGAL_HAS_NUMPY
238 
239 IMPCGAL_SHOW_WARNINGS = _IMP_core.IMPCGAL_SHOW_WARNINGS
240 
241 import IMP.cgal
242 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_core.IMP_ALGEBRA_HAS_IMP_CGAL
243 
244 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
245 
246 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
247 
248 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_core.IMP_ALGEBRA_HAS_BOOST_RANDOM
249 
250 IMP_ALGEBRA_HAS_CGAL = _IMP_core.IMP_ALGEBRA_HAS_CGAL
251 
252 IMP_ALGEBRA_HAS_NUMPY = _IMP_core.IMP_ALGEBRA_HAS_NUMPY
253 
254 IMP_ALGEBRA_HAS_ANN = _IMP_core.IMP_ALGEBRA_HAS_ANN
255 
256 IMPALGEBRA_SHOW_WARNINGS = _IMP_core.IMPALGEBRA_SHOW_WARNINGS
257 
258 import IMP.algebra
259 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_core.IMP_DISPLAY_HAS_IMP_CGAL
260 
261 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
262 
263 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
264 
265 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_core.IMP_DISPLAY_HAS_BOOST_RANDOM
266 
267 IMP_DISPLAY_HAS_CGAL = _IMP_core.IMP_DISPLAY_HAS_CGAL
268 
269 IMP_DISPLAY_HAS_NUMPY = _IMP_core.IMP_DISPLAY_HAS_NUMPY
270 
271 IMPDISPLAY_SHOW_WARNINGS = _IMP_core.IMPDISPLAY_SHOW_WARNINGS
272 
273 import IMP.display
274 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
275 
276 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
277 
278 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
279 
280 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_core.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
281 
282 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_core.IMP_SCORE_FUNCTOR_HAS_CGAL
283 
284 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_core.IMP_SCORE_FUNCTOR_HAS_HDF5
285 
286 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_core.IMP_SCORE_FUNCTOR_HAS_NUMPY
287 
288 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_core.IMPSCOREFUNCTOR_SHOW_WARNINGS
289 
290 import IMP.score_functor
291 IMP_CORE_HAS_IMP_CGAL = _IMP_core.IMP_CORE_HAS_IMP_CGAL
292 
293 IMP_CORE_HAS_IMP_KERNEL = _IMP_core.IMP_CORE_HAS_IMP_KERNEL
294 
295 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_core.IMP_CORE_HAS_BOOST_FILESYSTEM
296 
297 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_core.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
298 
299 IMP_CORE_HAS_BOOST_RANDOM = _IMP_core.IMP_CORE_HAS_BOOST_RANDOM
300 
301 IMP_CORE_HAS_CGAL = _IMP_core.IMP_CORE_HAS_CGAL
302 
303 IMP_CORE_HAS_HDF5 = _IMP_core.IMP_CORE_HAS_HDF5
304 
305 IMP_CORE_HAS_NUMPY = _IMP_core.IMP_CORE_HAS_NUMPY
306 
307 IMPCORE_SHOW_WARNINGS = _IMP_core.IMPCORE_SHOW_WARNINGS
308 
309 class _OpenCubicSplineBase(IMP.UnaryFunction):
310  r"""Proxy of C++ IMP::score_functor::ScoreUnaryFunction< IMP::score_functor::OpenCubicSpline > class."""
311 
312  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
313  __repr__ = _swig_repr
314 
315  def __init__(self, *args):
316  r"""__init__(_OpenCubicSplineBase self, IMP::score_functor::OpenCubicSpline const & score, std::string name="UnaryFunction%1%") -> _OpenCubicSplineBase"""
317  _IMP_core._OpenCubicSplineBase_swiginit(self, _IMP_core.new__OpenCubicSplineBase(*args))
318 
319  def get_version_info(self):
320  r"""get_version_info(_OpenCubicSplineBase self) -> VersionInfo"""
321  return _IMP_core._OpenCubicSplineBase_get_version_info(self)
322  __swig_destroy__ = _IMP_core.delete__OpenCubicSplineBase
323 
324 # Register _OpenCubicSplineBase in _IMP_core:
325 _IMP_core._OpenCubicSplineBase_swigregister(_OpenCubicSplineBase)
326 
327 _object_types.append("MonteCarloMover")
328 
329 
330 def _object_cast_to_MonteCarloMover(o):
331  r"""_object_cast_to_MonteCarloMover(Object o) -> MonteCarloMover"""
332  return _IMP_core._object_cast_to_MonteCarloMover(o)
333 
334 MonteCarloMoverResults=list
335 _plural_types.append("MonteCarloMoverResults")
336 _value_types.append("MonteCarloMoverResult")
337 
338 
339 _object_types.append("AngleRestraint")
340 
341 
342 def _object_cast_to_AngleRestraint(o):
343  r"""_object_cast_to_AngleRestraint(Object o) -> AngleRestraint"""
344  return _IMP_core._object_cast_to_AngleRestraint(o)
345 
346 _object_types.append("AngleTripletScore")
347 
348 
349 def _object_cast_to_AngleTripletScore(o):
350  r"""_object_cast_to_AngleTripletScore(Object o) -> AngleTripletScore"""
351  return _IMP_core._object_cast_to_AngleTripletScore(o)
352 
353 _object_types.append("AttributeSingletonScore")
354 
355 
356 def _object_cast_to_AttributeSingletonScore(o):
357  r"""_object_cast_to_AttributeSingletonScore(Object o) -> AttributeSingletonScore"""
358  return _IMP_core._object_cast_to_AttributeSingletonScore(o)
359 
360 _object_types.append("BallMover")
361 
362 
363 def _object_cast_to_BallMover(o):
364  r"""_object_cast_to_BallMover(Object o) -> BallMover"""
365  return _IMP_core._object_cast_to_BallMover(o)
366 
367 _object_types.append("SerialMover")
368 
369 
370 def _object_cast_to_SerialMover(o):
371  r"""_object_cast_to_SerialMover(Object o) -> SerialMover"""
372  return _IMP_core._object_cast_to_SerialMover(o)
373 
374 _object_types.append("SubsetMover")
375 
376 
377 def _object_cast_to_SubsetMover(o):
378  r"""_object_cast_to_SubsetMover(Object o) -> SubsetMover"""
379  return _IMP_core._object_cast_to_SubsetMover(o)
380 
381 _object_types.append("DirectionMover")
382 
383 
384 def _object_cast_to_DirectionMover(o):
385  r"""_object_cast_to_DirectionMover(Object o) -> DirectionMover"""
386  return _IMP_core._object_cast_to_DirectionMover(o)
387 
388 _object_types.append("SurfaceMover")
389 
390 
391 def _object_cast_to_SurfaceMover(o):
392  r"""_object_cast_to_SurfaceMover(Object o) -> SurfaceMover"""
393  return _IMP_core._object_cast_to_SurfaceMover(o)
394 
395 _object_types.append("BoundingBox3DSingletonScore")
396 
397 
398 def _object_cast_to_BoundingBox3DSingletonScore(o):
399  r"""_object_cast_to_BoundingBox3DSingletonScore(Object o) -> BoundingBox3DSingletonScore"""
400  return _IMP_core._object_cast_to_BoundingBox3DSingletonScore(o)
401 
402 _object_types.append("BoundingSphere3DSingletonScore")
403 
404 
405 def _object_cast_to_BoundingSphere3DSingletonScore(o):
406  r"""_object_cast_to_BoundingSphere3DSingletonScore(Object o) -> BoundingSphere3DSingletonScore"""
407  return _IMP_core._object_cast_to_BoundingSphere3DSingletonScore(o)
408 
409 _object_types.append("BoxSweepClosePairsFinder")
410 
411 
412 def _object_cast_to_BoxSweepClosePairsFinder(o):
413  r"""_object_cast_to_BoxSweepClosePairsFinder(Object o) -> BoxSweepClosePairsFinder"""
414  return _IMP_core._object_cast_to_BoxSweepClosePairsFinder(o)
415 
416 _object_types.append("NearestNeighborsClosePairsFinder")
417 
418 
419 def _object_cast_to_NearestNeighborsClosePairsFinder(o):
420  r"""_object_cast_to_NearestNeighborsClosePairsFinder(Object o) -> NearestNeighborsClosePairsFinder"""
421  return _IMP_core._object_cast_to_NearestNeighborsClosePairsFinder(o)
422 
423 _object_types.append("CentroidOfRefined")
424 
425 
426 def _object_cast_to_CentroidOfRefined(o):
427  r"""_object_cast_to_CentroidOfRefined(Object o) -> CentroidOfRefined"""
428  return _IMP_core._object_cast_to_CentroidOfRefined(o)
429 
430 _object_types.append("ChecksScoreState")
431 
432 
433 def _object_cast_to_ChecksScoreState(o):
434  r"""_object_cast_to_ChecksScoreState(Object o) -> ChecksScoreState"""
435  return _IMP_core._object_cast_to_ChecksScoreState(o)
436 
437 _object_types.append("ChildrenRefiner")
438 
439 
440 def _object_cast_to_ChildrenRefiner(o):
441  r"""_object_cast_to_ChildrenRefiner(Object o) -> ChildrenRefiner"""
442  return _IMP_core._object_cast_to_ChildrenRefiner(o)
443 
444 _object_types.append("ClosePairsFinder")
445 
446 
447 def _object_cast_to_ClosePairsFinder(o):
448  r"""_object_cast_to_ClosePairsFinder(Object o) -> ClosePairsFinder"""
449  return _IMP_core._object_cast_to_ClosePairsFinder(o)
450 
451 _object_types.append("ClosePairsPairScore")
452 
453 
454 def _object_cast_to_ClosePairsPairScore(o):
455  r"""_object_cast_to_ClosePairsPairScore(Object o) -> ClosePairsPairScore"""
456  return _IMP_core._object_cast_to_ClosePairsPairScore(o)
457 
458 _object_types.append("ClosedCubicSpline")
459 
460 
461 def _object_cast_to_ClosedCubicSpline(o):
462  r"""_object_cast_to_ClosedCubicSpline(Object o) -> ClosedCubicSpline"""
463  return _IMP_core._object_cast_to_ClosedCubicSpline(o)
464 
465 _object_types.append("ConjugateGradients")
466 
467 
468 def _object_cast_to_ConjugateGradients(o):
469  r"""_object_cast_to_ConjugateGradients(Object o) -> ConjugateGradients"""
470  return _IMP_core._object_cast_to_ConjugateGradients(o)
471 
472 _object_types.append("ConnectivityRestraint")
473 
474 
475 def _object_cast_to_ConnectivityRestraint(o):
476  r"""_object_cast_to_ConnectivityRestraint(Object o) -> ConnectivityRestraint"""
477  return _IMP_core._object_cast_to_ConnectivityRestraint(o)
478 
479 _object_types.append("ConstantRestraint")
480 
481 
482 def _object_cast_to_ConstantRestraint(o):
483  r"""_object_cast_to_ConstantRestraint(Object o) -> ConstantRestraint"""
484  return _IMP_core._object_cast_to_ConstantRestraint(o)
485 
486 _object_types.append("Cosine")
487 
488 
489 def _object_cast_to_Cosine(o):
490  r"""_object_cast_to_Cosine(Object o) -> Cosine"""
491  return _IMP_core._object_cast_to_Cosine(o)
492 
493 _object_types.append("CoverRefined")
494 
495 
496 def _object_cast_to_CoverRefined(o):
497  r"""_object_cast_to_CoverRefined(Object o) -> CoverRefined"""
498  return _IMP_core._object_cast_to_CoverRefined(o)
499 
500 _object_types.append("DerivativesFromRefined")
501 
502 
503 def _object_cast_to_DerivativesFromRefined(o):
504  r"""_object_cast_to_DerivativesFromRefined(Object o) -> DerivativesFromRefined"""
505  return _IMP_core._object_cast_to_DerivativesFromRefined(o)
506 
507 _object_types.append("DerivativesToRefined")
508 
509 
510 def _object_cast_to_DerivativesToRefined(o):
511  r"""_object_cast_to_DerivativesToRefined(Object o) -> DerivativesToRefined"""
512  return _IMP_core._object_cast_to_DerivativesToRefined(o)
513 
514 _object_types.append("WeightedDerivativesToRefined")
515 
516 
517 def _object_cast_to_WeightedDerivativesToRefined(o):
518  r"""_object_cast_to_WeightedDerivativesToRefined(Object o) -> IMP::core::WeightedDerivativesToRefined *"""
519  return _IMP_core._object_cast_to_WeightedDerivativesToRefined(o)
520 
521 _object_types.append("DiameterRestraint")
522 
523 
524 def _object_cast_to_DiameterRestraint(o):
525  r"""_object_cast_to_DiameterRestraint(Object o) -> DiameterRestraint"""
526  return _IMP_core._object_cast_to_DiameterRestraint(o)
527 
528 _object_types.append("DihedralRestraint")
529 
530 
531 def _object_cast_to_DihedralRestraint(o):
532  r"""_object_cast_to_DihedralRestraint(Object o) -> DihedralRestraint"""
533  return _IMP_core._object_cast_to_DihedralRestraint(o)
534 
535 _object_types.append("DistanceRestraint")
536 
537 
538 def _object_cast_to_DistanceRestraint(o):
539  r"""_object_cast_to_DistanceRestraint(Object o) -> DistanceRestraint"""
540  return _IMP_core._object_cast_to_DistanceRestraint(o)
541 
542 _object_types.append("DistanceToSingletonScore")
543 
544 
545 def _object_cast_to_DistanceToSingletonScore(o):
546  r"""_object_cast_to_DistanceToSingletonScore(Object o) -> DistanceToSingletonScore"""
547  return _IMP_core._object_cast_to_DistanceToSingletonScore(o)
548 
549 _object_types.append("ExcludedVolumeRestraint")
550 
551 
552 def _object_cast_to_ExcludedVolumeRestraint(o):
553  r"""_object_cast_to_ExcludedVolumeRestraint(Object o) -> ExcludedVolumeRestraint"""
554  return _IMP_core._object_cast_to_ExcludedVolumeRestraint(o)
555 
556 _object_types.append("FixedRefiner")
557 
558 
559 def _object_cast_to_FixedRefiner(o):
560  r"""_object_cast_to_FixedRefiner(Object o) -> FixedRefiner"""
561  return _IMP_core._object_cast_to_FixedRefiner(o)
562 
563 _object_types.append("GridClosePairsFinder")
564 
565 
566 def _object_cast_to_GridClosePairsFinder(o):
567  r"""_object_cast_to_GridClosePairsFinder(Object o) -> GridClosePairsFinder"""
568  return _IMP_core._object_cast_to_GridClosePairsFinder(o)
569 
570 _object_types.append("Harmonic")
571 
572 
573 def _object_cast_to_Harmonic(o):
574  r"""_object_cast_to_Harmonic(Object o) -> Harmonic"""
575  return _IMP_core._object_cast_to_Harmonic(o)
576 
577 _object_types.append("HarmonicWell")
578 
579 
580 def _object_cast_to_HarmonicWell(o):
581  r"""_object_cast_to_HarmonicWell(Object o) -> HarmonicWell"""
582  return _IMP_core._object_cast_to_HarmonicWell(o)
583 
584 _object_types.append("HarmonicLowerBound")
585 
586 
587 def _object_cast_to_HarmonicLowerBound(o):
588  r"""_object_cast_to_HarmonicLowerBound(Object o) -> HarmonicLowerBound"""
589  return _IMP_core._object_cast_to_HarmonicLowerBound(o)
590 
591 _object_types.append("HarmonicUpperBound")
592 
593 
594 def _object_cast_to_HarmonicUpperBound(o):
595  r"""_object_cast_to_HarmonicUpperBound(Object o) -> HarmonicUpperBound"""
596  return _IMP_core._object_cast_to_HarmonicUpperBound(o)
597 
598 _object_types.append("HarmonicSphereDistancePairScore")
599 
600 
601 def _object_cast_to_HarmonicSphereDistancePairScore(o):
602  r"""_object_cast_to_HarmonicSphereDistancePairScore(Object o) -> HarmonicSphereDistancePairScore"""
603  return _IMP_core._object_cast_to_HarmonicSphereDistancePairScore(o)
604 
605 _object_types.append("HarmonicUpperBoundSphereDistancePairScore")
606 
607 
608 def _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o):
609  r"""_object_cast_to_HarmonicUpperBoundSphereDistancePairScore(Object o) -> HarmonicUpperBoundSphereDistancePairScore"""
610  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
611 
612 _object_types.append("HarmonicUpperBoundSphereDiameterPairScore")
613 
614 
615 def _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o):
616  r"""_object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(Object o) -> HarmonicUpperBoundSphereDiameterPairScore"""
617  return _IMP_core._object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
618 
619 _object_types.append("HarmonicSurfaceDistancePairScore")
620 
621 
622 def _object_cast_to_HarmonicSurfaceDistancePairScore(o):
623  r"""_object_cast_to_HarmonicSurfaceDistancePairScore(Object o) -> HarmonicSurfaceDistancePairScore"""
624  return _IMP_core._object_cast_to_HarmonicSurfaceDistancePairScore(o)
625 
626 _object_types.append("HarmonicSurfaceHeightPairScore")
627 
628 
629 def _object_cast_to_HarmonicSurfaceHeightPairScore(o):
630  r"""_object_cast_to_HarmonicSurfaceHeightPairScore(Object o) -> HarmonicSurfaceHeightPairScore"""
631  return _IMP_core._object_cast_to_HarmonicSurfaceHeightPairScore(o)
632 
633 _object_types.append("HarmonicSurfaceDepthPairScore")
634 
635 
636 def _object_cast_to_HarmonicSurfaceDepthPairScore(o):
637  r"""_object_cast_to_HarmonicSurfaceDepthPairScore(Object o) -> HarmonicSurfaceDepthPairScore"""
638  return _IMP_core._object_cast_to_HarmonicSurfaceDepthPairScore(o)
639 
640 _object_types.append("WeightedSum")
641 
642 
643 def _object_cast_to_WeightedSum(o):
644  r"""_object_cast_to_WeightedSum(Object o) -> WeightedSum"""
645  return _IMP_core._object_cast_to_WeightedSum(o)
646 
647 _object_types.append("WeightedSumOfExponential")
648 
649 
650 def _object_cast_to_WeightedSumOfExponential(o):
651  r"""_object_cast_to_WeightedSumOfExponential(Object o) -> WeightedSumOfExponential"""
652  return _IMP_core._object_cast_to_WeightedSumOfExponential(o)
653 
654 _object_types.append("KClosePairsPairScore")
655 
656 
657 def _object_cast_to_KClosePairsPairScore(o):
658  r"""_object_cast_to_KClosePairsPairScore(Object o) -> KClosePairsPairScore"""
659  return _IMP_core._object_cast_to_KClosePairsPairScore(o)
660 
661 _object_types.append("LeavesRefiner")
662 
663 
664 def _object_cast_to_LeavesRefiner(o):
665  r"""_object_cast_to_LeavesRefiner(Object o) -> LeavesRefiner"""
666  return _IMP_core._object_cast_to_LeavesRefiner(o)
667 
668 _object_types.append("Linear")
669 
670 
671 def _object_cast_to_Linear(o):
672  r"""_object_cast_to_Linear(Object o) -> Linear"""
673  return _IMP_core._object_cast_to_Linear(o)
674 
675 _object_types.append("LogNormalMover")
676 
677 
678 def _object_cast_to_LogNormalMover(o):
679  r"""_object_cast_to_LogNormalMover(Object o) -> LogNormalMover"""
680  return _IMP_core._object_cast_to_LogNormalMover(o)
681 
682 _object_types.append("MCCGSampler")
683 
684 
685 def _object_cast_to_MCCGSampler(o):
686  r"""_object_cast_to_MCCGSampler(Object o) -> MCCGSampler"""
687  return _IMP_core._object_cast_to_MCCGSampler(o)
688 
689 _object_types.append("MonteCarlo")
690 
691 
692 def _object_cast_to_MonteCarlo(o):
693  r"""_object_cast_to_MonteCarlo(Object o) -> MonteCarlo"""
694  return _IMP_core._object_cast_to_MonteCarlo(o)
695 
696 _object_types.append("MonteCarloWithLocalOptimization")
697 
698 
699 def _object_cast_to_MonteCarloWithLocalOptimization(o):
700  r"""_object_cast_to_MonteCarloWithLocalOptimization(Object o) -> MonteCarloWithLocalOptimization"""
701  return _IMP_core._object_cast_to_MonteCarloWithLocalOptimization(o)
702 
703 _object_types.append("MonteCarloWithBasinHopping")
704 
705 
706 def _object_cast_to_MonteCarloWithBasinHopping(o):
707  r"""_object_cast_to_MonteCarloWithBasinHopping(Object o) -> MonteCarloWithBasinHopping"""
708  return _IMP_core._object_cast_to_MonteCarloWithBasinHopping(o)
709 
710 _object_types.append("MSConnectivityRestraint")
711 
712 
713 def _object_cast_to_MSConnectivityRestraint(o):
714  r"""_object_cast_to_MSConnectivityRestraint(Object o) -> MSConnectivityRestraint"""
715  return _IMP_core._object_cast_to_MSConnectivityRestraint(o)
716 
717 _object_types.append("NeighborsTable")
718 
719 
720 def _object_cast_to_NeighborsTable(o):
721  r"""_object_cast_to_NeighborsTable(Object o) -> NeighborsTable"""
722  return _IMP_core._object_cast_to_NeighborsTable(o)
723 
724 _object_types.append("NormalMover")
725 
726 
727 def _object_cast_to_NormalMover(o):
728  r"""_object_cast_to_NormalMover(Object o) -> NormalMover"""
729  return _IMP_core._object_cast_to_NormalMover(o)
730 
731 _object_types.append("NormalizedSphereDistancePairScore")
732 
733 
734 def _object_cast_to_NormalizedSphereDistancePairScore(o):
735  r"""_object_cast_to_NormalizedSphereDistancePairScore(Object o) -> NormalizedSphereDistancePairScore"""
736  return _IMP_core._object_cast_to_NormalizedSphereDistancePairScore(o)
737 
738 _object_types.append("OpenCubicSpline")
739 
740 
741 def _object_cast_to_OpenCubicSpline(o):
742  r"""_object_cast_to_OpenCubicSpline(Object o) -> OpenCubicSpline"""
743  return _IMP_core._object_cast_to_OpenCubicSpline(o)
744 
745 _object_types.append("PairConstraint")
746 
747 
748 def _object_cast_to_PairConstraint(o):
749  r"""_object_cast_to_PairConstraint(Object o) -> PairConstraint"""
750  return _IMP_core._object_cast_to_PairConstraint(o)
751 
752 _object_types.append("PairRestraint")
753 
754 
755 def _object_cast_to_PairRestraint(o):
756  r"""_object_cast_to_PairRestraint(Object o) -> PairRestraint"""
757  return _IMP_core._object_cast_to_PairRestraint(o)
758 
759 _object_types.append("QuadConstraint")
760 
761 
762 def _object_cast_to_QuadConstraint(o):
763  r"""_object_cast_to_QuadConstraint(Object o) -> QuadConstraint"""
764  return _IMP_core._object_cast_to_QuadConstraint(o)
765 
766 _object_types.append("QuadRestraint")
767 
768 
769 def _object_cast_to_QuadRestraint(o):
770  r"""_object_cast_to_QuadRestraint(Object o) -> QuadRestraint"""
771  return _IMP_core._object_cast_to_QuadRestraint(o)
772 
773 _object_types.append("QuadraticClosePairsFinder")
774 
775 
776 def _object_cast_to_QuadraticClosePairsFinder(o):
777  r"""_object_cast_to_QuadraticClosePairsFinder(Object o) -> QuadraticClosePairsFinder"""
778  return _IMP_core._object_cast_to_QuadraticClosePairsFinder(o)
779 
780 _object_types.append("RefinedPairsPairScore")
781 
782 
783 def _object_cast_to_RefinedPairsPairScore(o):
784  r"""_object_cast_to_RefinedPairsPairScore(Object o) -> RefinedPairsPairScore"""
785  return _IMP_core._object_cast_to_RefinedPairsPairScore(o)
786 
787 _object_types.append("RestraintsScoringFunction")
788 
789 
790 def _object_cast_to_RestraintsScoringFunction(o):
791  r"""_object_cast_to_RestraintsScoringFunction(Object o) -> RestraintsScoringFunction"""
792  return _IMP_core._object_cast_to_RestraintsScoringFunction(o)
793 
794 _object_types.append("RigidBodyDistancePairScore")
795 
796 
797 def _object_cast_to_RigidBodyDistancePairScore(o):
798  r"""_object_cast_to_RigidBodyDistancePairScore(Object o) -> RigidBodyDistancePairScore"""
799  return _IMP_core._object_cast_to_RigidBodyDistancePairScore(o)
800 
801 _object_types.append("RigidBodyAnglePairScore")
802 
803 
804 def _object_cast_to_RigidBodyAnglePairScore(o):
805  r"""_object_cast_to_RigidBodyAnglePairScore(Object o) -> RigidBodyAnglePairScore"""
806  return _IMP_core._object_cast_to_RigidBodyAnglePairScore(o)
807 
808 _object_types.append("RigidBodyMover")
809 
810 
811 def _object_cast_to_RigidBodyMover(o):
812  r"""_object_cast_to_RigidBodyMover(Object o) -> RigidBodyMover"""
813  return _IMP_core._object_cast_to_RigidBodyMover(o)
814 
815 _object_types.append("RigidBodyTunneler")
816 
817 
818 def _object_cast_to_RigidBodyTunneler(o):
819  r"""_object_cast_to_RigidBodyTunneler(Object o) -> RigidBodyTunneler"""
820  return _IMP_core._object_cast_to_RigidBodyTunneler(o)
821 
822 _object_types.append("RigidBodyUmbrella")
823 
824 
825 def _object_cast_to_RigidBodyUmbrella(o):
826  r"""_object_cast_to_RigidBodyUmbrella(Object o) -> RigidBodyUmbrella"""
827  return _IMP_core._object_cast_to_RigidBodyUmbrella(o)
828 
829 _object_types.append("_UpdateRigidBodyMembers")
830 
831 
832 def _object_cast_to__UpdateRigidBodyMembers(o):
833  r"""_object_cast_to__UpdateRigidBodyMembers(Object o) -> _UpdateRigidBodyMembers"""
834  return _IMP_core._object_cast_to__UpdateRigidBodyMembers(o)
835 
836 _object_types.append("_AccumulateRigidBodyDerivatives")
837 
838 
839 def _object_cast_to__AccumulateRigidBodyDerivatives(o):
840  r"""_object_cast_to__AccumulateRigidBodyDerivatives(Object o) -> _AccumulateRigidBodyDerivatives"""
841  return _IMP_core._object_cast_to__AccumulateRigidBodyDerivatives(o)
842 
843 _object_types.append("_RigidBodyNormalizeConstraint")
844 
845 
846 def _object_cast_to__RigidBodyNormalizeConstraint(o):
847  r"""_object_cast_to__RigidBodyNormalizeConstraint(Object o) -> _RigidBodyNormalizeConstraint"""
848  return _IMP_core._object_cast_to__RigidBodyNormalizeConstraint(o)
849 
850 _object_types.append("_NormalizeRotation")
851 
852 
853 def _object_cast_to__NormalizeRotation(o):
854  r"""_object_cast_to__NormalizeRotation(Object o) -> _NormalizeRotation"""
855  return _IMP_core._object_cast_to__NormalizeRotation(o)
856 
857 _object_types.append("_RigidBodyPositionConstraint")
858 
859 
860 def _object_cast_to__RigidBodyPositionConstraint(o):
861  r"""_object_cast_to__RigidBodyPositionConstraint(Object o) -> _RigidBodyPositionConstraint"""
862  return _IMP_core._object_cast_to__RigidBodyPositionConstraint(o)
863 
864 _object_types.append("RigidClosePairsFinder")
865 
866 
867 def _object_cast_to_RigidClosePairsFinder(o):
868  r"""_object_cast_to_RigidClosePairsFinder(Object o) -> RigidClosePairsFinder"""
869  return _IMP_core._object_cast_to_RigidClosePairsFinder(o)
870 
871 _object_types.append("RigidMembersRefiner")
872 
873 
874 def _object_cast_to_RigidMembersRefiner(o):
875  r"""_object_cast_to_RigidMembersRefiner(Object o) -> RigidMembersRefiner"""
876  return _IMP_core._object_cast_to_RigidMembersRefiner(o)
877 
878 _object_types.append("SingletonConstraint")
879 
880 
881 def _object_cast_to_SingletonConstraint(o):
882  r"""_object_cast_to_SingletonConstraint(Object o) -> SingletonConstraint"""
883  return _IMP_core._object_cast_to_SingletonConstraint(o)
884 
885 _object_types.append("SingletonRestraint")
886 
887 
888 def _object_cast_to_SingletonRestraint(o):
889  r"""_object_cast_to_SingletonRestraint(Object o) -> SingletonRestraint"""
890  return _IMP_core._object_cast_to_SingletonRestraint(o)
891 
892 _object_types.append("SoftSpherePairScore")
893 
894 
895 def _object_cast_to_SoftSpherePairScore(o):
896  r"""_object_cast_to_SoftSpherePairScore(Object o) -> SoftSpherePairScore"""
897  return _IMP_core._object_cast_to_SoftSpherePairScore(o)
898 
899 _object_types.append("_SphereDistancePairScore")
900 
901 
902 def _object_cast_to__SphereDistancePairScore(o):
903  r"""_object_cast_to__SphereDistancePairScore(Object o) -> _SphereDistancePairScore"""
904  return _IMP_core._object_cast_to__SphereDistancePairScore(o)
905 
906 _object_types.append("SphereDistanceToSingletonScore")
907 
908 
909 def _object_cast_to_SphereDistanceToSingletonScore(o):
910  r"""_object_cast_to_SphereDistanceToSingletonScore(Object o) -> SphereDistanceToSingletonScore"""
911  return _IMP_core._object_cast_to_SphereDistanceToSingletonScore(o)
912 
913 _object_types.append("SoftSubSurfacePairScore")
914 
915 
916 def _object_cast_to_SoftSubSurfacePairScore(o):
917  r"""_object_cast_to_SoftSubSurfacePairScore(Object o) -> SoftSubSurfacePairScore"""
918  return _IMP_core._object_cast_to_SoftSubSurfacePairScore(o)
919 
920 _object_types.append("SoftSuperSurfacePairScore")
921 
922 
923 def _object_cast_to_SoftSuperSurfacePairScore(o):
924  r"""_object_cast_to_SoftSuperSurfacePairScore(Object o) -> SoftSuperSurfacePairScore"""
925  return _IMP_core._object_cast_to_SoftSuperSurfacePairScore(o)
926 
927 _object_types.append("SurfaceDistancePairScore")
928 
929 
930 def _object_cast_to_SurfaceDistancePairScore(o):
931  r"""_object_cast_to_SurfaceDistancePairScore(Object o) -> SurfaceDistancePairScore"""
932  return _IMP_core._object_cast_to_SurfaceDistancePairScore(o)
933 
934 _object_types.append("SurfaceHeightPairScore")
935 
936 
937 def _object_cast_to_SurfaceHeightPairScore(o):
938  r"""_object_cast_to_SurfaceHeightPairScore(Object o) -> SurfaceHeightPairScore"""
939  return _IMP_core._object_cast_to_SurfaceHeightPairScore(o)
940 
941 _object_types.append("SurfaceDepthPairScore")
942 
943 
944 def _object_cast_to_SurfaceDepthPairScore(o):
945  r"""_object_cast_to_SurfaceDepthPairScore(Object o) -> SurfaceDepthPairScore"""
946  return _IMP_core._object_cast_to_SurfaceDepthPairScore(o)
947 
948 _object_types.append("SurfaceTetheredChain")
949 
950 
951 def _object_cast_to_SurfaceTetheredChain(o):
952  r"""_object_cast_to_SurfaceTetheredChain(Object o) -> SurfaceTetheredChain"""
953  return _IMP_core._object_cast_to_SurfaceTetheredChain(o)
954 
955 _object_types.append("SurfaceSymmetryConstraint")
956 
957 
958 def _object_cast_to_SurfaceSymmetryConstraint(o):
959  r"""_object_cast_to_SurfaceSymmetryConstraint(Object o) -> SurfaceSymmetryConstraint"""
960  return _IMP_core._object_cast_to_SurfaceSymmetryConstraint(o)
961 
962 _object_types.append("SteepestDescent")
963 
964 
965 def _object_cast_to_SteepestDescent(o):
966  r"""_object_cast_to_SteepestDescent(Object o) -> SteepestDescent"""
967  return _IMP_core._object_cast_to_SteepestDescent(o)
968 
969 _object_types.append("TableRefiner")
970 
971 
972 def _object_cast_to_TableRefiner(o):
973  r"""_object_cast_to_TableRefiner(Object o) -> TableRefiner"""
974  return _IMP_core._object_cast_to_TableRefiner(o)
975 
976 _object_types.append("Transform")
977 
978 
979 def _object_cast_to_Transform(o):
980  r"""_object_cast_to_Transform(Object o) -> Transform"""
981  return _IMP_core._object_cast_to_Transform(o)
982 
983 _object_types.append("TransformationAndReflectionSymmetry")
984 
985 
986 def _object_cast_to_TransformationAndReflectionSymmetry(o):
987  r"""_object_cast_to_TransformationAndReflectionSymmetry(Object o) -> TransformationAndReflectionSymmetry"""
988  return _IMP_core._object_cast_to_TransformationAndReflectionSymmetry(o)
989 
990 _object_types.append("TransformationSymmetry")
991 
992 
993 def _object_cast_to_TransformationSymmetry(o):
994  r"""_object_cast_to_TransformationSymmetry(Object o) -> TransformationSymmetry"""
995  return _IMP_core._object_cast_to_TransformationSymmetry(o)
996 
997 _object_types.append("TransformationSymmetryMover")
998 
999 
1000 def _object_cast_to_TransformationSymmetryMover(o):
1001  r"""_object_cast_to_TransformationSymmetryMover(Object o) -> TransformationSymmetryMover"""
1002  return _IMP_core._object_cast_to_TransformationSymmetryMover(o)
1003 
1004 _object_types.append("TransformedDistancePairScore")
1005 
1006 
1007 def _object_cast_to_TransformedDistancePairScore(o):
1008  r"""_object_cast_to_TransformedDistancePairScore(Object o) -> TransformedDistancePairScore"""
1009  return _IMP_core._object_cast_to_TransformedDistancePairScore(o)
1010 
1011 _object_types.append("TripletConstraint")
1012 
1013 
1014 def _object_cast_to_TripletConstraint(o):
1015  r"""_object_cast_to_TripletConstraint(Object o) -> TripletConstraint"""
1016  return _IMP_core._object_cast_to_TripletConstraint(o)
1017 
1018 _object_types.append("TripletRestraint")
1019 
1020 
1021 def _object_cast_to_TripletRestraint(o):
1022  r"""_object_cast_to_TripletRestraint(Object o) -> TripletRestraint"""
1023  return _IMP_core._object_cast_to_TripletRestraint(o)
1024 
1025 _object_types.append("TypedPairScore")
1026 
1027 
1028 def _object_cast_to_TypedPairScore(o):
1029  r"""_object_cast_to_TypedPairScore(Object o) -> TypedPairScore"""
1030  return _IMP_core._object_cast_to_TypedPairScore(o)
1031 
1032 _object_types.append("VolumeRestraint")
1033 
1034 
1035 def _object_cast_to_VolumeRestraint(o):
1036  r"""_object_cast_to_VolumeRestraint(Object o) -> VolumeRestraint"""
1037  return _IMP_core._object_cast_to_VolumeRestraint(o)
1038 
1039 _object_types.append("WeightedSphereDistancePairScore")
1040 
1041 
1042 def _object_cast_to_WeightedSphereDistancePairScore(o):
1043  r"""_object_cast_to_WeightedSphereDistancePairScore(Object o) -> WeightedSphereDistancePairScore"""
1044  return _IMP_core._object_cast_to_WeightedSphereDistancePairScore(o)
1045 
1046 _object_types.append("MoveStatisticsScoreState")
1047 
1048 
1049 def _object_cast_to_MoveStatisticsScoreState(o):
1050  r"""_object_cast_to_MoveStatisticsScoreState(Object o) -> MoveStatisticsScoreState"""
1051  return _IMP_core._object_cast_to_MoveStatisticsScoreState(o)
1052 
1053 _object_types.append("MinimumRestraint")
1054 
1055 
1056 def _object_cast_to_MinimumRestraint(o):
1057  r"""_object_cast_to_MinimumRestraint(Object o) -> MinimumRestraint"""
1058  return _IMP_core._object_cast_to_MinimumRestraint(o)
1059 
1060 _object_types.append("WriteRestraintScoresOptimizerState")
1061 
1062 
1063 def _object_cast_to_WriteRestraintScoresOptimizerState(o):
1064  r"""_object_cast_to_WriteRestraintScoresOptimizerState(Object o) -> WriteRestraintScoresOptimizerState"""
1065  return _IMP_core._object_cast_to_WriteRestraintScoresOptimizerState(o)
1066 
1067 _object_types.append("LateralSurfaceConstraint")
1068 
1069 
1070 def _object_cast_to_LateralSurfaceConstraint(o):
1071  r"""_object_cast_to_LateralSurfaceConstraint(Object o) -> LateralSurfaceConstraint"""
1072  return _IMP_core._object_cast_to_LateralSurfaceConstraint(o)
1073 
1074 _object_types.append("ConstantSingletonPredicate")
1075 
1076 
1077 def _object_cast_to_ConstantSingletonPredicate(o):
1078  r"""_object_cast_to_ConstantSingletonPredicate(Object o) -> ConstantSingletonPredicate"""
1079  return _IMP_core._object_cast_to_ConstantSingletonPredicate(o)
1080 
1081 _object_types.append("ConstantPairPredicate")
1082 
1083 
1084 def _object_cast_to_ConstantPairPredicate(o):
1085  r"""_object_cast_to_ConstantPairPredicate(Object o) -> ConstantPairPredicate"""
1086  return _IMP_core._object_cast_to_ConstantPairPredicate(o)
1087 
1088 _object_types.append("ConstantTripletPredicate")
1089 
1090 
1091 def _object_cast_to_ConstantTripletPredicate(o):
1092  r"""_object_cast_to_ConstantTripletPredicate(Object o) -> ConstantTripletPredicate"""
1093  return _IMP_core._object_cast_to_ConstantTripletPredicate(o)
1094 
1095 _object_types.append("ConstantQuadPredicate")
1096 
1097 
1098 def _object_cast_to_ConstantQuadPredicate(o):
1099  r"""_object_cast_to_ConstantQuadPredicate(Object o) -> ConstantQuadPredicate"""
1100  return _IMP_core._object_cast_to_ConstantQuadPredicate(o)
1101 
1102 _object_types.append("CoinFlipSingletonPredicate")
1103 
1104 
1105 def _object_cast_to_CoinFlipSingletonPredicate(o):
1106  r"""_object_cast_to_CoinFlipSingletonPredicate(Object o) -> CoinFlipSingletonPredicate"""
1107  return _IMP_core._object_cast_to_CoinFlipSingletonPredicate(o)
1108 
1109 _object_types.append("CoinFlipPairPredicate")
1110 
1111 
1112 def _object_cast_to_CoinFlipPairPredicate(o):
1113  r"""_object_cast_to_CoinFlipPairPredicate(Object o) -> CoinFlipPairPredicate"""
1114  return _IMP_core._object_cast_to_CoinFlipPairPredicate(o)
1115 
1116 _object_types.append("CoinFlipTripletPredicate")
1117 
1118 
1119 def _object_cast_to_CoinFlipTripletPredicate(o):
1120  r"""_object_cast_to_CoinFlipTripletPredicate(Object o) -> CoinFlipTripletPredicate"""
1121  return _IMP_core._object_cast_to_CoinFlipTripletPredicate(o)
1122 
1123 _object_types.append("CoinFlipQuadPredicate")
1124 
1125 
1126 def _object_cast_to_CoinFlipQuadPredicate(o):
1127  r"""_object_cast_to_CoinFlipQuadPredicate(Object o) -> CoinFlipQuadPredicate"""
1128  return _IMP_core._object_cast_to_CoinFlipQuadPredicate(o)
1129 
1130 _object_types.append("UnorderedTypeSingletonPredicate")
1131 
1132 
1133 def _object_cast_to_UnorderedTypeSingletonPredicate(o):
1134  r"""_object_cast_to_UnorderedTypeSingletonPredicate(Object o) -> UnorderedTypeSingletonPredicate"""
1135  return _IMP_core._object_cast_to_UnorderedTypeSingletonPredicate(o)
1136 
1137 _object_types.append("UnorderedTypePairPredicate")
1138 
1139 
1140 def _object_cast_to_UnorderedTypePairPredicate(o):
1141  r"""_object_cast_to_UnorderedTypePairPredicate(Object o) -> UnorderedTypePairPredicate"""
1142  return _IMP_core._object_cast_to_UnorderedTypePairPredicate(o)
1143 
1144 _object_types.append("UnorderedTypeTripletPredicate")
1145 
1146 
1147 def _object_cast_to_UnorderedTypeTripletPredicate(o):
1148  r"""_object_cast_to_UnorderedTypeTripletPredicate(Object o) -> UnorderedTypeTripletPredicate"""
1149  return _IMP_core._object_cast_to_UnorderedTypeTripletPredicate(o)
1150 
1151 _object_types.append("UnorderedTypeQuadPredicate")
1152 
1153 
1154 def _object_cast_to_UnorderedTypeQuadPredicate(o):
1155  r"""_object_cast_to_UnorderedTypeQuadPredicate(Object o) -> UnorderedTypeQuadPredicate"""
1156  return _IMP_core._object_cast_to_UnorderedTypeQuadPredicate(o)
1157 
1158 _object_types.append("OrderedTypeSingletonPredicate")
1159 
1160 
1161 def _object_cast_to_OrderedTypeSingletonPredicate(o):
1162  r"""_object_cast_to_OrderedTypeSingletonPredicate(Object o) -> OrderedTypeSingletonPredicate"""
1163  return _IMP_core._object_cast_to_OrderedTypeSingletonPredicate(o)
1164 
1165 _object_types.append("OrderedTypePairPredicate")
1166 
1167 
1168 def _object_cast_to_OrderedTypePairPredicate(o):
1169  r"""_object_cast_to_OrderedTypePairPredicate(Object o) -> OrderedTypePairPredicate"""
1170  return _IMP_core._object_cast_to_OrderedTypePairPredicate(o)
1171 
1172 _object_types.append("OrderedTypeTripletPredicate")
1173 
1174 
1175 def _object_cast_to_OrderedTypeTripletPredicate(o):
1176  r"""_object_cast_to_OrderedTypeTripletPredicate(Object o) -> OrderedTypeTripletPredicate"""
1177  return _IMP_core._object_cast_to_OrderedTypeTripletPredicate(o)
1178 
1179 _object_types.append("OrderedTypeQuadPredicate")
1180 
1181 
1182 def _object_cast_to_OrderedTypeQuadPredicate(o):
1183  r"""_object_cast_to_OrderedTypeQuadPredicate(Object o) -> OrderedTypeQuadPredicate"""
1184  return _IMP_core._object_cast_to_OrderedTypeQuadPredicate(o)
1185 
1186 _object_types.append("AllSameSingletonPredicate")
1187 
1188 
1189 def _object_cast_to_AllSameSingletonPredicate(o):
1190  r"""_object_cast_to_AllSameSingletonPredicate(Object o) -> AllSameSingletonPredicate"""
1191  return _IMP_core._object_cast_to_AllSameSingletonPredicate(o)
1192 
1193 _object_types.append("AllSamePairPredicate")
1194 
1195 
1196 def _object_cast_to_AllSamePairPredicate(o):
1197  r"""_object_cast_to_AllSamePairPredicate(Object o) -> AllSamePairPredicate"""
1198  return _IMP_core._object_cast_to_AllSamePairPredicate(o)
1199 
1200 _object_types.append("AllSameTripletPredicate")
1201 
1202 
1203 def _object_cast_to_AllSameTripletPredicate(o):
1204  r"""_object_cast_to_AllSameTripletPredicate(Object o) -> AllSameTripletPredicate"""
1205  return _IMP_core._object_cast_to_AllSameTripletPredicate(o)
1206 
1207 _object_types.append("AllSameQuadPredicate")
1208 
1209 
1210 def _object_cast_to_AllSameQuadPredicate(o):
1211  r"""_object_cast_to_AllSameQuadPredicate(Object o) -> AllSameQuadPredicate"""
1212  return _IMP_core._object_cast_to_AllSameQuadPredicate(o)
1213 
1214 def XYZs(l=[]):
1215  return [XYZ(x) for x in l]
1216 _plural_types.append("XYZs")
1217 
1218 
1219 _value_types.append("XYZ")
1220 
1221 
1222 def XYZRs(l=[]):
1223  return [XYZR(x) for x in l]
1224 _plural_types.append("XYZRs")
1225 
1226 
1227 _value_types.append("XYZR")
1228 
1229 
1230 def RigidBodies(l=[]):
1231  return [RigidBody(x) for x in l]
1232 _plural_types.append("RigidBodies")
1233 
1234 
1235 _value_types.append("RigidBody")
1236 
1237 
1238 def RigidBodyMembers(l=[]):
1239  return [RigidBodyMember(x) for x in l]
1240 _plural_types.append("RigidBodyMembers")
1241 
1242 
1243 _value_types.append("RigidBodyMember")
1244 
1245 
1246 def RigidMembers(l=[]):
1247  return [RigidMember(x) for x in l]
1248 _plural_types.append("RigidMembers")
1249 
1250 
1251 _value_types.append("RigidMember")
1252 
1253 
1254 def NonRigidMembers(l=[]):
1255  return [NonRigidMember(x) for x in l]
1256 _plural_types.append("NonRigidMembers")
1257 
1258 
1259 _value_types.append("NonRigidMember")
1260 
1261 
1262 def Centroids(l=[]):
1263  return [Centroid(x) for x in l]
1264 _plural_types.append("Centroids")
1265 
1266 
1267 _value_types.append("Centroid")
1268 
1269 
1270 def Covers(l=[]):
1271  return [Cover(x) for x in l]
1272 _plural_types.append("Covers")
1273 
1274 
1275 _value_types.append("Cover")
1276 
1277 
1278 def References(l=[]):
1279  return [Reference(x) for x in l]
1280 _plural_types.append("References")
1281 
1282 
1283 _value_types.append("Reference")
1284 
1285 
1286 ParticleTypes=list
1287 _plural_types.append("ParticleTypes")
1288 _value_types.append("ParticleType")
1289 
1290 
1291 def Typeds(l=[]):
1292  return [Typed(x) for x in l]
1293 _plural_types.append("Typeds")
1294 
1295 
1296 _value_types.append("Typed")
1297 
1298 
1299 def GenericHierarchies(l=[]):
1300  return [Hierarchy(x) for x in l]
1301 _plural_types.append("GenericHierarchies")
1302 
1303 
1304 _value_types.append("Hierarchy")
1305 
1306 
1307 def Gaussians(l=[]):
1308  return [Gaussian(x) for x in l]
1309 _plural_types.append("Gaussians")
1310 
1311 
1312 _value_types.append("Gaussian")
1313 
1314 
1315 def Directions(l=[]):
1316  return [Direction(x) for x in l]
1317 _plural_types.append("Directions")
1318 
1319 
1320 _value_types.append("Direction")
1321 
1322 
1323 def DirectionAngles(l=[]):
1324  return [DirectionAngle(x) for x in l]
1325 _plural_types.append("DirectionAngles")
1326 
1327 
1328 _value_types.append("DirectionAngle")
1329 
1330 
1331 def Surfaces(l=[]):
1332  return [Surface(x) for x in l]
1333 _plural_types.append("Surfaces")
1334 
1335 
1336 _value_types.append("Surface")
1337 
1338 
1339 def Provenances(l=[]):
1340  return [Provenance(x) for x in l]
1341 _plural_types.append("Provenances")
1342 
1343 
1344 _value_types.append("Provenance")
1345 
1346 
1347 def StructureProvenances(l=[]):
1348  return [StructureProvenance(x) for x in l]
1349 _plural_types.append("StructureProvenances")
1350 
1351 
1352 _value_types.append("StructureProvenance")
1353 
1354 
1355 def SampleProvenances(l=[]):
1356  return [SampleProvenance(x) for x in l]
1357 _plural_types.append("SampleProvenances")
1358 
1359 
1360 _value_types.append("SampleProvenance")
1361 
1362 
1363 def ClusterProvenances(l=[]):
1364  return [ClusterProvenance(x) for x in l]
1365 _plural_types.append("ClusterProvenances")
1366 
1367 
1368 _value_types.append("ClusterProvenance")
1369 
1370 
1371 def CombineProvenances(l=[]):
1372  return [CombineProvenance(x) for x in l]
1373 _plural_types.append("CombineProvenances")
1374 
1375 
1376 _value_types.append("CombineProvenance")
1377 
1378 
1379 def FilterProvenances(l=[]):
1380  return [FilterProvenance(x) for x in l]
1381 _plural_types.append("FilterProvenances")
1382 
1383 
1384 _value_types.append("FilterProvenance")
1385 
1386 
1387 def ScriptProvenances(l=[]):
1388  return [ScriptProvenance(x) for x in l]
1389 _plural_types.append("ScriptProvenances")
1390 
1391 
1392 _value_types.append("ScriptProvenance")
1393 
1394 
1395 def SoftwareProvenances(l=[]):
1396  return [SoftwareProvenance(x) for x in l]
1397 _plural_types.append("SoftwareProvenances")
1398 
1399 
1400 _value_types.append("SoftwareProvenance")
1401 
1402 
1403 def Provenanceds(l=[]):
1404  return [Provenanced(x) for x in l]
1405 _plural_types.append("Provenanceds")
1406 
1407 
1408 _value_types.append("Provenanced")
1409 
1410 
1411 HierarchyCounters=list
1412 _plural_types.append("HierarchyCounters")
1413 _value_types.append("HierarchyCounter")
1414 
1415 
1416 HierarchyTraitsList=list
1417 _plural_types.append("HierarchyTraitsList")
1418 _value_types.append("HierarchyTraits")
1419 
1420 
1421 _object_types.append("TruncatedHarmonicBound")
1422 
1423 
1424 def _object_cast_to_TruncatedHarmonicBound(o):
1425  r"""_object_cast_to_TruncatedHarmonicBound(Object o) -> TruncatedHarmonicBound"""
1426  return _IMP_core._object_cast_to_TruncatedHarmonicBound(o)
1427 
1428 _object_types.append("TruncatedHarmonicLowerBound")
1429 
1430 
1431 def _object_cast_to_TruncatedHarmonicLowerBound(o):
1432  r"""_object_cast_to_TruncatedHarmonicLowerBound(Object o) -> TruncatedHarmonicLowerBound"""
1433  return _IMP_core._object_cast_to_TruncatedHarmonicLowerBound(o)
1434 
1435 _object_types.append("TruncatedHarmonicUpperBound")
1436 
1437 
1438 def _object_cast_to_TruncatedHarmonicUpperBound(o):
1439  r"""_object_cast_to_TruncatedHarmonicUpperBound(Object o) -> TruncatedHarmonicUpperBound"""
1440  return _IMP_core._object_cast_to_TruncatedHarmonicUpperBound(o)
1441 
1442 _object_types.append("HarmonicDistancePairScore")
1443 
1444 
1445 def _object_cast_to_HarmonicDistancePairScore(o):
1446  r"""_object_cast_to_HarmonicDistancePairScore(Object o) -> HarmonicDistancePairScore"""
1447  return _IMP_core._object_cast_to_HarmonicDistancePairScore(o)
1448 
1449 _object_types.append("DistancePairScore")
1450 
1451 
1452 def _object_cast_to_DistancePairScore(o):
1453  r"""_object_cast_to_DistancePairScore(Object o) -> DistancePairScore"""
1454  return _IMP_core._object_cast_to_DistancePairScore(o)
1455 
1456 _object_types.append("XYZRGeometry")
1457 
1458 
1459 def _object_cast_to_XYZRGeometry(o):
1460  r"""_object_cast_to_XYZRGeometry(Object o) -> XYZRGeometry"""
1461  return _IMP_core._object_cast_to_XYZRGeometry(o)
1462 
1463 _object_types.append("XYZRsGeometry")
1464 
1465 
1466 def _object_cast_to_XYZRsGeometry(o):
1467  r"""_object_cast_to_XYZRsGeometry(Object o) -> XYZRsGeometry"""
1468  return _IMP_core._object_cast_to_XYZRsGeometry(o)
1469 
1470 _object_types.append("XYZDerivativeGeometry")
1471 
1472 
1473 def _object_cast_to_XYZDerivativeGeometry(o):
1474  r"""_object_cast_to_XYZDerivativeGeometry(Object o) -> XYZDerivativeGeometry"""
1475  return _IMP_core._object_cast_to_XYZDerivativeGeometry(o)
1476 
1477 _object_types.append("XYZDerivativesGeometry")
1478 
1479 
1480 def _object_cast_to_XYZDerivativesGeometry(o):
1481  r"""_object_cast_to_XYZDerivativesGeometry(Object o) -> XYZDerivativesGeometry"""
1482  return _IMP_core._object_cast_to_XYZDerivativesGeometry(o)
1483 
1484 _object_types.append("RigidBodyDerivativeGeometry")
1485 
1486 
1487 def _object_cast_to_RigidBodyDerivativeGeometry(o):
1488  r"""_object_cast_to_RigidBodyDerivativeGeometry(Object o) -> RigidBodyDerivativeGeometry"""
1489  return _IMP_core._object_cast_to_RigidBodyDerivativeGeometry(o)
1490 
1491 _object_types.append("RigidBodyDerivativesGeometry")
1492 
1493 
1494 def _object_cast_to_RigidBodyDerivativesGeometry(o):
1495  r"""_object_cast_to_RigidBodyDerivativesGeometry(Object o) -> RigidBodyDerivativesGeometry"""
1496  return _IMP_core._object_cast_to_RigidBodyDerivativesGeometry(o)
1497 
1498 _object_types.append("RigidBodyHierarchyGeometry")
1499 
1500 
1501 def _object_cast_to_RigidBodyHierarchyGeometry(o):
1502  r"""_object_cast_to_RigidBodyHierarchyGeometry(Object o) -> RigidBodyHierarchyGeometry"""
1503  return _IMP_core._object_cast_to_RigidBodyHierarchyGeometry(o)
1504 
1505 _object_types.append("RigidBodyFrameGeometry")
1506 
1507 
1508 def _object_cast_to_RigidBodyFrameGeometry(o):
1509  r"""_object_cast_to_RigidBodyFrameGeometry(Object o) -> RigidBodyFrameGeometry"""
1510  return _IMP_core._object_cast_to_RigidBodyFrameGeometry(o)
1511 
1512 _object_types.append("RigidBodyFramesGeometry")
1513 
1514 
1515 def _object_cast_to_RigidBodyFramesGeometry(o):
1516  r"""_object_cast_to_RigidBodyFramesGeometry(Object o) -> RigidBodyFramesGeometry"""
1517  return _IMP_core._object_cast_to_RigidBodyFramesGeometry(o)
1518 
1519 _object_types.append("RigidBodyTorque")
1520 
1521 
1522 def _object_cast_to_RigidBodyTorque(o):
1523  r"""_object_cast_to_RigidBodyTorque(Object o) -> RigidBodyTorque"""
1524  return _IMP_core._object_cast_to_RigidBodyTorque(o)
1525 
1526 _object_types.append("EdgePairGeometry")
1527 
1528 
1529 def _object_cast_to_EdgePairGeometry(o):
1530  r"""_object_cast_to_EdgePairGeometry(Object o) -> EdgePairGeometry"""
1531  return _IMP_core._object_cast_to_EdgePairGeometry(o)
1532 
1533 _object_types.append("EdgePairsGeometry")
1534 
1535 
1536 def _object_cast_to_EdgePairsGeometry(o):
1537  r"""_object_cast_to_EdgePairsGeometry(Object o) -> EdgePairsGeometry"""
1538  return _IMP_core._object_cast_to_EdgePairsGeometry(o)
1539 
1540 _object_types.append("SurfaceGeometry")
1541 
1542 
1543 def _object_cast_to_SurfaceGeometry(o):
1544  r"""_object_cast_to_SurfaceGeometry(Object o) -> SurfaceGeometry"""
1545  return _IMP_core._object_cast_to_SurfaceGeometry(o)
1546 
1547 _object_types.append("SurfaceGeometryConstraint")
1548 
1549 
1550 def _object_cast_to_SurfaceGeometryConstraint(o):
1551  r"""_object_cast_to_SurfaceGeometryConstraint(Object o) -> SurfaceGeometryConstraint"""
1552  return _IMP_core._object_cast_to_SurfaceGeometryConstraint(o)
1553 
1554 _object_types.append("AttributeSingletonPredicate")
1555 
1556 
1557 def _object_cast_to_AttributeSingletonPredicate(o):
1558  r"""_object_cast_to_AttributeSingletonPredicate(Object o) -> AttributeSingletonPredicate"""
1559  return _IMP_core._object_cast_to_AttributeSingletonPredicate(o)
1560 
1561 _object_types.append("InBoundingBox3DSingletonPredicate")
1562 
1563 
1564 def _object_cast_to_InBoundingBox3DSingletonPredicate(o):
1565  r"""_object_cast_to_InBoundingBox3DSingletonPredicate(Object o) -> InBoundingBox3DSingletonPredicate"""
1566  return _IMP_core._object_cast_to_InBoundingBox3DSingletonPredicate(o)
1567 
1568 _object_types.append("IsCollisionPairPredicate")
1569 
1570 
1571 def _object_cast_to_IsCollisionPairPredicate(o):
1572  r"""_object_cast_to_IsCollisionPairPredicate(Object o) -> IsCollisionPairPredicate"""
1573  return _IMP_core._object_cast_to_IsCollisionPairPredicate(o)
1574 
1575 BinormalTermList=list
1576 _plural_types.append("BinormalTermList")
1577 _value_types.append("BinormalTerm")
1578 
1579 
1580 _object_types.append("MultipleBinormalRestraint")
1581 
1582 
1583 def _object_cast_to_MultipleBinormalRestraint(o):
1584  r"""_object_cast_to_MultipleBinormalRestraint(Object o) -> MultipleBinormalRestraint"""
1585  return _IMP_core._object_cast_to_MultipleBinormalRestraint(o)
1586 class ClosePairsFinder(IMP._ParticleInputs, IMP.Object):
1587  r"""Proxy of C++ IMP::core::ClosePairsFinder class."""
1588 
1589  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1590 
1591  def __init__(self, *args, **kwargs):
1592  raise AttributeError("No constructor defined - class is abstract")
1593  __swig_destroy__ = _IMP_core.delete_ClosePairsFinder
1594 
1595  def get_close_pairs(self, *args):
1596  r"""
1597  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
1598  get_close_pairs(ClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
1599  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1600  get_close_pairs(ClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
1601  """
1602  return _IMP_core.ClosePairsFinder_get_close_pairs(self, *args)
1603 
1604  def set_distance(self, d):
1605  r"""set_distance(ClosePairsFinder self, double d)"""
1606  return _IMP_core.ClosePairsFinder_set_distance(self, d)
1607 
1608  def get_distance(self):
1609  r"""get_distance(ClosePairsFinder self) -> double"""
1610  return _IMP_core.ClosePairsFinder_get_distance(self)
1611  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)
1612  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
1613  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
1614  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
1615 
1616  def remove_pair_filter(self, d):
1617  r"""remove_pair_filter(ClosePairsFinder self, PairPredicate d)"""
1618  return _IMP_core.ClosePairsFinder_remove_pair_filter(self, d)
1619 
1620  def _python_index_pair_filter(self, d, start, stop):
1621  r"""_python_index_pair_filter(ClosePairsFinder self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
1622  return _IMP_core.ClosePairsFinder__python_index_pair_filter(self, d, start, stop)
1623 
1624  def remove_pair_filters(self, d):
1625  r"""remove_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & d)"""
1626  return _IMP_core.ClosePairsFinder_remove_pair_filters(self, d)
1627 
1628  def set_pair_filters(self, ps):
1629  r"""set_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & ps)"""
1630  return _IMP_core.ClosePairsFinder_set_pair_filters(self, ps)
1631 
1632  def set_pair_filters_order(self, objs):
1633  r"""set_pair_filters_order(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1634  return _IMP_core.ClosePairsFinder_set_pair_filters_order(self, objs)
1635 
1636  def add_pair_filter(self, obj):
1637  r"""add_pair_filter(ClosePairsFinder self, PairPredicate obj) -> unsigned int"""
1638  return _IMP_core.ClosePairsFinder_add_pair_filter(self, obj)
1639 
1640  def add_pair_filters(self, objs):
1641  r"""add_pair_filters(ClosePairsFinder self, IMP::PairPredicates const & objs)"""
1642  return _IMP_core.ClosePairsFinder_add_pair_filters(self, objs)
1643 
1644  def clear_pair_filters(self):
1645  r"""clear_pair_filters(ClosePairsFinder self)"""
1646  return _IMP_core.ClosePairsFinder_clear_pair_filters(self)
1647 
1648  def get_number_of_pair_filters(self):
1649  r"""get_number_of_pair_filters(ClosePairsFinder self) -> unsigned int"""
1650  return _IMP_core.ClosePairsFinder_get_number_of_pair_filters(self)
1651 
1652  def get_has_pair_filters(self):
1653  r"""get_has_pair_filters(ClosePairsFinder self) -> bool"""
1654  return _IMP_core.ClosePairsFinder_get_has_pair_filters(self)
1655 
1656  def get_pair_filter(self, i):
1657  r"""get_pair_filter(ClosePairsFinder self, unsigned int i) -> PairPredicate"""
1658  return _IMP_core.ClosePairsFinder_get_pair_filter(self, i)
1659 
1660  def get_pair_filters(self):
1661  r"""get_pair_filters(ClosePairsFinder self) -> IMP::PairPredicates"""
1662  return _IMP_core.ClosePairsFinder_get_pair_filters(self)
1663 
1664  def erase_pair_filter(self, i):
1665  r"""erase_pair_filter(ClosePairsFinder self, unsigned int i)"""
1666  return _IMP_core.ClosePairsFinder_erase_pair_filter(self, i)
1667 
1668  def reserve_pair_filters(self, sz):
1669  r"""reserve_pair_filters(ClosePairsFinder self, unsigned int sz)"""
1670  return _IMP_core.ClosePairsFinder_reserve_pair_filters(self, sz)
1671 
1672  def __str__(self):
1673  r"""__str__(ClosePairsFinder self) -> std::string"""
1674  return _IMP_core.ClosePairsFinder___str__(self)
1675 
1676  def __repr__(self):
1677  r"""__repr__(ClosePairsFinder self) -> std::string"""
1678  return _IMP_core.ClosePairsFinder___repr__(self)
1679 
1680  @staticmethod
1681  def get_from(o):
1682  return _object_cast_to_ClosePairsFinder(o)
1683 
1684 
1685 # Register ClosePairsFinder in _IMP_core:
1686 _IMP_core.ClosePairsFinder_swigregister(ClosePairsFinder)
1687 class MonteCarloMoverResult(IMP._Value):
1688  r"""Proxy of C++ IMP::core::MonteCarloMoverResult class."""
1689 
1690  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1691 
1692  def __init__(self, *args):
1693  r"""__init__(MonteCarloMoverResult self, IMP::ParticleIndexes i0=IMP::ParticleIndexes(), double i1=double()) -> MonteCarloMoverResult"""
1694  _IMP_core.MonteCarloMoverResult_swiginit(self, _IMP_core.new_MonteCarloMoverResult(*args))
1695 
1696  def __hash__(self):
1697  r"""__hash__(MonteCarloMoverResult self) -> std::size_t"""
1698  return _IMP_core.MonteCarloMoverResult___hash__(self)
1699 
1700  def show(self, *args):
1701  r"""show(MonteCarloMoverResult self, _ostream out=std::cout)"""
1702  return _IMP_core.MonteCarloMoverResult_show(self, *args)
1703 
1704  def __cmp__(self, o):
1705  r"""__cmp__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> int"""
1706  return _IMP_core.MonteCarloMoverResult___cmp__(self, o)
1707 
1708  def __eq__(self, o):
1709  r"""__eq__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1710  return _IMP_core.MonteCarloMoverResult___eq__(self, o)
1711 
1712  def __ne__(self, o):
1713  r"""__ne__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1714  return _IMP_core.MonteCarloMoverResult___ne__(self, o)
1715 
1716  def __lt__(self, o):
1717  r"""__lt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1718  return _IMP_core.MonteCarloMoverResult___lt__(self, o)
1719 
1720  def __gt__(self, o):
1721  r"""__gt__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1722  return _IMP_core.MonteCarloMoverResult___gt__(self, o)
1723 
1724  def __ge__(self, o):
1725  r"""__ge__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1726  return _IMP_core.MonteCarloMoverResult___ge__(self, o)
1727 
1728  def __le__(self, o):
1729  r"""__le__(MonteCarloMoverResult self, MonteCarloMoverResult o) -> bool"""
1730  return _IMP_core.MonteCarloMoverResult___le__(self, o)
1731 
1732  def get_moved_particles(self):
1733  r"""get_moved_particles(MonteCarloMoverResult self) -> IMP::ParticleIndexes const &"""
1734  return _IMP_core.MonteCarloMoverResult_get_moved_particles(self)
1735 
1736  def set_moved_particles(self, v):
1737  r"""set_moved_particles(MonteCarloMoverResult self, IMP::ParticleIndexes const & v)"""
1738  return _IMP_core.MonteCarloMoverResult_set_moved_particles(self, v)
1739 
1740  def get_proposal_ratio(self):
1741  r"""get_proposal_ratio(MonteCarloMoverResult self) -> double const &"""
1742  return _IMP_core.MonteCarloMoverResult_get_proposal_ratio(self)
1743 
1744  def set_proposal_ratio(self, v):
1745  r"""set_proposal_ratio(MonteCarloMoverResult self, double const & v)"""
1746  return _IMP_core.MonteCarloMoverResult_set_proposal_ratio(self, v)
1747 
1748  def __str__(self):
1749  r"""__str__(MonteCarloMoverResult self) -> std::string"""
1750  return _IMP_core.MonteCarloMoverResult___str__(self)
1751 
1752  def __repr__(self):
1753  r"""__repr__(MonteCarloMoverResult self) -> std::string"""
1754  return _IMP_core.MonteCarloMoverResult___repr__(self)
1755  __swig_destroy__ = _IMP_core.delete_MonteCarloMoverResult
1756 
1757 # Register MonteCarloMoverResult in _IMP_core:
1758 _IMP_core.MonteCarloMoverResult_swigregister(MonteCarloMoverResult)
1759 class MonteCarloMover(IMP.ModelObject):
1760  r"""Proxy of C++ IMP::core::MonteCarloMover class."""
1761 
1762  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1763 
1764  def __init__(self, *args):
1765  r"""
1766  __init__(MonteCarloMover self, Model m, std::string name) -> MonteCarloMover
1767  __init__(MonteCarloMover self) -> MonteCarloMover
1768  """
1769  if self.__class__ == MonteCarloMover:
1770  _self = None
1771  else:
1772  _self = self
1773  _IMP_core.MonteCarloMover_swiginit(self, _IMP_core.new_MonteCarloMover(_self, *args))
1774 
1775  if self.__class__ != MonteCarloMover:
1776  _director_objects.register(self)
1777 
1778 
1779 
1780 
1781  def propose(self):
1782  r"""propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1783  return _IMP_core.MonteCarloMover_propose(self)
1784 
1785  def reject(self):
1786  r"""reject(MonteCarloMover self)"""
1787  return _IMP_core.MonteCarloMover_reject(self)
1788 
1789  def accept(self):
1790  r"""accept(MonteCarloMover self)"""
1791  return _IMP_core.MonteCarloMover_accept(self)
1792 
1793  def get_number_of_proposed(self):
1794  r"""get_number_of_proposed(MonteCarloMover self) -> unsigned int"""
1795  return _IMP_core.MonteCarloMover_get_number_of_proposed(self)
1796 
1797  def get_number_of_accepted(self):
1798  r"""get_number_of_accepted(MonteCarloMover self) -> unsigned int"""
1799  return _IMP_core.MonteCarloMover_get_number_of_accepted(self)
1800 
1801  def reset_statistics(self):
1802  r"""reset_statistics(MonteCarloMover self)"""
1803  return _IMP_core.MonteCarloMover_reset_statistics(self)
1804 
1805  def add_to_statistics(self, num_proposed, num_rejected):
1806  r"""add_to_statistics(MonteCarloMover self, unsigned int num_proposed, unsigned int num_rejected)"""
1807  return _IMP_core.MonteCarloMover_add_to_statistics(self, num_proposed, num_rejected)
1808 
1809  def do_propose(self):
1810  r"""do_propose(MonteCarloMover self) -> MonteCarloMoverResult"""
1811  return _IMP_core.MonteCarloMover_do_propose(self)
1812 
1813  def do_reject(self):
1814  r"""do_reject(MonteCarloMover self)"""
1815  return _IMP_core.MonteCarloMover_do_reject(self)
1816 
1817  def do_accept(self):
1818  r"""do_accept(MonteCarloMover self)"""
1819  return _IMP_core.MonteCarloMover_do_accept(self)
1820 
1821  def do_get_outputs(self):
1822  r"""do_get_outputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1823  return _IMP_core.MonteCarloMover_do_get_outputs(self)
1824 
1825  def __str__(self):
1826  r"""__str__(MonteCarloMover self) -> std::string"""
1827  return _IMP_core.MonteCarloMover___str__(self)
1828 
1829  def __repr__(self):
1830  r"""__repr__(MonteCarloMover self) -> std::string"""
1831  return _IMP_core.MonteCarloMover___repr__(self)
1832 
1833  @staticmethod
1834  def get_from(o):
1835  return _object_cast_to_MonteCarloMover(o)
1836 
1837 
1838  def do_show(self, out):
1839  pass
1840 
1841  @staticmethod
1842  def get_from(o):
1843  return _object_cast_to_MonteCarloMover(o)
1844 
1845 
1846  def _get_jax(self, space):
1847  """Return a JAX implementation of this mover.
1848  Implement this method in a MonteCarloMover subclass to provide
1849  equivalent functionality using [JAX](https://docs.jax.dev/).
1850  See _wrap_jax for more information.
1851 
1852  @param space The space in which the mover operates
1853  (e.g. a periodic box). See IMP._jax_util.Space.
1854  """
1855  raise NotImplementedError(f"No JAX implementation for {self}")
1856 
1857  def _wrap_jax(self, init_func, propose_func, accept_func=None,
1858  sync_func=None, reset_stats_func=None, keys=None):
1859  """Create the return value for _get_jax.
1860  Use this method in _get_jax() to wrap the JAX functions
1861  with other mover-specific information.
1862 
1863  @param init_func a JAX function which is used to initialize this
1864  mover. It is called with a single argument, a fresh JAX
1865  random key, and should return a persistent state object.
1866  This object may be the key itself, or any other Python object
1867  that JAX understands.
1868  @param propose_func a JAX function which is called with the current
1869  JAX Model and the mover's persistent state object.
1870  It should return a new JAX Model with the move applied,
1871  a new persistent state, and the proposal ratio. If the move
1872  is rejected then the new JAX Model will be discarded.
1873  However, the mover's persistent state is updated for both
1874  accepted and rejected moves.
1875  @param accept_func if provided, a JAX function which is called
1876  after each accepted Monte Carlo move, with the persistent
1877  state object. It should return a new persistent state.
1878  @param sync_func If provided, a Python function which is called
1879  at the end of a Monte Carlo sampling run to sync mover
1880  data back to IMP. It is called with the persistent state
1881  and the IMP Mover object.
1882  @param reset_stats_func If provided, a JAX function which is called
1883  at the beginning of a Monte Carlo run to reset this mover's
1884  statistics. It is called with the persistent state object and
1885  should return a new state.
1886  @param keys If given, a set of IMP::Key objects describing Model
1887  attributes (other than xyz and radius) that are altered
1888  by this mover.
1889  """
1890  from IMP.core._jax_util import JAXMoverInfo
1891  return JAXMoverInfo(init_func, propose_func, accept_func, sync_func,
1892  reset_stats_func, keys)
1893 
1894  __swig_destroy__ = _IMP_core.delete_MonteCarloMover
1895  def __disown__(self):
1896  self.this.disown()
1897  _IMP_core.disown_MonteCarloMover(self)
1898  return weakref.proxy(self)
1899 
1900  def do_destroy(self):
1901  r"""do_destroy(MonteCarloMover self)"""
1902  return _IMP_core.MonteCarloMover_do_destroy(self)
1903 
1904  def handle_set_has_required_score_states(self, arg0):
1905  r"""handle_set_has_required_score_states(MonteCarloMover self, bool arg0)"""
1906  return _IMP_core.MonteCarloMover_handle_set_has_required_score_states(self, arg0)
1907 
1908  def do_get_inputs(self):
1909  r"""do_get_inputs(MonteCarloMover self) -> IMP::ModelObjectsTemp"""
1910  return _IMP_core.MonteCarloMover_do_get_inputs(self)
1911 
1912  def do_get_interactions(self):
1913  r"""do_get_interactions(MonteCarloMover self) -> IMP::ModelObjectsTemps"""
1914  return _IMP_core.MonteCarloMover_do_get_interactions(self)
1915 
1916 # Register MonteCarloMover in _IMP_core:
1917 _IMP_core.MonteCarloMover_swigregister(MonteCarloMover)
1918 class XYZ(IMP.Decorator):
1919  r"""Proxy of C++ IMP::core::XYZ class."""
1920 
1921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1922 
1923  @staticmethod
1924  def get_coordinate_key(i):
1925  r"""get_coordinate_key(unsigned int i) -> FloatKey"""
1926  return _IMP_core.XYZ_get_coordinate_key(i)
1927 
1928  def __init__(self, *args):
1929  r"""
1930  __init__(XYZ self) -> XYZ
1931  __init__(XYZ self, Model m, ParticleIndex id) -> XYZ
1932  __init__(XYZ self, _ParticleAdaptor d) -> XYZ
1933  """
1934  _IMP_core.XYZ_swiginit(self, _IMP_core.new_XYZ(*args))
1935 
1936  def show(self, *args):
1937  r"""show(XYZ self, _ostream out=std::cout)"""
1938  return _IMP_core.XYZ_show(self, *args)
1939 
1940  @staticmethod
1941  def setup_particle(*args):
1942  r"""
1943  setup_particle(Model m, ParticleIndex pi) -> XYZ
1944  setup_particle(_ParticleAdaptor pa) -> XYZ
1945  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> XYZ
1946  setup_particle(_ParticleAdaptor pa, Vector3D v) -> XYZ
1947  """
1948  return _IMP_core.XYZ_setup_particle(*args)
1949 
1950  def get_x(self):
1951  r"""get_x(XYZ self) -> IMP::Float"""
1952  return _IMP_core.XYZ_get_x(self)
1953 
1954  def set_x(self, t):
1955  r"""set_x(XYZ self, IMP::Float t)"""
1956  return _IMP_core.XYZ_set_x(self, t)
1957 
1958  def get_y(self):
1959  r"""get_y(XYZ self) -> IMP::Float"""
1960  return _IMP_core.XYZ_get_y(self)
1961 
1962  def set_y(self, t):
1963  r"""set_y(XYZ self, IMP::Float t)"""
1964  return _IMP_core.XYZ_set_y(self, t)
1965 
1966  def get_z(self):
1967  r"""get_z(XYZ self) -> IMP::Float"""
1968  return _IMP_core.XYZ_get_z(self)
1969 
1970  def set_z(self, t):
1971  r"""set_z(XYZ self, IMP::Float t)"""
1972  return _IMP_core.XYZ_set_z(self, t)
1973 
1974  def set_coordinate(self, i, v):
1975  r"""set_coordinate(XYZ self, unsigned int i, IMP::Float v)"""
1976  return _IMP_core.XYZ_set_coordinate(self, i, v)
1977 
1978  def set_coordinates(self, v):
1979  r"""set_coordinates(XYZ self, Vector3D v)"""
1980  return _IMP_core.XYZ_set_coordinates(self, v)
1981 
1982  def get_coordinate(self, i):
1983  r"""get_coordinate(XYZ self, int i) -> IMP::Float"""
1984  return _IMP_core.XYZ_get_coordinate(self, i)
1985 
1986  def add_to_derivatives(self, v, d):
1987  r"""add_to_derivatives(XYZ self, Vector3D v, DerivativeAccumulator d)"""
1988  return _IMP_core.XYZ_add_to_derivatives(self, v, d)
1989 
1990  def get_coordinates_are_optimized(self):
1991  r"""get_coordinates_are_optimized(XYZ self) -> bool"""
1992  return _IMP_core.XYZ_get_coordinates_are_optimized(self)
1993 
1994  def set_coordinates_are_optimized(self, tf):
1995  r"""set_coordinates_are_optimized(XYZ self, bool tf)"""
1996  return _IMP_core.XYZ_set_coordinates_are_optimized(self, tf)
1997 
1998  def get_vector_to(self, b):
1999  r"""get_vector_to(XYZ self, XYZ b) -> Vector3D"""
2000  return _IMP_core.XYZ_get_vector_to(self, b)
2001 
2002  def get_coordinates(self):
2003  r"""get_coordinates(XYZ self) -> Vector3D"""
2004  return _IMP_core.XYZ_get_coordinates(self)
2005 
2006  def get_derivatives(self):
2007  r"""get_derivatives(XYZ self) -> Vector3D"""
2008  return _IMP_core.XYZ_get_derivatives(self)
2009 
2010  @staticmethod
2011  def get_is_setup(*args):
2012  r"""
2013  get_is_setup(_ParticleAdaptor p) -> bool
2014  get_is_setup(Model m, ParticleIndex pi) -> bool
2015  """
2016  return _IMP_core.XYZ_get_is_setup(*args)
2017 
2018  @staticmethod
2019  def get_xyz_keys():
2020  r"""get_xyz_keys() -> IMP::FloatKeys const &"""
2021  return _IMP_core.XYZ_get_xyz_keys()
2022 
2023  def add_attribute(self, *args):
2024  r"""
2025  add_attribute(XYZ self, FloatKey k, IMP::Float v, bool opt)
2026  add_attribute(XYZ self, FloatKey a0, IMP::Float a1)
2027  add_attribute(XYZ self, IntKey a0, IMP::Int a1)
2028  add_attribute(XYZ self, FloatsKey a0, IMP::Floats a1)
2029  add_attribute(XYZ self, IntsKey a0, IMP::Ints a1)
2030  add_attribute(XYZ self, StringKey a0, IMP::String a1)
2031  add_attribute(XYZ self, ParticleIndexKey a0, Particle a1)
2032  add_attribute(XYZ self, ObjectKey a0, Object a1)
2033  add_attribute(XYZ self, SparseFloatKey a0, IMP::Float a1)
2034  add_attribute(XYZ self, SparseIntKey a0, IMP::Int a1)
2035  add_attribute(XYZ self, SparseStringKey a0, IMP::String a1)
2036  add_attribute(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2037  """
2038  return _IMP_core.XYZ_add_attribute(self, *args)
2039 
2040  def get_value(self, *args):
2041  r"""
2042  get_value(XYZ self, FloatKey a0) -> IMP::Float
2043  get_value(XYZ self, IntKey a0) -> IMP::Int
2044  get_value(XYZ self, FloatsKey a0) -> IMP::Floats
2045  get_value(XYZ self, IntsKey a0) -> IMP::Ints
2046  get_value(XYZ self, StringKey a0) -> IMP::String
2047  get_value(XYZ self, ParticleIndexKey a0) -> Particle
2048  get_value(XYZ self, ObjectKey a0) -> Object
2049  get_value(XYZ self, SparseFloatKey a0) -> IMP::Float
2050  get_value(XYZ self, SparseIntKey a0) -> IMP::Int
2051  get_value(XYZ self, SparseStringKey a0) -> IMP::String
2052  get_value(XYZ self, SparseParticleIndexKey a0) -> ParticleIndex
2053  """
2054  return _IMP_core.XYZ_get_value(self, *args)
2055 
2056  def set_value(self, *args):
2057  r"""
2058  set_value(XYZ self, FloatKey a0, IMP::Float a1)
2059  set_value(XYZ self, IntKey a0, IMP::Int a1)
2060  set_value(XYZ self, FloatsKey a0, IMP::Floats a1)
2061  set_value(XYZ self, IntsKey a0, IMP::Ints a1)
2062  set_value(XYZ self, StringKey a0, IMP::String a1)
2063  set_value(XYZ self, ParticleIndexKey a0, Particle a1)
2064  set_value(XYZ self, ObjectKey a0, Object a1)
2065  set_value(XYZ self, SparseFloatKey a0, IMP::Float a1)
2066  set_value(XYZ self, SparseIntKey a0, IMP::Int a1)
2067  set_value(XYZ self, SparseStringKey a0, IMP::String a1)
2068  set_value(XYZ self, SparseParticleIndexKey a0, ParticleIndex a1)
2069  """
2070  return _IMP_core.XYZ_set_value(self, *args)
2071 
2072  def remove_attribute(self, *args):
2073  r"""
2074  remove_attribute(XYZ self, FloatKey a0)
2075  remove_attribute(XYZ self, IntKey a0)
2076  remove_attribute(XYZ self, FloatsKey a0)
2077  remove_attribute(XYZ self, IntsKey a0)
2078  remove_attribute(XYZ self, StringKey a0)
2079  remove_attribute(XYZ self, ParticleIndexKey a0)
2080  remove_attribute(XYZ self, ObjectKey a0)
2081  remove_attribute(XYZ self, SparseFloatKey a0)
2082  remove_attribute(XYZ self, SparseIntKey a0)
2083  remove_attribute(XYZ self, SparseStringKey a0)
2084  remove_attribute(XYZ self, SparseParticleIndexKey a0)
2085  """
2086  return _IMP_core.XYZ_remove_attribute(self, *args)
2087 
2088  def has_attribute(self, *args):
2089  r"""
2090  has_attribute(XYZ self, FloatKey a0) -> bool
2091  has_attribute(XYZ self, IntKey a0) -> bool
2092  has_attribute(XYZ self, FloatsKey a0) -> bool
2093  has_attribute(XYZ self, IntsKey a0) -> bool
2094  has_attribute(XYZ self, StringKey a0) -> bool
2095  has_attribute(XYZ self, ParticleIndexKey a0) -> bool
2096  has_attribute(XYZ self, ObjectKey a0) -> bool
2097  has_attribute(XYZ self, SparseFloatKey a0) -> bool
2098  has_attribute(XYZ self, SparseIntKey a0) -> bool
2099  has_attribute(XYZ self, SparseStringKey a0) -> bool
2100  has_attribute(XYZ self, SparseParticleIndexKey a0) -> bool
2101  """
2102  return _IMP_core.XYZ_has_attribute(self, *args)
2103 
2104  def get_derivative(self, *args):
2105  r"""
2106  get_derivative(XYZ self, int i) -> IMP::Float
2107  get_derivative(XYZ self, FloatKey a0) -> double
2108  """
2109  return _IMP_core.XYZ_get_derivative(self, *args)
2110 
2111  def get_name(self):
2112  r"""get_name(XYZ self) -> std::string"""
2113  return _IMP_core.XYZ_get_name(self)
2114 
2115  def clear_caches(self):
2116  r"""clear_caches(XYZ self)"""
2117  return _IMP_core.XYZ_clear_caches(self)
2118 
2119  def set_name(self, a0):
2120  r"""set_name(XYZ self, std::string a0)"""
2121  return _IMP_core.XYZ_set_name(self, a0)
2122 
2123  def set_check_level(self, a0):
2124  r"""set_check_level(XYZ self, IMP::CheckLevel a0)"""
2125  return _IMP_core.XYZ_set_check_level(self, a0)
2126 
2127  def add_to_derivative(self, *args):
2128  r"""
2129  add_to_derivative(XYZ self, int i, IMP::Float v, DerivativeAccumulator d)
2130  add_to_derivative(XYZ self, FloatKey a0, double a1, DerivativeAccumulator a2)
2131  """
2132  return _IMP_core.XYZ_add_to_derivative(self, *args)
2133 
2134  def set_is_optimized(self, a0, a1):
2135  r"""set_is_optimized(XYZ self, FloatKey a0, bool a1)"""
2136  return _IMP_core.XYZ_set_is_optimized(self, a0, a1)
2137 
2138  def get_is_optimized(self, a0):
2139  r"""get_is_optimized(XYZ self, FloatKey a0) -> bool"""
2140  return _IMP_core.XYZ_get_is_optimized(self, a0)
2141 
2142  def get_check_level(self):
2143  r"""get_check_level(XYZ self) -> IMP::CheckLevel"""
2144  return _IMP_core.XYZ_get_check_level(self)
2145 
2146  def __eq__(self, *args):
2147  r"""
2148  __eq__(XYZ self, XYZ o) -> bool
2149  __eq__(XYZ self, Particle d) -> bool
2150  """
2151  return _IMP_core.XYZ___eq__(self, *args)
2152 
2153  def __ne__(self, *args):
2154  r"""
2155  __ne__(XYZ self, XYZ o) -> bool
2156  __ne__(XYZ self, Particle d) -> bool
2157  """
2158  return _IMP_core.XYZ___ne__(self, *args)
2159 
2160  def __le__(self, *args):
2161  r"""
2162  __le__(XYZ self, XYZ o) -> bool
2163  __le__(XYZ self, Particle d) -> bool
2164  """
2165  return _IMP_core.XYZ___le__(self, *args)
2166 
2167  def __lt__(self, *args):
2168  r"""
2169  __lt__(XYZ self, XYZ o) -> bool
2170  __lt__(XYZ self, Particle d) -> bool
2171  """
2172  return _IMP_core.XYZ___lt__(self, *args)
2173 
2174  def __ge__(self, *args):
2175  r"""
2176  __ge__(XYZ self, XYZ o) -> bool
2177  __ge__(XYZ self, Particle d) -> bool
2178  """
2179  return _IMP_core.XYZ___ge__(self, *args)
2180 
2181  def __gt__(self, *args):
2182  r"""
2183  __gt__(XYZ self, XYZ o) -> bool
2184  __gt__(XYZ self, Particle d) -> bool
2185  """
2186  return _IMP_core.XYZ___gt__(self, *args)
2187 
2188  def __hash__(self):
2189  r"""__hash__(XYZ self) -> std::size_t"""
2190  return _IMP_core.XYZ___hash__(self)
2191 
2192  def __str__(self):
2193  r"""__str__(XYZ self) -> std::string"""
2194  return _IMP_core.XYZ___str__(self)
2195 
2196  def __repr__(self):
2197  r"""__repr__(XYZ self) -> std::string"""
2198  return _IMP_core.XYZ___repr__(self)
2199 
2200  def _get_as_binary(self):
2201  r"""_get_as_binary(XYZ self) -> PyObject *"""
2202  return _IMP_core.XYZ__get_as_binary(self)
2203 
2204  def _set_from_binary(self, p):
2205  r"""_set_from_binary(XYZ self, PyObject * p)"""
2206  return _IMP_core.XYZ__set_from_binary(self, p)
2207 
2208  def __getstate__(self):
2209  p = self._get_as_binary()
2210  if len(self.__dict__) > 1:
2211  d = self.__dict__.copy()
2212  del d['this']
2213  p = (d, p)
2214  return p
2215 
2216  def __setstate__(self, p):
2217  if not hasattr(self, 'this'):
2218  self.__init__()
2219  if isinstance(p, tuple):
2220  d, p = p
2221  self.__dict__.update(d)
2222  return self._set_from_binary(p)
2223 
2224  __swig_destroy__ = _IMP_core.delete_XYZ
2225 
2226 # Register XYZ in _IMP_core:
2227 _IMP_core.XYZ_swigregister(XYZ)
2228 
2229 def set_vector_geometry(d, v):
2230  r"""set_vector_geometry(XYZ d, Vector3D v)"""
2231  return _IMP_core.set_vector_geometry(d, v)
2232 
2233 def get_vector_geometry(d):
2234  r"""get_vector_geometry(XYZ d) -> Vector3D"""
2235  return _IMP_core.get_vector_geometry(d)
2236 
2237 def get_dihedral(a, b, c, d):
2238  r"""get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d) -> double"""
2239  return _IMP_core.get_dihedral(a, b, c, d)
2240 class XYZR(XYZ):
2241  r"""Proxy of C++ IMP::core::XYZR class."""
2242 
2243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2244 
2245  def __init__(self, *args):
2246  r"""
2247  __init__(XYZR self) -> XYZR
2248  __init__(XYZR self, Model m, ParticleIndex id) -> XYZR
2249  __init__(XYZR self, _ParticleAdaptor d) -> XYZR
2250  """
2251  _IMP_core.XYZR_swiginit(self, _IMP_core.new_XYZR(*args))
2252 
2253  def show(self, *args):
2254  r"""show(XYZR self, _ostream out=std::cout)"""
2255  return _IMP_core.XYZR_show(self, *args)
2256 
2257  @staticmethod
2258  def setup_particle(*args):
2259  r"""
2260  setup_particle(Model m, ParticleIndex pi) -> XYZR
2261  setup_particle(_ParticleAdaptor pa) -> XYZR
2262  setup_particle(Model m, ParticleIndex pi, IMP::Float radius) -> XYZR
2263  setup_particle(_ParticleAdaptor pa, IMP::Float radius) -> XYZR
2264  setup_particle(Model m, ParticleIndex pi, Sphere3D ball) -> XYZR
2265  setup_particle(_ParticleAdaptor pa, Sphere3D ball) -> XYZR
2266  """
2267  return _IMP_core.XYZR_setup_particle(*args)
2268 
2269  @staticmethod
2270  def get_is_setup(*args):
2271  r"""
2272  get_is_setup(_ParticleAdaptor p) -> bool
2273  get_is_setup(Model m, ParticleIndex pi) -> bool
2274  """
2275  return _IMP_core.XYZR_get_is_setup(*args)
2276 
2277  def get_radius(self):
2278  r"""get_radius(XYZR self) -> double"""
2279  return _IMP_core.XYZR_get_radius(self)
2280 
2281  def set_radius(self, r):
2282  r"""set_radius(XYZR self, double r)"""
2283  return _IMP_core.XYZR_set_radius(self, r)
2284 
2285  def get_sphere(self):
2286  r"""get_sphere(XYZR self) -> Sphere3D"""
2287  return _IMP_core.XYZR_get_sphere(self)
2288 
2289  def set_sphere(self, s):
2290  r"""set_sphere(XYZR self, Sphere3D s)"""
2291  return _IMP_core.XYZR_set_sphere(self, s)
2292 
2293  @staticmethod
2294  def get_radius_key():
2295  r"""get_radius_key() -> FloatKey"""
2296  return _IMP_core.XYZR_get_radius_key()
2297 
2298  def add_to_radius_derivative(self, v, d):
2299  r"""add_to_radius_derivative(XYZR self, double v, DerivativeAccumulator d)"""
2300  return _IMP_core.XYZR_add_to_radius_derivative(self, v, d)
2301 
2302  def add_attribute(self, *args):
2303  r"""
2304  add_attribute(XYZR self, FloatKey k, IMP::Float v, bool opt)
2305  add_attribute(XYZR self, FloatKey a0, IMP::Float a1)
2306  add_attribute(XYZR self, IntKey a0, IMP::Int a1)
2307  add_attribute(XYZR self, FloatsKey a0, IMP::Floats a1)
2308  add_attribute(XYZR self, IntsKey a0, IMP::Ints a1)
2309  add_attribute(XYZR self, StringKey a0, IMP::String a1)
2310  add_attribute(XYZR self, ParticleIndexKey a0, Particle a1)
2311  add_attribute(XYZR self, ObjectKey a0, Object a1)
2312  add_attribute(XYZR self, SparseFloatKey a0, IMP::Float a1)
2313  add_attribute(XYZR self, SparseIntKey a0, IMP::Int a1)
2314  add_attribute(XYZR self, SparseStringKey a0, IMP::String a1)
2315  add_attribute(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2316  """
2317  return _IMP_core.XYZR_add_attribute(self, *args)
2318 
2319  def get_value(self, *args):
2320  r"""
2321  get_value(XYZR self, FloatKey a0) -> IMP::Float
2322  get_value(XYZR self, IntKey a0) -> IMP::Int
2323  get_value(XYZR self, FloatsKey a0) -> IMP::Floats
2324  get_value(XYZR self, IntsKey a0) -> IMP::Ints
2325  get_value(XYZR self, StringKey a0) -> IMP::String
2326  get_value(XYZR self, ParticleIndexKey a0) -> Particle
2327  get_value(XYZR self, ObjectKey a0) -> Object
2328  get_value(XYZR self, SparseFloatKey a0) -> IMP::Float
2329  get_value(XYZR self, SparseIntKey a0) -> IMP::Int
2330  get_value(XYZR self, SparseStringKey a0) -> IMP::String
2331  get_value(XYZR self, SparseParticleIndexKey a0) -> ParticleIndex
2332  """
2333  return _IMP_core.XYZR_get_value(self, *args)
2334 
2335  def set_value(self, *args):
2336  r"""
2337  set_value(XYZR self, FloatKey a0, IMP::Float a1)
2338  set_value(XYZR self, IntKey a0, IMP::Int a1)
2339  set_value(XYZR self, FloatsKey a0, IMP::Floats a1)
2340  set_value(XYZR self, IntsKey a0, IMP::Ints a1)
2341  set_value(XYZR self, StringKey a0, IMP::String a1)
2342  set_value(XYZR self, ParticleIndexKey a0, Particle a1)
2343  set_value(XYZR self, ObjectKey a0, Object a1)
2344  set_value(XYZR self, SparseFloatKey a0, IMP::Float a1)
2345  set_value(XYZR self, SparseIntKey a0, IMP::Int a1)
2346  set_value(XYZR self, SparseStringKey a0, IMP::String a1)
2347  set_value(XYZR self, SparseParticleIndexKey a0, ParticleIndex a1)
2348  """
2349  return _IMP_core.XYZR_set_value(self, *args)
2350 
2351  def remove_attribute(self, *args):
2352  r"""
2353  remove_attribute(XYZR self, FloatKey a0)
2354  remove_attribute(XYZR self, IntKey a0)
2355  remove_attribute(XYZR self, FloatsKey a0)
2356  remove_attribute(XYZR self, IntsKey a0)
2357  remove_attribute(XYZR self, StringKey a0)
2358  remove_attribute(XYZR self, ParticleIndexKey a0)
2359  remove_attribute(XYZR self, ObjectKey a0)
2360  remove_attribute(XYZR self, SparseFloatKey a0)
2361  remove_attribute(XYZR self, SparseIntKey a0)
2362  remove_attribute(XYZR self, SparseStringKey a0)
2363  remove_attribute(XYZR self, SparseParticleIndexKey a0)
2364  """
2365  return _IMP_core.XYZR_remove_attribute(self, *args)
2366 
2367  def has_attribute(self, *args):
2368  r"""
2369  has_attribute(XYZR self, FloatKey a0) -> bool
2370  has_attribute(XYZR self, IntKey a0) -> bool
2371  has_attribute(XYZR self, FloatsKey a0) -> bool
2372  has_attribute(XYZR self, IntsKey a0) -> bool
2373  has_attribute(XYZR self, StringKey a0) -> bool
2374  has_attribute(XYZR self, ParticleIndexKey a0) -> bool
2375  has_attribute(XYZR self, ObjectKey a0) -> bool
2376  has_attribute(XYZR self, SparseFloatKey a0) -> bool
2377  has_attribute(XYZR self, SparseIntKey a0) -> bool
2378  has_attribute(XYZR self, SparseStringKey a0) -> bool
2379  has_attribute(XYZR self, SparseParticleIndexKey a0) -> bool
2380  """
2381  return _IMP_core.XYZR_has_attribute(self, *args)
2382 
2383  def get_derivative(self, a0):
2384  r"""get_derivative(XYZR self, FloatKey a0) -> double"""
2385  return _IMP_core.XYZR_get_derivative(self, a0)
2386 
2387  def get_name(self):
2388  r"""get_name(XYZR self) -> std::string"""
2389  return _IMP_core.XYZR_get_name(self)
2390 
2391  def clear_caches(self):
2392  r"""clear_caches(XYZR self)"""
2393  return _IMP_core.XYZR_clear_caches(self)
2394 
2395  def set_name(self, a0):
2396  r"""set_name(XYZR self, std::string a0)"""
2397  return _IMP_core.XYZR_set_name(self, a0)
2398 
2399  def set_check_level(self, a0):
2400  r"""set_check_level(XYZR self, IMP::CheckLevel a0)"""
2401  return _IMP_core.XYZR_set_check_level(self, a0)
2402 
2403  def add_to_derivative(self, a0, a1, a2):
2404  r"""add_to_derivative(XYZR self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2405  return _IMP_core.XYZR_add_to_derivative(self, a0, a1, a2)
2406 
2407  def set_is_optimized(self, a0, a1):
2408  r"""set_is_optimized(XYZR self, FloatKey a0, bool a1)"""
2409  return _IMP_core.XYZR_set_is_optimized(self, a0, a1)
2410 
2411  def get_is_optimized(self, a0):
2412  r"""get_is_optimized(XYZR self, FloatKey a0) -> bool"""
2413  return _IMP_core.XYZR_get_is_optimized(self, a0)
2414 
2415  def get_check_level(self):
2416  r"""get_check_level(XYZR self) -> IMP::CheckLevel"""
2417  return _IMP_core.XYZR_get_check_level(self)
2418 
2419  def __eq__(self, *args):
2420  r"""
2421  __eq__(XYZR self, XYZR o) -> bool
2422  __eq__(XYZR self, Particle d) -> bool
2423  """
2424  return _IMP_core.XYZR___eq__(self, *args)
2425 
2426  def __ne__(self, *args):
2427  r"""
2428  __ne__(XYZR self, XYZR o) -> bool
2429  __ne__(XYZR self, Particle d) -> bool
2430  """
2431  return _IMP_core.XYZR___ne__(self, *args)
2432 
2433  def __le__(self, *args):
2434  r"""
2435  __le__(XYZR self, XYZR o) -> bool
2436  __le__(XYZR self, Particle d) -> bool
2437  """
2438  return _IMP_core.XYZR___le__(self, *args)
2439 
2440  def __lt__(self, *args):
2441  r"""
2442  __lt__(XYZR self, XYZR o) -> bool
2443  __lt__(XYZR self, Particle d) -> bool
2444  """
2445  return _IMP_core.XYZR___lt__(self, *args)
2446 
2447  def __ge__(self, *args):
2448  r"""
2449  __ge__(XYZR self, XYZR o) -> bool
2450  __ge__(XYZR self, Particle d) -> bool
2451  """
2452  return _IMP_core.XYZR___ge__(self, *args)
2453 
2454  def __gt__(self, *args):
2455  r"""
2456  __gt__(XYZR self, XYZR o) -> bool
2457  __gt__(XYZR self, Particle d) -> bool
2458  """
2459  return _IMP_core.XYZR___gt__(self, *args)
2460 
2461  def __hash__(self):
2462  r"""__hash__(XYZR self) -> std::size_t"""
2463  return _IMP_core.XYZR___hash__(self)
2464 
2465  def __str__(self):
2466  r"""__str__(XYZR self) -> std::string"""
2467  return _IMP_core.XYZR___str__(self)
2468 
2469  def __repr__(self):
2470  r"""__repr__(XYZR self) -> std::string"""
2471  return _IMP_core.XYZR___repr__(self)
2472 
2473  def _get_as_binary(self):
2474  r"""_get_as_binary(XYZR self) -> PyObject *"""
2475  return _IMP_core.XYZR__get_as_binary(self)
2476 
2477  def _set_from_binary(self, p):
2478  r"""_set_from_binary(XYZR self, PyObject * p)"""
2479  return _IMP_core.XYZR__set_from_binary(self, p)
2480 
2481  def __getstate__(self):
2482  p = self._get_as_binary()
2483  if len(self.__dict__) > 1:
2484  d = self.__dict__.copy()
2485  del d['this']
2486  p = (d, p)
2487  return p
2488 
2489  def __setstate__(self, p):
2490  if not hasattr(self, 'this'):
2491  self.__init__()
2492  if isinstance(p, tuple):
2493  d, p = p
2494  self.__dict__.update(d)
2495  return self._set_from_binary(p)
2496 
2497  __swig_destroy__ = _IMP_core.delete_XYZR
2498 
2499 # Register XYZR in _IMP_core:
2500 _IMP_core.XYZR_swigregister(XYZR)
2501 
2502 def set_enclosing_sphere(b, v, slack=0):
2503  r"""set_enclosing_sphere(XYZR b, IMP::core::XYZs const & v, double slack=0)"""
2504  return _IMP_core.set_enclosing_sphere(b, v, slack)
2505 
2506 def set_enclosing_radius(b, v):
2507  r"""set_enclosing_radius(XYZR b, IMP::core::XYZs const & v)"""
2508  return _IMP_core.set_enclosing_radius(b, v)
2509 
2510 def get_enclosing_sphere(v):
2511  r"""get_enclosing_sphere(IMP::core::XYZs const & v) -> Sphere3D"""
2512  return _IMP_core.get_enclosing_sphere(v)
2513 
2514 def create_xyzr_particles(m, num, radius, box_side=10):
2515  r"""create_xyzr_particles(Model m, unsigned int num, IMP::Float radius, IMP::Float box_side=10) -> IMP::core::XYZRs"""
2516  return _IMP_core.create_xyzr_particles(m, num, radius, box_side)
2517 class XYZRGeometry(IMP.display.SingletonGeometry):
2518  r"""Proxy of C++ IMP::core::XYZRGeometry class."""
2519 
2520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2521 
2522  def __init__(self, *args):
2523  r"""
2524  __init__(XYZRGeometry self, Particle p) -> XYZRGeometry
2525  __init__(XYZRGeometry self, XYZR d) -> XYZRGeometry
2526  """
2527  _IMP_core.XYZRGeometry_swiginit(self, _IMP_core.new_XYZRGeometry(*args))
2528 
2529  def get_version_info(self):
2530  r"""get_version_info(XYZRGeometry self) -> VersionInfo"""
2531  return _IMP_core.XYZRGeometry_get_version_info(self)
2532  __swig_destroy__ = _IMP_core.delete_XYZRGeometry
2533 
2534  def __str__(self):
2535  r"""__str__(XYZRGeometry self) -> std::string"""
2536  return _IMP_core.XYZRGeometry___str__(self)
2537 
2538  def __repr__(self):
2539  r"""__repr__(XYZRGeometry self) -> std::string"""
2540  return _IMP_core.XYZRGeometry___repr__(self)
2541 
2542  @staticmethod
2543  def get_from(o):
2544  return _object_cast_to_XYZRGeometry(o)
2545 
2546 
2547 # Register XYZRGeometry in _IMP_core:
2548 _IMP_core.XYZRGeometry_swigregister(XYZRGeometry)
2549 class XYZRsGeometry(IMP.display.SingletonsGeometry):
2550  r"""Proxy of C++ IMP::core::XYZRsGeometry class."""
2551 
2552  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2553 
2554  def __init__(self, sc):
2555  r"""__init__(XYZRsGeometry self, SingletonContainer sc) -> XYZRsGeometry"""
2556  _IMP_core.XYZRsGeometry_swiginit(self, _IMP_core.new_XYZRsGeometry(sc))
2557 
2558  def get_version_info(self):
2559  r"""get_version_info(XYZRsGeometry self) -> VersionInfo"""
2560  return _IMP_core.XYZRsGeometry_get_version_info(self)
2561  __swig_destroy__ = _IMP_core.delete_XYZRsGeometry
2562 
2563  def __str__(self):
2564  r"""__str__(XYZRsGeometry self) -> std::string"""
2565  return _IMP_core.XYZRsGeometry___str__(self)
2566 
2567  def __repr__(self):
2568  r"""__repr__(XYZRsGeometry self) -> std::string"""
2569  return _IMP_core.XYZRsGeometry___repr__(self)
2570 
2571  @staticmethod
2572  def get_from(o):
2573  return _object_cast_to_XYZRsGeometry(o)
2574 
2575 
2576 # Register XYZRsGeometry in _IMP_core:
2577 _IMP_core.XYZRsGeometry_swigregister(XYZRsGeometry)
2578 class XYZDerivativeGeometry(IMP.display.SingletonGeometry):
2579  r"""Proxy of C++ IMP::core::XYZDerivativeGeometry class."""
2580 
2581  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2582 
2583  def __init__(self, *args):
2584  r"""
2585  __init__(XYZDerivativeGeometry self, Particle p) -> XYZDerivativeGeometry
2586  __init__(XYZDerivativeGeometry self, XYZ d) -> XYZDerivativeGeometry
2587  """
2588  _IMP_core.XYZDerivativeGeometry_swiginit(self, _IMP_core.new_XYZDerivativeGeometry(*args))
2589 
2590  def get_version_info(self):
2591  r"""get_version_info(XYZDerivativeGeometry self) -> VersionInfo"""
2592  return _IMP_core.XYZDerivativeGeometry_get_version_info(self)
2593  __swig_destroy__ = _IMP_core.delete_XYZDerivativeGeometry
2594 
2595  def __str__(self):
2596  r"""__str__(XYZDerivativeGeometry self) -> std::string"""
2597  return _IMP_core.XYZDerivativeGeometry___str__(self)
2598 
2599  def __repr__(self):
2600  r"""__repr__(XYZDerivativeGeometry self) -> std::string"""
2601  return _IMP_core.XYZDerivativeGeometry___repr__(self)
2602 
2603  @staticmethod
2604  def get_from(o):
2605  return _object_cast_to_XYZDerivativeGeometry(o)
2606 
2607 
2608 # Register XYZDerivativeGeometry in _IMP_core:
2609 _IMP_core.XYZDerivativeGeometry_swigregister(XYZDerivativeGeometry)
2610 class XYZDerivativesGeometry(IMP.display.SingletonsGeometry):
2611  r"""Proxy of C++ IMP::core::XYZDerivativesGeometry class."""
2612 
2613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2614 
2615  def __init__(self, sc):
2616  r"""__init__(XYZDerivativesGeometry self, SingletonContainer sc) -> XYZDerivativesGeometry"""
2617  _IMP_core.XYZDerivativesGeometry_swiginit(self, _IMP_core.new_XYZDerivativesGeometry(sc))
2618 
2619  def get_version_info(self):
2620  r"""get_version_info(XYZDerivativesGeometry self) -> VersionInfo"""
2621  return _IMP_core.XYZDerivativesGeometry_get_version_info(self)
2622  __swig_destroy__ = _IMP_core.delete_XYZDerivativesGeometry
2623 
2624  def __str__(self):
2625  r"""__str__(XYZDerivativesGeometry self) -> std::string"""
2626  return _IMP_core.XYZDerivativesGeometry___str__(self)
2627 
2628  def __repr__(self):
2629  r"""__repr__(XYZDerivativesGeometry self) -> std::string"""
2630  return _IMP_core.XYZDerivativesGeometry___repr__(self)
2631 
2632  @staticmethod
2633  def get_from(o):
2634  return _object_cast_to_XYZDerivativesGeometry(o)
2635 
2636 
2637 # Register XYZDerivativesGeometry in _IMP_core:
2638 _IMP_core.XYZDerivativesGeometry_swigregister(XYZDerivativesGeometry)
2639 class EdgePairGeometry(IMP.display.PairGeometry):
2640  r"""Proxy of C++ IMP::core::EdgePairGeometry class."""
2641 
2642  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2643 
2644  def __init__(self, pp):
2645  r"""__init__(EdgePairGeometry self, IMP::ParticlePair const & pp) -> EdgePairGeometry"""
2646  _IMP_core.EdgePairGeometry_swiginit(self, _IMP_core.new_EdgePairGeometry(pp))
2647 
2648  def get_version_info(self):
2649  r"""get_version_info(EdgePairGeometry self) -> VersionInfo"""
2650  return _IMP_core.EdgePairGeometry_get_version_info(self)
2651  __swig_destroy__ = _IMP_core.delete_EdgePairGeometry
2652 
2653  def __str__(self):
2654  r"""__str__(EdgePairGeometry self) -> std::string"""
2655  return _IMP_core.EdgePairGeometry___str__(self)
2656 
2657  def __repr__(self):
2658  r"""__repr__(EdgePairGeometry self) -> std::string"""
2659  return _IMP_core.EdgePairGeometry___repr__(self)
2660 
2661  @staticmethod
2662  def get_from(o):
2663  return _object_cast_to_EdgePairGeometry(o)
2664 
2665 
2666 # Register EdgePairGeometry in _IMP_core:
2667 _IMP_core.EdgePairGeometry_swigregister(EdgePairGeometry)
2668 class EdgePairsGeometry(IMP.display.PairsGeometry):
2669  r"""Proxy of C++ IMP::core::EdgePairsGeometry class."""
2670 
2671  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2672 
2673  def __init__(self, sc):
2674  r"""__init__(EdgePairsGeometry self, PairContainer sc) -> EdgePairsGeometry"""
2675  _IMP_core.EdgePairsGeometry_swiginit(self, _IMP_core.new_EdgePairsGeometry(sc))
2676 
2677  def get_version_info(self):
2678  r"""get_version_info(EdgePairsGeometry self) -> VersionInfo"""
2679  return _IMP_core.EdgePairsGeometry_get_version_info(self)
2680  __swig_destroy__ = _IMP_core.delete_EdgePairsGeometry
2681 
2682  def __str__(self):
2683  r"""__str__(EdgePairsGeometry self) -> std::string"""
2684  return _IMP_core.EdgePairsGeometry___str__(self)
2685 
2686  def __repr__(self):
2687  r"""__repr__(EdgePairsGeometry self) -> std::string"""
2688  return _IMP_core.EdgePairsGeometry___repr__(self)
2689 
2690  @staticmethod
2691  def get_from(o):
2692  return _object_cast_to_EdgePairsGeometry(o)
2693 
2694 
2695 # Register EdgePairsGeometry in _IMP_core:
2696 _IMP_core.EdgePairsGeometry_swigregister(EdgePairsGeometry)
2697 class Direction(IMP.Decorator):
2698  r"""Proxy of C++ IMP::core::Direction class."""
2699 
2700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2701 
2702  @staticmethod
2703  def do_setup_particle(m, pi, v):
2704  r"""do_setup_particle(Model m, ParticleIndex pi, Vector3D v)"""
2705  return _IMP_core.Direction_do_setup_particle(m, pi, v)
2706 
2707  def __init__(self, *args):
2708  r"""
2709  __init__(Direction self) -> Direction
2710  __init__(Direction self, Model m, ParticleIndex id) -> Direction
2711  __init__(Direction self, _ParticleAdaptor d) -> Direction
2712  """
2713  _IMP_core.Direction_swiginit(self, _IMP_core.new_Direction(*args))
2714 
2715  def show(self, *args):
2716  r"""show(Direction self, _ostream out=std::cout)"""
2717  return _IMP_core.Direction_show(self, *args)
2718 
2719  @staticmethod
2720  def setup_particle(*args):
2721  r"""
2722  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> Direction
2723  setup_particle(_ParticleAdaptor pa, Vector3D v) -> Direction
2724  """
2725  return _IMP_core.Direction_setup_particle(*args)
2726 
2727  @staticmethod
2728  def get_is_setup(*args):
2729  r"""
2730  get_is_setup(_ParticleAdaptor p) -> bool
2731  get_is_setup(Model m, ParticleIndex pi) -> bool
2732  """
2733  return _IMP_core.Direction_get_is_setup(*args)
2734 
2735  @staticmethod
2736  def get_direction_key(i):
2737  r"""get_direction_key(unsigned int i) -> FloatKey"""
2738  return _IMP_core.Direction_get_direction_key(i)
2739 
2740  def get_direction_derivative(self, i):
2741  r"""get_direction_derivative(Direction self, int i) -> IMP::Float"""
2742  return _IMP_core.Direction_get_direction_derivative(self, i)
2743 
2744  def get_direction_derivatives(self):
2745  r"""get_direction_derivatives(Direction self) -> Vector3D"""
2746  return _IMP_core.Direction_get_direction_derivatives(self)
2747 
2748  def add_to_direction_derivative(self, i, v, d):
2749  r"""add_to_direction_derivative(Direction self, int i, IMP::Float v, DerivativeAccumulator d)"""
2750  return _IMP_core.Direction_add_to_direction_derivative(self, i, v, d)
2751 
2752  def add_to_direction_derivatives(self, v, d):
2753  r"""add_to_direction_derivatives(Direction self, Vector3D v, DerivativeAccumulator d)"""
2754  return _IMP_core.Direction_add_to_direction_derivatives(self, v, d)
2755 
2756  def get_direction_is_optimized(self):
2757  r"""get_direction_is_optimized(Direction self) -> bool"""
2758  return _IMP_core.Direction_get_direction_is_optimized(self)
2759 
2760  def set_direction_is_optimized(self, tf):
2761  r"""set_direction_is_optimized(Direction self, bool tf)"""
2762  return _IMP_core.Direction_set_direction_is_optimized(self, tf)
2763 
2764  def get_direction(self):
2765  r"""get_direction(Direction self) -> Vector3D"""
2766  return _IMP_core.Direction_get_direction(self)
2767 
2768  def set_direction(self, v):
2769  r"""set_direction(Direction self, Vector3D v)"""
2770  return _IMP_core.Direction_set_direction(self, v)
2771 
2772  def reflect(self):
2773  r"""reflect(Direction self)"""
2774  return _IMP_core.Direction_reflect(self)
2775 
2776  def add_attribute(self, *args):
2777  r"""
2778  add_attribute(Direction self, FloatKey k, IMP::Float v, bool opt)
2779  add_attribute(Direction self, FloatKey a0, IMP::Float a1)
2780  add_attribute(Direction self, IntKey a0, IMP::Int a1)
2781  add_attribute(Direction self, FloatsKey a0, IMP::Floats a1)
2782  add_attribute(Direction self, IntsKey a0, IMP::Ints a1)
2783  add_attribute(Direction self, StringKey a0, IMP::String a1)
2784  add_attribute(Direction self, ParticleIndexKey a0, Particle a1)
2785  add_attribute(Direction self, ObjectKey a0, Object a1)
2786  add_attribute(Direction self, SparseFloatKey a0, IMP::Float a1)
2787  add_attribute(Direction self, SparseIntKey a0, IMP::Int a1)
2788  add_attribute(Direction self, SparseStringKey a0, IMP::String a1)
2789  add_attribute(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2790  """
2791  return _IMP_core.Direction_add_attribute(self, *args)
2792 
2793  def get_value(self, *args):
2794  r"""
2795  get_value(Direction self, FloatKey a0) -> IMP::Float
2796  get_value(Direction self, IntKey a0) -> IMP::Int
2797  get_value(Direction self, FloatsKey a0) -> IMP::Floats
2798  get_value(Direction self, IntsKey a0) -> IMP::Ints
2799  get_value(Direction self, StringKey a0) -> IMP::String
2800  get_value(Direction self, ParticleIndexKey a0) -> Particle
2801  get_value(Direction self, ObjectKey a0) -> Object
2802  get_value(Direction self, SparseFloatKey a0) -> IMP::Float
2803  get_value(Direction self, SparseIntKey a0) -> IMP::Int
2804  get_value(Direction self, SparseStringKey a0) -> IMP::String
2805  get_value(Direction self, SparseParticleIndexKey a0) -> ParticleIndex
2806  """
2807  return _IMP_core.Direction_get_value(self, *args)
2808 
2809  def set_value(self, *args):
2810  r"""
2811  set_value(Direction self, FloatKey a0, IMP::Float a1)
2812  set_value(Direction self, IntKey a0, IMP::Int a1)
2813  set_value(Direction self, FloatsKey a0, IMP::Floats a1)
2814  set_value(Direction self, IntsKey a0, IMP::Ints a1)
2815  set_value(Direction self, StringKey a0, IMP::String a1)
2816  set_value(Direction self, ParticleIndexKey a0, Particle a1)
2817  set_value(Direction self, ObjectKey a0, Object a1)
2818  set_value(Direction self, SparseFloatKey a0, IMP::Float a1)
2819  set_value(Direction self, SparseIntKey a0, IMP::Int a1)
2820  set_value(Direction self, SparseStringKey a0, IMP::String a1)
2821  set_value(Direction self, SparseParticleIndexKey a0, ParticleIndex a1)
2822  """
2823  return _IMP_core.Direction_set_value(self, *args)
2824 
2825  def remove_attribute(self, *args):
2826  r"""
2827  remove_attribute(Direction self, FloatKey a0)
2828  remove_attribute(Direction self, IntKey a0)
2829  remove_attribute(Direction self, FloatsKey a0)
2830  remove_attribute(Direction self, IntsKey a0)
2831  remove_attribute(Direction self, StringKey a0)
2832  remove_attribute(Direction self, ParticleIndexKey a0)
2833  remove_attribute(Direction self, ObjectKey a0)
2834  remove_attribute(Direction self, SparseFloatKey a0)
2835  remove_attribute(Direction self, SparseIntKey a0)
2836  remove_attribute(Direction self, SparseStringKey a0)
2837  remove_attribute(Direction self, SparseParticleIndexKey a0)
2838  """
2839  return _IMP_core.Direction_remove_attribute(self, *args)
2840 
2841  def has_attribute(self, *args):
2842  r"""
2843  has_attribute(Direction self, FloatKey a0) -> bool
2844  has_attribute(Direction self, IntKey a0) -> bool
2845  has_attribute(Direction self, FloatsKey a0) -> bool
2846  has_attribute(Direction self, IntsKey a0) -> bool
2847  has_attribute(Direction self, StringKey a0) -> bool
2848  has_attribute(Direction self, ParticleIndexKey a0) -> bool
2849  has_attribute(Direction self, ObjectKey a0) -> bool
2850  has_attribute(Direction self, SparseFloatKey a0) -> bool
2851  has_attribute(Direction self, SparseIntKey a0) -> bool
2852  has_attribute(Direction self, SparseStringKey a0) -> bool
2853  has_attribute(Direction self, SparseParticleIndexKey a0) -> bool
2854  """
2855  return _IMP_core.Direction_has_attribute(self, *args)
2856 
2857  def get_derivative(self, a0):
2858  r"""get_derivative(Direction self, FloatKey a0) -> double"""
2859  return _IMP_core.Direction_get_derivative(self, a0)
2860 
2861  def get_name(self):
2862  r"""get_name(Direction self) -> std::string"""
2863  return _IMP_core.Direction_get_name(self)
2864 
2865  def clear_caches(self):
2866  r"""clear_caches(Direction self)"""
2867  return _IMP_core.Direction_clear_caches(self)
2868 
2869  def set_name(self, a0):
2870  r"""set_name(Direction self, std::string a0)"""
2871  return _IMP_core.Direction_set_name(self, a0)
2872 
2873  def set_check_level(self, a0):
2874  r"""set_check_level(Direction self, IMP::CheckLevel a0)"""
2875  return _IMP_core.Direction_set_check_level(self, a0)
2876 
2877  def add_to_derivative(self, a0, a1, a2):
2878  r"""add_to_derivative(Direction self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2879  return _IMP_core.Direction_add_to_derivative(self, a0, a1, a2)
2880 
2881  def set_is_optimized(self, a0, a1):
2882  r"""set_is_optimized(Direction self, FloatKey a0, bool a1)"""
2883  return _IMP_core.Direction_set_is_optimized(self, a0, a1)
2884 
2885  def get_is_optimized(self, a0):
2886  r"""get_is_optimized(Direction self, FloatKey a0) -> bool"""
2887  return _IMP_core.Direction_get_is_optimized(self, a0)
2888 
2889  def get_check_level(self):
2890  r"""get_check_level(Direction self) -> IMP::CheckLevel"""
2891  return _IMP_core.Direction_get_check_level(self)
2892 
2893  def __eq__(self, *args):
2894  r"""
2895  __eq__(Direction self, Direction o) -> bool
2896  __eq__(Direction self, Particle d) -> bool
2897  """
2898  return _IMP_core.Direction___eq__(self, *args)
2899 
2900  def __ne__(self, *args):
2901  r"""
2902  __ne__(Direction self, Direction o) -> bool
2903  __ne__(Direction self, Particle d) -> bool
2904  """
2905  return _IMP_core.Direction___ne__(self, *args)
2906 
2907  def __le__(self, *args):
2908  r"""
2909  __le__(Direction self, Direction o) -> bool
2910  __le__(Direction self, Particle d) -> bool
2911  """
2912  return _IMP_core.Direction___le__(self, *args)
2913 
2914  def __lt__(self, *args):
2915  r"""
2916  __lt__(Direction self, Direction o) -> bool
2917  __lt__(Direction self, Particle d) -> bool
2918  """
2919  return _IMP_core.Direction___lt__(self, *args)
2920 
2921  def __ge__(self, *args):
2922  r"""
2923  __ge__(Direction self, Direction o) -> bool
2924  __ge__(Direction self, Particle d) -> bool
2925  """
2926  return _IMP_core.Direction___ge__(self, *args)
2927 
2928  def __gt__(self, *args):
2929  r"""
2930  __gt__(Direction self, Direction o) -> bool
2931  __gt__(Direction self, Particle d) -> bool
2932  """
2933  return _IMP_core.Direction___gt__(self, *args)
2934 
2935  def __hash__(self):
2936  r"""__hash__(Direction self) -> std::size_t"""
2937  return _IMP_core.Direction___hash__(self)
2938 
2939  def __str__(self):
2940  r"""__str__(Direction self) -> std::string"""
2941  return _IMP_core.Direction___str__(self)
2942 
2943  def __repr__(self):
2944  r"""__repr__(Direction self) -> std::string"""
2945  return _IMP_core.Direction___repr__(self)
2946 
2947  def _get_as_binary(self):
2948  r"""_get_as_binary(Direction self) -> PyObject *"""
2949  return _IMP_core.Direction__get_as_binary(self)
2950 
2951  def _set_from_binary(self, p):
2952  r"""_set_from_binary(Direction self, PyObject * p)"""
2953  return _IMP_core.Direction__set_from_binary(self, p)
2954 
2955  def __getstate__(self):
2956  p = self._get_as_binary()
2957  if len(self.__dict__) > 1:
2958  d = self.__dict__.copy()
2959  del d['this']
2960  p = (d, p)
2961  return p
2962 
2963  def __setstate__(self, p):
2964  if not hasattr(self, 'this'):
2965  self.__init__()
2966  if isinstance(p, tuple):
2967  d, p = p
2968  self.__dict__.update(d)
2969  return self._set_from_binary(p)
2970 
2971  __swig_destroy__ = _IMP_core.delete_Direction
2972 
2973 # Register Direction in _IMP_core:
2974 _IMP_core.Direction_swigregister(Direction)
2975 
2976 def get_angle(a, b):
2977  r"""get_angle(Direction a, Direction b) -> double"""
2978  return _IMP_core.get_angle(a, b)
2979 class DirectionAngle(IMP.Decorator):
2980  r"""Proxy of C++ IMP::core::DirectionAngle class."""
2981 
2982  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2983 
2984  def __init__(self, *args):
2985  r"""
2986  __init__(DirectionAngle self) -> DirectionAngle
2987  __init__(DirectionAngle self, Model m, ParticleIndex id) -> DirectionAngle
2988  __init__(DirectionAngle self, _ParticleAdaptor d) -> DirectionAngle
2989  """
2990  _IMP_core.DirectionAngle_swiginit(self, _IMP_core.new_DirectionAngle(*args))
2991 
2992  def show(self, *args):
2993  r"""show(DirectionAngle self, _ostream out=std::cout)"""
2994  return _IMP_core.DirectionAngle_show(self, *args)
2995 
2996  @staticmethod
2997  def setup_particle(*args):
2998  r"""
2999  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexPair ds) -> DirectionAngle
3000  setup_particle(_ParticleAdaptor pa, IMP::ParticleIndexPair ds) -> DirectionAngle
3001  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3002  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor d0, _ParticleIndexAdaptor d1) -> DirectionAngle
3003  """
3004  return _IMP_core.DirectionAngle_setup_particle(*args)
3005 
3006  @staticmethod
3007  def get_is_setup(*args):
3008  r"""
3009  get_is_setup(_ParticleAdaptor p) -> bool
3010  get_is_setup(Model m, ParticleIndex pi) -> bool
3011  """
3012  return _IMP_core.DirectionAngle_get_is_setup(*args)
3013 
3014  @staticmethod
3015  def get_angle_key():
3016  r"""get_angle_key() -> FloatKey"""
3017  return _IMP_core.DirectionAngle_get_angle_key()
3018 
3019  @staticmethod
3020  def get_particle_key(i):
3021  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
3022  return _IMP_core.DirectionAngle_get_particle_key(i)
3023 
3024  def get_particle(self, *args):
3025  r"""
3026  get_particle(DirectionAngle self, unsigned int i) -> Particle
3027  get_particle(DirectionAngle self) -> Particle
3028  """
3029  return _IMP_core.DirectionAngle_get_particle(self, *args)
3030 
3031  def get_particle_index(self, *args):
3032  r"""
3033  get_particle_index(DirectionAngle self, unsigned int i) -> ParticleIndex
3034  get_particle_index(DirectionAngle self) -> ParticleIndex
3035  """
3036  return _IMP_core.DirectionAngle_get_particle_index(self, *args)
3037 
3038  def get_angle(self):
3039  r"""get_angle(DirectionAngle self) -> IMP::Float"""
3040  return _IMP_core.DirectionAngle_get_angle(self)
3041 
3042  def get_angle_derivative(self):
3043  r"""get_angle_derivative(DirectionAngle self) -> IMP::Float"""
3044  return _IMP_core.DirectionAngle_get_angle_derivative(self)
3045 
3046  def add_to_angle_derivative(self, v, d):
3047  r"""add_to_angle_derivative(DirectionAngle self, IMP::Float v, DerivativeAccumulator d)"""
3048  return _IMP_core.DirectionAngle_add_to_angle_derivative(self, v, d)
3049 
3050  def add_attribute(self, *args):
3051  r"""
3052  add_attribute(DirectionAngle self, FloatKey k, IMP::Float v, bool opt)
3053  add_attribute(DirectionAngle self, FloatKey a0, IMP::Float a1)
3054  add_attribute(DirectionAngle self, IntKey a0, IMP::Int a1)
3055  add_attribute(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3056  add_attribute(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3057  add_attribute(DirectionAngle self, StringKey a0, IMP::String a1)
3058  add_attribute(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3059  add_attribute(DirectionAngle self, ObjectKey a0, Object a1)
3060  add_attribute(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3061  add_attribute(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3062  add_attribute(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3063  add_attribute(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3064  """
3065  return _IMP_core.DirectionAngle_add_attribute(self, *args)
3066 
3067  def get_value(self, *args):
3068  r"""
3069  get_value(DirectionAngle self, FloatKey a0) -> IMP::Float
3070  get_value(DirectionAngle self, IntKey a0) -> IMP::Int
3071  get_value(DirectionAngle self, FloatsKey a0) -> IMP::Floats
3072  get_value(DirectionAngle self, IntsKey a0) -> IMP::Ints
3073  get_value(DirectionAngle self, StringKey a0) -> IMP::String
3074  get_value(DirectionAngle self, ParticleIndexKey a0) -> Particle
3075  get_value(DirectionAngle self, ObjectKey a0) -> Object
3076  get_value(DirectionAngle self, SparseFloatKey a0) -> IMP::Float
3077  get_value(DirectionAngle self, SparseIntKey a0) -> IMP::Int
3078  get_value(DirectionAngle self, SparseStringKey a0) -> IMP::String
3079  get_value(DirectionAngle self, SparseParticleIndexKey a0) -> ParticleIndex
3080  """
3081  return _IMP_core.DirectionAngle_get_value(self, *args)
3082 
3083  def set_value(self, *args):
3084  r"""
3085  set_value(DirectionAngle self, FloatKey a0, IMP::Float a1)
3086  set_value(DirectionAngle self, IntKey a0, IMP::Int a1)
3087  set_value(DirectionAngle self, FloatsKey a0, IMP::Floats a1)
3088  set_value(DirectionAngle self, IntsKey a0, IMP::Ints a1)
3089  set_value(DirectionAngle self, StringKey a0, IMP::String a1)
3090  set_value(DirectionAngle self, ParticleIndexKey a0, Particle a1)
3091  set_value(DirectionAngle self, ObjectKey a0, Object a1)
3092  set_value(DirectionAngle self, SparseFloatKey a0, IMP::Float a1)
3093  set_value(DirectionAngle self, SparseIntKey a0, IMP::Int a1)
3094  set_value(DirectionAngle self, SparseStringKey a0, IMP::String a1)
3095  set_value(DirectionAngle self, SparseParticleIndexKey a0, ParticleIndex a1)
3096  """
3097  return _IMP_core.DirectionAngle_set_value(self, *args)
3098 
3099  def remove_attribute(self, *args):
3100  r"""
3101  remove_attribute(DirectionAngle self, FloatKey a0)
3102  remove_attribute(DirectionAngle self, IntKey a0)
3103  remove_attribute(DirectionAngle self, FloatsKey a0)
3104  remove_attribute(DirectionAngle self, IntsKey a0)
3105  remove_attribute(DirectionAngle self, StringKey a0)
3106  remove_attribute(DirectionAngle self, ParticleIndexKey a0)
3107  remove_attribute(DirectionAngle self, ObjectKey a0)
3108  remove_attribute(DirectionAngle self, SparseFloatKey a0)
3109  remove_attribute(DirectionAngle self, SparseIntKey a0)
3110  remove_attribute(DirectionAngle self, SparseStringKey a0)
3111  remove_attribute(DirectionAngle self, SparseParticleIndexKey a0)
3112  """
3113  return _IMP_core.DirectionAngle_remove_attribute(self, *args)
3114 
3115  def has_attribute(self, *args):
3116  r"""
3117  has_attribute(DirectionAngle self, FloatKey a0) -> bool
3118  has_attribute(DirectionAngle self, IntKey a0) -> bool
3119  has_attribute(DirectionAngle self, FloatsKey a0) -> bool
3120  has_attribute(DirectionAngle self, IntsKey a0) -> bool
3121  has_attribute(DirectionAngle self, StringKey a0) -> bool
3122  has_attribute(DirectionAngle self, ParticleIndexKey a0) -> bool
3123  has_attribute(DirectionAngle self, ObjectKey a0) -> bool
3124  has_attribute(DirectionAngle self, SparseFloatKey a0) -> bool
3125  has_attribute(DirectionAngle self, SparseIntKey a0) -> bool
3126  has_attribute(DirectionAngle self, SparseStringKey a0) -> bool
3127  has_attribute(DirectionAngle self, SparseParticleIndexKey a0) -> bool
3128  """
3129  return _IMP_core.DirectionAngle_has_attribute(self, *args)
3130 
3131  def get_derivative(self, a0):
3132  r"""get_derivative(DirectionAngle self, FloatKey a0) -> double"""
3133  return _IMP_core.DirectionAngle_get_derivative(self, a0)
3134 
3135  def get_name(self):
3136  r"""get_name(DirectionAngle self) -> std::string"""
3137  return _IMP_core.DirectionAngle_get_name(self)
3138 
3139  def clear_caches(self):
3140  r"""clear_caches(DirectionAngle self)"""
3141  return _IMP_core.DirectionAngle_clear_caches(self)
3142 
3143  def set_name(self, a0):
3144  r"""set_name(DirectionAngle self, std::string a0)"""
3145  return _IMP_core.DirectionAngle_set_name(self, a0)
3146 
3147  def set_check_level(self, a0):
3148  r"""set_check_level(DirectionAngle self, IMP::CheckLevel a0)"""
3149  return _IMP_core.DirectionAngle_set_check_level(self, a0)
3150 
3151  def add_to_derivative(self, a0, a1, a2):
3152  r"""add_to_derivative(DirectionAngle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3153  return _IMP_core.DirectionAngle_add_to_derivative(self, a0, a1, a2)
3154 
3155  def set_is_optimized(self, a0, a1):
3156  r"""set_is_optimized(DirectionAngle self, FloatKey a0, bool a1)"""
3157  return _IMP_core.DirectionAngle_set_is_optimized(self, a0, a1)
3158 
3159  def get_is_optimized(self, a0):
3160  r"""get_is_optimized(DirectionAngle self, FloatKey a0) -> bool"""
3161  return _IMP_core.DirectionAngle_get_is_optimized(self, a0)
3162 
3163  def get_check_level(self):
3164  r"""get_check_level(DirectionAngle self) -> IMP::CheckLevel"""
3165  return _IMP_core.DirectionAngle_get_check_level(self)
3166 
3167  def __eq__(self, *args):
3168  r"""
3169  __eq__(DirectionAngle self, DirectionAngle o) -> bool
3170  __eq__(DirectionAngle self, Particle d) -> bool
3171  """
3172  return _IMP_core.DirectionAngle___eq__(self, *args)
3173 
3174  def __ne__(self, *args):
3175  r"""
3176  __ne__(DirectionAngle self, DirectionAngle o) -> bool
3177  __ne__(DirectionAngle self, Particle d) -> bool
3178  """
3179  return _IMP_core.DirectionAngle___ne__(self, *args)
3180 
3181  def __le__(self, *args):
3182  r"""
3183  __le__(DirectionAngle self, DirectionAngle o) -> bool
3184  __le__(DirectionAngle self, Particle d) -> bool
3185  """
3186  return _IMP_core.DirectionAngle___le__(self, *args)
3187 
3188  def __lt__(self, *args):
3189  r"""
3190  __lt__(DirectionAngle self, DirectionAngle o) -> bool
3191  __lt__(DirectionAngle self, Particle d) -> bool
3192  """
3193  return _IMP_core.DirectionAngle___lt__(self, *args)
3194 
3195  def __ge__(self, *args):
3196  r"""
3197  __ge__(DirectionAngle self, DirectionAngle o) -> bool
3198  __ge__(DirectionAngle self, Particle d) -> bool
3199  """
3200  return _IMP_core.DirectionAngle___ge__(self, *args)
3201 
3202  def __gt__(self, *args):
3203  r"""
3204  __gt__(DirectionAngle self, DirectionAngle o) -> bool
3205  __gt__(DirectionAngle self, Particle d) -> bool
3206  """
3207  return _IMP_core.DirectionAngle___gt__(self, *args)
3208 
3209  def __hash__(self):
3210  r"""__hash__(DirectionAngle self) -> std::size_t"""
3211  return _IMP_core.DirectionAngle___hash__(self)
3212 
3213  def __str__(self):
3214  r"""__str__(DirectionAngle self) -> std::string"""
3215  return _IMP_core.DirectionAngle___str__(self)
3216 
3217  def __repr__(self):
3218  r"""__repr__(DirectionAngle self) -> std::string"""
3219  return _IMP_core.DirectionAngle___repr__(self)
3220 
3221  def _get_as_binary(self):
3222  r"""_get_as_binary(DirectionAngle self) -> PyObject *"""
3223  return _IMP_core.DirectionAngle__get_as_binary(self)
3224 
3225  def _set_from_binary(self, p):
3226  r"""_set_from_binary(DirectionAngle self, PyObject * p)"""
3227  return _IMP_core.DirectionAngle__set_from_binary(self, p)
3228 
3229  def __getstate__(self):
3230  p = self._get_as_binary()
3231  if len(self.__dict__) > 1:
3232  d = self.__dict__.copy()
3233  del d['this']
3234  p = (d, p)
3235  return p
3236 
3237  def __setstate__(self, p):
3238  if not hasattr(self, 'this'):
3239  self.__init__()
3240  if isinstance(p, tuple):
3241  d, p = p
3242  self.__dict__.update(d)
3243  return self._set_from_binary(p)
3244 
3245  __swig_destroy__ = _IMP_core.delete_DirectionAngle
3246 
3247 # Register DirectionAngle in _IMP_core:
3248 _IMP_core.DirectionAngle_swigregister(DirectionAngle)
3249 class Surface(XYZ):
3250  r"""Proxy of C++ IMP::core::Surface class."""
3251 
3252  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3253 
3254  @staticmethod
3255  def do_setup_particle(*args):
3256  r"""
3257  do_setup_particle(Model m, ParticleIndex pi, Vector3D center=IMP::Vector3D(0, 0, 0), Vector3D normal=IMP::Vector3D(0, 0, 1))
3258  do_setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf)
3259  """
3260  return _IMP_core.Surface_do_setup_particle(*args)
3261 
3262  def __init__(self, *args):
3263  r"""
3264  __init__(Surface self) -> Surface
3265  __init__(Surface self, Model m, ParticleIndex id) -> Surface
3266  __init__(Surface self, _ParticleAdaptor d) -> Surface
3267  """
3268  _IMP_core.Surface_swiginit(self, _IMP_core.new_Surface(*args))
3269 
3270  def show(self, *args):
3271  r"""show(Surface self, _ostream out=std::cout)"""
3272  return _IMP_core.Surface_show(self, *args)
3273 
3274  @staticmethod
3275  def setup_particle(*args):
3276  r"""
3277  setup_particle(Model m, ParticleIndex pi) -> Surface
3278  setup_particle(_ParticleAdaptor pa) -> Surface
3279  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> Surface
3280  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> Surface
3281  setup_particle(Model m, ParticleIndex pi, Vector3D center) -> Surface
3282  setup_particle(_ParticleAdaptor pa, Vector3D center) -> Surface
3283  setup_particle(Model m, ParticleIndex pi, Vector3D center, Vector3D normal) -> Surface
3284  setup_particle(_ParticleAdaptor pa, Vector3D center, Vector3D normal) -> Surface
3285  """
3286  return _IMP_core.Surface_setup_particle(*args)
3287 
3288  def get_normal_x(self):
3289  r"""get_normal_x(Surface self) -> IMP::Float"""
3290  return _IMP_core.Surface_get_normal_x(self)
3291 
3292  def set_normal_x(self, t):
3293  r"""set_normal_x(Surface self, IMP::Float t)"""
3294  return _IMP_core.Surface_set_normal_x(self, t)
3295 
3296  def get_normal_y(self):
3297  r"""get_normal_y(Surface self) -> IMP::Float"""
3298  return _IMP_core.Surface_get_normal_y(self)
3299 
3300  def set_normal_y(self, t):
3301  r"""set_normal_y(Surface self, IMP::Float t)"""
3302  return _IMP_core.Surface_set_normal_y(self, t)
3303 
3304  def get_normal_z(self):
3305  r"""get_normal_z(Surface self) -> IMP::Float"""
3306  return _IMP_core.Surface_get_normal_z(self)
3307 
3308  def set_normal_z(self, t):
3309  r"""set_normal_z(Surface self, IMP::Float t)"""
3310  return _IMP_core.Surface_set_normal_z(self, t)
3311 
3312  @staticmethod
3313  def get_is_setup(*args):
3314  r"""
3315  get_is_setup(_ParticleAdaptor p) -> bool
3316  get_is_setup(Model m, ParticleIndex pi) -> bool
3317  """
3318  return _IMP_core.Surface_get_is_setup(*args)
3319 
3320  @staticmethod
3321  def get_normal_key(i):
3322  r"""get_normal_key(unsigned int i) -> FloatKey"""
3323  return _IMP_core.Surface_get_normal_key(i)
3324 
3325  def get_normal_derivative(self, i):
3326  r"""get_normal_derivative(Surface self, int i) -> IMP::Float"""
3327  return _IMP_core.Surface_get_normal_derivative(self, i)
3328 
3329  def get_normal_derivatives(self):
3330  r"""get_normal_derivatives(Surface self) -> Vector3D"""
3331  return _IMP_core.Surface_get_normal_derivatives(self)
3332 
3333  def add_to_normal_derivative(self, i, v, d):
3334  r"""add_to_normal_derivative(Surface self, int i, IMP::Float v, DerivativeAccumulator d)"""
3335  return _IMP_core.Surface_add_to_normal_derivative(self, i, v, d)
3336 
3337  def add_to_normal_derivatives(self, v, d):
3338  r"""add_to_normal_derivatives(Surface self, Vector3D v, DerivativeAccumulator d)"""
3339  return _IMP_core.Surface_add_to_normal_derivatives(self, v, d)
3340 
3341  def get_normal_is_optimized(self):
3342  r"""get_normal_is_optimized(Surface self) -> bool"""
3343  return _IMP_core.Surface_get_normal_is_optimized(self)
3344 
3345  def set_normal_is_optimized(self, tf):
3346  r"""set_normal_is_optimized(Surface self, bool tf)"""
3347  return _IMP_core.Surface_set_normal_is_optimized(self, tf)
3348 
3349  def get_normal(self):
3350  r"""get_normal(Surface self) -> Vector3D"""
3351  return _IMP_core.Surface_get_normal(self)
3352 
3353  def set_normal(self, normal):
3354  r"""set_normal(Surface self, Vector3D normal)"""
3355  return _IMP_core.Surface_set_normal(self, normal)
3356 
3357  def reflect(self):
3358  r"""reflect(Surface self)"""
3359  return _IMP_core.Surface_reflect(self)
3360 
3361  def get_height(self, v):
3362  r"""get_height(Surface self, Vector3D v) -> double"""
3363  return _IMP_core.Surface_get_height(self, v)
3364 
3365  def get_depth(self, v):
3366  r"""get_depth(Surface self, Vector3D v) -> double"""
3367  return _IMP_core.Surface_get_depth(self, v)
3368 
3369  def get_distance_to(self, v):
3370  r"""get_distance_to(Surface self, Vector3D v) -> double"""
3371  return _IMP_core.Surface_get_distance_to(self, v)
3372 
3373  def get_distance_to_center(self, v):
3374  r"""get_distance_to_center(Surface self, Vector3D v) -> double"""
3375  return _IMP_core.Surface_get_distance_to_center(self, v)
3376 
3377  def set_reference_frame(self, rf):
3378  r"""set_reference_frame(Surface self, ReferenceFrame3D rf)"""
3379  return _IMP_core.Surface_set_reference_frame(self, rf)
3380 
3381  def get_reference_frame(self):
3382  r"""get_reference_frame(Surface self) -> ReferenceFrame3D"""
3383  return _IMP_core.Surface_get_reference_frame(self)
3384 
3385  def get_plane(self):
3386  r"""get_plane(Surface self) -> Plane3D"""
3387  return _IMP_core.Surface_get_plane(self)
3388 
3389  def add_attribute(self, *args):
3390  r"""
3391  add_attribute(Surface self, FloatKey k, IMP::Float v, bool opt)
3392  add_attribute(Surface self, FloatKey a0, IMP::Float a1)
3393  add_attribute(Surface self, IntKey a0, IMP::Int a1)
3394  add_attribute(Surface self, FloatsKey a0, IMP::Floats a1)
3395  add_attribute(Surface self, IntsKey a0, IMP::Ints a1)
3396  add_attribute(Surface self, StringKey a0, IMP::String a1)
3397  add_attribute(Surface self, ParticleIndexKey a0, Particle a1)
3398  add_attribute(Surface self, ObjectKey a0, Object a1)
3399  add_attribute(Surface self, SparseFloatKey a0, IMP::Float a1)
3400  add_attribute(Surface self, SparseIntKey a0, IMP::Int a1)
3401  add_attribute(Surface self, SparseStringKey a0, IMP::String a1)
3402  add_attribute(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3403  """
3404  return _IMP_core.Surface_add_attribute(self, *args)
3405 
3406  def get_value(self, *args):
3407  r"""
3408  get_value(Surface self, FloatKey a0) -> IMP::Float
3409  get_value(Surface self, IntKey a0) -> IMP::Int
3410  get_value(Surface self, FloatsKey a0) -> IMP::Floats
3411  get_value(Surface self, IntsKey a0) -> IMP::Ints
3412  get_value(Surface self, StringKey a0) -> IMP::String
3413  get_value(Surface self, ParticleIndexKey a0) -> Particle
3414  get_value(Surface self, ObjectKey a0) -> Object
3415  get_value(Surface self, SparseFloatKey a0) -> IMP::Float
3416  get_value(Surface self, SparseIntKey a0) -> IMP::Int
3417  get_value(Surface self, SparseStringKey a0) -> IMP::String
3418  get_value(Surface self, SparseParticleIndexKey a0) -> ParticleIndex
3419  """
3420  return _IMP_core.Surface_get_value(self, *args)
3421 
3422  def set_value(self, *args):
3423  r"""
3424  set_value(Surface self, FloatKey a0, IMP::Float a1)
3425  set_value(Surface self, IntKey a0, IMP::Int a1)
3426  set_value(Surface self, FloatsKey a0, IMP::Floats a1)
3427  set_value(Surface self, IntsKey a0, IMP::Ints a1)
3428  set_value(Surface self, StringKey a0, IMP::String a1)
3429  set_value(Surface self, ParticleIndexKey a0, Particle a1)
3430  set_value(Surface self, ObjectKey a0, Object a1)
3431  set_value(Surface self, SparseFloatKey a0, IMP::Float a1)
3432  set_value(Surface self, SparseIntKey a0, IMP::Int a1)
3433  set_value(Surface self, SparseStringKey a0, IMP::String a1)
3434  set_value(Surface self, SparseParticleIndexKey a0, ParticleIndex a1)
3435  """
3436  return _IMP_core.Surface_set_value(self, *args)
3437 
3438  def remove_attribute(self, *args):
3439  r"""
3440  remove_attribute(Surface self, FloatKey a0)
3441  remove_attribute(Surface self, IntKey a0)
3442  remove_attribute(Surface self, FloatsKey a0)
3443  remove_attribute(Surface self, IntsKey a0)
3444  remove_attribute(Surface self, StringKey a0)
3445  remove_attribute(Surface self, ParticleIndexKey a0)
3446  remove_attribute(Surface self, ObjectKey a0)
3447  remove_attribute(Surface self, SparseFloatKey a0)
3448  remove_attribute(Surface self, SparseIntKey a0)
3449  remove_attribute(Surface self, SparseStringKey a0)
3450  remove_attribute(Surface self, SparseParticleIndexKey a0)
3451  """
3452  return _IMP_core.Surface_remove_attribute(self, *args)
3453 
3454  def has_attribute(self, *args):
3455  r"""
3456  has_attribute(Surface self, FloatKey a0) -> bool
3457  has_attribute(Surface self, IntKey a0) -> bool
3458  has_attribute(Surface self, FloatsKey a0) -> bool
3459  has_attribute(Surface self, IntsKey a0) -> bool
3460  has_attribute(Surface self, StringKey a0) -> bool
3461  has_attribute(Surface self, ParticleIndexKey a0) -> bool
3462  has_attribute(Surface self, ObjectKey a0) -> bool
3463  has_attribute(Surface self, SparseFloatKey a0) -> bool
3464  has_attribute(Surface self, SparseIntKey a0) -> bool
3465  has_attribute(Surface self, SparseStringKey a0) -> bool
3466  has_attribute(Surface self, SparseParticleIndexKey a0) -> bool
3467  """
3468  return _IMP_core.Surface_has_attribute(self, *args)
3469 
3470  def get_derivative(self, a0):
3471  r"""get_derivative(Surface self, FloatKey a0) -> double"""
3472  return _IMP_core.Surface_get_derivative(self, a0)
3473 
3474  def get_name(self):
3475  r"""get_name(Surface self) -> std::string"""
3476  return _IMP_core.Surface_get_name(self)
3477 
3478  def clear_caches(self):
3479  r"""clear_caches(Surface self)"""
3480  return _IMP_core.Surface_clear_caches(self)
3481 
3482  def set_name(self, a0):
3483  r"""set_name(Surface self, std::string a0)"""
3484  return _IMP_core.Surface_set_name(self, a0)
3485 
3486  def set_check_level(self, a0):
3487  r"""set_check_level(Surface self, IMP::CheckLevel a0)"""
3488  return _IMP_core.Surface_set_check_level(self, a0)
3489 
3490  def add_to_derivative(self, a0, a1, a2):
3491  r"""add_to_derivative(Surface self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3492  return _IMP_core.Surface_add_to_derivative(self, a0, a1, a2)
3493 
3494  def set_is_optimized(self, a0, a1):
3495  r"""set_is_optimized(Surface self, FloatKey a0, bool a1)"""
3496  return _IMP_core.Surface_set_is_optimized(self, a0, a1)
3497 
3498  def get_is_optimized(self, a0):
3499  r"""get_is_optimized(Surface self, FloatKey a0) -> bool"""
3500  return _IMP_core.Surface_get_is_optimized(self, a0)
3501 
3502  def get_check_level(self):
3503  r"""get_check_level(Surface self) -> IMP::CheckLevel"""
3504  return _IMP_core.Surface_get_check_level(self)
3505 
3506  def __eq__(self, *args):
3507  r"""
3508  __eq__(Surface self, Surface o) -> bool
3509  __eq__(Surface self, Particle d) -> bool
3510  """
3511  return _IMP_core.Surface___eq__(self, *args)
3512 
3513  def __ne__(self, *args):
3514  r"""
3515  __ne__(Surface self, Surface o) -> bool
3516  __ne__(Surface self, Particle d) -> bool
3517  """
3518  return _IMP_core.Surface___ne__(self, *args)
3519 
3520  def __le__(self, *args):
3521  r"""
3522  __le__(Surface self, Surface o) -> bool
3523  __le__(Surface self, Particle d) -> bool
3524  """
3525  return _IMP_core.Surface___le__(self, *args)
3526 
3527  def __lt__(self, *args):
3528  r"""
3529  __lt__(Surface self, Surface o) -> bool
3530  __lt__(Surface self, Particle d) -> bool
3531  """
3532  return _IMP_core.Surface___lt__(self, *args)
3533 
3534  def __ge__(self, *args):
3535  r"""
3536  __ge__(Surface self, Surface o) -> bool
3537  __ge__(Surface self, Particle d) -> bool
3538  """
3539  return _IMP_core.Surface___ge__(self, *args)
3540 
3541  def __gt__(self, *args):
3542  r"""
3543  __gt__(Surface self, Surface o) -> bool
3544  __gt__(Surface self, Particle d) -> bool
3545  """
3546  return _IMP_core.Surface___gt__(self, *args)
3547 
3548  def __hash__(self):
3549  r"""__hash__(Surface self) -> std::size_t"""
3550  return _IMP_core.Surface___hash__(self)
3551 
3552  def __str__(self):
3553  r"""__str__(Surface self) -> std::string"""
3554  return _IMP_core.Surface___str__(self)
3555 
3556  def __repr__(self):
3557  r"""__repr__(Surface self) -> std::string"""
3558  return _IMP_core.Surface___repr__(self)
3559 
3560  def _get_as_binary(self):
3561  r"""_get_as_binary(Surface self) -> PyObject *"""
3562  return _IMP_core.Surface__get_as_binary(self)
3563 
3564  def _set_from_binary(self, p):
3565  r"""_set_from_binary(Surface self, PyObject * p)"""
3566  return _IMP_core.Surface__set_from_binary(self, p)
3567 
3568  def __getstate__(self):
3569  p = self._get_as_binary()
3570  if len(self.__dict__) > 1:
3571  d = self.__dict__.copy()
3572  del d['this']
3573  p = (d, p)
3574  return p
3575 
3576  def __setstate__(self, p):
3577  if not hasattr(self, 'this'):
3578  self.__init__()
3579  if isinstance(p, tuple):
3580  d, p = p
3581  self.__dict__.update(d)
3582  return self._set_from_binary(p)
3583 
3584  __swig_destroy__ = _IMP_core.delete_Surface
3585 
3586 # Register Surface in _IMP_core:
3587 _IMP_core.Surface_swigregister(Surface)
3588 
3589 def get_height(*args):
3590  r"""
3591  get_height(Surface s, XYZR d) -> double
3592  get_height(Surface s, XYZ d) -> double
3593  """
3594  return _IMP_core.get_height(*args)
3595 
3596 def get_depth(*args):
3597  r"""
3598  get_depth(Surface s, XYZR d) -> double
3599  get_depth(Surface s, XYZ d) -> double
3600  """
3601  return _IMP_core.get_depth(*args)
3602 
3603 def get_distance(*args):
3604  r"""
3605  get_distance(XYZ a, XYZ b) -> double
3606  get_distance(XYZR a, XYZR b) -> double
3607  get_distance(Surface s, XYZR d) -> double
3608  get_distance(Surface s, XYZ d) -> double
3609  """
3610  return _IMP_core.get_distance(*args)
3611 class SurfaceGeometry(IMP.display.Geometry):
3612  r"""Proxy of C++ IMP::core::SurfaceGeometry class."""
3613 
3614  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3615 
3616  def __init__(self, *args):
3617  r"""
3618  __init__(SurfaceGeometry self, std::string n="SurfaceGeometry") -> SurfaceGeometry
3619  __init__(SurfaceGeometry self, Surface s, std::string const n="SurfaceGeometry") -> SurfaceGeometry
3620  __init__(SurfaceGeometry self, Surface s, Color c, std::string n="SurfaceGeometry") -> SurfaceGeometry
3621  """
3622  _IMP_core.SurfaceGeometry_swiginit(self, _IMP_core.new_SurfaceGeometry(*args))
3623 
3624  def get_geometry(self):
3625  r"""get_geometry(SurfaceGeometry self) -> Surface"""
3626  return _IMP_core.SurfaceGeometry_get_geometry(self)
3627 
3628  def set_geometry(self, s):
3629  r"""set_geometry(SurfaceGeometry self, Surface s)"""
3630  return _IMP_core.SurfaceGeometry_set_geometry(self, s)
3631 
3632  def get_version_info(self):
3633  r"""get_version_info(SurfaceGeometry self) -> VersionInfo"""
3634  return _IMP_core.SurfaceGeometry_get_version_info(self)
3635  __swig_destroy__ = _IMP_core.delete_SurfaceGeometry
3636 
3637  def __str__(self):
3638  r"""__str__(SurfaceGeometry self) -> std::string"""
3639  return _IMP_core.SurfaceGeometry___str__(self)
3640 
3641  def __repr__(self):
3642  r"""__repr__(SurfaceGeometry self) -> std::string"""
3643  return _IMP_core.SurfaceGeometry___repr__(self)
3644 
3645  @staticmethod
3646  def get_from(o):
3647  return _object_cast_to_SurfaceGeometry(o)
3648 
3649 
3650 # Register SurfaceGeometry in _IMP_core:
3651 _IMP_core.SurfaceGeometry_swigregister(SurfaceGeometry)
3652 
3653 def create_geometry(*args):
3654  r"""create_geometry(Surface s, std::string name=std::string("SurfaceGeometry%1%")) -> SurfaceGeometry"""
3655  return _IMP_core.create_geometry(*args)
3656 class SurfaceGeometryConstraint(IMP.Constraint):
3657  r"""Proxy of C++ IMP::core::SurfaceGeometryConstraint class."""
3658 
3659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3660 
3661  def __init__(self, s, g):
3662  r"""__init__(SurfaceGeometryConstraint self, Surface s, SurfaceGeometry g) -> SurfaceGeometryConstraint"""
3663  _IMP_core.SurfaceGeometryConstraint_swiginit(self, _IMP_core.new_SurfaceGeometryConstraint(s, g))
3664 
3665  def get_surface(self):
3666  r"""get_surface(SurfaceGeometryConstraint self) -> Surface"""
3667  return _IMP_core.SurfaceGeometryConstraint_get_surface(self)
3668 
3669  def get_geometry(self):
3670  r"""get_geometry(SurfaceGeometryConstraint self) -> SurfaceGeometry"""
3671  return _IMP_core.SurfaceGeometryConstraint_get_geometry(self)
3672 
3673  def do_get_inputs(self):
3674  r"""do_get_inputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3675  return _IMP_core.SurfaceGeometryConstraint_do_get_inputs(self)
3676 
3677  def do_get_outputs(self):
3678  r"""do_get_outputs(SurfaceGeometryConstraint self) -> IMP::ModelObjectsTemp"""
3679  return _IMP_core.SurfaceGeometryConstraint_do_get_outputs(self)
3680 
3681  def get_version_info(self):
3682  r"""get_version_info(SurfaceGeometryConstraint self) -> VersionInfo"""
3683  return _IMP_core.SurfaceGeometryConstraint_get_version_info(self)
3684  __swig_destroy__ = _IMP_core.delete_SurfaceGeometryConstraint
3685 
3686  def __str__(self):
3687  r"""__str__(SurfaceGeometryConstraint self) -> std::string"""
3688  return _IMP_core.SurfaceGeometryConstraint___str__(self)
3689 
3690  def __repr__(self):
3691  r"""__repr__(SurfaceGeometryConstraint self) -> std::string"""
3692  return _IMP_core.SurfaceGeometryConstraint___repr__(self)
3693 
3694  @staticmethod
3695  def get_from(o):
3696  return _object_cast_to_SurfaceGeometryConstraint(o)
3697 
3698 
3699 # Register SurfaceGeometryConstraint in _IMP_core:
3700 _IMP_core.SurfaceGeometryConstraint_swigregister(SurfaceGeometryConstraint)
3701 
3703  r"""get_constrained_surface_geometry(Surface s, std::string name="SurfaceGeometry%1%") -> SurfaceGeometry"""
3704  return _IMP_core.get_constrained_surface_geometry(*args)
3705 class LateralSurfaceConstraint(IMP.Constraint):
3706  r"""Proxy of C++ IMP::core::LateralSurfaceConstraint class."""
3707 
3708  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3709 
3710  def __init__(self, s, d):
3711  r"""__init__(LateralSurfaceConstraint self, Surface s, XYZ d) -> LateralSurfaceConstraint"""
3712  _IMP_core.LateralSurfaceConstraint_swiginit(self, _IMP_core.new_LateralSurfaceConstraint(s, d))
3713 
3714  def do_get_inputs(self):
3715  r"""do_get_inputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3716  return _IMP_core.LateralSurfaceConstraint_do_get_inputs(self)
3717 
3718  def do_get_outputs(self):
3719  r"""do_get_outputs(LateralSurfaceConstraint self) -> IMP::ModelObjectsTemp"""
3720  return _IMP_core.LateralSurfaceConstraint_do_get_outputs(self)
3721 
3722  def get_version_info(self):
3723  r"""get_version_info(LateralSurfaceConstraint self) -> VersionInfo"""
3724  return _IMP_core.LateralSurfaceConstraint_get_version_info(self)
3725  __swig_destroy__ = _IMP_core.delete_LateralSurfaceConstraint
3726 
3727  def __str__(self):
3728  r"""__str__(LateralSurfaceConstraint self) -> std::string"""
3729  return _IMP_core.LateralSurfaceConstraint___str__(self)
3730 
3731  def __repr__(self):
3732  r"""__repr__(LateralSurfaceConstraint self) -> std::string"""
3733  return _IMP_core.LateralSurfaceConstraint___repr__(self)
3734 
3735  @staticmethod
3736  def get_from(o):
3737  return _object_cast_to_LateralSurfaceConstraint(o)
3738 
3739 
3740 # Register LateralSurfaceConstraint in _IMP_core:
3741 _IMP_core.LateralSurfaceConstraint_swigregister(LateralSurfaceConstraint)
3742 class AngleTripletScore(IMP.TripletScore):
3743  r"""Proxy of C++ IMP::core::AngleTripletScore class."""
3744 
3745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3746 
3747  def __init__(self, *args):
3748  r"""
3749  __init__(AngleTripletScore self, UnaryFunction f) -> AngleTripletScore
3750  __init__(AngleTripletScore self) -> AngleTripletScore
3751  """
3752  _IMP_core.AngleTripletScore_swiginit(self, _IMP_core.new_AngleTripletScore(*args))
3753 
3754  def do_get_inputs(self, m, pis):
3755  r"""do_get_inputs(AngleTripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3756  return _IMP_core.AngleTripletScore_do_get_inputs(self, m, pis)
3757 
3758  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3759  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"""
3760  return _IMP_core.AngleTripletScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3761 
3762  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3763  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"""
3764  return _IMP_core.AngleTripletScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3765 
3766  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3767  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"""
3768  return _IMP_core.AngleTripletScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3769 
3770  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3771  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"""
3772  return _IMP_core.AngleTripletScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3773 
3774  def get_version_info(self):
3775  r"""get_version_info(AngleTripletScore self) -> VersionInfo"""
3776  return _IMP_core.AngleTripletScore_get_version_info(self)
3777  __swig_destroy__ = _IMP_core.delete_AngleTripletScore
3778 
3779  def __str__(self):
3780  r"""__str__(AngleTripletScore self) -> std::string"""
3781  return _IMP_core.AngleTripletScore___str__(self)
3782 
3783  def __repr__(self):
3784  r"""__repr__(AngleTripletScore self) -> std::string"""
3785  return _IMP_core.AngleTripletScore___repr__(self)
3786 
3787  @staticmethod
3788  def get_from(o):
3789  return _object_cast_to_AngleTripletScore(o)
3790 
3791 
3792  def _get_as_binary(self):
3793  r"""_get_as_binary(AngleTripletScore self) -> PyObject *"""
3794  return _IMP_core.AngleTripletScore__get_as_binary(self)
3795 
3796  def _set_from_binary(self, p):
3797  r"""_set_from_binary(AngleTripletScore self, PyObject * p)"""
3798  return _IMP_core.AngleTripletScore__set_from_binary(self, p)
3799 
3800  def __getstate__(self):
3801  p = self._get_as_binary()
3802  if len(self.__dict__) > 1:
3803  d = self.__dict__.copy()
3804  del d['this']
3805  p = (d, p)
3806  return p
3807 
3808  def __setstate__(self, p):
3809  if not hasattr(self, 'this'):
3810  self.__init__()
3811  if isinstance(p, tuple):
3812  d, p = p
3813  self.__dict__.update(d)
3814  return self._set_from_binary(p)
3815 
3816 
3817 # Register AngleTripletScore in _IMP_core:
3818 _IMP_core.AngleTripletScore_swigregister(AngleTripletScore)
3819 class BallMover(MonteCarloMover):
3820  r"""Proxy of C++ IMP::core::BallMover class."""
3821 
3822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3823 
3824  def __init__(self, *args):
3825  r"""
3826  __init__(BallMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double radius) -> BallMover
3827  __init__(BallMover self, Model m, ParticleIndex pi, double radius) -> BallMover
3828  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::FloatKeys const & vars, IMP::Float radius) -> BallMover
3829  __init__(BallMover self, Model m, IMP::ParticleIndexes const & pis, IMP::Float radius) -> BallMover
3830  __init__(BallMover self) -> BallMover
3831  """
3832  _IMP_core.BallMover_swiginit(self, _IMP_core.new_BallMover(*args))
3833 
3834  def set_radius(self, radius):
3835  r"""set_radius(BallMover self, IMP::Float radius)"""
3836  return _IMP_core.BallMover_set_radius(self, radius)
3837 
3838  def get_radius(self):
3839  r"""get_radius(BallMover self) -> IMP::Float"""
3840  return _IMP_core.BallMover_get_radius(self)
3841 
3842  def get_indexes(self):
3843  r"""get_indexes(BallMover self) -> IMP::ParticleIndexes"""
3844  return _IMP_core.BallMover_get_indexes(self)
3845 
3846  def get_keys(self):
3847  r"""get_keys(BallMover self) -> IMP::FloatKeys"""
3848  return _IMP_core.BallMover_get_keys(self)
3849 
3850  def get_version_info(self):
3851  r"""get_version_info(BallMover self) -> VersionInfo"""
3852  return _IMP_core.BallMover_get_version_info(self)
3853  __swig_destroy__ = _IMP_core.delete_BallMover
3854 
3855  def __str__(self):
3856  r"""__str__(BallMover self) -> std::string"""
3857  return _IMP_core.BallMover___str__(self)
3858 
3859  def __repr__(self):
3860  r"""__repr__(BallMover self) -> std::string"""
3861  return _IMP_core.BallMover___repr__(self)
3862 
3863  @staticmethod
3864  def get_from(o):
3865  return _object_cast_to_BallMover(o)
3866 
3867 
3868  def _get_as_binary(self):
3869  r"""_get_as_binary(BallMover self) -> PyObject *"""
3870  return _IMP_core.BallMover__get_as_binary(self)
3871 
3872  def _set_from_binary(self, p):
3873  r"""_set_from_binary(BallMover self, PyObject * p)"""
3874  return _IMP_core.BallMover__set_from_binary(self, p)
3875 
3876  def __getstate__(self):
3877  p = self._get_as_binary()
3878  if len(self.__dict__) > 1:
3879  d = self.__dict__.copy()
3880  del d['this']
3881  p = (d, p)
3882  return p
3883 
3884  def __setstate__(self, p):
3885  if not hasattr(self, 'this'):
3886  self.__init__()
3887  if isinstance(p, tuple):
3888  d, p = p
3889  self.__dict__.update(d)
3890  return self._set_from_binary(p)
3891 
3892 
3893  def _get_jax(self, space):
3894  import jax.random
3895  from IMP.algebra._jax_util import get_random_vector_in_3d_sphere
3896  indexes = self.get_indexes()
3897  keys = frozenset(self.get_keys())
3898  if keys == frozenset(IMP.core.XYZ.get_xyz_keys()):
3899  intcoord = False
3900  elif keys == frozenset(
3902  intcoord = True
3903  else:
3904  raise NotImplementedError(
3905  "Only works for XYZ or internal coordinates")
3906  radius = self.get_radius()
3907 
3908  def init_func(key):
3909  return key
3910 
3911  def propose_func(jm, key):
3912  key, subkey = jax.random.split(key)
3913  v = get_random_vector_in_3d_sphere(subkey, radius)
3914  if intcoord:
3915  rbs = jm['rigid_bodies']
3916  rbs.intcoord = space.shift_indexes(rbs.intcoord, indexes, v)
3917  else:
3918  jm['xyz'] = space.shift_indexes(jm['xyz'], indexes, v)
3919  return jm, key, 1.0
3920  return self._wrap_jax(init_func, propose_func,
3921  keys=['rigid_bodies'] if intcoord else None)
3922 
3923 
3924 # Register BallMover in _IMP_core:
3925 _IMP_core.BallMover_swigregister(BallMover)
3926 class SerialMover(MonteCarloMover):
3927  r"""Proxy of C++ IMP::core::SerialMover class."""
3928 
3929  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3930 
3931  def __init__(self, *args):
3932  r"""
3933  __init__(SerialMover self, IMP::core::MonteCarloMoversTemp const & mvs) -> SerialMover
3934  __init__(SerialMover self) -> SerialMover
3935  """
3936  _IMP_core.SerialMover_swiginit(self, _IMP_core.new_SerialMover(*args))
3937 
3938  def get_movers(self):
3939  r"""get_movers(SerialMover self) -> IMP::core::MonteCarloMovers const &"""
3940  return _IMP_core.SerialMover_get_movers(self)
3941 
3942  def get_version_info(self):
3943  r"""get_version_info(SerialMover self) -> VersionInfo"""
3944  return _IMP_core.SerialMover_get_version_info(self)
3945  __swig_destroy__ = _IMP_core.delete_SerialMover
3946 
3947  def __str__(self):
3948  r"""__str__(SerialMover self) -> std::string"""
3949  return _IMP_core.SerialMover___str__(self)
3950 
3951  def __repr__(self):
3952  r"""__repr__(SerialMover self) -> std::string"""
3953  return _IMP_core.SerialMover___repr__(self)
3954 
3955  @staticmethod
3956  def get_from(o):
3957  return _object_cast_to_SerialMover(o)
3958 
3959 
3960  def _get_as_binary(self):
3961  r"""_get_as_binary(SerialMover self) -> PyObject *"""
3962  return _IMP_core.SerialMover__get_as_binary(self)
3963 
3964  def _set_from_binary(self, p):
3965  r"""_set_from_binary(SerialMover self, PyObject * p)"""
3966  return _IMP_core.SerialMover__set_from_binary(self, p)
3967 
3968  def __getstate__(self):
3969  p = self._get_as_binary()
3970  if len(self.__dict__) > 1:
3971  d = self.__dict__.copy()
3972  del d['this']
3973  p = (d, p)
3974  return p
3975 
3976  def __setstate__(self, p):
3977  if not hasattr(self, 'this'):
3978  self.__init__()
3979  if isinstance(p, tuple):
3980  d, p = p
3981  self.__dict__.update(d)
3982  return self._set_from_binary(p)
3983 
3984 
3985  def _get_jax(self, space):
3986  import jax.random
3987  import jax.lax
3988  import jax.numpy as jnp
3989  from IMP.core._jax_util import _SerialMover
3990  movers = [m.get_derived_object()._get_jax(space)
3991  for m in self.get_movers()]
3992 
3993  def sub_propose_func(jm, sms, i):
3994  """Call the propose_func of the ith mover"""
3995  jm, sms.mover_state[i], ratio = movers[i].propose_func(
3996  jm, sms.mover_state[i])
3997  sms.proposed_mover_steps = sms.proposed_mover_steps.at[i].add(1)
3998  return jm, sms, ratio
3999 
4000  sub_propose_funcs = [functools.partial(sub_propose_func, i=i)
4001  for i in range(len(movers))]
4002 
4003  def init_func(key):
4004  # Initialize all movers and store their state in ours
4005  mover_state = []
4006  for m in movers:
4007  key, subkey = jax.random.split(key)
4008  mover_state.append(m.init_func(subkey))
4009  return _SerialMover(
4010  imov=-1, mover_state=mover_state,
4011  proposed_mover_steps=jnp.zeros(len(movers), dtype=int),
4012  accepted_mover_steps=jnp.zeros(len(movers), dtype=int))
4013 
4014  def reset_stats_func(sms):
4015  sms.mover_state = [m.reset_stats_func(ms)
4016  if m.reset_stats_func else ms
4017  for (m, ms) in zip(movers, sms.mover_state)]
4018  sms.proposed_mover_steps = jnp.zeros(len(movers), dtype=int)
4019  sms.accepted_mover_steps = jnp.zeros(len(movers), dtype=int)
4020  return sms
4021 
4022  def propose_func(jm, sms):
4023  sms.imov = jnp.mod(sms.imov + 1, len(movers))
4024  return jax.lax.switch(sms.imov, sub_propose_funcs, jm, sms)
4025 
4026  def accept_func(sms):
4027  # Update statistics for the chosen mover
4028  sms.accepted_mover_steps = \
4029  sms.accepted_mover_steps.at[sms.imov].add(1)
4030  return sms
4031 
4032  def sync_func(imp_mover, sms):
4033  # Copy submover statistics back to IMP Movers
4034  for i, mover in enumerate(imp_mover.get_movers()):
4035  mover.add_to_statistics(
4036  sms.proposed_mover_steps[i],
4037  sms.proposed_mover_steps[i] - sms.accepted_mover_steps[i])
4038 
4039  return self._wrap_jax(
4040  init_func, propose_func, accept_func, sync_func,
4041  reset_stats_func=reset_stats_func,
4042  keys=frozenset(x for m in movers for x in m._keys))
4043 
4044 
4045 # Register SerialMover in _IMP_core:
4046 _IMP_core.SerialMover_swigregister(SerialMover)
4047 class SubsetMover(MonteCarloMover):
4048  r"""Proxy of C++ IMP::core::SubsetMover class."""
4049 
4050  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4051 
4052  def __init__(self, *args):
4053  r"""
4054  __init__(SubsetMover self, IMP::core::MonteCarloMoversTemp const & mvs, unsigned int n) -> SubsetMover
4055  __init__(SubsetMover self) -> SubsetMover
4056  """
4057  _IMP_core.SubsetMover_swiginit(self, _IMP_core.new_SubsetMover(*args))
4058 
4059  def get_movers(self):
4060  r"""get_movers(SubsetMover self) -> IMP::core::MonteCarloMovers const &"""
4061  return _IMP_core.SubsetMover_get_movers(self)
4062 
4063  def get_subset_size(self):
4064  r"""get_subset_size(SubsetMover self) -> unsigned int"""
4065  return _IMP_core.SubsetMover_get_subset_size(self)
4066 
4067  def get_version_info(self):
4068  r"""get_version_info(SubsetMover self) -> VersionInfo"""
4069  return _IMP_core.SubsetMover_get_version_info(self)
4070  __swig_destroy__ = _IMP_core.delete_SubsetMover
4071 
4072  def __str__(self):
4073  r"""__str__(SubsetMover self) -> std::string"""
4074  return _IMP_core.SubsetMover___str__(self)
4075 
4076  def __repr__(self):
4077  r"""__repr__(SubsetMover self) -> std::string"""
4078  return _IMP_core.SubsetMover___repr__(self)
4079 
4080  @staticmethod
4081  def get_from(o):
4082  return _object_cast_to_SubsetMover(o)
4083 
4084 
4085  def _get_as_binary(self):
4086  r"""_get_as_binary(SubsetMover self) -> PyObject *"""
4087  return _IMP_core.SubsetMover__get_as_binary(self)
4088 
4089  def _set_from_binary(self, p):
4090  r"""_set_from_binary(SubsetMover self, PyObject * p)"""
4091  return _IMP_core.SubsetMover__set_from_binary(self, p)
4092 
4093  def __getstate__(self):
4094  p = self._get_as_binary()
4095  if len(self.__dict__) > 1:
4096  d = self.__dict__.copy()
4097  del d['this']
4098  p = (d, p)
4099  return p
4100 
4101  def __setstate__(self, p):
4102  if not hasattr(self, 'this'):
4103  self.__init__()
4104  if isinstance(p, tuple):
4105  d, p = p
4106  self.__dict__.update(d)
4107  return self._set_from_binary(p)
4108 
4109 
4110 # Register SubsetMover in _IMP_core:
4111 _IMP_core.SubsetMover_swigregister(SubsetMover)
4112 class DirectionMover(MonteCarloMover):
4113  r"""Proxy of C++ IMP::core::DirectionMover class."""
4114 
4115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4116 
4117  def __init__(self, *args):
4118  r"""
4119  __init__(DirectionMover self, Model m, ParticleIndex pi, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4120  __init__(DirectionMover self, Direction d, IMP::Float max_rotation, IMP::Float reflect_probability) -> DirectionMover
4121  __init__(DirectionMover self) -> DirectionMover
4122  """
4123  _IMP_core.DirectionMover_swiginit(self, _IMP_core.new_DirectionMover(*args))
4124 
4125  def set_maximum_rotation(self, mr):
4126  r"""set_maximum_rotation(DirectionMover self, IMP::Float mr)"""
4127  return _IMP_core.DirectionMover_set_maximum_rotation(self, mr)
4128 
4129  def set_reflect_probability(self, rp):
4130  r"""set_reflect_probability(DirectionMover self, IMP::Float rp)"""
4131  return _IMP_core.DirectionMover_set_reflect_probability(self, rp)
4132 
4133  def get_maximum_rotation(self):
4134  r"""get_maximum_rotation(DirectionMover self) -> IMP::Float"""
4135  return _IMP_core.DirectionMover_get_maximum_rotation(self)
4136 
4137  def get_reflect_probability(self):
4138  r"""get_reflect_probability(DirectionMover self) -> IMP::Float"""
4139  return _IMP_core.DirectionMover_get_reflect_probability(self)
4140 
4141  def get_direction(self):
4142  r"""get_direction(DirectionMover self) -> Direction"""
4143  return _IMP_core.DirectionMover_get_direction(self)
4144 
4145  def get_version_info(self):
4146  r"""get_version_info(DirectionMover self) -> VersionInfo"""
4147  return _IMP_core.DirectionMover_get_version_info(self)
4148  __swig_destroy__ = _IMP_core.delete_DirectionMover
4149 
4150  def __str__(self):
4151  r"""__str__(DirectionMover self) -> std::string"""
4152  return _IMP_core.DirectionMover___str__(self)
4153 
4154  def __repr__(self):
4155  r"""__repr__(DirectionMover self) -> std::string"""
4156  return _IMP_core.DirectionMover___repr__(self)
4157 
4158  @staticmethod
4159  def get_from(o):
4160  return _object_cast_to_DirectionMover(o)
4161 
4162 
4163  def _get_as_binary(self):
4164  r"""_get_as_binary(DirectionMover self) -> PyObject *"""
4165  return _IMP_core.DirectionMover__get_as_binary(self)
4166 
4167  def _set_from_binary(self, p):
4168  r"""_set_from_binary(DirectionMover self, PyObject * p)"""
4169  return _IMP_core.DirectionMover__set_from_binary(self, p)
4170 
4171  def __getstate__(self):
4172  p = self._get_as_binary()
4173  if len(self.__dict__) > 1:
4174  d = self.__dict__.copy()
4175  del d['this']
4176  p = (d, p)
4177  return p
4178 
4179  def __setstate__(self, p):
4180  if not hasattr(self, 'this'):
4181  self.__init__()
4182  if isinstance(p, tuple):
4183  d, p = p
4184  self.__dict__.update(d)
4185  return self._set_from_binary(p)
4186 
4187 
4188 # Register DirectionMover in _IMP_core:
4189 _IMP_core.DirectionMover_swigregister(DirectionMover)
4190 class SurfaceMover(MonteCarloMover):
4191  r"""Proxy of C++ IMP::core::SurfaceMover class."""
4192 
4193  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4194 
4195  def __init__(self, *args):
4196  r"""
4197  __init__(SurfaceMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4198  __init__(SurfaceMover self, Surface s, IMP::Float max_translation, IMP::Float max_rotation, IMP::Float reflect_probability) -> SurfaceMover
4199  __init__(SurfaceMover self) -> SurfaceMover
4200  """
4201  _IMP_core.SurfaceMover_swiginit(self, _IMP_core.new_SurfaceMover(*args))
4202 
4203  def set_maximum_translation(self, mt):
4204  r"""set_maximum_translation(SurfaceMover self, IMP::Float mt)"""
4205  return _IMP_core.SurfaceMover_set_maximum_translation(self, mt)
4206 
4207  def set_maximum_rotation(self, mr):
4208  r"""set_maximum_rotation(SurfaceMover self, IMP::Float mr)"""
4209  return _IMP_core.SurfaceMover_set_maximum_rotation(self, mr)
4210 
4211  def set_reflect_probability(self, rp):
4212  r"""set_reflect_probability(SurfaceMover self, IMP::Float rp)"""
4213  return _IMP_core.SurfaceMover_set_reflect_probability(self, rp)
4214 
4215  def get_maximum_translation(self):
4216  r"""get_maximum_translation(SurfaceMover self) -> IMP::Float"""
4217  return _IMP_core.SurfaceMover_get_maximum_translation(self)
4218 
4219  def get_maximum_rotation(self):
4220  r"""get_maximum_rotation(SurfaceMover self) -> IMP::Float"""
4221  return _IMP_core.SurfaceMover_get_maximum_rotation(self)
4222 
4223  def get_reflect_probability(self):
4224  r"""get_reflect_probability(SurfaceMover self) -> IMP::Float"""
4225  return _IMP_core.SurfaceMover_get_reflect_probability(self)
4226 
4227  def get_surface(self):
4228  r"""get_surface(SurfaceMover self) -> Surface"""
4229  return _IMP_core.SurfaceMover_get_surface(self)
4230 
4231  def get_version_info(self):
4232  r"""get_version_info(SurfaceMover self) -> VersionInfo"""
4233  return _IMP_core.SurfaceMover_get_version_info(self)
4234  __swig_destroy__ = _IMP_core.delete_SurfaceMover
4235 
4236  def __str__(self):
4237  r"""__str__(SurfaceMover self) -> std::string"""
4238  return _IMP_core.SurfaceMover___str__(self)
4239 
4240  def __repr__(self):
4241  r"""__repr__(SurfaceMover self) -> std::string"""
4242  return _IMP_core.SurfaceMover___repr__(self)
4243 
4244  @staticmethod
4245  def get_from(o):
4246  return _object_cast_to_SurfaceMover(o)
4247 
4248 
4249  def _get_as_binary(self):
4250  r"""_get_as_binary(SurfaceMover self) -> PyObject *"""
4251  return _IMP_core.SurfaceMover__get_as_binary(self)
4252 
4253  def _set_from_binary(self, p):
4254  r"""_set_from_binary(SurfaceMover self, PyObject * p)"""
4255  return _IMP_core.SurfaceMover__set_from_binary(self, p)
4256 
4257  def __getstate__(self):
4258  p = self._get_as_binary()
4259  if len(self.__dict__) > 1:
4260  d = self.__dict__.copy()
4261  del d['this']
4262  p = (d, p)
4263  return p
4264 
4265  def __setstate__(self, p):
4266  if not hasattr(self, 'this'):
4267  self.__init__()
4268  if isinstance(p, tuple):
4269  d, p = p
4270  self.__dict__.update(d)
4271  return self._set_from_binary(p)
4272 
4273 
4274 # Register SurfaceMover in _IMP_core:
4275 _IMP_core.SurfaceMover_swigregister(SurfaceMover)
4276 class BoxSweepClosePairsFinder(ClosePairsFinder):
4277  r"""Proxy of C++ IMP::core::BoxSweepClosePairsFinder class."""
4278 
4279  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4280 
4281  def __init__(self):
4282  r"""__init__(BoxSweepClosePairsFinder self) -> BoxSweepClosePairsFinder"""
4283  _IMP_core.BoxSweepClosePairsFinder_swiginit(self, _IMP_core.new_BoxSweepClosePairsFinder())
4284 
4285  def get_close_pairs(self, *args):
4286  r"""
4287  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4288  get_close_pairs(BoxSweepClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
4289  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
4290  get_close_pairs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
4291  """
4292  return _IMP_core.BoxSweepClosePairsFinder_get_close_pairs(self, *args)
4293 
4294  def do_get_inputs(self, m, pis):
4295  r"""do_get_inputs(BoxSweepClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4296  return _IMP_core.BoxSweepClosePairsFinder_do_get_inputs(self, m, pis)
4297 
4298  def get_version_info(self):
4299  r"""get_version_info(BoxSweepClosePairsFinder self) -> VersionInfo"""
4300  return _IMP_core.BoxSweepClosePairsFinder_get_version_info(self)
4301  __swig_destroy__ = _IMP_core.delete_BoxSweepClosePairsFinder
4302 
4303  def __str__(self):
4304  r"""__str__(BoxSweepClosePairsFinder self) -> std::string"""
4305  return _IMP_core.BoxSweepClosePairsFinder___str__(self)
4306 
4307  def __repr__(self):
4308  r"""__repr__(BoxSweepClosePairsFinder self) -> std::string"""
4309  return _IMP_core.BoxSweepClosePairsFinder___repr__(self)
4310 
4311  @staticmethod
4312  def get_from(o):
4313  return _object_cast_to_BoxSweepClosePairsFinder(o)
4314 
4315 
4316 # Register BoxSweepClosePairsFinder in _IMP_core:
4317 _IMP_core.BoxSweepClosePairsFinder_swigregister(BoxSweepClosePairsFinder)
4318 class CentroidOfRefined(IMP.SingletonModifier):
4319  r"""Proxy of C++ IMP::core::CentroidOfRefined class."""
4320 
4321  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4322 
4323  def __init__(self, *args):
4324  r"""
4325  __init__(CentroidOfRefined self, Refiner r, FloatKey weight=IMP::FloatKey(), IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> CentroidOfRefined
4326  __init__(CentroidOfRefined self) -> CentroidOfRefined
4327  """
4328  _IMP_core.CentroidOfRefined_swiginit(self, _IMP_core.new_CentroidOfRefined(*args))
4329 
4330  def get_refiner(self):
4331  r"""get_refiner(CentroidOfRefined self) -> Refiner"""
4332  return _IMP_core.CentroidOfRefined_get_refiner(self)
4333 
4334  def get_weight(self):
4335  r"""get_weight(CentroidOfRefined self) -> FloatKey"""
4336  return _IMP_core.CentroidOfRefined_get_weight(self)
4337 
4338  def get_keys(self):
4339  r"""get_keys(CentroidOfRefined self) -> IMP::FloatKeys"""
4340  return _IMP_core.CentroidOfRefined_get_keys(self)
4341 
4342  def get_is_weight_null(self):
4343  r"""get_is_weight_null(CentroidOfRefined self) -> bool"""
4344  return _IMP_core.CentroidOfRefined_get_is_weight_null(self)
4345 
4346  def do_get_inputs(self, m, pis):
4347  r"""do_get_inputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4348  return _IMP_core.CentroidOfRefined_do_get_inputs(self, m, pis)
4349 
4350  def do_get_outputs(self, m, pis):
4351  r"""do_get_outputs(CentroidOfRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4352  return _IMP_core.CentroidOfRefined_do_get_outputs(self, m, pis)
4353 
4354  def get_version_info(self):
4355  r"""get_version_info(CentroidOfRefined self) -> VersionInfo"""
4356  return _IMP_core.CentroidOfRefined_get_version_info(self)
4357  __swig_destroy__ = _IMP_core.delete_CentroidOfRefined
4358 
4359  def __str__(self):
4360  r"""__str__(CentroidOfRefined self) -> std::string"""
4361  return _IMP_core.CentroidOfRefined___str__(self)
4362 
4363  def __repr__(self):
4364  r"""__repr__(CentroidOfRefined self) -> std::string"""
4365  return _IMP_core.CentroidOfRefined___repr__(self)
4366 
4367  @staticmethod
4368  def get_from(o):
4369  return _object_cast_to_CentroidOfRefined(o)
4370 
4371 
4372  def _get_as_binary(self):
4373  r"""_get_as_binary(CentroidOfRefined self) -> PyObject *"""
4374  return _IMP_core.CentroidOfRefined__get_as_binary(self)
4375 
4376  def _set_from_binary(self, p):
4377  r"""_set_from_binary(CentroidOfRefined self, PyObject * p)"""
4378  return _IMP_core.CentroidOfRefined__set_from_binary(self, p)
4379 
4380  def __getstate__(self):
4381  p = self._get_as_binary()
4382  if len(self.__dict__) > 1:
4383  d = self.__dict__.copy()
4384  del d['this']
4385  p = (d, p)
4386  return p
4387 
4388  def __setstate__(self, p):
4389  if not hasattr(self, 'this'):
4390  self.__init__()
4391  if isinstance(p, tuple):
4392  d, p = p
4393  self.__dict__.update(d)
4394  return self._set_from_binary(p)
4395 
4396 
4397  def _get_jax(self, m, indexes):
4398  import jax.numpy as jnp
4399  refined = [
4400  self.get_refiner().get_refined_indexes(m, IMP.ParticleIndex(index))
4401  for index in indexes]
4402 
4403  def apply_func_unweighted(jm):
4404  for ind, ref in zip(indexes, refined):
4405  xyz = jm['xyz']
4406  jm['xyz'] = xyz.at[ind].set(jnp.average(xyz[ref], axis=0))
4407  return jm
4408 
4409  def apply_func_weighted(jm, weight_key):
4410  for ind, ref in zip(indexes, refined):
4411  xyz = jm['xyz']
4412  weights = jm[weight_key][ref]
4413  jm['xyz'] = xyz.at[ind].set(
4414  jnp.average(xyz[ref], axis=0, weights=weights))
4415  return jm
4416 
4417  keys = frozenset(self.get_keys())
4418  if keys != frozenset(IMP.core.XYZ.get_xyz_keys()):
4419  raise NotImplementedError("Only works for XYZ")
4420 
4421  if self.get_is_weight_null():
4422  return self._wrap_jax(apply_func_unweighted)
4423  else:
4424  weight_key = self.get_weight()
4425  return self._wrap_jax(
4426  functools.partial(apply_func_weighted,
4427  weight_key=weight_key.get_string()),
4428  keys=(weight_key,))
4429 
4430 
4431 # Register CentroidOfRefined in _IMP_core:
4432 _IMP_core.CentroidOfRefined_swigregister(CentroidOfRefined)
4433 class Centroid(XYZ):
4434  r"""Proxy of C++ IMP::core::Centroid class."""
4435 
4436  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4437 
4438  def get_constraint(self):
4439  r"""get_constraint(Centroid self) -> Constraint"""
4440  return _IMP_core.Centroid_get_constraint(self)
4441 
4442  def __init__(self, *args):
4443  r"""
4444  __init__(Centroid self) -> Centroid
4445  __init__(Centroid self, Model m, ParticleIndex id) -> Centroid
4446  __init__(Centroid self, _ParticleAdaptor d) -> Centroid
4447  """
4448  _IMP_core.Centroid_swiginit(self, _IMP_core.new_Centroid(*args))
4449 
4450  def show(self, *args):
4451  r"""show(Centroid self, _ostream out=std::cout)"""
4452  return _IMP_core.Centroid_show(self, *args)
4453 
4454  @staticmethod
4455  def setup_particle(*args):
4456  r"""
4457  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Centroid
4458  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Centroid
4459  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Centroid
4460  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Centroid
4461  """
4462  return _IMP_core.Centroid_setup_particle(*args)
4463 
4464  @staticmethod
4465  def get_is_setup(*args):
4466  r"""
4467  get_is_setup(_ParticleAdaptor p) -> bool
4468  get_is_setup(Model m, ParticleIndex pi) -> bool
4469  """
4470  return _IMP_core.Centroid_get_is_setup(*args)
4471 
4472  def add_attribute(self, *args):
4473  r"""
4474  add_attribute(Centroid self, FloatKey k, IMP::Float v, bool opt)
4475  add_attribute(Centroid self, FloatKey a0, IMP::Float a1)
4476  add_attribute(Centroid self, IntKey a0, IMP::Int a1)
4477  add_attribute(Centroid self, FloatsKey a0, IMP::Floats a1)
4478  add_attribute(Centroid self, IntsKey a0, IMP::Ints a1)
4479  add_attribute(Centroid self, StringKey a0, IMP::String a1)
4480  add_attribute(Centroid self, ParticleIndexKey a0, Particle a1)
4481  add_attribute(Centroid self, ObjectKey a0, Object a1)
4482  add_attribute(Centroid self, SparseFloatKey a0, IMP::Float a1)
4483  add_attribute(Centroid self, SparseIntKey a0, IMP::Int a1)
4484  add_attribute(Centroid self, SparseStringKey a0, IMP::String a1)
4485  add_attribute(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4486  """
4487  return _IMP_core.Centroid_add_attribute(self, *args)
4488 
4489  def get_value(self, *args):
4490  r"""
4491  get_value(Centroid self, FloatKey a0) -> IMP::Float
4492  get_value(Centroid self, IntKey a0) -> IMP::Int
4493  get_value(Centroid self, FloatsKey a0) -> IMP::Floats
4494  get_value(Centroid self, IntsKey a0) -> IMP::Ints
4495  get_value(Centroid self, StringKey a0) -> IMP::String
4496  get_value(Centroid self, ParticleIndexKey a0) -> Particle
4497  get_value(Centroid self, ObjectKey a0) -> Object
4498  get_value(Centroid self, SparseFloatKey a0) -> IMP::Float
4499  get_value(Centroid self, SparseIntKey a0) -> IMP::Int
4500  get_value(Centroid self, SparseStringKey a0) -> IMP::String
4501  get_value(Centroid self, SparseParticleIndexKey a0) -> ParticleIndex
4502  """
4503  return _IMP_core.Centroid_get_value(self, *args)
4504 
4505  def set_value(self, *args):
4506  r"""
4507  set_value(Centroid self, FloatKey a0, IMP::Float a1)
4508  set_value(Centroid self, IntKey a0, IMP::Int a1)
4509  set_value(Centroid self, FloatsKey a0, IMP::Floats a1)
4510  set_value(Centroid self, IntsKey a0, IMP::Ints a1)
4511  set_value(Centroid self, StringKey a0, IMP::String a1)
4512  set_value(Centroid self, ParticleIndexKey a0, Particle a1)
4513  set_value(Centroid self, ObjectKey a0, Object a1)
4514  set_value(Centroid self, SparseFloatKey a0, IMP::Float a1)
4515  set_value(Centroid self, SparseIntKey a0, IMP::Int a1)
4516  set_value(Centroid self, SparseStringKey a0, IMP::String a1)
4517  set_value(Centroid self, SparseParticleIndexKey a0, ParticleIndex a1)
4518  """
4519  return _IMP_core.Centroid_set_value(self, *args)
4520 
4521  def remove_attribute(self, *args):
4522  r"""
4523  remove_attribute(Centroid self, FloatKey a0)
4524  remove_attribute(Centroid self, IntKey a0)
4525  remove_attribute(Centroid self, FloatsKey a0)
4526  remove_attribute(Centroid self, IntsKey a0)
4527  remove_attribute(Centroid self, StringKey a0)
4528  remove_attribute(Centroid self, ParticleIndexKey a0)
4529  remove_attribute(Centroid self, ObjectKey a0)
4530  remove_attribute(Centroid self, SparseFloatKey a0)
4531  remove_attribute(Centroid self, SparseIntKey a0)
4532  remove_attribute(Centroid self, SparseStringKey a0)
4533  remove_attribute(Centroid self, SparseParticleIndexKey a0)
4534  """
4535  return _IMP_core.Centroid_remove_attribute(self, *args)
4536 
4537  def has_attribute(self, *args):
4538  r"""
4539  has_attribute(Centroid self, FloatKey a0) -> bool
4540  has_attribute(Centroid self, IntKey a0) -> bool
4541  has_attribute(Centroid self, FloatsKey a0) -> bool
4542  has_attribute(Centroid self, IntsKey a0) -> bool
4543  has_attribute(Centroid self, StringKey a0) -> bool
4544  has_attribute(Centroid self, ParticleIndexKey a0) -> bool
4545  has_attribute(Centroid self, ObjectKey a0) -> bool
4546  has_attribute(Centroid self, SparseFloatKey a0) -> bool
4547  has_attribute(Centroid self, SparseIntKey a0) -> bool
4548  has_attribute(Centroid self, SparseStringKey a0) -> bool
4549  has_attribute(Centroid self, SparseParticleIndexKey a0) -> bool
4550  """
4551  return _IMP_core.Centroid_has_attribute(self, *args)
4552 
4553  def get_derivative(self, a0):
4554  r"""get_derivative(Centroid self, FloatKey a0) -> double"""
4555  return _IMP_core.Centroid_get_derivative(self, a0)
4556 
4557  def get_name(self):
4558  r"""get_name(Centroid self) -> std::string"""
4559  return _IMP_core.Centroid_get_name(self)
4560 
4561  def clear_caches(self):
4562  r"""clear_caches(Centroid self)"""
4563  return _IMP_core.Centroid_clear_caches(self)
4564 
4565  def set_name(self, a0):
4566  r"""set_name(Centroid self, std::string a0)"""
4567  return _IMP_core.Centroid_set_name(self, a0)
4568 
4569  def set_check_level(self, a0):
4570  r"""set_check_level(Centroid self, IMP::CheckLevel a0)"""
4571  return _IMP_core.Centroid_set_check_level(self, a0)
4572 
4573  def add_to_derivative(self, a0, a1, a2):
4574  r"""add_to_derivative(Centroid self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4575  return _IMP_core.Centroid_add_to_derivative(self, a0, a1, a2)
4576 
4577  def set_is_optimized(self, a0, a1):
4578  r"""set_is_optimized(Centroid self, FloatKey a0, bool a1)"""
4579  return _IMP_core.Centroid_set_is_optimized(self, a0, a1)
4580 
4581  def get_is_optimized(self, a0):
4582  r"""get_is_optimized(Centroid self, FloatKey a0) -> bool"""
4583  return _IMP_core.Centroid_get_is_optimized(self, a0)
4584 
4585  def get_check_level(self):
4586  r"""get_check_level(Centroid self) -> IMP::CheckLevel"""
4587  return _IMP_core.Centroid_get_check_level(self)
4588 
4589  def __eq__(self, *args):
4590  r"""
4591  __eq__(Centroid self, Centroid o) -> bool
4592  __eq__(Centroid self, Particle d) -> bool
4593  """
4594  return _IMP_core.Centroid___eq__(self, *args)
4595 
4596  def __ne__(self, *args):
4597  r"""
4598  __ne__(Centroid self, Centroid o) -> bool
4599  __ne__(Centroid self, Particle d) -> bool
4600  """
4601  return _IMP_core.Centroid___ne__(self, *args)
4602 
4603  def __le__(self, *args):
4604  r"""
4605  __le__(Centroid self, Centroid o) -> bool
4606  __le__(Centroid self, Particle d) -> bool
4607  """
4608  return _IMP_core.Centroid___le__(self, *args)
4609 
4610  def __lt__(self, *args):
4611  r"""
4612  __lt__(Centroid self, Centroid o) -> bool
4613  __lt__(Centroid self, Particle d) -> bool
4614  """
4615  return _IMP_core.Centroid___lt__(self, *args)
4616 
4617  def __ge__(self, *args):
4618  r"""
4619  __ge__(Centroid self, Centroid o) -> bool
4620  __ge__(Centroid self, Particle d) -> bool
4621  """
4622  return _IMP_core.Centroid___ge__(self, *args)
4623 
4624  def __gt__(self, *args):
4625  r"""
4626  __gt__(Centroid self, Centroid o) -> bool
4627  __gt__(Centroid self, Particle d) -> bool
4628  """
4629  return _IMP_core.Centroid___gt__(self, *args)
4630 
4631  def __hash__(self):
4632  r"""__hash__(Centroid self) -> std::size_t"""
4633  return _IMP_core.Centroid___hash__(self)
4634 
4635  def __str__(self):
4636  r"""__str__(Centroid self) -> std::string"""
4637  return _IMP_core.Centroid___str__(self)
4638 
4639  def __repr__(self):
4640  r"""__repr__(Centroid self) -> std::string"""
4641  return _IMP_core.Centroid___repr__(self)
4642 
4643  def _get_as_binary(self):
4644  r"""_get_as_binary(Centroid self) -> PyObject *"""
4645  return _IMP_core.Centroid__get_as_binary(self)
4646 
4647  def _set_from_binary(self, p):
4648  r"""_set_from_binary(Centroid self, PyObject * p)"""
4649  return _IMP_core.Centroid__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  __swig_destroy__ = _IMP_core.delete_Centroid
4668 
4669 # Register Centroid in _IMP_core:
4670 _IMP_core.Centroid_swigregister(Centroid)
4671 class ChecksScoreState(IMP.ScoreState):
4672  r"""Proxy of C++ IMP::core::ChecksScoreState class."""
4673 
4674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4675 
4676  def __init__(self, *args):
4677  r"""
4678  __init__(ChecksScoreState self, Model m, double probability) -> ChecksScoreState
4679  __init__(ChecksScoreState self) -> ChecksScoreState
4680  """
4681  _IMP_core.ChecksScoreState_swiginit(self, _IMP_core.new_ChecksScoreState(*args))
4682 
4683  def get_number_of_checked(self):
4684  r"""get_number_of_checked(ChecksScoreState self) -> unsigned int"""
4685  return _IMP_core.ChecksScoreState_get_number_of_checked(self)
4686 
4687  def do_before_evaluate(self):
4688  r"""do_before_evaluate(ChecksScoreState self)"""
4689  return _IMP_core.ChecksScoreState_do_before_evaluate(self)
4690 
4691  def do_after_evaluate(self, da):
4692  r"""do_after_evaluate(ChecksScoreState self, DerivativeAccumulator da)"""
4693  return _IMP_core.ChecksScoreState_do_after_evaluate(self, da)
4694 
4695  def do_get_outputs(self):
4696  r"""do_get_outputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4697  return _IMP_core.ChecksScoreState_do_get_outputs(self)
4698 
4699  def do_get_inputs(self):
4700  r"""do_get_inputs(ChecksScoreState self) -> IMP::ModelObjectsTemp"""
4701  return _IMP_core.ChecksScoreState_do_get_inputs(self)
4702 
4703  def get_version_info(self):
4704  r"""get_version_info(ChecksScoreState self) -> VersionInfo"""
4705  return _IMP_core.ChecksScoreState_get_version_info(self)
4706  __swig_destroy__ = _IMP_core.delete_ChecksScoreState
4707 
4708  def __str__(self):
4709  r"""__str__(ChecksScoreState self) -> std::string"""
4710  return _IMP_core.ChecksScoreState___str__(self)
4711 
4712  def __repr__(self):
4713  r"""__repr__(ChecksScoreState self) -> std::string"""
4714  return _IMP_core.ChecksScoreState___repr__(self)
4715 
4716  @staticmethod
4717  def get_from(o):
4718  return _object_cast_to_ChecksScoreState(o)
4719 
4720 
4721  def _get_as_binary(self):
4722  r"""_get_as_binary(ChecksScoreState self) -> PyObject *"""
4723  return _IMP_core.ChecksScoreState__get_as_binary(self)
4724 
4725  def _set_from_binary(self, p):
4726  r"""_set_from_binary(ChecksScoreState self, PyObject * p)"""
4727  return _IMP_core.ChecksScoreState__set_from_binary(self, p)
4728 
4729  def __getstate__(self):
4730  p = self._get_as_binary()
4731  if len(self.__dict__) > 1:
4732  d = self.__dict__.copy()
4733  del d['this']
4734  p = (d, p)
4735  return p
4736 
4737  def __setstate__(self, p):
4738  if not hasattr(self, 'this'):
4739  self.__init__()
4740  if isinstance(p, tuple):
4741  d, p = p
4742  self.__dict__.update(d)
4743  return self._set_from_binary(p)
4744 
4745 
4746 # Register ChecksScoreState in _IMP_core:
4747 _IMP_core.ChecksScoreState_swigregister(ChecksScoreState)
4748 class ChildrenRefiner(IMP.Refiner):
4749  r"""Proxy of C++ IMP::core::ChildrenRefiner class."""
4750 
4751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4752 
4753  def __init__(self, tr):
4754  r"""__init__(ChildrenRefiner self, HierarchyTraits tr) -> ChildrenRefiner"""
4755  _IMP_core.ChildrenRefiner_swiginit(self, _IMP_core.new_ChildrenRefiner(tr))
4756 
4757  def do_get_inputs(self, m, pis):
4758  r"""do_get_inputs(ChildrenRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4759  return _IMP_core.ChildrenRefiner_do_get_inputs(self, m, pis)
4760 
4761  def get_version_info(self):
4762  r"""get_version_info(ChildrenRefiner self) -> VersionInfo"""
4763  return _IMP_core.ChildrenRefiner_get_version_info(self)
4764  __swig_destroy__ = _IMP_core.delete_ChildrenRefiner
4765 
4766  def __str__(self):
4767  r"""__str__(ChildrenRefiner self) -> std::string"""
4768  return _IMP_core.ChildrenRefiner___str__(self)
4769 
4770  def __repr__(self):
4771  r"""__repr__(ChildrenRefiner self) -> std::string"""
4772  return _IMP_core.ChildrenRefiner___repr__(self)
4773 
4774  @staticmethod
4775  def get_from(o):
4776  return _object_cast_to_ChildrenRefiner(o)
4777 
4778 
4779 # Register ChildrenRefiner in _IMP_core:
4780 _IMP_core.ChildrenRefiner_swigregister(ChildrenRefiner)
4781 class ClosedCubicSpline(IMP.UnaryFunction):
4782  r"""Proxy of C++ IMP::core::ClosedCubicSpline class."""
4783 
4784  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4785 
4786  def __init__(self, values, minrange, spacing):
4787  r"""__init__(ClosedCubicSpline self, IMP::Floats const & values, double minrange, double spacing) -> ClosedCubicSpline"""
4788  _IMP_core.ClosedCubicSpline_swiginit(self, _IMP_core.new_ClosedCubicSpline(values, minrange, spacing))
4789 
4790  def get_version_info(self):
4791  r"""get_version_info(ClosedCubicSpline self) -> VersionInfo"""
4792  return _IMP_core.ClosedCubicSpline_get_version_info(self)
4793  __swig_destroy__ = _IMP_core.delete_ClosedCubicSpline
4794 
4795  def do_show(self, out):
4796  r"""do_show(ClosedCubicSpline self, _ostream out)"""
4797  return _IMP_core.ClosedCubicSpline_do_show(self, out)
4798 
4799  def get_minrange(self):
4800  r"""get_minrange(ClosedCubicSpline self) -> IMP::Float"""
4801  return _IMP_core.ClosedCubicSpline_get_minrange(self)
4802 
4803  def get_spacing(self):
4804  r"""get_spacing(ClosedCubicSpline self) -> IMP::Float"""
4805  return _IMP_core.ClosedCubicSpline_get_spacing(self)
4806 
4807  def get_values(self):
4808  r"""get_values(ClosedCubicSpline self) -> IMP::Floats"""
4809  return _IMP_core.ClosedCubicSpline_get_values(self)
4810 
4811  def get_second_derivatives(self):
4812  r"""get_second_derivatives(ClosedCubicSpline self) -> IMP::Floats"""
4813  return _IMP_core.ClosedCubicSpline_get_second_derivatives(self)
4814 
4815  def __str__(self):
4816  r"""__str__(ClosedCubicSpline self) -> std::string"""
4817  return _IMP_core.ClosedCubicSpline___str__(self)
4818 
4819  def __repr__(self):
4820  r"""__repr__(ClosedCubicSpline self) -> std::string"""
4821  return _IMP_core.ClosedCubicSpline___repr__(self)
4822 
4823  @staticmethod
4824  def get_from(o):
4825  return _object_cast_to_ClosedCubicSpline(o)
4826 
4827 
4828  def _get_jax(self):
4829  import jax.numpy as jnp
4830  from IMP.core._jax_util import _spline
4831  def score(feature, minrange, spacing, values, second_derivs):
4832  # determine bin index and thus the cubic fragment to use:
4833  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
4834  # enforce periodicity - wrap around from n to 0
4835  highbin = jnp.remainder(lowbin + 1, len(values))
4836  return _spline(feature, minrange, lowbin, highbin, spacing,
4837  values, second_derivs)
4838  return functools.partial(
4839  score, minrange=self.get_minrange(),
4840  spacing=self.get_spacing(), values=jnp.asarray(self.get_values()),
4841  second_derivs=jnp.asarray(self.get_second_derivatives()))
4842 
4843 
4844 # Register ClosedCubicSpline in _IMP_core:
4845 _IMP_core.ClosedCubicSpline_swigregister(ClosedCubicSpline)
4846 class KClosePairsPairScore(IMP.PairScore):
4847  r"""Proxy of C++ IMP::core::KClosePairsPairScore class."""
4848 
4849  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4850 
4851  def __init__(self, f, r, k=1):
4852  r"""__init__(KClosePairsPairScore self, PairScore f, Refiner r, int k=1) -> KClosePairsPairScore"""
4853  _IMP_core.KClosePairsPairScore_swiginit(self, _IMP_core.new_KClosePairsPairScore(f, r, k))
4854 
4855  def get_close_pairs(self, pp):
4856  r"""get_close_pairs(KClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4857  return _IMP_core.KClosePairsPairScore_get_close_pairs(self, pp)
4858 
4859  def create_current_decomposition(self, m, vt):
4860  r"""create_current_decomposition(KClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4861  return _IMP_core.KClosePairsPairScore_create_current_decomposition(self, m, vt)
4862 
4863  def do_get_inputs(self, m, pis):
4864  r"""do_get_inputs(KClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4865  return _IMP_core.KClosePairsPairScore_do_get_inputs(self, m, pis)
4866 
4867  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4868  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"""
4869  return _IMP_core.KClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4870 
4871  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4872  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"""
4873  return _IMP_core.KClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4874 
4875  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4876  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"""
4877  return _IMP_core.KClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4878 
4879  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4880  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"""
4881  return _IMP_core.KClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4882 
4883  def get_version_info(self):
4884  r"""get_version_info(KClosePairsPairScore self) -> VersionInfo"""
4885  return _IMP_core.KClosePairsPairScore_get_version_info(self)
4886  __swig_destroy__ = _IMP_core.delete_KClosePairsPairScore
4887 
4888  def __str__(self):
4889  r"""__str__(KClosePairsPairScore self) -> std::string"""
4890  return _IMP_core.KClosePairsPairScore___str__(self)
4891 
4892  def __repr__(self):
4893  r"""__repr__(KClosePairsPairScore self) -> std::string"""
4894  return _IMP_core.KClosePairsPairScore___repr__(self)
4895 
4896  @staticmethod
4897  def get_from(o):
4898  return _object_cast_to_KClosePairsPairScore(o)
4899 
4900 
4901 # Register KClosePairsPairScore in _IMP_core:
4902 _IMP_core.KClosePairsPairScore_swigregister(KClosePairsPairScore)
4903 class ClosePairsPairScore(IMP.PairScore):
4904  r"""Proxy of C++ IMP::core::ClosePairsPairScore class."""
4905 
4906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4907 
4908  def __init__(self, f, r, max_distance):
4909  r"""__init__(ClosePairsPairScore self, PairScore f, Refiner r, IMP::Float max_distance) -> ClosePairsPairScore"""
4910  _IMP_core.ClosePairsPairScore_swiginit(self, _IMP_core.new_ClosePairsPairScore(f, r, max_distance))
4911 
4912  def get_close_pairs(self, pp):
4913  r"""get_close_pairs(ClosePairsPairScore self, IMP::ParticlePair const & pp) -> IMP::ParticlePairsTemp"""
4914  return _IMP_core.ClosePairsPairScore_get_close_pairs(self, pp)
4915 
4916  def create_current_decomposition(self, m, vt):
4917  r"""create_current_decomposition(ClosePairsPairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
4918  return _IMP_core.ClosePairsPairScore_create_current_decomposition(self, m, vt)
4919 
4920  def do_get_inputs(self, m, pis):
4921  r"""do_get_inputs(ClosePairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4922  return _IMP_core.ClosePairsPairScore_do_get_inputs(self, m, pis)
4923 
4924  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4925  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"""
4926  return _IMP_core.ClosePairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4927 
4928  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4929  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"""
4930  return _IMP_core.ClosePairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4931 
4932  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4933  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"""
4934  return _IMP_core.ClosePairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4935 
4936  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4937  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"""
4938  return _IMP_core.ClosePairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4939 
4940  def get_version_info(self):
4941  r"""get_version_info(ClosePairsPairScore self) -> VersionInfo"""
4942  return _IMP_core.ClosePairsPairScore_get_version_info(self)
4943  __swig_destroy__ = _IMP_core.delete_ClosePairsPairScore
4944 
4945  def __str__(self):
4946  r"""__str__(ClosePairsPairScore self) -> std::string"""
4947  return _IMP_core.ClosePairsPairScore___str__(self)
4948 
4949  def __repr__(self):
4950  r"""__repr__(ClosePairsPairScore self) -> std::string"""
4951  return _IMP_core.ClosePairsPairScore___repr__(self)
4952 
4953  @staticmethod
4954  def get_from(o):
4955  return _object_cast_to_ClosePairsPairScore(o)
4956 
4957 
4958 # Register ClosePairsPairScore in _IMP_core:
4959 _IMP_core.ClosePairsPairScore_swigregister(ClosePairsPairScore)
4960 class ConjugateGradients(IMP.AttributeOptimizer):
4961  r"""Proxy of C++ IMP::core::ConjugateGradients class."""
4962 
4963  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4964 
4965  def __init__(self, *args):
4966  r"""
4967  __init__(ConjugateGradients self, Model m, std::string name="ConjugateGradients%1%") -> ConjugateGradients
4968  __init__(ConjugateGradients self) -> ConjugateGradients
4969  """
4970  _IMP_core.ConjugateGradients_swiginit(self, _IMP_core.new_ConjugateGradients(*args))
4971 
4972  def set_gradient_threshold(self, t):
4973  r"""set_gradient_threshold(ConjugateGradients self, IMP::Float t)"""
4974  return _IMP_core.ConjugateGradients_set_gradient_threshold(self, t)
4975 
4976  def set_max_change(self, t):
4977  r"""set_max_change(ConjugateGradients self, IMP::Float t)"""
4978  return _IMP_core.ConjugateGradients_set_max_change(self, t)
4979 
4980  def do_optimize(self, max_steps):
4981  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
4982  return _IMP_core.ConjugateGradients_do_optimize(self, max_steps)
4983 
4984  def get_version_info(self):
4985  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
4986  return _IMP_core.ConjugateGradients_get_version_info(self)
4987  __swig_destroy__ = _IMP_core.delete_ConjugateGradients
4988 
4989  def __str__(self):
4990  r"""__str__(ConjugateGradients self) -> std::string"""
4991  return _IMP_core.ConjugateGradients___str__(self)
4992 
4993  def __repr__(self):
4994  r"""__repr__(ConjugateGradients self) -> std::string"""
4995  return _IMP_core.ConjugateGradients___repr__(self)
4996 
4997  @staticmethod
4998  def get_from(o):
4999  return _object_cast_to_ConjugateGradients(o)
5000 
5001 
5002  def _get_as_binary(self):
5003  r"""_get_as_binary(ConjugateGradients self) -> PyObject *"""
5004  return _IMP_core.ConjugateGradients__get_as_binary(self)
5005 
5006  def _set_from_binary(self, p):
5007  r"""_set_from_binary(ConjugateGradients self, PyObject * p)"""
5008  return _IMP_core.ConjugateGradients__set_from_binary(self, p)
5009 
5010  def __getstate__(self):
5011  p = self._get_as_binary()
5012  if len(self.__dict__) > 1:
5013  d = self.__dict__.copy()
5014  del d['this']
5015  p = (d, p)
5016  return p
5017 
5018  def __setstate__(self, p):
5019  if not hasattr(self, 'this'):
5020  self.__init__()
5021  if isinstance(p, tuple):
5022  d, p = p
5023  self.__dict__.update(d)
5024  return self._set_from_binary(p)
5025 
5026 
5027 # Register ConjugateGradients in _IMP_core:
5028 _IMP_core.ConjugateGradients_swigregister(ConjugateGradients)
5029 class ConnectivityRestraint(IMP.Restraint):
5030  r"""Proxy of C++ IMP::core::ConnectivityRestraint class."""
5031 
5032  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5033 
5034  def __init__(self, ps, sc):
5035  r"""__init__(ConnectivityRestraint self, PairScore ps, _SingletonContainerAdaptor sc) -> ConnectivityRestraint"""
5036  _IMP_core.ConnectivityRestraint_swiginit(self, _IMP_core.new_ConnectivityRestraint(ps, sc))
5037 
5038  def get_connected_index_pairs(self):
5039  r"""get_connected_index_pairs(ConnectivityRestraint self) -> IMP::ParticleIndexPairs"""
5040  return _IMP_core.ConnectivityRestraint_get_connected_index_pairs(self)
5041 
5042  def get_pair_score(self):
5043  r"""get_pair_score(ConnectivityRestraint self) -> PairScore"""
5044  return _IMP_core.ConnectivityRestraint_get_pair_score(self)
5045 
5046  def do_create_current_decomposition(self):
5047  r"""do_create_current_decomposition(ConnectivityRestraint self) -> IMP::Restraints"""
5048  return _IMP_core.ConnectivityRestraint_do_create_current_decomposition(self)
5049 
5050  def do_get_inputs(self):
5051  r"""do_get_inputs(ConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
5052  return _IMP_core.ConnectivityRestraint_do_get_inputs(self)
5053 
5054  def get_version_info(self):
5055  r"""get_version_info(ConnectivityRestraint self) -> VersionInfo"""
5056  return _IMP_core.ConnectivityRestraint_get_version_info(self)
5057  __swig_destroy__ = _IMP_core.delete_ConnectivityRestraint
5058 
5059  def __str__(self):
5060  r"""__str__(ConnectivityRestraint self) -> std::string"""
5061  return _IMP_core.ConnectivityRestraint___str__(self)
5062 
5063  def __repr__(self):
5064  r"""__repr__(ConnectivityRestraint self) -> std::string"""
5065  return _IMP_core.ConnectivityRestraint___repr__(self)
5066 
5067  @staticmethod
5068  def get_from(o):
5069  return _object_cast_to_ConnectivityRestraint(o)
5070 
5071 
5072 # Register ConnectivityRestraint in _IMP_core:
5073 _IMP_core.ConnectivityRestraint_swigregister(ConnectivityRestraint)
5074 class ConstantRestraint(IMP.Restraint):
5075  r"""Proxy of C++ IMP::core::ConstantRestraint class."""
5076 
5077  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5078 
5079  def __init__(self, *args):
5080  r"""
5081  __init__(ConstantRestraint self, Model m, IMP::Float v) -> ConstantRestraint
5082  __init__(ConstantRestraint self) -> ConstantRestraint
5083  """
5084  _IMP_core.ConstantRestraint_swiginit(self, _IMP_core.new_ConstantRestraint(*args))
5085 
5086  def do_get_inputs(self):
5087  r"""do_get_inputs(ConstantRestraint self) -> IMP::ModelObjectsTemp"""
5088  return _IMP_core.ConstantRestraint_do_get_inputs(self)
5089 
5090  def get_version_info(self):
5091  r"""get_version_info(ConstantRestraint self) -> VersionInfo"""
5092  return _IMP_core.ConstantRestraint_get_version_info(self)
5093  __swig_destroy__ = _IMP_core.delete_ConstantRestraint
5094 
5095  def __str__(self):
5096  r"""__str__(ConstantRestraint self) -> std::string"""
5097  return _IMP_core.ConstantRestraint___str__(self)
5098 
5099  def __repr__(self):
5100  r"""__repr__(ConstantRestraint self) -> std::string"""
5101  return _IMP_core.ConstantRestraint___repr__(self)
5102 
5103  @staticmethod
5104  def get_from(o):
5105  return _object_cast_to_ConstantRestraint(o)
5106 
5107 
5108  def _get_as_binary(self):
5109  r"""_get_as_binary(ConstantRestraint self) -> PyObject *"""
5110  return _IMP_core.ConstantRestraint__get_as_binary(self)
5111 
5112  def _set_from_binary(self, p):
5113  r"""_set_from_binary(ConstantRestraint self, PyObject * p)"""
5114  return _IMP_core.ConstantRestraint__set_from_binary(self, p)
5115 
5116  def __getstate__(self):
5117  p = self._get_as_binary()
5118  if len(self.__dict__) > 1:
5119  d = self.__dict__.copy()
5120  del d['this']
5121  p = (d, p)
5122  return p
5123 
5124  def __setstate__(self, p):
5125  if not hasattr(self, 'this'):
5126  self.__init__()
5127  if isinstance(p, tuple):
5128  d, p = p
5129  self.__dict__.update(d)
5130  return self._set_from_binary(p)
5131 
5132 
5133 # Register ConstantRestraint in _IMP_core:
5134 _IMP_core.ConstantRestraint_swigregister(ConstantRestraint)
5135 class Cosine(IMP.UnaryFunction):
5136  r"""Proxy of C++ IMP::core::Cosine class."""
5137 
5138  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5139 
5140  def __init__(self, *args):
5141  r"""
5142  __init__(Cosine self, IMP::Float force_constant, int periodicity, IMP::Float phase) -> Cosine
5143  __init__(Cosine self) -> Cosine
5144  """
5145  _IMP_core.Cosine_swiginit(self, _IMP_core.new_Cosine(*args))
5146 
5147  def get_force_constant(self):
5148  r"""get_force_constant(Cosine self) -> IMP::Float"""
5149  return _IMP_core.Cosine_get_force_constant(self)
5150 
5151  def get_periodicity(self):
5152  r"""get_periodicity(Cosine self) -> int"""
5153  return _IMP_core.Cosine_get_periodicity(self)
5154 
5155  def get_phase(self):
5156  r"""get_phase(Cosine self) -> IMP::Float"""
5157  return _IMP_core.Cosine_get_phase(self)
5158 
5159  def get_version_info(self):
5160  r"""get_version_info(Cosine self) -> VersionInfo"""
5161  return _IMP_core.Cosine_get_version_info(self)
5162  __swig_destroy__ = _IMP_core.delete_Cosine
5163 
5164  def do_show(self, out):
5165  r"""do_show(Cosine self, _ostream out)"""
5166  return _IMP_core.Cosine_do_show(self, out)
5167 
5168  def __str__(self):
5169  r"""__str__(Cosine self) -> std::string"""
5170  return _IMP_core.Cosine___str__(self)
5171 
5172  def __repr__(self):
5173  r"""__repr__(Cosine self) -> std::string"""
5174  return _IMP_core.Cosine___repr__(self)
5175 
5176  @staticmethod
5177  def get_from(o):
5178  return _object_cast_to_Cosine(o)
5179 
5180 
5181  def _get_as_binary(self):
5182  r"""_get_as_binary(Cosine self) -> PyObject *"""
5183  return _IMP_core.Cosine__get_as_binary(self)
5184 
5185  def _set_from_binary(self, p):
5186  r"""_set_from_binary(Cosine self, PyObject * p)"""
5187  return _IMP_core.Cosine__set_from_binary(self, p)
5188 
5189  def __getstate__(self):
5190  p = self._get_as_binary()
5191  if len(self.__dict__) > 1:
5192  d = self.__dict__.copy()
5193  del d['this']
5194  p = (d, p)
5195  return p
5196 
5197  def __setstate__(self, p):
5198  if not hasattr(self, 'this'):
5199  self.__init__()
5200  if isinstance(p, tuple):
5201  d, p = p
5202  self.__dict__.update(d)
5203  return self._set_from_binary(p)
5204 
5205 
5206  def _get_jax(self):
5207  import jax.numpy as jnp
5208  def score(val, k, period, phase):
5209  return jnp.abs(k) - k * jnp.cos(period * val + phase)
5210  return functools.partial(score, k=self.get_force_constant(),
5211  period=self.get_periodicity(),
5212  phase=self.get_phase())
5213 
5214 
5215 # Register Cosine in _IMP_core:
5216 _IMP_core.Cosine_swigregister(Cosine)
5217 class CoverRefined(IMP.SingletonModifier):
5218  r"""Proxy of C++ IMP::core::CoverRefined class."""
5219 
5220  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5221 
5222  def __init__(self, ref, slack=0):
5223  r"""__init__(CoverRefined self, Refiner ref, IMP::Float slack=0) -> CoverRefined"""
5224  _IMP_core.CoverRefined_swiginit(self, _IMP_core.new_CoverRefined(ref, slack))
5225 
5226  def set_slack(self, slack):
5227  r"""set_slack(CoverRefined self, IMP::Float slack)"""
5228  return _IMP_core.CoverRefined_set_slack(self, slack)
5229 
5230  def do_get_inputs(self, m, pis):
5231  r"""do_get_inputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5232  return _IMP_core.CoverRefined_do_get_inputs(self, m, pis)
5233 
5234  def do_get_outputs(self, m, pis):
5235  r"""do_get_outputs(CoverRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5236  return _IMP_core.CoverRefined_do_get_outputs(self, m, pis)
5237 
5238  def get_version_info(self):
5239  r"""get_version_info(CoverRefined self) -> VersionInfo"""
5240  return _IMP_core.CoverRefined_get_version_info(self)
5241  __swig_destroy__ = _IMP_core.delete_CoverRefined
5242 
5243  def __str__(self):
5244  r"""__str__(CoverRefined self) -> std::string"""
5245  return _IMP_core.CoverRefined___str__(self)
5246 
5247  def __repr__(self):
5248  r"""__repr__(CoverRefined self) -> std::string"""
5249  return _IMP_core.CoverRefined___repr__(self)
5250 
5251  @staticmethod
5252  def get_from(o):
5253  return _object_cast_to_CoverRefined(o)
5254 
5255 
5256 # Register CoverRefined in _IMP_core:
5257 _IMP_core.CoverRefined_swigregister(CoverRefined)
5258 class Cover(XYZR):
5259  r"""Proxy of C++ IMP::core::Cover class."""
5260 
5261  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5262 
5263  def get_constraint(self):
5264  r"""get_constraint(Cover self) -> Constraint"""
5265  return _IMP_core.Cover_get_constraint(self)
5266 
5267  def __init__(self, *args):
5268  r"""
5269  __init__(Cover self) -> Cover
5270  __init__(Cover self, Model m, ParticleIndex id) -> Cover
5271  __init__(Cover self, _ParticleAdaptor d) -> Cover
5272  """
5273  _IMP_core.Cover_swiginit(self, _IMP_core.new_Cover(*args))
5274 
5275  def show(self, *args):
5276  r"""show(Cover self, _ostream out=std::cout)"""
5277  return _IMP_core.Cover_show(self, *args)
5278 
5279  @staticmethod
5280  def setup_particle(*args):
5281  r"""
5282  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> Cover
5283  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> Cover
5284  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> Cover
5285  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> Cover
5286  """
5287  return _IMP_core.Cover_setup_particle(*args)
5288 
5289  @staticmethod
5290  def get_is_setup(*args):
5291  r"""
5292  get_is_setup(_ParticleAdaptor p) -> bool
5293  get_is_setup(Model m, ParticleIndex pi) -> bool
5294  """
5295  return _IMP_core.Cover_get_is_setup(*args)
5296 
5297  def add_attribute(self, *args):
5298  r"""
5299  add_attribute(Cover self, FloatKey k, IMP::Float v, bool opt)
5300  add_attribute(Cover self, FloatKey a0, IMP::Float a1)
5301  add_attribute(Cover self, IntKey a0, IMP::Int a1)
5302  add_attribute(Cover self, FloatsKey a0, IMP::Floats a1)
5303  add_attribute(Cover self, IntsKey a0, IMP::Ints a1)
5304  add_attribute(Cover self, StringKey a0, IMP::String a1)
5305  add_attribute(Cover self, ParticleIndexKey a0, Particle a1)
5306  add_attribute(Cover self, ObjectKey a0, Object a1)
5307  add_attribute(Cover self, SparseFloatKey a0, IMP::Float a1)
5308  add_attribute(Cover self, SparseIntKey a0, IMP::Int a1)
5309  add_attribute(Cover self, SparseStringKey a0, IMP::String a1)
5310  add_attribute(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5311  """
5312  return _IMP_core.Cover_add_attribute(self, *args)
5313 
5314  def get_value(self, *args):
5315  r"""
5316  get_value(Cover self, FloatKey a0) -> IMP::Float
5317  get_value(Cover self, IntKey a0) -> IMP::Int
5318  get_value(Cover self, FloatsKey a0) -> IMP::Floats
5319  get_value(Cover self, IntsKey a0) -> IMP::Ints
5320  get_value(Cover self, StringKey a0) -> IMP::String
5321  get_value(Cover self, ParticleIndexKey a0) -> Particle
5322  get_value(Cover self, ObjectKey a0) -> Object
5323  get_value(Cover self, SparseFloatKey a0) -> IMP::Float
5324  get_value(Cover self, SparseIntKey a0) -> IMP::Int
5325  get_value(Cover self, SparseStringKey a0) -> IMP::String
5326  get_value(Cover self, SparseParticleIndexKey a0) -> ParticleIndex
5327  """
5328  return _IMP_core.Cover_get_value(self, *args)
5329 
5330  def set_value(self, *args):
5331  r"""
5332  set_value(Cover self, FloatKey a0, IMP::Float a1)
5333  set_value(Cover self, IntKey a0, IMP::Int a1)
5334  set_value(Cover self, FloatsKey a0, IMP::Floats a1)
5335  set_value(Cover self, IntsKey a0, IMP::Ints a1)
5336  set_value(Cover self, StringKey a0, IMP::String a1)
5337  set_value(Cover self, ParticleIndexKey a0, Particle a1)
5338  set_value(Cover self, ObjectKey a0, Object a1)
5339  set_value(Cover self, SparseFloatKey a0, IMP::Float a1)
5340  set_value(Cover self, SparseIntKey a0, IMP::Int a1)
5341  set_value(Cover self, SparseStringKey a0, IMP::String a1)
5342  set_value(Cover self, SparseParticleIndexKey a0, ParticleIndex a1)
5343  """
5344  return _IMP_core.Cover_set_value(self, *args)
5345 
5346  def remove_attribute(self, *args):
5347  r"""
5348  remove_attribute(Cover self, FloatKey a0)
5349  remove_attribute(Cover self, IntKey a0)
5350  remove_attribute(Cover self, FloatsKey a0)
5351  remove_attribute(Cover self, IntsKey a0)
5352  remove_attribute(Cover self, StringKey a0)
5353  remove_attribute(Cover self, ParticleIndexKey a0)
5354  remove_attribute(Cover self, ObjectKey a0)
5355  remove_attribute(Cover self, SparseFloatKey a0)
5356  remove_attribute(Cover self, SparseIntKey a0)
5357  remove_attribute(Cover self, SparseStringKey a0)
5358  remove_attribute(Cover self, SparseParticleIndexKey a0)
5359  """
5360  return _IMP_core.Cover_remove_attribute(self, *args)
5361 
5362  def has_attribute(self, *args):
5363  r"""
5364  has_attribute(Cover self, FloatKey a0) -> bool
5365  has_attribute(Cover self, IntKey a0) -> bool
5366  has_attribute(Cover self, FloatsKey a0) -> bool
5367  has_attribute(Cover self, IntsKey a0) -> bool
5368  has_attribute(Cover self, StringKey a0) -> bool
5369  has_attribute(Cover self, ParticleIndexKey a0) -> bool
5370  has_attribute(Cover self, ObjectKey a0) -> bool
5371  has_attribute(Cover self, SparseFloatKey a0) -> bool
5372  has_attribute(Cover self, SparseIntKey a0) -> bool
5373  has_attribute(Cover self, SparseStringKey a0) -> bool
5374  has_attribute(Cover self, SparseParticleIndexKey a0) -> bool
5375  """
5376  return _IMP_core.Cover_has_attribute(self, *args)
5377 
5378  def get_derivative(self, a0):
5379  r"""get_derivative(Cover self, FloatKey a0) -> double"""
5380  return _IMP_core.Cover_get_derivative(self, a0)
5381 
5382  def get_name(self):
5383  r"""get_name(Cover self) -> std::string"""
5384  return _IMP_core.Cover_get_name(self)
5385 
5386  def clear_caches(self):
5387  r"""clear_caches(Cover self)"""
5388  return _IMP_core.Cover_clear_caches(self)
5389 
5390  def set_name(self, a0):
5391  r"""set_name(Cover self, std::string a0)"""
5392  return _IMP_core.Cover_set_name(self, a0)
5393 
5394  def set_check_level(self, a0):
5395  r"""set_check_level(Cover self, IMP::CheckLevel a0)"""
5396  return _IMP_core.Cover_set_check_level(self, a0)
5397 
5398  def add_to_derivative(self, a0, a1, a2):
5399  r"""add_to_derivative(Cover self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5400  return _IMP_core.Cover_add_to_derivative(self, a0, a1, a2)
5401 
5402  def set_is_optimized(self, a0, a1):
5403  r"""set_is_optimized(Cover self, FloatKey a0, bool a1)"""
5404  return _IMP_core.Cover_set_is_optimized(self, a0, a1)
5405 
5406  def get_is_optimized(self, a0):
5407  r"""get_is_optimized(Cover self, FloatKey a0) -> bool"""
5408  return _IMP_core.Cover_get_is_optimized(self, a0)
5409 
5410  def get_check_level(self):
5411  r"""get_check_level(Cover self) -> IMP::CheckLevel"""
5412  return _IMP_core.Cover_get_check_level(self)
5413 
5414  def __eq__(self, *args):
5415  r"""
5416  __eq__(Cover self, Cover o) -> bool
5417  __eq__(Cover self, Particle d) -> bool
5418  """
5419  return _IMP_core.Cover___eq__(self, *args)
5420 
5421  def __ne__(self, *args):
5422  r"""
5423  __ne__(Cover self, Cover o) -> bool
5424  __ne__(Cover self, Particle d) -> bool
5425  """
5426  return _IMP_core.Cover___ne__(self, *args)
5427 
5428  def __le__(self, *args):
5429  r"""
5430  __le__(Cover self, Cover o) -> bool
5431  __le__(Cover self, Particle d) -> bool
5432  """
5433  return _IMP_core.Cover___le__(self, *args)
5434 
5435  def __lt__(self, *args):
5436  r"""
5437  __lt__(Cover self, Cover o) -> bool
5438  __lt__(Cover self, Particle d) -> bool
5439  """
5440  return _IMP_core.Cover___lt__(self, *args)
5441 
5442  def __ge__(self, *args):
5443  r"""
5444  __ge__(Cover self, Cover o) -> bool
5445  __ge__(Cover self, Particle d) -> bool
5446  """
5447  return _IMP_core.Cover___ge__(self, *args)
5448 
5449  def __gt__(self, *args):
5450  r"""
5451  __gt__(Cover self, Cover o) -> bool
5452  __gt__(Cover self, Particle d) -> bool
5453  """
5454  return _IMP_core.Cover___gt__(self, *args)
5455 
5456  def __hash__(self):
5457  r"""__hash__(Cover self) -> std::size_t"""
5458  return _IMP_core.Cover___hash__(self)
5459 
5460  def __str__(self):
5461  r"""__str__(Cover self) -> std::string"""
5462  return _IMP_core.Cover___str__(self)
5463 
5464  def __repr__(self):
5465  r"""__repr__(Cover self) -> std::string"""
5466  return _IMP_core.Cover___repr__(self)
5467 
5468  def _get_as_binary(self):
5469  r"""_get_as_binary(Cover self) -> PyObject *"""
5470  return _IMP_core.Cover__get_as_binary(self)
5471 
5472  def _set_from_binary(self, p):
5473  r"""_set_from_binary(Cover self, PyObject * p)"""
5474  return _IMP_core.Cover__set_from_binary(self, p)
5475 
5476  def __getstate__(self):
5477  p = self._get_as_binary()
5478  if len(self.__dict__) > 1:
5479  d = self.__dict__.copy()
5480  del d['this']
5481  p = (d, p)
5482  return p
5483 
5484  def __setstate__(self, p):
5485  if not hasattr(self, 'this'):
5486  self.__init__()
5487  if isinstance(p, tuple):
5488  d, p = p
5489  self.__dict__.update(d)
5490  return self._set_from_binary(p)
5491 
5492  __swig_destroy__ = _IMP_core.delete_Cover
5493 
5494 # Register Cover in _IMP_core:
5495 _IMP_core.Cover_swigregister(Cover)
5496 class DerivativesFromRefined(IMP.SingletonModifier):
5497  r"""Proxy of C++ IMP::core::DerivativesFromRefined class."""
5498 
5499  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5500 
5501  def __init__(self, *args):
5502  r"""__init__(DerivativesFromRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesFromRefined"""
5503  _IMP_core.DerivativesFromRefined_swiginit(self, _IMP_core.new_DerivativesFromRefined(*args))
5504 
5505  def do_get_inputs(self, m, pis):
5506  r"""do_get_inputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5507  return _IMP_core.DerivativesFromRefined_do_get_inputs(self, m, pis)
5508 
5509  def do_get_outputs(self, m, pis):
5510  r"""do_get_outputs(DerivativesFromRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5511  return _IMP_core.DerivativesFromRefined_do_get_outputs(self, m, pis)
5512 
5513  def get_version_info(self):
5514  r"""get_version_info(DerivativesFromRefined self) -> VersionInfo"""
5515  return _IMP_core.DerivativesFromRefined_get_version_info(self)
5516  __swig_destroy__ = _IMP_core.delete_DerivativesFromRefined
5517 
5518  def __str__(self):
5519  r"""__str__(DerivativesFromRefined self) -> std::string"""
5520  return _IMP_core.DerivativesFromRefined___str__(self)
5521 
5522  def __repr__(self):
5523  r"""__repr__(DerivativesFromRefined self) -> std::string"""
5524  return _IMP_core.DerivativesFromRefined___repr__(self)
5525 
5526  @staticmethod
5527  def get_from(o):
5528  return _object_cast_to_DerivativesFromRefined(o)
5529 
5530 
5531 # Register DerivativesFromRefined in _IMP_core:
5532 _IMP_core.DerivativesFromRefined_swigregister(DerivativesFromRefined)
5533 class DerivativesToRefined(IMP.SingletonModifier):
5534  r"""Proxy of C++ IMP::core::DerivativesToRefined 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__(DerivativesToRefined self, Refiner r, IMP::FloatKeys ks=IMP::core::XYZ::get_xyz_keys()) -> DerivativesToRefined
5541  __init__(DerivativesToRefined self) -> DerivativesToRefined
5542  """
5543  _IMP_core.DerivativesToRefined_swiginit(self, _IMP_core.new_DerivativesToRefined(*args))
5544 
5545  def do_get_inputs(self, m, pis):
5546  r"""do_get_inputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5547  return _IMP_core.DerivativesToRefined_do_get_inputs(self, m, pis)
5548 
5549  def do_get_outputs(self, m, pis):
5550  r"""do_get_outputs(DerivativesToRefined self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5551  return _IMP_core.DerivativesToRefined_do_get_outputs(self, m, pis)
5552 
5553  def get_version_info(self):
5554  r"""get_version_info(DerivativesToRefined self) -> VersionInfo"""
5555  return _IMP_core.DerivativesToRefined_get_version_info(self)
5556  __swig_destroy__ = _IMP_core.delete_DerivativesToRefined
5557 
5558  def __str__(self):
5559  r"""__str__(DerivativesToRefined self) -> std::string"""
5560  return _IMP_core.DerivativesToRefined___str__(self)
5561 
5562  def __repr__(self):
5563  r"""__repr__(DerivativesToRefined self) -> std::string"""
5564  return _IMP_core.DerivativesToRefined___repr__(self)
5565 
5566  @staticmethod
5567  def get_from(o):
5568  return _object_cast_to_DerivativesToRefined(o)
5569 
5570 
5571  def _get_as_binary(self):
5572  r"""_get_as_binary(DerivativesToRefined self) -> PyObject *"""
5573  return _IMP_core.DerivativesToRefined__get_as_binary(self)
5574 
5575  def _set_from_binary(self, p):
5576  r"""_set_from_binary(DerivativesToRefined self, PyObject * p)"""
5577  return _IMP_core.DerivativesToRefined__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 DerivativesToRefined in _IMP_core:
5597 _IMP_core.DerivativesToRefined_swigregister(DerivativesToRefined)
5598 class DiameterRestraint(IMP.Restraint):
5599  r"""Proxy of C++ IMP::core::DiameterRestraint 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, f, sc, diameter):
5604  r"""__init__(DiameterRestraint self, UnaryFunction f, SingletonContainer sc, IMP::Float diameter) -> DiameterRestraint"""
5605  _IMP_core.DiameterRestraint_swiginit(self, _IMP_core.new_DiameterRestraint(f, sc, diameter))
5606 
5607  def do_get_inputs(self):
5608  r"""do_get_inputs(DiameterRestraint self) -> IMP::ModelObjectsTemp"""
5609  return _IMP_core.DiameterRestraint_do_get_inputs(self)
5610 
5611  def get_version_info(self):
5612  r"""get_version_info(DiameterRestraint self) -> VersionInfo"""
5613  return _IMP_core.DiameterRestraint_get_version_info(self)
5614  __swig_destroy__ = _IMP_core.delete_DiameterRestraint
5615 
5616  def do_create_decomposition(self):
5617  r"""do_create_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5618  return _IMP_core.DiameterRestraint_do_create_decomposition(self)
5619 
5620  def do_create_current_decomposition(self):
5621  r"""do_create_current_decomposition(DiameterRestraint self) -> IMP::Restraints"""
5622  return _IMP_core.DiameterRestraint_do_create_current_decomposition(self)
5623 
5624  def __str__(self):
5625  r"""__str__(DiameterRestraint self) -> std::string"""
5626  return _IMP_core.DiameterRestraint___str__(self)
5627 
5628  def __repr__(self):
5629  r"""__repr__(DiameterRestraint self) -> std::string"""
5630  return _IMP_core.DiameterRestraint___repr__(self)
5631 
5632  @staticmethod
5633  def get_from(o):
5634  return _object_cast_to_DiameterRestraint(o)
5635 
5636 
5637 # Register DiameterRestraint in _IMP_core:
5638 _IMP_core.DiameterRestraint_swigregister(DiameterRestraint)
5639 class Transform(IMP.SingletonModifier):
5640  r"""Proxy of C++ IMP::core::Transform class."""
5641 
5642  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5643 
5644  def __init__(self, *args):
5645  r"""
5646  __init__(Transform self, Transformation3D t, bool ignore_non_xyz=False) -> Transform
5647  __init__(Transform self) -> Transform
5648  """
5649  _IMP_core.Transform_swiginit(self, _IMP_core.new_Transform(*args))
5650 
5651  def do_get_inputs(self, m, pis):
5652  r"""do_get_inputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5653  return _IMP_core.Transform_do_get_inputs(self, m, pis)
5654 
5655  def do_get_outputs(self, m, pis):
5656  r"""do_get_outputs(Transform self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5657  return _IMP_core.Transform_do_get_outputs(self, m, pis)
5658 
5659  def get_version_info(self):
5660  r"""get_version_info(Transform self) -> VersionInfo"""
5661  return _IMP_core.Transform_get_version_info(self)
5662  __swig_destroy__ = _IMP_core.delete_Transform
5663 
5664  def __str__(self):
5665  r"""__str__(Transform self) -> std::string"""
5666  return _IMP_core.Transform___str__(self)
5667 
5668  def __repr__(self):
5669  r"""__repr__(Transform self) -> std::string"""
5670  return _IMP_core.Transform___repr__(self)
5671 
5672  @staticmethod
5673  def get_from(o):
5674  return _object_cast_to_Transform(o)
5675 
5676 
5677  def _get_as_binary(self):
5678  r"""_get_as_binary(Transform self) -> PyObject *"""
5679  return _IMP_core.Transform__get_as_binary(self)
5680 
5681  def _set_from_binary(self, p):
5682  r"""_set_from_binary(Transform self, PyObject * p)"""
5683  return _IMP_core.Transform__set_from_binary(self, p)
5684 
5685  def __getstate__(self):
5686  p = self._get_as_binary()
5687  if len(self.__dict__) > 1:
5688  d = self.__dict__.copy()
5689  del d['this']
5690  p = (d, p)
5691  return p
5692 
5693  def __setstate__(self, p):
5694  if not hasattr(self, 'this'):
5695  self.__init__()
5696  if isinstance(p, tuple):
5697  d, p = p
5698  self.__dict__.update(d)
5699  return self._set_from_binary(p)
5700 
5701 
5702 # Register Transform in _IMP_core:
5703 _IMP_core.Transform_swigregister(Transform)
5704 class Reference(IMP.Decorator):
5705  r"""Proxy of C++ IMP::core::Reference class."""
5706 
5707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5708 
5709  def __init__(self, *args):
5710  r"""
5711  __init__(Reference self) -> Reference
5712  __init__(Reference self, Model m, ParticleIndex id) -> Reference
5713  __init__(Reference self, _ParticleAdaptor d) -> Reference
5714  """
5715  _IMP_core.Reference_swiginit(self, _IMP_core.new_Reference(*args))
5716 
5717  def show(self, *args):
5718  r"""show(Reference self, _ostream out=std::cout)"""
5719  return _IMP_core.Reference_show(self, *args)
5720 
5721  @staticmethod
5722  def setup_particle(*args):
5723  r"""
5724  setup_particle(Model m, ParticleIndex pi, _ParticleIndexAdaptor reference) -> Reference
5725  setup_particle(_ParticleAdaptor pa, _ParticleIndexAdaptor reference) -> Reference
5726  """
5727  return _IMP_core.Reference_setup_particle(*args)
5728 
5729  def get_reference_particle(self):
5730  r"""get_reference_particle(Reference self) -> Particle"""
5731  return _IMP_core.Reference_get_reference_particle(self)
5732 
5733  @staticmethod
5734  def get_is_setup(*args):
5735  r"""
5736  get_is_setup(_ParticleAdaptor p) -> bool
5737  get_is_setup(Model m, ParticleIndex pi) -> bool
5738  """
5739  return _IMP_core.Reference_get_is_setup(*args)
5740 
5741  @staticmethod
5742  def get_reference_key():
5743  r"""get_reference_key() -> ParticleIndexKey"""
5744  return _IMP_core.Reference_get_reference_key()
5745 
5746  def add_attribute(self, *args):
5747  r"""
5748  add_attribute(Reference self, FloatKey k, IMP::Float v, bool opt)
5749  add_attribute(Reference self, FloatKey a0, IMP::Float a1)
5750  add_attribute(Reference self, IntKey a0, IMP::Int a1)
5751  add_attribute(Reference self, FloatsKey a0, IMP::Floats a1)
5752  add_attribute(Reference self, IntsKey a0, IMP::Ints a1)
5753  add_attribute(Reference self, StringKey a0, IMP::String a1)
5754  add_attribute(Reference self, ParticleIndexKey a0, Particle a1)
5755  add_attribute(Reference self, ObjectKey a0, Object a1)
5756  add_attribute(Reference self, SparseFloatKey a0, IMP::Float a1)
5757  add_attribute(Reference self, SparseIntKey a0, IMP::Int a1)
5758  add_attribute(Reference self, SparseStringKey a0, IMP::String a1)
5759  add_attribute(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5760  """
5761  return _IMP_core.Reference_add_attribute(self, *args)
5762 
5763  def get_value(self, *args):
5764  r"""
5765  get_value(Reference self, FloatKey a0) -> IMP::Float
5766  get_value(Reference self, IntKey a0) -> IMP::Int
5767  get_value(Reference self, FloatsKey a0) -> IMP::Floats
5768  get_value(Reference self, IntsKey a0) -> IMP::Ints
5769  get_value(Reference self, StringKey a0) -> IMP::String
5770  get_value(Reference self, ParticleIndexKey a0) -> Particle
5771  get_value(Reference self, ObjectKey a0) -> Object
5772  get_value(Reference self, SparseFloatKey a0) -> IMP::Float
5773  get_value(Reference self, SparseIntKey a0) -> IMP::Int
5774  get_value(Reference self, SparseStringKey a0) -> IMP::String
5775  get_value(Reference self, SparseParticleIndexKey a0) -> ParticleIndex
5776  """
5777  return _IMP_core.Reference_get_value(self, *args)
5778 
5779  def set_value(self, *args):
5780  r"""
5781  set_value(Reference self, FloatKey a0, IMP::Float a1)
5782  set_value(Reference self, IntKey a0, IMP::Int a1)
5783  set_value(Reference self, FloatsKey a0, IMP::Floats a1)
5784  set_value(Reference self, IntsKey a0, IMP::Ints a1)
5785  set_value(Reference self, StringKey a0, IMP::String a1)
5786  set_value(Reference self, ParticleIndexKey a0, Particle a1)
5787  set_value(Reference self, ObjectKey a0, Object a1)
5788  set_value(Reference self, SparseFloatKey a0, IMP::Float a1)
5789  set_value(Reference self, SparseIntKey a0, IMP::Int a1)
5790  set_value(Reference self, SparseStringKey a0, IMP::String a1)
5791  set_value(Reference self, SparseParticleIndexKey a0, ParticleIndex a1)
5792  """
5793  return _IMP_core.Reference_set_value(self, *args)
5794 
5795  def remove_attribute(self, *args):
5796  r"""
5797  remove_attribute(Reference self, FloatKey a0)
5798  remove_attribute(Reference self, IntKey a0)
5799  remove_attribute(Reference self, FloatsKey a0)
5800  remove_attribute(Reference self, IntsKey a0)
5801  remove_attribute(Reference self, StringKey a0)
5802  remove_attribute(Reference self, ParticleIndexKey a0)
5803  remove_attribute(Reference self, ObjectKey a0)
5804  remove_attribute(Reference self, SparseFloatKey a0)
5805  remove_attribute(Reference self, SparseIntKey a0)
5806  remove_attribute(Reference self, SparseStringKey a0)
5807  remove_attribute(Reference self, SparseParticleIndexKey a0)
5808  """
5809  return _IMP_core.Reference_remove_attribute(self, *args)
5810 
5811  def has_attribute(self, *args):
5812  r"""
5813  has_attribute(Reference self, FloatKey a0) -> bool
5814  has_attribute(Reference self, IntKey a0) -> bool
5815  has_attribute(Reference self, FloatsKey a0) -> bool
5816  has_attribute(Reference self, IntsKey a0) -> bool
5817  has_attribute(Reference self, StringKey a0) -> bool
5818  has_attribute(Reference self, ParticleIndexKey a0) -> bool
5819  has_attribute(Reference self, ObjectKey a0) -> bool
5820  has_attribute(Reference self, SparseFloatKey a0) -> bool
5821  has_attribute(Reference self, SparseIntKey a0) -> bool
5822  has_attribute(Reference self, SparseStringKey a0) -> bool
5823  has_attribute(Reference self, SparseParticleIndexKey a0) -> bool
5824  """
5825  return _IMP_core.Reference_has_attribute(self, *args)
5826 
5827  def get_derivative(self, a0):
5828  r"""get_derivative(Reference self, FloatKey a0) -> double"""
5829  return _IMP_core.Reference_get_derivative(self, a0)
5830 
5831  def get_name(self):
5832  r"""get_name(Reference self) -> std::string"""
5833  return _IMP_core.Reference_get_name(self)
5834 
5835  def clear_caches(self):
5836  r"""clear_caches(Reference self)"""
5837  return _IMP_core.Reference_clear_caches(self)
5838 
5839  def set_name(self, a0):
5840  r"""set_name(Reference self, std::string a0)"""
5841  return _IMP_core.Reference_set_name(self, a0)
5842 
5843  def set_check_level(self, a0):
5844  r"""set_check_level(Reference self, IMP::CheckLevel a0)"""
5845  return _IMP_core.Reference_set_check_level(self, a0)
5846 
5847  def add_to_derivative(self, a0, a1, a2):
5848  r"""add_to_derivative(Reference self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5849  return _IMP_core.Reference_add_to_derivative(self, a0, a1, a2)
5850 
5851  def set_is_optimized(self, a0, a1):
5852  r"""set_is_optimized(Reference self, FloatKey a0, bool a1)"""
5853  return _IMP_core.Reference_set_is_optimized(self, a0, a1)
5854 
5855  def get_is_optimized(self, a0):
5856  r"""get_is_optimized(Reference self, FloatKey a0) -> bool"""
5857  return _IMP_core.Reference_get_is_optimized(self, a0)
5858 
5859  def get_check_level(self):
5860  r"""get_check_level(Reference self) -> IMP::CheckLevel"""
5861  return _IMP_core.Reference_get_check_level(self)
5862 
5863  def __eq__(self, *args):
5864  r"""
5865  __eq__(Reference self, Reference o) -> bool
5866  __eq__(Reference self, Particle d) -> bool
5867  """
5868  return _IMP_core.Reference___eq__(self, *args)
5869 
5870  def __ne__(self, *args):
5871  r"""
5872  __ne__(Reference self, Reference o) -> bool
5873  __ne__(Reference self, Particle d) -> bool
5874  """
5875  return _IMP_core.Reference___ne__(self, *args)
5876 
5877  def __le__(self, *args):
5878  r"""
5879  __le__(Reference self, Reference o) -> bool
5880  __le__(Reference self, Particle d) -> bool
5881  """
5882  return _IMP_core.Reference___le__(self, *args)
5883 
5884  def __lt__(self, *args):
5885  r"""
5886  __lt__(Reference self, Reference o) -> bool
5887  __lt__(Reference self, Particle d) -> bool
5888  """
5889  return _IMP_core.Reference___lt__(self, *args)
5890 
5891  def __ge__(self, *args):
5892  r"""
5893  __ge__(Reference self, Reference o) -> bool
5894  __ge__(Reference self, Particle d) -> bool
5895  """
5896  return _IMP_core.Reference___ge__(self, *args)
5897 
5898  def __gt__(self, *args):
5899  r"""
5900  __gt__(Reference self, Reference o) -> bool
5901  __gt__(Reference self, Particle d) -> bool
5902  """
5903  return _IMP_core.Reference___gt__(self, *args)
5904 
5905  def __hash__(self):
5906  r"""__hash__(Reference self) -> std::size_t"""
5907  return _IMP_core.Reference___hash__(self)
5908 
5909  def __str__(self):
5910  r"""__str__(Reference self) -> std::string"""
5911  return _IMP_core.Reference___str__(self)
5912 
5913  def __repr__(self):
5914  r"""__repr__(Reference self) -> std::string"""
5915  return _IMP_core.Reference___repr__(self)
5916 
5917  def _get_as_binary(self):
5918  r"""_get_as_binary(Reference self) -> PyObject *"""
5919  return _IMP_core.Reference__get_as_binary(self)
5920 
5921  def _set_from_binary(self, p):
5922  r"""_set_from_binary(Reference self, PyObject * p)"""
5923  return _IMP_core.Reference__set_from_binary(self, p)
5924 
5925  def __getstate__(self):
5926  p = self._get_as_binary()
5927  if len(self.__dict__) > 1:
5928  d = self.__dict__.copy()
5929  del d['this']
5930  p = (d, p)
5931  return p
5932 
5933  def __setstate__(self, p):
5934  if not hasattr(self, 'this'):
5935  self.__init__()
5936  if isinstance(p, tuple):
5937  d, p = p
5938  self.__dict__.update(d)
5939  return self._set_from_binary(p)
5940 
5941  __swig_destroy__ = _IMP_core.delete_Reference
5942 
5943 # Register Reference in _IMP_core:
5944 _IMP_core.Reference_swigregister(Reference)
5945 class TransformationAndReflectionSymmetry(IMP.SingletonModifier):
5946  r"""Proxy of C++ IMP::core::TransformationAndReflectionSymmetry class."""
5947 
5948  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5949 
5950  def __init__(self, t, r):
5951  r"""__init__(TransformationAndReflectionSymmetry self, Transformation3D t, Reflection3D r) -> TransformationAndReflectionSymmetry"""
5952  _IMP_core.TransformationAndReflectionSymmetry_swiginit(self, _IMP_core.new_TransformationAndReflectionSymmetry(t, r))
5953 
5954  def do_get_inputs(self, m, pis):
5955  r"""do_get_inputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5956  return _IMP_core.TransformationAndReflectionSymmetry_do_get_inputs(self, m, pis)
5957 
5958  def do_get_outputs(self, m, pis):
5959  r"""do_get_outputs(TransformationAndReflectionSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5960  return _IMP_core.TransformationAndReflectionSymmetry_do_get_outputs(self, m, pis)
5961 
5962  def get_version_info(self):
5963  r"""get_version_info(TransformationAndReflectionSymmetry self) -> VersionInfo"""
5964  return _IMP_core.TransformationAndReflectionSymmetry_get_version_info(self)
5965  __swig_destroy__ = _IMP_core.delete_TransformationAndReflectionSymmetry
5966 
5967  def __str__(self):
5968  r"""__str__(TransformationAndReflectionSymmetry self) -> std::string"""
5969  return _IMP_core.TransformationAndReflectionSymmetry___str__(self)
5970 
5971  def __repr__(self):
5972  r"""__repr__(TransformationAndReflectionSymmetry self) -> std::string"""
5973  return _IMP_core.TransformationAndReflectionSymmetry___repr__(self)
5974 
5975  @staticmethod
5976  def get_from(o):
5977  return _object_cast_to_TransformationAndReflectionSymmetry(o)
5978 
5979 
5980 # Register TransformationAndReflectionSymmetry in _IMP_core:
5981 _IMP_core.TransformationAndReflectionSymmetry_swigregister(TransformationAndReflectionSymmetry)
5982 class TransformationSymmetry(IMP.SingletonModifier):
5983  r"""Proxy of C++ IMP::core::TransformationSymmetry class."""
5984 
5985  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5986 
5987  def __init__(self, *args):
5988  r"""
5989  __init__(TransformationSymmetry self, Transformation3D t) -> TransformationSymmetry
5990  __init__(TransformationSymmetry self, ParticleIndex rb_pi) -> TransformationSymmetry
5991  """
5992  _IMP_core.TransformationSymmetry_swiginit(self, _IMP_core.new_TransformationSymmetry(*args))
5993 
5994  def get_transformation(self):
5995  r"""get_transformation(TransformationSymmetry self) -> Transformation3D"""
5996  return _IMP_core.TransformationSymmetry_get_transformation(self)
5997 
5998  def set_transformation(self, t):
5999  r"""set_transformation(TransformationSymmetry self, Transformation3D t)"""
6000  return _IMP_core.TransformationSymmetry_set_transformation(self, t)
6001 
6002  def do_get_inputs(self, m, pis):
6003  r"""do_get_inputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6004  return _IMP_core.TransformationSymmetry_do_get_inputs(self, m, pis)
6005 
6006  def do_get_outputs(self, m, pis):
6007  r"""do_get_outputs(TransformationSymmetry self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6008  return _IMP_core.TransformationSymmetry_do_get_outputs(self, m, pis)
6009 
6010  def get_version_info(self):
6011  r"""get_version_info(TransformationSymmetry self) -> VersionInfo"""
6012  return _IMP_core.TransformationSymmetry_get_version_info(self)
6013  __swig_destroy__ = _IMP_core.delete_TransformationSymmetry
6014 
6015  def __str__(self):
6016  r"""__str__(TransformationSymmetry self) -> std::string"""
6017  return _IMP_core.TransformationSymmetry___str__(self)
6018 
6019  def __repr__(self):
6020  r"""__repr__(TransformationSymmetry self) -> std::string"""
6021  return _IMP_core.TransformationSymmetry___repr__(self)
6022 
6023  @staticmethod
6024  def get_from(o):
6025  return _object_cast_to_TransformationSymmetry(o)
6026 
6027 
6028 # Register TransformationSymmetry in _IMP_core:
6029 _IMP_core.TransformationSymmetry_swigregister(TransformationSymmetry)
6030 class TransformationSymmetryMover(MonteCarloMover):
6031  r"""Proxy of C++ IMP::core::TransformationSymmetryMover class."""
6032 
6033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6034 
6035  def __init__(self, m, symm, pivot, max_translation, max_rotation):
6036  r"""__init__(TransformationSymmetryMover self, Model m, TransformationSymmetry symm, ParticleIndex pivot, IMP::Float max_translation, IMP::Float max_rotation) -> TransformationSymmetryMover"""
6037  _IMP_core.TransformationSymmetryMover_swiginit(self, _IMP_core.new_TransformationSymmetryMover(m, symm, pivot, max_translation, max_rotation))
6038 
6039  def set_maximum_translation(self, mt):
6040  r"""set_maximum_translation(TransformationSymmetryMover self, IMP::Float mt)"""
6041  return _IMP_core.TransformationSymmetryMover_set_maximum_translation(self, mt)
6042 
6043  def set_maximum_rotation(self, mr):
6044  r"""set_maximum_rotation(TransformationSymmetryMover self, IMP::Float mr)"""
6045  return _IMP_core.TransformationSymmetryMover_set_maximum_rotation(self, mr)
6046 
6047  def get_maximum_translation(self):
6048  r"""get_maximum_translation(TransformationSymmetryMover self) -> IMP::Float"""
6049  return _IMP_core.TransformationSymmetryMover_get_maximum_translation(self)
6050 
6051  def get_maximum_rotation(self):
6052  r"""get_maximum_rotation(TransformationSymmetryMover self) -> IMP::Float"""
6053  return _IMP_core.TransformationSymmetryMover_get_maximum_rotation(self)
6054 
6055  def get_version_info(self):
6056  r"""get_version_info(TransformationSymmetryMover self) -> VersionInfo"""
6057  return _IMP_core.TransformationSymmetryMover_get_version_info(self)
6058  __swig_destroy__ = _IMP_core.delete_TransformationSymmetryMover
6059 
6060  def __str__(self):
6061  r"""__str__(TransformationSymmetryMover self) -> std::string"""
6062  return _IMP_core.TransformationSymmetryMover___str__(self)
6063 
6064  def __repr__(self):
6065  r"""__repr__(TransformationSymmetryMover self) -> std::string"""
6066  return _IMP_core.TransformationSymmetryMover___repr__(self)
6067 
6068  @staticmethod
6069  def get_from(o):
6070  return _object_cast_to_TransformationSymmetryMover(o)
6071 
6072 
6073 # Register TransformationSymmetryMover in _IMP_core:
6074 _IMP_core.TransformationSymmetryMover_swigregister(TransformationSymmetryMover)
6075 class DihedralRestraint(IMP.Restraint):
6076  r"""Proxy of C++ IMP::core::DihedralRestraint class."""
6077 
6078  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6079 
6080  def __init__(self, m, score_func, p1, p2, p3, p4):
6081  r"""__init__(DihedralRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4) -> DihedralRestraint"""
6082  _IMP_core.DihedralRestraint_swiginit(self, _IMP_core.new_DihedralRestraint(m, score_func, p1, p2, p3, p4))
6083 
6084  def do_get_inputs(self):
6085  r"""do_get_inputs(DihedralRestraint self) -> IMP::ModelObjectsTemp"""
6086  return _IMP_core.DihedralRestraint_do_get_inputs(self)
6087 
6088  def get_version_info(self):
6089  r"""get_version_info(DihedralRestraint self) -> VersionInfo"""
6090  return _IMP_core.DihedralRestraint_get_version_info(self)
6091  __swig_destroy__ = _IMP_core.delete_DihedralRestraint
6092 
6093  def __str__(self):
6094  r"""__str__(DihedralRestraint self) -> std::string"""
6095  return _IMP_core.DihedralRestraint___str__(self)
6096 
6097  def __repr__(self):
6098  r"""__repr__(DihedralRestraint self) -> std::string"""
6099  return _IMP_core.DihedralRestraint___repr__(self)
6100 
6101  @staticmethod
6102  def get_from(o):
6103  return _object_cast_to_DihedralRestraint(o)
6104 
6105 
6106 # Register DihedralRestraint in _IMP_core:
6107 _IMP_core.DihedralRestraint_swigregister(DihedralRestraint)
6108 class DistancePairScore(IMP.PairScore):
6109  r"""Proxy of C++ IMP::core::DistancePairScore class."""
6110 
6111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6112 
6113  def __init__(self, *args):
6114  r"""
6115  __init__(DistancePairScore self, UnaryFunction uf, std::string name="DistancePairScore%1%") -> DistancePairScore
6116  __init__(DistancePairScore self) -> DistancePairScore
6117  """
6118  _IMP_core.DistancePairScore_swiginit(self, _IMP_core.new_DistancePairScore(*args))
6119 
6120  def do_get_inputs(self, m, pis):
6121  r"""do_get_inputs(DistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6122  return _IMP_core.DistancePairScore_do_get_inputs(self, m, pis)
6123 
6124  def get_score_functor(self, *args):
6125  r"""
6126  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6127  get_score_functor(DistancePairScore self) -> UnaryFunctionEvaluate
6128  """
6129  return _IMP_core.DistancePairScore_get_score_functor(self, *args)
6130 
6131  def get_version_info(self):
6132  r"""get_version_info(DistancePairScore self) -> VersionInfo"""
6133  return _IMP_core.DistancePairScore_get_version_info(self)
6134  __swig_destroy__ = _IMP_core.delete_DistancePairScore
6135 
6136  def __str__(self):
6137  r"""__str__(DistancePairScore self) -> std::string"""
6138  return _IMP_core.DistancePairScore___str__(self)
6139 
6140  def __repr__(self):
6141  r"""__repr__(DistancePairScore self) -> std::string"""
6142  return _IMP_core.DistancePairScore___repr__(self)
6143 
6144  @staticmethod
6145  def get_from(o):
6146  return _object_cast_to_DistancePairScore(o)
6147 
6148 
6149  def _get_as_binary(self):
6150  r"""_get_as_binary(DistancePairScore self) -> PyObject *"""
6151  return _IMP_core.DistancePairScore__get_as_binary(self)
6152 
6153  def _set_from_binary(self, p):
6154  r"""_set_from_binary(DistancePairScore self, PyObject * p)"""
6155  return _IMP_core.DistancePairScore__set_from_binary(self, p)
6156 
6157  def __getstate__(self):
6158  p = self._get_as_binary()
6159  if len(self.__dict__) > 1:
6160  d = self.__dict__.copy()
6161  del d['this']
6162  p = (d, p)
6163  return p
6164 
6165  def __setstate__(self, p):
6166  if not hasattr(self, 'this'):
6167  self.__init__()
6168  if isinstance(p, tuple):
6169  d, p = p
6170  self.__dict__.update(d)
6171  return self._set_from_binary(p)
6172 
6173 
6174  def _get_jax(self, m, indexes, space):
6175  import jax.numpy as jnp
6176  def jax_score(jm, uf):
6177  xyzs = jm['xyz'][indexes]
6178  diff = xyzs[:,0] - xyzs[:,1]
6179  drs = space.distance(diff)
6180  return uf(drs)
6181  sfnc = self.get_score_functor()
6182  uf = sfnc.get_unary_function().get_derived_object()
6183  f = functools.partial(jax_score, uf=uf._get_jax())
6184  return self._wrap_jax(m, f)
6185 
6186 
6187 # Register DistancePairScore in _IMP_core:
6188 _IMP_core.DistancePairScore_swigregister(DistancePairScore)
6189 class HarmonicDistancePairScore(IMP.PairScore):
6190  r"""Proxy of C++ IMP::core::HarmonicDistancePairScore class."""
6191 
6192  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6193 
6194  def __init__(self, *args):
6195  r"""
6196  __init__(HarmonicDistancePairScore self, double x0, double k, std::string name="HarmonicDistancePairScore%1%") -> HarmonicDistancePairScore
6197  __init__(HarmonicDistancePairScore self) -> HarmonicDistancePairScore
6198  """
6199  _IMP_core.HarmonicDistancePairScore_swiginit(self, _IMP_core.new_HarmonicDistancePairScore(*args))
6200 
6201  def do_get_inputs(self, m, pis):
6202  r"""do_get_inputs(HarmonicDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6203  return _IMP_core.HarmonicDistancePairScore_do_get_inputs(self, m, pis)
6204 
6205  def get_score_functor(self, *args):
6206  r"""
6207  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore
6208  get_score_functor(HarmonicDistancePairScore self) -> IMP::core::HarmonicDistanceScore const &
6209  """
6210  return _IMP_core.HarmonicDistancePairScore_get_score_functor(self, *args)
6211 
6212  def get_x0(self):
6213  r"""get_x0(HarmonicDistancePairScore self) -> double"""
6214  return _IMP_core.HarmonicDistancePairScore_get_x0(self)
6215 
6216  def get_k(self):
6217  r"""get_k(HarmonicDistancePairScore self) -> double"""
6218  return _IMP_core.HarmonicDistancePairScore_get_k(self)
6219 
6220  def get_version_info(self):
6221  r"""get_version_info(HarmonicDistancePairScore self) -> VersionInfo"""
6222  return _IMP_core.HarmonicDistancePairScore_get_version_info(self)
6223  __swig_destroy__ = _IMP_core.delete_HarmonicDistancePairScore
6224 
6225  def __str__(self):
6226  r"""__str__(HarmonicDistancePairScore self) -> std::string"""
6227  return _IMP_core.HarmonicDistancePairScore___str__(self)
6228 
6229  def __repr__(self):
6230  r"""__repr__(HarmonicDistancePairScore self) -> std::string"""
6231  return _IMP_core.HarmonicDistancePairScore___repr__(self)
6232 
6233  @staticmethod
6234  def get_from(o):
6235  return _object_cast_to_HarmonicDistancePairScore(o)
6236 
6237 
6238  def _get_as_binary(self):
6239  r"""_get_as_binary(HarmonicDistancePairScore self) -> PyObject *"""
6240  return _IMP_core.HarmonicDistancePairScore__get_as_binary(self)
6241 
6242  def _set_from_binary(self, p):
6243  r"""_set_from_binary(HarmonicDistancePairScore self, PyObject * p)"""
6244  return _IMP_core.HarmonicDistancePairScore__set_from_binary(self, p)
6245 
6246  def __getstate__(self):
6247  p = self._get_as_binary()
6248  if len(self.__dict__) > 1:
6249  d = self.__dict__.copy()
6250  del d['this']
6251  p = (d, p)
6252  return p
6253 
6254  def __setstate__(self, p):
6255  if not hasattr(self, 'this'):
6256  self.__init__()
6257  if isinstance(p, tuple):
6258  d, p = p
6259  self.__dict__.update(d)
6260  return self._set_from_binary(p)
6261 
6262 
6263  def _get_jax(self, m, indexes, space):
6264  import jax.numpy as jnp
6265  def jax_harmonic_distance_pair_score(jm, d, k):
6266  xyzs = jm['xyz'][indexes]
6267  diff = xyzs[:,0] - xyzs[:,1]
6268  drs = space.distance(diff)
6269  return 0.5 * k * (d - drs)**2
6270  f = functools.partial(jax_harmonic_distance_pair_score,
6271  d=self.get_x0(), k=self.get_k())
6272  return self._wrap_jax(m, f)
6273 
6274 
6275 # Register HarmonicDistancePairScore in _IMP_core:
6276 _IMP_core.HarmonicDistancePairScore_swigregister(HarmonicDistancePairScore)
6277 class DistanceRestraint(IMP.Restraint):
6278  r"""Proxy of C++ IMP::core::DistanceRestraint class."""
6279 
6280  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6281 
6282  def __init__(self, *args):
6283  r"""
6284  __init__(DistanceRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor a, _ParticleIndexAdaptor b, std::string name="DistanceRestraint %1%") -> DistanceRestraint
6285  __init__(DistanceRestraint self) -> DistanceRestraint
6286  """
6287  _IMP_core.DistanceRestraint_swiginit(self, _IMP_core.new_DistanceRestraint(*args))
6288 
6289  def get_score_object(self):
6290  r"""get_score_object(DistanceRestraint self) -> DistancePairScore"""
6291  return _IMP_core.DistanceRestraint_get_score_object(self)
6292 
6293  def get_index(self):
6294  r"""get_index(DistanceRestraint self) -> IMP::core::DistancePairScore::IndexArgument"""
6295  return _IMP_core.DistanceRestraint_get_index(self)
6296 
6297  def get_version_info(self):
6298  r"""get_version_info(DistanceRestraint self) -> VersionInfo"""
6299  return _IMP_core.DistanceRestraint_get_version_info(self)
6300  __swig_destroy__ = _IMP_core.delete_DistanceRestraint
6301 
6302  def __str__(self):
6303  r"""__str__(DistanceRestraint self) -> std::string"""
6304  return _IMP_core.DistanceRestraint___str__(self)
6305 
6306  def __repr__(self):
6307  r"""__repr__(DistanceRestraint self) -> std::string"""
6308  return _IMP_core.DistanceRestraint___repr__(self)
6309 
6310  @staticmethod
6311  def get_from(o):
6312  return _object_cast_to_DistanceRestraint(o)
6313 
6314 
6315  def _get_as_binary(self):
6316  r"""_get_as_binary(DistanceRestraint self) -> PyObject *"""
6317  return _IMP_core.DistanceRestraint__get_as_binary(self)
6318 
6319  def _set_from_binary(self, p):
6320  r"""_set_from_binary(DistanceRestraint self, PyObject * p)"""
6321  return _IMP_core.DistanceRestraint__set_from_binary(self, p)
6322 
6323  def __getstate__(self):
6324  p = self._get_as_binary()
6325  if len(self.__dict__) > 1:
6326  d = self.__dict__.copy()
6327  del d['this']
6328  p = (d, p)
6329  return p
6330 
6331  def __setstate__(self, p):
6332  if not hasattr(self, 'this'):
6333  self.__init__()
6334  if isinstance(p, tuple):
6335  d, p = p
6336  self.__dict__.update(d)
6337  return self._set_from_binary(p)
6338 
6339 
6340  def _get_jax(self, space):
6341  import jax.numpy as jnp
6342  import IMP._jax_util
6343  ps = self.get_score_object()
6344  indexes = jnp.array([self.get_index()])
6345  ji = ps._get_jax(self.get_model(), indexes, space=space)
6346  def score(jm):
6347  return jnp.sum(ji.score_func(jm))
6348  return self._wrap_jax(score)
6349 
6350 
6351 # Register DistanceRestraint in _IMP_core:
6352 _IMP_core.DistanceRestraint_swigregister(DistanceRestraint)
6353 class SphereDistanceToSingletonScore(IMP.SingletonScore):
6354  r"""Proxy of C++ IMP::core::SphereDistanceToSingletonScore class."""
6355 
6356  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6357 
6358  def __init__(self, f, pt):
6359  r"""__init__(SphereDistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> SphereDistanceToSingletonScore"""
6360  _IMP_core.SphereDistanceToSingletonScore_swiginit(self, _IMP_core.new_SphereDistanceToSingletonScore(f, pt))
6361 
6362  def do_get_inputs(self, m, pis):
6363  r"""do_get_inputs(SphereDistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6364  return _IMP_core.SphereDistanceToSingletonScore_do_get_inputs(self, m, pis)
6365 
6366  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
6367  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"""
6368  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
6369 
6370  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6371  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"""
6372  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
6373 
6374  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
6375  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"""
6376  return _IMP_core.SphereDistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
6377 
6378  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6379  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"""
6380  return _IMP_core.SphereDistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
6381 
6382  def get_version_info(self):
6383  r"""get_version_info(SphereDistanceToSingletonScore self) -> VersionInfo"""
6384  return _IMP_core.SphereDistanceToSingletonScore_get_version_info(self)
6385  __swig_destroy__ = _IMP_core.delete_SphereDistanceToSingletonScore
6386 
6387  def __str__(self):
6388  r"""__str__(SphereDistanceToSingletonScore self) -> std::string"""
6389  return _IMP_core.SphereDistanceToSingletonScore___str__(self)
6390 
6391  def __repr__(self):
6392  r"""__repr__(SphereDistanceToSingletonScore self) -> std::string"""
6393  return _IMP_core.SphereDistanceToSingletonScore___repr__(self)
6394 
6395  @staticmethod
6396  def get_from(o):
6397  return _object_cast_to_SphereDistanceToSingletonScore(o)
6398 
6399 
6400 # Register SphereDistanceToSingletonScore in _IMP_core:
6401 _IMP_core.SphereDistanceToSingletonScore_swigregister(SphereDistanceToSingletonScore)
6402 class ExcludedVolumeRestraint(IMP.Restraint):
6403  r"""Proxy of C++ IMP::core::ExcludedVolumeRestraint class."""
6404 
6405  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6406 
6407  def __init__(self, *args):
6408  r"""__init__(ExcludedVolumeRestraint self, _SingletonContainerAdaptor sc, double k=1, double slack=10, std::string name="ExcludedVolumeRestraint%1%") -> ExcludedVolumeRestraint"""
6409  _IMP_core.ExcludedVolumeRestraint_swiginit(self, _IMP_core.new_ExcludedVolumeRestraint(*args))
6410 
6411  def do_get_inputs(self):
6412  r"""do_get_inputs(ExcludedVolumeRestraint self) -> IMP::ModelObjectsTemp"""
6413  return _IMP_core.ExcludedVolumeRestraint_do_get_inputs(self)
6414 
6415  def get_version_info(self):
6416  r"""get_version_info(ExcludedVolumeRestraint self) -> VersionInfo"""
6417  return _IMP_core.ExcludedVolumeRestraint_get_version_info(self)
6418  __swig_destroy__ = _IMP_core.delete_ExcludedVolumeRestraint
6419 
6420  def do_create_decomposition(self):
6421  r"""do_create_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6422  return _IMP_core.ExcludedVolumeRestraint_do_create_decomposition(self)
6423 
6424  def do_create_current_decomposition(self):
6425  r"""do_create_current_decomposition(ExcludedVolumeRestraint self) -> IMP::Restraints"""
6426  return _IMP_core.ExcludedVolumeRestraint_do_create_current_decomposition(self)
6427 
6428  def get_indexes(self):
6429  r"""get_indexes(ExcludedVolumeRestraint self) -> IMP::ParticleIndexPairs const &"""
6430  return _IMP_core.ExcludedVolumeRestraint_get_indexes(self)
6431  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)
6432  def __set_pair_filters(self, obj): IMP._list_util.set_varlist(self.pair_filters, obj)
6433  def __del_pair_filters(self): IMP._list_util.del_varlist(self.pair_filters)
6434  pair_filters = property(__get_pair_filters, __set_pair_filters, __del_pair_filters, doc="List of ##ucnames")
6435 
6436  def remove_pair_filter(self, d):
6437  r"""remove_pair_filter(ExcludedVolumeRestraint self, PairPredicate d)"""
6438  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filter(self, d)
6439 
6440  def _python_index_pair_filter(self, d, start, stop):
6441  r"""_python_index_pair_filter(ExcludedVolumeRestraint self, PairPredicate d, unsigned int start, unsigned int stop) -> unsigned int"""
6442  return _IMP_core.ExcludedVolumeRestraint__python_index_pair_filter(self, d, start, stop)
6443 
6444  def remove_pair_filters(self, d):
6445  r"""remove_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & d)"""
6446  return _IMP_core.ExcludedVolumeRestraint_remove_pair_filters(self, d)
6447 
6448  def set_pair_filters(self, ps):
6449  r"""set_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & ps)"""
6450  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters(self, ps)
6451 
6452  def set_pair_filters_order(self, objs):
6453  r"""set_pair_filters_order(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6454  return _IMP_core.ExcludedVolumeRestraint_set_pair_filters_order(self, objs)
6455 
6456  def add_pair_filter(self, obj):
6457  r"""add_pair_filter(ExcludedVolumeRestraint self, PairPredicate obj) -> unsigned int"""
6458  return _IMP_core.ExcludedVolumeRestraint_add_pair_filter(self, obj)
6459 
6460  def add_pair_filters(self, objs):
6461  r"""add_pair_filters(ExcludedVolumeRestraint self, IMP::PairPredicates const & objs)"""
6462  return _IMP_core.ExcludedVolumeRestraint_add_pair_filters(self, objs)
6463 
6464  def clear_pair_filters(self):
6465  r"""clear_pair_filters(ExcludedVolumeRestraint self)"""
6466  return _IMP_core.ExcludedVolumeRestraint_clear_pair_filters(self)
6467 
6468  def get_number_of_pair_filters(self):
6469  r"""get_number_of_pair_filters(ExcludedVolumeRestraint self) -> unsigned int"""
6470  return _IMP_core.ExcludedVolumeRestraint_get_number_of_pair_filters(self)
6471 
6472  def get_has_pair_filters(self):
6473  r"""get_has_pair_filters(ExcludedVolumeRestraint self) -> bool"""
6474  return _IMP_core.ExcludedVolumeRestraint_get_has_pair_filters(self)
6475 
6476  def get_pair_filter(self, i):
6477  r"""get_pair_filter(ExcludedVolumeRestraint self, unsigned int i) -> PairPredicate"""
6478  return _IMP_core.ExcludedVolumeRestraint_get_pair_filter(self, i)
6479 
6480  def get_pair_filters(self):
6481  r"""get_pair_filters(ExcludedVolumeRestraint self) -> IMP::PairPredicates"""
6482  return _IMP_core.ExcludedVolumeRestraint_get_pair_filters(self)
6483 
6484  def erase_pair_filter(self, i):
6485  r"""erase_pair_filter(ExcludedVolumeRestraint self, unsigned int i)"""
6486  return _IMP_core.ExcludedVolumeRestraint_erase_pair_filter(self, i)
6487 
6488  def reserve_pair_filters(self, sz):
6489  r"""reserve_pair_filters(ExcludedVolumeRestraint self, unsigned int sz)"""
6490  return _IMP_core.ExcludedVolumeRestraint_reserve_pair_filters(self, sz)
6491 
6492  def __str__(self):
6493  r"""__str__(ExcludedVolumeRestraint self) -> std::string"""
6494  return _IMP_core.ExcludedVolumeRestraint___str__(self)
6495 
6496  def __repr__(self):
6497  r"""__repr__(ExcludedVolumeRestraint self) -> std::string"""
6498  return _IMP_core.ExcludedVolumeRestraint___repr__(self)
6499 
6500  @staticmethod
6501  def get_from(o):
6502  return _object_cast_to_ExcludedVolumeRestraint(o)
6503 
6504 
6505 # Register ExcludedVolumeRestraint in _IMP_core:
6506 _IMP_core.ExcludedVolumeRestraint_swigregister(ExcludedVolumeRestraint)
6507 class FixedRefiner(IMP.Refiner):
6508  r"""Proxy of C++ IMP::core::FixedRefiner class."""
6509 
6510  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6511 
6512  def __init__(self, *args):
6513  r"""
6514  __init__(FixedRefiner self, IMP::ParticlesTemp const & ps) -> FixedRefiner
6515  __init__(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> FixedRefiner
6516  __init__(FixedRefiner self) -> FixedRefiner
6517  """
6518  _IMP_core.FixedRefiner_swiginit(self, _IMP_core.new_FixedRefiner(*args))
6519 
6520  def do_get_inputs(self, m, pis):
6521  r"""do_get_inputs(FixedRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6522  return _IMP_core.FixedRefiner_do_get_inputs(self, m, pis)
6523 
6524  def get_version_info(self):
6525  r"""get_version_info(FixedRefiner self) -> VersionInfo"""
6526  return _IMP_core.FixedRefiner_get_version_info(self)
6527  __swig_destroy__ = _IMP_core.delete_FixedRefiner
6528 
6529  def __str__(self):
6530  r"""__str__(FixedRefiner self) -> std::string"""
6531  return _IMP_core.FixedRefiner___str__(self)
6532 
6533  def __repr__(self):
6534  r"""__repr__(FixedRefiner self) -> std::string"""
6535  return _IMP_core.FixedRefiner___repr__(self)
6536 
6537  @staticmethod
6538  def get_from(o):
6539  return _object_cast_to_FixedRefiner(o)
6540 
6541 
6542  def _get_as_binary(self):
6543  r"""_get_as_binary(FixedRefiner self) -> PyObject *"""
6544  return _IMP_core.FixedRefiner__get_as_binary(self)
6545 
6546  def _set_from_binary(self, p):
6547  r"""_set_from_binary(FixedRefiner self, PyObject * p)"""
6548  return _IMP_core.FixedRefiner__set_from_binary(self, p)
6549 
6550  def __getstate__(self):
6551  p = self._get_as_binary()
6552  if len(self.__dict__) > 1:
6553  d = self.__dict__.copy()
6554  del d['this']
6555  p = (d, p)
6556  return p
6557 
6558  def __setstate__(self, p):
6559  if not hasattr(self, 'this'):
6560  self.__init__()
6561  if isinstance(p, tuple):
6562  d, p = p
6563  self.__dict__.update(d)
6564  return self._set_from_binary(p)
6565 
6566 
6567 # Register FixedRefiner in _IMP_core:
6568 _IMP_core.FixedRefiner_swigregister(FixedRefiner)
6569 class GridClosePairsFinder(ClosePairsFinder):
6570  r"""Proxy of C++ IMP::core::GridClosePairsFinder class."""
6571 
6572  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6573 
6574  def __init__(self):
6575  r"""__init__(GridClosePairsFinder self) -> GridClosePairsFinder"""
6576  _IMP_core.GridClosePairsFinder_swiginit(self, _IMP_core.new_GridClosePairsFinder())
6577 
6578  def get_close_pairs(self, *args):
6579  r"""
6580  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6581  get_close_pairs(GridClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
6582  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
6583  get_close_pairs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
6584  """
6585  return _IMP_core.GridClosePairsFinder_get_close_pairs(self, *args)
6586 
6587  def do_get_inputs(self, m, pis):
6588  r"""do_get_inputs(GridClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6589  return _IMP_core.GridClosePairsFinder_do_get_inputs(self, m, pis)
6590 
6591  def get_version_info(self):
6592  r"""get_version_info(GridClosePairsFinder self) -> VersionInfo"""
6593  return _IMP_core.GridClosePairsFinder_get_version_info(self)
6594  __swig_destroy__ = _IMP_core.delete_GridClosePairsFinder
6595 
6596  def __str__(self):
6597  r"""__str__(GridClosePairsFinder self) -> std::string"""
6598  return _IMP_core.GridClosePairsFinder___str__(self)
6599 
6600  def __repr__(self):
6601  r"""__repr__(GridClosePairsFinder self) -> std::string"""
6602  return _IMP_core.GridClosePairsFinder___repr__(self)
6603 
6604  @staticmethod
6605  def get_from(o):
6606  return _object_cast_to_GridClosePairsFinder(o)
6607 
6608 
6609  def _get_as_binary(self):
6610  r"""_get_as_binary(GridClosePairsFinder self) -> PyObject *"""
6611  return _IMP_core.GridClosePairsFinder__get_as_binary(self)
6612 
6613  def _set_from_binary(self, p):
6614  r"""_set_from_binary(GridClosePairsFinder self, PyObject * p)"""
6615  return _IMP_core.GridClosePairsFinder__set_from_binary(self, p)
6616 
6617  def __getstate__(self):
6618  p = self._get_as_binary()
6619  if len(self.__dict__) > 1:
6620  d = self.__dict__.copy()
6621  del d['this']
6622  p = (d, p)
6623  return p
6624 
6625  def __setstate__(self, p):
6626  if not hasattr(self, 'this'):
6627  self.__init__()
6628  if isinstance(p, tuple):
6629  d, p = p
6630  self.__dict__.update(d)
6631  return self._set_from_binary(p)
6632 
6633 
6634 # Register GridClosePairsFinder in _IMP_core:
6635 _IMP_core.GridClosePairsFinder_swigregister(GridClosePairsFinder)
6636 class Harmonic(IMP.UnaryFunction):
6637  r"""Proxy of C++ IMP::core::Harmonic class."""
6638 
6639  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6640 
6641  def __init__(self, *args):
6642  r"""
6643  __init__(Harmonic self, IMP::Float mean, IMP::Float k) -> Harmonic
6644  __init__(Harmonic self) -> Harmonic
6645  """
6646  _IMP_core.Harmonic_swiginit(self, _IMP_core.new_Harmonic(*args))
6647 
6648  def get_version_info(self):
6649  r"""get_version_info(Harmonic self) -> VersionInfo"""
6650  return _IMP_core.Harmonic_get_version_info(self)
6651  __swig_destroy__ = _IMP_core.delete_Harmonic
6652 
6653  def get_mean(self):
6654  r"""get_mean(Harmonic self) -> IMP::Float"""
6655  return _IMP_core.Harmonic_get_mean(self)
6656 
6657  def get_k(self):
6658  r"""get_k(Harmonic self) -> IMP::Float"""
6659  return _IMP_core.Harmonic_get_k(self)
6660 
6661  def set_mean(self, mean):
6662  r"""set_mean(Harmonic self, IMP::Float mean)"""
6663  return _IMP_core.Harmonic_set_mean(self, mean)
6664 
6665  def set_k(self, k):
6666  r"""set_k(Harmonic self, IMP::Float k)"""
6667  return _IMP_core.Harmonic_set_k(self, k)
6668 
6669  @staticmethod
6670  def get_k_from_standard_deviation(sd, t=297.15):
6671  r"""get_k_from_standard_deviation(IMP::Float sd, IMP::Float t=297.15) -> IMP::Float"""
6672  return _IMP_core.Harmonic_get_k_from_standard_deviation(sd, t)
6673 
6674  def __str__(self):
6675  r"""__str__(Harmonic self) -> std::string"""
6676  return _IMP_core.Harmonic___str__(self)
6677 
6678  def __repr__(self):
6679  r"""__repr__(Harmonic self) -> std::string"""
6680  return _IMP_core.Harmonic___repr__(self)
6681 
6682  @staticmethod
6683  def get_from(o):
6684  return _object_cast_to_Harmonic(o)
6685 
6686 
6687  def _get_as_binary(self):
6688  r"""_get_as_binary(Harmonic self) -> PyObject *"""
6689  return _IMP_core.Harmonic__get_as_binary(self)
6690 
6691  def _set_from_binary(self, p):
6692  r"""_set_from_binary(Harmonic self, PyObject * p)"""
6693  return _IMP_core.Harmonic__set_from_binary(self, p)
6694 
6695  def __getstate__(self):
6696  p = self._get_as_binary()
6697  if len(self.__dict__) > 1:
6698  d = self.__dict__.copy()
6699  del d['this']
6700  p = (d, p)
6701  return p
6702 
6703  def __setstate__(self, p):
6704  if not hasattr(self, 'this'):
6705  self.__init__()
6706  if isinstance(p, tuple):
6707  d, p = p
6708  self.__dict__.update(d)
6709  return self._set_from_binary(p)
6710 
6711 
6712  def _get_jax(self):
6713  def score(val, mean, k):
6714  return 0.5 * k * (mean - val) ** 2
6715  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6716 
6717 
6718 # Register Harmonic in _IMP_core:
6719 _IMP_core.Harmonic_swigregister(Harmonic)
6720 class HarmonicWell(IMP.UnaryFunction):
6721  r"""Proxy of C++ IMP::core::HarmonicWell class."""
6722 
6723  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6724 
6725  def __init__(self, well, k):
6726  r"""__init__(HarmonicWell self, IMP::FloatRange const & well, double k) -> HarmonicWell"""
6727  _IMP_core.HarmonicWell_swiginit(self, _IMP_core.new_HarmonicWell(well, k))
6728 
6729  def get_well(self):
6730  r"""get_well(HarmonicWell self) -> IMP::FloatRange"""
6731  return _IMP_core.HarmonicWell_get_well(self)
6732 
6733  def get_k(self):
6734  r"""get_k(HarmonicWell self) -> double"""
6735  return _IMP_core.HarmonicWell_get_k(self)
6736 
6737  def get_version_info(self):
6738  r"""get_version_info(HarmonicWell self) -> VersionInfo"""
6739  return _IMP_core.HarmonicWell_get_version_info(self)
6740  __swig_destroy__ = _IMP_core.delete_HarmonicWell
6741 
6742  def __str__(self):
6743  r"""__str__(HarmonicWell self) -> std::string"""
6744  return _IMP_core.HarmonicWell___str__(self)
6745 
6746  def __repr__(self):
6747  r"""__repr__(HarmonicWell self) -> std::string"""
6748  return _IMP_core.HarmonicWell___repr__(self)
6749 
6750  @staticmethod
6751  def get_from(o):
6752  return _object_cast_to_HarmonicWell(o)
6753 
6754 
6755  def _get_jax(self):
6756  import jax.numpy as jnp
6757  def score(val, lb, ub, k):
6758  return 0.5 * k * (val - jnp.clip(val, lb, ub)) ** 2
6759  well = self.get_well()
6760  return functools.partial(score, lb=well[0], ub=well[1], k=self.get_k())
6761 
6762 
6763 # Register HarmonicWell in _IMP_core:
6764 _IMP_core.HarmonicWell_swigregister(HarmonicWell)
6765 class HarmonicLowerBound(Harmonic):
6766  r"""Proxy of C++ IMP::core::HarmonicLowerBound class."""
6767 
6768  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6769 
6770  def __init__(self, *args):
6771  r"""
6772  __init__(HarmonicLowerBound self, IMP::Float mean, IMP::Float k) -> HarmonicLowerBound
6773  __init__(HarmonicLowerBound self) -> HarmonicLowerBound
6774  """
6775  _IMP_core.HarmonicLowerBound_swiginit(self, _IMP_core.new_HarmonicLowerBound(*args))
6776  __swig_destroy__ = _IMP_core.delete_HarmonicLowerBound
6777 
6778  def __str__(self):
6779  r"""__str__(HarmonicLowerBound self) -> std::string"""
6780  return _IMP_core.HarmonicLowerBound___str__(self)
6781 
6782  def __repr__(self):
6783  r"""__repr__(HarmonicLowerBound self) -> std::string"""
6784  return _IMP_core.HarmonicLowerBound___repr__(self)
6785 
6786  @staticmethod
6787  def get_from(o):
6788  return _object_cast_to_HarmonicLowerBound(o)
6789 
6790 
6791  def _get_as_binary(self):
6792  r"""_get_as_binary(HarmonicLowerBound self) -> PyObject *"""
6793  return _IMP_core.HarmonicLowerBound__get_as_binary(self)
6794 
6795  def _set_from_binary(self, p):
6796  r"""_set_from_binary(HarmonicLowerBound self, PyObject * p)"""
6797  return _IMP_core.HarmonicLowerBound__set_from_binary(self, p)
6798 
6799  def __getstate__(self):
6800  p = self._get_as_binary()
6801  if len(self.__dict__) > 1:
6802  d = self.__dict__.copy()
6803  del d['this']
6804  p = (d, p)
6805  return p
6806 
6807  def __setstate__(self, p):
6808  if not hasattr(self, 'this'):
6809  self.__init__()
6810  if isinstance(p, tuple):
6811  d, p = p
6812  self.__dict__.update(d)
6813  return self._set_from_binary(p)
6814 
6815 
6816  def _get_jax(self):
6817  import jax.lax
6818  def score(val, mean, k):
6819  return 0.5 * k * jax.lax.max(mean - val, 0.0) ** 2
6820  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6821 
6822 
6823 # Register HarmonicLowerBound in _IMP_core:
6824 _IMP_core.HarmonicLowerBound_swigregister(HarmonicLowerBound)
6825 class HarmonicUpperBound(Harmonic):
6826  r"""Proxy of C++ IMP::core::HarmonicUpperBound class."""
6827 
6828  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6829 
6830  def __init__(self, *args):
6831  r"""
6832  __init__(HarmonicUpperBound self, IMP::Float mean, IMP::Float k) -> HarmonicUpperBound
6833  __init__(HarmonicUpperBound self) -> HarmonicUpperBound
6834  """
6835  _IMP_core.HarmonicUpperBound_swiginit(self, _IMP_core.new_HarmonicUpperBound(*args))
6836  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBound
6837 
6838  def __str__(self):
6839  r"""__str__(HarmonicUpperBound self) -> std::string"""
6840  return _IMP_core.HarmonicUpperBound___str__(self)
6841 
6842  def __repr__(self):
6843  r"""__repr__(HarmonicUpperBound self) -> std::string"""
6844  return _IMP_core.HarmonicUpperBound___repr__(self)
6845 
6846  @staticmethod
6847  def get_from(o):
6848  return _object_cast_to_HarmonicUpperBound(o)
6849 
6850 
6851  def _get_as_binary(self):
6852  r"""_get_as_binary(HarmonicUpperBound self) -> PyObject *"""
6853  return _IMP_core.HarmonicUpperBound__get_as_binary(self)
6854 
6855  def _set_from_binary(self, p):
6856  r"""_set_from_binary(HarmonicUpperBound self, PyObject * p)"""
6857  return _IMP_core.HarmonicUpperBound__set_from_binary(self, p)
6858 
6859  def __getstate__(self):
6860  p = self._get_as_binary()
6861  if len(self.__dict__) > 1:
6862  d = self.__dict__.copy()
6863  del d['this']
6864  p = (d, p)
6865  return p
6866 
6867  def __setstate__(self, p):
6868  if not hasattr(self, 'this'):
6869  self.__init__()
6870  if isinstance(p, tuple):
6871  d, p = p
6872  self.__dict__.update(d)
6873  return self._set_from_binary(p)
6874 
6875 
6876  def _get_jax(self):
6877  import jax.lax
6878  def score(val, mean, k):
6879  return 0.5 * k * jax.lax.min(mean - val, 0.0) ** 2
6880  return functools.partial(score, mean=self.get_mean(), k=self.get_k())
6881 
6882 
6883 # Register HarmonicUpperBound in _IMP_core:
6884 _IMP_core.HarmonicUpperBound_swigregister(HarmonicUpperBound)
6885 class WeightedSum(IMP.UnaryFunction):
6886  r"""Proxy of C++ IMP::core::WeightedSum class."""
6887 
6888  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6889 
6890  def __init__(self, funcs, weights):
6891  r"""__init__(WeightedSum self, IMP::UnaryFunctions funcs, IMP::Floats weights) -> WeightedSum"""
6892  _IMP_core.WeightedSum_swiginit(self, _IMP_core.new_WeightedSum(funcs, weights))
6893 
6894  def get_function_number(self):
6895  r"""get_function_number(WeightedSum self) -> unsigned int"""
6896  return _IMP_core.WeightedSum_get_function_number(self)
6897 
6898  def set_weights(self, weights):
6899  r"""set_weights(WeightedSum self, IMP::Floats weights)"""
6900  return _IMP_core.WeightedSum_set_weights(self, weights)
6901 
6902  def get_weights(self):
6903  r"""get_weights(WeightedSum self) -> IMP::Floats"""
6904  return _IMP_core.WeightedSum_get_weights(self)
6905 
6906  def get_weight(self, i):
6907  r"""get_weight(WeightedSum self, unsigned int i) -> double"""
6908  return _IMP_core.WeightedSum_get_weight(self, i)
6909 
6910  def get_function(self, i):
6911  r"""get_function(WeightedSum self, unsigned int i) -> UnaryFunction"""
6912  return _IMP_core.WeightedSum_get_function(self, i)
6913 
6914  def get_version_info(self):
6915  r"""get_version_info(WeightedSum self) -> VersionInfo"""
6916  return _IMP_core.WeightedSum_get_version_info(self)
6917  __swig_destroy__ = _IMP_core.delete_WeightedSum
6918 
6919  def __str__(self):
6920  r"""__str__(WeightedSum self) -> std::string"""
6921  return _IMP_core.WeightedSum___str__(self)
6922 
6923  def __repr__(self):
6924  r"""__repr__(WeightedSum self) -> std::string"""
6925  return _IMP_core.WeightedSum___repr__(self)
6926 
6927  @staticmethod
6928  def get_from(o):
6929  return _object_cast_to_WeightedSum(o)
6930 
6931 
6932  def _get_jax(self):
6933  import jax.numpy as jnp
6934  def score(val, funcs, weights):
6935  return sum(f(val) * weight for (f, weight) in zip(funcs, weights))
6936  nfunc = self.get_function_number()
6937  funcs = [self.get_function(i).get_derived_object()._get_jax()
6938  for i in range(nfunc)]
6939  return functools.partial(score, funcs=funcs,
6940  weights=self.get_weights())
6941 
6942 
6943 # Register WeightedSum in _IMP_core:
6944 _IMP_core.WeightedSum_swigregister(WeightedSum)
6945 class WeightedSumOfExponential(IMP.UnaryFunction):
6946  r"""Proxy of C++ IMP::core::WeightedSumOfExponential class."""
6947 
6948  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6949 
6950  def __init__(self, funcs, weights, denom=1.0):
6951  r"""__init__(WeightedSumOfExponential self, IMP::UnaryFunctions funcs, IMP::Floats weights, IMP::Float denom=1.0) -> WeightedSumOfExponential"""
6952  _IMP_core.WeightedSumOfExponential_swiginit(self, _IMP_core.new_WeightedSumOfExponential(funcs, weights, denom))
6953 
6954  def get_function_number(self):
6955  r"""get_function_number(WeightedSumOfExponential self) -> unsigned int"""
6956  return _IMP_core.WeightedSumOfExponential_get_function_number(self)
6957 
6958  def set_weights(self, weights):
6959  r"""set_weights(WeightedSumOfExponential self, IMP::Floats weights)"""
6960  return _IMP_core.WeightedSumOfExponential_set_weights(self, weights)
6961 
6962  def get_weights(self):
6963  r"""get_weights(WeightedSumOfExponential self) -> IMP::Floats"""
6964  return _IMP_core.WeightedSumOfExponential_get_weights(self)
6965 
6966  def get_weight(self, i):
6967  r"""get_weight(WeightedSumOfExponential self, unsigned int i) -> double"""
6968  return _IMP_core.WeightedSumOfExponential_get_weight(self, i)
6969 
6970  def get_function(self, i):
6971  r"""get_function(WeightedSumOfExponential self, unsigned int i) -> UnaryFunction"""
6972  return _IMP_core.WeightedSumOfExponential_get_function(self, i)
6973 
6974  def set_denominator(self, denom):
6975  r"""set_denominator(WeightedSumOfExponential self, double denom)"""
6976  return _IMP_core.WeightedSumOfExponential_set_denominator(self, denom)
6977 
6978  def get_denominator(self):
6979  r"""get_denominator(WeightedSumOfExponential self) -> double"""
6980  return _IMP_core.WeightedSumOfExponential_get_denominator(self)
6981 
6982  def get_version_info(self):
6983  r"""get_version_info(WeightedSumOfExponential self) -> VersionInfo"""
6984  return _IMP_core.WeightedSumOfExponential_get_version_info(self)
6985  __swig_destroy__ = _IMP_core.delete_WeightedSumOfExponential
6986 
6987  def __str__(self):
6988  r"""__str__(WeightedSumOfExponential self) -> std::string"""
6989  return _IMP_core.WeightedSumOfExponential___str__(self)
6990 
6991  def __repr__(self):
6992  r"""__repr__(WeightedSumOfExponential self) -> std::string"""
6993  return _IMP_core.WeightedSumOfExponential___repr__(self)
6994 
6995  @staticmethod
6996  def get_from(o):
6997  return _object_cast_to_WeightedSumOfExponential(o)
6998 
6999 
7000  def _get_jax(self):
7001  import jax.numpy as jnp
7002  def score(val, funcs, weights, denom):
7003  exp_sum = sum(weight * jnp.exp(-f(val) / denom)
7004  for (f, weight) in zip(funcs, weights))
7005  return -jnp.log(exp_sum) * denom
7006  nfunc = self.get_function_number()
7007  funcs = [self.get_function(i).get_derived_object()._get_jax()
7008  for i in range(nfunc)]
7009  return functools.partial(score, funcs=funcs,
7010  weights=self.get_weights(),
7011  denom=self.get_denominator())
7012 
7013 
7014 # Register WeightedSumOfExponential in _IMP_core:
7015 _IMP_core.WeightedSumOfExponential_swigregister(WeightedSumOfExponential)
7016 class MSConnectivityRestraint(IMP.Restraint):
7017  r"""Proxy of C++ IMP::core::MSConnectivityRestraint class."""
7018 
7019  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7020 
7021  def __init__(self, m, ps, eps=0.1):
7022  r"""__init__(MSConnectivityRestraint self, Model m, PairScore ps, double eps=0.1) -> MSConnectivityRestraint"""
7023  _IMP_core.MSConnectivityRestraint_swiginit(self, _IMP_core.new_MSConnectivityRestraint(m, ps, eps))
7024 
7025  def add_type(self, ps):
7026  r"""add_type(MSConnectivityRestraint self, IMP::ParticlesTemp const & ps) -> unsigned int"""
7027  return _IMP_core.MSConnectivityRestraint_add_type(self, ps)
7028 
7029  def add_composite(self, *args):
7030  r"""
7031  add_composite(MSConnectivityRestraint self, IMP::Ints const & components) -> unsigned int
7032  add_composite(MSConnectivityRestraint self, IMP::Ints const & components, unsigned int parent) -> unsigned int
7033  """
7034  return _IMP_core.MSConnectivityRestraint_add_composite(self, *args)
7035 
7036  def get_connected_pairs(self):
7037  r"""get_connected_pairs(MSConnectivityRestraint self) -> IMP::ParticlePairsTemp"""
7038  return _IMP_core.MSConnectivityRestraint_get_connected_pairs(self)
7039 
7040  def get_pair_score(self):
7041  r"""get_pair_score(MSConnectivityRestraint self) -> PairScore"""
7042  return _IMP_core.MSConnectivityRestraint_get_pair_score(self)
7043 
7044  def do_create_current_decomposition(self):
7045  r"""do_create_current_decomposition(MSConnectivityRestraint self) -> IMP::Restraints"""
7046  return _IMP_core.MSConnectivityRestraint_do_create_current_decomposition(self)
7047 
7048  def do_get_inputs(self):
7049  r"""do_get_inputs(MSConnectivityRestraint self) -> IMP::ModelObjectsTemp"""
7050  return _IMP_core.MSConnectivityRestraint_do_get_inputs(self)
7051 
7052  def get_version_info(self):
7053  r"""get_version_info(MSConnectivityRestraint self) -> VersionInfo"""
7054  return _IMP_core.MSConnectivityRestraint_get_version_info(self)
7055  __swig_destroy__ = _IMP_core.delete_MSConnectivityRestraint
7056 
7057  def __str__(self):
7058  r"""__str__(MSConnectivityRestraint self) -> std::string"""
7059  return _IMP_core.MSConnectivityRestraint___str__(self)
7060 
7061  def __repr__(self):
7062  r"""__repr__(MSConnectivityRestraint self) -> std::string"""
7063  return _IMP_core.MSConnectivityRestraint___repr__(self)
7064 
7065  @staticmethod
7066  def get_from(o):
7067  return _object_cast_to_MSConnectivityRestraint(o)
7068 
7069 
7070 # Register MSConnectivityRestraint in _IMP_core:
7071 _IMP_core.MSConnectivityRestraint_swigregister(MSConnectivityRestraint)
7072 class HierarchyTraits(object):
7073  r"""Proxy of C++ IMP::core::HierarchyTraits class."""
7074 
7075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7076 
7077  def __init__(self, *args):
7078  r"""
7079  __init__(HierarchyTraits self) -> HierarchyTraits
7080  __init__(HierarchyTraits self, std::string name) -> HierarchyTraits
7081  """
7082  _IMP_core.HierarchyTraits_swiginit(self, _IMP_core.new_HierarchyTraits(*args))
7083 
7084  def get_children_key(self):
7085  r"""get_children_key(HierarchyTraits self) -> ParticleIndexesKey"""
7086  return _IMP_core.HierarchyTraits_get_children_key(self)
7087 
7088  def get_parent_key(self):
7089  r"""get_parent_key(HierarchyTraits self) -> ParticleIndexKey"""
7090  return _IMP_core.HierarchyTraits_get_parent_key(self)
7091 
7092  def __eq__(self, o):
7093  r"""__eq__(HierarchyTraits self, HierarchyTraits o) -> bool"""
7094  return _IMP_core.HierarchyTraits___eq__(self, o)
7095 
7096  def show(self, *args):
7097  r"""show(HierarchyTraits self, _ostream out=std::cout)"""
7098  return _IMP_core.HierarchyTraits_show(self, *args)
7099 
7100  def __str__(self):
7101  r"""__str__(HierarchyTraits self) -> std::string"""
7102  return _IMP_core.HierarchyTraits___str__(self)
7103 
7104  def __repr__(self):
7105  r"""__repr__(HierarchyTraits self) -> std::string"""
7106  return _IMP_core.HierarchyTraits___repr__(self)
7107  __swig_destroy__ = _IMP_core.delete_HierarchyTraits
7108 
7109 # Register HierarchyTraits in _IMP_core:
7110 _IMP_core.HierarchyTraits_swigregister(HierarchyTraits)
7111 class Hierarchy(IMP.Decorator):
7112  r"""Proxy of C++ IMP::core::Hierarchy class."""
7113 
7114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7115 
7116  def get_decorator_traits(self):
7117  r"""get_decorator_traits(Hierarchy self) -> HierarchyTraits"""
7118  return _IMP_core.Hierarchy_get_decorator_traits(self)
7119 
7120  @staticmethod
7121  def get_default_decorator_traits():
7122  r"""get_default_decorator_traits() -> HierarchyTraits"""
7123  return _IMP_core.Hierarchy_get_default_decorator_traits()
7124 
7125  def __init__(self, *args):
7126  r"""
7127  __init__(Hierarchy self) -> Hierarchy
7128  __init__(Hierarchy self, Model m, ParticleIndex id, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7129  __init__(Hierarchy self, _ParticleAdaptor d, HierarchyTraits tr=get_default_traits()) -> Hierarchy
7130  """
7131  _IMP_core.Hierarchy_swiginit(self, _IMP_core.new_Hierarchy(*args))
7132 
7133  def show(self, *args):
7134  r"""show(Hierarchy self, _ostream out=std::cout)"""
7135  return _IMP_core.Hierarchy_show(self, *args)
7136 
7137  @staticmethod
7138  def setup_particle(*args):
7139  r"""
7140  setup_particle(Model m, ParticleIndex pi, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7141  setup_particle(_ParticleAdaptor d, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7142  setup_particle(Model m, ParticleIndex pi, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7143  setup_particle(_ParticleAdaptor d, IMP::ParticleIndexes children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7144  setup_particle(Model m, ParticleIndex pi, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7145  setup_particle(_ParticleAdaptor d, IMP::ParticlesTemp children, HierarchyTraits tr=IMP::core::Hierarchy::get_default_decorator_traits()) -> Hierarchy
7146  """
7147  return _IMP_core.Hierarchy_setup_particle(*args)
7148 
7149  @staticmethod
7150  def get_is_setup(*args):
7151  r"""
7152  get_is_setup(_ParticleAdaptor p, HierarchyTraits tr=get_default_traits()) -> bool
7153  get_is_setup(Model arg1, ParticleIndex arg2, HierarchyTraits arg3=Hierarchy::get_default_traits()) -> bool
7154  """
7155  return _IMP_core.Hierarchy_get_is_setup(*args)
7156 
7157  @staticmethod
7158  def get_changed_key():
7159  r"""get_changed_key() -> TriggerKey"""
7160  return _IMP_core.Hierarchy_get_changed_key()
7161 
7162  def get_parent(self):
7163  r"""get_parent(Hierarchy self) -> Hierarchy"""
7164  return _IMP_core.Hierarchy_get_parent(self)
7165 
7166  def get_number_of_children(self):
7167  r"""get_number_of_children(Hierarchy self) -> unsigned int"""
7168  return _IMP_core.Hierarchy_get_number_of_children(self)
7169 
7170  def get_child(self, i):
7171  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
7172  return _IMP_core.Hierarchy_get_child(self, i)
7173 
7174  def get_children_indexes(self):
7175  r"""get_children_indexes(Hierarchy self) -> IMP::ParticleIndexes"""
7176  return _IMP_core.Hierarchy_get_children_indexes(self)
7177 
7178  def get_children(self):
7179  r"""get_children(Hierarchy self) -> IMP::core::GenericHierarchies"""
7180  return _IMP_core.Hierarchy_get_children(self)
7181 
7182  def remove_child(self, *args):
7183  r"""
7184  remove_child(Hierarchy self, unsigned int i)
7185  remove_child(Hierarchy self, Hierarchy h)
7186  """
7187  return _IMP_core.Hierarchy_remove_child(self, *args)
7188 
7189  def clear_children(self):
7190  r"""clear_children(Hierarchy self)"""
7191  return _IMP_core.Hierarchy_clear_children(self)
7192 
7193  def add_child(self, h):
7194  r"""add_child(Hierarchy self, Hierarchy h)"""
7195  return _IMP_core.Hierarchy_add_child(self, h)
7196 
7197  def add_child_at(self, h, pos):
7198  r"""add_child_at(Hierarchy self, Hierarchy h, unsigned int pos)"""
7199  return _IMP_core.Hierarchy_add_child_at(self, h, pos)
7200 
7201  def get_child_index(self, *args):
7202  r"""
7203  get_child_index(Hierarchy self, unsigned int i) -> ParticleIndex
7204  get_child_index(Hierarchy self) -> int
7205  """
7206  return _IMP_core.Hierarchy_get_child_index(self, *args)
7207 
7208  @staticmethod
7209  def get_default_traits():
7210  r"""get_default_traits() -> HierarchyTraits"""
7211  return _IMP_core.Hierarchy_get_default_traits()
7212 
7213  def get_traits(self):
7214  r"""get_traits(Hierarchy self) -> HierarchyTraits"""
7215  return _IMP_core.Hierarchy_get_traits(self)
7216 
7217  def add_attribute(self, *args):
7218  r"""
7219  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
7220  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
7221  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
7222  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7223  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
7224  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
7225  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
7226  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
7227  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7228  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7229  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
7230  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7231  """
7232  return _IMP_core.Hierarchy_add_attribute(self, *args)
7233 
7234  def get_value(self, *args):
7235  r"""
7236  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
7237  get_value(Hierarchy self, IntKey a0) -> IMP::Int
7238  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
7239  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
7240  get_value(Hierarchy self, StringKey a0) -> IMP::String
7241  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
7242  get_value(Hierarchy self, ObjectKey a0) -> Object
7243  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
7244  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
7245  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
7246  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
7247  """
7248  return _IMP_core.Hierarchy_get_value(self, *args)
7249 
7250  def set_value(self, *args):
7251  r"""
7252  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
7253  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
7254  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
7255  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
7256  set_value(Hierarchy self, StringKey a0, IMP::String a1)
7257  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
7258  set_value(Hierarchy self, ObjectKey a0, Object a1)
7259  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
7260  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
7261  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
7262  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
7263  """
7264  return _IMP_core.Hierarchy_set_value(self, *args)
7265 
7266  def remove_attribute(self, *args):
7267  r"""
7268  remove_attribute(Hierarchy self, FloatKey a0)
7269  remove_attribute(Hierarchy self, IntKey a0)
7270  remove_attribute(Hierarchy self, FloatsKey a0)
7271  remove_attribute(Hierarchy self, IntsKey a0)
7272  remove_attribute(Hierarchy self, StringKey a0)
7273  remove_attribute(Hierarchy self, ParticleIndexKey a0)
7274  remove_attribute(Hierarchy self, ObjectKey a0)
7275  remove_attribute(Hierarchy self, SparseFloatKey a0)
7276  remove_attribute(Hierarchy self, SparseIntKey a0)
7277  remove_attribute(Hierarchy self, SparseStringKey a0)
7278  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
7279  """
7280  return _IMP_core.Hierarchy_remove_attribute(self, *args)
7281 
7282  def has_attribute(self, *args):
7283  r"""
7284  has_attribute(Hierarchy self, FloatKey a0) -> bool
7285  has_attribute(Hierarchy self, IntKey a0) -> bool
7286  has_attribute(Hierarchy self, FloatsKey a0) -> bool
7287  has_attribute(Hierarchy self, IntsKey a0) -> bool
7288  has_attribute(Hierarchy self, StringKey a0) -> bool
7289  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
7290  has_attribute(Hierarchy self, ObjectKey a0) -> bool
7291  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
7292  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
7293  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
7294  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
7295  """
7296  return _IMP_core.Hierarchy_has_attribute(self, *args)
7297 
7298  def get_derivative(self, a0):
7299  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
7300  return _IMP_core.Hierarchy_get_derivative(self, a0)
7301 
7302  def get_name(self):
7303  r"""get_name(Hierarchy self) -> std::string"""
7304  return _IMP_core.Hierarchy_get_name(self)
7305 
7306  def clear_caches(self):
7307  r"""clear_caches(Hierarchy self)"""
7308  return _IMP_core.Hierarchy_clear_caches(self)
7309 
7310  def set_name(self, a0):
7311  r"""set_name(Hierarchy self, std::string a0)"""
7312  return _IMP_core.Hierarchy_set_name(self, a0)
7313 
7314  def set_check_level(self, a0):
7315  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
7316  return _IMP_core.Hierarchy_set_check_level(self, a0)
7317 
7318  def add_to_derivative(self, a0, a1, a2):
7319  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7320  return _IMP_core.Hierarchy_add_to_derivative(self, a0, a1, a2)
7321 
7322  def set_is_optimized(self, a0, a1):
7323  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
7324  return _IMP_core.Hierarchy_set_is_optimized(self, a0, a1)
7325 
7326  def get_is_optimized(self, a0):
7327  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
7328  return _IMP_core.Hierarchy_get_is_optimized(self, a0)
7329 
7330  def get_check_level(self):
7331  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
7332  return _IMP_core.Hierarchy_get_check_level(self)
7333 
7334  def __eq__(self, *args):
7335  r"""
7336  __eq__(Hierarchy self, Hierarchy o) -> bool
7337  __eq__(Hierarchy self, Particle d) -> bool
7338  """
7339  return _IMP_core.Hierarchy___eq__(self, *args)
7340 
7341  def __ne__(self, *args):
7342  r"""
7343  __ne__(Hierarchy self, Hierarchy o) -> bool
7344  __ne__(Hierarchy self, Particle d) -> bool
7345  """
7346  return _IMP_core.Hierarchy___ne__(self, *args)
7347 
7348  def __le__(self, *args):
7349  r"""
7350  __le__(Hierarchy self, Hierarchy o) -> bool
7351  __le__(Hierarchy self, Particle d) -> bool
7352  """
7353  return _IMP_core.Hierarchy___le__(self, *args)
7354 
7355  def __lt__(self, *args):
7356  r"""
7357  __lt__(Hierarchy self, Hierarchy o) -> bool
7358  __lt__(Hierarchy self, Particle d) -> bool
7359  """
7360  return _IMP_core.Hierarchy___lt__(self, *args)
7361 
7362  def __ge__(self, *args):
7363  r"""
7364  __ge__(Hierarchy self, Hierarchy o) -> bool
7365  __ge__(Hierarchy self, Particle d) -> bool
7366  """
7367  return _IMP_core.Hierarchy___ge__(self, *args)
7368 
7369  def __gt__(self, *args):
7370  r"""
7371  __gt__(Hierarchy self, Hierarchy o) -> bool
7372  __gt__(Hierarchy self, Particle d) -> bool
7373  """
7374  return _IMP_core.Hierarchy___gt__(self, *args)
7375 
7376  def __hash__(self):
7377  r"""__hash__(Hierarchy self) -> std::size_t"""
7378  return _IMP_core.Hierarchy___hash__(self)
7379 
7380  def __str__(self):
7381  r"""__str__(Hierarchy self) -> std::string"""
7382  return _IMP_core.Hierarchy___str__(self)
7383 
7384  def __repr__(self):
7385  r"""__repr__(Hierarchy self) -> std::string"""
7386  return _IMP_core.Hierarchy___repr__(self)
7387  __swig_destroy__ = _IMP_core.delete_Hierarchy
7388 
7389 # Register Hierarchy in _IMP_core:
7390 _IMP_core.Hierarchy_swigregister(Hierarchy)
7391 class HierarchyVisitor(object):
7392  r"""Proxy of C++ IMP::core::HierarchyVisitor class."""
7393 
7394  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7395  __repr__ = _swig_repr
7396 
7397  def __init__(self):
7398  r"""__init__(HierarchyVisitor self) -> HierarchyVisitor"""
7399  if self.__class__ == HierarchyVisitor:
7400  _self = None
7401  else:
7402  _self = self
7403  _IMP_core.HierarchyVisitor_swiginit(self, _IMP_core.new_HierarchyVisitor(_self, ))
7404 
7405  if self.__class__ != HierarchyVisitor:
7406  _director_objects.register(self)
7407 
7408 
7409 
7410 
7411  def __call__(self, p):
7412  r"""__call__(HierarchyVisitor self, Hierarchy p) -> bool"""
7413  return _IMP_core.HierarchyVisitor___call__(self, p)
7414  __swig_destroy__ = _IMP_core.delete_HierarchyVisitor
7415  def __disown__(self):
7416  self.this.disown()
7417  _IMP_core.disown_HierarchyVisitor(self)
7418  return weakref.proxy(self)
7419 
7420 # Register HierarchyVisitor in _IMP_core:
7421 _IMP_core.HierarchyVisitor_swigregister(HierarchyVisitor)
7422 class ModifierVisitor(HierarchyVisitor):
7423  r"""Proxy of C++ IMP::core::ModifierVisitor class."""
7424 
7425  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7426  __repr__ = _swig_repr
7427 
7428  def __init__(self, sm):
7429  r"""__init__(ModifierVisitor self, SingletonModifier sm) -> ModifierVisitor"""
7430  _IMP_core.ModifierVisitor_swiginit(self, _IMP_core.new_ModifierVisitor(sm))
7431  __swig_destroy__ = _IMP_core.delete_ModifierVisitor
7432 
7433 # Register ModifierVisitor in _IMP_core:
7434 _IMP_core.ModifierVisitor_swigregister(ModifierVisitor)
7435 class HierarchyCounter(HierarchyVisitor):
7436  r"""Proxy of C++ IMP::core::HierarchyCounter class."""
7437 
7438  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7439 
7440  def __init__(self):
7441  r"""__init__(HierarchyCounter self) -> HierarchyCounter"""
7442  _IMP_core.HierarchyCounter_swiginit(self, _IMP_core.new_HierarchyCounter())
7443 
7444  def get_count(self):
7445  r"""get_count(HierarchyCounter self) -> unsigned int"""
7446  return _IMP_core.HierarchyCounter_get_count(self)
7447 
7448  def show(self, *args):
7449  r"""show(HierarchyCounter self, _ostream out=std::cout)"""
7450  return _IMP_core.HierarchyCounter_show(self, *args)
7451 
7452  def __str__(self):
7453  r"""__str__(HierarchyCounter self) -> std::string"""
7454  return _IMP_core.HierarchyCounter___str__(self)
7455 
7456  def __repr__(self):
7457  r"""__repr__(HierarchyCounter self) -> std::string"""
7458  return _IMP_core.HierarchyCounter___repr__(self)
7459 
7460  def _get_as_binary(self):
7461  r"""_get_as_binary(HierarchyCounter self) -> PyObject *"""
7462  return _IMP_core.HierarchyCounter__get_as_binary(self)
7463 
7464  def _set_from_binary(self, p):
7465  r"""_set_from_binary(HierarchyCounter self, PyObject * p)"""
7466  return _IMP_core.HierarchyCounter__set_from_binary(self, p)
7467 
7468  def __getstate__(self):
7469  p = self._get_as_binary()
7470  if len(self.__dict__) > 1:
7471  d = self.__dict__.copy()
7472  del d['this']
7473  p = (d, p)
7474  return p
7475 
7476  def __setstate__(self, p):
7477  if not hasattr(self, 'this'):
7478  self.__init__()
7479  if isinstance(p, tuple):
7480  d, p = p
7481  self.__dict__.update(d)
7482  return self._set_from_binary(p)
7483 
7484  __swig_destroy__ = _IMP_core.delete_HierarchyCounter
7485 
7486 # Register HierarchyCounter in _IMP_core:
7487 _IMP_core.HierarchyCounter_swigregister(HierarchyCounter)
7488 
7489 def get_leaves(mhd):
7490  r"""get_leaves(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7491  return _IMP_core.get_leaves(mhd)
7492 
7493 def get_internal(mhd):
7494  r"""get_internal(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7495  return _IMP_core.get_internal(mhd)
7496 
7497 def get_all_descendants(mhd):
7498  r"""get_all_descendants(Hierarchy mhd) -> IMP::core::GenericHierarchies"""
7499  return _IMP_core.get_all_descendants(mhd)
7500 
7501 def get_root(h):
7502  r"""get_root(Hierarchy h) -> Hierarchy"""
7503  return _IMP_core.get_root(h)
7504 
7505 def visit_breadth_first(d, f):
7506  r"""visit_breadth_first(Hierarchy d, HierarchyVisitor f)"""
7507  return _IMP_core.visit_breadth_first(d, f)
7508 
7509 def visit_depth_first(d, f):
7510  r"""visit_depth_first(Hierarchy d, HierarchyVisitor f)"""
7511  return _IMP_core.visit_depth_first(d, f)
7512 class LeavesRefiner(IMP.Refiner):
7513  r"""Proxy of C++ IMP::core::LeavesRefiner class."""
7514 
7515  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7516 
7517  def __init__(self, tr):
7518  r"""__init__(LeavesRefiner self, HierarchyTraits tr) -> LeavesRefiner"""
7519  _IMP_core.LeavesRefiner_swiginit(self, _IMP_core.new_LeavesRefiner(tr))
7520 
7521  def do_get_inputs(self, m, pis):
7522  r"""do_get_inputs(LeavesRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7523  return _IMP_core.LeavesRefiner_do_get_inputs(self, m, pis)
7524 
7525  def get_version_info(self):
7526  r"""get_version_info(LeavesRefiner self) -> VersionInfo"""
7527  return _IMP_core.LeavesRefiner_get_version_info(self)
7528  __swig_destroy__ = _IMP_core.delete_LeavesRefiner
7529 
7530  def __str__(self):
7531  r"""__str__(LeavesRefiner self) -> std::string"""
7532  return _IMP_core.LeavesRefiner___str__(self)
7533 
7534  def __repr__(self):
7535  r"""__repr__(LeavesRefiner self) -> std::string"""
7536  return _IMP_core.LeavesRefiner___repr__(self)
7537 
7538  @staticmethod
7539  def get_from(o):
7540  return _object_cast_to_LeavesRefiner(o)
7541 
7542 
7543 # Register LeavesRefiner in _IMP_core:
7544 _IMP_core.LeavesRefiner_swigregister(LeavesRefiner)
7545 class Linear(IMP.UnaryFunction):
7546  r"""Proxy of C++ IMP::core::Linear class."""
7547 
7548  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7549 
7550  def __init__(self, *args):
7551  r"""
7552  __init__(Linear self, double offset, double slope) -> Linear
7553  __init__(Linear self) -> Linear
7554  """
7555  _IMP_core.Linear_swiginit(self, _IMP_core.new_Linear(*args))
7556 
7557  def set_slope(self, f):
7558  r"""set_slope(Linear self, double f)"""
7559  return _IMP_core.Linear_set_slope(self, f)
7560 
7561  def get_slope(self):
7562  r"""get_slope(Linear self) -> double"""
7563  return _IMP_core.Linear_get_slope(self)
7564 
7565  def set_offset(self, f):
7566  r"""set_offset(Linear self, double f)"""
7567  return _IMP_core.Linear_set_offset(self, f)
7568 
7569  def get_offset(self):
7570  r"""get_offset(Linear self) -> double"""
7571  return _IMP_core.Linear_get_offset(self)
7572 
7573  def get_version_info(self):
7574  r"""get_version_info(Linear self) -> VersionInfo"""
7575  return _IMP_core.Linear_get_version_info(self)
7576  __swig_destroy__ = _IMP_core.delete_Linear
7577 
7578  def __str__(self):
7579  r"""__str__(Linear self) -> std::string"""
7580  return _IMP_core.Linear___str__(self)
7581 
7582  def __repr__(self):
7583  r"""__repr__(Linear self) -> std::string"""
7584  return _IMP_core.Linear___repr__(self)
7585 
7586  @staticmethod
7587  def get_from(o):
7588  return _object_cast_to_Linear(o)
7589 
7590 
7591  def _get_as_binary(self):
7592  r"""_get_as_binary(Linear self) -> PyObject *"""
7593  return _IMP_core.Linear__get_as_binary(self)
7594 
7595  def _set_from_binary(self, p):
7596  r"""_set_from_binary(Linear self, PyObject * p)"""
7597  return _IMP_core.Linear__set_from_binary(self, p)
7598 
7599  def __getstate__(self):
7600  p = self._get_as_binary()
7601  if len(self.__dict__) > 1:
7602  d = self.__dict__.copy()
7603  del d['this']
7604  p = (d, p)
7605  return p
7606 
7607  def __setstate__(self, p):
7608  if not hasattr(self, 'this'):
7609  self.__init__()
7610  if isinstance(p, tuple):
7611  d, p = p
7612  self.__dict__.update(d)
7613  return self._set_from_binary(p)
7614 
7615 
7616  def _get_jax(self):
7617  def score(val, slope, offset):
7618  return (val - offset) * slope
7619  return functools.partial(score, slope=self.get_slope(),
7620  offset=self.get_offset())
7621 
7622 
7623 # Register Linear in _IMP_core:
7624 _IMP_core.Linear_swigregister(Linear)
7625 class LogNormalMover(MonteCarloMover):
7626  r"""Proxy of C++ IMP::core::LogNormalMover class."""
7627 
7628  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7629 
7630  def __init__(self, *args):
7631  r"""
7632  __init__(LogNormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> LogNormalMover
7633  __init__(LogNormalMover self, Model m, ParticleIndex pi, double stddev) -> LogNormalMover
7634  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> LogNormalMover
7635  __init__(LogNormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> LogNormalMover
7636  __init__(LogNormalMover self) -> LogNormalMover
7637  """
7638  _IMP_core.LogNormalMover_swiginit(self, _IMP_core.new_LogNormalMover(*args))
7639 
7640  def set_sigma(self, sigma):
7641  r"""set_sigma(LogNormalMover self, IMP::Float sigma)"""
7642  return _IMP_core.LogNormalMover_set_sigma(self, sigma)
7643 
7644  def get_sigma(self):
7645  r"""get_sigma(LogNormalMover self) -> IMP::Float"""
7646  return _IMP_core.LogNormalMover_get_sigma(self)
7647 
7648  def get_indexes(self):
7649  r"""get_indexes(LogNormalMover self) -> IMP::ParticleIndexes"""
7650  return _IMP_core.LogNormalMover_get_indexes(self)
7651 
7652  def get_keys(self):
7653  r"""get_keys(LogNormalMover self) -> IMP::FloatKeys"""
7654  return _IMP_core.LogNormalMover_get_keys(self)
7655 
7656  def get_version_info(self):
7657  r"""get_version_info(LogNormalMover self) -> VersionInfo"""
7658  return _IMP_core.LogNormalMover_get_version_info(self)
7659  __swig_destroy__ = _IMP_core.delete_LogNormalMover
7660 
7661  def __str__(self):
7662  r"""__str__(LogNormalMover self) -> std::string"""
7663  return _IMP_core.LogNormalMover___str__(self)
7664 
7665  def __repr__(self):
7666  r"""__repr__(LogNormalMover self) -> std::string"""
7667  return _IMP_core.LogNormalMover___repr__(self)
7668 
7669  @staticmethod
7670  def get_from(o):
7671  return _object_cast_to_LogNormalMover(o)
7672 
7673 
7674  def _get_as_binary(self):
7675  r"""_get_as_binary(LogNormalMover self) -> PyObject *"""
7676  return _IMP_core.LogNormalMover__get_as_binary(self)
7677 
7678  def _set_from_binary(self, p):
7679  r"""_set_from_binary(LogNormalMover self, PyObject * p)"""
7680  return _IMP_core.LogNormalMover__set_from_binary(self, p)
7681 
7682  def __getstate__(self):
7683  p = self._get_as_binary()
7684  if len(self.__dict__) > 1:
7685  d = self.__dict__.copy()
7686  del d['this']
7687  p = (d, p)
7688  return p
7689 
7690  def __setstate__(self, p):
7691  if not hasattr(self, 'this'):
7692  self.__init__()
7693  if isinstance(p, tuple):
7694  d, p = p
7695  self.__dict__.update(d)
7696  return self._set_from_binary(p)
7697 
7698 
7699  def _get_jax(self, space):
7700  import jax.random
7701  from IMP.core._jax_util import _get_offset_propose_func
7702  keys = self.get_keys()
7703  sigma = self.get_sigma()
7704 
7705  def offset_func(key, shape):
7706  key, subkey = jax.random.split(key)
7707  return key, jax.random.lognormal(subkey, sigma, shape)
7708 
7709  propose_func, keys = _get_offset_propose_func(
7710  self.get_indexes(), keys, offset_func)
7711 
7712  return self._wrap_jax(lambda key: key, propose_func, keys=keys)
7713 
7714 
7715 # Register LogNormalMover in _IMP_core:
7716 _IMP_core.LogNormalMover_swigregister(LogNormalMover)
7717 IMP_CORE_HAS_MONTE_CARLO_MOVER = _IMP_core.IMP_CORE_HAS_MONTE_CARLO_MOVER
7718 
7719 class MonteCarlo(IMP.Optimizer):
7720  r"""Proxy of C++ IMP::core::MonteCarlo class."""
7721 
7722  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7723 
7724  def __init__(self, *args):
7725  r"""
7726  __init__(MonteCarlo self, Model m) -> MonteCarlo
7727  __init__(MonteCarlo self) -> MonteCarlo
7728  """
7729  _IMP_core.MonteCarlo_swiginit(self, _IMP_core.new_MonteCarlo(*args))
7730 
7731  def get_version_info(self):
7732  r"""get_version_info(MonteCarlo self) -> VersionInfo"""
7733  return _IMP_core.MonteCarlo_get_version_info(self)
7734  __swig_destroy__ = _IMP_core.delete_MonteCarlo
7735 
7736  def set_return_best(self, tf):
7737  r"""set_return_best(MonteCarlo self, bool tf)"""
7738  return _IMP_core.MonteCarlo_set_return_best(self, tf)
7739 
7740  def get_return_best(self):
7741  r"""get_return_best(MonteCarlo self) -> bool"""
7742  return _IMP_core.MonteCarlo_get_return_best(self)
7743 
7744  def set_score_moved(self, mv):
7745  r"""set_score_moved(MonteCarlo self, bool mv)"""
7746  return _IMP_core.MonteCarlo_set_score_moved(self, mv)
7747 
7748  def set_kt(self, t):
7749  r"""set_kt(MonteCarlo self, IMP::Float t)"""
7750  return _IMP_core.MonteCarlo_set_kt(self, t)
7751 
7752  def get_kt(self):
7753  r"""get_kt(MonteCarlo self) -> IMP::Float"""
7754  return _IMP_core.MonteCarlo_get_kt(self)
7755 
7756  def get_last_accepted_energy(self):
7757  r"""get_last_accepted_energy(MonteCarlo self) -> double"""
7758  return _IMP_core.MonteCarlo_get_last_accepted_energy(self)
7759 
7760  def set_last_accepted_energy(self, energy):
7761  r"""set_last_accepted_energy(MonteCarlo self, double energy)"""
7762  return _IMP_core.MonteCarlo_set_last_accepted_energy(self, energy)
7763 
7764  def get_best_accepted_energy(self):
7765  r"""get_best_accepted_energy(MonteCarlo self) -> double"""
7766  return _IMP_core.MonteCarlo_get_best_accepted_energy(self)
7767 
7768  def set_best_accepted_energy(self, energy):
7769  r"""set_best_accepted_energy(MonteCarlo self, double energy)"""
7770  return _IMP_core.MonteCarlo_set_best_accepted_energy(self, energy)
7771 
7772  def get_number_of_downward_steps(self):
7773  r"""get_number_of_downward_steps(MonteCarlo self) -> unsigned int"""
7774  return _IMP_core.MonteCarlo_get_number_of_downward_steps(self)
7775 
7776  def get_number_of_upward_steps(self):
7777  r"""get_number_of_upward_steps(MonteCarlo self) -> unsigned int"""
7778  return _IMP_core.MonteCarlo_get_number_of_upward_steps(self)
7779 
7780  def get_number_of_proposed_steps(self):
7781  r"""get_number_of_proposed_steps(MonteCarlo self) -> unsigned int"""
7782  return _IMP_core.MonteCarlo_get_number_of_proposed_steps(self)
7783 
7784  def get_number_of_accepted_steps(self):
7785  r"""get_number_of_accepted_steps(MonteCarlo self) -> unsigned int"""
7786  return _IMP_core.MonteCarlo_get_number_of_accepted_steps(self)
7787 
7788  def set_number_of_downward_steps(self, nsteps):
7789  r"""set_number_of_downward_steps(MonteCarlo self, unsigned int nsteps)"""
7790  return _IMP_core.MonteCarlo_set_number_of_downward_steps(self, nsteps)
7791 
7792  def set_number_of_upward_steps(self, nsteps):
7793  r"""set_number_of_upward_steps(MonteCarlo self, unsigned int nsteps)"""
7794  return _IMP_core.MonteCarlo_set_number_of_upward_steps(self, nsteps)
7795 
7796  def set_number_of_rejected_steps(self, nsteps):
7797  r"""set_number_of_rejected_steps(MonteCarlo self, unsigned int nsteps)"""
7798  return _IMP_core.MonteCarlo_set_number_of_rejected_steps(self, nsteps)
7799 
7800  def reset_statistics(self):
7801  r"""reset_statistics(MonteCarlo self)"""
7802  return _IMP_core.MonteCarlo_reset_statistics(self)
7803 
7804  def set_score_threshold(self, s):
7805  r"""set_score_threshold(MonteCarlo self, double s)"""
7806  return _IMP_core.MonteCarlo_set_score_threshold(self, s)
7807 
7808  def get_score_threshold(self):
7809  r"""get_score_threshold(MonteCarlo self) -> double"""
7810  return _IMP_core.MonteCarlo_get_score_threshold(self)
7811 
7812  def set_maximum_difference(self, d):
7813  r"""set_maximum_difference(MonteCarlo self, double d)"""
7814  return _IMP_core.MonteCarlo_set_maximum_difference(self, d)
7815 
7816  def get_maximum_difference(self):
7817  r"""get_maximum_difference(MonteCarlo self) -> double"""
7818  return _IMP_core.MonteCarlo_get_maximum_difference(self)
7819  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)
7820  def __set_movers(self, obj): IMP._list_util.set_varlist(self.movers, obj)
7821  def __del_movers(self): IMP._list_util.del_varlist(self.movers)
7822  movers = property(__get_movers, __set_movers, __del_movers, doc="List of ##ucnames")
7823 
7824  def remove_mover(self, d):
7825  r"""remove_mover(MonteCarlo self, MonteCarloMover d)"""
7826  return _IMP_core.MonteCarlo_remove_mover(self, d)
7827 
7828  def _python_index_mover(self, d, start, stop):
7829  r"""_python_index_mover(MonteCarlo self, MonteCarloMover d, unsigned int start, unsigned int stop) -> unsigned int"""
7830  return _IMP_core.MonteCarlo__python_index_mover(self, d, start, stop)
7831 
7832  def remove_movers(self, d):
7833  r"""remove_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & d)"""
7834  return _IMP_core.MonteCarlo_remove_movers(self, d)
7835 
7836  def set_movers(self, ps):
7837  r"""set_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & ps)"""
7838  return _IMP_core.MonteCarlo_set_movers(self, ps)
7839 
7840  def set_movers_order(self, objs):
7841  r"""set_movers_order(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7842  return _IMP_core.MonteCarlo_set_movers_order(self, objs)
7843 
7844  def add_mover(self, obj):
7845  r"""add_mover(MonteCarlo self, MonteCarloMover obj) -> unsigned int"""
7846  return _IMP_core.MonteCarlo_add_mover(self, obj)
7847 
7848  def add_movers(self, objs):
7849  r"""add_movers(MonteCarlo self, IMP::core::MonteCarloMovers const & objs)"""
7850  return _IMP_core.MonteCarlo_add_movers(self, objs)
7851 
7852  def clear_movers(self):
7853  r"""clear_movers(MonteCarlo self)"""
7854  return _IMP_core.MonteCarlo_clear_movers(self)
7855 
7856  def get_number_of_movers(self):
7857  r"""get_number_of_movers(MonteCarlo self) -> unsigned int"""
7858  return _IMP_core.MonteCarlo_get_number_of_movers(self)
7859 
7860  def get_has_movers(self):
7861  r"""get_has_movers(MonteCarlo self) -> bool"""
7862  return _IMP_core.MonteCarlo_get_has_movers(self)
7863 
7864  def get_mover(self, i):
7865  r"""get_mover(MonteCarlo self, unsigned int i) -> MonteCarloMover"""
7866  return _IMP_core.MonteCarlo_get_mover(self, i)
7867 
7868  def get_movers(self):
7869  r"""get_movers(MonteCarlo self) -> IMP::core::MonteCarloMovers"""
7870  return _IMP_core.MonteCarlo_get_movers(self)
7871 
7872  def erase_mover(self, i):
7873  r"""erase_mover(MonteCarlo self, unsigned int i)"""
7874  return _IMP_core.MonteCarlo_erase_mover(self, i)
7875 
7876  def reserve_movers(self, sz):
7877  r"""reserve_movers(MonteCarlo self, unsigned int sz)"""
7878  return _IMP_core.MonteCarlo_reserve_movers(self, sz)
7879 
7880  def __str__(self):
7881  r"""__str__(MonteCarlo self) -> std::string"""
7882  return _IMP_core.MonteCarlo___str__(self)
7883 
7884  def __repr__(self):
7885  r"""__repr__(MonteCarlo self) -> std::string"""
7886  return _IMP_core.MonteCarlo___repr__(self)
7887 
7888  @staticmethod
7889  def get_from(o):
7890  return _object_cast_to_MonteCarlo(o)
7891 
7892 
7893  def _get_as_binary(self):
7894  r"""_get_as_binary(MonteCarlo self) -> PyObject *"""
7895  return _IMP_core.MonteCarlo__get_as_binary(self)
7896 
7897  def _set_from_binary(self, p):
7898  r"""_set_from_binary(MonteCarlo self, PyObject * p)"""
7899  return _IMP_core.MonteCarlo__set_from_binary(self, p)
7900 
7901  def __getstate__(self):
7902  p = self._get_as_binary()
7903  if len(self.__dict__) > 1:
7904  d = self.__dict__.copy()
7905  del d['this']
7906  p = (d, p)
7907  return p
7908 
7909  def __setstate__(self, p):
7910  if not hasattr(self, 'this'):
7911  self.__init__()
7912  if isinstance(p, tuple):
7913  d, p = p
7914  self.__dict__.update(d)
7915  return self._set_from_binary(p)
7916 
7917 
7918  def _get_jax(self, space=None):
7919  from IMP.core._jax_util import _MCJAXInfo
7920  return _MCJAXInfo(self, space)
7921 
7922  def _get_jax_optimizer(self, max_steps, space=None):
7923  import IMP.core._jax_util
7924  return IMP.core._jax_util._MCJAXOptimizer(self, max_steps, space)
7925 
7926  def _optimize_jax(self, max_steps, space=None):
7927  opt = self._get_jax_optimizer(max_steps, space=space)
7928  score, mc_state = opt.optimize(opt.get_initial_state())
7929  return score
7930 
7931 
7932 # Register MonteCarlo in _IMP_core:
7933 _IMP_core.MonteCarlo_swigregister(MonteCarlo)
7934 class MonteCarloWithLocalOptimization(MonteCarlo):
7935  r"""Proxy of C++ IMP::core::MonteCarloWithLocalOptimization class."""
7936 
7937  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7938 
7939  def __init__(self, opt, steps):
7940  r"""__init__(MonteCarloWithLocalOptimization self, Optimizer opt, unsigned int steps) -> MonteCarloWithLocalOptimization"""
7941  _IMP_core.MonteCarloWithLocalOptimization_swiginit(self, _IMP_core.new_MonteCarloWithLocalOptimization(opt, steps))
7942 
7943  def get_number_of_steps(self):
7944  r"""get_number_of_steps(MonteCarloWithLocalOptimization self) -> unsigned int"""
7945  return _IMP_core.MonteCarloWithLocalOptimization_get_number_of_steps(self)
7946 
7947  def get_local_optimizer(self):
7948  r"""get_local_optimizer(MonteCarloWithLocalOptimization self) -> Optimizer"""
7949  return _IMP_core.MonteCarloWithLocalOptimization_get_local_optimizer(self)
7950  __swig_destroy__ = _IMP_core.delete_MonteCarloWithLocalOptimization
7951 
7952  def __str__(self):
7953  r"""__str__(MonteCarloWithLocalOptimization self) -> std::string"""
7954  return _IMP_core.MonteCarloWithLocalOptimization___str__(self)
7955 
7956  def __repr__(self):
7957  r"""__repr__(MonteCarloWithLocalOptimization self) -> std::string"""
7958  return _IMP_core.MonteCarloWithLocalOptimization___repr__(self)
7959 
7960  @staticmethod
7961  def get_from(o):
7962  return _object_cast_to_MonteCarloWithLocalOptimization(o)
7963 
7964 
7965 # Register MonteCarloWithLocalOptimization in _IMP_core:
7966 _IMP_core.MonteCarloWithLocalOptimization_swigregister(MonteCarloWithLocalOptimization)
7967 class MonteCarloWithBasinHopping(MonteCarloWithLocalOptimization):
7968  r"""Proxy of C++ IMP::core::MonteCarloWithBasinHopping class."""
7969 
7970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7971 
7972  def __init__(self, opt, ns):
7973  r"""__init__(MonteCarloWithBasinHopping self, Optimizer opt, unsigned int ns) -> MonteCarloWithBasinHopping"""
7974  _IMP_core.MonteCarloWithBasinHopping_swiginit(self, _IMP_core.new_MonteCarloWithBasinHopping(opt, ns))
7975  __swig_destroy__ = _IMP_core.delete_MonteCarloWithBasinHopping
7976 
7977  def __str__(self):
7978  r"""__str__(MonteCarloWithBasinHopping self) -> std::string"""
7979  return _IMP_core.MonteCarloWithBasinHopping___str__(self)
7980 
7981  def __repr__(self):
7982  r"""__repr__(MonteCarloWithBasinHopping self) -> std::string"""
7983  return _IMP_core.MonteCarloWithBasinHopping___repr__(self)
7984 
7985  @staticmethod
7986  def get_from(o):
7987  return _object_cast_to_MonteCarloWithBasinHopping(o)
7988 
7989 
7990 # Register MonteCarloWithBasinHopping in _IMP_core:
7991 _IMP_core.MonteCarloWithBasinHopping_swigregister(MonteCarloWithBasinHopping)
7992 class NeighborsTable(IMP.ScoreState):
7993  r"""Proxy of C++ IMP::core::NeighborsTable class."""
7994 
7995  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7996 
7997  def __init__(self, *args):
7998  r"""__init__(NeighborsTable self, PairContainer input, std::string name="CloseNeighborsTable%1%") -> NeighborsTable"""
7999  _IMP_core.NeighborsTable_swiginit(self, _IMP_core.new_NeighborsTable(*args))
8000 
8001  def get_neighbors(self, pi):
8002  r"""get_neighbors(NeighborsTable self, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
8003  return _IMP_core.NeighborsTable_get_neighbors(self, pi)
8004 
8005  def get_version_info(self):
8006  r"""get_version_info(NeighborsTable self) -> VersionInfo"""
8007  return _IMP_core.NeighborsTable_get_version_info(self)
8008  __swig_destroy__ = _IMP_core.delete_NeighborsTable
8009 
8010  def __str__(self):
8011  r"""__str__(NeighborsTable self) -> std::string"""
8012  return _IMP_core.NeighborsTable___str__(self)
8013 
8014  def __repr__(self):
8015  r"""__repr__(NeighborsTable self) -> std::string"""
8016  return _IMP_core.NeighborsTable___repr__(self)
8017 
8018  @staticmethod
8019  def get_from(o):
8020  return _object_cast_to_NeighborsTable(o)
8021 
8022 
8023 # Register NeighborsTable in _IMP_core:
8024 _IMP_core.NeighborsTable_swigregister(NeighborsTable)
8025 class NormalMover(MonteCarloMover):
8026  r"""Proxy of C++ IMP::core::NormalMover class."""
8027 
8028  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8029 
8030  def __init__(self, *args):
8031  r"""
8032  __init__(NormalMover self, Model m, ParticleIndex pi, IMP::FloatKeys const & vars, double stddev) -> NormalMover
8033  __init__(NormalMover self, Model m, ParticleIndex pi, double stddev) -> NormalMover
8034  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::FloatKeys const & vars, IMP::Float sigma) -> NormalMover
8035  __init__(NormalMover self, IMP::ParticlesTemp const & sc, IMP::Float radius) -> NormalMover
8036  __init__(NormalMover self) -> NormalMover
8037  """
8038  _IMP_core.NormalMover_swiginit(self, _IMP_core.new_NormalMover(*args))
8039 
8040  def set_sigma(self, sigma):
8041  r"""set_sigma(NormalMover self, IMP::Float sigma)"""
8042  return _IMP_core.NormalMover_set_sigma(self, sigma)
8043 
8044  def get_sigma(self):
8045  r"""get_sigma(NormalMover self) -> IMP::Float"""
8046  return _IMP_core.NormalMover_get_sigma(self)
8047 
8048  def get_indexes(self):
8049  r"""get_indexes(NormalMover self) -> IMP::ParticleIndexes"""
8050  return _IMP_core.NormalMover_get_indexes(self)
8051 
8052  def get_keys(self):
8053  r"""get_keys(NormalMover self) -> IMP::FloatKeys"""
8054  return _IMP_core.NormalMover_get_keys(self)
8055 
8056  def get_version_info(self):
8057  r"""get_version_info(NormalMover self) -> VersionInfo"""
8058  return _IMP_core.NormalMover_get_version_info(self)
8059  __swig_destroy__ = _IMP_core.delete_NormalMover
8060 
8061  def __str__(self):
8062  r"""__str__(NormalMover self) -> std::string"""
8063  return _IMP_core.NormalMover___str__(self)
8064 
8065  def __repr__(self):
8066  r"""__repr__(NormalMover self) -> std::string"""
8067  return _IMP_core.NormalMover___repr__(self)
8068 
8069  @staticmethod
8070  def get_from(o):
8071  return _object_cast_to_NormalMover(o)
8072 
8073 
8074  def _get_as_binary(self):
8075  r"""_get_as_binary(NormalMover self) -> PyObject *"""
8076  return _IMP_core.NormalMover__get_as_binary(self)
8077 
8078  def _set_from_binary(self, p):
8079  r"""_set_from_binary(NormalMover self, PyObject * p)"""
8080  return _IMP_core.NormalMover__set_from_binary(self, p)
8081 
8082  def __getstate__(self):
8083  p = self._get_as_binary()
8084  if len(self.__dict__) > 1:
8085  d = self.__dict__.copy()
8086  del d['this']
8087  p = (d, p)
8088  return p
8089 
8090  def __setstate__(self, p):
8091  if not hasattr(self, 'this'):
8092  self.__init__()
8093  if isinstance(p, tuple):
8094  d, p = p
8095  self.__dict__.update(d)
8096  return self._set_from_binary(p)
8097 
8098 
8099  def _get_jax(self, space):
8100  import jax.random
8101  from IMP.core._jax_util import _get_offset_propose_func
8102  keys = self.get_keys()
8103  sigma = self.get_sigma()
8104 
8105  def offset_func(key, shape):
8106  key, subkey = jax.random.split(key)
8107  return key, jax.random.normal(subkey, shape) * sigma
8108 
8109  propose_func, keys = _get_offset_propose_func(
8110  self.get_indexes(), keys, offset_func)
8111 
8112  return self._wrap_jax(lambda key: key, propose_func, keys=keys)
8113 
8114 
8115 # Register NormalMover in _IMP_core:
8116 _IMP_core.NormalMover_swigregister(NormalMover)
8117 class OpenCubicSpline(_OpenCubicSplineBase):
8118  r"""Proxy of C++ IMP::core::OpenCubicSpline class."""
8119 
8120  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8121 
8122  def __init__(self, values, minrange, spacing, extend=False):
8123  r"""__init__(OpenCubicSpline self, IMP::Floats const & values, IMP::Float minrange, IMP::Float spacing, bool extend=False) -> OpenCubicSpline"""
8124  _IMP_core.OpenCubicSpline_swiginit(self, _IMP_core.new_OpenCubicSpline(values, minrange, spacing, extend))
8125 
8126  def get_minrange(self):
8127  r"""get_minrange(OpenCubicSpline self) -> IMP::Float"""
8128  return _IMP_core.OpenCubicSpline_get_minrange(self)
8129 
8130  def get_spacing(self):
8131  r"""get_spacing(OpenCubicSpline self) -> IMP::Float"""
8132  return _IMP_core.OpenCubicSpline_get_spacing(self)
8133 
8134  def get_values(self):
8135  r"""get_values(OpenCubicSpline self) -> IMP::Floats"""
8136  return _IMP_core.OpenCubicSpline_get_values(self)
8137 
8138  def get_extend(self):
8139  r"""get_extend(OpenCubicSpline self) -> bool"""
8140  return _IMP_core.OpenCubicSpline_get_extend(self)
8141 
8142  def get_second_derivatives(self):
8143  r"""get_second_derivatives(OpenCubicSpline self) -> IMP::Floats"""
8144  return _IMP_core.OpenCubicSpline_get_second_derivatives(self)
8145 
8146  def __str__(self):
8147  r"""__str__(OpenCubicSpline self) -> std::string"""
8148  return _IMP_core.OpenCubicSpline___str__(self)
8149 
8150  def __repr__(self):
8151  r"""__repr__(OpenCubicSpline self) -> std::string"""
8152  return _IMP_core.OpenCubicSpline___repr__(self)
8153 
8154  @staticmethod
8155  def get_from(o):
8156  return _object_cast_to_OpenCubicSpline(o)
8157 
8158 
8159  def _get_jax(self):
8160  import jax.numpy as jnp
8161  from IMP.core._jax_util import _spline
8162  def score(feature, minrange, maxrange, spacing, values, second_derivs):
8163  # clip feature to range (extend=True behavior)
8164  feature = jnp.clip(feature, minrange, maxrange)
8165  # determine bin index and thus the cubic fragment to use:
8166  lowbin = jnp.array((feature - minrange) / spacing, dtype=int)
8167  return _spline(feature, minrange, lowbin, lowbin + 1, spacing,
8168  values, second_derivs)
8169  spacing = self.get_spacing()
8170  minrange = self.get_minrange()
8171  values = jnp.asarray(self.get_values())
8172  maxrange = minrange + spacing * (len(values) - 1)
8173  return functools.partial(
8174  score, minrange=minrange, maxrange=maxrange,
8175  spacing=spacing, values=values,
8176  second_derivs=jnp.asarray(self.get_second_derivatives()))
8177 
8178  __swig_destroy__ = _IMP_core.delete_OpenCubicSpline
8179 
8180 # Register OpenCubicSpline in _IMP_core:
8181 _IMP_core.OpenCubicSpline_swigregister(OpenCubicSpline)
8182 class QuadraticClosePairsFinder(ClosePairsFinder):
8183  r"""Proxy of C++ IMP::core::QuadraticClosePairsFinder class."""
8184 
8185  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8186 
8187  def __init__(self):
8188  r"""__init__(QuadraticClosePairsFinder self) -> QuadraticClosePairsFinder"""
8189  _IMP_core.QuadraticClosePairsFinder_swiginit(self, _IMP_core.new_QuadraticClosePairsFinder())
8190 
8191  def get_are_close_and_filtered(self, *args):
8192  r"""
8193  get_are_close_and_filtered(QuadraticClosePairsFinder self, Particle a, Particle b) -> bool
8194  get_are_close_and_filtered(QuadraticClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b) -> bool
8195  """
8196  return _IMP_core.QuadraticClosePairsFinder_get_are_close_and_filtered(self, *args)
8197 
8198  def get_close_pairs(self, *args):
8199  r"""
8200  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8201  get_close_pairs(QuadraticClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
8202  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
8203  get_close_pairs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
8204  """
8205  return _IMP_core.QuadraticClosePairsFinder_get_close_pairs(self, *args)
8206 
8207  def do_get_inputs(self, m, pis):
8208  r"""do_get_inputs(QuadraticClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8209  return _IMP_core.QuadraticClosePairsFinder_do_get_inputs(self, m, pis)
8210 
8211  def get_version_info(self):
8212  r"""get_version_info(QuadraticClosePairsFinder self) -> VersionInfo"""
8213  return _IMP_core.QuadraticClosePairsFinder_get_version_info(self)
8214  __swig_destroy__ = _IMP_core.delete_QuadraticClosePairsFinder
8215 
8216  def __str__(self):
8217  r"""__str__(QuadraticClosePairsFinder self) -> std::string"""
8218  return _IMP_core.QuadraticClosePairsFinder___str__(self)
8219 
8220  def __repr__(self):
8221  r"""__repr__(QuadraticClosePairsFinder self) -> std::string"""
8222  return _IMP_core.QuadraticClosePairsFinder___repr__(self)
8223 
8224  @staticmethod
8225  def get_from(o):
8226  return _object_cast_to_QuadraticClosePairsFinder(o)
8227 
8228 
8229 # Register QuadraticClosePairsFinder in _IMP_core:
8230 _IMP_core.QuadraticClosePairsFinder_swigregister(QuadraticClosePairsFinder)
8231 class RefinedPairsPairScore(IMP.PairScore):
8232  r"""Proxy of C++ IMP::core::RefinedPairsPairScore class."""
8233 
8234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8235 
8236  def __init__(self, r, f):
8237  r"""__init__(RefinedPairsPairScore self, Refiner r, PairScore f) -> RefinedPairsPairScore"""
8238  _IMP_core.RefinedPairsPairScore_swiginit(self, _IMP_core.new_RefinedPairsPairScore(r, f))
8239 
8240  def do_get_inputs(self, m, pis):
8241  r"""do_get_inputs(RefinedPairsPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8242  return _IMP_core.RefinedPairsPairScore_do_get_inputs(self, m, pis)
8243 
8244  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8245  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"""
8246  return _IMP_core.RefinedPairsPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8247 
8248  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8249  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"""
8250  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8251 
8252  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8253  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"""
8254  return _IMP_core.RefinedPairsPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8255 
8256  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8257  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"""
8258  return _IMP_core.RefinedPairsPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8259 
8260  def get_version_info(self):
8261  r"""get_version_info(RefinedPairsPairScore self) -> VersionInfo"""
8262  return _IMP_core.RefinedPairsPairScore_get_version_info(self)
8263  __swig_destroy__ = _IMP_core.delete_RefinedPairsPairScore
8264 
8265  def __str__(self):
8266  r"""__str__(RefinedPairsPairScore self) -> std::string"""
8267  return _IMP_core.RefinedPairsPairScore___str__(self)
8268 
8269  def __repr__(self):
8270  r"""__repr__(RefinedPairsPairScore self) -> std::string"""
8271  return _IMP_core.RefinedPairsPairScore___repr__(self)
8272 
8273  @staticmethod
8274  def get_from(o):
8275  return _object_cast_to_RefinedPairsPairScore(o)
8276 
8277 
8278 # Register RefinedPairsPairScore in _IMP_core:
8279 _IMP_core.RefinedPairsPairScore_swigregister(RefinedPairsPairScore)
8280 class RigidBody(XYZ):
8281  r"""Proxy of C++ IMP::core::RigidBody class."""
8282 
8283  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8284 
8285  def get_rigid_members(self):
8286  r"""get_rigid_members(RigidBody self) -> IMP::core::RigidMembers"""
8287  return _IMP_core.RigidBody_get_rigid_members(self)
8288 
8289  @staticmethod
8290  def get_rotation_key():
8291  r"""get_rotation_key() -> Vector4DDerivKey"""
8292  return _IMP_core.RigidBody_get_rotation_key()
8293 
8294  def get_member_particle_indexes(self):
8295  r"""get_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8296  return _IMP_core.RigidBody_get_member_particle_indexes(self)
8297 
8298  def get_body_member_particle_indexes(self):
8299  r"""get_body_member_particle_indexes(RigidBody self) -> IMP::ParticleIndexes const &"""
8300  return _IMP_core.RigidBody_get_body_member_particle_indexes(self)
8301 
8302  def get_member_indexes(self):
8303  r"""get_member_indexes(RigidBody self) -> IMP::ParticleIndexes"""
8304  return _IMP_core.RigidBody_get_member_indexes(self)
8305 
8306  def show(self, *args):
8307  r"""show(RigidBody self, _ostream out=std::cout)"""
8308  return _IMP_core.RigidBody_show(self, *args)
8309 
8310  @staticmethod
8311  def setup_particle(*args):
8312  r"""
8313  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor ps) -> RigidBody
8314  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor ps) -> RigidBody
8315  setup_particle(Model m, ParticleIndex pi, ReferenceFrame3D rf) -> RigidBody
8316  setup_particle(_ParticleAdaptor pa, ReferenceFrame3D rf) -> RigidBody
8317  """
8318  return _IMP_core.RigidBody_setup_particle(*args)
8319 
8320  @staticmethod
8321  def teardown_particle(rb):
8322  r"""teardown_particle(RigidBody rb)"""
8323  return _IMP_core.RigidBody_teardown_particle(rb)
8324 
8325  def __init__(self, *args):
8326  r"""
8327  __init__(RigidBody self) -> RigidBody
8328  __init__(RigidBody self, Model m, ParticleIndex id) -> RigidBody
8329  __init__(RigidBody self, _ParticleAdaptor d) -> RigidBody
8330  __init__(RigidBody self, RigidBody arg2) -> RigidBody
8331  """
8332  _IMP_core.RigidBody_swiginit(self, _IMP_core.new_RigidBody(*args))
8333  __swig_destroy__ = _IMP_core.delete_RigidBody
8334 
8335  @staticmethod
8336  def get_is_setup(*args):
8337  r"""
8338  get_is_setup(_ParticleAdaptor p) -> bool
8339  get_is_setup(Model m, ParticleIndex pi) -> bool
8340  """
8341  return _IMP_core.RigidBody_get_is_setup(*args)
8342 
8343  def get_coordinates(self):
8344  r"""get_coordinates(RigidBody self) -> Vector3D"""
8345  return _IMP_core.RigidBody_get_coordinates(self)
8346 
8347  def get_rotation(self):
8348  r"""get_rotation(RigidBody self) -> Rotation3D"""
8349  return _IMP_core.RigidBody_get_rotation(self)
8350 
8351  def get_reference_frame(self):
8352  r"""get_reference_frame(RigidBody self) -> ReferenceFrame3D"""
8353  return _IMP_core.RigidBody_get_reference_frame(self)
8354 
8355  def set_reference_frame(self, tr):
8356  r"""set_reference_frame(RigidBody self, ReferenceFrame3D tr)"""
8357  return _IMP_core.RigidBody_set_reference_frame(self, tr)
8358 
8359  def set_reference_frame_lazy(self, tr):
8360  r"""set_reference_frame_lazy(RigidBody self, ReferenceFrame3D tr)"""
8361  return _IMP_core.RigidBody_set_reference_frame_lazy(self, tr)
8362 
8363  def set_reference_frame_from_members(self, members):
8364  r"""set_reference_frame_from_members(RigidBody self, IMP::ParticleIndexes const & members)"""
8365  return _IMP_core.RigidBody_set_reference_frame_from_members(self, members)
8366 
8367  def pull_back_members_adjoints(self, da):
8368  r"""pull_back_members_adjoints(RigidBody self, DerivativeAccumulator da)"""
8369  return _IMP_core.RigidBody_pull_back_members_adjoints(self, da)
8370 
8371  def pull_back_member_adjoints(self, pi, da):
8372  r"""pull_back_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8373  return _IMP_core.RigidBody_pull_back_member_adjoints(self, pi, da)
8374 
8375  def pull_back_body_member_adjoints(self, pi, da):
8376  r"""pull_back_body_member_adjoints(RigidBody self, ParticleIndex pi, DerivativeAccumulator da)"""
8377  return _IMP_core.RigidBody_pull_back_body_member_adjoints(self, pi, da)
8378 
8379  def add_to_rotational_derivatives(self, qderiv, da):
8380  r"""add_to_rotational_derivatives(RigidBody self, Vector4D qderiv, DerivativeAccumulator da)"""
8381  return _IMP_core.RigidBody_add_to_rotational_derivatives(self, qderiv, da)
8382 
8383  def add_to_torque(self, torque_local, da):
8384  r"""add_to_torque(RigidBody self, Vector3D torque_local, DerivativeAccumulator da)"""
8385  return _IMP_core.RigidBody_add_to_torque(self, torque_local, da)
8386 
8387  def get_torque(self):
8388  r"""get_torque(RigidBody self) -> Vector3D"""
8389  return _IMP_core.RigidBody_get_torque(self)
8390 
8391  def get_coordinates_are_optimized(self):
8392  r"""get_coordinates_are_optimized(RigidBody self) -> bool"""
8393  return _IMP_core.RigidBody_get_coordinates_are_optimized(self)
8394 
8395  def set_coordinates_are_optimized(self, tf):
8396  r"""set_coordinates_are_optimized(RigidBody self, bool tf)"""
8397  return _IMP_core.RigidBody_set_coordinates_are_optimized(self, tf)
8398 
8399  def normalize_rotation(self):
8400  r"""normalize_rotation(RigidBody self)"""
8401  return _IMP_core.RigidBody_normalize_rotation(self)
8402 
8403  def update_members(self):
8404  r"""update_members(RigidBody self)"""
8405  return _IMP_core.RigidBody_update_members(self)
8406 
8407  def get_rotational_derivatives(self):
8408  r"""get_rotational_derivatives(RigidBody self) -> Vector4D"""
8409  return _IMP_core.RigidBody_get_rotational_derivatives(self)
8410 
8411  def get_number_of_members(self):
8412  r"""get_number_of_members(RigidBody self) -> unsigned int"""
8413  return _IMP_core.RigidBody_get_number_of_members(self)
8414 
8415  def get_member(self, i):
8416  r"""get_member(RigidBody self, unsigned int i) -> RigidBodyMember"""
8417  return _IMP_core.RigidBody_get_member(self, i)
8418 
8419  def add_member(self, p):
8420  r"""add_member(RigidBody self, _ParticleIndexAdaptor p)"""
8421  return _IMP_core.RigidBody_add_member(self, p)
8422 
8423  def add_non_rigid_member(self, p):
8424  r"""add_non_rigid_member(RigidBody self, _ParticleIndexAdaptor p)"""
8425  return _IMP_core.RigidBody_add_non_rigid_member(self, p)
8426 
8427  def set_is_rigid_member(self, pi, tf):
8428  r"""set_is_rigid_member(RigidBody self, ParticleIndex pi, bool tf)"""
8429  return _IMP_core.RigidBody_set_is_rigid_member(self, pi, tf)
8430 
8431  def remove_member(self, p):
8432  r"""remove_member(RigidBody self, _ParticleIndexAdaptor p)"""
8433  return _IMP_core.RigidBody_remove_member(self, p)
8434 
8435  def add_attribute(self, *args):
8436  r"""
8437  add_attribute(RigidBody self, FloatKey k, IMP::Float v, bool opt)
8438  add_attribute(RigidBody self, FloatKey a0, IMP::Float a1)
8439  add_attribute(RigidBody self, IntKey a0, IMP::Int a1)
8440  add_attribute(RigidBody self, FloatsKey a0, IMP::Floats a1)
8441  add_attribute(RigidBody self, IntsKey a0, IMP::Ints a1)
8442  add_attribute(RigidBody self, StringKey a0, IMP::String a1)
8443  add_attribute(RigidBody self, ParticleIndexKey a0, Particle a1)
8444  add_attribute(RigidBody self, ObjectKey a0, Object a1)
8445  add_attribute(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8446  add_attribute(RigidBody self, SparseIntKey a0, IMP::Int a1)
8447  add_attribute(RigidBody self, SparseStringKey a0, IMP::String a1)
8448  add_attribute(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8449  """
8450  return _IMP_core.RigidBody_add_attribute(self, *args)
8451 
8452  def get_value(self, *args):
8453  r"""
8454  get_value(RigidBody self, FloatKey a0) -> IMP::Float
8455  get_value(RigidBody self, IntKey a0) -> IMP::Int
8456  get_value(RigidBody self, FloatsKey a0) -> IMP::Floats
8457  get_value(RigidBody self, IntsKey a0) -> IMP::Ints
8458  get_value(RigidBody self, StringKey a0) -> IMP::String
8459  get_value(RigidBody self, ParticleIndexKey a0) -> Particle
8460  get_value(RigidBody self, ObjectKey a0) -> Object
8461  get_value(RigidBody self, SparseFloatKey a0) -> IMP::Float
8462  get_value(RigidBody self, SparseIntKey a0) -> IMP::Int
8463  get_value(RigidBody self, SparseStringKey a0) -> IMP::String
8464  get_value(RigidBody self, SparseParticleIndexKey a0) -> ParticleIndex
8465  """
8466  return _IMP_core.RigidBody_get_value(self, *args)
8467 
8468  def set_value(self, *args):
8469  r"""
8470  set_value(RigidBody self, FloatKey a0, IMP::Float a1)
8471  set_value(RigidBody self, IntKey a0, IMP::Int a1)
8472  set_value(RigidBody self, FloatsKey a0, IMP::Floats a1)
8473  set_value(RigidBody self, IntsKey a0, IMP::Ints a1)
8474  set_value(RigidBody self, StringKey a0, IMP::String a1)
8475  set_value(RigidBody self, ParticleIndexKey a0, Particle a1)
8476  set_value(RigidBody self, ObjectKey a0, Object a1)
8477  set_value(RigidBody self, SparseFloatKey a0, IMP::Float a1)
8478  set_value(RigidBody self, SparseIntKey a0, IMP::Int a1)
8479  set_value(RigidBody self, SparseStringKey a0, IMP::String a1)
8480  set_value(RigidBody self, SparseParticleIndexKey a0, ParticleIndex a1)
8481  """
8482  return _IMP_core.RigidBody_set_value(self, *args)
8483 
8484  def remove_attribute(self, *args):
8485  r"""
8486  remove_attribute(RigidBody self, FloatKey a0)
8487  remove_attribute(RigidBody self, IntKey a0)
8488  remove_attribute(RigidBody self, FloatsKey a0)
8489  remove_attribute(RigidBody self, IntsKey a0)
8490  remove_attribute(RigidBody self, StringKey a0)
8491  remove_attribute(RigidBody self, ParticleIndexKey a0)
8492  remove_attribute(RigidBody self, ObjectKey a0)
8493  remove_attribute(RigidBody self, SparseFloatKey a0)
8494  remove_attribute(RigidBody self, SparseIntKey a0)
8495  remove_attribute(RigidBody self, SparseStringKey a0)
8496  remove_attribute(RigidBody self, SparseParticleIndexKey a0)
8497  """
8498  return _IMP_core.RigidBody_remove_attribute(self, *args)
8499 
8500  def has_attribute(self, *args):
8501  r"""
8502  has_attribute(RigidBody self, FloatKey a0) -> bool
8503  has_attribute(RigidBody self, IntKey a0) -> bool
8504  has_attribute(RigidBody self, FloatsKey a0) -> bool
8505  has_attribute(RigidBody self, IntsKey a0) -> bool
8506  has_attribute(RigidBody self, StringKey a0) -> bool
8507  has_attribute(RigidBody self, ParticleIndexKey a0) -> bool
8508  has_attribute(RigidBody self, ObjectKey a0) -> bool
8509  has_attribute(RigidBody self, SparseFloatKey a0) -> bool
8510  has_attribute(RigidBody self, SparseIntKey a0) -> bool
8511  has_attribute(RigidBody self, SparseStringKey a0) -> bool
8512  has_attribute(RigidBody self, SparseParticleIndexKey a0) -> bool
8513  """
8514  return _IMP_core.RigidBody_has_attribute(self, *args)
8515 
8516  def get_derivative(self, a0):
8517  r"""get_derivative(RigidBody self, FloatKey a0) -> double"""
8518  return _IMP_core.RigidBody_get_derivative(self, a0)
8519 
8520  def get_name(self):
8521  r"""get_name(RigidBody self) -> std::string"""
8522  return _IMP_core.RigidBody_get_name(self)
8523 
8524  def clear_caches(self):
8525  r"""clear_caches(RigidBody self)"""
8526  return _IMP_core.RigidBody_clear_caches(self)
8527 
8528  def set_name(self, a0):
8529  r"""set_name(RigidBody self, std::string a0)"""
8530  return _IMP_core.RigidBody_set_name(self, a0)
8531 
8532  def set_check_level(self, a0):
8533  r"""set_check_level(RigidBody self, IMP::CheckLevel a0)"""
8534  return _IMP_core.RigidBody_set_check_level(self, a0)
8535 
8536  def add_to_derivative(self, a0, a1, a2):
8537  r"""add_to_derivative(RigidBody self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8538  return _IMP_core.RigidBody_add_to_derivative(self, a0, a1, a2)
8539 
8540  def set_is_optimized(self, a0, a1):
8541  r"""set_is_optimized(RigidBody self, FloatKey a0, bool a1)"""
8542  return _IMP_core.RigidBody_set_is_optimized(self, a0, a1)
8543 
8544  def get_is_optimized(self, a0):
8545  r"""get_is_optimized(RigidBody self, FloatKey a0) -> bool"""
8546  return _IMP_core.RigidBody_get_is_optimized(self, a0)
8547 
8548  def get_check_level(self):
8549  r"""get_check_level(RigidBody self) -> IMP::CheckLevel"""
8550  return _IMP_core.RigidBody_get_check_level(self)
8551 
8552  def __eq__(self, *args):
8553  r"""
8554  __eq__(RigidBody self, RigidBody o) -> bool
8555  __eq__(RigidBody self, Particle d) -> bool
8556  """
8557  return _IMP_core.RigidBody___eq__(self, *args)
8558 
8559  def __ne__(self, *args):
8560  r"""
8561  __ne__(RigidBody self, RigidBody o) -> bool
8562  __ne__(RigidBody self, Particle d) -> bool
8563  """
8564  return _IMP_core.RigidBody___ne__(self, *args)
8565 
8566  def __le__(self, *args):
8567  r"""
8568  __le__(RigidBody self, RigidBody o) -> bool
8569  __le__(RigidBody self, Particle d) -> bool
8570  """
8571  return _IMP_core.RigidBody___le__(self, *args)
8572 
8573  def __lt__(self, *args):
8574  r"""
8575  __lt__(RigidBody self, RigidBody o) -> bool
8576  __lt__(RigidBody self, Particle d) -> bool
8577  """
8578  return _IMP_core.RigidBody___lt__(self, *args)
8579 
8580  def __ge__(self, *args):
8581  r"""
8582  __ge__(RigidBody self, RigidBody o) -> bool
8583  __ge__(RigidBody self, Particle d) -> bool
8584  """
8585  return _IMP_core.RigidBody___ge__(self, *args)
8586 
8587  def __gt__(self, *args):
8588  r"""
8589  __gt__(RigidBody self, RigidBody o) -> bool
8590  __gt__(RigidBody self, Particle d) -> bool
8591  """
8592  return _IMP_core.RigidBody___gt__(self, *args)
8593 
8594  def __hash__(self):
8595  r"""__hash__(RigidBody self) -> std::size_t"""
8596  return _IMP_core.RigidBody___hash__(self)
8597 
8598  def __str__(self):
8599  r"""__str__(RigidBody self) -> std::string"""
8600  return _IMP_core.RigidBody___str__(self)
8601 
8602  def __repr__(self):
8603  r"""__repr__(RigidBody self) -> std::string"""
8604  return _IMP_core.RigidBody___repr__(self)
8605 
8606  def _get_as_binary(self):
8607  r"""_get_as_binary(RigidBody self) -> PyObject *"""
8608  return _IMP_core.RigidBody__get_as_binary(self)
8609 
8610  def _set_from_binary(self, p):
8611  r"""_set_from_binary(RigidBody self, PyObject * p)"""
8612  return _IMP_core.RigidBody__set_from_binary(self, p)
8613 
8614  def __getstate__(self):
8615  p = self._get_as_binary()
8616  if len(self.__dict__) > 1:
8617  d = self.__dict__.copy()
8618  del d['this']
8619  p = (d, p)
8620  return p
8621 
8622  def __setstate__(self, p):
8623  if not hasattr(self, 'this'):
8624  self.__init__()
8625  if isinstance(p, tuple):
8626  d, p = p
8627  self.__dict__.update(d)
8628  return self._set_from_binary(p)
8629 
8630 
8631 # Register RigidBody in _IMP_core:
8632 _IMP_core.RigidBody_swigregister(RigidBody)
8633 
8635  r"""add_rigid_body_cache_key(ObjectKey k)"""
8636  return _IMP_core.add_rigid_body_cache_key(k)
8637 class RigidBodyMember(XYZ):
8638  r"""Proxy of C++ IMP::core::RigidBodyMember class."""
8639 
8640  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8641 
8642  def show(self, *args):
8643  r"""show(RigidBodyMember self, _ostream out=std::cout)"""
8644  return _IMP_core.RigidBodyMember_show(self, *args)
8645 
8646  def get_rigid_body(self):
8647  r"""get_rigid_body(RigidBodyMember self) -> RigidBody"""
8648  return _IMP_core.RigidBodyMember_get_rigid_body(self)
8649 
8650  def get_internal_coordinates(self):
8651  r"""get_internal_coordinates(RigidBodyMember self) -> Vector3D"""
8652  return _IMP_core.RigidBodyMember_get_internal_coordinates(self)
8653 
8654  def set_internal_coordinates(self, v):
8655  r"""set_internal_coordinates(RigidBodyMember self, Vector3D v)"""
8656  return _IMP_core.RigidBodyMember_set_internal_coordinates(self, v)
8657 
8658  def set_internal_transformation(self, v):
8659  r"""set_internal_transformation(RigidBodyMember self, Transformation3D v)"""
8660  return _IMP_core.RigidBodyMember_set_internal_transformation(self, v)
8661 
8662  def get_internal_transformation(self):
8663  r"""get_internal_transformation(RigidBodyMember self) -> Transformation3D"""
8664  return _IMP_core.RigidBodyMember_get_internal_transformation(self)
8665  __swig_destroy__ = _IMP_core.delete_RigidBodyMember
8666 
8667  def set_coordinates(self, *args):
8668  r"""
8669  set_coordinates(RigidBodyMember self, Vector3D center)
8670  set_coordinates(RigidBodyMember self, Transformation3D tr)
8671  """
8672  return _IMP_core.RigidBodyMember_set_coordinates(self, *args)
8673 
8674  def __init__(self, *args):
8675  r"""
8676  __init__(RigidBodyMember self) -> RigidBodyMember
8677  __init__(RigidBodyMember self, Model m, ParticleIndex id) -> RigidBodyMember
8678  __init__(RigidBodyMember self, _ParticleAdaptor d) -> RigidBodyMember
8679  __init__(RigidBodyMember self, RigidBodyMember arg2) -> RigidBodyMember
8680  """
8681  _IMP_core.RigidBodyMember_swiginit(self, _IMP_core.new_RigidBodyMember(*args))
8682 
8683  @staticmethod
8684  def get_is_setup(*args):
8685  r"""
8686  get_is_setup(_ParticleAdaptor p) -> bool
8687  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8688  """
8689  return _IMP_core.RigidBodyMember_get_is_setup(*args)
8690 
8691  @staticmethod
8692  def get_internal_coordinate_keys():
8693  r"""get_internal_coordinate_keys() -> IMP::FloatKeys"""
8694  return _IMP_core.RigidBodyMember_get_internal_coordinate_keys()
8695 
8696  @staticmethod
8697  def get_internal_rotation_key():
8698  r"""get_internal_rotation_key() -> Vector4DDerivKey"""
8699  return _IMP_core.RigidBodyMember_get_internal_rotation_key()
8700 
8701  def add_attribute(self, *args):
8702  r"""
8703  add_attribute(RigidBodyMember self, FloatKey k, IMP::Float v, bool opt)
8704  add_attribute(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8705  add_attribute(RigidBodyMember self, IntKey a0, IMP::Int a1)
8706  add_attribute(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8707  add_attribute(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8708  add_attribute(RigidBodyMember self, StringKey a0, IMP::String a1)
8709  add_attribute(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8710  add_attribute(RigidBodyMember self, ObjectKey a0, Object a1)
8711  add_attribute(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8712  add_attribute(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8713  add_attribute(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8714  add_attribute(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8715  """
8716  return _IMP_core.RigidBodyMember_add_attribute(self, *args)
8717 
8718  def get_value(self, *args):
8719  r"""
8720  get_value(RigidBodyMember self, FloatKey a0) -> IMP::Float
8721  get_value(RigidBodyMember self, IntKey a0) -> IMP::Int
8722  get_value(RigidBodyMember self, FloatsKey a0) -> IMP::Floats
8723  get_value(RigidBodyMember self, IntsKey a0) -> IMP::Ints
8724  get_value(RigidBodyMember self, StringKey a0) -> IMP::String
8725  get_value(RigidBodyMember self, ParticleIndexKey a0) -> Particle
8726  get_value(RigidBodyMember self, ObjectKey a0) -> Object
8727  get_value(RigidBodyMember self, SparseFloatKey a0) -> IMP::Float
8728  get_value(RigidBodyMember self, SparseIntKey a0) -> IMP::Int
8729  get_value(RigidBodyMember self, SparseStringKey a0) -> IMP::String
8730  get_value(RigidBodyMember self, SparseParticleIndexKey a0) -> ParticleIndex
8731  """
8732  return _IMP_core.RigidBodyMember_get_value(self, *args)
8733 
8734  def set_value(self, *args):
8735  r"""
8736  set_value(RigidBodyMember self, FloatKey a0, IMP::Float a1)
8737  set_value(RigidBodyMember self, IntKey a0, IMP::Int a1)
8738  set_value(RigidBodyMember self, FloatsKey a0, IMP::Floats a1)
8739  set_value(RigidBodyMember self, IntsKey a0, IMP::Ints a1)
8740  set_value(RigidBodyMember self, StringKey a0, IMP::String a1)
8741  set_value(RigidBodyMember self, ParticleIndexKey a0, Particle a1)
8742  set_value(RigidBodyMember self, ObjectKey a0, Object a1)
8743  set_value(RigidBodyMember self, SparseFloatKey a0, IMP::Float a1)
8744  set_value(RigidBodyMember self, SparseIntKey a0, IMP::Int a1)
8745  set_value(RigidBodyMember self, SparseStringKey a0, IMP::String a1)
8746  set_value(RigidBodyMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8747  """
8748  return _IMP_core.RigidBodyMember_set_value(self, *args)
8749 
8750  def remove_attribute(self, *args):
8751  r"""
8752  remove_attribute(RigidBodyMember self, FloatKey a0)
8753  remove_attribute(RigidBodyMember self, IntKey a0)
8754  remove_attribute(RigidBodyMember self, FloatsKey a0)
8755  remove_attribute(RigidBodyMember self, IntsKey a0)
8756  remove_attribute(RigidBodyMember self, StringKey a0)
8757  remove_attribute(RigidBodyMember self, ParticleIndexKey a0)
8758  remove_attribute(RigidBodyMember self, ObjectKey a0)
8759  remove_attribute(RigidBodyMember self, SparseFloatKey a0)
8760  remove_attribute(RigidBodyMember self, SparseIntKey a0)
8761  remove_attribute(RigidBodyMember self, SparseStringKey a0)
8762  remove_attribute(RigidBodyMember self, SparseParticleIndexKey a0)
8763  """
8764  return _IMP_core.RigidBodyMember_remove_attribute(self, *args)
8765 
8766  def has_attribute(self, *args):
8767  r"""
8768  has_attribute(RigidBodyMember self, FloatKey a0) -> bool
8769  has_attribute(RigidBodyMember self, IntKey a0) -> bool
8770  has_attribute(RigidBodyMember self, FloatsKey a0) -> bool
8771  has_attribute(RigidBodyMember self, IntsKey a0) -> bool
8772  has_attribute(RigidBodyMember self, StringKey a0) -> bool
8773  has_attribute(RigidBodyMember self, ParticleIndexKey a0) -> bool
8774  has_attribute(RigidBodyMember self, ObjectKey a0) -> bool
8775  has_attribute(RigidBodyMember self, SparseFloatKey a0) -> bool
8776  has_attribute(RigidBodyMember self, SparseIntKey a0) -> bool
8777  has_attribute(RigidBodyMember self, SparseStringKey a0) -> bool
8778  has_attribute(RigidBodyMember self, SparseParticleIndexKey a0) -> bool
8779  """
8780  return _IMP_core.RigidBodyMember_has_attribute(self, *args)
8781 
8782  def get_derivative(self, a0):
8783  r"""get_derivative(RigidBodyMember self, FloatKey a0) -> double"""
8784  return _IMP_core.RigidBodyMember_get_derivative(self, a0)
8785 
8786  def get_name(self):
8787  r"""get_name(RigidBodyMember self) -> std::string"""
8788  return _IMP_core.RigidBodyMember_get_name(self)
8789 
8790  def clear_caches(self):
8791  r"""clear_caches(RigidBodyMember self)"""
8792  return _IMP_core.RigidBodyMember_clear_caches(self)
8793 
8794  def set_name(self, a0):
8795  r"""set_name(RigidBodyMember self, std::string a0)"""
8796  return _IMP_core.RigidBodyMember_set_name(self, a0)
8797 
8798  def set_check_level(self, a0):
8799  r"""set_check_level(RigidBodyMember self, IMP::CheckLevel a0)"""
8800  return _IMP_core.RigidBodyMember_set_check_level(self, a0)
8801 
8802  def add_to_derivative(self, a0, a1, a2):
8803  r"""add_to_derivative(RigidBodyMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8804  return _IMP_core.RigidBodyMember_add_to_derivative(self, a0, a1, a2)
8805 
8806  def set_is_optimized(self, a0, a1):
8807  r"""set_is_optimized(RigidBodyMember self, FloatKey a0, bool a1)"""
8808  return _IMP_core.RigidBodyMember_set_is_optimized(self, a0, a1)
8809 
8810  def get_is_optimized(self, a0):
8811  r"""get_is_optimized(RigidBodyMember self, FloatKey a0) -> bool"""
8812  return _IMP_core.RigidBodyMember_get_is_optimized(self, a0)
8813 
8814  def get_check_level(self):
8815  r"""get_check_level(RigidBodyMember self) -> IMP::CheckLevel"""
8816  return _IMP_core.RigidBodyMember_get_check_level(self)
8817 
8818  def __eq__(self, *args):
8819  r"""
8820  __eq__(RigidBodyMember self, RigidBodyMember o) -> bool
8821  __eq__(RigidBodyMember self, Particle d) -> bool
8822  """
8823  return _IMP_core.RigidBodyMember___eq__(self, *args)
8824 
8825  def __ne__(self, *args):
8826  r"""
8827  __ne__(RigidBodyMember self, RigidBodyMember o) -> bool
8828  __ne__(RigidBodyMember self, Particle d) -> bool
8829  """
8830  return _IMP_core.RigidBodyMember___ne__(self, *args)
8831 
8832  def __le__(self, *args):
8833  r"""
8834  __le__(RigidBodyMember self, RigidBodyMember o) -> bool
8835  __le__(RigidBodyMember self, Particle d) -> bool
8836  """
8837  return _IMP_core.RigidBodyMember___le__(self, *args)
8838 
8839  def __lt__(self, *args):
8840  r"""
8841  __lt__(RigidBodyMember self, RigidBodyMember o) -> bool
8842  __lt__(RigidBodyMember self, Particle d) -> bool
8843  """
8844  return _IMP_core.RigidBodyMember___lt__(self, *args)
8845 
8846  def __ge__(self, *args):
8847  r"""
8848  __ge__(RigidBodyMember self, RigidBodyMember o) -> bool
8849  __ge__(RigidBodyMember self, Particle d) -> bool
8850  """
8851  return _IMP_core.RigidBodyMember___ge__(self, *args)
8852 
8853  def __gt__(self, *args):
8854  r"""
8855  __gt__(RigidBodyMember self, RigidBodyMember o) -> bool
8856  __gt__(RigidBodyMember self, Particle d) -> bool
8857  """
8858  return _IMP_core.RigidBodyMember___gt__(self, *args)
8859 
8860  def __hash__(self):
8861  r"""__hash__(RigidBodyMember self) -> std::size_t"""
8862  return _IMP_core.RigidBodyMember___hash__(self)
8863 
8864  def __str__(self):
8865  r"""__str__(RigidBodyMember self) -> std::string"""
8866  return _IMP_core.RigidBodyMember___str__(self)
8867 
8868  def __repr__(self):
8869  r"""__repr__(RigidBodyMember self) -> std::string"""
8870  return _IMP_core.RigidBodyMember___repr__(self)
8871 
8872  def _get_as_binary(self):
8873  r"""_get_as_binary(RigidBodyMember self) -> PyObject *"""
8874  return _IMP_core.RigidBodyMember__get_as_binary(self)
8875 
8876  def _set_from_binary(self, p):
8877  r"""_set_from_binary(RigidBodyMember self, PyObject * p)"""
8878  return _IMP_core.RigidBodyMember__set_from_binary(self, p)
8879 
8880  def __getstate__(self):
8881  p = self._get_as_binary()
8882  if len(self.__dict__) > 1:
8883  d = self.__dict__.copy()
8884  del d['this']
8885  p = (d, p)
8886  return p
8887 
8888  def __setstate__(self, p):
8889  if not hasattr(self, 'this'):
8890  self.__init__()
8891  if isinstance(p, tuple):
8892  d, p = p
8893  self.__dict__.update(d)
8894  return self._set_from_binary(p)
8895 
8896 
8897 # Register RigidBodyMember in _IMP_core:
8898 _IMP_core.RigidBodyMember_swigregister(RigidBodyMember)
8899 class RigidMember(RigidBodyMember):
8900  r"""Proxy of C++ IMP::core::RigidMember class."""
8901 
8902  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8903 
8904  def show(self, *args):
8905  r"""show(RigidMember self, _ostream out=std::cout)"""
8906  return _IMP_core.RigidMember_show(self, *args)
8907 
8908  def __init__(self, *args):
8909  r"""
8910  __init__(RigidMember self) -> RigidMember
8911  __init__(RigidMember self, Model m, ParticleIndex id) -> RigidMember
8912  __init__(RigidMember self, _ParticleAdaptor d) -> RigidMember
8913  __init__(RigidMember self, RigidMember arg2) -> RigidMember
8914  """
8915  _IMP_core.RigidMember_swiginit(self, _IMP_core.new_RigidMember(*args))
8916  __swig_destroy__ = _IMP_core.delete_RigidMember
8917 
8918  @staticmethod
8919  def get_is_setup(*args):
8920  r"""
8921  get_is_setup(_ParticleAdaptor p) -> bool
8922  get_is_setup(Model m, _ParticleIndexAdaptor p) -> bool
8923  """
8924  return _IMP_core.RigidMember_get_is_setup(*args)
8925 
8926  def add_attribute(self, *args):
8927  r"""
8928  add_attribute(RigidMember self, FloatKey k, IMP::Float v, bool opt)
8929  add_attribute(RigidMember self, FloatKey a0, IMP::Float a1)
8930  add_attribute(RigidMember self, IntKey a0, IMP::Int a1)
8931  add_attribute(RigidMember self, FloatsKey a0, IMP::Floats a1)
8932  add_attribute(RigidMember self, IntsKey a0, IMP::Ints a1)
8933  add_attribute(RigidMember self, StringKey a0, IMP::String a1)
8934  add_attribute(RigidMember self, ParticleIndexKey a0, Particle a1)
8935  add_attribute(RigidMember self, ObjectKey a0, Object a1)
8936  add_attribute(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8937  add_attribute(RigidMember self, SparseIntKey a0, IMP::Int a1)
8938  add_attribute(RigidMember self, SparseStringKey a0, IMP::String a1)
8939  add_attribute(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8940  """
8941  return _IMP_core.RigidMember_add_attribute(self, *args)
8942 
8943  def get_value(self, *args):
8944  r"""
8945  get_value(RigidMember self, FloatKey a0) -> IMP::Float
8946  get_value(RigidMember self, IntKey a0) -> IMP::Int
8947  get_value(RigidMember self, FloatsKey a0) -> IMP::Floats
8948  get_value(RigidMember self, IntsKey a0) -> IMP::Ints
8949  get_value(RigidMember self, StringKey a0) -> IMP::String
8950  get_value(RigidMember self, ParticleIndexKey a0) -> Particle
8951  get_value(RigidMember self, ObjectKey a0) -> Object
8952  get_value(RigidMember self, SparseFloatKey a0) -> IMP::Float
8953  get_value(RigidMember self, SparseIntKey a0) -> IMP::Int
8954  get_value(RigidMember self, SparseStringKey a0) -> IMP::String
8955  get_value(RigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
8956  """
8957  return _IMP_core.RigidMember_get_value(self, *args)
8958 
8959  def set_value(self, *args):
8960  r"""
8961  set_value(RigidMember self, FloatKey a0, IMP::Float a1)
8962  set_value(RigidMember self, IntKey a0, IMP::Int a1)
8963  set_value(RigidMember self, FloatsKey a0, IMP::Floats a1)
8964  set_value(RigidMember self, IntsKey a0, IMP::Ints a1)
8965  set_value(RigidMember self, StringKey a0, IMP::String a1)
8966  set_value(RigidMember self, ParticleIndexKey a0, Particle a1)
8967  set_value(RigidMember self, ObjectKey a0, Object a1)
8968  set_value(RigidMember self, SparseFloatKey a0, IMP::Float a1)
8969  set_value(RigidMember self, SparseIntKey a0, IMP::Int a1)
8970  set_value(RigidMember self, SparseStringKey a0, IMP::String a1)
8971  set_value(RigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
8972  """
8973  return _IMP_core.RigidMember_set_value(self, *args)
8974 
8975  def remove_attribute(self, *args):
8976  r"""
8977  remove_attribute(RigidMember self, FloatKey a0)
8978  remove_attribute(RigidMember self, IntKey a0)
8979  remove_attribute(RigidMember self, FloatsKey a0)
8980  remove_attribute(RigidMember self, IntsKey a0)
8981  remove_attribute(RigidMember self, StringKey a0)
8982  remove_attribute(RigidMember self, ParticleIndexKey a0)
8983  remove_attribute(RigidMember self, ObjectKey a0)
8984  remove_attribute(RigidMember self, SparseFloatKey a0)
8985  remove_attribute(RigidMember self, SparseIntKey a0)
8986  remove_attribute(RigidMember self, SparseStringKey a0)
8987  remove_attribute(RigidMember self, SparseParticleIndexKey a0)
8988  """
8989  return _IMP_core.RigidMember_remove_attribute(self, *args)
8990 
8991  def has_attribute(self, *args):
8992  r"""
8993  has_attribute(RigidMember self, FloatKey a0) -> bool
8994  has_attribute(RigidMember self, IntKey a0) -> bool
8995  has_attribute(RigidMember self, FloatsKey a0) -> bool
8996  has_attribute(RigidMember self, IntsKey a0) -> bool
8997  has_attribute(RigidMember self, StringKey a0) -> bool
8998  has_attribute(RigidMember self, ParticleIndexKey a0) -> bool
8999  has_attribute(RigidMember self, ObjectKey a0) -> bool
9000  has_attribute(RigidMember self, SparseFloatKey a0) -> bool
9001  has_attribute(RigidMember self, SparseIntKey a0) -> bool
9002  has_attribute(RigidMember self, SparseStringKey a0) -> bool
9003  has_attribute(RigidMember self, SparseParticleIndexKey a0) -> bool
9004  """
9005  return _IMP_core.RigidMember_has_attribute(self, *args)
9006 
9007  def get_derivative(self, a0):
9008  r"""get_derivative(RigidMember self, FloatKey a0) -> double"""
9009  return _IMP_core.RigidMember_get_derivative(self, a0)
9010 
9011  def get_name(self):
9012  r"""get_name(RigidMember self) -> std::string"""
9013  return _IMP_core.RigidMember_get_name(self)
9014 
9015  def clear_caches(self):
9016  r"""clear_caches(RigidMember self)"""
9017  return _IMP_core.RigidMember_clear_caches(self)
9018 
9019  def set_name(self, a0):
9020  r"""set_name(RigidMember self, std::string a0)"""
9021  return _IMP_core.RigidMember_set_name(self, a0)
9022 
9023  def set_check_level(self, a0):
9024  r"""set_check_level(RigidMember self, IMP::CheckLevel a0)"""
9025  return _IMP_core.RigidMember_set_check_level(self, a0)
9026 
9027  def add_to_derivative(self, a0, a1, a2):
9028  r"""add_to_derivative(RigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9029  return _IMP_core.RigidMember_add_to_derivative(self, a0, a1, a2)
9030 
9031  def set_is_optimized(self, a0, a1):
9032  r"""set_is_optimized(RigidMember self, FloatKey a0, bool a1)"""
9033  return _IMP_core.RigidMember_set_is_optimized(self, a0, a1)
9034 
9035  def get_is_optimized(self, a0):
9036  r"""get_is_optimized(RigidMember self, FloatKey a0) -> bool"""
9037  return _IMP_core.RigidMember_get_is_optimized(self, a0)
9038 
9039  def get_check_level(self):
9040  r"""get_check_level(RigidMember self) -> IMP::CheckLevel"""
9041  return _IMP_core.RigidMember_get_check_level(self)
9042 
9043  def __eq__(self, *args):
9044  r"""
9045  __eq__(RigidMember self, RigidMember o) -> bool
9046  __eq__(RigidMember self, Particle d) -> bool
9047  """
9048  return _IMP_core.RigidMember___eq__(self, *args)
9049 
9050  def __ne__(self, *args):
9051  r"""
9052  __ne__(RigidMember self, RigidMember o) -> bool
9053  __ne__(RigidMember self, Particle d) -> bool
9054  """
9055  return _IMP_core.RigidMember___ne__(self, *args)
9056 
9057  def __le__(self, *args):
9058  r"""
9059  __le__(RigidMember self, RigidMember o) -> bool
9060  __le__(RigidMember self, Particle d) -> bool
9061  """
9062  return _IMP_core.RigidMember___le__(self, *args)
9063 
9064  def __lt__(self, *args):
9065  r"""
9066  __lt__(RigidMember self, RigidMember o) -> bool
9067  __lt__(RigidMember self, Particle d) -> bool
9068  """
9069  return _IMP_core.RigidMember___lt__(self, *args)
9070 
9071  def __ge__(self, *args):
9072  r"""
9073  __ge__(RigidMember self, RigidMember o) -> bool
9074  __ge__(RigidMember self, Particle d) -> bool
9075  """
9076  return _IMP_core.RigidMember___ge__(self, *args)
9077 
9078  def __gt__(self, *args):
9079  r"""
9080  __gt__(RigidMember self, RigidMember o) -> bool
9081  __gt__(RigidMember self, Particle d) -> bool
9082  """
9083  return _IMP_core.RigidMember___gt__(self, *args)
9084 
9085  def __hash__(self):
9086  r"""__hash__(RigidMember self) -> std::size_t"""
9087  return _IMP_core.RigidMember___hash__(self)
9088 
9089  def __str__(self):
9090  r"""__str__(RigidMember self) -> std::string"""
9091  return _IMP_core.RigidMember___str__(self)
9092 
9093  def __repr__(self):
9094  r"""__repr__(RigidMember self) -> std::string"""
9095  return _IMP_core.RigidMember___repr__(self)
9096 
9097  def _get_as_binary(self):
9098  r"""_get_as_binary(RigidMember self) -> PyObject *"""
9099  return _IMP_core.RigidMember__get_as_binary(self)
9100 
9101  def _set_from_binary(self, p):
9102  r"""_set_from_binary(RigidMember self, PyObject * p)"""
9103  return _IMP_core.RigidMember__set_from_binary(self, p)
9104 
9105  def __getstate__(self):
9106  p = self._get_as_binary()
9107  if len(self.__dict__) > 1:
9108  d = self.__dict__.copy()
9109  del d['this']
9110  p = (d, p)
9111  return p
9112 
9113  def __setstate__(self, p):
9114  if not hasattr(self, 'this'):
9115  self.__init__()
9116  if isinstance(p, tuple):
9117  d, p = p
9118  self.__dict__.update(d)
9119  return self._set_from_binary(p)
9120 
9121 
9122 # Register RigidMember in _IMP_core:
9123 _IMP_core.RigidMember_swigregister(RigidMember)
9124 class NonRigidMember(RigidBodyMember):
9125  r"""Proxy of C++ IMP::core::NonRigidMember class."""
9126 
9127  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9128 
9129  def show(self, *args):
9130  r"""show(NonRigidMember self, _ostream out=std::cout)"""
9131  return _IMP_core.NonRigidMember_show(self, *args)
9132 
9133  def __init__(self, *args):
9134  r"""
9135  __init__(NonRigidMember self) -> NonRigidMember
9136  __init__(NonRigidMember self, Model m, ParticleIndex id) -> NonRigidMember
9137  __init__(NonRigidMember self, _ParticleAdaptor d) -> NonRigidMember
9138  __init__(NonRigidMember self, NonRigidMember arg2) -> NonRigidMember
9139  """
9140  _IMP_core.NonRigidMember_swiginit(self, _IMP_core.new_NonRigidMember(*args))
9141  __swig_destroy__ = _IMP_core.delete_NonRigidMember
9142 
9143  @staticmethod
9144  def get_is_setup(*args):
9145  r"""
9146  get_is_setup(_ParticleAdaptor p) -> bool
9147  get_is_setup(Model m, ParticleIndex p) -> bool
9148  """
9149  return _IMP_core.NonRigidMember_get_is_setup(*args)
9150 
9151  def add_to_internal_derivatives(self, deriv_parent, da):
9152  r"""add_to_internal_derivatives(NonRigidMember self, Vector3D deriv_parent, DerivativeAccumulator da)"""
9153  return _IMP_core.NonRigidMember_add_to_internal_derivatives(self, deriv_parent, da)
9154 
9155  def add_to_internal_rotational_derivatives(self, qderiv, da):
9156  r"""add_to_internal_rotational_derivatives(NonRigidMember self, Vector4D qderiv, DerivativeAccumulator da)"""
9157  return _IMP_core.NonRigidMember_add_to_internal_rotational_derivatives(self, qderiv, da)
9158 
9159  def get_internal_derivatives(self):
9160  r"""get_internal_derivatives(NonRigidMember self) -> Vector3D"""
9161  return _IMP_core.NonRigidMember_get_internal_derivatives(self)
9162 
9163  def get_internal_rotational_derivatives(self):
9164  r"""get_internal_rotational_derivatives(NonRigidMember self) -> Vector4D"""
9165  return _IMP_core.NonRigidMember_get_internal_rotational_derivatives(self)
9166 
9167  def add_attribute(self, *args):
9168  r"""
9169  add_attribute(NonRigidMember self, FloatKey k, IMP::Float v, bool opt)
9170  add_attribute(NonRigidMember self, FloatKey a0, IMP::Float a1)
9171  add_attribute(NonRigidMember self, IntKey a0, IMP::Int a1)
9172  add_attribute(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9173  add_attribute(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9174  add_attribute(NonRigidMember self, StringKey a0, IMP::String a1)
9175  add_attribute(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9176  add_attribute(NonRigidMember self, ObjectKey a0, Object a1)
9177  add_attribute(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9178  add_attribute(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9179  add_attribute(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9180  add_attribute(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9181  """
9182  return _IMP_core.NonRigidMember_add_attribute(self, *args)
9183 
9184  def get_value(self, *args):
9185  r"""
9186  get_value(NonRigidMember self, FloatKey a0) -> IMP::Float
9187  get_value(NonRigidMember self, IntKey a0) -> IMP::Int
9188  get_value(NonRigidMember self, FloatsKey a0) -> IMP::Floats
9189  get_value(NonRigidMember self, IntsKey a0) -> IMP::Ints
9190  get_value(NonRigidMember self, StringKey a0) -> IMP::String
9191  get_value(NonRigidMember self, ParticleIndexKey a0) -> Particle
9192  get_value(NonRigidMember self, ObjectKey a0) -> Object
9193  get_value(NonRigidMember self, SparseFloatKey a0) -> IMP::Float
9194  get_value(NonRigidMember self, SparseIntKey a0) -> IMP::Int
9195  get_value(NonRigidMember self, SparseStringKey a0) -> IMP::String
9196  get_value(NonRigidMember self, SparseParticleIndexKey a0) -> ParticleIndex
9197  """
9198  return _IMP_core.NonRigidMember_get_value(self, *args)
9199 
9200  def set_value(self, *args):
9201  r"""
9202  set_value(NonRigidMember self, FloatKey a0, IMP::Float a1)
9203  set_value(NonRigidMember self, IntKey a0, IMP::Int a1)
9204  set_value(NonRigidMember self, FloatsKey a0, IMP::Floats a1)
9205  set_value(NonRigidMember self, IntsKey a0, IMP::Ints a1)
9206  set_value(NonRigidMember self, StringKey a0, IMP::String a1)
9207  set_value(NonRigidMember self, ParticleIndexKey a0, Particle a1)
9208  set_value(NonRigidMember self, ObjectKey a0, Object a1)
9209  set_value(NonRigidMember self, SparseFloatKey a0, IMP::Float a1)
9210  set_value(NonRigidMember self, SparseIntKey a0, IMP::Int a1)
9211  set_value(NonRigidMember self, SparseStringKey a0, IMP::String a1)
9212  set_value(NonRigidMember self, SparseParticleIndexKey a0, ParticleIndex a1)
9213  """
9214  return _IMP_core.NonRigidMember_set_value(self, *args)
9215 
9216  def remove_attribute(self, *args):
9217  r"""
9218  remove_attribute(NonRigidMember self, FloatKey a0)
9219  remove_attribute(NonRigidMember self, IntKey a0)
9220  remove_attribute(NonRigidMember self, FloatsKey a0)
9221  remove_attribute(NonRigidMember self, IntsKey a0)
9222  remove_attribute(NonRigidMember self, StringKey a0)
9223  remove_attribute(NonRigidMember self, ParticleIndexKey a0)
9224  remove_attribute(NonRigidMember self, ObjectKey a0)
9225  remove_attribute(NonRigidMember self, SparseFloatKey a0)
9226  remove_attribute(NonRigidMember self, SparseIntKey a0)
9227  remove_attribute(NonRigidMember self, SparseStringKey a0)
9228  remove_attribute(NonRigidMember self, SparseParticleIndexKey a0)
9229  """
9230  return _IMP_core.NonRigidMember_remove_attribute(self, *args)
9231 
9232  def has_attribute(self, *args):
9233  r"""
9234  has_attribute(NonRigidMember self, FloatKey a0) -> bool
9235  has_attribute(NonRigidMember self, IntKey a0) -> bool
9236  has_attribute(NonRigidMember self, FloatsKey a0) -> bool
9237  has_attribute(NonRigidMember self, IntsKey a0) -> bool
9238  has_attribute(NonRigidMember self, StringKey a0) -> bool
9239  has_attribute(NonRigidMember self, ParticleIndexKey a0) -> bool
9240  has_attribute(NonRigidMember self, ObjectKey a0) -> bool
9241  has_attribute(NonRigidMember self, SparseFloatKey a0) -> bool
9242  has_attribute(NonRigidMember self, SparseIntKey a0) -> bool
9243  has_attribute(NonRigidMember self, SparseStringKey a0) -> bool
9244  has_attribute(NonRigidMember self, SparseParticleIndexKey a0) -> bool
9245  """
9246  return _IMP_core.NonRigidMember_has_attribute(self, *args)
9247 
9248  def get_derivative(self, a0):
9249  r"""get_derivative(NonRigidMember self, FloatKey a0) -> double"""
9250  return _IMP_core.NonRigidMember_get_derivative(self, a0)
9251 
9252  def get_name(self):
9253  r"""get_name(NonRigidMember self) -> std::string"""
9254  return _IMP_core.NonRigidMember_get_name(self)
9255 
9256  def clear_caches(self):
9257  r"""clear_caches(NonRigidMember self)"""
9258  return _IMP_core.NonRigidMember_clear_caches(self)
9259 
9260  def set_name(self, a0):
9261  r"""set_name(NonRigidMember self, std::string a0)"""
9262  return _IMP_core.NonRigidMember_set_name(self, a0)
9263 
9264  def set_check_level(self, a0):
9265  r"""set_check_level(NonRigidMember self, IMP::CheckLevel a0)"""
9266  return _IMP_core.NonRigidMember_set_check_level(self, a0)
9267 
9268  def add_to_derivative(self, a0, a1, a2):
9269  r"""add_to_derivative(NonRigidMember self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9270  return _IMP_core.NonRigidMember_add_to_derivative(self, a0, a1, a2)
9271 
9272  def set_is_optimized(self, a0, a1):
9273  r"""set_is_optimized(NonRigidMember self, FloatKey a0, bool a1)"""
9274  return _IMP_core.NonRigidMember_set_is_optimized(self, a0, a1)
9275 
9276  def get_is_optimized(self, a0):
9277  r"""get_is_optimized(NonRigidMember self, FloatKey a0) -> bool"""
9278  return _IMP_core.NonRigidMember_get_is_optimized(self, a0)
9279 
9280  def get_check_level(self):
9281  r"""get_check_level(NonRigidMember self) -> IMP::CheckLevel"""
9282  return _IMP_core.NonRigidMember_get_check_level(self)
9283 
9284  def __eq__(self, *args):
9285  r"""
9286  __eq__(NonRigidMember self, NonRigidMember o) -> bool
9287  __eq__(NonRigidMember self, Particle d) -> bool
9288  """
9289  return _IMP_core.NonRigidMember___eq__(self, *args)
9290 
9291  def __ne__(self, *args):
9292  r"""
9293  __ne__(NonRigidMember self, NonRigidMember o) -> bool
9294  __ne__(NonRigidMember self, Particle d) -> bool
9295  """
9296  return _IMP_core.NonRigidMember___ne__(self, *args)
9297 
9298  def __le__(self, *args):
9299  r"""
9300  __le__(NonRigidMember self, NonRigidMember o) -> bool
9301  __le__(NonRigidMember self, Particle d) -> bool
9302  """
9303  return _IMP_core.NonRigidMember___le__(self, *args)
9304 
9305  def __lt__(self, *args):
9306  r"""
9307  __lt__(NonRigidMember self, NonRigidMember o) -> bool
9308  __lt__(NonRigidMember self, Particle d) -> bool
9309  """
9310  return _IMP_core.NonRigidMember___lt__(self, *args)
9311 
9312  def __ge__(self, *args):
9313  r"""
9314  __ge__(NonRigidMember self, NonRigidMember o) -> bool
9315  __ge__(NonRigidMember self, Particle d) -> bool
9316  """
9317  return _IMP_core.NonRigidMember___ge__(self, *args)
9318 
9319  def __gt__(self, *args):
9320  r"""
9321  __gt__(NonRigidMember self, NonRigidMember o) -> bool
9322  __gt__(NonRigidMember self, Particle d) -> bool
9323  """
9324  return _IMP_core.NonRigidMember___gt__(self, *args)
9325 
9326  def __hash__(self):
9327  r"""__hash__(NonRigidMember self) -> std::size_t"""
9328  return _IMP_core.NonRigidMember___hash__(self)
9329 
9330  def __str__(self):
9331  r"""__str__(NonRigidMember self) -> std::string"""
9332  return _IMP_core.NonRigidMember___str__(self)
9333 
9334  def __repr__(self):
9335  r"""__repr__(NonRigidMember self) -> std::string"""
9336  return _IMP_core.NonRigidMember___repr__(self)
9337 
9338  def _get_as_binary(self):
9339  r"""_get_as_binary(NonRigidMember self) -> PyObject *"""
9340  return _IMP_core.NonRigidMember__get_as_binary(self)
9341 
9342  def _set_from_binary(self, p):
9343  r"""_set_from_binary(NonRigidMember self, PyObject * p)"""
9344  return _IMP_core.NonRigidMember__set_from_binary(self, p)
9345 
9346  def __getstate__(self):
9347  p = self._get_as_binary()
9348  if len(self.__dict__) > 1:
9349  d = self.__dict__.copy()
9350  del d['this']
9351  p = (d, p)
9352  return p
9353 
9354  def __setstate__(self, p):
9355  if not hasattr(self, 'this'):
9356  self.__init__()
9357  if isinstance(p, tuple):
9358  d, p = p
9359  self.__dict__.update(d)
9360  return self._set_from_binary(p)
9361 
9362 
9363 # Register NonRigidMember in _IMP_core:
9364 _IMP_core.NonRigidMember_swigregister(NonRigidMember)
9365 class RigidMembersRefiner(IMP.Refiner):
9366  r"""Proxy of C++ IMP::core::RigidMembersRefiner class."""
9367 
9368  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9369 
9370  def __init__(self, *args):
9371  r"""__init__(RigidMembersRefiner self, std::string name="RigidMembersRefiner%d") -> RigidMembersRefiner"""
9372  _IMP_core.RigidMembersRefiner_swiginit(self, _IMP_core.new_RigidMembersRefiner(*args))
9373 
9374  def do_get_inputs(self, m, pis):
9375  r"""do_get_inputs(RigidMembersRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9376  return _IMP_core.RigidMembersRefiner_do_get_inputs(self, m, pis)
9377 
9378  def get_version_info(self):
9379  r"""get_version_info(RigidMembersRefiner self) -> VersionInfo"""
9380  return _IMP_core.RigidMembersRefiner_get_version_info(self)
9381  __swig_destroy__ = _IMP_core.delete_RigidMembersRefiner
9382 
9383  def __str__(self):
9384  r"""__str__(RigidMembersRefiner self) -> std::string"""
9385  return _IMP_core.RigidMembersRefiner___str__(self)
9386 
9387  def __repr__(self):
9388  r"""__repr__(RigidMembersRefiner self) -> std::string"""
9389  return _IMP_core.RigidMembersRefiner___repr__(self)
9390 
9391  @staticmethod
9392  def get_from(o):
9393  return _object_cast_to_RigidMembersRefiner(o)
9394 
9395 
9396 # Register RigidMembersRefiner in _IMP_core:
9397 _IMP_core.RigidMembersRefiner_swigregister(RigidMembersRefiner)
9398 
9399 def get_rigid_members_refiner():
9400  r"""get_rigid_members_refiner() -> RigidMembersRefiner"""
9401  return _IMP_core.get_rigid_members_refiner()
9402 
9403 def transform(*args):
9404  r"""
9405  transform(XYZ a, Transformation3D tr)
9406  transform(RigidBody a, Transformation3D tr)
9407  """
9408  return _IMP_core.transform(*args)
9409 
9410 def get_initial_reference_frame(*args):
9411  r"""
9412  get_initial_reference_frame(Model m, IMP::ParticleIndexes const & pis) -> ReferenceFrame3D
9413  get_initial_reference_frame(IMP::ParticlesTemp const & ps) -> ReferenceFrame3D
9414  """
9415  return _IMP_core.get_initial_reference_frame(*args)
9416 
9417 def create_rigid_bodies(m, n, no_members=False):
9418  r"""create_rigid_bodies(Model m, unsigned int n, bool no_members=False) -> IMP::ParticlesTemp"""
9419  return _IMP_core.create_rigid_bodies(m, n, no_members)
9420 
9421 def show_rigid_body_hierarchy(*args):
9422  r"""show_rigid_body_hierarchy(RigidBody rb, TextOutput out=IMP::TextOutput(std::cout))"""
9423  return _IMP_core.show_rigid_body_hierarchy(*args)
9424 
9425 def get_root_rigid_body(m):
9426  r"""get_root_rigid_body(RigidMember m) -> ParticleIndex"""
9427  return _IMP_core.get_root_rigid_body(m)
9428 class _UpdateRigidBodyMembers(IMP.SingletonModifier):
9429  r"""Proxy of C++ IMP::core::internal::_UpdateRigidBodyMembers class."""
9430 
9431  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9432 
9433  def __init__(self, *args):
9434  r"""__init__(_UpdateRigidBodyMembers self, std::string name="UpdateRigidBodyMembers%1%") -> _UpdateRigidBodyMembers"""
9435  _IMP_core._UpdateRigidBodyMembers_swiginit(self, _IMP_core.new__UpdateRigidBodyMembers(*args))
9436 
9437  def do_get_inputs(self, m, pis):
9438  r"""do_get_inputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9439  return _IMP_core._UpdateRigidBodyMembers_do_get_inputs(self, m, pis)
9440 
9441  def do_get_outputs(self, m, pis):
9442  r"""do_get_outputs(_UpdateRigidBodyMembers self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9443  return _IMP_core._UpdateRigidBodyMembers_do_get_outputs(self, m, pis)
9444 
9445  def get_version_info(self):
9446  r"""get_version_info(_UpdateRigidBodyMembers self) -> VersionInfo"""
9447  return _IMP_core._UpdateRigidBodyMembers_get_version_info(self)
9448  __swig_destroy__ = _IMP_core.delete__UpdateRigidBodyMembers
9449 
9450  def __str__(self):
9451  r"""__str__(_UpdateRigidBodyMembers self) -> std::string"""
9452  return _IMP_core._UpdateRigidBodyMembers___str__(self)
9453 
9454  def __repr__(self):
9455  r"""__repr__(_UpdateRigidBodyMembers self) -> std::string"""
9456  return _IMP_core._UpdateRigidBodyMembers___repr__(self)
9457 
9458  @staticmethod
9459  def get_from(o):
9460  return _object_cast_to__UpdateRigidBodyMembers(o)
9461 
9462 
9463 # Register _UpdateRigidBodyMembers in _IMP_core:
9464 _IMP_core._UpdateRigidBodyMembers_swigregister(_UpdateRigidBodyMembers)
9465 class _AccumulateRigidBodyDerivatives(IMP.SingletonModifier):
9466  r"""Proxy of C++ IMP::core::internal::_AccumulateRigidBodyDerivatives class."""
9467 
9468  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9469 
9470  def __init__(self, *args):
9471  r"""__init__(_AccumulateRigidBodyDerivatives self, std::string name="AccumulateRigidBodyDerivatives%1%") -> _AccumulateRigidBodyDerivatives"""
9472  _IMP_core._AccumulateRigidBodyDerivatives_swiginit(self, _IMP_core.new__AccumulateRigidBodyDerivatives(*args))
9473 
9474  def do_get_inputs(self, m, pis):
9475  r"""do_get_inputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9476  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_inputs(self, m, pis)
9477 
9478  def do_get_outputs(self, m, pis):
9479  r"""do_get_outputs(_AccumulateRigidBodyDerivatives self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9480  return _IMP_core._AccumulateRigidBodyDerivatives_do_get_outputs(self, m, pis)
9481 
9482  def get_version_info(self):
9483  r"""get_version_info(_AccumulateRigidBodyDerivatives self) -> VersionInfo"""
9484  return _IMP_core._AccumulateRigidBodyDerivatives_get_version_info(self)
9485  __swig_destroy__ = _IMP_core.delete__AccumulateRigidBodyDerivatives
9486 
9487  def __str__(self):
9488  r"""__str__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9489  return _IMP_core._AccumulateRigidBodyDerivatives___str__(self)
9490 
9491  def __repr__(self):
9492  r"""__repr__(_AccumulateRigidBodyDerivatives self) -> std::string"""
9493  return _IMP_core._AccumulateRigidBodyDerivatives___repr__(self)
9494 
9495  @staticmethod
9496  def get_from(o):
9497  return _object_cast_to__AccumulateRigidBodyDerivatives(o)
9498 
9499 
9500 # Register _AccumulateRigidBodyDerivatives in _IMP_core:
9501 _IMP_core._AccumulateRigidBodyDerivatives_swigregister(_AccumulateRigidBodyDerivatives)
9502 class _NormalizeRotation(IMP.SingletonModifier):
9503  r"""Proxy of C++ IMP::core::internal::_NormalizeRotation 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"""__init__(_NormalizeRotation self, std::string name="NormalizeRotation%1%") -> _NormalizeRotation"""
9509  _IMP_core._NormalizeRotation_swiginit(self, _IMP_core.new__NormalizeRotation(*args))
9510 
9511  def do_get_inputs(self, m, pis):
9512  r"""do_get_inputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9513  return _IMP_core._NormalizeRotation_do_get_inputs(self, m, pis)
9514 
9515  def do_get_outputs(self, m, pis):
9516  r"""do_get_outputs(_NormalizeRotation self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9517  return _IMP_core._NormalizeRotation_do_get_outputs(self, m, pis)
9518 
9519  def get_version_info(self):
9520  r"""get_version_info(_NormalizeRotation self) -> VersionInfo"""
9521  return _IMP_core._NormalizeRotation_get_version_info(self)
9522  __swig_destroy__ = _IMP_core.delete__NormalizeRotation
9523 
9524  def __str__(self):
9525  r"""__str__(_NormalizeRotation self) -> std::string"""
9526  return _IMP_core._NormalizeRotation___str__(self)
9527 
9528  def __repr__(self):
9529  r"""__repr__(_NormalizeRotation self) -> std::string"""
9530  return _IMP_core._NormalizeRotation___repr__(self)
9531 
9532  @staticmethod
9533  def get_from(o):
9534  return _object_cast_to__NormalizeRotation(o)
9535 
9536 
9537 # Register _NormalizeRotation in _IMP_core:
9538 _IMP_core._NormalizeRotation_swigregister(_NormalizeRotation)
9539 class _RigidBodyNormalizeConstraint(IMP.Constraint):
9540  r"""Proxy of C++ IMP::core::internal::_RigidBodyNormalizeConstraint class."""
9541 
9542  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9543 
9544  def __init__(self, *args, **kwargs):
9545  raise AttributeError("No constructor defined - class is abstract")
9546 
9547  def get_before_modifier(self):
9548  r"""get_before_modifier(_RigidBodyNormalizeConstraint self) -> _NormalizeRotation"""
9549  return _IMP_core._RigidBodyNormalizeConstraint_get_before_modifier(self)
9550 
9551  def get_container(self):
9552  r"""get_container(_RigidBodyNormalizeConstraint self) -> Container"""
9553  return _IMP_core._RigidBodyNormalizeConstraint_get_container(self)
9554 
9555  def get_version_info(self):
9556  r"""get_version_info(_RigidBodyNormalizeConstraint self) -> VersionInfo"""
9557  return _IMP_core._RigidBodyNormalizeConstraint_get_version_info(self)
9558  __swig_destroy__ = _IMP_core.delete__RigidBodyNormalizeConstraint
9559 
9560  def __str__(self):
9561  r"""__str__(_RigidBodyNormalizeConstraint self) -> std::string"""
9562  return _IMP_core._RigidBodyNormalizeConstraint___str__(self)
9563 
9564  def __repr__(self):
9565  r"""__repr__(_RigidBodyNormalizeConstraint self) -> std::string"""
9566  return _IMP_core._RigidBodyNormalizeConstraint___repr__(self)
9567 
9568  @staticmethod
9569  def get_from(o):
9570  return _object_cast_to__RigidBodyNormalizeConstraint(o)
9571 
9572 
9573  def _get_jax(self):
9574  from IMP.algebra._jax_util import _quaternion_normalize
9575  import jax
9576  normalize_rotations = jax.vmap(_quaternion_normalize, in_axes=0)
9577  def apply_func(jm):
9578  # Assume that constraint acts on all rigid bodies
9579  allrbs = jm['rigid_bodies']
9580  allrbs.quaternion = normalize_rotations(allrbs.quaternion)
9581  return jm
9582  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9583 
9584 
9585 # Register _RigidBodyNormalizeConstraint in _IMP_core:
9586 _IMP_core._RigidBodyNormalizeConstraint_swigregister(_RigidBodyNormalizeConstraint)
9587 class _RigidBodyPositionConstraint(IMP.Constraint):
9588  r"""Proxy of C++ IMP::core::internal::_RigidBodyPositionConstraint class."""
9589 
9590  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9591 
9592  def __init__(self, *args, **kwargs):
9593  raise AttributeError("No constructor defined - class is abstract")
9594 
9595  def get_version_info(self):
9596  r"""get_version_info(_RigidBodyPositionConstraint self) -> VersionInfo"""
9597  return _IMP_core._RigidBodyPositionConstraint_get_version_info(self)
9598  __swig_destroy__ = _IMP_core.delete__RigidBodyPositionConstraint
9599 
9600  def get_before_modifier(self):
9601  r"""get_before_modifier(_RigidBodyPositionConstraint self) -> _UpdateRigidBodyMembers"""
9602  return _IMP_core._RigidBodyPositionConstraint_get_before_modifier(self)
9603 
9604  def get_after_modifier(self):
9605  r"""get_after_modifier(_RigidBodyPositionConstraint self) -> _AccumulateRigidBodyDerivatives"""
9606  return _IMP_core._RigidBodyPositionConstraint_get_after_modifier(self)
9607 
9608  def get_index(self):
9609  r"""get_index(_RigidBodyPositionConstraint self) -> ParticleIndex"""
9610  return _IMP_core._RigidBodyPositionConstraint_get_index(self)
9611 
9612  def __str__(self):
9613  r"""__str__(_RigidBodyPositionConstraint self) -> std::string"""
9614  return _IMP_core._RigidBodyPositionConstraint___str__(self)
9615 
9616  def __repr__(self):
9617  r"""__repr__(_RigidBodyPositionConstraint self) -> std::string"""
9618  return _IMP_core._RigidBodyPositionConstraint___repr__(self)
9619 
9620  @staticmethod
9621  def get_from(o):
9622  return _object_cast_to__RigidBodyPositionConstraint(o)
9623 
9624 
9625  def _get_jax(self):
9626  import jax
9627  def apply_func(jm):
9628  # Assume that constraint acts on all rigid bodies
9629  bodies = jm['rigid_bodies'].bodies
9630  # todo: this could perhaps be better parallelized, as in most
9631  # cases (at least, without nested rigid bodies) the update of
9632  # one rigid body does not affect members of another body
9633  for body in bodies:
9634  jm = body.update_members(jm)
9635  return jm
9636  return self._wrap_jax(apply_func, keys=['rigid_bodies'])
9637 
9638 
9639 # Register _RigidBodyPositionConstraint in _IMP_core:
9640 _IMP_core._RigidBodyPositionConstraint_swigregister(_RigidBodyPositionConstraint)
9641 class RigidBodyHierarchyGeometry(IMP.display.SingletonGeometry):
9642  r"""Proxy of C++ IMP::core::RigidBodyHierarchyGeometry class."""
9643 
9644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9645 
9646  def __init__(self, rb, constituents):
9647  r"""__init__(RigidBodyHierarchyGeometry self, RigidBody rb, IMP::ParticlesTemp const & constituents) -> RigidBodyHierarchyGeometry"""
9648  _IMP_core.RigidBodyHierarchyGeometry_swiginit(self, _IMP_core.new_RigidBodyHierarchyGeometry(rb, constituents))
9649 
9650  def get_version_info(self):
9651  r"""get_version_info(RigidBodyHierarchyGeometry self) -> VersionInfo"""
9652  return _IMP_core.RigidBodyHierarchyGeometry_get_version_info(self)
9653  __swig_destroy__ = _IMP_core.delete_RigidBodyHierarchyGeometry
9654 
9655  def __str__(self):
9656  r"""__str__(RigidBodyHierarchyGeometry self) -> std::string"""
9657  return _IMP_core.RigidBodyHierarchyGeometry___str__(self)
9658 
9659  def __repr__(self):
9660  r"""__repr__(RigidBodyHierarchyGeometry self) -> std::string"""
9661  return _IMP_core.RigidBodyHierarchyGeometry___repr__(self)
9662 
9663  @staticmethod
9664  def get_from(o):
9665  return _object_cast_to_RigidBodyHierarchyGeometry(o)
9666 
9667 
9668 # Register RigidBodyHierarchyGeometry in _IMP_core:
9669 _IMP_core.RigidBodyHierarchyGeometry_swigregister(RigidBodyHierarchyGeometry)
9670 class RigidBodyDerivativeGeometry(IMP.display.SingletonGeometry):
9671  r"""Proxy of C++ IMP::core::RigidBodyDerivativeGeometry class."""
9672 
9673  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9674 
9675  def __init__(self, *args):
9676  r"""
9677  __init__(RigidBodyDerivativeGeometry self, Particle p) -> RigidBodyDerivativeGeometry
9678  __init__(RigidBodyDerivativeGeometry self, RigidBody d) -> RigidBodyDerivativeGeometry
9679  """
9680  _IMP_core.RigidBodyDerivativeGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativeGeometry(*args))
9681 
9682  def get_version_info(self):
9683  r"""get_version_info(RigidBodyDerivativeGeometry self) -> VersionInfo"""
9684  return _IMP_core.RigidBodyDerivativeGeometry_get_version_info(self)
9685  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativeGeometry
9686 
9687  def __str__(self):
9688  r"""__str__(RigidBodyDerivativeGeometry self) -> std::string"""
9689  return _IMP_core.RigidBodyDerivativeGeometry___str__(self)
9690 
9691  def __repr__(self):
9692  r"""__repr__(RigidBodyDerivativeGeometry self) -> std::string"""
9693  return _IMP_core.RigidBodyDerivativeGeometry___repr__(self)
9694 
9695  @staticmethod
9696  def get_from(o):
9697  return _object_cast_to_RigidBodyDerivativeGeometry(o)
9698 
9699 
9700 # Register RigidBodyDerivativeGeometry in _IMP_core:
9701 _IMP_core.RigidBodyDerivativeGeometry_swigregister(RigidBodyDerivativeGeometry)
9702 class RigidBodyDerivativesGeometry(IMP.display.SingletonsGeometry):
9703  r"""Proxy of C++ IMP::core::RigidBodyDerivativesGeometry class."""
9704 
9705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9706 
9707  def __init__(self, sc):
9708  r"""__init__(RigidBodyDerivativesGeometry self, SingletonContainer sc) -> RigidBodyDerivativesGeometry"""
9709  _IMP_core.RigidBodyDerivativesGeometry_swiginit(self, _IMP_core.new_RigidBodyDerivativesGeometry(sc))
9710 
9711  def get_version_info(self):
9712  r"""get_version_info(RigidBodyDerivativesGeometry self) -> VersionInfo"""
9713  return _IMP_core.RigidBodyDerivativesGeometry_get_version_info(self)
9714  __swig_destroy__ = _IMP_core.delete_RigidBodyDerivativesGeometry
9715 
9716  def __str__(self):
9717  r"""__str__(RigidBodyDerivativesGeometry self) -> std::string"""
9718  return _IMP_core.RigidBodyDerivativesGeometry___str__(self)
9719 
9720  def __repr__(self):
9721  r"""__repr__(RigidBodyDerivativesGeometry self) -> std::string"""
9722  return _IMP_core.RigidBodyDerivativesGeometry___repr__(self)
9723 
9724  @staticmethod
9725  def get_from(o):
9726  return _object_cast_to_RigidBodyDerivativesGeometry(o)
9727 
9728 
9729 # Register RigidBodyDerivativesGeometry in _IMP_core:
9730 _IMP_core.RigidBodyDerivativesGeometry_swigregister(RigidBodyDerivativesGeometry)
9731 class RigidBodyFrameGeometry(IMP.display.SingletonGeometry):
9732  r"""Proxy of C++ IMP::core::RigidBodyFrameGeometry class."""
9733 
9734  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9735 
9736  def __init__(self, *args):
9737  r"""
9738  __init__(RigidBodyFrameGeometry self, Particle p) -> RigidBodyFrameGeometry
9739  __init__(RigidBodyFrameGeometry self, RigidBody d) -> RigidBodyFrameGeometry
9740  """
9741  _IMP_core.RigidBodyFrameGeometry_swiginit(self, _IMP_core.new_RigidBodyFrameGeometry(*args))
9742 
9743  def get_version_info(self):
9744  r"""get_version_info(RigidBodyFrameGeometry self) -> VersionInfo"""
9745  return _IMP_core.RigidBodyFrameGeometry_get_version_info(self)
9746  __swig_destroy__ = _IMP_core.delete_RigidBodyFrameGeometry
9747 
9748  def __str__(self):
9749  r"""__str__(RigidBodyFrameGeometry self) -> std::string"""
9750  return _IMP_core.RigidBodyFrameGeometry___str__(self)
9751 
9752  def __repr__(self):
9753  r"""__repr__(RigidBodyFrameGeometry self) -> std::string"""
9754  return _IMP_core.RigidBodyFrameGeometry___repr__(self)
9755 
9756  @staticmethod
9757  def get_from(o):
9758  return _object_cast_to_RigidBodyFrameGeometry(o)
9759 
9760 
9761 # Register RigidBodyFrameGeometry in _IMP_core:
9762 _IMP_core.RigidBodyFrameGeometry_swigregister(RigidBodyFrameGeometry)
9763 class RigidBodyFramesGeometry(IMP.display.SingletonsGeometry):
9764  r"""Proxy of C++ IMP::core::RigidBodyFramesGeometry class."""
9765 
9766  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9767 
9768  def __init__(self, sc):
9769  r"""__init__(RigidBodyFramesGeometry self, SingletonContainer sc) -> RigidBodyFramesGeometry"""
9770  _IMP_core.RigidBodyFramesGeometry_swiginit(self, _IMP_core.new_RigidBodyFramesGeometry(sc))
9771 
9772  def get_version_info(self):
9773  r"""get_version_info(RigidBodyFramesGeometry self) -> VersionInfo"""
9774  return _IMP_core.RigidBodyFramesGeometry_get_version_info(self)
9775  __swig_destroy__ = _IMP_core.delete_RigidBodyFramesGeometry
9776 
9777  def __str__(self):
9778  r"""__str__(RigidBodyFramesGeometry self) -> std::string"""
9779  return _IMP_core.RigidBodyFramesGeometry___str__(self)
9780 
9781  def __repr__(self):
9782  r"""__repr__(RigidBodyFramesGeometry self) -> std::string"""
9783  return _IMP_core.RigidBodyFramesGeometry___repr__(self)
9784 
9785  @staticmethod
9786  def get_from(o):
9787  return _object_cast_to_RigidBodyFramesGeometry(o)
9788 
9789 
9790 # Register RigidBodyFramesGeometry in _IMP_core:
9791 _IMP_core.RigidBodyFramesGeometry_swigregister(RigidBodyFramesGeometry)
9792 class RigidBodyTorque(IMP.display.SegmentGeometry):
9793  r"""Proxy of C++ IMP::core::RigidBodyTorque class."""
9794 
9795  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9796 
9797  def __init__(self, p):
9798  r"""__init__(RigidBodyTorque self, Particle p) -> RigidBodyTorque"""
9799  _IMP_core.RigidBodyTorque_swiginit(self, _IMP_core.new_RigidBodyTorque(p))
9800 
9801  def __str__(self):
9802  r"""__str__(RigidBodyTorque self) -> std::string"""
9803  return _IMP_core.RigidBodyTorque___str__(self)
9804 
9805  def __repr__(self):
9806  r"""__repr__(RigidBodyTorque self) -> std::string"""
9807  return _IMP_core.RigidBodyTorque___repr__(self)
9808 
9809  @staticmethod
9810  def get_from(o):
9811  return _object_cast_to_RigidBodyTorque(o)
9812 
9813  __swig_destroy__ = _IMP_core.delete_RigidBodyTorque
9814 
9815 # Register RigidBodyTorque in _IMP_core:
9816 _IMP_core.RigidBodyTorque_swigregister(RigidBodyTorque)
9817 class NearestNeighborsClosePairsFinder(ClosePairsFinder):
9818  r"""Proxy of C++ IMP::core::NearestNeighborsClosePairsFinder class."""
9819 
9820  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9821 
9822  def __init__(self):
9823  r"""__init__(NearestNeighborsClosePairsFinder self) -> NearestNeighborsClosePairsFinder"""
9824  _IMP_core.NearestNeighborsClosePairsFinder_swiginit(self, _IMP_core.new_NearestNeighborsClosePairsFinder())
9825 
9826  def get_close_pairs(self, *args):
9827  r"""
9828  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9829  get_close_pairs(NearestNeighborsClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9830  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
9831  get_close_pairs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
9832  """
9833  return _IMP_core.NearestNeighborsClosePairsFinder_get_close_pairs(self, *args)
9834 
9835  def do_get_inputs(self, m, pis):
9836  r"""do_get_inputs(NearestNeighborsClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9837  return _IMP_core.NearestNeighborsClosePairsFinder_do_get_inputs(self, m, pis)
9838 
9839  def get_version_info(self):
9840  r"""get_version_info(NearestNeighborsClosePairsFinder self) -> VersionInfo"""
9841  return _IMP_core.NearestNeighborsClosePairsFinder_get_version_info(self)
9842  __swig_destroy__ = _IMP_core.delete_NearestNeighborsClosePairsFinder
9843 
9844  def __str__(self):
9845  r"""__str__(NearestNeighborsClosePairsFinder self) -> std::string"""
9846  return _IMP_core.NearestNeighborsClosePairsFinder___str__(self)
9847 
9848  def __repr__(self):
9849  r"""__repr__(NearestNeighborsClosePairsFinder self) -> std::string"""
9850  return _IMP_core.NearestNeighborsClosePairsFinder___repr__(self)
9851 
9852  @staticmethod
9853  def get_from(o):
9854  return _object_cast_to_NearestNeighborsClosePairsFinder(o)
9855 
9856 
9857 # Register NearestNeighborsClosePairsFinder in _IMP_core:
9858 _IMP_core.NearestNeighborsClosePairsFinder_swigregister(NearestNeighborsClosePairsFinder)
9859 class RestraintsScoringFunction(IMP.ScoringFunction):
9860  r"""Proxy of C++ IMP::core::RestraintsScoringFunction class."""
9861 
9862  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9863 
9864  def __init__(self, *args):
9865  r"""
9866  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> RestraintsScoringFunction
9867  __init__(RestraintsScoringFunction self, _RestraintsAdaptor rs, std::string name) -> RestraintsScoringFunction
9868  __init__(RestraintsScoringFunction self) -> RestraintsScoringFunction
9869  """
9870  _IMP_core.RestraintsScoringFunction_swiginit(self, _IMP_core.new_RestraintsScoringFunction(*args))
9871 
9872  def do_add_score_and_derivatives(self, sa, ss):
9873  r"""do_add_score_and_derivatives(RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
9874  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
9875 
9876  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
9877  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)"""
9878  return _IMP_core.RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
9879 
9880  def do_get_inputs(self):
9881  r"""do_get_inputs(RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
9882  return _IMP_core.RestraintsScoringFunction_do_get_inputs(self)
9883 
9884  def get_restraints(self):
9885  r"""get_restraints(RestraintsScoringFunction self) -> IMP::Restraints"""
9886  return _IMP_core.RestraintsScoringFunction_get_restraints(self)
9887 
9888  def set_restraints(self, d):
9889  r"""set_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9890  return _IMP_core.RestraintsScoringFunction_set_restraints(self, d)
9891 
9892  def get_number_of_restraints(self):
9893  r"""get_number_of_restraints(RestraintsScoringFunction self) -> unsigned int"""
9894  return _IMP_core.RestraintsScoringFunction_get_number_of_restraints(self)
9895 
9896  def clear_restraints(self):
9897  r"""clear_restraints(RestraintsScoringFunction self)"""
9898  return _IMP_core.RestraintsScoringFunction_clear_restraints(self)
9899 
9900  def get_restraint(self, i):
9901  r"""get_restraint(RestraintsScoringFunction self, unsigned int i) -> Restraint"""
9902  return _IMP_core.RestraintsScoringFunction_get_restraint(self, i)
9903 
9904  def erase_restraint(self, i):
9905  r"""erase_restraint(RestraintsScoringFunction self, unsigned int i)"""
9906  return _IMP_core.RestraintsScoringFunction_erase_restraint(self, i)
9907 
9908  def add_restraint(self, d):
9909  r"""add_restraint(RestraintsScoringFunction self, Restraint d) -> unsigned int"""
9910  return _IMP_core.RestraintsScoringFunction_add_restraint(self, d)
9911 
9912  def add_restraints(self, d):
9913  r"""add_restraints(RestraintsScoringFunction self, IMP::Restraints const & d)"""
9914  return _IMP_core.RestraintsScoringFunction_add_restraints(self, d)
9915 
9916  def _python_index_restraint(self, r, start, stop):
9917  r"""_python_index_restraint(RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
9918  return _IMP_core.RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
9919  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)
9920  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
9921  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
9922  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##Restraints")
9923 
9924  def get_version_info(self):
9925  r"""get_version_info(RestraintsScoringFunction self) -> VersionInfo"""
9926  return _IMP_core.RestraintsScoringFunction_get_version_info(self)
9927  __swig_destroy__ = _IMP_core.delete_RestraintsScoringFunction
9928 
9929  def __str__(self):
9930  r"""__str__(RestraintsScoringFunction self) -> std::string"""
9931  return _IMP_core.RestraintsScoringFunction___str__(self)
9932 
9933  def __repr__(self):
9934  r"""__repr__(RestraintsScoringFunction self) -> std::string"""
9935  return _IMP_core.RestraintsScoringFunction___repr__(self)
9936 
9937  @staticmethod
9938  def get_from(o):
9939  return _object_cast_to_RestraintsScoringFunction(o)
9940 
9941 
9942  def _get_as_binary(self):
9943  r"""_get_as_binary(RestraintsScoringFunction self) -> PyObject *"""
9944  return _IMP_core.RestraintsScoringFunction__get_as_binary(self)
9945 
9946  def _set_from_binary(self, p):
9947  r"""_set_from_binary(RestraintsScoringFunction self, PyObject * p)"""
9948  return _IMP_core.RestraintsScoringFunction__set_from_binary(self, p)
9949 
9950  def __getstate__(self):
9951  p = self._get_as_binary()
9952  if len(self.__dict__) > 1:
9953  d = self.__dict__.copy()
9954  del d['this']
9955  p = (d, p)
9956  return p
9957 
9958  def __setstate__(self, p):
9959  if not hasattr(self, 'this'):
9960  self.__init__()
9961  if isinstance(p, tuple):
9962  d, p = p
9963  self.__dict__.update(d)
9964  return self._set_from_binary(p)
9965 
9966 
9967  def _get_jax(self, space=None):
9968  import IMP.jax
9969  space = space or IMP.jax.FreeSpace
9970  jis = [r.get_derived_object()._get_jax(space=space)
9971  for r in self.restraints]
9972  funcs = [j.score_func for j in jis]
9973  keys = frozenset(x for j in jis for x in j._keys)
9974  def jax_sf(jm):
9975  return sum(f(jm) for f in funcs)
9976  return IMP._jax_util.JAXRestraintInfo(
9977  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
9978 
9979 
9980 # Register RestraintsScoringFunction in _IMP_core:
9981 _IMP_core.RestraintsScoringFunction_swigregister(RestraintsScoringFunction)
9982 class RigidClosePairsFinder(ClosePairsFinder):
9983  r"""Proxy of C++ IMP::core::RigidClosePairsFinder class."""
9984 
9985  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9986 
9987  def __init__(self, cpf=None):
9988  r"""__init__(RigidClosePairsFinder self, ClosePairsFinder cpf=None) -> RigidClosePairsFinder"""
9989  _IMP_core.RigidClosePairsFinder_swiginit(self, _IMP_core.new_RigidClosePairsFinder(cpf))
9990 
9991  def do_get_inputs(self, m, pis):
9992  r"""do_get_inputs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9993  return _IMP_core.RigidClosePairsFinder_do_get_inputs(self, m, pis)
9994 
9995  def get_close_pairs(self, *args):
9996  r"""
9997  get_close_pairs(RigidClosePairsFinder self, Model m, ParticleIndex a, ParticleIndex b, IMP::ParticleIndexes const & pa, IMP::ParticleIndexes const & pb) -> IMP::ParticleIndexPairs
9998  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
9999  get_close_pairs(RigidClosePairsFinder self, IMP::algebra::BoundingBox3Ds const & bas, IMP::algebra::BoundingBox3Ds const & bbs) -> IMP::IntPairs
10000  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pc) -> IMP::ParticleIndexPairs
10001  get_close_pairs(RigidClosePairsFinder self, Model m, IMP::ParticleIndexes const & pca, IMP::ParticleIndexes const & pcb) -> IMP::ParticleIndexPairs
10002  """
10003  return _IMP_core.RigidClosePairsFinder_get_close_pairs(self, *args)
10004 
10005  def get_version_info(self):
10006  r"""get_version_info(RigidClosePairsFinder self) -> VersionInfo"""
10007  return _IMP_core.RigidClosePairsFinder_get_version_info(self)
10008  __swig_destroy__ = _IMP_core.delete_RigidClosePairsFinder
10009 
10010  def __str__(self):
10011  r"""__str__(RigidClosePairsFinder self) -> std::string"""
10012  return _IMP_core.RigidClosePairsFinder___str__(self)
10013 
10014  def __repr__(self):
10015  r"""__repr__(RigidClosePairsFinder self) -> std::string"""
10016  return _IMP_core.RigidClosePairsFinder___repr__(self)
10017 
10018  @staticmethod
10019  def get_from(o):
10020  return _object_cast_to_RigidClosePairsFinder(o)
10021 
10022 
10023  def _get_as_binary(self):
10024  r"""_get_as_binary(RigidClosePairsFinder self) -> PyObject *"""
10025  return _IMP_core.RigidClosePairsFinder__get_as_binary(self)
10026 
10027  def _set_from_binary(self, p):
10028  r"""_set_from_binary(RigidClosePairsFinder self, PyObject * p)"""
10029  return _IMP_core.RigidClosePairsFinder__set_from_binary(self, p)
10030 
10031  def __getstate__(self):
10032  p = self._get_as_binary()
10033  if len(self.__dict__) > 1:
10034  d = self.__dict__.copy()
10035  del d['this']
10036  p = (d, p)
10037  return p
10038 
10039  def __setstate__(self, p):
10040  if not hasattr(self, 'this'):
10041  self.__init__()
10042  if isinstance(p, tuple):
10043  d, p = p
10044  self.__dict__.update(d)
10045  return self._set_from_binary(p)
10046 
10047 
10048 # Register RigidClosePairsFinder in _IMP_core:
10049 _IMP_core.RigidClosePairsFinder_swigregister(RigidClosePairsFinder)
10050 class _SphereDistancePairScore(IMP.PairScore):
10051  r"""Proxy of C++ IMP::core::SphereDistancePairScore class."""
10052 
10053  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10054  __repr__ = _swig_repr
10055 
10056  def __init__(self, *args):
10057  r"""
10058  SphereDistancePairScore(UnaryFunction uf, std::string name="SphereDistancePairScore%1%") -> _SphereDistancePairScore
10059  __init__(_SphereDistancePairScore self) -> _SphereDistancePairScore
10060  """
10061  _IMP_core._SphereDistancePairScore_swiginit(self, _IMP_core.new__SphereDistancePairScore(*args))
10062 
10063  def do_get_inputs(self, m, pis):
10064  r"""do_get_inputs(_SphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10065  return _IMP_core._SphereDistancePairScore_do_get_inputs(self, m, pis)
10066 
10067  def get_score_functor(self, *args):
10068  r"""
10069  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
10070  get_score_functor(_SphereDistancePairScore self) -> _SphereDistanceUF
10071  """
10072  return _IMP_core._SphereDistancePairScore_get_score_functor(self, *args)
10073 
10074  def get_version_info(self):
10075  r"""get_version_info(_SphereDistancePairScore self) -> VersionInfo"""
10076  return _IMP_core._SphereDistancePairScore_get_version_info(self)
10077  __swig_destroy__ = _IMP_core.delete__SphereDistancePairScore
10078 
10079  @staticmethod
10080  def get_from(o):
10081  return _object_cast_to__SphereDistancePairScore(o)
10082 
10083 
10084  def _get_as_binary(self):
10085  r"""_get_as_binary(_SphereDistancePairScore self) -> PyObject *"""
10086  return _IMP_core._SphereDistancePairScore__get_as_binary(self)
10087 
10088  def _set_from_binary(self, p):
10089  r"""_set_from_binary(_SphereDistancePairScore self, PyObject * p)"""
10090  return _IMP_core._SphereDistancePairScore__set_from_binary(self, p)
10091 
10092  def __getstate__(self):
10093  p = self._get_as_binary()
10094  if len(self.__dict__) > 1:
10095  d = self.__dict__.copy()
10096  del d['this']
10097  p = (d, p)
10098  return p
10099 
10100  def __setstate__(self, p):
10101  if not hasattr(self, 'this'):
10102  self.__init__()
10103  if isinstance(p, tuple):
10104  d, p = p
10105  self.__dict__.update(d)
10106  return self._set_from_binary(p)
10107 
10108 
10109  def _get_jax(self, m, indexes, space):
10110  import jax.numpy as jnp
10111  def jax_score(jm, uf):
10112  xyzs = jm['xyz'][indexes]
10113  rs = jm['r'][indexes]
10114  diff = xyzs[:,0] - xyzs[:,1]
10115  drs = space.distance(diff) - rs.sum(axis=1)
10116  return uf(drs)
10117  sfnc = self.get_score_functor()
10118  uf = sfnc.get_unary_function().get_derived_object()
10119  f = functools.partial(jax_score, uf=uf._get_jax())
10120  return self._wrap_jax(m, f)
10121 
10122 
10123 # Register _SphereDistancePairScore in _IMP_core:
10124 _IMP_core._SphereDistancePairScore_swigregister(_SphereDistancePairScore)
10125 class HarmonicUpperBoundSphereDistancePairScore(IMP.PairScore):
10126  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDistancePairScore class."""
10127 
10128  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10129 
10130  def __init__(self, *args):
10131  r"""
10132  __init__(HarmonicUpperBoundSphereDistancePairScore self, double x0, double k, std::string name="HarmonicUpperBoundSphereDistancePairScore%1%") -> HarmonicUpperBoundSphereDistancePairScore
10133  __init__(HarmonicUpperBoundSphereDistancePairScore self) -> HarmonicUpperBoundSphereDistancePairScore
10134  """
10135  _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDistancePairScore(*args))
10136 
10137  def do_get_inputs(self, m, pis):
10138  r"""do_get_inputs(HarmonicUpperBoundSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10139  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_do_get_inputs(self, m, pis)
10140 
10141  def get_score_functor(self, *args):
10142  r"""
10143  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore
10144  get_score_functor(HarmonicUpperBoundSphereDistancePairScore self) -> IMP::core::HarmonicUpperBoundSphereDistanceScore const &
10145  """
10146  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_score_functor(self, *args)
10147 
10148  def get_x0(self):
10149  r"""get_x0(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10150  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_x0(self)
10151 
10152  def get_k(self):
10153  r"""get_k(HarmonicUpperBoundSphereDistancePairScore self) -> double"""
10154  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_k(self)
10155 
10156  def get_version_info(self):
10157  r"""get_version_info(HarmonicUpperBoundSphereDistancePairScore self) -> VersionInfo"""
10158  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore_get_version_info(self)
10159  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDistancePairScore
10160 
10161  def __str__(self):
10162  r"""__str__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10163  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___str__(self)
10164 
10165  def __repr__(self):
10166  r"""__repr__(HarmonicUpperBoundSphereDistancePairScore self) -> std::string"""
10167  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore___repr__(self)
10168 
10169  @staticmethod
10170  def get_from(o):
10171  return _object_cast_to_HarmonicUpperBoundSphereDistancePairScore(o)
10172 
10173 
10174  def _get_as_binary(self):
10175  r"""_get_as_binary(HarmonicUpperBoundSphereDistancePairScore self) -> PyObject *"""
10176  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__get_as_binary(self)
10177 
10178  def _set_from_binary(self, p):
10179  r"""_set_from_binary(HarmonicUpperBoundSphereDistancePairScore self, PyObject * p)"""
10180  return _IMP_core.HarmonicUpperBoundSphereDistancePairScore__set_from_binary(self, p)
10181 
10182  def __getstate__(self):
10183  p = self._get_as_binary()
10184  if len(self.__dict__) > 1:
10185  d = self.__dict__.copy()
10186  del d['this']
10187  p = (d, p)
10188  return p
10189 
10190  def __setstate__(self, p):
10191  if not hasattr(self, 'this'):
10192  self.__init__()
10193  if isinstance(p, tuple):
10194  d, p = p
10195  self.__dict__.update(d)
10196  return self._set_from_binary(p)
10197 
10198 
10199  def _get_jax(self, m, indexes, space):
10200  import jax.numpy as jnp
10201  import jax.lax
10202  def jax_score(jm, d, k):
10203  xyzs = jm['xyz'][indexes]
10204  rs = jm['r'][indexes]
10205  diff = xyzs[:,0] - xyzs[:,1]
10206  drs = space.distance(diff) - rs.sum(axis=1)
10207  return 0.5 * k * jax.lax.min(d - drs, 0.0) ** 2
10208  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10209  return self._wrap_jax(m, f)
10210 
10211 
10212 # Register HarmonicUpperBoundSphereDistancePairScore in _IMP_core:
10213 _IMP_core.HarmonicUpperBoundSphereDistancePairScore_swigregister(HarmonicUpperBoundSphereDistancePairScore)
10214 class HarmonicUpperBoundSphereDiameterPairScore(IMP.PairScore):
10215  r"""Proxy of C++ IMP::core::HarmonicUpperBoundSphereDiameterPairScore class."""
10216 
10217  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10218 
10219  def __init__(self, d0, k):
10220  r"""__init__(HarmonicUpperBoundSphereDiameterPairScore self, double d0, double k) -> HarmonicUpperBoundSphereDiameterPairScore"""
10221  _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swiginit(self, _IMP_core.new_HarmonicUpperBoundSphereDiameterPairScore(d0, k))
10222 
10223  def get_rest_length(self):
10224  r"""get_rest_length(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10225  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_rest_length(self)
10226 
10227  def get_stiffness(self):
10228  r"""get_stiffness(HarmonicUpperBoundSphereDiameterPairScore self) -> double"""
10229  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_stiffness(self)
10230 
10231  def do_get_inputs(self, m, pis):
10232  r"""do_get_inputs(HarmonicUpperBoundSphereDiameterPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10233  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_do_get_inputs(self, m, pis)
10234 
10235  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10236  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"""
10237  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10238 
10239  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10240  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"""
10241  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10242 
10243  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10244  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"""
10245  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10246 
10247  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10248  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"""
10249  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10250 
10251  def get_version_info(self):
10252  r"""get_version_info(HarmonicUpperBoundSphereDiameterPairScore self) -> VersionInfo"""
10253  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_get_version_info(self)
10254  __swig_destroy__ = _IMP_core.delete_HarmonicUpperBoundSphereDiameterPairScore
10255 
10256  def __str__(self):
10257  r"""__str__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10258  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___str__(self)
10259 
10260  def __repr__(self):
10261  r"""__repr__(HarmonicUpperBoundSphereDiameterPairScore self) -> std::string"""
10262  return _IMP_core.HarmonicUpperBoundSphereDiameterPairScore___repr__(self)
10263 
10264  @staticmethod
10265  def get_from(o):
10266  return _object_cast_to_HarmonicUpperBoundSphereDiameterPairScore(o)
10267 
10268 
10269 # Register HarmonicUpperBoundSphereDiameterPairScore in _IMP_core:
10270 _IMP_core.HarmonicUpperBoundSphereDiameterPairScore_swigregister(HarmonicUpperBoundSphereDiameterPairScore)
10271 class HarmonicSphereDistancePairScore(IMP.PairScore):
10272  r"""Proxy of C++ IMP::core::HarmonicSphereDistancePairScore class."""
10273 
10274  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10275 
10276  def __init__(self, *args):
10277  r"""
10278  __init__(HarmonicSphereDistancePairScore self, double x0, double k, std::string name="HarmonicSphereDistancePairScore%1%") -> HarmonicSphereDistancePairScore
10279  __init__(HarmonicSphereDistancePairScore self) -> HarmonicSphereDistancePairScore
10280  """
10281  _IMP_core.HarmonicSphereDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSphereDistancePairScore(*args))
10282 
10283  def do_get_inputs(self, m, pis):
10284  r"""do_get_inputs(HarmonicSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10285  return _IMP_core.HarmonicSphereDistancePairScore_do_get_inputs(self, m, pis)
10286 
10287  def get_score_functor(self, *args):
10288  r"""
10289  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore
10290  get_score_functor(HarmonicSphereDistancePairScore self) -> IMP::core::HarmonicSphereDistanceScore const &
10291  """
10292  return _IMP_core.HarmonicSphereDistancePairScore_get_score_functor(self, *args)
10293 
10294  def get_x0(self):
10295  r"""get_x0(HarmonicSphereDistancePairScore self) -> double"""
10296  return _IMP_core.HarmonicSphereDistancePairScore_get_x0(self)
10297 
10298  def get_k(self):
10299  r"""get_k(HarmonicSphereDistancePairScore self) -> double"""
10300  return _IMP_core.HarmonicSphereDistancePairScore_get_k(self)
10301 
10302  def get_version_info(self):
10303  r"""get_version_info(HarmonicSphereDistancePairScore self) -> VersionInfo"""
10304  return _IMP_core.HarmonicSphereDistancePairScore_get_version_info(self)
10305  __swig_destroy__ = _IMP_core.delete_HarmonicSphereDistancePairScore
10306 
10307  def __str__(self):
10308  r"""__str__(HarmonicSphereDistancePairScore self) -> std::string"""
10309  return _IMP_core.HarmonicSphereDistancePairScore___str__(self)
10310 
10311  def __repr__(self):
10312  r"""__repr__(HarmonicSphereDistancePairScore self) -> std::string"""
10313  return _IMP_core.HarmonicSphereDistancePairScore___repr__(self)
10314 
10315  @staticmethod
10316  def get_from(o):
10317  return _object_cast_to_HarmonicSphereDistancePairScore(o)
10318 
10319 
10320  def _get_as_binary(self):
10321  r"""_get_as_binary(HarmonicSphereDistancePairScore self) -> PyObject *"""
10322  return _IMP_core.HarmonicSphereDistancePairScore__get_as_binary(self)
10323 
10324  def _set_from_binary(self, p):
10325  r"""_set_from_binary(HarmonicSphereDistancePairScore self, PyObject * p)"""
10326  return _IMP_core.HarmonicSphereDistancePairScore__set_from_binary(self, p)
10327 
10328  def __getstate__(self):
10329  p = self._get_as_binary()
10330  if len(self.__dict__) > 1:
10331  d = self.__dict__.copy()
10332  del d['this']
10333  p = (d, p)
10334  return p
10335 
10336  def __setstate__(self, p):
10337  if not hasattr(self, 'this'):
10338  self.__init__()
10339  if isinstance(p, tuple):
10340  d, p = p
10341  self.__dict__.update(d)
10342  return self._set_from_binary(p)
10343 
10344 
10345  def _get_jax(self, m, indexes, space):
10346  import jax.numpy as jnp
10347  def jax_score(jm, d, k):
10348  xyzs = jm['xyz'][indexes]
10349  rs = jm['r'][indexes]
10350  diff = xyzs[:,0] - xyzs[:,1]
10351  drs = space.distance(diff) - rs.sum(axis=1)
10352  return 0.5 * k * (d - drs)**2
10353  f = functools.partial(jax_score, d=self.get_x0(), k=self.get_k())
10354  return self._wrap_jax(m, f)
10355 
10356 
10357 # Register HarmonicSphereDistancePairScore in _IMP_core:
10358 _IMP_core.HarmonicSphereDistancePairScore_swigregister(HarmonicSphereDistancePairScore)
10359 class NormalizedSphereDistancePairScore(IMP.PairScore):
10360  r"""Proxy of C++ IMP::core::NormalizedSphereDistancePairScore class."""
10361 
10362  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10363 
10364  def __init__(self, *args):
10365  r"""__init__(NormalizedSphereDistancePairScore self, UnaryFunction f, FloatKey radius=IMP::FloatKey("radius")) -> NormalizedSphereDistancePairScore"""
10366  _IMP_core.NormalizedSphereDistancePairScore_swiginit(self, _IMP_core.new_NormalizedSphereDistancePairScore(*args))
10367 
10368  def do_get_inputs(self, m, pis):
10369  r"""do_get_inputs(NormalizedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10370  return _IMP_core.NormalizedSphereDistancePairScore_do_get_inputs(self, m, pis)
10371 
10372  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10373  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"""
10374  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10375 
10376  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10377  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"""
10378  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10379 
10380  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10381  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"""
10382  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10383 
10384  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10385  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"""
10386  return _IMP_core.NormalizedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10387 
10388  def get_version_info(self):
10389  r"""get_version_info(NormalizedSphereDistancePairScore self) -> VersionInfo"""
10390  return _IMP_core.NormalizedSphereDistancePairScore_get_version_info(self)
10391  __swig_destroy__ = _IMP_core.delete_NormalizedSphereDistancePairScore
10392 
10393  def __str__(self):
10394  r"""__str__(NormalizedSphereDistancePairScore self) -> std::string"""
10395  return _IMP_core.NormalizedSphereDistancePairScore___str__(self)
10396 
10397  def __repr__(self):
10398  r"""__repr__(NormalizedSphereDistancePairScore self) -> std::string"""
10399  return _IMP_core.NormalizedSphereDistancePairScore___repr__(self)
10400 
10401  @staticmethod
10402  def get_from(o):
10403  return _object_cast_to_NormalizedSphereDistancePairScore(o)
10404 
10405 
10406 # Register NormalizedSphereDistancePairScore in _IMP_core:
10407 _IMP_core.NormalizedSphereDistancePairScore_swigregister(NormalizedSphereDistancePairScore)
10408 class WeightedSphereDistancePairScore(IMP.PairScore):
10409  r"""Proxy of C++ IMP::core::WeightedSphereDistancePairScore class."""
10410 
10411  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10412 
10413  def __init__(self, *args):
10414  r"""__init__(WeightedSphereDistancePairScore self, UnaryFunction f, FloatKey weight, FloatKey radius=IMP::FloatKey("radius")) -> WeightedSphereDistancePairScore"""
10415  _IMP_core.WeightedSphereDistancePairScore_swiginit(self, _IMP_core.new_WeightedSphereDistancePairScore(*args))
10416 
10417  def do_get_inputs(self, m, pis):
10418  r"""do_get_inputs(WeightedSphereDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10419  return _IMP_core.WeightedSphereDistancePairScore_do_get_inputs(self, m, pis)
10420 
10421  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10422  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"""
10423  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10424 
10425  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10426  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"""
10427  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10428 
10429  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10430  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"""
10431  return _IMP_core.WeightedSphereDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10432 
10433  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10434  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"""
10435  return _IMP_core.WeightedSphereDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10436 
10437  def get_version_info(self):
10438  r"""get_version_info(WeightedSphereDistancePairScore self) -> VersionInfo"""
10439  return _IMP_core.WeightedSphereDistancePairScore_get_version_info(self)
10440  __swig_destroy__ = _IMP_core.delete_WeightedSphereDistancePairScore
10441 
10442  def __str__(self):
10443  r"""__str__(WeightedSphereDistancePairScore self) -> std::string"""
10444  return _IMP_core.WeightedSphereDistancePairScore___str__(self)
10445 
10446  def __repr__(self):
10447  r"""__repr__(WeightedSphereDistancePairScore self) -> std::string"""
10448  return _IMP_core.WeightedSphereDistancePairScore___repr__(self)
10449 
10450  @staticmethod
10451  def get_from(o):
10452  return _object_cast_to_WeightedSphereDistancePairScore(o)
10453 
10454 
10455 # Register WeightedSphereDistancePairScore in _IMP_core:
10456 _IMP_core.WeightedSphereDistancePairScore_swigregister(WeightedSphereDistancePairScore)
10457 class SoftSpherePairScore(IMP.PairScore):
10458  r"""Proxy of C++ IMP::core::SoftSpherePairScore class."""
10459 
10460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10461 
10462  def __init__(self, *args):
10463  r"""
10464  __init__(SoftSpherePairScore self, double k, std::string name="SoftSpherePairScore%1%") -> SoftSpherePairScore
10465  __init__(SoftSpherePairScore self) -> SoftSpherePairScore
10466  """
10467  _IMP_core.SoftSpherePairScore_swiginit(self, _IMP_core.new_SoftSpherePairScore(*args))
10468 
10469  def do_get_inputs(self, m, pis):
10470  r"""do_get_inputs(SoftSpherePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10471  return _IMP_core.SoftSpherePairScore_do_get_inputs(self, m, pis)
10472 
10473  def get_score_functor(self, *args):
10474  r"""
10475  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore
10476  get_score_functor(SoftSpherePairScore self) -> IMP::core::SoftSphereDistanceScore const &
10477  """
10478  return _IMP_core.SoftSpherePairScore_get_score_functor(self, *args)
10479 
10480  def get_k(self):
10481  r"""get_k(SoftSpherePairScore self) -> double"""
10482  return _IMP_core.SoftSpherePairScore_get_k(self)
10483 
10484  def get_version_info(self):
10485  r"""get_version_info(SoftSpherePairScore self) -> VersionInfo"""
10486  return _IMP_core.SoftSpherePairScore_get_version_info(self)
10487  __swig_destroy__ = _IMP_core.delete_SoftSpherePairScore
10488 
10489  def __str__(self):
10490  r"""__str__(SoftSpherePairScore self) -> std::string"""
10491  return _IMP_core.SoftSpherePairScore___str__(self)
10492 
10493  def __repr__(self):
10494  r"""__repr__(SoftSpherePairScore self) -> std::string"""
10495  return _IMP_core.SoftSpherePairScore___repr__(self)
10496 
10497  @staticmethod
10498  def get_from(o):
10499  return _object_cast_to_SoftSpherePairScore(o)
10500 
10501 
10502  def _get_as_binary(self):
10503  r"""_get_as_binary(SoftSpherePairScore self) -> PyObject *"""
10504  return _IMP_core.SoftSpherePairScore__get_as_binary(self)
10505 
10506  def _set_from_binary(self, p):
10507  r"""_set_from_binary(SoftSpherePairScore self, PyObject * p)"""
10508  return _IMP_core.SoftSpherePairScore__set_from_binary(self, p)
10509 
10510  def __getstate__(self):
10511  p = self._get_as_binary()
10512  if len(self.__dict__) > 1:
10513  d = self.__dict__.copy()
10514  del d['this']
10515  p = (d, p)
10516  return p
10517 
10518  def __setstate__(self, p):
10519  if not hasattr(self, 'this'):
10520  self.__init__()
10521  if isinstance(p, tuple):
10522  d, p = p
10523  self.__dict__.update(d)
10524  return self._set_from_binary(p)
10525 
10526 
10527  def _get_jax(self, m, indexes, space):
10528  import jax.numpy as jnp
10529  import jax.lax
10530  def jax_score(jm, k):
10531  xyzs = jm['xyz'][indexes]
10532  rs = jm['r'][indexes]
10533  diff = xyzs[:,0] - xyzs[:,1]
10534  drs = space.distance(diff) - rs.sum(axis=1)
10535  return 0.5 * k * jax.lax.min(drs, 0.0) ** 2
10536  f = functools.partial(jax_score, k=self.get_k())
10537  return self._wrap_jax(m, f)
10538 
10539 
10540 # Register SoftSpherePairScore in _IMP_core:
10541 _IMP_core.SoftSpherePairScore_swigregister(SoftSpherePairScore)
10542 class SurfaceDistancePairScore(IMP.PairScore):
10543  r"""Proxy of C++ IMP::core::SurfaceDistancePairScore class."""
10544 
10545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10546 
10547  def __init__(self, *args):
10548  r"""__init__(SurfaceDistancePairScore self, UnaryFunction uf, std::string name="SurfaceDistancePairScore%1%") -> SurfaceDistancePairScore"""
10549  _IMP_core.SurfaceDistancePairScore_swiginit(self, _IMP_core.new_SurfaceDistancePairScore(*args))
10550 
10551  def do_get_inputs(self, m, pis):
10552  r"""do_get_inputs(SurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10553  return _IMP_core.SurfaceDistancePairScore_do_get_inputs(self, m, pis)
10554 
10555  def get_version_info(self):
10556  r"""get_version_info(SurfaceDistancePairScore self) -> VersionInfo"""
10557  return _IMP_core.SurfaceDistancePairScore_get_version_info(self)
10558  __swig_destroy__ = _IMP_core.delete_SurfaceDistancePairScore
10559 
10560  def __str__(self):
10561  r"""__str__(SurfaceDistancePairScore self) -> std::string"""
10562  return _IMP_core.SurfaceDistancePairScore___str__(self)
10563 
10564  def __repr__(self):
10565  r"""__repr__(SurfaceDistancePairScore self) -> std::string"""
10566  return _IMP_core.SurfaceDistancePairScore___repr__(self)
10567 
10568  @staticmethod
10569  def get_from(o):
10570  return _object_cast_to_SurfaceDistancePairScore(o)
10571 
10572 
10573 # Register SurfaceDistancePairScore in _IMP_core:
10574 _IMP_core.SurfaceDistancePairScore_swigregister(SurfaceDistancePairScore)
10575 class SurfaceHeightPairScore(IMP.PairScore):
10576  r"""Proxy of C++ IMP::core::SurfaceHeightPairScore class."""
10577 
10578  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10579 
10580  def __init__(self, *args):
10581  r"""__init__(SurfaceHeightPairScore self, UnaryFunction uf, std::string name="SurfaceHeightPairScore%1%") -> SurfaceHeightPairScore"""
10582  _IMP_core.SurfaceHeightPairScore_swiginit(self, _IMP_core.new_SurfaceHeightPairScore(*args))
10583 
10584  def do_get_inputs(self, m, pis):
10585  r"""do_get_inputs(SurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10586  return _IMP_core.SurfaceHeightPairScore_do_get_inputs(self, m, pis)
10587 
10588  def get_version_info(self):
10589  r"""get_version_info(SurfaceHeightPairScore self) -> VersionInfo"""
10590  return _IMP_core.SurfaceHeightPairScore_get_version_info(self)
10591  __swig_destroy__ = _IMP_core.delete_SurfaceHeightPairScore
10592 
10593  def __str__(self):
10594  r"""__str__(SurfaceHeightPairScore self) -> std::string"""
10595  return _IMP_core.SurfaceHeightPairScore___str__(self)
10596 
10597  def __repr__(self):
10598  r"""__repr__(SurfaceHeightPairScore self) -> std::string"""
10599  return _IMP_core.SurfaceHeightPairScore___repr__(self)
10600 
10601  @staticmethod
10602  def get_from(o):
10603  return _object_cast_to_SurfaceHeightPairScore(o)
10604 
10605 
10606 # Register SurfaceHeightPairScore in _IMP_core:
10607 _IMP_core.SurfaceHeightPairScore_swigregister(SurfaceHeightPairScore)
10608 class SurfaceDepthPairScore(IMP.PairScore):
10609  r"""Proxy of C++ IMP::core::SurfaceDepthPairScore class."""
10610 
10611  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10612 
10613  def __init__(self, *args):
10614  r"""__init__(SurfaceDepthPairScore self, UnaryFunction uf, std::string name="SurfaceDepthPairScore%1%") -> SurfaceDepthPairScore"""
10615  _IMP_core.SurfaceDepthPairScore_swiginit(self, _IMP_core.new_SurfaceDepthPairScore(*args))
10616 
10617  def do_get_inputs(self, m, pis):
10618  r"""do_get_inputs(SurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10619  return _IMP_core.SurfaceDepthPairScore_do_get_inputs(self, m, pis)
10620 
10621  def get_version_info(self):
10622  r"""get_version_info(SurfaceDepthPairScore self) -> VersionInfo"""
10623  return _IMP_core.SurfaceDepthPairScore_get_version_info(self)
10624  __swig_destroy__ = _IMP_core.delete_SurfaceDepthPairScore
10625 
10626  def __str__(self):
10627  r"""__str__(SurfaceDepthPairScore self) -> std::string"""
10628  return _IMP_core.SurfaceDepthPairScore___str__(self)
10629 
10630  def __repr__(self):
10631  r"""__repr__(SurfaceDepthPairScore self) -> std::string"""
10632  return _IMP_core.SurfaceDepthPairScore___repr__(self)
10633 
10634  @staticmethod
10635  def get_from(o):
10636  return _object_cast_to_SurfaceDepthPairScore(o)
10637 
10638 
10639 # Register SurfaceDepthPairScore in _IMP_core:
10640 _IMP_core.SurfaceDepthPairScore_swigregister(SurfaceDepthPairScore)
10641 class HarmonicSurfaceDistancePairScore(IMP.PairScore):
10642  r"""Proxy of C++ IMP::core::HarmonicSurfaceDistancePairScore class."""
10643 
10644  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10645 
10646  def __init__(self, *args):
10647  r"""__init__(HarmonicSurfaceDistancePairScore self, double x0, double k, std::string name="HarmonicSurfaceDistancePairScore%1%") -> HarmonicSurfaceDistancePairScore"""
10648  _IMP_core.HarmonicSurfaceDistancePairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDistancePairScore(*args))
10649 
10650  def do_get_inputs(self, m, pis):
10651  r"""do_get_inputs(HarmonicSurfaceDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10652  return _IMP_core.HarmonicSurfaceDistancePairScore_do_get_inputs(self, m, pis)
10653 
10654  def get_version_info(self):
10655  r"""get_version_info(HarmonicSurfaceDistancePairScore self) -> VersionInfo"""
10656  return _IMP_core.HarmonicSurfaceDistancePairScore_get_version_info(self)
10657  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDistancePairScore
10658 
10659  def __str__(self):
10660  r"""__str__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10661  return _IMP_core.HarmonicSurfaceDistancePairScore___str__(self)
10662 
10663  def __repr__(self):
10664  r"""__repr__(HarmonicSurfaceDistancePairScore self) -> std::string"""
10665  return _IMP_core.HarmonicSurfaceDistancePairScore___repr__(self)
10666 
10667  @staticmethod
10668  def get_from(o):
10669  return _object_cast_to_HarmonicSurfaceDistancePairScore(o)
10670 
10671 
10672 # Register HarmonicSurfaceDistancePairScore in _IMP_core:
10673 _IMP_core.HarmonicSurfaceDistancePairScore_swigregister(HarmonicSurfaceDistancePairScore)
10674 class HarmonicSurfaceHeightPairScore(IMP.PairScore):
10675  r"""Proxy of C++ IMP::core::HarmonicSurfaceHeightPairScore class."""
10676 
10677  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10678 
10679  def __init__(self, *args):
10680  r"""__init__(HarmonicSurfaceHeightPairScore self, double x0, double k, std::string name="HarmonicSurfaceHeightPairScore%1%") -> HarmonicSurfaceHeightPairScore"""
10681  _IMP_core.HarmonicSurfaceHeightPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceHeightPairScore(*args))
10682 
10683  def do_get_inputs(self, m, pis):
10684  r"""do_get_inputs(HarmonicSurfaceHeightPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10685  return _IMP_core.HarmonicSurfaceHeightPairScore_do_get_inputs(self, m, pis)
10686 
10687  def get_version_info(self):
10688  r"""get_version_info(HarmonicSurfaceHeightPairScore self) -> VersionInfo"""
10689  return _IMP_core.HarmonicSurfaceHeightPairScore_get_version_info(self)
10690  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceHeightPairScore
10691 
10692  def __str__(self):
10693  r"""__str__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10694  return _IMP_core.HarmonicSurfaceHeightPairScore___str__(self)
10695 
10696  def __repr__(self):
10697  r"""__repr__(HarmonicSurfaceHeightPairScore self) -> std::string"""
10698  return _IMP_core.HarmonicSurfaceHeightPairScore___repr__(self)
10699 
10700  @staticmethod
10701  def get_from(o):
10702  return _object_cast_to_HarmonicSurfaceHeightPairScore(o)
10703 
10704 
10705 # Register HarmonicSurfaceHeightPairScore in _IMP_core:
10706 _IMP_core.HarmonicSurfaceHeightPairScore_swigregister(HarmonicSurfaceHeightPairScore)
10707 class HarmonicSurfaceDepthPairScore(IMP.PairScore):
10708  r"""Proxy of C++ IMP::core::HarmonicSurfaceDepthPairScore class."""
10709 
10710  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10711 
10712  def __init__(self, *args):
10713  r"""__init__(HarmonicSurfaceDepthPairScore self, double x0, double k, std::string name="HarmonicSurfaceDepthPairScore%1%") -> HarmonicSurfaceDepthPairScore"""
10714  _IMP_core.HarmonicSurfaceDepthPairScore_swiginit(self, _IMP_core.new_HarmonicSurfaceDepthPairScore(*args))
10715 
10716  def do_get_inputs(self, m, pis):
10717  r"""do_get_inputs(HarmonicSurfaceDepthPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10718  return _IMP_core.HarmonicSurfaceDepthPairScore_do_get_inputs(self, m, pis)
10719 
10720  def get_version_info(self):
10721  r"""get_version_info(HarmonicSurfaceDepthPairScore self) -> VersionInfo"""
10722  return _IMP_core.HarmonicSurfaceDepthPairScore_get_version_info(self)
10723  __swig_destroy__ = _IMP_core.delete_HarmonicSurfaceDepthPairScore
10724 
10725  def __str__(self):
10726  r"""__str__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10727  return _IMP_core.HarmonicSurfaceDepthPairScore___str__(self)
10728 
10729  def __repr__(self):
10730  r"""__repr__(HarmonicSurfaceDepthPairScore self) -> std::string"""
10731  return _IMP_core.HarmonicSurfaceDepthPairScore___repr__(self)
10732 
10733  @staticmethod
10734  def get_from(o):
10735  return _object_cast_to_HarmonicSurfaceDepthPairScore(o)
10736 
10737 
10738 # Register HarmonicSurfaceDepthPairScore in _IMP_core:
10739 _IMP_core.HarmonicSurfaceDepthPairScore_swigregister(HarmonicSurfaceDepthPairScore)
10740 class SoftSuperSurfacePairScore(IMP.PairScore):
10741  r"""Proxy of C++ IMP::core::SoftSuperSurfacePairScore class."""
10742 
10743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10744 
10745  def __init__(self, *args):
10746  r"""__init__(SoftSuperSurfacePairScore self, double k, std::string name="SoftSuperSurfacePairScore%1%") -> SoftSuperSurfacePairScore"""
10747  _IMP_core.SoftSuperSurfacePairScore_swiginit(self, _IMP_core.new_SoftSuperSurfacePairScore(*args))
10748 
10749  def do_get_inputs(self, m, pis):
10750  r"""do_get_inputs(SoftSuperSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10751  return _IMP_core.SoftSuperSurfacePairScore_do_get_inputs(self, m, pis)
10752 
10753  def get_version_info(self):
10754  r"""get_version_info(SoftSuperSurfacePairScore self) -> VersionInfo"""
10755  return _IMP_core.SoftSuperSurfacePairScore_get_version_info(self)
10756  __swig_destroy__ = _IMP_core.delete_SoftSuperSurfacePairScore
10757 
10758  def __str__(self):
10759  r"""__str__(SoftSuperSurfacePairScore self) -> std::string"""
10760  return _IMP_core.SoftSuperSurfacePairScore___str__(self)
10761 
10762  def __repr__(self):
10763  r"""__repr__(SoftSuperSurfacePairScore self) -> std::string"""
10764  return _IMP_core.SoftSuperSurfacePairScore___repr__(self)
10765 
10766  @staticmethod
10767  def get_from(o):
10768  return _object_cast_to_SoftSuperSurfacePairScore(o)
10769 
10770 
10771 # Register SoftSuperSurfacePairScore in _IMP_core:
10772 _IMP_core.SoftSuperSurfacePairScore_swigregister(SoftSuperSurfacePairScore)
10773 class SoftSubSurfacePairScore(IMP.PairScore):
10774  r"""Proxy of C++ IMP::core::SoftSubSurfacePairScore class."""
10775 
10776  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10777 
10778  def __init__(self, *args):
10779  r"""__init__(SoftSubSurfacePairScore self, double k, std::string name="SoftSubSurfacePairScore%1%") -> SoftSubSurfacePairScore"""
10780  _IMP_core.SoftSubSurfacePairScore_swiginit(self, _IMP_core.new_SoftSubSurfacePairScore(*args))
10781 
10782  def do_get_inputs(self, m, pis):
10783  r"""do_get_inputs(SoftSubSurfacePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10784  return _IMP_core.SoftSubSurfacePairScore_do_get_inputs(self, m, pis)
10785 
10786  def get_version_info(self):
10787  r"""get_version_info(SoftSubSurfacePairScore self) -> VersionInfo"""
10788  return _IMP_core.SoftSubSurfacePairScore_get_version_info(self)
10789  __swig_destroy__ = _IMP_core.delete_SoftSubSurfacePairScore
10790 
10791  def __str__(self):
10792  r"""__str__(SoftSubSurfacePairScore self) -> std::string"""
10793  return _IMP_core.SoftSubSurfacePairScore___str__(self)
10794 
10795  def __repr__(self):
10796  r"""__repr__(SoftSubSurfacePairScore self) -> std::string"""
10797  return _IMP_core.SoftSubSurfacePairScore___repr__(self)
10798 
10799  @staticmethod
10800  def get_from(o):
10801  return _object_cast_to_SoftSubSurfacePairScore(o)
10802 
10803 
10804 # Register SoftSubSurfacePairScore in _IMP_core:
10805 _IMP_core.SoftSubSurfacePairScore_swigregister(SoftSubSurfacePairScore)
10806 class SurfaceTetheredChain(IMP.UnaryFunction):
10807  r"""Proxy of C++ IMP::core::SurfaceTetheredChain class."""
10808 
10809  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10810 
10811  def __init__(self, link_num, link_length):
10812  r"""__init__(SurfaceTetheredChain self, int link_num, double link_length) -> SurfaceTetheredChain"""
10813  _IMP_core.SurfaceTetheredChain_swiginit(self, _IMP_core.new_SurfaceTetheredChain(link_num, link_length))
10814 
10815  def get_version_info(self):
10816  r"""get_version_info(SurfaceTetheredChain self) -> VersionInfo"""
10817  return _IMP_core.SurfaceTetheredChain_get_version_info(self)
10818  __swig_destroy__ = _IMP_core.delete_SurfaceTetheredChain
10819 
10820  def get_link_number(self):
10821  r"""get_link_number(SurfaceTetheredChain self) -> int"""
10822  return _IMP_core.SurfaceTetheredChain_get_link_number(self)
10823 
10824  def get_link_length(self):
10825  r"""get_link_length(SurfaceTetheredChain self) -> double"""
10826  return _IMP_core.SurfaceTetheredChain_get_link_length(self)
10827 
10828  def set_link_number(self, N):
10829  r"""set_link_number(SurfaceTetheredChain self, int N)"""
10830  return _IMP_core.SurfaceTetheredChain_set_link_number(self, N)
10831 
10832  def set_link_length(self, b):
10833  r"""set_link_length(SurfaceTetheredChain self, double b)"""
10834  return _IMP_core.SurfaceTetheredChain_set_link_length(self, b)
10835 
10836  def get_distance_at_minimum(self):
10837  r"""get_distance_at_minimum(SurfaceTetheredChain self) -> double"""
10838  return _IMP_core.SurfaceTetheredChain_get_distance_at_minimum(self)
10839 
10840  def get_average_distance(self):
10841  r"""get_average_distance(SurfaceTetheredChain self) -> double"""
10842  return _IMP_core.SurfaceTetheredChain_get_average_distance(self)
10843 
10844  def __str__(self):
10845  r"""__str__(SurfaceTetheredChain self) -> std::string"""
10846  return _IMP_core.SurfaceTetheredChain___str__(self)
10847 
10848  def __repr__(self):
10849  r"""__repr__(SurfaceTetheredChain self) -> std::string"""
10850  return _IMP_core.SurfaceTetheredChain___repr__(self)
10851 
10852  @staticmethod
10853  def get_from(o):
10854  return _object_cast_to_SurfaceTetheredChain(o)
10855 
10856 
10857 # Register SurfaceTetheredChain in _IMP_core:
10858 _IMP_core.SurfaceTetheredChain_swigregister(SurfaceTetheredChain)
10859 class SurfaceSymmetryConstraint(IMP.Constraint):
10860  r"""Proxy of C++ IMP::core::SurfaceSymmetryConstraint class."""
10861 
10862  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10863 
10864  def __init__(self, m, ss, rbs):
10865  r"""__init__(SurfaceSymmetryConstraint self, Model m, IMP::ParticleIndexPair const & ss, IMP::ParticleIndexPair const & rbs) -> SurfaceSymmetryConstraint"""
10866  _IMP_core.SurfaceSymmetryConstraint_swiginit(self, _IMP_core.new_SurfaceSymmetryConstraint(m, ss, rbs))
10867 
10868  def do_get_inputs(self):
10869  r"""do_get_inputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10870  return _IMP_core.SurfaceSymmetryConstraint_do_get_inputs(self)
10871 
10872  def do_get_outputs(self):
10873  r"""do_get_outputs(SurfaceSymmetryConstraint self) -> IMP::ModelObjectsTemp"""
10874  return _IMP_core.SurfaceSymmetryConstraint_do_get_outputs(self)
10875 
10876  def get_version_info(self):
10877  r"""get_version_info(SurfaceSymmetryConstraint self) -> VersionInfo"""
10878  return _IMP_core.SurfaceSymmetryConstraint_get_version_info(self)
10879  __swig_destroy__ = _IMP_core.delete_SurfaceSymmetryConstraint
10880 
10881  def __str__(self):
10882  r"""__str__(SurfaceSymmetryConstraint self) -> std::string"""
10883  return _IMP_core.SurfaceSymmetryConstraint___str__(self)
10884 
10885  def __repr__(self):
10886  r"""__repr__(SurfaceSymmetryConstraint self) -> std::string"""
10887  return _IMP_core.SurfaceSymmetryConstraint___repr__(self)
10888 
10889  @staticmethod
10890  def get_from(o):
10891  return _object_cast_to_SurfaceSymmetryConstraint(o)
10892 
10893 
10894 # Register SurfaceSymmetryConstraint in _IMP_core:
10895 _IMP_core.SurfaceSymmetryConstraint_swigregister(SurfaceSymmetryConstraint)
10896 class SteepestDescent(IMP.AttributeOptimizer):
10897  r"""Proxy of C++ IMP::core::SteepestDescent class."""
10898 
10899  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10900 
10901  def __init__(self, *args):
10902  r"""__init__(SteepestDescent self, Model m, std::string name="SteepestDescent%1%") -> SteepestDescent"""
10903  _IMP_core.SteepestDescent_swiginit(self, _IMP_core.new_SteepestDescent(*args))
10904 
10905  def do_optimize(self, max_steps):
10906  r"""do_optimize(SteepestDescent self, unsigned int max_steps) -> IMP::Float"""
10907  return _IMP_core.SteepestDescent_do_optimize(self, max_steps)
10908 
10909  def get_version_info(self):
10910  r"""get_version_info(SteepestDescent self) -> VersionInfo"""
10911  return _IMP_core.SteepestDescent_get_version_info(self)
10912  __swig_destroy__ = _IMP_core.delete_SteepestDescent
10913 
10914  def set_threshold(self, t):
10915  r"""set_threshold(SteepestDescent self, IMP::Float t)"""
10916  return _IMP_core.SteepestDescent_set_threshold(self, t)
10917 
10918  def set_step_size(self, t):
10919  r"""set_step_size(SteepestDescent self, IMP::Float t)"""
10920  return _IMP_core.SteepestDescent_set_step_size(self, t)
10921 
10922  def set_maximum_step_size(self, t):
10923  r"""set_maximum_step_size(SteepestDescent self, IMP::Float t)"""
10924  return _IMP_core.SteepestDescent_set_maximum_step_size(self, t)
10925 
10926  def __str__(self):
10927  r"""__str__(SteepestDescent self) -> std::string"""
10928  return _IMP_core.SteepestDescent___str__(self)
10929 
10930  def __repr__(self):
10931  r"""__repr__(SteepestDescent self) -> std::string"""
10932  return _IMP_core.SteepestDescent___repr__(self)
10933 
10934  @staticmethod
10935  def get_from(o):
10936  return _object_cast_to_SteepestDescent(o)
10937 
10938 
10939 # Register SteepestDescent in _IMP_core:
10940 _IMP_core.SteepestDescent_swigregister(SteepestDescent)
10941 class TransformedDistancePairScore(IMP.PairScore):
10942  r"""Proxy of C++ IMP::core::TransformedDistancePairScore class."""
10943 
10944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10945 
10946  def __init__(self, f, transformation):
10947  r"""__init__(TransformedDistancePairScore self, UnaryFunction f, Transformation3D transformation) -> TransformedDistancePairScore"""
10948  _IMP_core.TransformedDistancePairScore_swiginit(self, _IMP_core.new_TransformedDistancePairScore(f, transformation))
10949 
10950  def set_transformation(self, rot):
10951  r"""set_transformation(TransformedDistancePairScore self, Transformation3D rot)"""
10952  return _IMP_core.TransformedDistancePairScore_set_transformation(self, rot)
10953 
10954  def do_get_inputs(self, m, pis):
10955  r"""do_get_inputs(TransformedDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
10956  return _IMP_core.TransformedDistancePairScore_do_get_inputs(self, m, pis)
10957 
10958  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10959  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"""
10960  return _IMP_core.TransformedDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10961 
10962  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10963  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"""
10964  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10965 
10966  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10967  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"""
10968  return _IMP_core.TransformedDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10969 
10970  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10971  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"""
10972  return _IMP_core.TransformedDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10973 
10974  def get_version_info(self):
10975  r"""get_version_info(TransformedDistancePairScore self) -> VersionInfo"""
10976  return _IMP_core.TransformedDistancePairScore_get_version_info(self)
10977  __swig_destroy__ = _IMP_core.delete_TransformedDistancePairScore
10978 
10979  def __str__(self):
10980  r"""__str__(TransformedDistancePairScore self) -> std::string"""
10981  return _IMP_core.TransformedDistancePairScore___str__(self)
10982 
10983  def __repr__(self):
10984  r"""__repr__(TransformedDistancePairScore self) -> std::string"""
10985  return _IMP_core.TransformedDistancePairScore___repr__(self)
10986 
10987  @staticmethod
10988  def get_from(o):
10989  return _object_cast_to_TransformedDistancePairScore(o)
10990 
10991 
10992 # Register TransformedDistancePairScore in _IMP_core:
10993 _IMP_core.TransformedDistancePairScore_swigregister(TransformedDistancePairScore)
10994 class TypedPairScore(IMP.PairScore):
10995  r"""Proxy of C++ IMP::core::TypedPairScore class."""
10996 
10997  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10998 
10999  def __init__(self, typekey, allow_invalid_types=True):
11000  r"""__init__(TypedPairScore self, IntKey typekey, bool allow_invalid_types=True) -> TypedPairScore"""
11001  _IMP_core.TypedPairScore_swiginit(self, _IMP_core.new_TypedPairScore(typekey, allow_invalid_types))
11002 
11003  def set_particle_type(self, arg2):
11004  r"""set_particle_type(TypedPairScore self, Particle arg2)"""
11005  return _IMP_core.TypedPairScore_set_particle_type(self, arg2)
11006 
11007  def set_pair_score(self, ps, atype, btype):
11008  r"""set_pair_score(TypedPairScore self, PairScore ps, IMP::Int atype, IMP::Int btype)"""
11009  return _IMP_core.TypedPairScore_set_pair_score(self, ps, atype, btype)
11010 
11011  def do_get_inputs(self, m, pis):
11012  r"""do_get_inputs(TypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11013  return _IMP_core.TypedPairScore_do_get_inputs(self, m, pis)
11014 
11015  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
11016  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"""
11017  return _IMP_core.TypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
11018 
11019  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
11020  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"""
11021  return _IMP_core.TypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
11022 
11023  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
11024  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"""
11025  return _IMP_core.TypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
11026 
11027  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
11028  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"""
11029  return _IMP_core.TypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
11030 
11031  def get_version_info(self):
11032  r"""get_version_info(TypedPairScore self) -> VersionInfo"""
11033  return _IMP_core.TypedPairScore_get_version_info(self)
11034  __swig_destroy__ = _IMP_core.delete_TypedPairScore
11035 
11036  def __str__(self):
11037  r"""__str__(TypedPairScore self) -> std::string"""
11038  return _IMP_core.TypedPairScore___str__(self)
11039 
11040  def __repr__(self):
11041  r"""__repr__(TypedPairScore self) -> std::string"""
11042  return _IMP_core.TypedPairScore___repr__(self)
11043 
11044  @staticmethod
11045  def get_from(o):
11046  return _object_cast_to_TypedPairScore(o)
11047 
11048 
11049 # Register TypedPairScore in _IMP_core:
11050 _IMP_core.TypedPairScore_swigregister(TypedPairScore)
11051 class RigidBodyDistancePairScore(KClosePairsPairScore):
11052  r"""Proxy of C++ IMP::core::RigidBodyDistancePairScore class."""
11053 
11054  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11055 
11056  def __init__(self, ps, r):
11057  r"""__init__(RigidBodyDistancePairScore self, PairScore ps, Refiner r) -> RigidBodyDistancePairScore"""
11058  _IMP_core.RigidBodyDistancePairScore_swiginit(self, _IMP_core.new_RigidBodyDistancePairScore(ps, r))
11059 
11060  def __str__(self):
11061  r"""__str__(RigidBodyDistancePairScore self) -> std::string"""
11062  return _IMP_core.RigidBodyDistancePairScore___str__(self)
11063 
11064  def __repr__(self):
11065  r"""__repr__(RigidBodyDistancePairScore self) -> std::string"""
11066  return _IMP_core.RigidBodyDistancePairScore___repr__(self)
11067 
11068  @staticmethod
11069  def get_from(o):
11070  return _object_cast_to_RigidBodyDistancePairScore(o)
11071 
11072  __swig_destroy__ = _IMP_core.delete_RigidBodyDistancePairScore
11073 
11074 # Register RigidBodyDistancePairScore in _IMP_core:
11075 _IMP_core.RigidBodyDistancePairScore_swigregister(RigidBodyDistancePairScore)
11076 class RigidBodyAnglePairScore(IMP.PairScore):
11077  r"""Proxy of C++ IMP::core::RigidBodyAnglePairScore class."""
11078 
11079  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11080 
11081  def __init__(self, f):
11082  r"""__init__(RigidBodyAnglePairScore self, UnaryFunction f) -> RigidBodyAnglePairScore"""
11083  _IMP_core.RigidBodyAnglePairScore_swiginit(self, _IMP_core.new_RigidBodyAnglePairScore(f))
11084 
11085  def do_get_inputs(self, m, pis):
11086  r"""do_get_inputs(RigidBodyAnglePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11087  return _IMP_core.RigidBodyAnglePairScore_do_get_inputs(self, m, pis)
11088 
11089  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
11090  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"""
11091  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
11092 
11093  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
11094  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"""
11095  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
11096 
11097  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
11098  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"""
11099  return _IMP_core.RigidBodyAnglePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
11100 
11101  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
11102  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"""
11103  return _IMP_core.RigidBodyAnglePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
11104 
11105  def get_version_info(self):
11106  r"""get_version_info(RigidBodyAnglePairScore self) -> VersionInfo"""
11107  return _IMP_core.RigidBodyAnglePairScore_get_version_info(self)
11108  __swig_destroy__ = _IMP_core.delete_RigidBodyAnglePairScore
11109 
11110  def __str__(self):
11111  r"""__str__(RigidBodyAnglePairScore self) -> std::string"""
11112  return _IMP_core.RigidBodyAnglePairScore___str__(self)
11113 
11114  def __repr__(self):
11115  r"""__repr__(RigidBodyAnglePairScore self) -> std::string"""
11116  return _IMP_core.RigidBodyAnglePairScore___repr__(self)
11117 
11118  @staticmethod
11119  def get_from(o):
11120  return _object_cast_to_RigidBodyAnglePairScore(o)
11121 
11122 
11123 # Register RigidBodyAnglePairScore in _IMP_core:
11124 _IMP_core.RigidBodyAnglePairScore_swigregister(RigidBodyAnglePairScore)
11125 class TableRefiner(IMP.Refiner):
11126  r"""Proxy of C++ IMP::core::TableRefiner class."""
11127 
11128  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11129 
11130  def __init__(self):
11131  r"""__init__(TableRefiner self) -> TableRefiner"""
11132  _IMP_core.TableRefiner_swiginit(self, _IMP_core.new_TableRefiner())
11133 
11134  def add_particle(self, p, ps):
11135  r"""add_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
11136  return _IMP_core.TableRefiner_add_particle(self, p, ps)
11137 
11138  def remove_particle(self, p):
11139  r"""remove_particle(TableRefiner self, Particle p)"""
11140  return _IMP_core.TableRefiner_remove_particle(self, p)
11141 
11142  def set_particle(self, p, ps):
11143  r"""set_particle(TableRefiner self, Particle p, IMP::ParticlesTemp const & ps)"""
11144  return _IMP_core.TableRefiner_set_particle(self, p, ps)
11145 
11146  def do_get_inputs(self, m, pis):
11147  r"""do_get_inputs(TableRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11148  return _IMP_core.TableRefiner_do_get_inputs(self, m, pis)
11149 
11150  def get_version_info(self):
11151  r"""get_version_info(TableRefiner self) -> VersionInfo"""
11152  return _IMP_core.TableRefiner_get_version_info(self)
11153  __swig_destroy__ = _IMP_core.delete_TableRefiner
11154 
11155  def __str__(self):
11156  r"""__str__(TableRefiner self) -> std::string"""
11157  return _IMP_core.TableRefiner___str__(self)
11158 
11159  def __repr__(self):
11160  r"""__repr__(TableRefiner self) -> std::string"""
11161  return _IMP_core.TableRefiner___repr__(self)
11162 
11163  @staticmethod
11164  def get_from(o):
11165  return _object_cast_to_TableRefiner(o)
11166 
11167 
11168 # Register TableRefiner in _IMP_core:
11169 _IMP_core.TableRefiner_swigregister(TableRefiner)
11170 LOWER = _IMP_core.LOWER
11171 
11172 BOTH = _IMP_core.BOTH
11173 
11174 UPPER = _IMP_core.UPPER
11175 
11176 class MCCGSampler(IMP.Sampler):
11177  r"""Proxy of C++ IMP::core::MCCGSampler class."""
11178 
11179  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11180 
11181  def __init__(self, *args):
11182  r"""__init__(MCCGSampler self, Model m, std::string name="MCCG Sampler %1%") -> MCCGSampler"""
11183  _IMP_core.MCCGSampler_swiginit(self, _IMP_core.new_MCCGSampler(*args))
11184 
11185  def set_bounding_box(self, bb):
11186  r"""set_bounding_box(MCCGSampler self, BoundingBox3D bb)"""
11187  return _IMP_core.MCCGSampler_set_bounding_box(self, bb)
11188 
11189  def set_number_of_attempts(self, att):
11190  r"""set_number_of_attempts(MCCGSampler self, unsigned int att)"""
11191  return _IMP_core.MCCGSampler_set_number_of_attempts(self, att)
11192 
11193  def set_number_of_monte_carlo_steps(self, cg):
11194  r"""set_number_of_monte_carlo_steps(MCCGSampler self, unsigned int cg)"""
11195  return _IMP_core.MCCGSampler_set_number_of_monte_carlo_steps(self, cg)
11196 
11197  def set_number_of_conjugate_gradient_steps(self, cg):
11198  r"""set_number_of_conjugate_gradient_steps(MCCGSampler self, unsigned int cg)"""
11199  return _IMP_core.MCCGSampler_set_number_of_conjugate_gradient_steps(self, cg)
11200 
11201  def set_max_monte_carlo_step_size(self, *args):
11202  r"""
11203  set_max_monte_carlo_step_size(MCCGSampler self, double d)
11204  set_max_monte_carlo_step_size(MCCGSampler self, FloatKey k, double d)
11205  """
11206  return _IMP_core.MCCGSampler_set_max_monte_carlo_step_size(self, *args)
11207 
11208  def set_is_refining(self, tf):
11209  r"""set_is_refining(MCCGSampler self, bool tf)"""
11210  return _IMP_core.MCCGSampler_set_is_refining(self, tf)
11211 
11212  def set_local_optimizer(self, opt):
11213  r"""set_local_optimizer(MCCGSampler self, Optimizer opt)"""
11214  return _IMP_core.MCCGSampler_set_local_optimizer(self, opt)
11215 
11216  def set_save_rejected_configurations(self, tf):
11217  r"""set_save_rejected_configurations(MCCGSampler self, bool tf)"""
11218  return _IMP_core.MCCGSampler_set_save_rejected_configurations(self, tf)
11219 
11220  def get_rejected_configurations(self):
11221  r"""get_rejected_configurations(MCCGSampler self) -> ConfigurationSet"""
11222  return _IMP_core.MCCGSampler_get_rejected_configurations(self)
11223  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)
11224  def __set_optimizer_states(self, obj): IMP._list_util.set_varlist(self.optimizer_states, obj)
11225  def __del_optimizer_states(self): IMP._list_util.del_varlist(self.optimizer_states)
11226  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
11227 
11228  def remove_optimizer_state(self, d):
11229  r"""remove_optimizer_state(MCCGSampler self, OptimizerState d)"""
11230  return _IMP_core.MCCGSampler_remove_optimizer_state(self, d)
11231 
11232  def _python_index_optimizer_state(self, d, start, stop):
11233  r"""_python_index_optimizer_state(MCCGSampler self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
11234  return _IMP_core.MCCGSampler__python_index_optimizer_state(self, d, start, stop)
11235 
11236  def remove_optimizer_states(self, d):
11237  r"""remove_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & d)"""
11238  return _IMP_core.MCCGSampler_remove_optimizer_states(self, d)
11239 
11240  def set_optimizer_states(self, ps):
11241  r"""set_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & ps)"""
11242  return _IMP_core.MCCGSampler_set_optimizer_states(self, ps)
11243 
11244  def set_optimizer_states_order(self, objs):
11245  r"""set_optimizer_states_order(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11246  return _IMP_core.MCCGSampler_set_optimizer_states_order(self, objs)
11247 
11248  def add_optimizer_state(self, obj):
11249  r"""add_optimizer_state(MCCGSampler self, OptimizerState obj) -> unsigned int"""
11250  return _IMP_core.MCCGSampler_add_optimizer_state(self, obj)
11251 
11252  def add_optimizer_states(self, objs):
11253  r"""add_optimizer_states(MCCGSampler self, IMP::OptimizerStates const & objs)"""
11254  return _IMP_core.MCCGSampler_add_optimizer_states(self, objs)
11255 
11256  def clear_optimizer_states(self):
11257  r"""clear_optimizer_states(MCCGSampler self)"""
11258  return _IMP_core.MCCGSampler_clear_optimizer_states(self)
11259 
11260  def get_number_of_optimizer_states(self):
11261  r"""get_number_of_optimizer_states(MCCGSampler self) -> unsigned int"""
11262  return _IMP_core.MCCGSampler_get_number_of_optimizer_states(self)
11263 
11264  def get_has_optimizer_states(self):
11265  r"""get_has_optimizer_states(MCCGSampler self) -> bool"""
11266  return _IMP_core.MCCGSampler_get_has_optimizer_states(self)
11267 
11268  def get_optimizer_state(self, i):
11269  r"""get_optimizer_state(MCCGSampler self, unsigned int i) -> OptimizerState"""
11270  return _IMP_core.MCCGSampler_get_optimizer_state(self, i)
11271 
11272  def get_optimizer_states(self):
11273  r"""get_optimizer_states(MCCGSampler self) -> IMP::OptimizerStates"""
11274  return _IMP_core.MCCGSampler_get_optimizer_states(self)
11275 
11276  def erase_optimizer_state(self, i):
11277  r"""erase_optimizer_state(MCCGSampler self, unsigned int i)"""
11278  return _IMP_core.MCCGSampler_erase_optimizer_state(self, i)
11279 
11280  def reserve_optimizer_states(self, sz):
11281  r"""reserve_optimizer_states(MCCGSampler self, unsigned int sz)"""
11282  return _IMP_core.MCCGSampler_reserve_optimizer_states(self, sz)
11283 
11284  def do_sample(self):
11285  r"""do_sample(MCCGSampler self) -> ConfigurationSet"""
11286  return _IMP_core.MCCGSampler_do_sample(self)
11287 
11288  def get_version_info(self):
11289  r"""get_version_info(MCCGSampler self) -> VersionInfo"""
11290  return _IMP_core.MCCGSampler_get_version_info(self)
11291  __swig_destroy__ = _IMP_core.delete_MCCGSampler
11292 
11293  def __str__(self):
11294  r"""__str__(MCCGSampler self) -> std::string"""
11295  return _IMP_core.MCCGSampler___str__(self)
11296 
11297  def __repr__(self):
11298  r"""__repr__(MCCGSampler self) -> std::string"""
11299  return _IMP_core.MCCGSampler___repr__(self)
11300 
11301  @staticmethod
11302  def get_from(o):
11303  return _object_cast_to_MCCGSampler(o)
11304 
11305 
11306 # Register MCCGSampler in _IMP_core:
11307 _IMP_core.MCCGSampler_swigregister(MCCGSampler)
11308 class MinimumRestraint(IMP.Restraint):
11309  r"""Proxy of C++ IMP::core::MinimumRestraint class."""
11310 
11311  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11312 
11313  def __init__(self, *args):
11314  r"""__init__(MinimumRestraint self, unsigned int num, IMP::Restraints const & rs=IMP::Restraints(), std::string name="MinimumRestraint %1%") -> MinimumRestraint"""
11315  _IMP_core.MinimumRestraint_swiginit(self, _IMP_core.new_MinimumRestraint(*args))
11316 
11317  def do_get_inputs(self):
11318  r"""do_get_inputs(MinimumRestraint self) -> IMP::ModelObjectsTemp"""
11319  return _IMP_core.MinimumRestraint_do_get_inputs(self)
11320 
11321  def get_version_info(self):
11322  r"""get_version_info(MinimumRestraint self) -> VersionInfo"""
11323  return _IMP_core.MinimumRestraint_get_version_info(self)
11324  __swig_destroy__ = _IMP_core.delete_MinimumRestraint
11325  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)
11326  def __set_restraints(self, obj): IMP._list_util.set_varlist(self.restraints, obj)
11327  def __del_restraints(self): IMP._list_util.del_varlist(self.restraints)
11328  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
11329 
11330  def remove_restraint(self, d):
11331  r"""remove_restraint(MinimumRestraint self, Restraint d)"""
11332  return _IMP_core.MinimumRestraint_remove_restraint(self, d)
11333 
11334  def _python_index_restraint(self, d, start, stop):
11335  r"""_python_index_restraint(MinimumRestraint self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
11336  return _IMP_core.MinimumRestraint__python_index_restraint(self, d, start, stop)
11337 
11338  def remove_restraints(self, d):
11339  r"""remove_restraints(MinimumRestraint self, IMP::Restraints const & d)"""
11340  return _IMP_core.MinimumRestraint_remove_restraints(self, d)
11341 
11342  def set_restraints(self, ps):
11343  r"""set_restraints(MinimumRestraint self, IMP::Restraints const & ps)"""
11344  return _IMP_core.MinimumRestraint_set_restraints(self, ps)
11345 
11346  def set_restraints_order(self, objs):
11347  r"""set_restraints_order(MinimumRestraint self, IMP::Restraints const & objs)"""
11348  return _IMP_core.MinimumRestraint_set_restraints_order(self, objs)
11349 
11350  def add_restraint(self, obj):
11351  r"""add_restraint(MinimumRestraint self, Restraint obj) -> unsigned int"""
11352  return _IMP_core.MinimumRestraint_add_restraint(self, obj)
11353 
11354  def add_restraints(self, objs):
11355  r"""add_restraints(MinimumRestraint self, IMP::Restraints const & objs)"""
11356  return _IMP_core.MinimumRestraint_add_restraints(self, objs)
11357 
11358  def clear_restraints(self):
11359  r"""clear_restraints(MinimumRestraint self)"""
11360  return _IMP_core.MinimumRestraint_clear_restraints(self)
11361 
11362  def get_number_of_restraints(self):
11363  r"""get_number_of_restraints(MinimumRestraint self) -> unsigned int"""
11364  return _IMP_core.MinimumRestraint_get_number_of_restraints(self)
11365 
11366  def get_has_restraints(self):
11367  r"""get_has_restraints(MinimumRestraint self) -> bool"""
11368  return _IMP_core.MinimumRestraint_get_has_restraints(self)
11369 
11370  def get_restraint(self, i):
11371  r"""get_restraint(MinimumRestraint self, unsigned int i) -> Restraint"""
11372  return _IMP_core.MinimumRestraint_get_restraint(self, i)
11373 
11374  def get_restraints(self):
11375  r"""get_restraints(MinimumRestraint self) -> IMP::Restraints"""
11376  return _IMP_core.MinimumRestraint_get_restraints(self)
11377 
11378  def erase_restraint(self, i):
11379  r"""erase_restraint(MinimumRestraint self, unsigned int i)"""
11380  return _IMP_core.MinimumRestraint_erase_restraint(self, i)
11381 
11382  def reserve_restraints(self, sz):
11383  r"""reserve_restraints(MinimumRestraint self, unsigned int sz)"""
11384  return _IMP_core.MinimumRestraint_reserve_restraints(self, sz)
11385 
11386  def __str__(self):
11387  r"""__str__(MinimumRestraint self) -> std::string"""
11388  return _IMP_core.MinimumRestraint___str__(self)
11389 
11390  def __repr__(self):
11391  r"""__repr__(MinimumRestraint self) -> std::string"""
11392  return _IMP_core.MinimumRestraint___repr__(self)
11393 
11394  @staticmethod
11395  def get_from(o):
11396  return _object_cast_to_MinimumRestraint(o)
11397 
11398 
11399 # Register MinimumRestraint in _IMP_core:
11400 _IMP_core.MinimumRestraint_swigregister(MinimumRestraint)
11401 class Gaussian(RigidBody):
11402  r"""Proxy of C++ IMP::core::Gaussian class."""
11403 
11404  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11405 
11406  def __init__(self, *args):
11407  r"""
11408  __init__(Gaussian self) -> Gaussian
11409  __init__(Gaussian self, Model m, ParticleIndex id) -> Gaussian
11410  __init__(Gaussian self, _ParticleAdaptor d) -> Gaussian
11411  """
11412  _IMP_core.Gaussian_swiginit(self, _IMP_core.new_Gaussian(*args))
11413 
11414  def show(self, *args):
11415  r"""show(Gaussian self, _ostream out=std::cout)"""
11416  return _IMP_core.Gaussian_show(self, *args)
11417 
11418  @staticmethod
11419  def setup_particle(*args):
11420  r"""
11421  setup_particle(Model m, ParticleIndex pi) -> Gaussian
11422  setup_particle(_ParticleAdaptor pa) -> Gaussian
11423  setup_particle(Model m, ParticleIndex pi, Gaussian3D g) -> Gaussian
11424  setup_particle(_ParticleAdaptor pa, Gaussian3D g) -> Gaussian
11425  """
11426  return _IMP_core.Gaussian_setup_particle(*args)
11427 
11428  @staticmethod
11429  def get_local_covariance_key():
11430  r"""get_local_covariance_key() -> ObjectKey"""
11431  return _IMP_core.Gaussian_get_local_covariance_key()
11432 
11433  @staticmethod
11434  def get_global_covariance_key():
11435  r"""get_global_covariance_key() -> ObjectKey"""
11436  return _IMP_core.Gaussian_get_global_covariance_key()
11437 
11438  @staticmethod
11439  def get_is_setup(*args):
11440  r"""
11441  get_is_setup(_ParticleAdaptor p) -> bool
11442  get_is_setup(Model m, ParticleIndex pi) -> bool
11443  """
11444  return _IMP_core.Gaussian_get_is_setup(*args)
11445 
11446  def get_local_covariance(self):
11447  r"""get_local_covariance(Gaussian self) -> Eigen::Matrix3d"""
11448  return _IMP_core.Gaussian_get_local_covariance(self)
11449 
11450  def get_variances(self):
11451  r"""get_variances(Gaussian self) -> Vector3D"""
11452  return _IMP_core.Gaussian_get_variances(self)
11453 
11454  def get_global_covariance(self):
11455  r"""get_global_covariance(Gaussian self) -> Eigen::Matrix3d"""
11456  return _IMP_core.Gaussian_get_global_covariance(self)
11457 
11458  def get_gaussian(self):
11459  r"""get_gaussian(Gaussian self) -> Gaussian3D"""
11460  return _IMP_core.Gaussian_get_gaussian(self)
11461 
11462  def set_gaussian(self, g):
11463  r"""set_gaussian(Gaussian self, Gaussian3D g)"""
11464  return _IMP_core.Gaussian_set_gaussian(self, g)
11465 
11466  def set_local_covariance(self, covar):
11467  r"""set_local_covariance(Gaussian self, Eigen::Vector3d const covar)"""
11468  return _IMP_core.Gaussian_set_local_covariance(self, covar)
11469 
11470  def set_variances(self, v):
11471  r"""set_variances(Gaussian self, Vector3D v)"""
11472  return _IMP_core.Gaussian_set_variances(self, v)
11473 
11474  def set_global_covariance(self, covar):
11475  r"""set_global_covariance(Gaussian self, Eigen::Matrix3d covar)"""
11476  return _IMP_core.Gaussian_set_global_covariance(self, covar)
11477 
11478  def update_global_covariance(self):
11479  r"""update_global_covariance(Gaussian self)"""
11480  return _IMP_core.Gaussian_update_global_covariance(self)
11481 
11482  def add_attribute(self, *args):
11483  r"""
11484  add_attribute(Gaussian self, FloatKey k, IMP::Float v, bool opt)
11485  add_attribute(Gaussian self, FloatKey a0, IMP::Float a1)
11486  add_attribute(Gaussian self, IntKey a0, IMP::Int a1)
11487  add_attribute(Gaussian self, FloatsKey a0, IMP::Floats a1)
11488  add_attribute(Gaussian self, IntsKey a0, IMP::Ints a1)
11489  add_attribute(Gaussian self, StringKey a0, IMP::String a1)
11490  add_attribute(Gaussian self, ParticleIndexKey a0, Particle a1)
11491  add_attribute(Gaussian self, ObjectKey a0, Object a1)
11492  add_attribute(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11493  add_attribute(Gaussian self, SparseIntKey a0, IMP::Int a1)
11494  add_attribute(Gaussian self, SparseStringKey a0, IMP::String a1)
11495  add_attribute(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11496  """
11497  return _IMP_core.Gaussian_add_attribute(self, *args)
11498 
11499  def get_value(self, *args):
11500  r"""
11501  get_value(Gaussian self, FloatKey a0) -> IMP::Float
11502  get_value(Gaussian self, IntKey a0) -> IMP::Int
11503  get_value(Gaussian self, FloatsKey a0) -> IMP::Floats
11504  get_value(Gaussian self, IntsKey a0) -> IMP::Ints
11505  get_value(Gaussian self, StringKey a0) -> IMP::String
11506  get_value(Gaussian self, ParticleIndexKey a0) -> Particle
11507  get_value(Gaussian self, ObjectKey a0) -> Object
11508  get_value(Gaussian self, SparseFloatKey a0) -> IMP::Float
11509  get_value(Gaussian self, SparseIntKey a0) -> IMP::Int
11510  get_value(Gaussian self, SparseStringKey a0) -> IMP::String
11511  get_value(Gaussian self, SparseParticleIndexKey a0) -> ParticleIndex
11512  """
11513  return _IMP_core.Gaussian_get_value(self, *args)
11514 
11515  def set_value(self, *args):
11516  r"""
11517  set_value(Gaussian self, FloatKey a0, IMP::Float a1)
11518  set_value(Gaussian self, IntKey a0, IMP::Int a1)
11519  set_value(Gaussian self, FloatsKey a0, IMP::Floats a1)
11520  set_value(Gaussian self, IntsKey a0, IMP::Ints a1)
11521  set_value(Gaussian self, StringKey a0, IMP::String a1)
11522  set_value(Gaussian self, ParticleIndexKey a0, Particle a1)
11523  set_value(Gaussian self, ObjectKey a0, Object a1)
11524  set_value(Gaussian self, SparseFloatKey a0, IMP::Float a1)
11525  set_value(Gaussian self, SparseIntKey a0, IMP::Int a1)
11526  set_value(Gaussian self, SparseStringKey a0, IMP::String a1)
11527  set_value(Gaussian self, SparseParticleIndexKey a0, ParticleIndex a1)
11528  """
11529  return _IMP_core.Gaussian_set_value(self, *args)
11530 
11531  def remove_attribute(self, *args):
11532  r"""
11533  remove_attribute(Gaussian self, FloatKey a0)
11534  remove_attribute(Gaussian self, IntKey a0)
11535  remove_attribute(Gaussian self, FloatsKey a0)
11536  remove_attribute(Gaussian self, IntsKey a0)
11537  remove_attribute(Gaussian self, StringKey a0)
11538  remove_attribute(Gaussian self, ParticleIndexKey a0)
11539  remove_attribute(Gaussian self, ObjectKey a0)
11540  remove_attribute(Gaussian self, SparseFloatKey a0)
11541  remove_attribute(Gaussian self, SparseIntKey a0)
11542  remove_attribute(Gaussian self, SparseStringKey a0)
11543  remove_attribute(Gaussian self, SparseParticleIndexKey a0)
11544  """
11545  return _IMP_core.Gaussian_remove_attribute(self, *args)
11546 
11547  def has_attribute(self, *args):
11548  r"""
11549  has_attribute(Gaussian self, FloatKey a0) -> bool
11550  has_attribute(Gaussian self, IntKey a0) -> bool
11551  has_attribute(Gaussian self, FloatsKey a0) -> bool
11552  has_attribute(Gaussian self, IntsKey a0) -> bool
11553  has_attribute(Gaussian self, StringKey a0) -> bool
11554  has_attribute(Gaussian self, ParticleIndexKey a0) -> bool
11555  has_attribute(Gaussian self, ObjectKey a0) -> bool
11556  has_attribute(Gaussian self, SparseFloatKey a0) -> bool
11557  has_attribute(Gaussian self, SparseIntKey a0) -> bool
11558  has_attribute(Gaussian self, SparseStringKey a0) -> bool
11559  has_attribute(Gaussian self, SparseParticleIndexKey a0) -> bool
11560  """
11561  return _IMP_core.Gaussian_has_attribute(self, *args)
11562 
11563  def get_derivative(self, a0):
11564  r"""get_derivative(Gaussian self, FloatKey a0) -> double"""
11565  return _IMP_core.Gaussian_get_derivative(self, a0)
11566 
11567  def get_name(self):
11568  r"""get_name(Gaussian self) -> std::string"""
11569  return _IMP_core.Gaussian_get_name(self)
11570 
11571  def clear_caches(self):
11572  r"""clear_caches(Gaussian self)"""
11573  return _IMP_core.Gaussian_clear_caches(self)
11574 
11575  def set_name(self, a0):
11576  r"""set_name(Gaussian self, std::string a0)"""
11577  return _IMP_core.Gaussian_set_name(self, a0)
11578 
11579  def set_check_level(self, a0):
11580  r"""set_check_level(Gaussian self, IMP::CheckLevel a0)"""
11581  return _IMP_core.Gaussian_set_check_level(self, a0)
11582 
11583  def add_to_derivative(self, a0, a1, a2):
11584  r"""add_to_derivative(Gaussian self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11585  return _IMP_core.Gaussian_add_to_derivative(self, a0, a1, a2)
11586 
11587  def set_is_optimized(self, a0, a1):
11588  r"""set_is_optimized(Gaussian self, FloatKey a0, bool a1)"""
11589  return _IMP_core.Gaussian_set_is_optimized(self, a0, a1)
11590 
11591  def get_is_optimized(self, a0):
11592  r"""get_is_optimized(Gaussian self, FloatKey a0) -> bool"""
11593  return _IMP_core.Gaussian_get_is_optimized(self, a0)
11594 
11595  def get_check_level(self):
11596  r"""get_check_level(Gaussian self) -> IMP::CheckLevel"""
11597  return _IMP_core.Gaussian_get_check_level(self)
11598 
11599  def __eq__(self, *args):
11600  r"""
11601  __eq__(Gaussian self, Gaussian o) -> bool
11602  __eq__(Gaussian self, Particle d) -> bool
11603  """
11604  return _IMP_core.Gaussian___eq__(self, *args)
11605 
11606  def __ne__(self, *args):
11607  r"""
11608  __ne__(Gaussian self, Gaussian o) -> bool
11609  __ne__(Gaussian self, Particle d) -> bool
11610  """
11611  return _IMP_core.Gaussian___ne__(self, *args)
11612 
11613  def __le__(self, *args):
11614  r"""
11615  __le__(Gaussian self, Gaussian o) -> bool
11616  __le__(Gaussian self, Particle d) -> bool
11617  """
11618  return _IMP_core.Gaussian___le__(self, *args)
11619 
11620  def __lt__(self, *args):
11621  r"""
11622  __lt__(Gaussian self, Gaussian o) -> bool
11623  __lt__(Gaussian self, Particle d) -> bool
11624  """
11625  return _IMP_core.Gaussian___lt__(self, *args)
11626 
11627  def __ge__(self, *args):
11628  r"""
11629  __ge__(Gaussian self, Gaussian o) -> bool
11630  __ge__(Gaussian self, Particle d) -> bool
11631  """
11632  return _IMP_core.Gaussian___ge__(self, *args)
11633 
11634  def __gt__(self, *args):
11635  r"""
11636  __gt__(Gaussian self, Gaussian o) -> bool
11637  __gt__(Gaussian self, Particle d) -> bool
11638  """
11639  return _IMP_core.Gaussian___gt__(self, *args)
11640 
11641  def __hash__(self):
11642  r"""__hash__(Gaussian self) -> std::size_t"""
11643  return _IMP_core.Gaussian___hash__(self)
11644 
11645  def __str__(self):
11646  r"""__str__(Gaussian self) -> std::string"""
11647  return _IMP_core.Gaussian___str__(self)
11648 
11649  def __repr__(self):
11650  r"""__repr__(Gaussian self) -> std::string"""
11651  return _IMP_core.Gaussian___repr__(self)
11652 
11653  def _get_as_binary(self):
11654  r"""_get_as_binary(Gaussian self) -> PyObject *"""
11655  return _IMP_core.Gaussian__get_as_binary(self)
11656 
11657  def _set_from_binary(self, p):
11658  r"""_set_from_binary(Gaussian self, PyObject * p)"""
11659  return _IMP_core.Gaussian__set_from_binary(self, p)
11660 
11661  def __getstate__(self):
11662  p = self._get_as_binary()
11663  if len(self.__dict__) > 1:
11664  d = self.__dict__.copy()
11665  del d['this']
11666  p = (d, p)
11667  return p
11668 
11669  def __setstate__(self, p):
11670  if not hasattr(self, 'this'):
11671  self.__init__()
11672  if isinstance(p, tuple):
11673  d, p = p
11674  self.__dict__.update(d)
11675  return self._set_from_binary(p)
11676 
11677  __swig_destroy__ = _IMP_core.delete_Gaussian
11678 
11679 # Register Gaussian in _IMP_core:
11680 _IMP_core.Gaussian_swigregister(Gaussian)
11681 class PairRestraint(IMP.Restraint):
11682  r"""Proxy of C++ IMP::core::PairRestraint class."""
11683 
11684  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11685 
11686  def __init__(self, *args):
11687  r"""
11688  __init__(PairRestraint self, Model m, PairScore ss, IMP::ParticleIndexPair const & vt, std::string name="PairRestraint %1%") -> PairRestraint
11689  __init__(PairRestraint self) -> PairRestraint
11690  """
11691  _IMP_core.PairRestraint_swiginit(self, _IMP_core.new_PairRestraint(*args))
11692 
11693  def get_score_object(self):
11694  r"""get_score_object(PairRestraint self) -> PairScore"""
11695  return _IMP_core.PairRestraint_get_score_object(self)
11696 
11697  def get_index(self):
11698  r"""get_index(PairRestraint self) -> IMP::PairScore::IndexArgument"""
11699  return _IMP_core.PairRestraint_get_index(self)
11700 
11701  def get_version_info(self):
11702  r"""get_version_info(PairRestraint self) -> VersionInfo"""
11703  return _IMP_core.PairRestraint_get_version_info(self)
11704  __swig_destroy__ = _IMP_core.delete_PairRestraint
11705 
11706  def __str__(self):
11707  r"""__str__(PairRestraint self) -> std::string"""
11708  return _IMP_core.PairRestraint___str__(self)
11709 
11710  def __repr__(self):
11711  r"""__repr__(PairRestraint self) -> std::string"""
11712  return _IMP_core.PairRestraint___repr__(self)
11713 
11714  @staticmethod
11715  def get_from(o):
11716  return _object_cast_to_PairRestraint(o)
11717 
11718 
11719  def _get_as_binary(self):
11720  r"""_get_as_binary(PairRestraint self) -> PyObject *"""
11721  return _IMP_core.PairRestraint__get_as_binary(self)
11722 
11723  def _set_from_binary(self, p):
11724  r"""_set_from_binary(PairRestraint self, PyObject * p)"""
11725  return _IMP_core.PairRestraint__set_from_binary(self, p)
11726 
11727  def __getstate__(self):
11728  p = self._get_as_binary()
11729  if len(self.__dict__) > 1:
11730  d = self.__dict__.copy()
11731  del d['this']
11732  p = (d, p)
11733  return p
11734 
11735  def __setstate__(self, p):
11736  if not hasattr(self, 'this'):
11737  self.__init__()
11738  if isinstance(p, tuple):
11739  d, p = p
11740  self.__dict__.update(d)
11741  return self._set_from_binary(p)
11742 
11743 
11744  def _get_jax(self, space):
11745  from . import _jax_util
11746  return _jax_util._get_jax_restraint(self, space)
11747 
11748 
11749 # Register PairRestraint in _IMP_core:
11750 _IMP_core.PairRestraint_swigregister(PairRestraint)
11751 class SingletonRestraint(IMP.Restraint):
11752  r"""Proxy of C++ IMP::core::SingletonRestraint class."""
11753 
11754  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11755 
11756  def __init__(self, *args):
11757  r"""
11758  __init__(SingletonRestraint self, Model m, SingletonScore ss, ParticleIndex vt, std::string name="SingletonRestraint %1%") -> SingletonRestraint
11759  __init__(SingletonRestraint self) -> SingletonRestraint
11760  """
11761  _IMP_core.SingletonRestraint_swiginit(self, _IMP_core.new_SingletonRestraint(*args))
11762 
11763  def get_score_object(self):
11764  r"""get_score_object(SingletonRestraint self) -> SingletonScore"""
11765  return _IMP_core.SingletonRestraint_get_score_object(self)
11766 
11767  def get_index(self):
11768  r"""get_index(SingletonRestraint self) -> ParticleIndex"""
11769  return _IMP_core.SingletonRestraint_get_index(self)
11770 
11771  def get_version_info(self):
11772  r"""get_version_info(SingletonRestraint self) -> VersionInfo"""
11773  return _IMP_core.SingletonRestraint_get_version_info(self)
11774  __swig_destroy__ = _IMP_core.delete_SingletonRestraint
11775 
11776  def __str__(self):
11777  r"""__str__(SingletonRestraint self) -> std::string"""
11778  return _IMP_core.SingletonRestraint___str__(self)
11779 
11780  def __repr__(self):
11781  r"""__repr__(SingletonRestraint self) -> std::string"""
11782  return _IMP_core.SingletonRestraint___repr__(self)
11783 
11784  @staticmethod
11785  def get_from(o):
11786  return _object_cast_to_SingletonRestraint(o)
11787 
11788 
11789  def _get_as_binary(self):
11790  r"""_get_as_binary(SingletonRestraint self) -> PyObject *"""
11791  return _IMP_core.SingletonRestraint__get_as_binary(self)
11792 
11793  def _set_from_binary(self, p):
11794  r"""_set_from_binary(SingletonRestraint self, PyObject * p)"""
11795  return _IMP_core.SingletonRestraint__set_from_binary(self, p)
11796 
11797  def __getstate__(self):
11798  p = self._get_as_binary()
11799  if len(self.__dict__) > 1:
11800  d = self.__dict__.copy()
11801  del d['this']
11802  p = (d, p)
11803  return p
11804 
11805  def __setstate__(self, p):
11806  if not hasattr(self, 'this'):
11807  self.__init__()
11808  if isinstance(p, tuple):
11809  d, p = p
11810  self.__dict__.update(d)
11811  return self._set_from_binary(p)
11812 
11813 
11814  def _get_jax(self, space):
11815  from . import _jax_util
11816  return _jax_util._get_jax_restraint(self, space)
11817 
11818 
11819 # Register SingletonRestraint in _IMP_core:
11820 _IMP_core.SingletonRestraint_swigregister(SingletonRestraint)
11821 class TripletRestraint(IMP.Restraint):
11822  r"""Proxy of C++ IMP::core::TripletRestraint class."""
11823 
11824  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11825 
11826  def __init__(self, *args):
11827  r"""
11828  __init__(TripletRestraint self, Model m, TripletScore ss, IMP::ParticleIndexTriplet const & vt, std::string name="TripletRestraint %1%") -> TripletRestraint
11829  __init__(TripletRestraint self) -> TripletRestraint
11830  """
11831  _IMP_core.TripletRestraint_swiginit(self, _IMP_core.new_TripletRestraint(*args))
11832 
11833  def get_score_object(self):
11834  r"""get_score_object(TripletRestraint self) -> TripletScore"""
11835  return _IMP_core.TripletRestraint_get_score_object(self)
11836 
11837  def get_index(self):
11838  r"""get_index(TripletRestraint self) -> IMP::TripletScore::IndexArgument"""
11839  return _IMP_core.TripletRestraint_get_index(self)
11840 
11841  def get_version_info(self):
11842  r"""get_version_info(TripletRestraint self) -> VersionInfo"""
11843  return _IMP_core.TripletRestraint_get_version_info(self)
11844  __swig_destroy__ = _IMP_core.delete_TripletRestraint
11845 
11846  def __str__(self):
11847  r"""__str__(TripletRestraint self) -> std::string"""
11848  return _IMP_core.TripletRestraint___str__(self)
11849 
11850  def __repr__(self):
11851  r"""__repr__(TripletRestraint self) -> std::string"""
11852  return _IMP_core.TripletRestraint___repr__(self)
11853 
11854  @staticmethod
11855  def get_from(o):
11856  return _object_cast_to_TripletRestraint(o)
11857 
11858 
11859  def _get_as_binary(self):
11860  r"""_get_as_binary(TripletRestraint self) -> PyObject *"""
11861  return _IMP_core.TripletRestraint__get_as_binary(self)
11862 
11863  def _set_from_binary(self, p):
11864  r"""_set_from_binary(TripletRestraint self, PyObject * p)"""
11865  return _IMP_core.TripletRestraint__set_from_binary(self, p)
11866 
11867  def __getstate__(self):
11868  p = self._get_as_binary()
11869  if len(self.__dict__) > 1:
11870  d = self.__dict__.copy()
11871  del d['this']
11872  p = (d, p)
11873  return p
11874 
11875  def __setstate__(self, p):
11876  if not hasattr(self, 'this'):
11877  self.__init__()
11878  if isinstance(p, tuple):
11879  d, p = p
11880  self.__dict__.update(d)
11881  return self._set_from_binary(p)
11882 
11883 
11884 # Register TripletRestraint in _IMP_core:
11885 _IMP_core.TripletRestraint_swigregister(TripletRestraint)
11886 class QuadRestraint(IMP.Restraint):
11887  r"""Proxy of C++ IMP::core::QuadRestraint class."""
11888 
11889  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11890 
11891  def __init__(self, *args):
11892  r"""
11893  __init__(QuadRestraint self, Model m, QuadScore ss, IMP::ParticleIndexQuad const & vt, std::string name="QuadRestraint %1%") -> QuadRestraint
11894  __init__(QuadRestraint self) -> QuadRestraint
11895  """
11896  _IMP_core.QuadRestraint_swiginit(self, _IMP_core.new_QuadRestraint(*args))
11897 
11898  def get_score_object(self):
11899  r"""get_score_object(QuadRestraint self) -> QuadScore"""
11900  return _IMP_core.QuadRestraint_get_score_object(self)
11901 
11902  def get_index(self):
11903  r"""get_index(QuadRestraint self) -> IMP::QuadScore::IndexArgument"""
11904  return _IMP_core.QuadRestraint_get_index(self)
11905 
11906  def get_version_info(self):
11907  r"""get_version_info(QuadRestraint self) -> VersionInfo"""
11908  return _IMP_core.QuadRestraint_get_version_info(self)
11909  __swig_destroy__ = _IMP_core.delete_QuadRestraint
11910 
11911  def __str__(self):
11912  r"""__str__(QuadRestraint self) -> std::string"""
11913  return _IMP_core.QuadRestraint___str__(self)
11914 
11915  def __repr__(self):
11916  r"""__repr__(QuadRestraint self) -> std::string"""
11917  return _IMP_core.QuadRestraint___repr__(self)
11918 
11919  @staticmethod
11920  def get_from(o):
11921  return _object_cast_to_QuadRestraint(o)
11922 
11923 
11924  def _get_as_binary(self):
11925  r"""_get_as_binary(QuadRestraint self) -> PyObject *"""
11926  return _IMP_core.QuadRestraint__get_as_binary(self)
11927 
11928  def _set_from_binary(self, p):
11929  r"""_set_from_binary(QuadRestraint self, PyObject * p)"""
11930  return _IMP_core.QuadRestraint__set_from_binary(self, p)
11931 
11932  def __getstate__(self):
11933  p = self._get_as_binary()
11934  if len(self.__dict__) > 1:
11935  d = self.__dict__.copy()
11936  del d['this']
11937  p = (d, p)
11938  return p
11939 
11940  def __setstate__(self, p):
11941  if not hasattr(self, 'this'):
11942  self.__init__()
11943  if isinstance(p, tuple):
11944  d, p = p
11945  self.__dict__.update(d)
11946  return self._set_from_binary(p)
11947 
11948 
11949 # Register QuadRestraint in _IMP_core:
11950 _IMP_core.QuadRestraint_swigregister(QuadRestraint)
11951 class SingletonConstraint(IMP.Constraint):
11952  r"""Proxy of C++ IMP::core::SingletonConstraint class."""
11953 
11954  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11955 
11956  def __init__(self, *args):
11957  r"""
11958  __init__(SingletonConstraint self, SingletonModifier before, SingletonModifier after, Model m, ParticleIndex vt, std::string name="SingletonConstraint %1%", bool can_skip=False) -> SingletonConstraint
11959  __init__(SingletonConstraint self) -> SingletonConstraint
11960  """
11961  _IMP_core.SingletonConstraint_swiginit(self, _IMP_core.new_SingletonConstraint(*args))
11962 
11963  def get_before_modifier(self):
11964  r"""get_before_modifier(SingletonConstraint self) -> SingletonModifier"""
11965  return _IMP_core.SingletonConstraint_get_before_modifier(self)
11966 
11967  def get_index(self):
11968  r"""get_index(SingletonConstraint self) -> ParticleIndex"""
11969  return _IMP_core.SingletonConstraint_get_index(self)
11970 
11971  def get_version_info(self):
11972  r"""get_version_info(SingletonConstraint self) -> VersionInfo"""
11973  return _IMP_core.SingletonConstraint_get_version_info(self)
11974  __swig_destroy__ = _IMP_core.delete_SingletonConstraint
11975 
11976  def __str__(self):
11977  r"""__str__(SingletonConstraint self) -> std::string"""
11978  return _IMP_core.SingletonConstraint___str__(self)
11979 
11980  def __repr__(self):
11981  r"""__repr__(SingletonConstraint self) -> std::string"""
11982  return _IMP_core.SingletonConstraint___repr__(self)
11983 
11984  @staticmethod
11985  def get_from(o):
11986  return _object_cast_to_SingletonConstraint(o)
11987 
11988 
11989  def _get_as_binary(self):
11990  r"""_get_as_binary(SingletonConstraint self) -> PyObject *"""
11991  return _IMP_core.SingletonConstraint__get_as_binary(self)
11992 
11993  def _set_from_binary(self, p):
11994  r"""_set_from_binary(SingletonConstraint self, PyObject * p)"""
11995  return _IMP_core.SingletonConstraint__set_from_binary(self, p)
11996 
11997  def __getstate__(self):
11998  p = self._get_as_binary()
11999  if len(self.__dict__) > 1:
12000  d = self.__dict__.copy()
12001  del d['this']
12002  p = (d, p)
12003  return p
12004 
12005  def __setstate__(self, p):
12006  if not hasattr(self, 'this'):
12007  self.__init__()
12008  if isinstance(p, tuple):
12009  d, p = p
12010  self.__dict__.update(d)
12011  return self._set_from_binary(p)
12012 
12013 
12014  def _get_jax(self):
12015  import jax.numpy as jnp
12016  indexes = jnp.array([self.get_index()])
12017  mod = self.get_before_modifier().get_derived_object()
12018  ji = mod._get_jax(self.get_model(), indexes)
12019  return self._wrap_jax(ji.apply_func, keys=ji._keys)
12020 
12021 
12022 # Register SingletonConstraint in _IMP_core:
12023 _IMP_core.SingletonConstraint_swigregister(SingletonConstraint)
12024 class PairConstraint(IMP.Constraint):
12025  r"""Proxy of C++ IMP::core::PairConstraint class."""
12026 
12027  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12028 
12029  def __init__(self, *args):
12030  r"""
12031  __init__(PairConstraint self, PairModifier before, PairModifier after, Model m, IMP::ParticleIndexPair const & vt, std::string name="PairConstraint %1%", bool can_skip=False) -> PairConstraint
12032  __init__(PairConstraint self) -> PairConstraint
12033  """
12034  _IMP_core.PairConstraint_swiginit(self, _IMP_core.new_PairConstraint(*args))
12035 
12036  def get_before_modifier(self):
12037  r"""get_before_modifier(PairConstraint self) -> PairModifier"""
12038  return _IMP_core.PairConstraint_get_before_modifier(self)
12039 
12040  def get_index(self):
12041  r"""get_index(PairConstraint self) -> IMP::PairModifier::IndexArgument"""
12042  return _IMP_core.PairConstraint_get_index(self)
12043 
12044  def get_version_info(self):
12045  r"""get_version_info(PairConstraint self) -> VersionInfo"""
12046  return _IMP_core.PairConstraint_get_version_info(self)
12047  __swig_destroy__ = _IMP_core.delete_PairConstraint
12048 
12049  def __str__(self):
12050  r"""__str__(PairConstraint self) -> std::string"""
12051  return _IMP_core.PairConstraint___str__(self)
12052 
12053  def __repr__(self):
12054  r"""__repr__(PairConstraint self) -> std::string"""
12055  return _IMP_core.PairConstraint___repr__(self)
12056 
12057  @staticmethod
12058  def get_from(o):
12059  return _object_cast_to_PairConstraint(o)
12060 
12061 
12062  def _get_as_binary(self):
12063  r"""_get_as_binary(PairConstraint self) -> PyObject *"""
12064  return _IMP_core.PairConstraint__get_as_binary(self)
12065 
12066  def _set_from_binary(self, p):
12067  r"""_set_from_binary(PairConstraint self, PyObject * p)"""
12068  return _IMP_core.PairConstraint__set_from_binary(self, p)
12069 
12070  def __getstate__(self):
12071  p = self._get_as_binary()
12072  if len(self.__dict__) > 1:
12073  d = self.__dict__.copy()
12074  del d['this']
12075  p = (d, p)
12076  return p
12077 
12078  def __setstate__(self, p):
12079  if not hasattr(self, 'this'):
12080  self.__init__()
12081  if isinstance(p, tuple):
12082  d, p = p
12083  self.__dict__.update(d)
12084  return self._set_from_binary(p)
12085 
12086 
12087 # Register PairConstraint in _IMP_core:
12088 _IMP_core.PairConstraint_swigregister(PairConstraint)
12089 class TripletConstraint(IMP.Constraint):
12090  r"""Proxy of C++ IMP::core::TripletConstraint class."""
12091 
12092  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12093 
12094  def __init__(self, *args):
12095  r"""
12096  __init__(TripletConstraint self, TripletModifier before, TripletModifier after, Model m, IMP::ParticleIndexTriplet const & vt, std::string name="TripletConstraint %1%", bool can_skip=False) -> TripletConstraint
12097  __init__(TripletConstraint self) -> TripletConstraint
12098  """
12099  _IMP_core.TripletConstraint_swiginit(self, _IMP_core.new_TripletConstraint(*args))
12100 
12101  def get_before_modifier(self):
12102  r"""get_before_modifier(TripletConstraint self) -> TripletModifier"""
12103  return _IMP_core.TripletConstraint_get_before_modifier(self)
12104 
12105  def get_index(self):
12106  r"""get_index(TripletConstraint self) -> IMP::TripletModifier::IndexArgument"""
12107  return _IMP_core.TripletConstraint_get_index(self)
12108 
12109  def get_version_info(self):
12110  r"""get_version_info(TripletConstraint self) -> VersionInfo"""
12111  return _IMP_core.TripletConstraint_get_version_info(self)
12112  __swig_destroy__ = _IMP_core.delete_TripletConstraint
12113 
12114  def __str__(self):
12115  r"""__str__(TripletConstraint self) -> std::string"""
12116  return _IMP_core.TripletConstraint___str__(self)
12117 
12118  def __repr__(self):
12119  r"""__repr__(TripletConstraint self) -> std::string"""
12120  return _IMP_core.TripletConstraint___repr__(self)
12121 
12122  @staticmethod
12123  def get_from(o):
12124  return _object_cast_to_TripletConstraint(o)
12125 
12126 
12127  def _get_as_binary(self):
12128  r"""_get_as_binary(TripletConstraint self) -> PyObject *"""
12129  return _IMP_core.TripletConstraint__get_as_binary(self)
12130 
12131  def _set_from_binary(self, p):
12132  r"""_set_from_binary(TripletConstraint self, PyObject * p)"""
12133  return _IMP_core.TripletConstraint__set_from_binary(self, p)
12134 
12135  def __getstate__(self):
12136  p = self._get_as_binary()
12137  if len(self.__dict__) > 1:
12138  d = self.__dict__.copy()
12139  del d['this']
12140  p = (d, p)
12141  return p
12142 
12143  def __setstate__(self, p):
12144  if not hasattr(self, 'this'):
12145  self.__init__()
12146  if isinstance(p, tuple):
12147  d, p = p
12148  self.__dict__.update(d)
12149  return self._set_from_binary(p)
12150 
12151 
12152 # Register TripletConstraint in _IMP_core:
12153 _IMP_core.TripletConstraint_swigregister(TripletConstraint)
12154 class QuadConstraint(IMP.Constraint):
12155  r"""Proxy of C++ IMP::core::QuadConstraint class."""
12156 
12157  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12158 
12159  def __init__(self, *args):
12160  r"""
12161  __init__(QuadConstraint self, QuadModifier before, QuadModifier after, Model m, IMP::ParticleIndexQuad const & vt, std::string name="QuadConstraint %1%", bool can_skip=False) -> QuadConstraint
12162  __init__(QuadConstraint self) -> QuadConstraint
12163  """
12164  _IMP_core.QuadConstraint_swiginit(self, _IMP_core.new_QuadConstraint(*args))
12165 
12166  def get_before_modifier(self):
12167  r"""get_before_modifier(QuadConstraint self) -> QuadModifier"""
12168  return _IMP_core.QuadConstraint_get_before_modifier(self)
12169 
12170  def get_index(self):
12171  r"""get_index(QuadConstraint self) -> IMP::QuadModifier::IndexArgument"""
12172  return _IMP_core.QuadConstraint_get_index(self)
12173 
12174  def get_version_info(self):
12175  r"""get_version_info(QuadConstraint self) -> VersionInfo"""
12176  return _IMP_core.QuadConstraint_get_version_info(self)
12177  __swig_destroy__ = _IMP_core.delete_QuadConstraint
12178 
12179  def __str__(self):
12180  r"""__str__(QuadConstraint self) -> std::string"""
12181  return _IMP_core.QuadConstraint___str__(self)
12182 
12183  def __repr__(self):
12184  r"""__repr__(QuadConstraint self) -> std::string"""
12185  return _IMP_core.QuadConstraint___repr__(self)
12186 
12187  @staticmethod
12188  def get_from(o):
12189  return _object_cast_to_QuadConstraint(o)
12190 
12191 
12192  def _get_as_binary(self):
12193  r"""_get_as_binary(QuadConstraint self) -> PyObject *"""
12194  return _IMP_core.QuadConstraint__get_as_binary(self)
12195 
12196  def _set_from_binary(self, p):
12197  r"""_set_from_binary(QuadConstraint self, PyObject * p)"""
12198  return _IMP_core.QuadConstraint__set_from_binary(self, p)
12199 
12200  def __getstate__(self):
12201  p = self._get_as_binary()
12202  if len(self.__dict__) > 1:
12203  d = self.__dict__.copy()
12204  del d['this']
12205  p = (d, p)
12206  return p
12207 
12208  def __setstate__(self, p):
12209  if not hasattr(self, 'this'):
12210  self.__init__()
12211  if isinstance(p, tuple):
12212  d, p = p
12213  self.__dict__.update(d)
12214  return self._set_from_binary(p)
12215 
12216 
12217 # Register QuadConstraint in _IMP_core:
12218 _IMP_core.QuadConstraint_swigregister(QuadConstraint)
12219 class ConstantSingletonPredicate(IMP.SingletonPredicate):
12220  r"""Proxy of C++ IMP::core::ConstantSingletonPredicate class."""
12221 
12222  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12223 
12224  def __init__(self, *args):
12225  r"""
12226  __init__(ConstantSingletonPredicate self, int v, std::string name="ConstSingletonPredicate%1%") -> ConstantSingletonPredicate
12227  __init__(ConstantSingletonPredicate self) -> ConstantSingletonPredicate
12228  """
12229  _IMP_core.ConstantSingletonPredicate_swiginit(self, _IMP_core.new_ConstantSingletonPredicate(*args))
12230 
12231  def do_get_inputs(self, arg2, arg3):
12232  r"""do_get_inputs(ConstantSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12233  return _IMP_core.ConstantSingletonPredicate_do_get_inputs(self, arg2, arg3)
12234 
12235  def get_value(self, *args):
12236  r"""
12237  get_value(ConstantSingletonPredicate self, Particle a) -> int
12238  get_value(ConstantSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12239  """
12240  return _IMP_core.ConstantSingletonPredicate_get_value(self, *args)
12241 
12242  def get_value_index(self, *args):
12243  r"""
12244  get_value_index(ConstantSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12245  get_value_index(ConstantSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12246  """
12247  return _IMP_core.ConstantSingletonPredicate_get_value_index(self, *args)
12248 
12249  def get_version_info(self):
12250  r"""get_version_info(ConstantSingletonPredicate self) -> VersionInfo"""
12251  return _IMP_core.ConstantSingletonPredicate_get_version_info(self)
12252  __swig_destroy__ = _IMP_core.delete_ConstantSingletonPredicate
12253 
12254  def __str__(self):
12255  r"""__str__(ConstantSingletonPredicate self) -> std::string"""
12256  return _IMP_core.ConstantSingletonPredicate___str__(self)
12257 
12258  def __repr__(self):
12259  r"""__repr__(ConstantSingletonPredicate self) -> std::string"""
12260  return _IMP_core.ConstantSingletonPredicate___repr__(self)
12261 
12262  @staticmethod
12263  def get_from(o):
12264  return _object_cast_to_ConstantSingletonPredicate(o)
12265 
12266 
12267  def _get_as_binary(self):
12268  r"""_get_as_binary(ConstantSingletonPredicate self) -> PyObject *"""
12269  return _IMP_core.ConstantSingletonPredicate__get_as_binary(self)
12270 
12271  def _set_from_binary(self, p):
12272  r"""_set_from_binary(ConstantSingletonPredicate self, PyObject * p)"""
12273  return _IMP_core.ConstantSingletonPredicate__set_from_binary(self, p)
12274 
12275  def __getstate__(self):
12276  p = self._get_as_binary()
12277  if len(self.__dict__) > 1:
12278  d = self.__dict__.copy()
12279  del d['this']
12280  p = (d, p)
12281  return p
12282 
12283  def __setstate__(self, p):
12284  if not hasattr(self, 'this'):
12285  self.__init__()
12286  if isinstance(p, tuple):
12287  d, p = p
12288  self.__dict__.update(d)
12289  return self._set_from_binary(p)
12290 
12291 
12292 # Register ConstantSingletonPredicate in _IMP_core:
12293 _IMP_core.ConstantSingletonPredicate_swigregister(ConstantSingletonPredicate)
12294 class UnorderedTypeSingletonPredicate(IMP.SingletonPredicate):
12295  r"""Proxy of C++ IMP::core::UnorderedTypeSingletonPredicate class."""
12296 
12297  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12298 
12299  def __init__(self, *args):
12300  r"""__init__(UnorderedTypeSingletonPredicate self, std::string name="UnorderedTypeSingletonPredicate%1%") -> UnorderedTypeSingletonPredicate"""
12301  _IMP_core.UnorderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_UnorderedTypeSingletonPredicate(*args))
12302 
12303  def do_get_inputs(self, m, pis):
12304  r"""do_get_inputs(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12305  return _IMP_core.UnorderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12306 
12307  def get_value(self, *args):
12308  r"""
12309  get_value(UnorderedTypeSingletonPredicate self, Particle a) -> int
12310  get_value(UnorderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12311  """
12312  return _IMP_core.UnorderedTypeSingletonPredicate_get_value(self, *args)
12313 
12314  def get_value_index(self, *args):
12315  r"""
12316  get_value_index(UnorderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12317  get_value_index(UnorderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12318  """
12319  return _IMP_core.UnorderedTypeSingletonPredicate_get_value_index(self, *args)
12320 
12321  def get_version_info(self):
12322  r"""get_version_info(UnorderedTypeSingletonPredicate self) -> VersionInfo"""
12323  return _IMP_core.UnorderedTypeSingletonPredicate_get_version_info(self)
12324  __swig_destroy__ = _IMP_core.delete_UnorderedTypeSingletonPredicate
12325 
12326  def __str__(self):
12327  r"""__str__(UnorderedTypeSingletonPredicate self) -> std::string"""
12328  return _IMP_core.UnorderedTypeSingletonPredicate___str__(self)
12329 
12330  def __repr__(self):
12331  r"""__repr__(UnorderedTypeSingletonPredicate self) -> std::string"""
12332  return _IMP_core.UnorderedTypeSingletonPredicate___repr__(self)
12333 
12334  @staticmethod
12335  def get_from(o):
12336  return _object_cast_to_UnorderedTypeSingletonPredicate(o)
12337 
12338 
12339  def _get_as_binary(self):
12340  r"""_get_as_binary(UnorderedTypeSingletonPredicate self) -> PyObject *"""
12341  return _IMP_core.UnorderedTypeSingletonPredicate__get_as_binary(self)
12342 
12343  def _set_from_binary(self, p):
12344  r"""_set_from_binary(UnorderedTypeSingletonPredicate self, PyObject * p)"""
12345  return _IMP_core.UnorderedTypeSingletonPredicate__set_from_binary(self, p)
12346 
12347  def __getstate__(self):
12348  p = self._get_as_binary()
12349  if len(self.__dict__) > 1:
12350  d = self.__dict__.copy()
12351  del d['this']
12352  p = (d, p)
12353  return p
12354 
12355  def __setstate__(self, p):
12356  if not hasattr(self, 'this'):
12357  self.__init__()
12358  if isinstance(p, tuple):
12359  d, p = p
12360  self.__dict__.update(d)
12361  return self._set_from_binary(p)
12362 
12363 
12364 # Register UnorderedTypeSingletonPredicate in _IMP_core:
12365 _IMP_core.UnorderedTypeSingletonPredicate_swigregister(UnorderedTypeSingletonPredicate)
12366 class OrderedTypeSingletonPredicate(IMP.SingletonPredicate):
12367  r"""Proxy of C++ IMP::core::OrderedTypeSingletonPredicate class."""
12368 
12369  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12370 
12371  def __init__(self, *args):
12372  r"""__init__(OrderedTypeSingletonPredicate self, std::string name="OrderedTypeSingletonPredicate%1%") -> OrderedTypeSingletonPredicate"""
12373  _IMP_core.OrderedTypeSingletonPredicate_swiginit(self, _IMP_core.new_OrderedTypeSingletonPredicate(*args))
12374 
12375  def do_get_inputs(self, m, pis):
12376  r"""do_get_inputs(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12377  return _IMP_core.OrderedTypeSingletonPredicate_do_get_inputs(self, m, pis)
12378 
12379  def get_value(self, *args):
12380  r"""
12381  get_value(OrderedTypeSingletonPredicate self, IMP::core::ParticleTypes const & types) -> int
12382  get_value(OrderedTypeSingletonPredicate self, Particle a) -> int
12383  get_value(OrderedTypeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12384  """
12385  return _IMP_core.OrderedTypeSingletonPredicate_get_value(self, *args)
12386 
12387  def get_value_index(self, *args):
12388  r"""
12389  get_value_index(OrderedTypeSingletonPredicate self, Model m, ParticleIndex pi) -> int
12390  get_value_index(OrderedTypeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12391  """
12392  return _IMP_core.OrderedTypeSingletonPredicate_get_value_index(self, *args)
12393 
12394  def get_version_info(self):
12395  r"""get_version_info(OrderedTypeSingletonPredicate self) -> VersionInfo"""
12396  return _IMP_core.OrderedTypeSingletonPredicate_get_version_info(self)
12397  __swig_destroy__ = _IMP_core.delete_OrderedTypeSingletonPredicate
12398 
12399  def __str__(self):
12400  r"""__str__(OrderedTypeSingletonPredicate self) -> std::string"""
12401  return _IMP_core.OrderedTypeSingletonPredicate___str__(self)
12402 
12403  def __repr__(self):
12404  r"""__repr__(OrderedTypeSingletonPredicate self) -> std::string"""
12405  return _IMP_core.OrderedTypeSingletonPredicate___repr__(self)
12406 
12407  @staticmethod
12408  def get_from(o):
12409  return _object_cast_to_OrderedTypeSingletonPredicate(o)
12410 
12411 
12412 # Register OrderedTypeSingletonPredicate in _IMP_core:
12413 _IMP_core.OrderedTypeSingletonPredicate_swigregister(OrderedTypeSingletonPredicate)
12414 class AllSameSingletonPredicate(IMP.SingletonPredicate):
12415  r"""Proxy of C++ IMP::core::AllSameSingletonPredicate class."""
12416 
12417  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12418 
12419  def __init__(self, *args):
12420  r"""__init__(AllSameSingletonPredicate self, std::string name="AllSameSingletonPredicate%1%") -> AllSameSingletonPredicate"""
12421  _IMP_core.AllSameSingletonPredicate_swiginit(self, _IMP_core.new_AllSameSingletonPredicate(*args))
12422 
12423  def do_get_inputs(self, arg2, arg3):
12424  r"""do_get_inputs(AllSameSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12425  return _IMP_core.AllSameSingletonPredicate_do_get_inputs(self, arg2, arg3)
12426 
12427  def get_value(self, *args):
12428  r"""
12429  get_value(AllSameSingletonPredicate self, Particle a) -> int
12430  get_value(AllSameSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12431  """
12432  return _IMP_core.AllSameSingletonPredicate_get_value(self, *args)
12433 
12434  def get_value_index(self, *args):
12435  r"""
12436  get_value_index(AllSameSingletonPredicate self, Model m, ParticleIndex pi) -> int
12437  get_value_index(AllSameSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12438  """
12439  return _IMP_core.AllSameSingletonPredicate_get_value_index(self, *args)
12440 
12441  def get_version_info(self):
12442  r"""get_version_info(AllSameSingletonPredicate self) -> VersionInfo"""
12443  return _IMP_core.AllSameSingletonPredicate_get_version_info(self)
12444  __swig_destroy__ = _IMP_core.delete_AllSameSingletonPredicate
12445 
12446  def __str__(self):
12447  r"""__str__(AllSameSingletonPredicate self) -> std::string"""
12448  return _IMP_core.AllSameSingletonPredicate___str__(self)
12449 
12450  def __repr__(self):
12451  r"""__repr__(AllSameSingletonPredicate self) -> std::string"""
12452  return _IMP_core.AllSameSingletonPredicate___repr__(self)
12453 
12454  @staticmethod
12455  def get_from(o):
12456  return _object_cast_to_AllSameSingletonPredicate(o)
12457 
12458 
12459  def _get_as_binary(self):
12460  r"""_get_as_binary(AllSameSingletonPredicate self) -> PyObject *"""
12461  return _IMP_core.AllSameSingletonPredicate__get_as_binary(self)
12462 
12463  def _set_from_binary(self, p):
12464  r"""_set_from_binary(AllSameSingletonPredicate self, PyObject * p)"""
12465  return _IMP_core.AllSameSingletonPredicate__set_from_binary(self, p)
12466 
12467  def __getstate__(self):
12468  p = self._get_as_binary()
12469  if len(self.__dict__) > 1:
12470  d = self.__dict__.copy()
12471  del d['this']
12472  p = (d, p)
12473  return p
12474 
12475  def __setstate__(self, p):
12476  if not hasattr(self, 'this'):
12477  self.__init__()
12478  if isinstance(p, tuple):
12479  d, p = p
12480  self.__dict__.update(d)
12481  return self._set_from_binary(p)
12482 
12483 
12484 # Register AllSameSingletonPredicate in _IMP_core:
12485 _IMP_core.AllSameSingletonPredicate_swigregister(AllSameSingletonPredicate)
12486 class CoinFlipSingletonPredicate(IMP.SingletonPredicate):
12487  r"""Proxy of C++ IMP::core::CoinFlipSingletonPredicate class."""
12488 
12489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12490 
12491  def __init__(self, *args):
12492  r"""__init__(CoinFlipSingletonPredicate self, double p, std::string name="CoinFlipSingletonPredicate%1%") -> CoinFlipSingletonPredicate"""
12493  _IMP_core.CoinFlipSingletonPredicate_swiginit(self, _IMP_core.new_CoinFlipSingletonPredicate(*args))
12494 
12495  def do_get_inputs(self, arg2, arg3):
12496  r"""do_get_inputs(CoinFlipSingletonPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12497  return _IMP_core.CoinFlipSingletonPredicate_do_get_inputs(self, arg2, arg3)
12498 
12499  def get_value(self, *args):
12500  r"""
12501  get_value(CoinFlipSingletonPredicate self, Particle a) -> int
12502  get_value(CoinFlipSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
12503  """
12504  return _IMP_core.CoinFlipSingletonPredicate_get_value(self, *args)
12505 
12506  def get_value_index(self, *args):
12507  r"""
12508  get_value_index(CoinFlipSingletonPredicate self, Model arg2, ParticleIndex arg3) -> int
12509  get_value_index(CoinFlipSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
12510  """
12511  return _IMP_core.CoinFlipSingletonPredicate_get_value_index(self, *args)
12512 
12513  def get_version_info(self):
12514  r"""get_version_info(CoinFlipSingletonPredicate self) -> VersionInfo"""
12515  return _IMP_core.CoinFlipSingletonPredicate_get_version_info(self)
12516  __swig_destroy__ = _IMP_core.delete_CoinFlipSingletonPredicate
12517 
12518  def __str__(self):
12519  r"""__str__(CoinFlipSingletonPredicate self) -> std::string"""
12520  return _IMP_core.CoinFlipSingletonPredicate___str__(self)
12521 
12522  def __repr__(self):
12523  r"""__repr__(CoinFlipSingletonPredicate self) -> std::string"""
12524  return _IMP_core.CoinFlipSingletonPredicate___repr__(self)
12525 
12526  @staticmethod
12527  def get_from(o):
12528  return _object_cast_to_CoinFlipSingletonPredicate(o)
12529 
12530 
12531 # Register CoinFlipSingletonPredicate in _IMP_core:
12532 _IMP_core.CoinFlipSingletonPredicate_swigregister(CoinFlipSingletonPredicate)
12533 class ConstantPairPredicate(IMP.PairPredicate):
12534  r"""Proxy of C++ IMP::core::ConstantPairPredicate class."""
12535 
12536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12537 
12538  def __init__(self, *args):
12539  r"""
12540  __init__(ConstantPairPredicate self, int v, std::string name="ConstPairPredicate%1%") -> ConstantPairPredicate
12541  __init__(ConstantPairPredicate self) -> ConstantPairPredicate
12542  """
12543  _IMP_core.ConstantPairPredicate_swiginit(self, _IMP_core.new_ConstantPairPredicate(*args))
12544 
12545  def do_get_inputs(self, arg2, arg3):
12546  r"""do_get_inputs(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12547  return _IMP_core.ConstantPairPredicate_do_get_inputs(self, arg2, arg3)
12548 
12549  def get_value(self, *args):
12550  r"""
12551  get_value(ConstantPairPredicate self, IMP::ParticlePair const & a) -> int
12552  get_value(ConstantPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12553  """
12554  return _IMP_core.ConstantPairPredicate_get_value(self, *args)
12555 
12556  def get_value_index(self, *args):
12557  r"""
12558  get_value_index(ConstantPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12559  get_value_index(ConstantPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12560  """
12561  return _IMP_core.ConstantPairPredicate_get_value_index(self, *args)
12562 
12563  def get_version_info(self):
12564  r"""get_version_info(ConstantPairPredicate self) -> VersionInfo"""
12565  return _IMP_core.ConstantPairPredicate_get_version_info(self)
12566  __swig_destroy__ = _IMP_core.delete_ConstantPairPredicate
12567 
12568  def __str__(self):
12569  r"""__str__(ConstantPairPredicate self) -> std::string"""
12570  return _IMP_core.ConstantPairPredicate___str__(self)
12571 
12572  def __repr__(self):
12573  r"""__repr__(ConstantPairPredicate self) -> std::string"""
12574  return _IMP_core.ConstantPairPredicate___repr__(self)
12575 
12576  @staticmethod
12577  def get_from(o):
12578  return _object_cast_to_ConstantPairPredicate(o)
12579 
12580 
12581  def _get_as_binary(self):
12582  r"""_get_as_binary(ConstantPairPredicate self) -> PyObject *"""
12583  return _IMP_core.ConstantPairPredicate__get_as_binary(self)
12584 
12585  def _set_from_binary(self, p):
12586  r"""_set_from_binary(ConstantPairPredicate self, PyObject * p)"""
12587  return _IMP_core.ConstantPairPredicate__set_from_binary(self, p)
12588 
12589  def __getstate__(self):
12590  p = self._get_as_binary()
12591  if len(self.__dict__) > 1:
12592  d = self.__dict__.copy()
12593  del d['this']
12594  p = (d, p)
12595  return p
12596 
12597  def __setstate__(self, p):
12598  if not hasattr(self, 'this'):
12599  self.__init__()
12600  if isinstance(p, tuple):
12601  d, p = p
12602  self.__dict__.update(d)
12603  return self._set_from_binary(p)
12604 
12605 
12606 # Register ConstantPairPredicate in _IMP_core:
12607 _IMP_core.ConstantPairPredicate_swigregister(ConstantPairPredicate)
12608 class UnorderedTypePairPredicate(IMP.PairPredicate):
12609  r"""Proxy of C++ IMP::core::UnorderedTypePairPredicate class."""
12610 
12611  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12612 
12613  def __init__(self, *args):
12614  r"""__init__(UnorderedTypePairPredicate self, std::string name="UnorderedTypePairPredicate%1%") -> UnorderedTypePairPredicate"""
12615  _IMP_core.UnorderedTypePairPredicate_swiginit(self, _IMP_core.new_UnorderedTypePairPredicate(*args))
12616 
12617  def do_get_inputs(self, m, pis):
12618  r"""do_get_inputs(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12619  return _IMP_core.UnorderedTypePairPredicate_do_get_inputs(self, m, pis)
12620 
12621  def get_value(self, *args):
12622  r"""
12623  get_value(UnorderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12624  get_value(UnorderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12625  """
12626  return _IMP_core.UnorderedTypePairPredicate_get_value(self, *args)
12627 
12628  def get_value_index(self, *args):
12629  r"""
12630  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12631  get_value_index(UnorderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12632  """
12633  return _IMP_core.UnorderedTypePairPredicate_get_value_index(self, *args)
12634 
12635  def get_version_info(self):
12636  r"""get_version_info(UnorderedTypePairPredicate self) -> VersionInfo"""
12637  return _IMP_core.UnorderedTypePairPredicate_get_version_info(self)
12638  __swig_destroy__ = _IMP_core.delete_UnorderedTypePairPredicate
12639 
12640  def __str__(self):
12641  r"""__str__(UnorderedTypePairPredicate self) -> std::string"""
12642  return _IMP_core.UnorderedTypePairPredicate___str__(self)
12643 
12644  def __repr__(self):
12645  r"""__repr__(UnorderedTypePairPredicate self) -> std::string"""
12646  return _IMP_core.UnorderedTypePairPredicate___repr__(self)
12647 
12648  @staticmethod
12649  def get_from(o):
12650  return _object_cast_to_UnorderedTypePairPredicate(o)
12651 
12652 
12653  def _get_as_binary(self):
12654  r"""_get_as_binary(UnorderedTypePairPredicate self) -> PyObject *"""
12655  return _IMP_core.UnorderedTypePairPredicate__get_as_binary(self)
12656 
12657  def _set_from_binary(self, p):
12658  r"""_set_from_binary(UnorderedTypePairPredicate self, PyObject * p)"""
12659  return _IMP_core.UnorderedTypePairPredicate__set_from_binary(self, p)
12660 
12661  def __getstate__(self):
12662  p = self._get_as_binary()
12663  if len(self.__dict__) > 1:
12664  d = self.__dict__.copy()
12665  del d['this']
12666  p = (d, p)
12667  return p
12668 
12669  def __setstate__(self, p):
12670  if not hasattr(self, 'this'):
12671  self.__init__()
12672  if isinstance(p, tuple):
12673  d, p = p
12674  self.__dict__.update(d)
12675  return self._set_from_binary(p)
12676 
12677 
12678 # Register UnorderedTypePairPredicate in _IMP_core:
12679 _IMP_core.UnorderedTypePairPredicate_swigregister(UnorderedTypePairPredicate)
12680 class OrderedTypePairPredicate(IMP.PairPredicate):
12681  r"""Proxy of C++ IMP::core::OrderedTypePairPredicate class."""
12682 
12683  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12684 
12685  def __init__(self, *args):
12686  r"""__init__(OrderedTypePairPredicate self, std::string name="OrderedTypePairPredicate%1%") -> OrderedTypePairPredicate"""
12687  _IMP_core.OrderedTypePairPredicate_swiginit(self, _IMP_core.new_OrderedTypePairPredicate(*args))
12688 
12689  def do_get_inputs(self, m, pis):
12690  r"""do_get_inputs(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12691  return _IMP_core.OrderedTypePairPredicate_do_get_inputs(self, m, pis)
12692 
12693  def get_value(self, *args):
12694  r"""
12695  get_value(OrderedTypePairPredicate self, IMP::core::ParticleTypes const & types) -> int
12696  get_value(OrderedTypePairPredicate self, IMP::ParticlePair const & a) -> int
12697  get_value(OrderedTypePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12698  """
12699  return _IMP_core.OrderedTypePairPredicate_get_value(self, *args)
12700 
12701  def get_value_index(self, *args):
12702  r"""
12703  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12704  get_value_index(OrderedTypePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12705  """
12706  return _IMP_core.OrderedTypePairPredicate_get_value_index(self, *args)
12707 
12708  def get_version_info(self):
12709  r"""get_version_info(OrderedTypePairPredicate self) -> VersionInfo"""
12710  return _IMP_core.OrderedTypePairPredicate_get_version_info(self)
12711  __swig_destroy__ = _IMP_core.delete_OrderedTypePairPredicate
12712 
12713  def __str__(self):
12714  r"""__str__(OrderedTypePairPredicate self) -> std::string"""
12715  return _IMP_core.OrderedTypePairPredicate___str__(self)
12716 
12717  def __repr__(self):
12718  r"""__repr__(OrderedTypePairPredicate self) -> std::string"""
12719  return _IMP_core.OrderedTypePairPredicate___repr__(self)
12720 
12721  @staticmethod
12722  def get_from(o):
12723  return _object_cast_to_OrderedTypePairPredicate(o)
12724 
12725 
12726 # Register OrderedTypePairPredicate in _IMP_core:
12727 _IMP_core.OrderedTypePairPredicate_swigregister(OrderedTypePairPredicate)
12728 class AllSamePairPredicate(IMP.PairPredicate):
12729  r"""Proxy of C++ IMP::core::AllSamePairPredicate class."""
12730 
12731  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12732 
12733  def __init__(self, *args):
12734  r"""__init__(AllSamePairPredicate self, std::string name="AllSamePairPredicate%1%") -> AllSamePairPredicate"""
12735  _IMP_core.AllSamePairPredicate_swiginit(self, _IMP_core.new_AllSamePairPredicate(*args))
12736 
12737  def do_get_inputs(self, arg2, arg3):
12738  r"""do_get_inputs(AllSamePairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12739  return _IMP_core.AllSamePairPredicate_do_get_inputs(self, arg2, arg3)
12740 
12741  def get_value(self, *args):
12742  r"""
12743  get_value(AllSamePairPredicate self, IMP::ParticlePair const & a) -> int
12744  get_value(AllSamePairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12745  """
12746  return _IMP_core.AllSamePairPredicate_get_value(self, *args)
12747 
12748  def get_value_index(self, *args):
12749  r"""
12750  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
12751  get_value_index(AllSamePairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12752  """
12753  return _IMP_core.AllSamePairPredicate_get_value_index(self, *args)
12754 
12755  def get_version_info(self):
12756  r"""get_version_info(AllSamePairPredicate self) -> VersionInfo"""
12757  return _IMP_core.AllSamePairPredicate_get_version_info(self)
12758  __swig_destroy__ = _IMP_core.delete_AllSamePairPredicate
12759 
12760  def __str__(self):
12761  r"""__str__(AllSamePairPredicate self) -> std::string"""
12762  return _IMP_core.AllSamePairPredicate___str__(self)
12763 
12764  def __repr__(self):
12765  r"""__repr__(AllSamePairPredicate self) -> std::string"""
12766  return _IMP_core.AllSamePairPredicate___repr__(self)
12767 
12768  @staticmethod
12769  def get_from(o):
12770  return _object_cast_to_AllSamePairPredicate(o)
12771 
12772 
12773  def _get_as_binary(self):
12774  r"""_get_as_binary(AllSamePairPredicate self) -> PyObject *"""
12775  return _IMP_core.AllSamePairPredicate__get_as_binary(self)
12776 
12777  def _set_from_binary(self, p):
12778  r"""_set_from_binary(AllSamePairPredicate self, PyObject * p)"""
12779  return _IMP_core.AllSamePairPredicate__set_from_binary(self, p)
12780 
12781  def __getstate__(self):
12782  p = self._get_as_binary()
12783  if len(self.__dict__) > 1:
12784  d = self.__dict__.copy()
12785  del d['this']
12786  p = (d, p)
12787  return p
12788 
12789  def __setstate__(self, p):
12790  if not hasattr(self, 'this'):
12791  self.__init__()
12792  if isinstance(p, tuple):
12793  d, p = p
12794  self.__dict__.update(d)
12795  return self._set_from_binary(p)
12796 
12797 
12798 # Register AllSamePairPredicate in _IMP_core:
12799 _IMP_core.AllSamePairPredicate_swigregister(AllSamePairPredicate)
12800 class CoinFlipPairPredicate(IMP.PairPredicate):
12801  r"""Proxy of C++ IMP::core::CoinFlipPairPredicate class."""
12802 
12803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12804 
12805  def __init__(self, *args):
12806  r"""__init__(CoinFlipPairPredicate self, double p, std::string name="CoinFlipPairPredicate%1%") -> CoinFlipPairPredicate"""
12807  _IMP_core.CoinFlipPairPredicate_swiginit(self, _IMP_core.new_CoinFlipPairPredicate(*args))
12808 
12809  def do_get_inputs(self, arg2, arg3):
12810  r"""do_get_inputs(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12811  return _IMP_core.CoinFlipPairPredicate_do_get_inputs(self, arg2, arg3)
12812 
12813  def get_value(self, *args):
12814  r"""
12815  get_value(CoinFlipPairPredicate self, IMP::ParticlePair const & a) -> int
12816  get_value(CoinFlipPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12817  """
12818  return _IMP_core.CoinFlipPairPredicate_get_value(self, *args)
12819 
12820  def get_value_index(self, *args):
12821  r"""
12822  get_value_index(CoinFlipPairPredicate self, Model arg2, IMP::ParticleIndexPair const & arg3) -> int
12823  get_value_index(CoinFlipPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12824  """
12825  return _IMP_core.CoinFlipPairPredicate_get_value_index(self, *args)
12826 
12827  def get_version_info(self):
12828  r"""get_version_info(CoinFlipPairPredicate self) -> VersionInfo"""
12829  return _IMP_core.CoinFlipPairPredicate_get_version_info(self)
12830  __swig_destroy__ = _IMP_core.delete_CoinFlipPairPredicate
12831 
12832  def __str__(self):
12833  r"""__str__(CoinFlipPairPredicate self) -> std::string"""
12834  return _IMP_core.CoinFlipPairPredicate___str__(self)
12835 
12836  def __repr__(self):
12837  r"""__repr__(CoinFlipPairPredicate self) -> std::string"""
12838  return _IMP_core.CoinFlipPairPredicate___repr__(self)
12839 
12840  @staticmethod
12841  def get_from(o):
12842  return _object_cast_to_CoinFlipPairPredicate(o)
12843 
12844 
12845 # Register CoinFlipPairPredicate in _IMP_core:
12846 _IMP_core.CoinFlipPairPredicate_swigregister(CoinFlipPairPredicate)
12847 class ConstantTripletPredicate(IMP.TripletPredicate):
12848  r"""Proxy of C++ IMP::core::ConstantTripletPredicate class."""
12849 
12850  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12851 
12852  def __init__(self, *args):
12853  r"""
12854  __init__(ConstantTripletPredicate self, int v, std::string name="ConstTripletPredicate%1%") -> ConstantTripletPredicate
12855  __init__(ConstantTripletPredicate self) -> ConstantTripletPredicate
12856  """
12857  _IMP_core.ConstantTripletPredicate_swiginit(self, _IMP_core.new_ConstantTripletPredicate(*args))
12858 
12859  def do_get_inputs(self, arg2, arg3):
12860  r"""do_get_inputs(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
12861  return _IMP_core.ConstantTripletPredicate_do_get_inputs(self, arg2, arg3)
12862 
12863  def get_value(self, *args):
12864  r"""
12865  get_value(ConstantTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12866  get_value(ConstantTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12867  """
12868  return _IMP_core.ConstantTripletPredicate_get_value(self, *args)
12869 
12870  def get_value_index(self, *args):
12871  r"""
12872  get_value_index(ConstantTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
12873  get_value_index(ConstantTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12874  """
12875  return _IMP_core.ConstantTripletPredicate_get_value_index(self, *args)
12876 
12877  def get_version_info(self):
12878  r"""get_version_info(ConstantTripletPredicate self) -> VersionInfo"""
12879  return _IMP_core.ConstantTripletPredicate_get_version_info(self)
12880  __swig_destroy__ = _IMP_core.delete_ConstantTripletPredicate
12881 
12882  def __str__(self):
12883  r"""__str__(ConstantTripletPredicate self) -> std::string"""
12884  return _IMP_core.ConstantTripletPredicate___str__(self)
12885 
12886  def __repr__(self):
12887  r"""__repr__(ConstantTripletPredicate self) -> std::string"""
12888  return _IMP_core.ConstantTripletPredicate___repr__(self)
12889 
12890  @staticmethod
12891  def get_from(o):
12892  return _object_cast_to_ConstantTripletPredicate(o)
12893 
12894 
12895  def _get_as_binary(self):
12896  r"""_get_as_binary(ConstantTripletPredicate self) -> PyObject *"""
12897  return _IMP_core.ConstantTripletPredicate__get_as_binary(self)
12898 
12899  def _set_from_binary(self, p):
12900  r"""_set_from_binary(ConstantTripletPredicate self, PyObject * p)"""
12901  return _IMP_core.ConstantTripletPredicate__set_from_binary(self, p)
12902 
12903  def __getstate__(self):
12904  p = self._get_as_binary()
12905  if len(self.__dict__) > 1:
12906  d = self.__dict__.copy()
12907  del d['this']
12908  p = (d, p)
12909  return p
12910 
12911  def __setstate__(self, p):
12912  if not hasattr(self, 'this'):
12913  self.__init__()
12914  if isinstance(p, tuple):
12915  d, p = p
12916  self.__dict__.update(d)
12917  return self._set_from_binary(p)
12918 
12919 
12920 # Register ConstantTripletPredicate in _IMP_core:
12921 _IMP_core.ConstantTripletPredicate_swigregister(ConstantTripletPredicate)
12922 class UnorderedTypeTripletPredicate(IMP.TripletPredicate):
12923  r"""Proxy of C++ IMP::core::UnorderedTypeTripletPredicate class."""
12924 
12925  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12926 
12927  def __init__(self, *args):
12928  r"""__init__(UnorderedTypeTripletPredicate self, std::string name="UnorderedTypeTripletPredicate%1%") -> UnorderedTypeTripletPredicate"""
12929  _IMP_core.UnorderedTypeTripletPredicate_swiginit(self, _IMP_core.new_UnorderedTypeTripletPredicate(*args))
12930 
12931  def do_get_inputs(self, m, pis):
12932  r"""do_get_inputs(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12933  return _IMP_core.UnorderedTypeTripletPredicate_do_get_inputs(self, m, pis)
12934 
12935  def get_value(self, *args):
12936  r"""
12937  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
12938  get_value(UnorderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
12939  """
12940  return _IMP_core.UnorderedTypeTripletPredicate_get_value(self, *args)
12941 
12942  def get_value_index(self, *args):
12943  r"""
12944  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
12945  get_value_index(UnorderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
12946  """
12947  return _IMP_core.UnorderedTypeTripletPredicate_get_value_index(self, *args)
12948 
12949  def get_version_info(self):
12950  r"""get_version_info(UnorderedTypeTripletPredicate self) -> VersionInfo"""
12951  return _IMP_core.UnorderedTypeTripletPredicate_get_version_info(self)
12952  __swig_destroy__ = _IMP_core.delete_UnorderedTypeTripletPredicate
12953 
12954  def __str__(self):
12955  r"""__str__(UnorderedTypeTripletPredicate self) -> std::string"""
12956  return _IMP_core.UnorderedTypeTripletPredicate___str__(self)
12957 
12958  def __repr__(self):
12959  r"""__repr__(UnorderedTypeTripletPredicate self) -> std::string"""
12960  return _IMP_core.UnorderedTypeTripletPredicate___repr__(self)
12961 
12962  @staticmethod
12963  def get_from(o):
12964  return _object_cast_to_UnorderedTypeTripletPredicate(o)
12965 
12966 
12967  def _get_as_binary(self):
12968  r"""_get_as_binary(UnorderedTypeTripletPredicate self) -> PyObject *"""
12969  return _IMP_core.UnorderedTypeTripletPredicate__get_as_binary(self)
12970 
12971  def _set_from_binary(self, p):
12972  r"""_set_from_binary(UnorderedTypeTripletPredicate self, PyObject * p)"""
12973  return _IMP_core.UnorderedTypeTripletPredicate__set_from_binary(self, p)
12974 
12975  def __getstate__(self):
12976  p = self._get_as_binary()
12977  if len(self.__dict__) > 1:
12978  d = self.__dict__.copy()
12979  del d['this']
12980  p = (d, p)
12981  return p
12982 
12983  def __setstate__(self, p):
12984  if not hasattr(self, 'this'):
12985  self.__init__()
12986  if isinstance(p, tuple):
12987  d, p = p
12988  self.__dict__.update(d)
12989  return self._set_from_binary(p)
12990 
12991 
12992 # Register UnorderedTypeTripletPredicate in _IMP_core:
12993 _IMP_core.UnorderedTypeTripletPredicate_swigregister(UnorderedTypeTripletPredicate)
12994 class OrderedTypeTripletPredicate(IMP.TripletPredicate):
12995  r"""Proxy of C++ IMP::core::OrderedTypeTripletPredicate class."""
12996 
12997  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12998 
12999  def __init__(self, *args):
13000  r"""__init__(OrderedTypeTripletPredicate self, std::string name="OrderedTypeTripletPredicate%1%") -> OrderedTypeTripletPredicate"""
13001  _IMP_core.OrderedTypeTripletPredicate_swiginit(self, _IMP_core.new_OrderedTypeTripletPredicate(*args))
13002 
13003  def do_get_inputs(self, m, pis):
13004  r"""do_get_inputs(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13005  return _IMP_core.OrderedTypeTripletPredicate_do_get_inputs(self, m, pis)
13006 
13007  def get_value(self, *args):
13008  r"""
13009  get_value(OrderedTypeTripletPredicate self, IMP::core::ParticleTypes const & types) -> int
13010  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTriplet const & a) -> int
13011  get_value(OrderedTypeTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
13012  """
13013  return _IMP_core.OrderedTypeTripletPredicate_get_value(self, *args)
13014 
13015  def get_value_index(self, *args):
13016  r"""
13017  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
13018  get_value_index(OrderedTypeTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
13019  """
13020  return _IMP_core.OrderedTypeTripletPredicate_get_value_index(self, *args)
13021 
13022  def get_version_info(self):
13023  r"""get_version_info(OrderedTypeTripletPredicate self) -> VersionInfo"""
13024  return _IMP_core.OrderedTypeTripletPredicate_get_version_info(self)
13025  __swig_destroy__ = _IMP_core.delete_OrderedTypeTripletPredicate
13026 
13027  def __str__(self):
13028  r"""__str__(OrderedTypeTripletPredicate self) -> std::string"""
13029  return _IMP_core.OrderedTypeTripletPredicate___str__(self)
13030 
13031  def __repr__(self):
13032  r"""__repr__(OrderedTypeTripletPredicate self) -> std::string"""
13033  return _IMP_core.OrderedTypeTripletPredicate___repr__(self)
13034 
13035  @staticmethod
13036  def get_from(o):
13037  return _object_cast_to_OrderedTypeTripletPredicate(o)
13038 
13039 
13040 # Register OrderedTypeTripletPredicate in _IMP_core:
13041 _IMP_core.OrderedTypeTripletPredicate_swigregister(OrderedTypeTripletPredicate)
13042 class AllSameTripletPredicate(IMP.TripletPredicate):
13043  r"""Proxy of C++ IMP::core::AllSameTripletPredicate class."""
13044 
13045  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13046 
13047  def __init__(self, *args):
13048  r"""__init__(AllSameTripletPredicate self, std::string name="AllSameTripletPredicate%1%") -> AllSameTripletPredicate"""
13049  _IMP_core.AllSameTripletPredicate_swiginit(self, _IMP_core.new_AllSameTripletPredicate(*args))
13050 
13051  def do_get_inputs(self, arg2, arg3):
13052  r"""do_get_inputs(AllSameTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13053  return _IMP_core.AllSameTripletPredicate_do_get_inputs(self, arg2, arg3)
13054 
13055  def get_value(self, *args):
13056  r"""
13057  get_value(AllSameTripletPredicate self, IMP::ParticleTriplet const & a) -> int
13058  get_value(AllSameTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
13059  """
13060  return _IMP_core.AllSameTripletPredicate_get_value(self, *args)
13061 
13062  def get_value_index(self, *args):
13063  r"""
13064  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplet const & pi) -> int
13065  get_value_index(AllSameTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
13066  """
13067  return _IMP_core.AllSameTripletPredicate_get_value_index(self, *args)
13068 
13069  def get_version_info(self):
13070  r"""get_version_info(AllSameTripletPredicate self) -> VersionInfo"""
13071  return _IMP_core.AllSameTripletPredicate_get_version_info(self)
13072  __swig_destroy__ = _IMP_core.delete_AllSameTripletPredicate
13073 
13074  def __str__(self):
13075  r"""__str__(AllSameTripletPredicate self) -> std::string"""
13076  return _IMP_core.AllSameTripletPredicate___str__(self)
13077 
13078  def __repr__(self):
13079  r"""__repr__(AllSameTripletPredicate self) -> std::string"""
13080  return _IMP_core.AllSameTripletPredicate___repr__(self)
13081 
13082  @staticmethod
13083  def get_from(o):
13084  return _object_cast_to_AllSameTripletPredicate(o)
13085 
13086 
13087  def _get_as_binary(self):
13088  r"""_get_as_binary(AllSameTripletPredicate self) -> PyObject *"""
13089  return _IMP_core.AllSameTripletPredicate__get_as_binary(self)
13090 
13091  def _set_from_binary(self, p):
13092  r"""_set_from_binary(AllSameTripletPredicate self, PyObject * p)"""
13093  return _IMP_core.AllSameTripletPredicate__set_from_binary(self, p)
13094 
13095  def __getstate__(self):
13096  p = self._get_as_binary()
13097  if len(self.__dict__) > 1:
13098  d = self.__dict__.copy()
13099  del d['this']
13100  p = (d, p)
13101  return p
13102 
13103  def __setstate__(self, p):
13104  if not hasattr(self, 'this'):
13105  self.__init__()
13106  if isinstance(p, tuple):
13107  d, p = p
13108  self.__dict__.update(d)
13109  return self._set_from_binary(p)
13110 
13111 
13112 # Register AllSameTripletPredicate in _IMP_core:
13113 _IMP_core.AllSameTripletPredicate_swigregister(AllSameTripletPredicate)
13114 class CoinFlipTripletPredicate(IMP.TripletPredicate):
13115  r"""Proxy of C++ IMP::core::CoinFlipTripletPredicate class."""
13116 
13117  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13118 
13119  def __init__(self, *args):
13120  r"""__init__(CoinFlipTripletPredicate self, double p, std::string name="CoinFlipTripletPredicate%1%") -> CoinFlipTripletPredicate"""
13121  _IMP_core.CoinFlipTripletPredicate_swiginit(self, _IMP_core.new_CoinFlipTripletPredicate(*args))
13122 
13123  def do_get_inputs(self, arg2, arg3):
13124  r"""do_get_inputs(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13125  return _IMP_core.CoinFlipTripletPredicate_do_get_inputs(self, arg2, arg3)
13126 
13127  def get_value(self, *args):
13128  r"""
13129  get_value(CoinFlipTripletPredicate self, IMP::ParticleTriplet const & a) -> int
13130  get_value(CoinFlipTripletPredicate self, IMP::ParticleTripletsTemp const & o) -> IMP::Ints
13131  """
13132  return _IMP_core.CoinFlipTripletPredicate_get_value(self, *args)
13133 
13134  def get_value_index(self, *args):
13135  r"""
13136  get_value_index(CoinFlipTripletPredicate self, Model arg2, IMP::ParticleIndexTriplet const & arg3) -> int
13137  get_value_index(CoinFlipTripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
13138  """
13139  return _IMP_core.CoinFlipTripletPredicate_get_value_index(self, *args)
13140 
13141  def get_version_info(self):
13142  r"""get_version_info(CoinFlipTripletPredicate self) -> VersionInfo"""
13143  return _IMP_core.CoinFlipTripletPredicate_get_version_info(self)
13144  __swig_destroy__ = _IMP_core.delete_CoinFlipTripletPredicate
13145 
13146  def __str__(self):
13147  r"""__str__(CoinFlipTripletPredicate self) -> std::string"""
13148  return _IMP_core.CoinFlipTripletPredicate___str__(self)
13149 
13150  def __repr__(self):
13151  r"""__repr__(CoinFlipTripletPredicate self) -> std::string"""
13152  return _IMP_core.CoinFlipTripletPredicate___repr__(self)
13153 
13154  @staticmethod
13155  def get_from(o):
13156  return _object_cast_to_CoinFlipTripletPredicate(o)
13157 
13158 
13159 # Register CoinFlipTripletPredicate in _IMP_core:
13160 _IMP_core.CoinFlipTripletPredicate_swigregister(CoinFlipTripletPredicate)
13161 class ConstantQuadPredicate(IMP.QuadPredicate):
13162  r"""Proxy of C++ IMP::core::ConstantQuadPredicate class."""
13163 
13164  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13165 
13166  def __init__(self, *args):
13167  r"""
13168  __init__(ConstantQuadPredicate self, int v, std::string name="ConstQuadPredicate%1%") -> ConstantQuadPredicate
13169  __init__(ConstantQuadPredicate self) -> ConstantQuadPredicate
13170  """
13171  _IMP_core.ConstantQuadPredicate_swiginit(self, _IMP_core.new_ConstantQuadPredicate(*args))
13172 
13173  def do_get_inputs(self, arg2, arg3):
13174  r"""do_get_inputs(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13175  return _IMP_core.ConstantQuadPredicate_do_get_inputs(self, arg2, arg3)
13176 
13177  def get_value(self, *args):
13178  r"""
13179  get_value(ConstantQuadPredicate self, IMP::ParticleQuad const & a) -> int
13180  get_value(ConstantQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13181  """
13182  return _IMP_core.ConstantQuadPredicate_get_value(self, *args)
13183 
13184  def get_value_index(self, *args):
13185  r"""
13186  get_value_index(ConstantQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13187  get_value_index(ConstantQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13188  """
13189  return _IMP_core.ConstantQuadPredicate_get_value_index(self, *args)
13190 
13191  def get_version_info(self):
13192  r"""get_version_info(ConstantQuadPredicate self) -> VersionInfo"""
13193  return _IMP_core.ConstantQuadPredicate_get_version_info(self)
13194  __swig_destroy__ = _IMP_core.delete_ConstantQuadPredicate
13195 
13196  def __str__(self):
13197  r"""__str__(ConstantQuadPredicate self) -> std::string"""
13198  return _IMP_core.ConstantQuadPredicate___str__(self)
13199 
13200  def __repr__(self):
13201  r"""__repr__(ConstantQuadPredicate self) -> std::string"""
13202  return _IMP_core.ConstantQuadPredicate___repr__(self)
13203 
13204  @staticmethod
13205  def get_from(o):
13206  return _object_cast_to_ConstantQuadPredicate(o)
13207 
13208 
13209  def _get_as_binary(self):
13210  r"""_get_as_binary(ConstantQuadPredicate self) -> PyObject *"""
13211  return _IMP_core.ConstantQuadPredicate__get_as_binary(self)
13212 
13213  def _set_from_binary(self, p):
13214  r"""_set_from_binary(ConstantQuadPredicate self, PyObject * p)"""
13215  return _IMP_core.ConstantQuadPredicate__set_from_binary(self, p)
13216 
13217  def __getstate__(self):
13218  p = self._get_as_binary()
13219  if len(self.__dict__) > 1:
13220  d = self.__dict__.copy()
13221  del d['this']
13222  p = (d, p)
13223  return p
13224 
13225  def __setstate__(self, p):
13226  if not hasattr(self, 'this'):
13227  self.__init__()
13228  if isinstance(p, tuple):
13229  d, p = p
13230  self.__dict__.update(d)
13231  return self._set_from_binary(p)
13232 
13233 
13234 # Register ConstantQuadPredicate in _IMP_core:
13235 _IMP_core.ConstantQuadPredicate_swigregister(ConstantQuadPredicate)
13236 class UnorderedTypeQuadPredicate(IMP.QuadPredicate):
13237  r"""Proxy of C++ IMP::core::UnorderedTypeQuadPredicate class."""
13238 
13239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13240 
13241  def __init__(self, *args):
13242  r"""__init__(UnorderedTypeQuadPredicate self, std::string name="UnorderedTypeQuadPredicate%1%") -> UnorderedTypeQuadPredicate"""
13243  _IMP_core.UnorderedTypeQuadPredicate_swiginit(self, _IMP_core.new_UnorderedTypeQuadPredicate(*args))
13244 
13245  def do_get_inputs(self, m, pis):
13246  r"""do_get_inputs(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13247  return _IMP_core.UnorderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13248 
13249  def get_value(self, *args):
13250  r"""
13251  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13252  get_value(UnorderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13253  """
13254  return _IMP_core.UnorderedTypeQuadPredicate_get_value(self, *args)
13255 
13256  def get_value_index(self, *args):
13257  r"""
13258  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13259  get_value_index(UnorderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13260  """
13261  return _IMP_core.UnorderedTypeQuadPredicate_get_value_index(self, *args)
13262 
13263  def get_version_info(self):
13264  r"""get_version_info(UnorderedTypeQuadPredicate self) -> VersionInfo"""
13265  return _IMP_core.UnorderedTypeQuadPredicate_get_version_info(self)
13266  __swig_destroy__ = _IMP_core.delete_UnorderedTypeQuadPredicate
13267 
13268  def __str__(self):
13269  r"""__str__(UnorderedTypeQuadPredicate self) -> std::string"""
13270  return _IMP_core.UnorderedTypeQuadPredicate___str__(self)
13271 
13272  def __repr__(self):
13273  r"""__repr__(UnorderedTypeQuadPredicate self) -> std::string"""
13274  return _IMP_core.UnorderedTypeQuadPredicate___repr__(self)
13275 
13276  @staticmethod
13277  def get_from(o):
13278  return _object_cast_to_UnorderedTypeQuadPredicate(o)
13279 
13280 
13281  def _get_as_binary(self):
13282  r"""_get_as_binary(UnorderedTypeQuadPredicate self) -> PyObject *"""
13283  return _IMP_core.UnorderedTypeQuadPredicate__get_as_binary(self)
13284 
13285  def _set_from_binary(self, p):
13286  r"""_set_from_binary(UnorderedTypeQuadPredicate self, PyObject * p)"""
13287  return _IMP_core.UnorderedTypeQuadPredicate__set_from_binary(self, p)
13288 
13289  def __getstate__(self):
13290  p = self._get_as_binary()
13291  if len(self.__dict__) > 1:
13292  d = self.__dict__.copy()
13293  del d['this']
13294  p = (d, p)
13295  return p
13296 
13297  def __setstate__(self, p):
13298  if not hasattr(self, 'this'):
13299  self.__init__()
13300  if isinstance(p, tuple):
13301  d, p = p
13302  self.__dict__.update(d)
13303  return self._set_from_binary(p)
13304 
13305 
13306 # Register UnorderedTypeQuadPredicate in _IMP_core:
13307 _IMP_core.UnorderedTypeQuadPredicate_swigregister(UnorderedTypeQuadPredicate)
13308 class OrderedTypeQuadPredicate(IMP.QuadPredicate):
13309  r"""Proxy of C++ IMP::core::OrderedTypeQuadPredicate class."""
13310 
13311  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13312 
13313  def __init__(self, *args):
13314  r"""__init__(OrderedTypeQuadPredicate self, std::string name="OrderedTypeQuadPredicate%1%") -> OrderedTypeQuadPredicate"""
13315  _IMP_core.OrderedTypeQuadPredicate_swiginit(self, _IMP_core.new_OrderedTypeQuadPredicate(*args))
13316 
13317  def do_get_inputs(self, m, pis):
13318  r"""do_get_inputs(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13319  return _IMP_core.OrderedTypeQuadPredicate_do_get_inputs(self, m, pis)
13320 
13321  def get_value(self, *args):
13322  r"""
13323  get_value(OrderedTypeQuadPredicate self, IMP::core::ParticleTypes const & types) -> int
13324  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuad const & a) -> int
13325  get_value(OrderedTypeQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13326  """
13327  return _IMP_core.OrderedTypeQuadPredicate_get_value(self, *args)
13328 
13329  def get_value_index(self, *args):
13330  r"""
13331  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13332  get_value_index(OrderedTypeQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13333  """
13334  return _IMP_core.OrderedTypeQuadPredicate_get_value_index(self, *args)
13335 
13336  def get_version_info(self):
13337  r"""get_version_info(OrderedTypeQuadPredicate self) -> VersionInfo"""
13338  return _IMP_core.OrderedTypeQuadPredicate_get_version_info(self)
13339  __swig_destroy__ = _IMP_core.delete_OrderedTypeQuadPredicate
13340 
13341  def __str__(self):
13342  r"""__str__(OrderedTypeQuadPredicate self) -> std::string"""
13343  return _IMP_core.OrderedTypeQuadPredicate___str__(self)
13344 
13345  def __repr__(self):
13346  r"""__repr__(OrderedTypeQuadPredicate self) -> std::string"""
13347  return _IMP_core.OrderedTypeQuadPredicate___repr__(self)
13348 
13349  @staticmethod
13350  def get_from(o):
13351  return _object_cast_to_OrderedTypeQuadPredicate(o)
13352 
13353 
13354 # Register OrderedTypeQuadPredicate in _IMP_core:
13355 _IMP_core.OrderedTypeQuadPredicate_swigregister(OrderedTypeQuadPredicate)
13356 class AllSameQuadPredicate(IMP.QuadPredicate):
13357  r"""Proxy of C++ IMP::core::AllSameQuadPredicate class."""
13358 
13359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13360 
13361  def __init__(self, *args):
13362  r"""__init__(AllSameQuadPredicate self, std::string name="AllSameQuadPredicate%1%") -> AllSameQuadPredicate"""
13363  _IMP_core.AllSameQuadPredicate_swiginit(self, _IMP_core.new_AllSameQuadPredicate(*args))
13364 
13365  def do_get_inputs(self, arg2, arg3):
13366  r"""do_get_inputs(AllSameQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13367  return _IMP_core.AllSameQuadPredicate_do_get_inputs(self, arg2, arg3)
13368 
13369  def get_value(self, *args):
13370  r"""
13371  get_value(AllSameQuadPredicate self, IMP::ParticleQuad const & a) -> int
13372  get_value(AllSameQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13373  """
13374  return _IMP_core.AllSameQuadPredicate_get_value(self, *args)
13375 
13376  def get_value_index(self, *args):
13377  r"""
13378  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuad const & pi) -> int
13379  get_value_index(AllSameQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13380  """
13381  return _IMP_core.AllSameQuadPredicate_get_value_index(self, *args)
13382 
13383  def get_version_info(self):
13384  r"""get_version_info(AllSameQuadPredicate self) -> VersionInfo"""
13385  return _IMP_core.AllSameQuadPredicate_get_version_info(self)
13386  __swig_destroy__ = _IMP_core.delete_AllSameQuadPredicate
13387 
13388  def __str__(self):
13389  r"""__str__(AllSameQuadPredicate self) -> std::string"""
13390  return _IMP_core.AllSameQuadPredicate___str__(self)
13391 
13392  def __repr__(self):
13393  r"""__repr__(AllSameQuadPredicate self) -> std::string"""
13394  return _IMP_core.AllSameQuadPredicate___repr__(self)
13395 
13396  @staticmethod
13397  def get_from(o):
13398  return _object_cast_to_AllSameQuadPredicate(o)
13399 
13400 
13401  def _get_as_binary(self):
13402  r"""_get_as_binary(AllSameQuadPredicate self) -> PyObject *"""
13403  return _IMP_core.AllSameQuadPredicate__get_as_binary(self)
13404 
13405  def _set_from_binary(self, p):
13406  r"""_set_from_binary(AllSameQuadPredicate self, PyObject * p)"""
13407  return _IMP_core.AllSameQuadPredicate__set_from_binary(self, p)
13408 
13409  def __getstate__(self):
13410  p = self._get_as_binary()
13411  if len(self.__dict__) > 1:
13412  d = self.__dict__.copy()
13413  del d['this']
13414  p = (d, p)
13415  return p
13416 
13417  def __setstate__(self, p):
13418  if not hasattr(self, 'this'):
13419  self.__init__()
13420  if isinstance(p, tuple):
13421  d, p = p
13422  self.__dict__.update(d)
13423  return self._set_from_binary(p)
13424 
13425 
13426 # Register AllSameQuadPredicate in _IMP_core:
13427 _IMP_core.AllSameQuadPredicate_swigregister(AllSameQuadPredicate)
13428 class CoinFlipQuadPredicate(IMP.QuadPredicate):
13429  r"""Proxy of C++ IMP::core::CoinFlipQuadPredicate class."""
13430 
13431  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13432 
13433  def __init__(self, *args):
13434  r"""__init__(CoinFlipQuadPredicate self, double p, std::string name="CoinFlipQuadPredicate%1%") -> CoinFlipQuadPredicate"""
13435  _IMP_core.CoinFlipQuadPredicate_swiginit(self, _IMP_core.new_CoinFlipQuadPredicate(*args))
13436 
13437  def do_get_inputs(self, arg2, arg3):
13438  r"""do_get_inputs(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
13439  return _IMP_core.CoinFlipQuadPredicate_do_get_inputs(self, arg2, arg3)
13440 
13441  def get_value(self, *args):
13442  r"""
13443  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuad const & a) -> int
13444  get_value(CoinFlipQuadPredicate self, IMP::ParticleQuadsTemp const & o) -> IMP::Ints
13445  """
13446  return _IMP_core.CoinFlipQuadPredicate_get_value(self, *args)
13447 
13448  def get_value_index(self, *args):
13449  r"""
13450  get_value_index(CoinFlipQuadPredicate self, Model arg2, IMP::ParticleIndexQuad const & arg3) -> int
13451  get_value_index(CoinFlipQuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
13452  """
13453  return _IMP_core.CoinFlipQuadPredicate_get_value_index(self, *args)
13454 
13455  def get_version_info(self):
13456  r"""get_version_info(CoinFlipQuadPredicate self) -> VersionInfo"""
13457  return _IMP_core.CoinFlipQuadPredicate_get_version_info(self)
13458  __swig_destroy__ = _IMP_core.delete_CoinFlipQuadPredicate
13459 
13460  def __str__(self):
13461  r"""__str__(CoinFlipQuadPredicate self) -> std::string"""
13462  return _IMP_core.CoinFlipQuadPredicate___str__(self)
13463 
13464  def __repr__(self):
13465  r"""__repr__(CoinFlipQuadPredicate self) -> std::string"""
13466  return _IMP_core.CoinFlipQuadPredicate___repr__(self)
13467 
13468  @staticmethod
13469  def get_from(o):
13470  return _object_cast_to_CoinFlipQuadPredicate(o)
13471 
13472 
13473 # Register CoinFlipQuadPredicate in _IMP_core:
13474 _IMP_core.CoinFlipQuadPredicate_swigregister(CoinFlipQuadPredicate)
13475 class InBoundingBox3DSingletonPredicate(IMP.SingletonPredicate):
13476  r"""Proxy of C++ IMP::core::InBoundingBox3DSingletonPredicate class."""
13477 
13478  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13479 
13480  def __init__(self, *args):
13481  r"""__init__(InBoundingBox3DSingletonPredicate self, BoundingBox3D bb, std::string name="InBoundingBox3DSingletonPredicate%1%") -> InBoundingBox3DSingletonPredicate"""
13482  _IMP_core.InBoundingBox3DSingletonPredicate_swiginit(self, _IMP_core.new_InBoundingBox3DSingletonPredicate(*args))
13483 
13484  def do_get_inputs(self, m, pi):
13485  r"""do_get_inputs(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13486  return _IMP_core.InBoundingBox3DSingletonPredicate_do_get_inputs(self, m, pi)
13487 
13488  def get_value(self, *args):
13489  r"""
13490  get_value(InBoundingBox3DSingletonPredicate self, Particle a) -> int
13491  get_value(InBoundingBox3DSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13492  """
13493  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value(self, *args)
13494 
13495  def get_value_index(self, *args):
13496  r"""
13497  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, ParticleIndex pi) -> int
13498  get_value_index(InBoundingBox3DSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13499  """
13500  return _IMP_core.InBoundingBox3DSingletonPredicate_get_value_index(self, *args)
13501 
13502  def get_version_info(self):
13503  r"""get_version_info(InBoundingBox3DSingletonPredicate self) -> VersionInfo"""
13504  return _IMP_core.InBoundingBox3DSingletonPredicate_get_version_info(self)
13505  __swig_destroy__ = _IMP_core.delete_InBoundingBox3DSingletonPredicate
13506 
13507  def __str__(self):
13508  r"""__str__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13509  return _IMP_core.InBoundingBox3DSingletonPredicate___str__(self)
13510 
13511  def __repr__(self):
13512  r"""__repr__(InBoundingBox3DSingletonPredicate self) -> std::string"""
13513  return _IMP_core.InBoundingBox3DSingletonPredicate___repr__(self)
13514 
13515  @staticmethod
13516  def get_from(o):
13517  return _object_cast_to_InBoundingBox3DSingletonPredicate(o)
13518 
13519 
13520 # Register InBoundingBox3DSingletonPredicate in _IMP_core:
13521 _IMP_core.InBoundingBox3DSingletonPredicate_swigregister(InBoundingBox3DSingletonPredicate)
13522 class AttributeSingletonPredicate(IMP.SingletonPredicate):
13523  r"""Proxy of C++ IMP::core::AttributeSingletonPredicate class."""
13524 
13525  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13526 
13527  def __init__(self, *args):
13528  r"""__init__(AttributeSingletonPredicate self, IntKey bb, std::string name="AttributeSingletonPredicate%1%") -> AttributeSingletonPredicate"""
13529  _IMP_core.AttributeSingletonPredicate_swiginit(self, _IMP_core.new_AttributeSingletonPredicate(*args))
13530 
13531  def do_get_inputs(self, m, pi):
13532  r"""do_get_inputs(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13533  return _IMP_core.AttributeSingletonPredicate_do_get_inputs(self, m, pi)
13534 
13535  def get_value(self, *args):
13536  r"""
13537  get_value(AttributeSingletonPredicate self, Particle a) -> int
13538  get_value(AttributeSingletonPredicate self, IMP::ParticlesTemp const & o) -> IMP::Ints
13539  """
13540  return _IMP_core.AttributeSingletonPredicate_get_value(self, *args)
13541 
13542  def get_value_index(self, *args):
13543  r"""
13544  get_value_index(AttributeSingletonPredicate self, Model m, ParticleIndex pi) -> int
13545  get_value_index(AttributeSingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
13546  """
13547  return _IMP_core.AttributeSingletonPredicate_get_value_index(self, *args)
13548 
13549  def get_version_info(self):
13550  r"""get_version_info(AttributeSingletonPredicate self) -> VersionInfo"""
13551  return _IMP_core.AttributeSingletonPredicate_get_version_info(self)
13552  __swig_destroy__ = _IMP_core.delete_AttributeSingletonPredicate
13553 
13554  def __str__(self):
13555  r"""__str__(AttributeSingletonPredicate self) -> std::string"""
13556  return _IMP_core.AttributeSingletonPredicate___str__(self)
13557 
13558  def __repr__(self):
13559  r"""__repr__(AttributeSingletonPredicate self) -> std::string"""
13560  return _IMP_core.AttributeSingletonPredicate___repr__(self)
13561 
13562  @staticmethod
13563  def get_from(o):
13564  return _object_cast_to_AttributeSingletonPredicate(o)
13565 
13566 
13567 # Register AttributeSingletonPredicate in _IMP_core:
13568 _IMP_core.AttributeSingletonPredicate_swigregister(AttributeSingletonPredicate)
13569 class IsCollisionPairPredicate(IMP.PairPredicate):
13570  r"""Proxy of C++ IMP::core::IsCollisionPairPredicate class."""
13571 
13572  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13573 
13574  def __init__(self, *args):
13575  r"""__init__(IsCollisionPairPredicate self, std::string name="CollisionPairPredicate%1%") -> IsCollisionPairPredicate"""
13576  _IMP_core.IsCollisionPairPredicate_swiginit(self, _IMP_core.new_IsCollisionPairPredicate(*args))
13577 
13578  def do_get_inputs(self, m, pi):
13579  r"""do_get_inputs(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexes const & pi) -> IMP::ModelObjectsTemp"""
13580  return _IMP_core.IsCollisionPairPredicate_do_get_inputs(self, m, pi)
13581 
13582  def get_value(self, *args):
13583  r"""
13584  get_value(IsCollisionPairPredicate self, IMP::ParticlePair const & a) -> int
13585  get_value(IsCollisionPairPredicate self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
13586  """
13587  return _IMP_core.IsCollisionPairPredicate_get_value(self, *args)
13588 
13589  def get_value_index(self, *args):
13590  r"""
13591  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPair const & pi) -> int
13592  get_value_index(IsCollisionPairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
13593  """
13594  return _IMP_core.IsCollisionPairPredicate_get_value_index(self, *args)
13595 
13596  def get_version_info(self):
13597  r"""get_version_info(IsCollisionPairPredicate self) -> VersionInfo"""
13598  return _IMP_core.IsCollisionPairPredicate_get_version_info(self)
13599  __swig_destroy__ = _IMP_core.delete_IsCollisionPairPredicate
13600 
13601  def __str__(self):
13602  r"""__str__(IsCollisionPairPredicate self) -> std::string"""
13603  return _IMP_core.IsCollisionPairPredicate___str__(self)
13604 
13605  def __repr__(self):
13606  r"""__repr__(IsCollisionPairPredicate self) -> std::string"""
13607  return _IMP_core.IsCollisionPairPredicate___repr__(self)
13608 
13609  @staticmethod
13610  def get_from(o):
13611  return _object_cast_to_IsCollisionPairPredicate(o)
13612 
13613 
13614 # Register IsCollisionPairPredicate in _IMP_core:
13615 _IMP_core.IsCollisionPairPredicate_swigregister(IsCollisionPairPredicate)
13616 class AngleRestraint(TripletRestraint):
13617  r"""Proxy of C++ IMP::core::AngleRestraint class."""
13618 
13619  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13620 
13621  def __init__(self, *args):
13622  r"""
13623  __init__(AngleRestraint self, Model m, UnaryFunction score_func, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3) -> AngleRestraint
13624  __init__(AngleRestraint self) -> AngleRestraint
13625  """
13626  _IMP_core.AngleRestraint_swiginit(self, _IMP_core.new_AngleRestraint(*args))
13627  __swig_destroy__ = _IMP_core.delete_AngleRestraint
13628 
13629  def __str__(self):
13630  r"""__str__(AngleRestraint self) -> std::string"""
13631  return _IMP_core.AngleRestraint___str__(self)
13632 
13633  def __repr__(self):
13634  r"""__repr__(AngleRestraint self) -> std::string"""
13635  return _IMP_core.AngleRestraint___repr__(self)
13636 
13637  @staticmethod
13638  def get_from(o):
13639  return _object_cast_to_AngleRestraint(o)
13640 
13641 
13642  def _get_as_binary(self):
13643  r"""_get_as_binary(AngleRestraint self) -> PyObject *"""
13644  return _IMP_core.AngleRestraint__get_as_binary(self)
13645 
13646  def _set_from_binary(self, p):
13647  r"""_set_from_binary(AngleRestraint self, PyObject * p)"""
13648  return _IMP_core.AngleRestraint__set_from_binary(self, p)
13649 
13650  def __getstate__(self):
13651  p = self._get_as_binary()
13652  if len(self.__dict__) > 1:
13653  d = self.__dict__.copy()
13654  del d['this']
13655  p = (d, p)
13656  return p
13657 
13658  def __setstate__(self, p):
13659  if not hasattr(self, 'this'):
13660  self.__init__()
13661  if isinstance(p, tuple):
13662  d, p = p
13663  self.__dict__.update(d)
13664  return self._set_from_binary(p)
13665 
13666 
13667 # Register AngleRestraint in _IMP_core:
13668 _IMP_core.AngleRestraint_swigregister(AngleRestraint)
13669 class RigidBodyMover(MonteCarloMover):
13670  r"""Proxy of C++ IMP::core::RigidBodyMover class."""
13671 
13672  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13673 
13674  def __init__(self, *args):
13675  r"""
13676  __init__(RigidBodyMover self, Model m, ParticleIndex pi, IMP::Float max_translation, IMP::Float max_rotation) -> RigidBodyMover
13677  __init__(RigidBodyMover self) -> RigidBodyMover
13678  """
13679  _IMP_core.RigidBodyMover_swiginit(self, _IMP_core.new_RigidBodyMover(*args))
13680 
13681  def set_maximum_translation(self, mt):
13682  r"""set_maximum_translation(RigidBodyMover self, IMP::Float mt)"""
13683  return _IMP_core.RigidBodyMover_set_maximum_translation(self, mt)
13684 
13685  def set_maximum_rotation(self, mr):
13686  r"""set_maximum_rotation(RigidBodyMover self, IMP::Float mr)"""
13687  return _IMP_core.RigidBodyMover_set_maximum_rotation(self, mr)
13688 
13689  def get_maximum_translation(self):
13690  r"""get_maximum_translation(RigidBodyMover self) -> IMP::Float"""
13691  return _IMP_core.RigidBodyMover_get_maximum_translation(self)
13692 
13693  def get_maximum_rotation(self):
13694  r"""get_maximum_rotation(RigidBodyMover self) -> IMP::Float"""
13695  return _IMP_core.RigidBodyMover_get_maximum_rotation(self)
13696 
13697  def get_index(self):
13698  r"""get_index(RigidBodyMover self) -> ParticleIndex"""
13699  return _IMP_core.RigidBodyMover_get_index(self)
13700 
13701  def get_version_info(self):
13702  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
13703  return _IMP_core.RigidBodyMover_get_version_info(self)
13704  __swig_destroy__ = _IMP_core.delete_RigidBodyMover
13705 
13706  def __str__(self):
13707  r"""__str__(RigidBodyMover self) -> std::string"""
13708  return _IMP_core.RigidBodyMover___str__(self)
13709 
13710  def __repr__(self):
13711  r"""__repr__(RigidBodyMover self) -> std::string"""
13712  return _IMP_core.RigidBodyMover___repr__(self)
13713 
13714  @staticmethod
13715  def get_from(o):
13716  return _object_cast_to_RigidBodyMover(o)
13717 
13718 
13719  def _get_as_binary(self):
13720  r"""_get_as_binary(RigidBodyMover self) -> PyObject *"""
13721  return _IMP_core.RigidBodyMover__get_as_binary(self)
13722 
13723  def _set_from_binary(self, p):
13724  r"""_set_from_binary(RigidBodyMover self, PyObject * p)"""
13725  return _IMP_core.RigidBodyMover__set_from_binary(self, p)
13726 
13727  def __getstate__(self):
13728  p = self._get_as_binary()
13729  if len(self.__dict__) > 1:
13730  d = self.__dict__.copy()
13731  del d['this']
13732  p = (d, p)
13733  return p
13734 
13735  def __setstate__(self, p):
13736  if not hasattr(self, 'this'):
13737  self.__init__()
13738  if isinstance(p, tuple):
13739  d, p = p
13740  self.__dict__.update(d)
13741  return self._set_from_binary(p)
13742 
13743 
13744  def _get_jax(self, space):
13745  import jax.random
13746  import IMP.core._jax_rigid
13747  from IMP.algebra._jax_util import (get_random_vector_on_3d_sphere,
13748  get_random_vector_in_3d_sphere,
13749  get_rotation_about_normalized_axis,
13750  _quaternion_multiply)
13751  max_angle = self.get_maximum_rotation()
13752  max_translation = self.get_maximum_translation()
13753  particle_index = self.get_index()
13754  body_index = IMP.core._jax_rigid._get_rigid_body_index(
13755  self.get_model(), self.get_index())
13756 
13757  def init_func(key):
13758  return key
13759 
13760  def propose_func(jm, key):
13761  body = jm['rigid_bodies'].bodies[body_index]
13762  tf = body.get_transformation(jm)
13763 
13764  if max_translation > 0:
13765  key, subkey = jax.random.split(key)
13766  tf.translation = space.shift(
13767  tf.translation,
13768  get_random_vector_in_3d_sphere(subkey, max_translation)[0])
13769  if max_angle > 0:
13770  key, subkey1, subkey2 = jax.random.split(key, 3)
13771  axis_norm = get_random_vector_on_3d_sphere(subkey1, 1.0)[0]
13772  angle = jax.random.uniform(
13773  subkey2, minval=-max_angle, maxval=max_angle)
13774  rotation = get_rotation_about_normalized_axis(axis_norm, angle)
13775  tf.rotation = _quaternion_multiply(rotation, tf.rotation)
13776  jm = body.set_transformation_lazy(tf, jm)
13777  return jm, key, 1.0
13778 
13779  return self._wrap_jax(init_func, propose_func, keys=['rigid_bodies'])
13780 
13781 
13782 # Register RigidBodyMover in _IMP_core:
13783 _IMP_core.RigidBodyMover_swigregister(RigidBodyMover)
13784 class RigidBodyTunneler(MonteCarloMover):
13785  r"""Proxy of C++ IMP::core::RigidBodyTunneler class."""
13786 
13787  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13788 
13789  def __init__(self, m, pis, ref, k, move_probability=1.):
13790  r"""__init__(RigidBodyTunneler self, Model m, IMP::ParticleIndexes pis, ParticleIndex ref, double k, double move_probability=1.) -> RigidBodyTunneler"""
13791  _IMP_core.RigidBodyTunneler_swiginit(self, _IMP_core.new_RigidBodyTunneler(m, pis, ref, k, move_probability))
13792 
13793  def add_entry_point(self, fl):
13794  r"""add_entry_point(RigidBodyTunneler self, IMP::Floats fl)"""
13795  return _IMP_core.RigidBodyTunneler_add_entry_point(self, fl)
13796 
13797  def reset_stats(self):
13798  r"""reset_stats(RigidBodyTunneler self)"""
13799  return _IMP_core.RigidBodyTunneler_reset_stats(self)
13800 
13801  def get_number_of_rejected_moves(self):
13802  r"""get_number_of_rejected_moves(RigidBodyTunneler self) -> unsigned int"""
13803  return _IMP_core.RigidBodyTunneler_get_number_of_rejected_moves(self)
13804 
13805  def get_number_of_proposed_moves(self):
13806  r"""get_number_of_proposed_moves(RigidBodyTunneler self) -> unsigned int"""
13807  return _IMP_core.RigidBodyTunneler_get_number_of_proposed_moves(self)
13808 
13809  def get_number_of_impossible_moves(self):
13810  r"""get_number_of_impossible_moves(RigidBodyTunneler self) -> unsigned int"""
13811  return _IMP_core.RigidBodyTunneler_get_number_of_impossible_moves(self)
13812 
13813  def get_number_of_calls(self):
13814  r"""get_number_of_calls(RigidBodyTunneler self) -> unsigned int"""
13815  return _IMP_core.RigidBodyTunneler_get_number_of_calls(self)
13816 
13817  @staticmethod
13818  def get_reduced_coordinates(*args):
13819  r"""
13820  get_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref) -> IMP::Floats
13821  get_reduced_coordinates(Model m, ParticleIndex pi) -> IMP::Floats
13822  """
13823  return _IMP_core.RigidBodyTunneler_get_reduced_coordinates(*args)
13824 
13825  @staticmethod
13826  def set_reduced_coordinates(m, target, ref, coords):
13827  r"""set_reduced_coordinates(Model m, ParticleIndex target, ParticleIndex ref, IMP::Floats coords)"""
13828  return _IMP_core.RigidBodyTunneler_set_reduced_coordinates(m, target, ref, coords)
13829 
13830  def get_version_info(self):
13831  r"""get_version_info(RigidBodyTunneler self) -> VersionInfo"""
13832  return _IMP_core.RigidBodyTunneler_get_version_info(self)
13833  __swig_destroy__ = _IMP_core.delete_RigidBodyTunneler
13834 
13835  def __str__(self):
13836  r"""__str__(RigidBodyTunneler self) -> std::string"""
13837  return _IMP_core.RigidBodyTunneler___str__(self)
13838 
13839  def __repr__(self):
13840  r"""__repr__(RigidBodyTunneler self) -> std::string"""
13841  return _IMP_core.RigidBodyTunneler___repr__(self)
13842 
13843  @staticmethod
13844  def get_from(o):
13845  return _object_cast_to_RigidBodyTunneler(o)
13846 
13847 
13848 # Register RigidBodyTunneler in _IMP_core:
13849 _IMP_core.RigidBodyTunneler_swigregister(RigidBodyTunneler)
13850 class RigidBodyUmbrella(IMP.Restraint):
13851  r"""Proxy of C++ IMP::core::RigidBodyUmbrella class."""
13852 
13853  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13854 
13855  def __init__(self, *args):
13856  r"""
13857  __init__(RigidBodyUmbrella self, Model m, ParticleIndex pi, ParticleIndex ref, IMP::Floats x0, double alpha, double k, std::string name="RigidBodyUmbrella %1%") -> RigidBodyUmbrella
13858  __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
13859  """
13860  _IMP_core.RigidBodyUmbrella_swiginit(self, _IMP_core.new_RigidBodyUmbrella(*args))
13861 
13862  def set_x0(self, *args):
13863  r"""
13864  set_x0(RigidBodyUmbrella self, IMP::Floats x0)
13865  set_x0(RigidBodyUmbrella self, double _lambda, IMP::Floats x1, IMP::Floats x2)
13866  """
13867  return _IMP_core.RigidBodyUmbrella_set_x0(self, *args)
13868 
13869  def get_x0(self):
13870  r"""get_x0(RigidBodyUmbrella self) -> IMP::Floats"""
13871  return _IMP_core.RigidBodyUmbrella_get_x0(self)
13872 
13873  def get_x(self):
13874  r"""get_x(RigidBodyUmbrella self) -> IMP::Floats"""
13875  return _IMP_core.RigidBodyUmbrella_get_x(self)
13876 
13877  def set_alpha(self, alpha):
13878  r"""set_alpha(RigidBodyUmbrella self, double alpha)"""
13879  return _IMP_core.RigidBodyUmbrella_set_alpha(self, alpha)
13880 
13881  def set_k(self, k):
13882  r"""set_k(RigidBodyUmbrella self, double k)"""
13883  return _IMP_core.RigidBodyUmbrella_set_k(self, k)
13884 
13885  def get_version_info(self):
13886  r"""get_version_info(RigidBodyUmbrella self) -> VersionInfo"""
13887  return _IMP_core.RigidBodyUmbrella_get_version_info(self)
13888  __swig_destroy__ = _IMP_core.delete_RigidBodyUmbrella
13889 
13890  def __str__(self):
13891  r"""__str__(RigidBodyUmbrella self) -> std::string"""
13892  return _IMP_core.RigidBodyUmbrella___str__(self)
13893 
13894  def __repr__(self):
13895  r"""__repr__(RigidBodyUmbrella self) -> std::string"""
13896  return _IMP_core.RigidBodyUmbrella___repr__(self)
13897 
13898  @staticmethod
13899  def get_from(o):
13900  return _object_cast_to_RigidBodyUmbrella(o)
13901 
13902 
13903 # Register RigidBodyUmbrella in _IMP_core:
13904 _IMP_core.RigidBodyUmbrella_swigregister(RigidBodyUmbrella)
13905 class VolumeRestraint(IMP.Restraint):
13906  r"""Proxy of C++ IMP::core::VolumeRestraint class."""
13907 
13908  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13909 
13910  def __init__(self, f, sc, volume):
13911  r"""__init__(VolumeRestraint self, UnaryFunction f, SingletonContainer sc, double volume) -> VolumeRestraint"""
13912  _IMP_core.VolumeRestraint_swiginit(self, _IMP_core.new_VolumeRestraint(f, sc, volume))
13913 
13914  def do_get_inputs(self):
13915  r"""do_get_inputs(VolumeRestraint self) -> IMP::ModelObjectsTemp"""
13916  return _IMP_core.VolumeRestraint_do_get_inputs(self)
13917 
13918  def get_version_info(self):
13919  r"""get_version_info(VolumeRestraint self) -> VersionInfo"""
13920  return _IMP_core.VolumeRestraint_get_version_info(self)
13921  __swig_destroy__ = _IMP_core.delete_VolumeRestraint
13922 
13923  def __str__(self):
13924  r"""__str__(VolumeRestraint self) -> std::string"""
13925  return _IMP_core.VolumeRestraint___str__(self)
13926 
13927  def __repr__(self):
13928  r"""__repr__(VolumeRestraint self) -> std::string"""
13929  return _IMP_core.VolumeRestraint___repr__(self)
13930 
13931  @staticmethod
13932  def get_from(o):
13933  return _object_cast_to_VolumeRestraint(o)
13934 
13935 
13936 # Register VolumeRestraint in _IMP_core:
13937 _IMP_core.VolumeRestraint_swigregister(VolumeRestraint)
13938 
13939 def get_centroid(ps):
13940  r"""get_centroid(IMP::core::XYZs const & ps) -> Vector3D"""
13941  return _IMP_core.get_centroid(ps)
13942 
13943 def get_bounding_box(ps):
13944  r"""get_bounding_box(IMP::core::XYZRs const & ps) -> BoundingBox3D"""
13945  return _IMP_core.get_bounding_box(ps)
13946 class MoveStatisticsScoreState(IMP.ScoreState):
13947  r"""Proxy of C++ IMP::core::MoveStatisticsScoreState class."""
13948 
13949  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13950 
13951  def __init__(self, ps):
13952  r"""__init__(MoveStatisticsScoreState self, IMP::ParticlesTemp const & ps) -> MoveStatisticsScoreState"""
13953  _IMP_core.MoveStatisticsScoreState_swiginit(self, _IMP_core.new_MoveStatisticsScoreState(ps))
13954 
13955  def show_statistics(self, *args):
13956  r"""show_statistics(MoveStatisticsScoreState self, _ostream out=std::cout)"""
13957  return _IMP_core.MoveStatisticsScoreState_show_statistics(self, *args)
13958 
13959  def reset(self):
13960  r"""reset(MoveStatisticsScoreState self)"""
13961  return _IMP_core.MoveStatisticsScoreState_reset(self)
13962 
13963  def do_before_evaluate(self):
13964  r"""do_before_evaluate(MoveStatisticsScoreState self)"""
13965  return _IMP_core.MoveStatisticsScoreState_do_before_evaluate(self)
13966 
13967  def do_after_evaluate(self, da):
13968  r"""do_after_evaluate(MoveStatisticsScoreState self, DerivativeAccumulator da)"""
13969  return _IMP_core.MoveStatisticsScoreState_do_after_evaluate(self, da)
13970 
13971  def do_get_inputs(self):
13972  r"""do_get_inputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13973  return _IMP_core.MoveStatisticsScoreState_do_get_inputs(self)
13974 
13975  def do_get_outputs(self):
13976  r"""do_get_outputs(MoveStatisticsScoreState self) -> IMP::ModelObjectsTemp"""
13977  return _IMP_core.MoveStatisticsScoreState_do_get_outputs(self)
13978 
13979  def get_version_info(self):
13980  r"""get_version_info(MoveStatisticsScoreState self) -> VersionInfo"""
13981  return _IMP_core.MoveStatisticsScoreState_get_version_info(self)
13982  __swig_destroy__ = _IMP_core.delete_MoveStatisticsScoreState
13983 
13984  def __str__(self):
13985  r"""__str__(MoveStatisticsScoreState self) -> std::string"""
13986  return _IMP_core.MoveStatisticsScoreState___str__(self)
13987 
13988  def __repr__(self):
13989  r"""__repr__(MoveStatisticsScoreState self) -> std::string"""
13990  return _IMP_core.MoveStatisticsScoreState___repr__(self)
13991 
13992  @staticmethod
13993  def get_from(o):
13994  return _object_cast_to_MoveStatisticsScoreState(o)
13995 
13996 
13997 # Register MoveStatisticsScoreState in _IMP_core:
13998 _IMP_core.MoveStatisticsScoreState_swigregister(MoveStatisticsScoreState)
13999 IMP_PARTICLE_TYPE_INDEX = _IMP_core.IMP_PARTICLE_TYPE_INDEX
14000 
14001 class Typed(IMP.Decorator):
14002  r"""Proxy of C++ IMP::core::Typed class."""
14003 
14004  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14005 
14006  @staticmethod
14007  def get_type_key():
14008  r"""get_type_key() -> IntKey"""
14009  return _IMP_core.Typed_get_type_key()
14010 
14011  def __init__(self, *args):
14012  r"""
14013  __init__(Typed self) -> Typed
14014  __init__(Typed self, Model m, ParticleIndex id) -> Typed
14015  __init__(Typed self, _ParticleAdaptor d) -> Typed
14016  """
14017  _IMP_core.Typed_swiginit(self, _IMP_core.new_Typed(*args))
14018 
14019  def show(self, *args):
14020  r"""show(Typed self, _ostream out=std::cout)"""
14021  return _IMP_core.Typed_show(self, *args)
14022 
14023  @staticmethod
14024  def setup_particle(*args):
14025  r"""
14026  setup_particle(Model m, ParticleIndex pi, ParticleType t) -> Typed
14027  setup_particle(_ParticleAdaptor pa, ParticleType t) -> Typed
14028  """
14029  return _IMP_core.Typed_setup_particle(*args)
14030 
14031  @staticmethod
14032  def get_is_setup(*args):
14033  r"""
14034  get_is_setup(_ParticleAdaptor p) -> bool
14035  get_is_setup(Model m, ParticleIndex pi) -> bool
14036  """
14037  return _IMP_core.Typed_get_is_setup(*args)
14038 
14039  def get_type(self):
14040  r"""get_type(Typed self) -> ParticleType"""
14041  return _IMP_core.Typed_get_type(self)
14042 
14043  def set_type(self, pt):
14044  r"""set_type(Typed self, ParticleType pt)"""
14045  return _IMP_core.Typed_set_type(self, pt)
14046 
14047  def add_attribute(self, *args):
14048  r"""
14049  add_attribute(Typed self, FloatKey k, IMP::Float v, bool opt)
14050  add_attribute(Typed self, FloatKey a0, IMP::Float a1)
14051  add_attribute(Typed self, IntKey a0, IMP::Int a1)
14052  add_attribute(Typed self, FloatsKey a0, IMP::Floats a1)
14053  add_attribute(Typed self, IntsKey a0, IMP::Ints a1)
14054  add_attribute(Typed self, StringKey a0, IMP::String a1)
14055  add_attribute(Typed self, ParticleIndexKey a0, Particle a1)
14056  add_attribute(Typed self, ObjectKey a0, Object a1)
14057  add_attribute(Typed self, SparseFloatKey a0, IMP::Float a1)
14058  add_attribute(Typed self, SparseIntKey a0, IMP::Int a1)
14059  add_attribute(Typed self, SparseStringKey a0, IMP::String a1)
14060  add_attribute(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
14061  """
14062  return _IMP_core.Typed_add_attribute(self, *args)
14063 
14064  def get_value(self, *args):
14065  r"""
14066  get_value(Typed self, FloatKey a0) -> IMP::Float
14067  get_value(Typed self, IntKey a0) -> IMP::Int
14068  get_value(Typed self, FloatsKey a0) -> IMP::Floats
14069  get_value(Typed self, IntsKey a0) -> IMP::Ints
14070  get_value(Typed self, StringKey a0) -> IMP::String
14071  get_value(Typed self, ParticleIndexKey a0) -> Particle
14072  get_value(Typed self, ObjectKey a0) -> Object
14073  get_value(Typed self, SparseFloatKey a0) -> IMP::Float
14074  get_value(Typed self, SparseIntKey a0) -> IMP::Int
14075  get_value(Typed self, SparseStringKey a0) -> IMP::String
14076  get_value(Typed self, SparseParticleIndexKey a0) -> ParticleIndex
14077  """
14078  return _IMP_core.Typed_get_value(self, *args)
14079 
14080  def set_value(self, *args):
14081  r"""
14082  set_value(Typed self, FloatKey a0, IMP::Float a1)
14083  set_value(Typed self, IntKey a0, IMP::Int a1)
14084  set_value(Typed self, FloatsKey a0, IMP::Floats a1)
14085  set_value(Typed self, IntsKey a0, IMP::Ints a1)
14086  set_value(Typed self, StringKey a0, IMP::String a1)
14087  set_value(Typed self, ParticleIndexKey a0, Particle a1)
14088  set_value(Typed self, ObjectKey a0, Object a1)
14089  set_value(Typed self, SparseFloatKey a0, IMP::Float a1)
14090  set_value(Typed self, SparseIntKey a0, IMP::Int a1)
14091  set_value(Typed self, SparseStringKey a0, IMP::String a1)
14092  set_value(Typed self, SparseParticleIndexKey a0, ParticleIndex a1)
14093  """
14094  return _IMP_core.Typed_set_value(self, *args)
14095 
14096  def remove_attribute(self, *args):
14097  r"""
14098  remove_attribute(Typed self, FloatKey a0)
14099  remove_attribute(Typed self, IntKey a0)
14100  remove_attribute(Typed self, FloatsKey a0)
14101  remove_attribute(Typed self, IntsKey a0)
14102  remove_attribute(Typed self, StringKey a0)
14103  remove_attribute(Typed self, ParticleIndexKey a0)
14104  remove_attribute(Typed self, ObjectKey a0)
14105  remove_attribute(Typed self, SparseFloatKey a0)
14106  remove_attribute(Typed self, SparseIntKey a0)
14107  remove_attribute(Typed self, SparseStringKey a0)
14108  remove_attribute(Typed self, SparseParticleIndexKey a0)
14109  """
14110  return _IMP_core.Typed_remove_attribute(self, *args)
14111 
14112  def has_attribute(self, *args):
14113  r"""
14114  has_attribute(Typed self, FloatKey a0) -> bool
14115  has_attribute(Typed self, IntKey a0) -> bool
14116  has_attribute(Typed self, FloatsKey a0) -> bool
14117  has_attribute(Typed self, IntsKey a0) -> bool
14118  has_attribute(Typed self, StringKey a0) -> bool
14119  has_attribute(Typed self, ParticleIndexKey a0) -> bool
14120  has_attribute(Typed self, ObjectKey a0) -> bool
14121  has_attribute(Typed self, SparseFloatKey a0) -> bool
14122  has_attribute(Typed self, SparseIntKey a0) -> bool
14123  has_attribute(Typed self, SparseStringKey a0) -> bool
14124  has_attribute(Typed self, SparseParticleIndexKey a0) -> bool
14125  """
14126  return _IMP_core.Typed_has_attribute(self, *args)
14127 
14128  def get_derivative(self, a0):
14129  r"""get_derivative(Typed self, FloatKey a0) -> double"""
14130  return _IMP_core.Typed_get_derivative(self, a0)
14131 
14132  def get_name(self):
14133  r"""get_name(Typed self) -> std::string"""
14134  return _IMP_core.Typed_get_name(self)
14135 
14136  def clear_caches(self):
14137  r"""clear_caches(Typed self)"""
14138  return _IMP_core.Typed_clear_caches(self)
14139 
14140  def set_name(self, a0):
14141  r"""set_name(Typed self, std::string a0)"""
14142  return _IMP_core.Typed_set_name(self, a0)
14143 
14144  def set_check_level(self, a0):
14145  r"""set_check_level(Typed self, IMP::CheckLevel a0)"""
14146  return _IMP_core.Typed_set_check_level(self, a0)
14147 
14148  def add_to_derivative(self, a0, a1, a2):
14149  r"""add_to_derivative(Typed self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14150  return _IMP_core.Typed_add_to_derivative(self, a0, a1, a2)
14151 
14152  def set_is_optimized(self, a0, a1):
14153  r"""set_is_optimized(Typed self, FloatKey a0, bool a1)"""
14154  return _IMP_core.Typed_set_is_optimized(self, a0, a1)
14155 
14156  def get_is_optimized(self, a0):
14157  r"""get_is_optimized(Typed self, FloatKey a0) -> bool"""
14158  return _IMP_core.Typed_get_is_optimized(self, a0)
14159 
14160  def get_check_level(self):
14161  r"""get_check_level(Typed self) -> IMP::CheckLevel"""
14162  return _IMP_core.Typed_get_check_level(self)
14163 
14164  def __eq__(self, *args):
14165  r"""
14166  __eq__(Typed self, Typed o) -> bool
14167  __eq__(Typed self, Particle d) -> bool
14168  """
14169  return _IMP_core.Typed___eq__(self, *args)
14170 
14171  def __ne__(self, *args):
14172  r"""
14173  __ne__(Typed self, Typed o) -> bool
14174  __ne__(Typed self, Particle d) -> bool
14175  """
14176  return _IMP_core.Typed___ne__(self, *args)
14177 
14178  def __le__(self, *args):
14179  r"""
14180  __le__(Typed self, Typed o) -> bool
14181  __le__(Typed self, Particle d) -> bool
14182  """
14183  return _IMP_core.Typed___le__(self, *args)
14184 
14185  def __lt__(self, *args):
14186  r"""
14187  __lt__(Typed self, Typed o) -> bool
14188  __lt__(Typed self, Particle d) -> bool
14189  """
14190  return _IMP_core.Typed___lt__(self, *args)
14191 
14192  def __ge__(self, *args):
14193  r"""
14194  __ge__(Typed self, Typed o) -> bool
14195  __ge__(Typed self, Particle d) -> bool
14196  """
14197  return _IMP_core.Typed___ge__(self, *args)
14198 
14199  def __gt__(self, *args):
14200  r"""
14201  __gt__(Typed self, Typed o) -> bool
14202  __gt__(Typed self, Particle d) -> bool
14203  """
14204  return _IMP_core.Typed___gt__(self, *args)
14205 
14206  def __hash__(self):
14207  r"""__hash__(Typed self) -> std::size_t"""
14208  return _IMP_core.Typed___hash__(self)
14209 
14210  def __str__(self):
14211  r"""__str__(Typed self) -> std::string"""
14212  return _IMP_core.Typed___str__(self)
14213 
14214  def __repr__(self):
14215  r"""__repr__(Typed self) -> std::string"""
14216  return _IMP_core.Typed___repr__(self)
14217 
14218  def _get_as_binary(self):
14219  r"""_get_as_binary(Typed self) -> PyObject *"""
14220  return _IMP_core.Typed__get_as_binary(self)
14221 
14222  def _set_from_binary(self, p):
14223  r"""_set_from_binary(Typed self, PyObject * p)"""
14224  return _IMP_core.Typed__set_from_binary(self, p)
14225 
14226  def __getstate__(self):
14227  p = self._get_as_binary()
14228  if len(self.__dict__) > 1:
14229  d = self.__dict__.copy()
14230  del d['this']
14231  p = (d, p)
14232  return p
14233 
14234  def __setstate__(self, p):
14235  if not hasattr(self, 'this'):
14236  self.__init__()
14237  if isinstance(p, tuple):
14238  d, p = p
14239  self.__dict__.update(d)
14240  return self._set_from_binary(p)
14241 
14242  __swig_destroy__ = _IMP_core.delete_Typed
14243 
14244 # Register Typed in _IMP_core:
14245 _IMP_core.Typed_swigregister(Typed)
14246 
14247 def __lshift__(*args):
14248  r"""
14249  __lshift__(_ostream out, XYZ n) -> _ostream
14250  __lshift__(_ostream out, XYZR n) -> _ostream
14251  __lshift__(_ostream out, Direction n) -> _ostream
14252  __lshift__(_ostream out, DirectionAngle n) -> _ostream
14253  __lshift__(_ostream out, Surface n) -> _ostream
14254  __lshift__(_ostream out, Centroid n) -> _ostream
14255  __lshift__(_ostream out, Cover n) -> _ostream
14256  __lshift__(_ostream out, Reference n) -> _ostream
14257  __lshift__(_ostream out, RigidMember n) -> _ostream
14258  __lshift__(_ostream out, RigidBody n) -> _ostream
14259  __lshift__(_ostream out, Gaussian n) -> _ostream
14260  __lshift__(_ostream out, Typed n) -> _ostream
14261  """
14262  return _IMP_core.__lshift__(*args)
14263 class WriteRestraintScoresOptimizerState(IMP.OptimizerState):
14264  r"""Proxy of C++ IMP::core::WriteRestraintScoresOptimizerState class."""
14265 
14266  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14267 
14268  def __init__(self, rs, out):
14269  r"""__init__(WriteRestraintScoresOptimizerState self, IMP::Restraints const & rs, TextOutput out) -> WriteRestraintScoresOptimizerState"""
14270  _IMP_core.WriteRestraintScoresOptimizerState_swiginit(self, _IMP_core.new_WriteRestraintScoresOptimizerState(rs, out))
14271 
14272  def get_version_info(self):
14273  r"""get_version_info(WriteRestraintScoresOptimizerState self) -> VersionInfo"""
14274  return _IMP_core.WriteRestraintScoresOptimizerState_get_version_info(self)
14275  __swig_destroy__ = _IMP_core.delete_WriteRestraintScoresOptimizerState
14276 
14277  def __str__(self):
14278  r"""__str__(WriteRestraintScoresOptimizerState self) -> std::string"""
14279  return _IMP_core.WriteRestraintScoresOptimizerState___str__(self)
14280 
14281  def __repr__(self):
14282  r"""__repr__(WriteRestraintScoresOptimizerState self) -> std::string"""
14283  return _IMP_core.WriteRestraintScoresOptimizerState___repr__(self)
14284 
14285  @staticmethod
14286  def get_from(o):
14287  return _object_cast_to_WriteRestraintScoresOptimizerState(o)
14288 
14289 
14290 # Register WriteRestraintScoresOptimizerState in _IMP_core:
14291 _IMP_core.WriteRestraintScoresOptimizerState_swigregister(WriteRestraintScoresOptimizerState)
14292 
14293 def assign_blame(rs, ps, attribute):
14294  r"""assign_blame(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, FloatKey attribute)"""
14295  return _IMP_core.assign_blame(rs, ps, attribute)
14296 
14297 def create_blame_geometries(*args):
14298  r"""create_blame_geometries(IMP::RestraintsTemp const & rs, IMP::ParticlesTemp const & ps, double max=NO_MAX, std::string name=std::string()) -> IMP::display::Geometries"""
14299  return _IMP_core.create_blame_geometries(*args)
14300 class MultipleBinormalRestraint(IMP.Restraint):
14301  r"""Proxy of C++ IMP::core::MultipleBinormalRestraint class."""
14302 
14303  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14304 
14305  def __init__(self, m, q1, q2):
14306  r"""__init__(MultipleBinormalRestraint self, Model m, IMP::ParticleIndexQuad const & q1, IMP::ParticleIndexQuad const & q2) -> MultipleBinormalRestraint"""
14307  _IMP_core.MultipleBinormalRestraint_swiginit(self, _IMP_core.new_MultipleBinormalRestraint(m, q1, q2))
14308 
14309  def add_term(self, term):
14310  r"""add_term(MultipleBinormalRestraint self, BinormalTerm term)"""
14311  return _IMP_core.MultipleBinormalRestraint_add_term(self, term)
14312 
14313  def do_get_inputs(self):
14314  r"""do_get_inputs(MultipleBinormalRestraint self) -> IMP::ModelObjectsTemp"""
14315  return _IMP_core.MultipleBinormalRestraint_do_get_inputs(self)
14316 
14317  def get_version_info(self):
14318  r"""get_version_info(MultipleBinormalRestraint self) -> VersionInfo"""
14319  return _IMP_core.MultipleBinormalRestraint_get_version_info(self)
14320  __swig_destroy__ = _IMP_core.delete_MultipleBinormalRestraint
14321 
14322  def __str__(self):
14323  r"""__str__(MultipleBinormalRestraint self) -> std::string"""
14324  return _IMP_core.MultipleBinormalRestraint___str__(self)
14325 
14326  def __repr__(self):
14327  r"""__repr__(MultipleBinormalRestraint self) -> std::string"""
14328  return _IMP_core.MultipleBinormalRestraint___repr__(self)
14329 
14330  @staticmethod
14331  def get_from(o):
14332  return _object_cast_to_MultipleBinormalRestraint(o)
14333 
14334 
14335 # Register MultipleBinormalRestraint in _IMP_core:
14336 _IMP_core.MultipleBinormalRestraint_swigregister(MultipleBinormalRestraint)
14337 class BinormalTerm(object):
14338  r"""Proxy of C++ IMP::core::BinormalTerm class."""
14339 
14340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14341 
14342  def __init__(self):
14343  r"""__init__(BinormalTerm self) -> BinormalTerm"""
14344  _IMP_core.BinormalTerm_swiginit(self, _IMP_core.new_BinormalTerm())
14345 
14346  def set_correlation(self, correlation):
14347  r"""set_correlation(BinormalTerm self, double correlation)"""
14348  return _IMP_core.BinormalTerm_set_correlation(self, correlation)
14349 
14350  def set_weight(self, weight):
14351  r"""set_weight(BinormalTerm self, double weight)"""
14352  return _IMP_core.BinormalTerm_set_weight(self, weight)
14353 
14354  def set_means(self, means):
14355  r"""set_means(BinormalTerm self, IMP::FloatPair means)"""
14356  return _IMP_core.BinormalTerm_set_means(self, means)
14357 
14358  def set_standard_deviations(self, stdevs):
14359  r"""set_standard_deviations(BinormalTerm self, IMP::FloatPair stdevs)"""
14360  return _IMP_core.BinormalTerm_set_standard_deviations(self, stdevs)
14361 
14362  def show(self, *args):
14363  r"""show(BinormalTerm self, _ostream out=std::cout)"""
14364  return _IMP_core.BinormalTerm_show(self, *args)
14365 
14366  def __str__(self):
14367  r"""__str__(BinormalTerm self) -> std::string"""
14368  return _IMP_core.BinormalTerm___str__(self)
14369 
14370  def __repr__(self):
14371  r"""__repr__(BinormalTerm self) -> std::string"""
14372  return _IMP_core.BinormalTerm___repr__(self)
14373 
14374  def _get_as_binary(self):
14375  r"""_get_as_binary(BinormalTerm self) -> PyObject *"""
14376  return _IMP_core.BinormalTerm__get_as_binary(self)
14377 
14378  def _set_from_binary(self, p):
14379  r"""_set_from_binary(BinormalTerm self, PyObject * p)"""
14380  return _IMP_core.BinormalTerm__set_from_binary(self, p)
14381 
14382  def __getstate__(self):
14383  p = self._get_as_binary()
14384  if len(self.__dict__) > 1:
14385  d = self.__dict__.copy()
14386  del d['this']
14387  p = (d, p)
14388  return p
14389 
14390  def __setstate__(self, p):
14391  if not hasattr(self, 'this'):
14392  self.__init__()
14393  if isinstance(p, tuple):
14394  d, p = p
14395  self.__dict__.update(d)
14396  return self._set_from_binary(p)
14397 
14398  __swig_destroy__ = _IMP_core.delete_BinormalTerm
14399 
14400 # Register BinormalTerm in _IMP_core:
14401 _IMP_core.BinormalTerm_swigregister(BinormalTerm)
14402 class Provenance(IMP.Decorator):
14403  r"""Proxy of C++ IMP::core::Provenance class."""
14404 
14405  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14406 
14407  def get_previous(self):
14408  r"""get_previous(Provenance self) -> Provenance"""
14409  return _IMP_core.Provenance_get_previous(self)
14410 
14411  def set_previous(self, p):
14412  r"""set_previous(Provenance self, Provenance p)"""
14413  return _IMP_core.Provenance_set_previous(self, p)
14414 
14415  def __init__(self, *args):
14416  r"""
14417  __init__(Provenance self) -> Provenance
14418  __init__(Provenance self, Model m, ParticleIndex id) -> Provenance
14419  __init__(Provenance self, _ParticleAdaptor d) -> Provenance
14420  """
14421  _IMP_core.Provenance_swiginit(self, _IMP_core.new_Provenance(*args))
14422 
14423  @staticmethod
14424  def get_is_setup(*args):
14425  r"""
14426  get_is_setup(Model m, ParticleIndex pi) -> bool
14427  get_is_setup(_ParticleAdaptor p) -> bool
14428  """
14429  return _IMP_core.Provenance_get_is_setup(*args)
14430 
14431  def show(self, *args):
14432  r"""show(Provenance self, _ostream out=std::cout)"""
14433  return _IMP_core.Provenance_show(self, *args)
14434 
14435  @staticmethod
14436  def setup_particle(*args):
14437  r"""
14438  setup_particle(Model m, ParticleIndex pi) -> Provenance
14439  setup_particle(_ParticleAdaptor pa) -> Provenance
14440  """
14441  return _IMP_core.Provenance_setup_particle(*args)
14442 
14443  def add_attribute(self, *args):
14444  r"""
14445  add_attribute(Provenance self, FloatKey k, IMP::Float v, bool opt)
14446  add_attribute(Provenance self, FloatKey a0, IMP::Float a1)
14447  add_attribute(Provenance self, IntKey a0, IMP::Int a1)
14448  add_attribute(Provenance self, FloatsKey a0, IMP::Floats a1)
14449  add_attribute(Provenance self, IntsKey a0, IMP::Ints a1)
14450  add_attribute(Provenance self, StringKey a0, IMP::String a1)
14451  add_attribute(Provenance self, ParticleIndexKey a0, Particle a1)
14452  add_attribute(Provenance self, ObjectKey a0, Object a1)
14453  add_attribute(Provenance self, SparseFloatKey a0, IMP::Float a1)
14454  add_attribute(Provenance self, SparseIntKey a0, IMP::Int a1)
14455  add_attribute(Provenance self, SparseStringKey a0, IMP::String a1)
14456  add_attribute(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14457  """
14458  return _IMP_core.Provenance_add_attribute(self, *args)
14459 
14460  def get_value(self, *args):
14461  r"""
14462  get_value(Provenance self, FloatKey a0) -> IMP::Float
14463  get_value(Provenance self, IntKey a0) -> IMP::Int
14464  get_value(Provenance self, FloatsKey a0) -> IMP::Floats
14465  get_value(Provenance self, IntsKey a0) -> IMP::Ints
14466  get_value(Provenance self, StringKey a0) -> IMP::String
14467  get_value(Provenance self, ParticleIndexKey a0) -> Particle
14468  get_value(Provenance self, ObjectKey a0) -> Object
14469  get_value(Provenance self, SparseFloatKey a0) -> IMP::Float
14470  get_value(Provenance self, SparseIntKey a0) -> IMP::Int
14471  get_value(Provenance self, SparseStringKey a0) -> IMP::String
14472  get_value(Provenance self, SparseParticleIndexKey a0) -> ParticleIndex
14473  """
14474  return _IMP_core.Provenance_get_value(self, *args)
14475 
14476  def set_value(self, *args):
14477  r"""
14478  set_value(Provenance self, FloatKey a0, IMP::Float a1)
14479  set_value(Provenance self, IntKey a0, IMP::Int a1)
14480  set_value(Provenance self, FloatsKey a0, IMP::Floats a1)
14481  set_value(Provenance self, IntsKey a0, IMP::Ints a1)
14482  set_value(Provenance self, StringKey a0, IMP::String a1)
14483  set_value(Provenance self, ParticleIndexKey a0, Particle a1)
14484  set_value(Provenance self, ObjectKey a0, Object a1)
14485  set_value(Provenance self, SparseFloatKey a0, IMP::Float a1)
14486  set_value(Provenance self, SparseIntKey a0, IMP::Int a1)
14487  set_value(Provenance self, SparseStringKey a0, IMP::String a1)
14488  set_value(Provenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14489  """
14490  return _IMP_core.Provenance_set_value(self, *args)
14491 
14492  def remove_attribute(self, *args):
14493  r"""
14494  remove_attribute(Provenance self, FloatKey a0)
14495  remove_attribute(Provenance self, IntKey a0)
14496  remove_attribute(Provenance self, FloatsKey a0)
14497  remove_attribute(Provenance self, IntsKey a0)
14498  remove_attribute(Provenance self, StringKey a0)
14499  remove_attribute(Provenance self, ParticleIndexKey a0)
14500  remove_attribute(Provenance self, ObjectKey a0)
14501  remove_attribute(Provenance self, SparseFloatKey a0)
14502  remove_attribute(Provenance self, SparseIntKey a0)
14503  remove_attribute(Provenance self, SparseStringKey a0)
14504  remove_attribute(Provenance self, SparseParticleIndexKey a0)
14505  """
14506  return _IMP_core.Provenance_remove_attribute(self, *args)
14507 
14508  def has_attribute(self, *args):
14509  r"""
14510  has_attribute(Provenance self, FloatKey a0) -> bool
14511  has_attribute(Provenance self, IntKey a0) -> bool
14512  has_attribute(Provenance self, FloatsKey a0) -> bool
14513  has_attribute(Provenance self, IntsKey a0) -> bool
14514  has_attribute(Provenance self, StringKey a0) -> bool
14515  has_attribute(Provenance self, ParticleIndexKey a0) -> bool
14516  has_attribute(Provenance self, ObjectKey a0) -> bool
14517  has_attribute(Provenance self, SparseFloatKey a0) -> bool
14518  has_attribute(Provenance self, SparseIntKey a0) -> bool
14519  has_attribute(Provenance self, SparseStringKey a0) -> bool
14520  has_attribute(Provenance self, SparseParticleIndexKey a0) -> bool
14521  """
14522  return _IMP_core.Provenance_has_attribute(self, *args)
14523 
14524  def get_derivative(self, a0):
14525  r"""get_derivative(Provenance self, FloatKey a0) -> double"""
14526  return _IMP_core.Provenance_get_derivative(self, a0)
14527 
14528  def get_name(self):
14529  r"""get_name(Provenance self) -> std::string"""
14530  return _IMP_core.Provenance_get_name(self)
14531 
14532  def clear_caches(self):
14533  r"""clear_caches(Provenance self)"""
14534  return _IMP_core.Provenance_clear_caches(self)
14535 
14536  def set_name(self, a0):
14537  r"""set_name(Provenance self, std::string a0)"""
14538  return _IMP_core.Provenance_set_name(self, a0)
14539 
14540  def set_check_level(self, a0):
14541  r"""set_check_level(Provenance self, IMP::CheckLevel a0)"""
14542  return _IMP_core.Provenance_set_check_level(self, a0)
14543 
14544  def add_to_derivative(self, a0, a1, a2):
14545  r"""add_to_derivative(Provenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14546  return _IMP_core.Provenance_add_to_derivative(self, a0, a1, a2)
14547 
14548  def set_is_optimized(self, a0, a1):
14549  r"""set_is_optimized(Provenance self, FloatKey a0, bool a1)"""
14550  return _IMP_core.Provenance_set_is_optimized(self, a0, a1)
14551 
14552  def get_is_optimized(self, a0):
14553  r"""get_is_optimized(Provenance self, FloatKey a0) -> bool"""
14554  return _IMP_core.Provenance_get_is_optimized(self, a0)
14555 
14556  def get_check_level(self):
14557  r"""get_check_level(Provenance self) -> IMP::CheckLevel"""
14558  return _IMP_core.Provenance_get_check_level(self)
14559 
14560  def __eq__(self, *args):
14561  r"""
14562  __eq__(Provenance self, Provenance o) -> bool
14563  __eq__(Provenance self, Particle d) -> bool
14564  """
14565  return _IMP_core.Provenance___eq__(self, *args)
14566 
14567  def __ne__(self, *args):
14568  r"""
14569  __ne__(Provenance self, Provenance o) -> bool
14570  __ne__(Provenance self, Particle d) -> bool
14571  """
14572  return _IMP_core.Provenance___ne__(self, *args)
14573 
14574  def __le__(self, *args):
14575  r"""
14576  __le__(Provenance self, Provenance o) -> bool
14577  __le__(Provenance self, Particle d) -> bool
14578  """
14579  return _IMP_core.Provenance___le__(self, *args)
14580 
14581  def __lt__(self, *args):
14582  r"""
14583  __lt__(Provenance self, Provenance o) -> bool
14584  __lt__(Provenance self, Particle d) -> bool
14585  """
14586  return _IMP_core.Provenance___lt__(self, *args)
14587 
14588  def __ge__(self, *args):
14589  r"""
14590  __ge__(Provenance self, Provenance o) -> bool
14591  __ge__(Provenance self, Particle d) -> bool
14592  """
14593  return _IMP_core.Provenance___ge__(self, *args)
14594 
14595  def __gt__(self, *args):
14596  r"""
14597  __gt__(Provenance self, Provenance o) -> bool
14598  __gt__(Provenance self, Particle d) -> bool
14599  """
14600  return _IMP_core.Provenance___gt__(self, *args)
14601 
14602  def __hash__(self):
14603  r"""__hash__(Provenance self) -> std::size_t"""
14604  return _IMP_core.Provenance___hash__(self)
14605 
14606  def __str__(self):
14607  r"""__str__(Provenance self) -> std::string"""
14608  return _IMP_core.Provenance___str__(self)
14609 
14610  def __repr__(self):
14611  r"""__repr__(Provenance self) -> std::string"""
14612  return _IMP_core.Provenance___repr__(self)
14613 
14614  def _get_as_binary(self):
14615  r"""_get_as_binary(Provenance self) -> PyObject *"""
14616  return _IMP_core.Provenance__get_as_binary(self)
14617 
14618  def _set_from_binary(self, p):
14619  r"""_set_from_binary(Provenance self, PyObject * p)"""
14620  return _IMP_core.Provenance__set_from_binary(self, p)
14621 
14622  def __getstate__(self):
14623  p = self._get_as_binary()
14624  if len(self.__dict__) > 1:
14625  d = self.__dict__.copy()
14626  del d['this']
14627  p = (d, p)
14628  return p
14629 
14630  def __setstate__(self, p):
14631  if not hasattr(self, 'this'):
14632  self.__init__()
14633  if isinstance(p, tuple):
14634  d, p = p
14635  self.__dict__.update(d)
14636  return self._set_from_binary(p)
14637 
14638  __swig_destroy__ = _IMP_core.delete_Provenance
14639 
14640 # Register Provenance in _IMP_core:
14641 _IMP_core.Provenance_swigregister(Provenance)
14642 class StructureProvenance(Provenance):
14643  r"""Proxy of C++ IMP::core::StructureProvenance class."""
14644 
14645  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14646 
14647  def set_filename(self, filename):
14648  r"""set_filename(StructureProvenance self, std::string filename)"""
14649  return _IMP_core.StructureProvenance_set_filename(self, filename)
14650 
14651  def get_filename(self):
14652  r"""get_filename(StructureProvenance self) -> std::string"""
14653  return _IMP_core.StructureProvenance_get_filename(self)
14654 
14655  def set_chain_id(self, chain_id):
14656  r"""set_chain_id(StructureProvenance self, std::string chain_id)"""
14657  return _IMP_core.StructureProvenance_set_chain_id(self, chain_id)
14658 
14659  def get_chain_id(self):
14660  r"""get_chain_id(StructureProvenance self) -> std::string"""
14661  return _IMP_core.StructureProvenance_get_chain_id(self)
14662 
14663  def set_residue_offset(self, residue_offset):
14664  r"""set_residue_offset(StructureProvenance self, int residue_offset)"""
14665  return _IMP_core.StructureProvenance_set_residue_offset(self, residue_offset)
14666 
14667  def get_residue_offset(self):
14668  r"""get_residue_offset(StructureProvenance self) -> int"""
14669  return _IMP_core.StructureProvenance_get_residue_offset(self)
14670 
14671  def __init__(self, *args):
14672  r"""
14673  __init__(StructureProvenance self) -> StructureProvenance
14674  __init__(StructureProvenance self, Model m, ParticleIndex id) -> StructureProvenance
14675  __init__(StructureProvenance self, _ParticleAdaptor d) -> StructureProvenance
14676  """
14677  _IMP_core.StructureProvenance_swiginit(self, _IMP_core.new_StructureProvenance(*args))
14678 
14679  @staticmethod
14680  def get_is_setup(*args):
14681  r"""
14682  get_is_setup(Model m, ParticleIndex pi) -> bool
14683  get_is_setup(_ParticleAdaptor p) -> bool
14684  """
14685  return _IMP_core.StructureProvenance_get_is_setup(*args)
14686 
14687  def show(self, *args):
14688  r"""show(StructureProvenance self, _ostream out=std::cout)"""
14689  return _IMP_core.StructureProvenance_show(self, *args)
14690 
14691  @staticmethod
14692  def setup_particle(*args):
14693  r"""
14694  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14695  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id, int residue_offset) -> StructureProvenance
14696  setup_particle(Model m, ParticleIndex pi, std::string filename, std::string chain_id) -> StructureProvenance
14697  setup_particle(_ParticleAdaptor pa, std::string filename, std::string chain_id) -> StructureProvenance
14698  setup_particle(Model m, ParticleIndex pi, StructureProvenance o) -> StructureProvenance
14699  setup_particle(_ParticleAdaptor pa, StructureProvenance o) -> StructureProvenance
14700  """
14701  return _IMP_core.StructureProvenance_setup_particle(*args)
14702 
14703  def add_attribute(self, *args):
14704  r"""
14705  add_attribute(StructureProvenance self, FloatKey k, IMP::Float v, bool opt)
14706  add_attribute(StructureProvenance self, FloatKey a0, IMP::Float a1)
14707  add_attribute(StructureProvenance self, IntKey a0, IMP::Int a1)
14708  add_attribute(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14709  add_attribute(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14710  add_attribute(StructureProvenance self, StringKey a0, IMP::String a1)
14711  add_attribute(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14712  add_attribute(StructureProvenance self, ObjectKey a0, Object a1)
14713  add_attribute(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14714  add_attribute(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14715  add_attribute(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14716  add_attribute(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14717  """
14718  return _IMP_core.StructureProvenance_add_attribute(self, *args)
14719 
14720  def get_value(self, *args):
14721  r"""
14722  get_value(StructureProvenance self, FloatKey a0) -> IMP::Float
14723  get_value(StructureProvenance self, IntKey a0) -> IMP::Int
14724  get_value(StructureProvenance self, FloatsKey a0) -> IMP::Floats
14725  get_value(StructureProvenance self, IntsKey a0) -> IMP::Ints
14726  get_value(StructureProvenance self, StringKey a0) -> IMP::String
14727  get_value(StructureProvenance self, ParticleIndexKey a0) -> Particle
14728  get_value(StructureProvenance self, ObjectKey a0) -> Object
14729  get_value(StructureProvenance self, SparseFloatKey a0) -> IMP::Float
14730  get_value(StructureProvenance self, SparseIntKey a0) -> IMP::Int
14731  get_value(StructureProvenance self, SparseStringKey a0) -> IMP::String
14732  get_value(StructureProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
14733  """
14734  return _IMP_core.StructureProvenance_get_value(self, *args)
14735 
14736  def set_value(self, *args):
14737  r"""
14738  set_value(StructureProvenance self, FloatKey a0, IMP::Float a1)
14739  set_value(StructureProvenance self, IntKey a0, IMP::Int a1)
14740  set_value(StructureProvenance self, FloatsKey a0, IMP::Floats a1)
14741  set_value(StructureProvenance self, IntsKey a0, IMP::Ints a1)
14742  set_value(StructureProvenance self, StringKey a0, IMP::String a1)
14743  set_value(StructureProvenance self, ParticleIndexKey a0, Particle a1)
14744  set_value(StructureProvenance self, ObjectKey a0, Object a1)
14745  set_value(StructureProvenance self, SparseFloatKey a0, IMP::Float a1)
14746  set_value(StructureProvenance self, SparseIntKey a0, IMP::Int a1)
14747  set_value(StructureProvenance self, SparseStringKey a0, IMP::String a1)
14748  set_value(StructureProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14749  """
14750  return _IMP_core.StructureProvenance_set_value(self, *args)
14751 
14752  def remove_attribute(self, *args):
14753  r"""
14754  remove_attribute(StructureProvenance self, FloatKey a0)
14755  remove_attribute(StructureProvenance self, IntKey a0)
14756  remove_attribute(StructureProvenance self, FloatsKey a0)
14757  remove_attribute(StructureProvenance self, IntsKey a0)
14758  remove_attribute(StructureProvenance self, StringKey a0)
14759  remove_attribute(StructureProvenance self, ParticleIndexKey a0)
14760  remove_attribute(StructureProvenance self, ObjectKey a0)
14761  remove_attribute(StructureProvenance self, SparseFloatKey a0)
14762  remove_attribute(StructureProvenance self, SparseIntKey a0)
14763  remove_attribute(StructureProvenance self, SparseStringKey a0)
14764  remove_attribute(StructureProvenance self, SparseParticleIndexKey a0)
14765  """
14766  return _IMP_core.StructureProvenance_remove_attribute(self, *args)
14767 
14768  def has_attribute(self, *args):
14769  r"""
14770  has_attribute(StructureProvenance self, FloatKey a0) -> bool
14771  has_attribute(StructureProvenance self, IntKey a0) -> bool
14772  has_attribute(StructureProvenance self, FloatsKey a0) -> bool
14773  has_attribute(StructureProvenance self, IntsKey a0) -> bool
14774  has_attribute(StructureProvenance self, StringKey a0) -> bool
14775  has_attribute(StructureProvenance self, ParticleIndexKey a0) -> bool
14776  has_attribute(StructureProvenance self, ObjectKey a0) -> bool
14777  has_attribute(StructureProvenance self, SparseFloatKey a0) -> bool
14778  has_attribute(StructureProvenance self, SparseIntKey a0) -> bool
14779  has_attribute(StructureProvenance self, SparseStringKey a0) -> bool
14780  has_attribute(StructureProvenance self, SparseParticleIndexKey a0) -> bool
14781  """
14782  return _IMP_core.StructureProvenance_has_attribute(self, *args)
14783 
14784  def get_derivative(self, a0):
14785  r"""get_derivative(StructureProvenance self, FloatKey a0) -> double"""
14786  return _IMP_core.StructureProvenance_get_derivative(self, a0)
14787 
14788  def get_name(self):
14789  r"""get_name(StructureProvenance self) -> std::string"""
14790  return _IMP_core.StructureProvenance_get_name(self)
14791 
14792  def clear_caches(self):
14793  r"""clear_caches(StructureProvenance self)"""
14794  return _IMP_core.StructureProvenance_clear_caches(self)
14795 
14796  def set_name(self, a0):
14797  r"""set_name(StructureProvenance self, std::string a0)"""
14798  return _IMP_core.StructureProvenance_set_name(self, a0)
14799 
14800  def set_check_level(self, a0):
14801  r"""set_check_level(StructureProvenance self, IMP::CheckLevel a0)"""
14802  return _IMP_core.StructureProvenance_set_check_level(self, a0)
14803 
14804  def add_to_derivative(self, a0, a1, a2):
14805  r"""add_to_derivative(StructureProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
14806  return _IMP_core.StructureProvenance_add_to_derivative(self, a0, a1, a2)
14807 
14808  def set_is_optimized(self, a0, a1):
14809  r"""set_is_optimized(StructureProvenance self, FloatKey a0, bool a1)"""
14810  return _IMP_core.StructureProvenance_set_is_optimized(self, a0, a1)
14811 
14812  def get_is_optimized(self, a0):
14813  r"""get_is_optimized(StructureProvenance self, FloatKey a0) -> bool"""
14814  return _IMP_core.StructureProvenance_get_is_optimized(self, a0)
14815 
14816  def get_check_level(self):
14817  r"""get_check_level(StructureProvenance self) -> IMP::CheckLevel"""
14818  return _IMP_core.StructureProvenance_get_check_level(self)
14819 
14820  def __eq__(self, *args):
14821  r"""
14822  __eq__(StructureProvenance self, StructureProvenance o) -> bool
14823  __eq__(StructureProvenance self, Particle d) -> bool
14824  """
14825  return _IMP_core.StructureProvenance___eq__(self, *args)
14826 
14827  def __ne__(self, *args):
14828  r"""
14829  __ne__(StructureProvenance self, StructureProvenance o) -> bool
14830  __ne__(StructureProvenance self, Particle d) -> bool
14831  """
14832  return _IMP_core.StructureProvenance___ne__(self, *args)
14833 
14834  def __le__(self, *args):
14835  r"""
14836  __le__(StructureProvenance self, StructureProvenance o) -> bool
14837  __le__(StructureProvenance self, Particle d) -> bool
14838  """
14839  return _IMP_core.StructureProvenance___le__(self, *args)
14840 
14841  def __lt__(self, *args):
14842  r"""
14843  __lt__(StructureProvenance self, StructureProvenance o) -> bool
14844  __lt__(StructureProvenance self, Particle d) -> bool
14845  """
14846  return _IMP_core.StructureProvenance___lt__(self, *args)
14847 
14848  def __ge__(self, *args):
14849  r"""
14850  __ge__(StructureProvenance self, StructureProvenance o) -> bool
14851  __ge__(StructureProvenance self, Particle d) -> bool
14852  """
14853  return _IMP_core.StructureProvenance___ge__(self, *args)
14854 
14855  def __gt__(self, *args):
14856  r"""
14857  __gt__(StructureProvenance self, StructureProvenance o) -> bool
14858  __gt__(StructureProvenance self, Particle d) -> bool
14859  """
14860  return _IMP_core.StructureProvenance___gt__(self, *args)
14861 
14862  def __hash__(self):
14863  r"""__hash__(StructureProvenance self) -> std::size_t"""
14864  return _IMP_core.StructureProvenance___hash__(self)
14865 
14866  def __str__(self):
14867  r"""__str__(StructureProvenance self) -> std::string"""
14868  return _IMP_core.StructureProvenance___str__(self)
14869 
14870  def __repr__(self):
14871  r"""__repr__(StructureProvenance self) -> std::string"""
14872  return _IMP_core.StructureProvenance___repr__(self)
14873 
14874  def _get_as_binary(self):
14875  r"""_get_as_binary(StructureProvenance self) -> PyObject *"""
14876  return _IMP_core.StructureProvenance__get_as_binary(self)
14877 
14878  def _set_from_binary(self, p):
14879  r"""_set_from_binary(StructureProvenance self, PyObject * p)"""
14880  return _IMP_core.StructureProvenance__set_from_binary(self, p)
14881 
14882  def __getstate__(self):
14883  p = self._get_as_binary()
14884  if len(self.__dict__) > 1:
14885  d = self.__dict__.copy()
14886  del d['this']
14887  p = (d, p)
14888  return p
14889 
14890  def __setstate__(self, p):
14891  if not hasattr(self, 'this'):
14892  self.__init__()
14893  if isinstance(p, tuple):
14894  d, p = p
14895  self.__dict__.update(d)
14896  return self._set_from_binary(p)
14897 
14898  __swig_destroy__ = _IMP_core.delete_StructureProvenance
14899 
14900 # Register StructureProvenance in _IMP_core:
14901 _IMP_core.StructureProvenance_swigregister(StructureProvenance)
14902 class SampleProvenance(Provenance):
14903  r"""Proxy of C++ IMP::core::SampleProvenance class."""
14904 
14905  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
14906 
14907  def set_method(self, method):
14908  r"""set_method(SampleProvenance self, std::string method)"""
14909  return _IMP_core.SampleProvenance_set_method(self, method)
14910 
14911  def get_method(self):
14912  r"""get_method(SampleProvenance self) -> std::string"""
14913  return _IMP_core.SampleProvenance_get_method(self)
14914 
14915  def set_number_of_frames(self, frames):
14916  r"""set_number_of_frames(SampleProvenance self, int frames)"""
14917  return _IMP_core.SampleProvenance_set_number_of_frames(self, frames)
14918 
14919  def get_number_of_frames(self):
14920  r"""get_number_of_frames(SampleProvenance self) -> int"""
14921  return _IMP_core.SampleProvenance_get_number_of_frames(self)
14922 
14923  def set_number_of_iterations(self, iterations):
14924  r"""set_number_of_iterations(SampleProvenance self, int iterations)"""
14925  return _IMP_core.SampleProvenance_set_number_of_iterations(self, iterations)
14926 
14927  def get_number_of_iterations(self):
14928  r"""get_number_of_iterations(SampleProvenance self) -> int"""
14929  return _IMP_core.SampleProvenance_get_number_of_iterations(self)
14930 
14931  def set_number_of_replicas(self, replicas):
14932  r"""set_number_of_replicas(SampleProvenance self, int replicas)"""
14933  return _IMP_core.SampleProvenance_set_number_of_replicas(self, replicas)
14934 
14935  def get_number_of_replicas(self):
14936  r"""get_number_of_replicas(SampleProvenance self) -> int"""
14937  return _IMP_core.SampleProvenance_get_number_of_replicas(self)
14938 
14939  def __init__(self, *args):
14940  r"""
14941  __init__(SampleProvenance self) -> SampleProvenance
14942  __init__(SampleProvenance self, Model m, ParticleIndex id) -> SampleProvenance
14943  __init__(SampleProvenance self, _ParticleAdaptor d) -> SampleProvenance
14944  """
14945  _IMP_core.SampleProvenance_swiginit(self, _IMP_core.new_SampleProvenance(*args))
14946 
14947  @staticmethod
14948  def get_is_setup(*args):
14949  r"""
14950  get_is_setup(Model m, ParticleIndex pi) -> bool
14951  get_is_setup(_ParticleAdaptor p) -> bool
14952  """
14953  return _IMP_core.SampleProvenance_get_is_setup(*args)
14954 
14955  def show(self, *args):
14956  r"""show(SampleProvenance self, _ostream out=std::cout)"""
14957  return _IMP_core.SampleProvenance_show(self, *args)
14958 
14959  @staticmethod
14960  def setup_particle(*args):
14961  r"""
14962  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14963  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations, int replicas) -> SampleProvenance
14964  setup_particle(Model m, ParticleIndex pi, std::string method, int frames, int iterations) -> SampleProvenance
14965  setup_particle(_ParticleAdaptor pa, std::string method, int frames, int iterations) -> SampleProvenance
14966  setup_particle(Model m, ParticleIndex pi, SampleProvenance o) -> SampleProvenance
14967  setup_particle(_ParticleAdaptor pa, SampleProvenance o) -> SampleProvenance
14968  """
14969  return _IMP_core.SampleProvenance_setup_particle(*args)
14970 
14971  def add_attribute(self, *args):
14972  r"""
14973  add_attribute(SampleProvenance self, FloatKey k, IMP::Float v, bool opt)
14974  add_attribute(SampleProvenance self, FloatKey a0, IMP::Float a1)
14975  add_attribute(SampleProvenance self, IntKey a0, IMP::Int a1)
14976  add_attribute(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
14977  add_attribute(SampleProvenance self, IntsKey a0, IMP::Ints a1)
14978  add_attribute(SampleProvenance self, StringKey a0, IMP::String a1)
14979  add_attribute(SampleProvenance self, ParticleIndexKey a0, Particle a1)
14980  add_attribute(SampleProvenance self, ObjectKey a0, Object a1)
14981  add_attribute(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
14982  add_attribute(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
14983  add_attribute(SampleProvenance self, SparseStringKey a0, IMP::String a1)
14984  add_attribute(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
14985  """
14986  return _IMP_core.SampleProvenance_add_attribute(self, *args)
14987 
14988  def get_value(self, *args):
14989  r"""
14990  get_value(SampleProvenance self, FloatKey a0) -> IMP::Float
14991  get_value(SampleProvenance self, IntKey a0) -> IMP::Int
14992  get_value(SampleProvenance self, FloatsKey a0) -> IMP::Floats
14993  get_value(SampleProvenance self, IntsKey a0) -> IMP::Ints
14994  get_value(SampleProvenance self, StringKey a0) -> IMP::String
14995  get_value(SampleProvenance self, ParticleIndexKey a0) -> Particle
14996  get_value(SampleProvenance self, ObjectKey a0) -> Object
14997  get_value(SampleProvenance self, SparseFloatKey a0) -> IMP::Float
14998  get_value(SampleProvenance self, SparseIntKey a0) -> IMP::Int
14999  get_value(SampleProvenance self, SparseStringKey a0) -> IMP::String
15000  get_value(SampleProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15001  """
15002  return _IMP_core.SampleProvenance_get_value(self, *args)
15003 
15004  def set_value(self, *args):
15005  r"""
15006  set_value(SampleProvenance self, FloatKey a0, IMP::Float a1)
15007  set_value(SampleProvenance self, IntKey a0, IMP::Int a1)
15008  set_value(SampleProvenance self, FloatsKey a0, IMP::Floats a1)
15009  set_value(SampleProvenance self, IntsKey a0, IMP::Ints a1)
15010  set_value(SampleProvenance self, StringKey a0, IMP::String a1)
15011  set_value(SampleProvenance self, ParticleIndexKey a0, Particle a1)
15012  set_value(SampleProvenance self, ObjectKey a0, Object a1)
15013  set_value(SampleProvenance self, SparseFloatKey a0, IMP::Float a1)
15014  set_value(SampleProvenance self, SparseIntKey a0, IMP::Int a1)
15015  set_value(SampleProvenance self, SparseStringKey a0, IMP::String a1)
15016  set_value(SampleProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15017  """
15018  return _IMP_core.SampleProvenance_set_value(self, *args)
15019 
15020  def remove_attribute(self, *args):
15021  r"""
15022  remove_attribute(SampleProvenance self, FloatKey a0)
15023  remove_attribute(SampleProvenance self, IntKey a0)
15024  remove_attribute(SampleProvenance self, FloatsKey a0)
15025  remove_attribute(SampleProvenance self, IntsKey a0)
15026  remove_attribute(SampleProvenance self, StringKey a0)
15027  remove_attribute(SampleProvenance self, ParticleIndexKey a0)
15028  remove_attribute(SampleProvenance self, ObjectKey a0)
15029  remove_attribute(SampleProvenance self, SparseFloatKey a0)
15030  remove_attribute(SampleProvenance self, SparseIntKey a0)
15031  remove_attribute(SampleProvenance self, SparseStringKey a0)
15032  remove_attribute(SampleProvenance self, SparseParticleIndexKey a0)
15033  """
15034  return _IMP_core.SampleProvenance_remove_attribute(self, *args)
15035 
15036  def has_attribute(self, *args):
15037  r"""
15038  has_attribute(SampleProvenance self, FloatKey a0) -> bool
15039  has_attribute(SampleProvenance self, IntKey a0) -> bool
15040  has_attribute(SampleProvenance self, FloatsKey a0) -> bool
15041  has_attribute(SampleProvenance self, IntsKey a0) -> bool
15042  has_attribute(SampleProvenance self, StringKey a0) -> bool
15043  has_attribute(SampleProvenance self, ParticleIndexKey a0) -> bool
15044  has_attribute(SampleProvenance self, ObjectKey a0) -> bool
15045  has_attribute(SampleProvenance self, SparseFloatKey a0) -> bool
15046  has_attribute(SampleProvenance self, SparseIntKey a0) -> bool
15047  has_attribute(SampleProvenance self, SparseStringKey a0) -> bool
15048  has_attribute(SampleProvenance self, SparseParticleIndexKey a0) -> bool
15049  """
15050  return _IMP_core.SampleProvenance_has_attribute(self, *args)
15051 
15052  def get_derivative(self, a0):
15053  r"""get_derivative(SampleProvenance self, FloatKey a0) -> double"""
15054  return _IMP_core.SampleProvenance_get_derivative(self, a0)
15055 
15056  def get_name(self):
15057  r"""get_name(SampleProvenance self) -> std::string"""
15058  return _IMP_core.SampleProvenance_get_name(self)
15059 
15060  def clear_caches(self):
15061  r"""clear_caches(SampleProvenance self)"""
15062  return _IMP_core.SampleProvenance_clear_caches(self)
15063 
15064  def set_name(self, a0):
15065  r"""set_name(SampleProvenance self, std::string a0)"""
15066  return _IMP_core.SampleProvenance_set_name(self, a0)
15067 
15068  def set_check_level(self, a0):
15069  r"""set_check_level(SampleProvenance self, IMP::CheckLevel a0)"""
15070  return _IMP_core.SampleProvenance_set_check_level(self, a0)
15071 
15072  def add_to_derivative(self, a0, a1, a2):
15073  r"""add_to_derivative(SampleProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15074  return _IMP_core.SampleProvenance_add_to_derivative(self, a0, a1, a2)
15075 
15076  def set_is_optimized(self, a0, a1):
15077  r"""set_is_optimized(SampleProvenance self, FloatKey a0, bool a1)"""
15078  return _IMP_core.SampleProvenance_set_is_optimized(self, a0, a1)
15079 
15080  def get_is_optimized(self, a0):
15081  r"""get_is_optimized(SampleProvenance self, FloatKey a0) -> bool"""
15082  return _IMP_core.SampleProvenance_get_is_optimized(self, a0)
15083 
15084  def get_check_level(self):
15085  r"""get_check_level(SampleProvenance self) -> IMP::CheckLevel"""
15086  return _IMP_core.SampleProvenance_get_check_level(self)
15087 
15088  def __eq__(self, *args):
15089  r"""
15090  __eq__(SampleProvenance self, SampleProvenance o) -> bool
15091  __eq__(SampleProvenance self, Particle d) -> bool
15092  """
15093  return _IMP_core.SampleProvenance___eq__(self, *args)
15094 
15095  def __ne__(self, *args):
15096  r"""
15097  __ne__(SampleProvenance self, SampleProvenance o) -> bool
15098  __ne__(SampleProvenance self, Particle d) -> bool
15099  """
15100  return _IMP_core.SampleProvenance___ne__(self, *args)
15101 
15102  def __le__(self, *args):
15103  r"""
15104  __le__(SampleProvenance self, SampleProvenance o) -> bool
15105  __le__(SampleProvenance self, Particle d) -> bool
15106  """
15107  return _IMP_core.SampleProvenance___le__(self, *args)
15108 
15109  def __lt__(self, *args):
15110  r"""
15111  __lt__(SampleProvenance self, SampleProvenance o) -> bool
15112  __lt__(SampleProvenance self, Particle d) -> bool
15113  """
15114  return _IMP_core.SampleProvenance___lt__(self, *args)
15115 
15116  def __ge__(self, *args):
15117  r"""
15118  __ge__(SampleProvenance self, SampleProvenance o) -> bool
15119  __ge__(SampleProvenance self, Particle d) -> bool
15120  """
15121  return _IMP_core.SampleProvenance___ge__(self, *args)
15122 
15123  def __gt__(self, *args):
15124  r"""
15125  __gt__(SampleProvenance self, SampleProvenance o) -> bool
15126  __gt__(SampleProvenance self, Particle d) -> bool
15127  """
15128  return _IMP_core.SampleProvenance___gt__(self, *args)
15129 
15130  def __hash__(self):
15131  r"""__hash__(SampleProvenance self) -> std::size_t"""
15132  return _IMP_core.SampleProvenance___hash__(self)
15133 
15134  def __str__(self):
15135  r"""__str__(SampleProvenance self) -> std::string"""
15136  return _IMP_core.SampleProvenance___str__(self)
15137 
15138  def __repr__(self):
15139  r"""__repr__(SampleProvenance self) -> std::string"""
15140  return _IMP_core.SampleProvenance___repr__(self)
15141 
15142  def _get_as_binary(self):
15143  r"""_get_as_binary(SampleProvenance self) -> PyObject *"""
15144  return _IMP_core.SampleProvenance__get_as_binary(self)
15145 
15146  def _set_from_binary(self, p):
15147  r"""_set_from_binary(SampleProvenance self, PyObject * p)"""
15148  return _IMP_core.SampleProvenance__set_from_binary(self, p)
15149 
15150  def __getstate__(self):
15151  p = self._get_as_binary()
15152  if len(self.__dict__) > 1:
15153  d = self.__dict__.copy()
15154  del d['this']
15155  p = (d, p)
15156  return p
15157 
15158  def __setstate__(self, p):
15159  if not hasattr(self, 'this'):
15160  self.__init__()
15161  if isinstance(p, tuple):
15162  d, p = p
15163  self.__dict__.update(d)
15164  return self._set_from_binary(p)
15165 
15166  __swig_destroy__ = _IMP_core.delete_SampleProvenance
15167 
15168 # Register SampleProvenance in _IMP_core:
15169 _IMP_core.SampleProvenance_swigregister(SampleProvenance)
15170 class CombineProvenance(Provenance):
15171  r"""Proxy of C++ IMP::core::CombineProvenance class."""
15172 
15173  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15174 
15175  def set_number_of_frames(self, frames):
15176  r"""set_number_of_frames(CombineProvenance self, int frames)"""
15177  return _IMP_core.CombineProvenance_set_number_of_frames(self, frames)
15178 
15179  def get_number_of_frames(self):
15180  r"""get_number_of_frames(CombineProvenance self) -> int"""
15181  return _IMP_core.CombineProvenance_get_number_of_frames(self)
15182 
15183  def set_number_of_runs(self, runs):
15184  r"""set_number_of_runs(CombineProvenance self, int runs)"""
15185  return _IMP_core.CombineProvenance_set_number_of_runs(self, runs)
15186 
15187  def get_number_of_runs(self):
15188  r"""get_number_of_runs(CombineProvenance self) -> int"""
15189  return _IMP_core.CombineProvenance_get_number_of_runs(self)
15190 
15191  def __init__(self, *args):
15192  r"""
15193  __init__(CombineProvenance self) -> CombineProvenance
15194  __init__(CombineProvenance self, Model m, ParticleIndex id) -> CombineProvenance
15195  __init__(CombineProvenance self, _ParticleAdaptor d) -> CombineProvenance
15196  """
15197  _IMP_core.CombineProvenance_swiginit(self, _IMP_core.new_CombineProvenance(*args))
15198 
15199  @staticmethod
15200  def get_is_setup(*args):
15201  r"""
15202  get_is_setup(Model m, ParticleIndex pi) -> bool
15203  get_is_setup(_ParticleAdaptor p) -> bool
15204  """
15205  return _IMP_core.CombineProvenance_get_is_setup(*args)
15206 
15207  def show(self, *args):
15208  r"""show(CombineProvenance self, _ostream out=std::cout)"""
15209  return _IMP_core.CombineProvenance_show(self, *args)
15210 
15211  @staticmethod
15212  def setup_particle(*args):
15213  r"""
15214  setup_particle(Model m, ParticleIndex pi, int runs, int frames) -> CombineProvenance
15215  setup_particle(_ParticleAdaptor pa, int runs, int frames) -> CombineProvenance
15216  setup_particle(Model m, ParticleIndex pi, CombineProvenance o) -> CombineProvenance
15217  setup_particle(_ParticleAdaptor pa, CombineProvenance o) -> CombineProvenance
15218  """
15219  return _IMP_core.CombineProvenance_setup_particle(*args)
15220 
15221  def add_attribute(self, *args):
15222  r"""
15223  add_attribute(CombineProvenance self, FloatKey k, IMP::Float v, bool opt)
15224  add_attribute(CombineProvenance self, FloatKey a0, IMP::Float a1)
15225  add_attribute(CombineProvenance self, IntKey a0, IMP::Int a1)
15226  add_attribute(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15227  add_attribute(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15228  add_attribute(CombineProvenance self, StringKey a0, IMP::String a1)
15229  add_attribute(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15230  add_attribute(CombineProvenance self, ObjectKey a0, Object a1)
15231  add_attribute(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15232  add_attribute(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15233  add_attribute(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15234  add_attribute(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15235  """
15236  return _IMP_core.CombineProvenance_add_attribute(self, *args)
15237 
15238  def get_value(self, *args):
15239  r"""
15240  get_value(CombineProvenance self, FloatKey a0) -> IMP::Float
15241  get_value(CombineProvenance self, IntKey a0) -> IMP::Int
15242  get_value(CombineProvenance self, FloatsKey a0) -> IMP::Floats
15243  get_value(CombineProvenance self, IntsKey a0) -> IMP::Ints
15244  get_value(CombineProvenance self, StringKey a0) -> IMP::String
15245  get_value(CombineProvenance self, ParticleIndexKey a0) -> Particle
15246  get_value(CombineProvenance self, ObjectKey a0) -> Object
15247  get_value(CombineProvenance self, SparseFloatKey a0) -> IMP::Float
15248  get_value(CombineProvenance self, SparseIntKey a0) -> IMP::Int
15249  get_value(CombineProvenance self, SparseStringKey a0) -> IMP::String
15250  get_value(CombineProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15251  """
15252  return _IMP_core.CombineProvenance_get_value(self, *args)
15253 
15254  def set_value(self, *args):
15255  r"""
15256  set_value(CombineProvenance self, FloatKey a0, IMP::Float a1)
15257  set_value(CombineProvenance self, IntKey a0, IMP::Int a1)
15258  set_value(CombineProvenance self, FloatsKey a0, IMP::Floats a1)
15259  set_value(CombineProvenance self, IntsKey a0, IMP::Ints a1)
15260  set_value(CombineProvenance self, StringKey a0, IMP::String a1)
15261  set_value(CombineProvenance self, ParticleIndexKey a0, Particle a1)
15262  set_value(CombineProvenance self, ObjectKey a0, Object a1)
15263  set_value(CombineProvenance self, SparseFloatKey a0, IMP::Float a1)
15264  set_value(CombineProvenance self, SparseIntKey a0, IMP::Int a1)
15265  set_value(CombineProvenance self, SparseStringKey a0, IMP::String a1)
15266  set_value(CombineProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15267  """
15268  return _IMP_core.CombineProvenance_set_value(self, *args)
15269 
15270  def remove_attribute(self, *args):
15271  r"""
15272  remove_attribute(CombineProvenance self, FloatKey a0)
15273  remove_attribute(CombineProvenance self, IntKey a0)
15274  remove_attribute(CombineProvenance self, FloatsKey a0)
15275  remove_attribute(CombineProvenance self, IntsKey a0)
15276  remove_attribute(CombineProvenance self, StringKey a0)
15277  remove_attribute(CombineProvenance self, ParticleIndexKey a0)
15278  remove_attribute(CombineProvenance self, ObjectKey a0)
15279  remove_attribute(CombineProvenance self, SparseFloatKey a0)
15280  remove_attribute(CombineProvenance self, SparseIntKey a0)
15281  remove_attribute(CombineProvenance self, SparseStringKey a0)
15282  remove_attribute(CombineProvenance self, SparseParticleIndexKey a0)
15283  """
15284  return _IMP_core.CombineProvenance_remove_attribute(self, *args)
15285 
15286  def has_attribute(self, *args):
15287  r"""
15288  has_attribute(CombineProvenance self, FloatKey a0) -> bool
15289  has_attribute(CombineProvenance self, IntKey a0) -> bool
15290  has_attribute(CombineProvenance self, FloatsKey a0) -> bool
15291  has_attribute(CombineProvenance self, IntsKey a0) -> bool
15292  has_attribute(CombineProvenance self, StringKey a0) -> bool
15293  has_attribute(CombineProvenance self, ParticleIndexKey a0) -> bool
15294  has_attribute(CombineProvenance self, ObjectKey a0) -> bool
15295  has_attribute(CombineProvenance self, SparseFloatKey a0) -> bool
15296  has_attribute(CombineProvenance self, SparseIntKey a0) -> bool
15297  has_attribute(CombineProvenance self, SparseStringKey a0) -> bool
15298  has_attribute(CombineProvenance self, SparseParticleIndexKey a0) -> bool
15299  """
15300  return _IMP_core.CombineProvenance_has_attribute(self, *args)
15301 
15302  def get_derivative(self, a0):
15303  r"""get_derivative(CombineProvenance self, FloatKey a0) -> double"""
15304  return _IMP_core.CombineProvenance_get_derivative(self, a0)
15305 
15306  def get_name(self):
15307  r"""get_name(CombineProvenance self) -> std::string"""
15308  return _IMP_core.CombineProvenance_get_name(self)
15309 
15310  def clear_caches(self):
15311  r"""clear_caches(CombineProvenance self)"""
15312  return _IMP_core.CombineProvenance_clear_caches(self)
15313 
15314  def set_name(self, a0):
15315  r"""set_name(CombineProvenance self, std::string a0)"""
15316  return _IMP_core.CombineProvenance_set_name(self, a0)
15317 
15318  def set_check_level(self, a0):
15319  r"""set_check_level(CombineProvenance self, IMP::CheckLevel a0)"""
15320  return _IMP_core.CombineProvenance_set_check_level(self, a0)
15321 
15322  def add_to_derivative(self, a0, a1, a2):
15323  r"""add_to_derivative(CombineProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15324  return _IMP_core.CombineProvenance_add_to_derivative(self, a0, a1, a2)
15325 
15326  def set_is_optimized(self, a0, a1):
15327  r"""set_is_optimized(CombineProvenance self, FloatKey a0, bool a1)"""
15328  return _IMP_core.CombineProvenance_set_is_optimized(self, a0, a1)
15329 
15330  def get_is_optimized(self, a0):
15331  r"""get_is_optimized(CombineProvenance self, FloatKey a0) -> bool"""
15332  return _IMP_core.CombineProvenance_get_is_optimized(self, a0)
15333 
15334  def get_check_level(self):
15335  r"""get_check_level(CombineProvenance self) -> IMP::CheckLevel"""
15336  return _IMP_core.CombineProvenance_get_check_level(self)
15337 
15338  def __eq__(self, *args):
15339  r"""
15340  __eq__(CombineProvenance self, CombineProvenance o) -> bool
15341  __eq__(CombineProvenance self, Particle d) -> bool
15342  """
15343  return _IMP_core.CombineProvenance___eq__(self, *args)
15344 
15345  def __ne__(self, *args):
15346  r"""
15347  __ne__(CombineProvenance self, CombineProvenance o) -> bool
15348  __ne__(CombineProvenance self, Particle d) -> bool
15349  """
15350  return _IMP_core.CombineProvenance___ne__(self, *args)
15351 
15352  def __le__(self, *args):
15353  r"""
15354  __le__(CombineProvenance self, CombineProvenance o) -> bool
15355  __le__(CombineProvenance self, Particle d) -> bool
15356  """
15357  return _IMP_core.CombineProvenance___le__(self, *args)
15358 
15359  def __lt__(self, *args):
15360  r"""
15361  __lt__(CombineProvenance self, CombineProvenance o) -> bool
15362  __lt__(CombineProvenance self, Particle d) -> bool
15363  """
15364  return _IMP_core.CombineProvenance___lt__(self, *args)
15365 
15366  def __ge__(self, *args):
15367  r"""
15368  __ge__(CombineProvenance self, CombineProvenance o) -> bool
15369  __ge__(CombineProvenance self, Particle d) -> bool
15370  """
15371  return _IMP_core.CombineProvenance___ge__(self, *args)
15372 
15373  def __gt__(self, *args):
15374  r"""
15375  __gt__(CombineProvenance self, CombineProvenance o) -> bool
15376  __gt__(CombineProvenance self, Particle d) -> bool
15377  """
15378  return _IMP_core.CombineProvenance___gt__(self, *args)
15379 
15380  def __hash__(self):
15381  r"""__hash__(CombineProvenance self) -> std::size_t"""
15382  return _IMP_core.CombineProvenance___hash__(self)
15383 
15384  def __str__(self):
15385  r"""__str__(CombineProvenance self) -> std::string"""
15386  return _IMP_core.CombineProvenance___str__(self)
15387 
15388  def __repr__(self):
15389  r"""__repr__(CombineProvenance self) -> std::string"""
15390  return _IMP_core.CombineProvenance___repr__(self)
15391 
15392  def _get_as_binary(self):
15393  r"""_get_as_binary(CombineProvenance self) -> PyObject *"""
15394  return _IMP_core.CombineProvenance__get_as_binary(self)
15395 
15396  def _set_from_binary(self, p):
15397  r"""_set_from_binary(CombineProvenance self, PyObject * p)"""
15398  return _IMP_core.CombineProvenance__set_from_binary(self, p)
15399 
15400  def __getstate__(self):
15401  p = self._get_as_binary()
15402  if len(self.__dict__) > 1:
15403  d = self.__dict__.copy()
15404  del d['this']
15405  p = (d, p)
15406  return p
15407 
15408  def __setstate__(self, p):
15409  if not hasattr(self, 'this'):
15410  self.__init__()
15411  if isinstance(p, tuple):
15412  d, p = p
15413  self.__dict__.update(d)
15414  return self._set_from_binary(p)
15415 
15416  __swig_destroy__ = _IMP_core.delete_CombineProvenance
15417 
15418 # Register CombineProvenance in _IMP_core:
15419 _IMP_core.CombineProvenance_swigregister(CombineProvenance)
15420 class FilterProvenance(Provenance):
15421  r"""Proxy of C++ IMP::core::FilterProvenance class."""
15422 
15423  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15424 
15425  def set_method(self, method):
15426  r"""set_method(FilterProvenance self, std::string method)"""
15427  return _IMP_core.FilterProvenance_set_method(self, method)
15428 
15429  def get_method(self):
15430  r"""get_method(FilterProvenance self) -> std::string"""
15431  return _IMP_core.FilterProvenance_get_method(self)
15432 
15433  def set_number_of_frames(self, frames):
15434  r"""set_number_of_frames(FilterProvenance self, int frames)"""
15435  return _IMP_core.FilterProvenance_set_number_of_frames(self, frames)
15436 
15437  def get_number_of_frames(self):
15438  r"""get_number_of_frames(FilterProvenance self) -> int"""
15439  return _IMP_core.FilterProvenance_get_number_of_frames(self)
15440 
15441  def set_threshold(self, threshold):
15442  r"""set_threshold(FilterProvenance self, double threshold)"""
15443  return _IMP_core.FilterProvenance_set_threshold(self, threshold)
15444 
15445  def get_threshold(self):
15446  r"""get_threshold(FilterProvenance self) -> double"""
15447  return _IMP_core.FilterProvenance_get_threshold(self)
15448 
15449  def __init__(self, *args):
15450  r"""
15451  __init__(FilterProvenance self) -> FilterProvenance
15452  __init__(FilterProvenance self, Model m, ParticleIndex id) -> FilterProvenance
15453  __init__(FilterProvenance self, _ParticleAdaptor d) -> FilterProvenance
15454  """
15455  _IMP_core.FilterProvenance_swiginit(self, _IMP_core.new_FilterProvenance(*args))
15456 
15457  @staticmethod
15458  def get_is_setup(*args):
15459  r"""
15460  get_is_setup(Model m, ParticleIndex pi) -> bool
15461  get_is_setup(_ParticleAdaptor p) -> bool
15462  """
15463  return _IMP_core.FilterProvenance_get_is_setup(*args)
15464 
15465  def show(self, *args):
15466  r"""show(FilterProvenance self, _ostream out=std::cout)"""
15467  return _IMP_core.FilterProvenance_show(self, *args)
15468 
15469  @staticmethod
15470  def setup_particle(*args):
15471  r"""
15472  setup_particle(Model m, ParticleIndex pi, std::string method, double threshold, int frames) -> FilterProvenance
15473  setup_particle(_ParticleAdaptor pa, std::string method, double threshold, int frames) -> FilterProvenance
15474  setup_particle(Model m, ParticleIndex pi, FilterProvenance o) -> FilterProvenance
15475  setup_particle(_ParticleAdaptor pa, FilterProvenance o) -> FilterProvenance
15476  """
15477  return _IMP_core.FilterProvenance_setup_particle(*args)
15478 
15479  def add_attribute(self, *args):
15480  r"""
15481  add_attribute(FilterProvenance self, FloatKey k, IMP::Float v, bool opt)
15482  add_attribute(FilterProvenance self, FloatKey a0, IMP::Float a1)
15483  add_attribute(FilterProvenance self, IntKey a0, IMP::Int a1)
15484  add_attribute(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15485  add_attribute(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15486  add_attribute(FilterProvenance self, StringKey a0, IMP::String a1)
15487  add_attribute(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15488  add_attribute(FilterProvenance self, ObjectKey a0, Object a1)
15489  add_attribute(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15490  add_attribute(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15491  add_attribute(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15492  add_attribute(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15493  """
15494  return _IMP_core.FilterProvenance_add_attribute(self, *args)
15495 
15496  def get_value(self, *args):
15497  r"""
15498  get_value(FilterProvenance self, FloatKey a0) -> IMP::Float
15499  get_value(FilterProvenance self, IntKey a0) -> IMP::Int
15500  get_value(FilterProvenance self, FloatsKey a0) -> IMP::Floats
15501  get_value(FilterProvenance self, IntsKey a0) -> IMP::Ints
15502  get_value(FilterProvenance self, StringKey a0) -> IMP::String
15503  get_value(FilterProvenance self, ParticleIndexKey a0) -> Particle
15504  get_value(FilterProvenance self, ObjectKey a0) -> Object
15505  get_value(FilterProvenance self, SparseFloatKey a0) -> IMP::Float
15506  get_value(FilterProvenance self, SparseIntKey a0) -> IMP::Int
15507  get_value(FilterProvenance self, SparseStringKey a0) -> IMP::String
15508  get_value(FilterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15509  """
15510  return _IMP_core.FilterProvenance_get_value(self, *args)
15511 
15512  def set_value(self, *args):
15513  r"""
15514  set_value(FilterProvenance self, FloatKey a0, IMP::Float a1)
15515  set_value(FilterProvenance self, IntKey a0, IMP::Int a1)
15516  set_value(FilterProvenance self, FloatsKey a0, IMP::Floats a1)
15517  set_value(FilterProvenance self, IntsKey a0, IMP::Ints a1)
15518  set_value(FilterProvenance self, StringKey a0, IMP::String a1)
15519  set_value(FilterProvenance self, ParticleIndexKey a0, Particle a1)
15520  set_value(FilterProvenance self, ObjectKey a0, Object a1)
15521  set_value(FilterProvenance self, SparseFloatKey a0, IMP::Float a1)
15522  set_value(FilterProvenance self, SparseIntKey a0, IMP::Int a1)
15523  set_value(FilterProvenance self, SparseStringKey a0, IMP::String a1)
15524  set_value(FilterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15525  """
15526  return _IMP_core.FilterProvenance_set_value(self, *args)
15527 
15528  def remove_attribute(self, *args):
15529  r"""
15530  remove_attribute(FilterProvenance self, FloatKey a0)
15531  remove_attribute(FilterProvenance self, IntKey a0)
15532  remove_attribute(FilterProvenance self, FloatsKey a0)
15533  remove_attribute(FilterProvenance self, IntsKey a0)
15534  remove_attribute(FilterProvenance self, StringKey a0)
15535  remove_attribute(FilterProvenance self, ParticleIndexKey a0)
15536  remove_attribute(FilterProvenance self, ObjectKey a0)
15537  remove_attribute(FilterProvenance self, SparseFloatKey a0)
15538  remove_attribute(FilterProvenance self, SparseIntKey a0)
15539  remove_attribute(FilterProvenance self, SparseStringKey a0)
15540  remove_attribute(FilterProvenance self, SparseParticleIndexKey a0)
15541  """
15542  return _IMP_core.FilterProvenance_remove_attribute(self, *args)
15543 
15544  def has_attribute(self, *args):
15545  r"""
15546  has_attribute(FilterProvenance self, FloatKey a0) -> bool
15547  has_attribute(FilterProvenance self, IntKey a0) -> bool
15548  has_attribute(FilterProvenance self, FloatsKey a0) -> bool
15549  has_attribute(FilterProvenance self, IntsKey a0) -> bool
15550  has_attribute(FilterProvenance self, StringKey a0) -> bool
15551  has_attribute(FilterProvenance self, ParticleIndexKey a0) -> bool
15552  has_attribute(FilterProvenance self, ObjectKey a0) -> bool
15553  has_attribute(FilterProvenance self, SparseFloatKey a0) -> bool
15554  has_attribute(FilterProvenance self, SparseIntKey a0) -> bool
15555  has_attribute(FilterProvenance self, SparseStringKey a0) -> bool
15556  has_attribute(FilterProvenance self, SparseParticleIndexKey a0) -> bool
15557  """
15558  return _IMP_core.FilterProvenance_has_attribute(self, *args)
15559 
15560  def get_derivative(self, a0):
15561  r"""get_derivative(FilterProvenance self, FloatKey a0) -> double"""
15562  return _IMP_core.FilterProvenance_get_derivative(self, a0)
15563 
15564  def get_name(self):
15565  r"""get_name(FilterProvenance self) -> std::string"""
15566  return _IMP_core.FilterProvenance_get_name(self)
15567 
15568  def clear_caches(self):
15569  r"""clear_caches(FilterProvenance self)"""
15570  return _IMP_core.FilterProvenance_clear_caches(self)
15571 
15572  def set_name(self, a0):
15573  r"""set_name(FilterProvenance self, std::string a0)"""
15574  return _IMP_core.FilterProvenance_set_name(self, a0)
15575 
15576  def set_check_level(self, a0):
15577  r"""set_check_level(FilterProvenance self, IMP::CheckLevel a0)"""
15578  return _IMP_core.FilterProvenance_set_check_level(self, a0)
15579 
15580  def add_to_derivative(self, a0, a1, a2):
15581  r"""add_to_derivative(FilterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15582  return _IMP_core.FilterProvenance_add_to_derivative(self, a0, a1, a2)
15583 
15584  def set_is_optimized(self, a0, a1):
15585  r"""set_is_optimized(FilterProvenance self, FloatKey a0, bool a1)"""
15586  return _IMP_core.FilterProvenance_set_is_optimized(self, a0, a1)
15587 
15588  def get_is_optimized(self, a0):
15589  r"""get_is_optimized(FilterProvenance self, FloatKey a0) -> bool"""
15590  return _IMP_core.FilterProvenance_get_is_optimized(self, a0)
15591 
15592  def get_check_level(self):
15593  r"""get_check_level(FilterProvenance self) -> IMP::CheckLevel"""
15594  return _IMP_core.FilterProvenance_get_check_level(self)
15595 
15596  def __eq__(self, *args):
15597  r"""
15598  __eq__(FilterProvenance self, FilterProvenance o) -> bool
15599  __eq__(FilterProvenance self, Particle d) -> bool
15600  """
15601  return _IMP_core.FilterProvenance___eq__(self, *args)
15602 
15603  def __ne__(self, *args):
15604  r"""
15605  __ne__(FilterProvenance self, FilterProvenance o) -> bool
15606  __ne__(FilterProvenance self, Particle d) -> bool
15607  """
15608  return _IMP_core.FilterProvenance___ne__(self, *args)
15609 
15610  def __le__(self, *args):
15611  r"""
15612  __le__(FilterProvenance self, FilterProvenance o) -> bool
15613  __le__(FilterProvenance self, Particle d) -> bool
15614  """
15615  return _IMP_core.FilterProvenance___le__(self, *args)
15616 
15617  def __lt__(self, *args):
15618  r"""
15619  __lt__(FilterProvenance self, FilterProvenance o) -> bool
15620  __lt__(FilterProvenance self, Particle d) -> bool
15621  """
15622  return _IMP_core.FilterProvenance___lt__(self, *args)
15623 
15624  def __ge__(self, *args):
15625  r"""
15626  __ge__(FilterProvenance self, FilterProvenance o) -> bool
15627  __ge__(FilterProvenance self, Particle d) -> bool
15628  """
15629  return _IMP_core.FilterProvenance___ge__(self, *args)
15630 
15631  def __gt__(self, *args):
15632  r"""
15633  __gt__(FilterProvenance self, FilterProvenance o) -> bool
15634  __gt__(FilterProvenance self, Particle d) -> bool
15635  """
15636  return _IMP_core.FilterProvenance___gt__(self, *args)
15637 
15638  def __hash__(self):
15639  r"""__hash__(FilterProvenance self) -> std::size_t"""
15640  return _IMP_core.FilterProvenance___hash__(self)
15641 
15642  def __str__(self):
15643  r"""__str__(FilterProvenance self) -> std::string"""
15644  return _IMP_core.FilterProvenance___str__(self)
15645 
15646  def __repr__(self):
15647  r"""__repr__(FilterProvenance self) -> std::string"""
15648  return _IMP_core.FilterProvenance___repr__(self)
15649 
15650  def _get_as_binary(self):
15651  r"""_get_as_binary(FilterProvenance self) -> PyObject *"""
15652  return _IMP_core.FilterProvenance__get_as_binary(self)
15653 
15654  def _set_from_binary(self, p):
15655  r"""_set_from_binary(FilterProvenance self, PyObject * p)"""
15656  return _IMP_core.FilterProvenance__set_from_binary(self, p)
15657 
15658  def __getstate__(self):
15659  p = self._get_as_binary()
15660  if len(self.__dict__) > 1:
15661  d = self.__dict__.copy()
15662  del d['this']
15663  p = (d, p)
15664  return p
15665 
15666  def __setstate__(self, p):
15667  if not hasattr(self, 'this'):
15668  self.__init__()
15669  if isinstance(p, tuple):
15670  d, p = p
15671  self.__dict__.update(d)
15672  return self._set_from_binary(p)
15673 
15674  __swig_destroy__ = _IMP_core.delete_FilterProvenance
15675 
15676 # Register FilterProvenance in _IMP_core:
15677 _IMP_core.FilterProvenance_swigregister(FilterProvenance)
15678 class ClusterProvenance(Provenance):
15679  r"""Proxy of C++ IMP::core::ClusterProvenance class."""
15680 
15681  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15682 
15683  def set_number_of_members(self, members):
15684  r"""set_number_of_members(ClusterProvenance self, int members)"""
15685  return _IMP_core.ClusterProvenance_set_number_of_members(self, members)
15686 
15687  def get_number_of_members(self):
15688  r"""get_number_of_members(ClusterProvenance self) -> int"""
15689  return _IMP_core.ClusterProvenance_get_number_of_members(self)
15690 
15691  def set_precision(self, precision):
15692  r"""set_precision(ClusterProvenance self, double precision)"""
15693  return _IMP_core.ClusterProvenance_set_precision(self, precision)
15694 
15695  def get_precision(self):
15696  r"""get_precision(ClusterProvenance self) -> double"""
15697  return _IMP_core.ClusterProvenance_get_precision(self)
15698 
15699  def set_density(self, density):
15700  r"""set_density(ClusterProvenance self, std::string density)"""
15701  return _IMP_core.ClusterProvenance_set_density(self, density)
15702 
15703  def get_density(self):
15704  r"""get_density(ClusterProvenance self) -> std::string"""
15705  return _IMP_core.ClusterProvenance_get_density(self)
15706 
15707  def __init__(self, *args):
15708  r"""
15709  __init__(ClusterProvenance self) -> ClusterProvenance
15710  __init__(ClusterProvenance self, Model m, ParticleIndex id) -> ClusterProvenance
15711  __init__(ClusterProvenance self, _ParticleAdaptor d) -> ClusterProvenance
15712  """
15713  _IMP_core.ClusterProvenance_swiginit(self, _IMP_core.new_ClusterProvenance(*args))
15714 
15715  @staticmethod
15716  def get_is_setup(*args):
15717  r"""
15718  get_is_setup(Model m, ParticleIndex pi) -> bool
15719  get_is_setup(_ParticleAdaptor p) -> bool
15720  """
15721  return _IMP_core.ClusterProvenance_get_is_setup(*args)
15722 
15723  def show(self, *args):
15724  r"""show(ClusterProvenance self, _ostream out=std::cout)"""
15725  return _IMP_core.ClusterProvenance_show(self, *args)
15726 
15727  @staticmethod
15728  def setup_particle(*args):
15729  r"""
15730  setup_particle(Model m, ParticleIndex pi, int members) -> ClusterProvenance
15731  setup_particle(_ParticleAdaptor pa, int members) -> ClusterProvenance
15732  setup_particle(Model m, ParticleIndex pi, int members, double precision) -> ClusterProvenance
15733  setup_particle(_ParticleAdaptor pa, int members, double precision) -> ClusterProvenance
15734  setup_particle(Model m, ParticleIndex pi, int members, double precision, std::string density) -> ClusterProvenance
15735  setup_particle(_ParticleAdaptor pa, int members, double precision, std::string density) -> ClusterProvenance
15736  setup_particle(Model m, ParticleIndex pi, ClusterProvenance o) -> ClusterProvenance
15737  setup_particle(_ParticleAdaptor pa, ClusterProvenance o) -> ClusterProvenance
15738  """
15739  return _IMP_core.ClusterProvenance_setup_particle(*args)
15740 
15741  def add_attribute(self, *args):
15742  r"""
15743  add_attribute(ClusterProvenance self, FloatKey k, IMP::Float v, bool opt)
15744  add_attribute(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15745  add_attribute(ClusterProvenance self, IntKey a0, IMP::Int a1)
15746  add_attribute(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15747  add_attribute(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15748  add_attribute(ClusterProvenance self, StringKey a0, IMP::String a1)
15749  add_attribute(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15750  add_attribute(ClusterProvenance self, ObjectKey a0, Object a1)
15751  add_attribute(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15752  add_attribute(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15753  add_attribute(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15754  add_attribute(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15755  """
15756  return _IMP_core.ClusterProvenance_add_attribute(self, *args)
15757 
15758  def get_value(self, *args):
15759  r"""
15760  get_value(ClusterProvenance self, FloatKey a0) -> IMP::Float
15761  get_value(ClusterProvenance self, IntKey a0) -> IMP::Int
15762  get_value(ClusterProvenance self, FloatsKey a0) -> IMP::Floats
15763  get_value(ClusterProvenance self, IntsKey a0) -> IMP::Ints
15764  get_value(ClusterProvenance self, StringKey a0) -> IMP::String
15765  get_value(ClusterProvenance self, ParticleIndexKey a0) -> Particle
15766  get_value(ClusterProvenance self, ObjectKey a0) -> Object
15767  get_value(ClusterProvenance self, SparseFloatKey a0) -> IMP::Float
15768  get_value(ClusterProvenance self, SparseIntKey a0) -> IMP::Int
15769  get_value(ClusterProvenance self, SparseStringKey a0) -> IMP::String
15770  get_value(ClusterProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
15771  """
15772  return _IMP_core.ClusterProvenance_get_value(self, *args)
15773 
15774  def set_value(self, *args):
15775  r"""
15776  set_value(ClusterProvenance self, FloatKey a0, IMP::Float a1)
15777  set_value(ClusterProvenance self, IntKey a0, IMP::Int a1)
15778  set_value(ClusterProvenance self, FloatsKey a0, IMP::Floats a1)
15779  set_value(ClusterProvenance self, IntsKey a0, IMP::Ints a1)
15780  set_value(ClusterProvenance self, StringKey a0, IMP::String a1)
15781  set_value(ClusterProvenance self, ParticleIndexKey a0, Particle a1)
15782  set_value(ClusterProvenance self, ObjectKey a0, Object a1)
15783  set_value(ClusterProvenance self, SparseFloatKey a0, IMP::Float a1)
15784  set_value(ClusterProvenance self, SparseIntKey a0, IMP::Int a1)
15785  set_value(ClusterProvenance self, SparseStringKey a0, IMP::String a1)
15786  set_value(ClusterProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15787  """
15788  return _IMP_core.ClusterProvenance_set_value(self, *args)
15789 
15790  def remove_attribute(self, *args):
15791  r"""
15792  remove_attribute(ClusterProvenance self, FloatKey a0)
15793  remove_attribute(ClusterProvenance self, IntKey a0)
15794  remove_attribute(ClusterProvenance self, FloatsKey a0)
15795  remove_attribute(ClusterProvenance self, IntsKey a0)
15796  remove_attribute(ClusterProvenance self, StringKey a0)
15797  remove_attribute(ClusterProvenance self, ParticleIndexKey a0)
15798  remove_attribute(ClusterProvenance self, ObjectKey a0)
15799  remove_attribute(ClusterProvenance self, SparseFloatKey a0)
15800  remove_attribute(ClusterProvenance self, SparseIntKey a0)
15801  remove_attribute(ClusterProvenance self, SparseStringKey a0)
15802  remove_attribute(ClusterProvenance self, SparseParticleIndexKey a0)
15803  """
15804  return _IMP_core.ClusterProvenance_remove_attribute(self, *args)
15805 
15806  def has_attribute(self, *args):
15807  r"""
15808  has_attribute(ClusterProvenance self, FloatKey a0) -> bool
15809  has_attribute(ClusterProvenance self, IntKey a0) -> bool
15810  has_attribute(ClusterProvenance self, FloatsKey a0) -> bool
15811  has_attribute(ClusterProvenance self, IntsKey a0) -> bool
15812  has_attribute(ClusterProvenance self, StringKey a0) -> bool
15813  has_attribute(ClusterProvenance self, ParticleIndexKey a0) -> bool
15814  has_attribute(ClusterProvenance self, ObjectKey a0) -> bool
15815  has_attribute(ClusterProvenance self, SparseFloatKey a0) -> bool
15816  has_attribute(ClusterProvenance self, SparseIntKey a0) -> bool
15817  has_attribute(ClusterProvenance self, SparseStringKey a0) -> bool
15818  has_attribute(ClusterProvenance self, SparseParticleIndexKey a0) -> bool
15819  """
15820  return _IMP_core.ClusterProvenance_has_attribute(self, *args)
15821 
15822  def get_derivative(self, a0):
15823  r"""get_derivative(ClusterProvenance self, FloatKey a0) -> double"""
15824  return _IMP_core.ClusterProvenance_get_derivative(self, a0)
15825 
15826  def get_name(self):
15827  r"""get_name(ClusterProvenance self) -> std::string"""
15828  return _IMP_core.ClusterProvenance_get_name(self)
15829 
15830  def clear_caches(self):
15831  r"""clear_caches(ClusterProvenance self)"""
15832  return _IMP_core.ClusterProvenance_clear_caches(self)
15833 
15834  def set_name(self, a0):
15835  r"""set_name(ClusterProvenance self, std::string a0)"""
15836  return _IMP_core.ClusterProvenance_set_name(self, a0)
15837 
15838  def set_check_level(self, a0):
15839  r"""set_check_level(ClusterProvenance self, IMP::CheckLevel a0)"""
15840  return _IMP_core.ClusterProvenance_set_check_level(self, a0)
15841 
15842  def add_to_derivative(self, a0, a1, a2):
15843  r"""add_to_derivative(ClusterProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
15844  return _IMP_core.ClusterProvenance_add_to_derivative(self, a0, a1, a2)
15845 
15846  def set_is_optimized(self, a0, a1):
15847  r"""set_is_optimized(ClusterProvenance self, FloatKey a0, bool a1)"""
15848  return _IMP_core.ClusterProvenance_set_is_optimized(self, a0, a1)
15849 
15850  def get_is_optimized(self, a0):
15851  r"""get_is_optimized(ClusterProvenance self, FloatKey a0) -> bool"""
15852  return _IMP_core.ClusterProvenance_get_is_optimized(self, a0)
15853 
15854  def get_check_level(self):
15855  r"""get_check_level(ClusterProvenance self) -> IMP::CheckLevel"""
15856  return _IMP_core.ClusterProvenance_get_check_level(self)
15857 
15858  def __eq__(self, *args):
15859  r"""
15860  __eq__(ClusterProvenance self, ClusterProvenance o) -> bool
15861  __eq__(ClusterProvenance self, Particle d) -> bool
15862  """
15863  return _IMP_core.ClusterProvenance___eq__(self, *args)
15864 
15865  def __ne__(self, *args):
15866  r"""
15867  __ne__(ClusterProvenance self, ClusterProvenance o) -> bool
15868  __ne__(ClusterProvenance self, Particle d) -> bool
15869  """
15870  return _IMP_core.ClusterProvenance___ne__(self, *args)
15871 
15872  def __le__(self, *args):
15873  r"""
15874  __le__(ClusterProvenance self, ClusterProvenance o) -> bool
15875  __le__(ClusterProvenance self, Particle d) -> bool
15876  """
15877  return _IMP_core.ClusterProvenance___le__(self, *args)
15878 
15879  def __lt__(self, *args):
15880  r"""
15881  __lt__(ClusterProvenance self, ClusterProvenance o) -> bool
15882  __lt__(ClusterProvenance self, Particle d) -> bool
15883  """
15884  return _IMP_core.ClusterProvenance___lt__(self, *args)
15885 
15886  def __ge__(self, *args):
15887  r"""
15888  __ge__(ClusterProvenance self, ClusterProvenance o) -> bool
15889  __ge__(ClusterProvenance self, Particle d) -> bool
15890  """
15891  return _IMP_core.ClusterProvenance___ge__(self, *args)
15892 
15893  def __gt__(self, *args):
15894  r"""
15895  __gt__(ClusterProvenance self, ClusterProvenance o) -> bool
15896  __gt__(ClusterProvenance self, Particle d) -> bool
15897  """
15898  return _IMP_core.ClusterProvenance___gt__(self, *args)
15899 
15900  def __hash__(self):
15901  r"""__hash__(ClusterProvenance self) -> std::size_t"""
15902  return _IMP_core.ClusterProvenance___hash__(self)
15903 
15904  def __str__(self):
15905  r"""__str__(ClusterProvenance self) -> std::string"""
15906  return _IMP_core.ClusterProvenance___str__(self)
15907 
15908  def __repr__(self):
15909  r"""__repr__(ClusterProvenance self) -> std::string"""
15910  return _IMP_core.ClusterProvenance___repr__(self)
15911 
15912  def _get_as_binary(self):
15913  r"""_get_as_binary(ClusterProvenance self) -> PyObject *"""
15914  return _IMP_core.ClusterProvenance__get_as_binary(self)
15915 
15916  def _set_from_binary(self, p):
15917  r"""_set_from_binary(ClusterProvenance self, PyObject * p)"""
15918  return _IMP_core.ClusterProvenance__set_from_binary(self, p)
15919 
15920  def __getstate__(self):
15921  p = self._get_as_binary()
15922  if len(self.__dict__) > 1:
15923  d = self.__dict__.copy()
15924  del d['this']
15925  p = (d, p)
15926  return p
15927 
15928  def __setstate__(self, p):
15929  if not hasattr(self, 'this'):
15930  self.__init__()
15931  if isinstance(p, tuple):
15932  d, p = p
15933  self.__dict__.update(d)
15934  return self._set_from_binary(p)
15935 
15936  __swig_destroy__ = _IMP_core.delete_ClusterProvenance
15937 
15938 # Register ClusterProvenance in _IMP_core:
15939 _IMP_core.ClusterProvenance_swigregister(ClusterProvenance)
15940 class ScriptProvenance(Provenance):
15941  r"""Proxy of C++ IMP::core::ScriptProvenance class."""
15942 
15943  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
15944 
15945  def set_filename(self, filename):
15946  r"""set_filename(ScriptProvenance self, std::string filename)"""
15947  return _IMP_core.ScriptProvenance_set_filename(self, filename)
15948 
15949  def get_filename(self):
15950  r"""get_filename(ScriptProvenance self) -> std::string"""
15951  return _IMP_core.ScriptProvenance_get_filename(self)
15952 
15953  def __init__(self, *args):
15954  r"""
15955  __init__(ScriptProvenance self) -> ScriptProvenance
15956  __init__(ScriptProvenance self, Model m, ParticleIndex id) -> ScriptProvenance
15957  __init__(ScriptProvenance self, _ParticleAdaptor d) -> ScriptProvenance
15958  """
15959  _IMP_core.ScriptProvenance_swiginit(self, _IMP_core.new_ScriptProvenance(*args))
15960 
15961  @staticmethod
15962  def get_is_setup(*args):
15963  r"""
15964  get_is_setup(Model m, ParticleIndex pi) -> bool
15965  get_is_setup(_ParticleAdaptor p) -> bool
15966  """
15967  return _IMP_core.ScriptProvenance_get_is_setup(*args)
15968 
15969  def show(self, *args):
15970  r"""show(ScriptProvenance self, _ostream out=std::cout)"""
15971  return _IMP_core.ScriptProvenance_show(self, *args)
15972 
15973  @staticmethod
15974  def setup_particle(*args):
15975  r"""
15976  setup_particle(Model m, ParticleIndex pi, std::string filename) -> ScriptProvenance
15977  setup_particle(_ParticleAdaptor pa, std::string filename) -> ScriptProvenance
15978  setup_particle(Model m, ParticleIndex pi, ScriptProvenance o) -> ScriptProvenance
15979  setup_particle(_ParticleAdaptor pa, ScriptProvenance o) -> ScriptProvenance
15980  """
15981  return _IMP_core.ScriptProvenance_setup_particle(*args)
15982 
15983  def add_attribute(self, *args):
15984  r"""
15985  add_attribute(ScriptProvenance self, FloatKey k, IMP::Float v, bool opt)
15986  add_attribute(ScriptProvenance self, FloatKey a0, IMP::Float a1)
15987  add_attribute(ScriptProvenance self, IntKey a0, IMP::Int a1)
15988  add_attribute(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
15989  add_attribute(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
15990  add_attribute(ScriptProvenance self, StringKey a0, IMP::String a1)
15991  add_attribute(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
15992  add_attribute(ScriptProvenance self, ObjectKey a0, Object a1)
15993  add_attribute(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
15994  add_attribute(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
15995  add_attribute(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
15996  add_attribute(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
15997  """
15998  return _IMP_core.ScriptProvenance_add_attribute(self, *args)
15999 
16000  def get_value(self, *args):
16001  r"""
16002  get_value(ScriptProvenance self, FloatKey a0) -> IMP::Float
16003  get_value(ScriptProvenance self, IntKey a0) -> IMP::Int
16004  get_value(ScriptProvenance self, FloatsKey a0) -> IMP::Floats
16005  get_value(ScriptProvenance self, IntsKey a0) -> IMP::Ints
16006  get_value(ScriptProvenance self, StringKey a0) -> IMP::String
16007  get_value(ScriptProvenance self, ParticleIndexKey a0) -> Particle
16008  get_value(ScriptProvenance self, ObjectKey a0) -> Object
16009  get_value(ScriptProvenance self, SparseFloatKey a0) -> IMP::Float
16010  get_value(ScriptProvenance self, SparseIntKey a0) -> IMP::Int
16011  get_value(ScriptProvenance self, SparseStringKey a0) -> IMP::String
16012  get_value(ScriptProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16013  """
16014  return _IMP_core.ScriptProvenance_get_value(self, *args)
16015 
16016  def set_value(self, *args):
16017  r"""
16018  set_value(ScriptProvenance self, FloatKey a0, IMP::Float a1)
16019  set_value(ScriptProvenance self, IntKey a0, IMP::Int a1)
16020  set_value(ScriptProvenance self, FloatsKey a0, IMP::Floats a1)
16021  set_value(ScriptProvenance self, IntsKey a0, IMP::Ints a1)
16022  set_value(ScriptProvenance self, StringKey a0, IMP::String a1)
16023  set_value(ScriptProvenance self, ParticleIndexKey a0, Particle a1)
16024  set_value(ScriptProvenance self, ObjectKey a0, Object a1)
16025  set_value(ScriptProvenance self, SparseFloatKey a0, IMP::Float a1)
16026  set_value(ScriptProvenance self, SparseIntKey a0, IMP::Int a1)
16027  set_value(ScriptProvenance self, SparseStringKey a0, IMP::String a1)
16028  set_value(ScriptProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16029  """
16030  return _IMP_core.ScriptProvenance_set_value(self, *args)
16031 
16032  def remove_attribute(self, *args):
16033  r"""
16034  remove_attribute(ScriptProvenance self, FloatKey a0)
16035  remove_attribute(ScriptProvenance self, IntKey a0)
16036  remove_attribute(ScriptProvenance self, FloatsKey a0)
16037  remove_attribute(ScriptProvenance self, IntsKey a0)
16038  remove_attribute(ScriptProvenance self, StringKey a0)
16039  remove_attribute(ScriptProvenance self, ParticleIndexKey a0)
16040  remove_attribute(ScriptProvenance self, ObjectKey a0)
16041  remove_attribute(ScriptProvenance self, SparseFloatKey a0)
16042  remove_attribute(ScriptProvenance self, SparseIntKey a0)
16043  remove_attribute(ScriptProvenance self, SparseStringKey a0)
16044  remove_attribute(ScriptProvenance self, SparseParticleIndexKey a0)
16045  """
16046  return _IMP_core.ScriptProvenance_remove_attribute(self, *args)
16047 
16048  def has_attribute(self, *args):
16049  r"""
16050  has_attribute(ScriptProvenance self, FloatKey a0) -> bool
16051  has_attribute(ScriptProvenance self, IntKey a0) -> bool
16052  has_attribute(ScriptProvenance self, FloatsKey a0) -> bool
16053  has_attribute(ScriptProvenance self, IntsKey a0) -> bool
16054  has_attribute(ScriptProvenance self, StringKey a0) -> bool
16055  has_attribute(ScriptProvenance self, ParticleIndexKey a0) -> bool
16056  has_attribute(ScriptProvenance self, ObjectKey a0) -> bool
16057  has_attribute(ScriptProvenance self, SparseFloatKey a0) -> bool
16058  has_attribute(ScriptProvenance self, SparseIntKey a0) -> bool
16059  has_attribute(ScriptProvenance self, SparseStringKey a0) -> bool
16060  has_attribute(ScriptProvenance self, SparseParticleIndexKey a0) -> bool
16061  """
16062  return _IMP_core.ScriptProvenance_has_attribute(self, *args)
16063 
16064  def get_derivative(self, a0):
16065  r"""get_derivative(ScriptProvenance self, FloatKey a0) -> double"""
16066  return _IMP_core.ScriptProvenance_get_derivative(self, a0)
16067 
16068  def get_name(self):
16069  r"""get_name(ScriptProvenance self) -> std::string"""
16070  return _IMP_core.ScriptProvenance_get_name(self)
16071 
16072  def clear_caches(self):
16073  r"""clear_caches(ScriptProvenance self)"""
16074  return _IMP_core.ScriptProvenance_clear_caches(self)
16075 
16076  def set_name(self, a0):
16077  r"""set_name(ScriptProvenance self, std::string a0)"""
16078  return _IMP_core.ScriptProvenance_set_name(self, a0)
16079 
16080  def set_check_level(self, a0):
16081  r"""set_check_level(ScriptProvenance self, IMP::CheckLevel a0)"""
16082  return _IMP_core.ScriptProvenance_set_check_level(self, a0)
16083 
16084  def add_to_derivative(self, a0, a1, a2):
16085  r"""add_to_derivative(ScriptProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16086  return _IMP_core.ScriptProvenance_add_to_derivative(self, a0, a1, a2)
16087 
16088  def set_is_optimized(self, a0, a1):
16089  r"""set_is_optimized(ScriptProvenance self, FloatKey a0, bool a1)"""
16090  return _IMP_core.ScriptProvenance_set_is_optimized(self, a0, a1)
16091 
16092  def get_is_optimized(self, a0):
16093  r"""get_is_optimized(ScriptProvenance self, FloatKey a0) -> bool"""
16094  return _IMP_core.ScriptProvenance_get_is_optimized(self, a0)
16095 
16096  def get_check_level(self):
16097  r"""get_check_level(ScriptProvenance self) -> IMP::CheckLevel"""
16098  return _IMP_core.ScriptProvenance_get_check_level(self)
16099 
16100  def __eq__(self, *args):
16101  r"""
16102  __eq__(ScriptProvenance self, ScriptProvenance o) -> bool
16103  __eq__(ScriptProvenance self, Particle d) -> bool
16104  """
16105  return _IMP_core.ScriptProvenance___eq__(self, *args)
16106 
16107  def __ne__(self, *args):
16108  r"""
16109  __ne__(ScriptProvenance self, ScriptProvenance o) -> bool
16110  __ne__(ScriptProvenance self, Particle d) -> bool
16111  """
16112  return _IMP_core.ScriptProvenance___ne__(self, *args)
16113 
16114  def __le__(self, *args):
16115  r"""
16116  __le__(ScriptProvenance self, ScriptProvenance o) -> bool
16117  __le__(ScriptProvenance self, Particle d) -> bool
16118  """
16119  return _IMP_core.ScriptProvenance___le__(self, *args)
16120 
16121  def __lt__(self, *args):
16122  r"""
16123  __lt__(ScriptProvenance self, ScriptProvenance o) -> bool
16124  __lt__(ScriptProvenance self, Particle d) -> bool
16125  """
16126  return _IMP_core.ScriptProvenance___lt__(self, *args)
16127 
16128  def __ge__(self, *args):
16129  r"""
16130  __ge__(ScriptProvenance self, ScriptProvenance o) -> bool
16131  __ge__(ScriptProvenance self, Particle d) -> bool
16132  """
16133  return _IMP_core.ScriptProvenance___ge__(self, *args)
16134 
16135  def __gt__(self, *args):
16136  r"""
16137  __gt__(ScriptProvenance self, ScriptProvenance o) -> bool
16138  __gt__(ScriptProvenance self, Particle d) -> bool
16139  """
16140  return _IMP_core.ScriptProvenance___gt__(self, *args)
16141 
16142  def __hash__(self):
16143  r"""__hash__(ScriptProvenance self) -> std::size_t"""
16144  return _IMP_core.ScriptProvenance___hash__(self)
16145 
16146  def __str__(self):
16147  r"""__str__(ScriptProvenance self) -> std::string"""
16148  return _IMP_core.ScriptProvenance___str__(self)
16149 
16150  def __repr__(self):
16151  r"""__repr__(ScriptProvenance self) -> std::string"""
16152  return _IMP_core.ScriptProvenance___repr__(self)
16153 
16154  def _get_as_binary(self):
16155  r"""_get_as_binary(ScriptProvenance self) -> PyObject *"""
16156  return _IMP_core.ScriptProvenance__get_as_binary(self)
16157 
16158  def _set_from_binary(self, p):
16159  r"""_set_from_binary(ScriptProvenance self, PyObject * p)"""
16160  return _IMP_core.ScriptProvenance__set_from_binary(self, p)
16161 
16162  def __getstate__(self):
16163  p = self._get_as_binary()
16164  if len(self.__dict__) > 1:
16165  d = self.__dict__.copy()
16166  del d['this']
16167  p = (d, p)
16168  return p
16169 
16170  def __setstate__(self, p):
16171  if not hasattr(self, 'this'):
16172  self.__init__()
16173  if isinstance(p, tuple):
16174  d, p = p
16175  self.__dict__.update(d)
16176  return self._set_from_binary(p)
16177 
16178  __swig_destroy__ = _IMP_core.delete_ScriptProvenance
16179 
16180 # Register ScriptProvenance in _IMP_core:
16181 _IMP_core.ScriptProvenance_swigregister(ScriptProvenance)
16182 class SoftwareProvenance(Provenance):
16183  r"""Proxy of C++ IMP::core::SoftwareProvenance class."""
16184 
16185  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16186 
16187  def set_software_name(self, name):
16188  r"""set_software_name(SoftwareProvenance self, std::string name)"""
16189  return _IMP_core.SoftwareProvenance_set_software_name(self, name)
16190 
16191  def get_software_name(self):
16192  r"""get_software_name(SoftwareProvenance self) -> std::string"""
16193  return _IMP_core.SoftwareProvenance_get_software_name(self)
16194 
16195  def set_version(self, version):
16196  r"""set_version(SoftwareProvenance self, std::string version)"""
16197  return _IMP_core.SoftwareProvenance_set_version(self, version)
16198 
16199  def get_version(self):
16200  r"""get_version(SoftwareProvenance self) -> std::string"""
16201  return _IMP_core.SoftwareProvenance_get_version(self)
16202 
16203  def set_location(self, location):
16204  r"""set_location(SoftwareProvenance self, std::string location)"""
16205  return _IMP_core.SoftwareProvenance_set_location(self, location)
16206 
16207  def get_location(self):
16208  r"""get_location(SoftwareProvenance self) -> std::string"""
16209  return _IMP_core.SoftwareProvenance_get_location(self)
16210 
16211  def __init__(self, *args):
16212  r"""
16213  __init__(SoftwareProvenance self) -> SoftwareProvenance
16214  __init__(SoftwareProvenance self, Model m, ParticleIndex id) -> SoftwareProvenance
16215  __init__(SoftwareProvenance self, _ParticleAdaptor d) -> SoftwareProvenance
16216  """
16217  _IMP_core.SoftwareProvenance_swiginit(self, _IMP_core.new_SoftwareProvenance(*args))
16218 
16219  @staticmethod
16220  def get_is_setup(*args):
16221  r"""
16222  get_is_setup(Model m, ParticleIndex pi) -> bool
16223  get_is_setup(_ParticleAdaptor p) -> bool
16224  """
16225  return _IMP_core.SoftwareProvenance_get_is_setup(*args)
16226 
16227  def show(self, *args):
16228  r"""show(SoftwareProvenance self, _ostream out=std::cout)"""
16229  return _IMP_core.SoftwareProvenance_show(self, *args)
16230 
16231  @staticmethod
16232  def setup_particle(*args):
16233  r"""
16234  setup_particle(Model m, ParticleIndex pi, std::string name, std::string version, std::string location) -> SoftwareProvenance
16235  setup_particle(_ParticleAdaptor pa, std::string name, std::string version, std::string location) -> SoftwareProvenance
16236  setup_particle(Model m, ParticleIndex pi, SoftwareProvenance o) -> SoftwareProvenance
16237  setup_particle(_ParticleAdaptor pa, SoftwareProvenance o) -> SoftwareProvenance
16238  """
16239  return _IMP_core.SoftwareProvenance_setup_particle(*args)
16240 
16241  def add_attribute(self, *args):
16242  r"""
16243  add_attribute(SoftwareProvenance self, FloatKey k, IMP::Float v, bool opt)
16244  add_attribute(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16245  add_attribute(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16246  add_attribute(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16247  add_attribute(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16248  add_attribute(SoftwareProvenance self, StringKey a0, IMP::String a1)
16249  add_attribute(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16250  add_attribute(SoftwareProvenance self, ObjectKey a0, Object a1)
16251  add_attribute(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16252  add_attribute(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16253  add_attribute(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16254  add_attribute(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16255  """
16256  return _IMP_core.SoftwareProvenance_add_attribute(self, *args)
16257 
16258  def get_value(self, *args):
16259  r"""
16260  get_value(SoftwareProvenance self, FloatKey a0) -> IMP::Float
16261  get_value(SoftwareProvenance self, IntKey a0) -> IMP::Int
16262  get_value(SoftwareProvenance self, FloatsKey a0) -> IMP::Floats
16263  get_value(SoftwareProvenance self, IntsKey a0) -> IMP::Ints
16264  get_value(SoftwareProvenance self, StringKey a0) -> IMP::String
16265  get_value(SoftwareProvenance self, ParticleIndexKey a0) -> Particle
16266  get_value(SoftwareProvenance self, ObjectKey a0) -> Object
16267  get_value(SoftwareProvenance self, SparseFloatKey a0) -> IMP::Float
16268  get_value(SoftwareProvenance self, SparseIntKey a0) -> IMP::Int
16269  get_value(SoftwareProvenance self, SparseStringKey a0) -> IMP::String
16270  get_value(SoftwareProvenance self, SparseParticleIndexKey a0) -> ParticleIndex
16271  """
16272  return _IMP_core.SoftwareProvenance_get_value(self, *args)
16273 
16274  def set_value(self, *args):
16275  r"""
16276  set_value(SoftwareProvenance self, FloatKey a0, IMP::Float a1)
16277  set_value(SoftwareProvenance self, IntKey a0, IMP::Int a1)
16278  set_value(SoftwareProvenance self, FloatsKey a0, IMP::Floats a1)
16279  set_value(SoftwareProvenance self, IntsKey a0, IMP::Ints a1)
16280  set_value(SoftwareProvenance self, StringKey a0, IMP::String a1)
16281  set_value(SoftwareProvenance self, ParticleIndexKey a0, Particle a1)
16282  set_value(SoftwareProvenance self, ObjectKey a0, Object a1)
16283  set_value(SoftwareProvenance self, SparseFloatKey a0, IMP::Float a1)
16284  set_value(SoftwareProvenance self, SparseIntKey a0, IMP::Int a1)
16285  set_value(SoftwareProvenance self, SparseStringKey a0, IMP::String a1)
16286  set_value(SoftwareProvenance self, SparseParticleIndexKey a0, ParticleIndex a1)
16287  """
16288  return _IMP_core.SoftwareProvenance_set_value(self, *args)
16289 
16290  def remove_attribute(self, *args):
16291  r"""
16292  remove_attribute(SoftwareProvenance self, FloatKey a0)
16293  remove_attribute(SoftwareProvenance self, IntKey a0)
16294  remove_attribute(SoftwareProvenance self, FloatsKey a0)
16295  remove_attribute(SoftwareProvenance self, IntsKey a0)
16296  remove_attribute(SoftwareProvenance self, StringKey a0)
16297  remove_attribute(SoftwareProvenance self, ParticleIndexKey a0)
16298  remove_attribute(SoftwareProvenance self, ObjectKey a0)
16299  remove_attribute(SoftwareProvenance self, SparseFloatKey a0)
16300  remove_attribute(SoftwareProvenance self, SparseIntKey a0)
16301  remove_attribute(SoftwareProvenance self, SparseStringKey a0)
16302  remove_attribute(SoftwareProvenance self, SparseParticleIndexKey a0)
16303  """
16304  return _IMP_core.SoftwareProvenance_remove_attribute(self, *args)
16305 
16306  def has_attribute(self, *args):
16307  r"""
16308  has_attribute(SoftwareProvenance self, FloatKey a0) -> bool
16309  has_attribute(SoftwareProvenance self, IntKey a0) -> bool
16310  has_attribute(SoftwareProvenance self, FloatsKey a0) -> bool
16311  has_attribute(SoftwareProvenance self, IntsKey a0) -> bool
16312  has_attribute(SoftwareProvenance self, StringKey a0) -> bool
16313  has_attribute(SoftwareProvenance self, ParticleIndexKey a0) -> bool
16314  has_attribute(SoftwareProvenance self, ObjectKey a0) -> bool
16315  has_attribute(SoftwareProvenance self, SparseFloatKey a0) -> bool
16316  has_attribute(SoftwareProvenance self, SparseIntKey a0) -> bool
16317  has_attribute(SoftwareProvenance self, SparseStringKey a0) -> bool
16318  has_attribute(SoftwareProvenance self, SparseParticleIndexKey a0) -> bool
16319  """
16320  return _IMP_core.SoftwareProvenance_has_attribute(self, *args)
16321 
16322  def get_derivative(self, a0):
16323  r"""get_derivative(SoftwareProvenance self, FloatKey a0) -> double"""
16324  return _IMP_core.SoftwareProvenance_get_derivative(self, a0)
16325 
16326  def get_name(self):
16327  r"""get_name(SoftwareProvenance self) -> std::string"""
16328  return _IMP_core.SoftwareProvenance_get_name(self)
16329 
16330  def clear_caches(self):
16331  r"""clear_caches(SoftwareProvenance self)"""
16332  return _IMP_core.SoftwareProvenance_clear_caches(self)
16333 
16334  def set_name(self, a0):
16335  r"""set_name(SoftwareProvenance self, std::string a0)"""
16336  return _IMP_core.SoftwareProvenance_set_name(self, a0)
16337 
16338  def set_check_level(self, a0):
16339  r"""set_check_level(SoftwareProvenance self, IMP::CheckLevel a0)"""
16340  return _IMP_core.SoftwareProvenance_set_check_level(self, a0)
16341 
16342  def add_to_derivative(self, a0, a1, a2):
16343  r"""add_to_derivative(SoftwareProvenance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16344  return _IMP_core.SoftwareProvenance_add_to_derivative(self, a0, a1, a2)
16345 
16346  def set_is_optimized(self, a0, a1):
16347  r"""set_is_optimized(SoftwareProvenance self, FloatKey a0, bool a1)"""
16348  return _IMP_core.SoftwareProvenance_set_is_optimized(self, a0, a1)
16349 
16350  def get_is_optimized(self, a0):
16351  r"""get_is_optimized(SoftwareProvenance self, FloatKey a0) -> bool"""
16352  return _IMP_core.SoftwareProvenance_get_is_optimized(self, a0)
16353 
16354  def get_check_level(self):
16355  r"""get_check_level(SoftwareProvenance self) -> IMP::CheckLevel"""
16356  return _IMP_core.SoftwareProvenance_get_check_level(self)
16357 
16358  def __eq__(self, *args):
16359  r"""
16360  __eq__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16361  __eq__(SoftwareProvenance self, Particle d) -> bool
16362  """
16363  return _IMP_core.SoftwareProvenance___eq__(self, *args)
16364 
16365  def __ne__(self, *args):
16366  r"""
16367  __ne__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16368  __ne__(SoftwareProvenance self, Particle d) -> bool
16369  """
16370  return _IMP_core.SoftwareProvenance___ne__(self, *args)
16371 
16372  def __le__(self, *args):
16373  r"""
16374  __le__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16375  __le__(SoftwareProvenance self, Particle d) -> bool
16376  """
16377  return _IMP_core.SoftwareProvenance___le__(self, *args)
16378 
16379  def __lt__(self, *args):
16380  r"""
16381  __lt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16382  __lt__(SoftwareProvenance self, Particle d) -> bool
16383  """
16384  return _IMP_core.SoftwareProvenance___lt__(self, *args)
16385 
16386  def __ge__(self, *args):
16387  r"""
16388  __ge__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16389  __ge__(SoftwareProvenance self, Particle d) -> bool
16390  """
16391  return _IMP_core.SoftwareProvenance___ge__(self, *args)
16392 
16393  def __gt__(self, *args):
16394  r"""
16395  __gt__(SoftwareProvenance self, SoftwareProvenance o) -> bool
16396  __gt__(SoftwareProvenance self, Particle d) -> bool
16397  """
16398  return _IMP_core.SoftwareProvenance___gt__(self, *args)
16399 
16400  def __hash__(self):
16401  r"""__hash__(SoftwareProvenance self) -> std::size_t"""
16402  return _IMP_core.SoftwareProvenance___hash__(self)
16403 
16404  def __str__(self):
16405  r"""__str__(SoftwareProvenance self) -> std::string"""
16406  return _IMP_core.SoftwareProvenance___str__(self)
16407 
16408  def __repr__(self):
16409  r"""__repr__(SoftwareProvenance self) -> std::string"""
16410  return _IMP_core.SoftwareProvenance___repr__(self)
16411 
16412  def _get_as_binary(self):
16413  r"""_get_as_binary(SoftwareProvenance self) -> PyObject *"""
16414  return _IMP_core.SoftwareProvenance__get_as_binary(self)
16415 
16416  def _set_from_binary(self, p):
16417  r"""_set_from_binary(SoftwareProvenance self, PyObject * p)"""
16418  return _IMP_core.SoftwareProvenance__set_from_binary(self, p)
16419 
16420  def __getstate__(self):
16421  p = self._get_as_binary()
16422  if len(self.__dict__) > 1:
16423  d = self.__dict__.copy()
16424  del d['this']
16425  p = (d, p)
16426  return p
16427 
16428  def __setstate__(self, p):
16429  if not hasattr(self, 'this'):
16430  self.__init__()
16431  if isinstance(p, tuple):
16432  d, p = p
16433  self.__dict__.update(d)
16434  return self._set_from_binary(p)
16435 
16436  __swig_destroy__ = _IMP_core.delete_SoftwareProvenance
16437 
16438 # Register SoftwareProvenance in _IMP_core:
16439 _IMP_core.SoftwareProvenance_swigregister(SoftwareProvenance)
16440 class Provenanced(IMP.Decorator):
16441  r"""Proxy of C++ IMP::core::Provenanced class."""
16442 
16443  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16444 
16445  def get_provenance(self):
16446  r"""get_provenance(Provenanced self) -> Provenance"""
16447  return _IMP_core.Provenanced_get_provenance(self)
16448 
16449  def set_provenance(self, p):
16450  r"""set_provenance(Provenanced self, Provenance p)"""
16451  return _IMP_core.Provenanced_set_provenance(self, p)
16452 
16453  def __init__(self, *args):
16454  r"""
16455  __init__(Provenanced self) -> Provenanced
16456  __init__(Provenanced self, Model m, ParticleIndex id) -> Provenanced
16457  __init__(Provenanced self, _ParticleAdaptor d) -> Provenanced
16458  """
16459  _IMP_core.Provenanced_swiginit(self, _IMP_core.new_Provenanced(*args))
16460 
16461  @staticmethod
16462  def get_is_setup(*args):
16463  r"""
16464  get_is_setup(Model m, ParticleIndex pi) -> bool
16465  get_is_setup(_ParticleAdaptor p) -> bool
16466  """
16467  return _IMP_core.Provenanced_get_is_setup(*args)
16468 
16469  def show(self, *args):
16470  r"""show(Provenanced self, _ostream out=std::cout)"""
16471  return _IMP_core.Provenanced_show(self, *args)
16472 
16473  @staticmethod
16474  def setup_particle(*args):
16475  r"""
16476  setup_particle(Model m, ParticleIndex pi, Provenance p) -> Provenanced
16477  setup_particle(_ParticleAdaptor pa, Provenance p) -> Provenanced
16478  """
16479  return _IMP_core.Provenanced_setup_particle(*args)
16480 
16481  def add_attribute(self, *args):
16482  r"""
16483  add_attribute(Provenanced self, FloatKey k, IMP::Float v, bool opt)
16484  add_attribute(Provenanced self, FloatKey a0, IMP::Float a1)
16485  add_attribute(Provenanced self, IntKey a0, IMP::Int a1)
16486  add_attribute(Provenanced self, FloatsKey a0, IMP::Floats a1)
16487  add_attribute(Provenanced self, IntsKey a0, IMP::Ints a1)
16488  add_attribute(Provenanced self, StringKey a0, IMP::String a1)
16489  add_attribute(Provenanced self, ParticleIndexKey a0, Particle a1)
16490  add_attribute(Provenanced self, ObjectKey a0, Object a1)
16491  add_attribute(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16492  add_attribute(Provenanced self, SparseIntKey a0, IMP::Int a1)
16493  add_attribute(Provenanced self, SparseStringKey a0, IMP::String a1)
16494  add_attribute(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16495  """
16496  return _IMP_core.Provenanced_add_attribute(self, *args)
16497 
16498  def get_value(self, *args):
16499  r"""
16500  get_value(Provenanced self, FloatKey a0) -> IMP::Float
16501  get_value(Provenanced self, IntKey a0) -> IMP::Int
16502  get_value(Provenanced self, FloatsKey a0) -> IMP::Floats
16503  get_value(Provenanced self, IntsKey a0) -> IMP::Ints
16504  get_value(Provenanced self, StringKey a0) -> IMP::String
16505  get_value(Provenanced self, ParticleIndexKey a0) -> Particle
16506  get_value(Provenanced self, ObjectKey a0) -> Object
16507  get_value(Provenanced self, SparseFloatKey a0) -> IMP::Float
16508  get_value(Provenanced self, SparseIntKey a0) -> IMP::Int
16509  get_value(Provenanced self, SparseStringKey a0) -> IMP::String
16510  get_value(Provenanced self, SparseParticleIndexKey a0) -> ParticleIndex
16511  """
16512  return _IMP_core.Provenanced_get_value(self, *args)
16513 
16514  def set_value(self, *args):
16515  r"""
16516  set_value(Provenanced self, FloatKey a0, IMP::Float a1)
16517  set_value(Provenanced self, IntKey a0, IMP::Int a1)
16518  set_value(Provenanced self, FloatsKey a0, IMP::Floats a1)
16519  set_value(Provenanced self, IntsKey a0, IMP::Ints a1)
16520  set_value(Provenanced self, StringKey a0, IMP::String a1)
16521  set_value(Provenanced self, ParticleIndexKey a0, Particle a1)
16522  set_value(Provenanced self, ObjectKey a0, Object a1)
16523  set_value(Provenanced self, SparseFloatKey a0, IMP::Float a1)
16524  set_value(Provenanced self, SparseIntKey a0, IMP::Int a1)
16525  set_value(Provenanced self, SparseStringKey a0, IMP::String a1)
16526  set_value(Provenanced self, SparseParticleIndexKey a0, ParticleIndex a1)
16527  """
16528  return _IMP_core.Provenanced_set_value(self, *args)
16529 
16530  def remove_attribute(self, *args):
16531  r"""
16532  remove_attribute(Provenanced self, FloatKey a0)
16533  remove_attribute(Provenanced self, IntKey a0)
16534  remove_attribute(Provenanced self, FloatsKey a0)
16535  remove_attribute(Provenanced self, IntsKey a0)
16536  remove_attribute(Provenanced self, StringKey a0)
16537  remove_attribute(Provenanced self, ParticleIndexKey a0)
16538  remove_attribute(Provenanced self, ObjectKey a0)
16539  remove_attribute(Provenanced self, SparseFloatKey a0)
16540  remove_attribute(Provenanced self, SparseIntKey a0)
16541  remove_attribute(Provenanced self, SparseStringKey a0)
16542  remove_attribute(Provenanced self, SparseParticleIndexKey a0)
16543  """
16544  return _IMP_core.Provenanced_remove_attribute(self, *args)
16545 
16546  def has_attribute(self, *args):
16547  r"""
16548  has_attribute(Provenanced self, FloatKey a0) -> bool
16549  has_attribute(Provenanced self, IntKey a0) -> bool
16550  has_attribute(Provenanced self, FloatsKey a0) -> bool
16551  has_attribute(Provenanced self, IntsKey a0) -> bool
16552  has_attribute(Provenanced self, StringKey a0) -> bool
16553  has_attribute(Provenanced self, ParticleIndexKey a0) -> bool
16554  has_attribute(Provenanced self, ObjectKey a0) -> bool
16555  has_attribute(Provenanced self, SparseFloatKey a0) -> bool
16556  has_attribute(Provenanced self, SparseIntKey a0) -> bool
16557  has_attribute(Provenanced self, SparseStringKey a0) -> bool
16558  has_attribute(Provenanced self, SparseParticleIndexKey a0) -> bool
16559  """
16560  return _IMP_core.Provenanced_has_attribute(self, *args)
16561 
16562  def get_derivative(self, a0):
16563  r"""get_derivative(Provenanced self, FloatKey a0) -> double"""
16564  return _IMP_core.Provenanced_get_derivative(self, a0)
16565 
16566  def get_name(self):
16567  r"""get_name(Provenanced self) -> std::string"""
16568  return _IMP_core.Provenanced_get_name(self)
16569 
16570  def clear_caches(self):
16571  r"""clear_caches(Provenanced self)"""
16572  return _IMP_core.Provenanced_clear_caches(self)
16573 
16574  def set_name(self, a0):
16575  r"""set_name(Provenanced self, std::string a0)"""
16576  return _IMP_core.Provenanced_set_name(self, a0)
16577 
16578  def set_check_level(self, a0):
16579  r"""set_check_level(Provenanced self, IMP::CheckLevel a0)"""
16580  return _IMP_core.Provenanced_set_check_level(self, a0)
16581 
16582  def add_to_derivative(self, a0, a1, a2):
16583  r"""add_to_derivative(Provenanced self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
16584  return _IMP_core.Provenanced_add_to_derivative(self, a0, a1, a2)
16585 
16586  def set_is_optimized(self, a0, a1):
16587  r"""set_is_optimized(Provenanced self, FloatKey a0, bool a1)"""
16588  return _IMP_core.Provenanced_set_is_optimized(self, a0, a1)
16589 
16590  def get_is_optimized(self, a0):
16591  r"""get_is_optimized(Provenanced self, FloatKey a0) -> bool"""
16592  return _IMP_core.Provenanced_get_is_optimized(self, a0)
16593 
16594  def get_check_level(self):
16595  r"""get_check_level(Provenanced self) -> IMP::CheckLevel"""
16596  return _IMP_core.Provenanced_get_check_level(self)
16597 
16598  def __eq__(self, *args):
16599  r"""
16600  __eq__(Provenanced self, Provenanced o) -> bool
16601  __eq__(Provenanced self, Particle d) -> bool
16602  """
16603  return _IMP_core.Provenanced___eq__(self, *args)
16604 
16605  def __ne__(self, *args):
16606  r"""
16607  __ne__(Provenanced self, Provenanced o) -> bool
16608  __ne__(Provenanced self, Particle d) -> bool
16609  """
16610  return _IMP_core.Provenanced___ne__(self, *args)
16611 
16612  def __le__(self, *args):
16613  r"""
16614  __le__(Provenanced self, Provenanced o) -> bool
16615  __le__(Provenanced self, Particle d) -> bool
16616  """
16617  return _IMP_core.Provenanced___le__(self, *args)
16618 
16619  def __lt__(self, *args):
16620  r"""
16621  __lt__(Provenanced self, Provenanced o) -> bool
16622  __lt__(Provenanced self, Particle d) -> bool
16623  """
16624  return _IMP_core.Provenanced___lt__(self, *args)
16625 
16626  def __ge__(self, *args):
16627  r"""
16628  __ge__(Provenanced self, Provenanced o) -> bool
16629  __ge__(Provenanced self, Particle d) -> bool
16630  """
16631  return _IMP_core.Provenanced___ge__(self, *args)
16632 
16633  def __gt__(self, *args):
16634  r"""
16635  __gt__(Provenanced self, Provenanced o) -> bool
16636  __gt__(Provenanced self, Particle d) -> bool
16637  """
16638  return _IMP_core.Provenanced___gt__(self, *args)
16639 
16640  def __hash__(self):
16641  r"""__hash__(Provenanced self) -> std::size_t"""
16642  return _IMP_core.Provenanced___hash__(self)
16643 
16644  def __str__(self):
16645  r"""__str__(Provenanced self) -> std::string"""
16646  return _IMP_core.Provenanced___str__(self)
16647 
16648  def __repr__(self):
16649  r"""__repr__(Provenanced self) -> std::string"""
16650  return _IMP_core.Provenanced___repr__(self)
16651 
16652  def _get_as_binary(self):
16653  r"""_get_as_binary(Provenanced self) -> PyObject *"""
16654  return _IMP_core.Provenanced__get_as_binary(self)
16655 
16656  def _set_from_binary(self, p):
16657  r"""_set_from_binary(Provenanced self, PyObject * p)"""
16658  return _IMP_core.Provenanced__set_from_binary(self, p)
16659 
16660  def __getstate__(self):
16661  p = self._get_as_binary()
16662  if len(self.__dict__) > 1:
16663  d = self.__dict__.copy()
16664  del d['this']
16665  p = (d, p)
16666  return p
16667 
16668  def __setstate__(self, p):
16669  if not hasattr(self, 'this'):
16670  self.__init__()
16671  if isinstance(p, tuple):
16672  d, p = p
16673  self.__dict__.update(d)
16674  return self._set_from_binary(p)
16675 
16676  __swig_destroy__ = _IMP_core.delete_Provenanced
16677 
16678 # Register Provenanced in _IMP_core:
16679 _IMP_core.Provenanced_swigregister(Provenanced)
16680 
16681 def add_provenance(m, pi, p):
16682  r"""add_provenance(Model m, ParticleIndex pi, Provenance p)"""
16683  return _IMP_core.add_provenance(m, pi, p)
16684 
16685 def create_clone(p, m=None):
16686  r"""create_clone(Provenance p, Model m=None) -> Provenance"""
16687  return _IMP_core.create_clone(p, m)
16688 
16690  r"""
16691  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16692  get_transformation_aligning_first_to_second(IMP::ParticlesTemp const & a, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & b) -> Transformation3D
16693  get_transformation_aligning_first_to_second(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & a, IMP::ParticlesTemp const & b) -> Transformation3D
16694  """
16695  return _IMP_core.get_transformation_aligning_first_to_second(*args)
16696 
16697 def create_restraint(ps, pp):
16698  r"""create_restraint(PairScore ps, IMP::ParticlePair pp) -> Restraint"""
16699  return _IMP_core.create_restraint(ps, pp)
16701  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::LOWER > class."""
16702 
16703  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16704 
16705  def __init__(self, *args):
16706  r"""
16707  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicLowerBound
16708  __init__(TruncatedHarmonicLowerBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicLowerBound
16709  """
16710  _IMP_core.TruncatedHarmonicLowerBound_swiginit(self, _IMP_core.new_TruncatedHarmonicLowerBound(*args))
16711 
16712  def get_version_info(self):
16713  r"""get_version_info(TruncatedHarmonicLowerBound self) -> VersionInfo"""
16714  return _IMP_core.TruncatedHarmonicLowerBound_get_version_info(self)
16715  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicLowerBound
16716 
16717  def __str__(self):
16718  r"""__str__(TruncatedHarmonicLowerBound self) -> std::string"""
16719  return _IMP_core.TruncatedHarmonicLowerBound___str__(self)
16720 
16721  def __repr__(self):
16722  r"""__repr__(TruncatedHarmonicLowerBound self) -> std::string"""
16723  return _IMP_core.TruncatedHarmonicLowerBound___repr__(self)
16724 
16725  @staticmethod
16726  def get_from(o):
16727  return _object_cast_to_TruncatedHarmonic(o)
16728 
16729 
16730 # Register TruncatedHarmonicLowerBound in _IMP_core:
16731 _IMP_core.TruncatedHarmonicLowerBound_swigregister(TruncatedHarmonicLowerBound)
16733  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::UPPER > class."""
16734 
16735  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16736 
16737  def __init__(self, *args):
16738  r"""
16739  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicUpperBound
16740  __init__(TruncatedHarmonicUpperBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicUpperBound
16741  """
16742  _IMP_core.TruncatedHarmonicUpperBound_swiginit(self, _IMP_core.new_TruncatedHarmonicUpperBound(*args))
16743 
16744  def get_version_info(self):
16745  r"""get_version_info(TruncatedHarmonicUpperBound self) -> VersionInfo"""
16746  return _IMP_core.TruncatedHarmonicUpperBound_get_version_info(self)
16747  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicUpperBound
16748 
16749  def __str__(self):
16750  r"""__str__(TruncatedHarmonicUpperBound self) -> std::string"""
16751  return _IMP_core.TruncatedHarmonicUpperBound___str__(self)
16752 
16753  def __repr__(self):
16754  r"""__repr__(TruncatedHarmonicUpperBound self) -> std::string"""
16755  return _IMP_core.TruncatedHarmonicUpperBound___repr__(self)
16756 
16757  @staticmethod
16758  def get_from(o):
16759  return _object_cast_to_TruncatedHarmonic(o)
16760 
16761 
16762 # Register TruncatedHarmonicUpperBound in _IMP_core:
16763 _IMP_core.TruncatedHarmonicUpperBound_swigregister(TruncatedHarmonicUpperBound)
16765  r"""Proxy of C++ IMP::core::TruncatedHarmonic< IMP::core::BOTH > class."""
16766 
16767  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16768 
16769  def __init__(self, *args):
16770  r"""
16771  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold, IMP::Float limit) -> TruncatedHarmonicBound
16772  __init__(TruncatedHarmonicBound self, IMP::Float center, IMP::Float k, IMP::Float threshold) -> TruncatedHarmonicBound
16773  """
16774  _IMP_core.TruncatedHarmonicBound_swiginit(self, _IMP_core.new_TruncatedHarmonicBound(*args))
16775 
16776  def get_version_info(self):
16777  r"""get_version_info(TruncatedHarmonicBound self) -> VersionInfo"""
16778  return _IMP_core.TruncatedHarmonicBound_get_version_info(self)
16779  __swig_destroy__ = _IMP_core.delete_TruncatedHarmonicBound
16780 
16781  def __str__(self):
16782  r"""__str__(TruncatedHarmonicBound self) -> std::string"""
16783  return _IMP_core.TruncatedHarmonicBound___str__(self)
16784 
16785  def __repr__(self):
16786  r"""__repr__(TruncatedHarmonicBound self) -> std::string"""
16787  return _IMP_core.TruncatedHarmonicBound___repr__(self)
16788 
16789  @staticmethod
16790  def get_from(o):
16791  return _object_cast_to_TruncatedHarmonic(o)
16792 
16793 
16794 # Register TruncatedHarmonicBound in _IMP_core:
16795 _IMP_core.TruncatedHarmonicBound_swigregister(TruncatedHarmonicBound)
16796 class ParticleType(IMP._Value):
16797  r"""Proxy of C++ IMP::Key< 34897493 > class."""
16798 
16799  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16800 
16801  def __init__(self, *args):
16802  r"""
16803  __init__(ParticleType self) -> ParticleType
16804  __init__(ParticleType self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleType
16805  __init__(ParticleType self, unsigned int i) -> ParticleType
16806  """
16807  _IMP_core.ParticleType_swiginit(self, _IMP_core.new_ParticleType(*args))
16808 
16809  @staticmethod
16810  def add_key(sc):
16811  r"""add_key(std::string sc) -> unsigned int"""
16812  return _IMP_core.ParticleType_add_key(sc)
16813 
16814  @staticmethod
16815  def get_key_exists(sc):
16816  r"""get_key_exists(std::string sc) -> bool"""
16817  return _IMP_core.ParticleType_get_key_exists(sc)
16818 
16819  def get_string(self):
16820  r"""get_string(ParticleType self) -> std::string const"""
16821  return _IMP_core.ParticleType_get_string(self)
16822 
16823  def __cmp__(self, o):
16824  r"""__cmp__(ParticleType self, ParticleType o) -> int"""
16825  return _IMP_core.ParticleType___cmp__(self, o)
16826 
16827  def __eq__(self, o):
16828  r"""__eq__(ParticleType self, ParticleType o) -> bool"""
16829  return _IMP_core.ParticleType___eq__(self, o)
16830 
16831  def __ne__(self, o):
16832  r"""__ne__(ParticleType self, ParticleType o) -> bool"""
16833  return _IMP_core.ParticleType___ne__(self, o)
16834 
16835  def __lt__(self, o):
16836  r"""__lt__(ParticleType self, ParticleType o) -> bool"""
16837  return _IMP_core.ParticleType___lt__(self, o)
16838 
16839  def __gt__(self, o):
16840  r"""__gt__(ParticleType self, ParticleType o) -> bool"""
16841  return _IMP_core.ParticleType___gt__(self, o)
16842 
16843  def __ge__(self, o):
16844  r"""__ge__(ParticleType self, ParticleType o) -> bool"""
16845  return _IMP_core.ParticleType___ge__(self, o)
16846 
16847  def __le__(self, o):
16848  r"""__le__(ParticleType self, ParticleType o) -> bool"""
16849  return _IMP_core.ParticleType___le__(self, o)
16850 
16851  def __hash__(self):
16852  r"""__hash__(ParticleType self) -> std::size_t"""
16853  return _IMP_core.ParticleType___hash__(self)
16854 
16855  def show(self, *args):
16856  r"""show(ParticleType self, _ostream out=std::cout)"""
16857  return _IMP_core.ParticleType_show(self, *args)
16858 
16859  @staticmethod
16860  def add_alias(old_key, new_name):
16861  r"""add_alias(ParticleType old_key, std::string new_name) -> ParticleType"""
16862  return _IMP_core.ParticleType_add_alias(old_key, new_name)
16863 
16864  @staticmethod
16865  def get_number_of_keys():
16866  r"""get_number_of_keys() -> unsigned int"""
16867  return _IMP_core.ParticleType_get_number_of_keys()
16868 
16869  def get_index(self):
16870  r"""get_index(ParticleType self) -> unsigned int"""
16871  return _IMP_core.ParticleType_get_index(self)
16872 
16873  @staticmethod
16874  def show_all(out):
16875  r"""show_all(_ostream out)"""
16876  return _IMP_core.ParticleType_show_all(out)
16877 
16878  @staticmethod
16879  def get_all_strings():
16880  r"""get_all_strings() -> IMP::Vector< std::string >"""
16881  return _IMP_core.ParticleType_get_all_strings()
16882 
16883  @staticmethod
16884  def get_number_unique():
16885  r"""get_number_unique() -> unsigned int"""
16886  return _IMP_core.ParticleType_get_number_unique()
16887 
16888  def __str__(self):
16889  r"""__str__(ParticleType self) -> std::string"""
16890  return _IMP_core.ParticleType___str__(self)
16891 
16892  def __repr__(self):
16893  r"""__repr__(ParticleType self) -> std::string"""
16894  return _IMP_core.ParticleType___repr__(self)
16895  __swig_destroy__ = _IMP_core.delete_ParticleType
16896 
16897 # Register ParticleType in _IMP_core:
16898 _IMP_core.ParticleType_swigregister(ParticleType)
16900  r"""Proxy of C++ IMP::core::GenericAttributeSingletonScore< UnaryFunction > class."""
16901 
16902  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16903  __repr__ = _swig_repr
16904 
16905  def __init__(self, f, k):
16906  r"""__init__(AttributeSingletonScore self, UnaryFunction f, FloatKey k) -> AttributeSingletonScore"""
16907  _IMP_core.AttributeSingletonScore_swiginit(self, _IMP_core.new_AttributeSingletonScore(f, k))
16908 
16909  def do_get_inputs(self, m, pis):
16910  r"""do_get_inputs(AttributeSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16911  return _IMP_core.AttributeSingletonScore_do_get_inputs(self, m, pis)
16912 
16913  def get_unary_function(self):
16914  r"""get_unary_function(AttributeSingletonScore self) -> UnaryFunction"""
16915  return _IMP_core.AttributeSingletonScore_get_unary_function(self)
16916 
16917  def get_key(self):
16918  r"""get_key(AttributeSingletonScore self) -> FloatKey"""
16919  return _IMP_core.AttributeSingletonScore_get_key(self)
16920 
16921  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
16922  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"""
16923  return _IMP_core.AttributeSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
16924 
16925  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
16926  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"""
16927  return _IMP_core.AttributeSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
16928 
16929  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
16930  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"""
16931  return _IMP_core.AttributeSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
16932 
16933  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
16934  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"""
16935  return _IMP_core.AttributeSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
16936 
16937  def get_version_info(self):
16938  r"""get_version_info(AttributeSingletonScore self) -> VersionInfo"""
16939  return _IMP_core.AttributeSingletonScore_get_version_info(self)
16940  __swig_destroy__ = _IMP_core.delete_AttributeSingletonScore
16941 
16942  @staticmethod
16943  def get_from(o):
16944  return _object_cast_to_AttributeSingletonScore(o)
16945 
16946 
16947  def _get_jax(self, m, indexes, space):
16948  def score_float_key(jm, key, uf):
16949  return uf(jm[key][indexes])
16950 
16951  def score_xyz_key(jm, xyz_index, uf):
16952  return uf(jm['xyz'][indexes, xyz_index])
16953 
16954  uf = self.get_unary_function().get_derived_object()._get_jax()
16955  key = self.get_key()
16956  # First 7 FloatKeys are reserved in IMP and have to be handled
16957  # specially
16958  if key.get_index() >= 7:
16959  need_keys = [key]
16960  f = functools.partial(score_float_key, key=key.get_string(), uf=uf)
16961  elif key == XYZR.get_radius_key():
16962  need_keys = [] # We already have the radius in the JAX model
16963  f = functools.partial(score_float_key, key='r', uf=uf)
16964  elif key in XYZ.get_xyz_keys():
16965  need_keys = [] # We already have coordinates in the JAX model
16966  xyz_index = XYZ.get_xyz_keys().index(key)
16967  f = functools.partial(score_xyz_key, xyz_index=xyz_index, uf=uf)
16968  else:
16969  raise NotImplementedError("No support for key %s" % key)
16970  return self._wrap_jax(m, f, keys=need_keys)
16971 
16972 
16973 # Register AttributeSingletonScore in _IMP_core:
16974 _IMP_core.AttributeSingletonScore_swigregister(AttributeSingletonScore)
16975 
16977  r"""create_generic_attribute_singleton_score(UnaryFunction uf, FloatKey k) -> AttributeSingletonScore"""
16978  return _IMP_core.create_generic_attribute_singleton_score(uf, k)
16980  r"""Proxy of C++ IMP::core::GenericBoundingBox3DSingletonScore< UnaryFunction > class."""
16981 
16982  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
16983  __repr__ = _swig_repr
16984 
16985  def __init__(self, f, bb):
16986  r"""__init__(BoundingBox3DSingletonScore self, UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
16987  _IMP_core.BoundingBox3DSingletonScore_swiginit(self, _IMP_core.new_BoundingBox3DSingletonScore(f, bb))
16988 
16989  def get_unary_function(self):
16990  r"""get_unary_function(BoundingBox3DSingletonScore self) -> UnaryFunction"""
16991  return _IMP_core.BoundingBox3DSingletonScore_get_unary_function(self)
16992 
16993  def get_bounding_box(self):
16994  r"""get_bounding_box(BoundingBox3DSingletonScore self) -> BoundingBox3D"""
16995  return _IMP_core.BoundingBox3DSingletonScore_get_bounding_box(self)
16996 
16997  def do_get_inputs(self, m, pis):
16998  r"""do_get_inputs(BoundingBox3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
16999  return _IMP_core.BoundingBox3DSingletonScore_do_get_inputs(self, m, pis)
17000 
17001  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17002  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"""
17003  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17004 
17005  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17006  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"""
17007  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17008 
17009  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17010  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"""
17011  return _IMP_core.BoundingBox3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17012 
17013  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17014  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"""
17015  return _IMP_core.BoundingBox3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17016 
17017  def get_version_info(self):
17018  r"""get_version_info(BoundingBox3DSingletonScore self) -> VersionInfo"""
17019  return _IMP_core.BoundingBox3DSingletonScore_get_version_info(self)
17020  __swig_destroy__ = _IMP_core.delete_BoundingBox3DSingletonScore
17021 
17022  @staticmethod
17023  def get_from(o):
17024  return _object_cast_to_BoundingBox3DSingletonScore(o)
17025 
17026 
17027  def _get_jax(self, m, indexes, space):
17028  import jax.numpy as jnp
17029  def score(jm, box_min, box_max, uf):
17030  xyzs = jm['xyz'][indexes]
17031  # This calculates the distance and the score for every point,
17032  # even those inside the box. IMP just returns zero for points
17033  # inside the box, skipping the distance calculation.
17034  # The implementation here is *probably* faster on a GPU since
17035  # we reduce the use of conditionals, and JAX will likely skip
17036  # the sqrt if uf is a harmonic, but this should be benchmarked.
17037  drs = space.distance(xyzs - jnp.clip(xyzs, box_min, box_max))
17038  return uf(drs)
17039  uf = self.get_unary_function().get_derived_object()
17040  bb = self.get_bounding_box()
17041  f = functools.partial(score, box_min=jnp.asarray(bb.get_corner(0)),
17042  box_max=jnp.asarray(bb.get_corner(1)),
17043  uf=uf._get_jax())
17044  return self._wrap_jax(m, f)
17045 
17046 
17047 # Register BoundingBox3DSingletonScore in _IMP_core:
17048 _IMP_core.BoundingBox3DSingletonScore_swigregister(BoundingBox3DSingletonScore)
17049 
17050 def create_bounding_box_3d_singleton_score(f, bb):
17051  r"""create_bounding_box_3d_singleton_score(UnaryFunction f, BoundingBox3D bb) -> BoundingBox3DSingletonScore"""
17052  return _IMP_core.create_bounding_box_3d_singleton_score(f, bb)
17054  r"""Proxy of C++ IMP::core::GenericBoundingSphere3DSingletonScore< UnaryFunction > class."""
17055 
17056  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
17057  __repr__ = _swig_repr
17058 
17059  def __init__(self, f, sphere):
17060  r"""__init__(BoundingSphere3DSingletonScore self, UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
17061  _IMP_core.BoundingSphere3DSingletonScore_swiginit(self, _IMP_core.new_BoundingSphere3DSingletonScore(f, sphere))
17062 
17063  def do_get_inputs(self, m, pis):
17064  r"""do_get_inputs(BoundingSphere3DSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
17065  return _IMP_core.BoundingSphere3DSingletonScore_do_get_inputs(self, m, pis)
17066 
17067  def get_unary_function(self):
17068  r"""get_unary_function(BoundingSphere3DSingletonScore self) -> UnaryFunction"""
17069  return _IMP_core.BoundingSphere3DSingletonScore_get_unary_function(self)
17070 
17071  def get_sphere(self):
17072  r"""get_sphere(BoundingSphere3DSingletonScore self) -> Sphere3D"""
17073  return _IMP_core.BoundingSphere3DSingletonScore_get_sphere(self)
17074 
17075  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17076  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"""
17077  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17078 
17079  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17080  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"""
17081  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17082 
17083  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17084  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"""
17085  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17086 
17087  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17088  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"""
17089  return _IMP_core.BoundingSphere3DSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17090 
17091  def get_version_info(self):
17092  r"""get_version_info(BoundingSphere3DSingletonScore self) -> VersionInfo"""
17093  return _IMP_core.BoundingSphere3DSingletonScore_get_version_info(self)
17094  __swig_destroy__ = _IMP_core.delete_BoundingSphere3DSingletonScore
17095 
17096  @staticmethod
17097  def get_from(o):
17098  return _object_cast_to_BoundingSphere3DSingletonScore(o)
17099 
17100 
17101  def _get_jax(self, m, indexes, space):
17102  import jax.numpy as jnp
17103  import jax.lax
17104  def score_with_radius(jm, inds, center, radius):
17105  xyzs = jm['xyz'][inds]
17106  radii = jm['r'][inds]
17107  drs = space.distance(xyzs - center) + radii - radius
17108  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
17109  def score_without_radius(jm, inds, center, radius):
17110  xyzs = jm['xyz'][inds]
17111  drs = space.distance(xyzs - center) - radius
17112  return jax.lax.select(drs < 0.000001, jnp.zeros_like(drs), uf(drs))
17113  without_radii_inds = []
17114  with_radii_inds = []
17115  for ind in indexes:
17116  if XYZR.get_is_setup(m, ind):
17117  with_radii_inds.append(ind)
17118  else:
17119  without_radii_inds.append(ind)
17120  without_radii_inds = jnp.asarray(without_radii_inds)
17121  with_radii_inds = jnp.asarray(with_radii_inds)
17122  uf = self.get_unary_function().get_derived_object()._get_jax()
17123  sphere = self.get_sphere()
17124  radius = sphere.get_radius()
17125  center = jnp.asarray(sphere.get_center())
17126  def score(jm):
17127  s = 0.
17128  if without_radii_inds.size > 0:
17129  s += score_without_radius(jm, without_radii_inds,
17130  center, radius)
17131  if with_radii_inds.size > 0:
17132  s += score_with_radius(jm, with_radii_inds, center, radius)
17133  return s
17134  return self._wrap_jax(m, score)
17135 
17136 
17137 # Register BoundingSphere3DSingletonScore in _IMP_core:
17138 _IMP_core.BoundingSphere3DSingletonScore_swigregister(BoundingSphere3DSingletonScore)
17139 
17140 def create_bounding_sphere_3d_singleton_score(f, sphere):
17141  r"""create_bounding_sphere_3d_singleton_score(UnaryFunction f, Sphere3D sphere) -> BoundingSphere3DSingletonScore"""
17142  return _IMP_core.create_bounding_sphere_3d_singleton_score(f, sphere)
17144  r"""Proxy of C++ IMP::core::GenericDistanceToSingletonScore< UnaryFunction > class."""
17145 
17146  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
17147  __repr__ = _swig_repr
17148 
17149  def __init__(self, *args):
17150  r"""
17151  __init__(DistanceToSingletonScore self, UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore
17152  __init__(DistanceToSingletonScore self) -> DistanceToSingletonScore
17153  """
17154  _IMP_core.DistanceToSingletonScore_swiginit(self, _IMP_core.new_DistanceToSingletonScore(*args))
17155 
17156  def do_get_inputs(self, m, pis):
17157  r"""do_get_inputs(DistanceToSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
17158  return _IMP_core.DistanceToSingletonScore_do_get_inputs(self, m, pis)
17159 
17160  def get_unary_function(self):
17161  r"""get_unary_function(DistanceToSingletonScore self) -> UnaryFunction"""
17162  return _IMP_core.DistanceToSingletonScore_get_unary_function(self)
17163 
17164  def get_point(self):
17165  r"""get_point(DistanceToSingletonScore self) -> Vector3D"""
17166  return _IMP_core.DistanceToSingletonScore_get_point(self)
17167 
17168  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
17169  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"""
17170  return _IMP_core.DistanceToSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
17171 
17172  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
17173  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"""
17174  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
17175 
17176  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
17177  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"""
17178  return _IMP_core.DistanceToSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
17179 
17180  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
17181  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"""
17182  return _IMP_core.DistanceToSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
17183 
17184  def get_version_info(self):
17185  r"""get_version_info(DistanceToSingletonScore self) -> VersionInfo"""
17186  return _IMP_core.DistanceToSingletonScore_get_version_info(self)
17187  __swig_destroy__ = _IMP_core.delete_DistanceToSingletonScore
17188 
17189  @staticmethod
17190  def get_from(o):
17191  return _object_cast_to_DistanceToSingletonScore(o)
17192 
17193 
17194  def _get_as_binary(self):
17195  r"""_get_as_binary(DistanceToSingletonScore self) -> PyObject *"""
17196  return _IMP_core.DistanceToSingletonScore__get_as_binary(self)
17197 
17198  def _set_from_binary(self, p):
17199  r"""_set_from_binary(DistanceToSingletonScore self, PyObject * p)"""
17200  return _IMP_core.DistanceToSingletonScore__set_from_binary(self, p)
17201 
17202  def __getstate__(self):
17203  p = self._get_as_binary()
17204  if len(self.__dict__) > 1:
17205  d = self.__dict__.copy()
17206  del d['this']
17207  p = (d, p)
17208  return p
17209 
17210  def __setstate__(self, p):
17211  if not hasattr(self, 'this'):
17212  self.__init__()
17213  if isinstance(p, tuple):
17214  d, p = p
17215  self.__dict__.update(d)
17216  return self._set_from_binary(p)
17217 
17218 
17219  def _get_jax(self, m, indexes, space):
17220  import jax.numpy as jnp
17221  def score(jm, point, uf):
17222  xyzs = jm['xyz'][indexes]
17223  drs = space.distance(xyzs - point)
17224  return uf(drs)
17225  uf = self.get_unary_function().get_derived_object()
17226  f = functools.partial(score, point=jnp.array(self.get_point()),
17227  uf=uf._get_jax())
17228  return self._wrap_jax(m, f)
17229 
17230 
17231 # Register DistanceToSingletonScore in _IMP_core:
17232 _IMP_core.DistanceToSingletonScore_swigregister(DistanceToSingletonScore)
17233 
17234 def create_distance_to_singleton_score(f, pt):
17235  r"""create_distance_to_singleton_score(UnaryFunction f, Vector3D pt) -> DistanceToSingletonScore"""
17236  return _IMP_core.create_distance_to_singleton_score(f, pt)
17237 
17238 class SphereDistancePairScore(_SphereDistancePairScore.__bases__[0]):
17239  def __init__(self, uf):
17240  if isinstance(uf, HarmonicUpperBound):
17241  p = HarmonicUpperBoundSphereDistancePairScore(
17242  uf.get_mean(), uf.get_k())
17243  elif isinstance(uf, HarmonicLowerBound):
17244  if uf.get_mean() == 0.0:
17245  p = SoftSpherePairScore(uf.get_k())
17246  else:
17247  p = _SphereDistancePairScore(uf)
17248  elif isinstance(uf, Harmonic):
17249  p = HarmonicSphereDistancePairScore(
17250  uf.get_mean(), uf.get_k())
17251  else:
17252  p = _SphereDistancePairScore(uf)
17253  self.__dict__['_proxied'] = p
17254  def __getattr__(self, key):
17255  return getattr(self._proxied, key)
17256  def __setattr__(self, key, val):
17257  return setattr(self._proxied, key, val)
17258 
17259  def __getstate__(self):
17260  return self.__dict__['_proxied']
17261 
17262  def __setstate__(self, p):
17263  self.__dict__['_proxied'] = p
17264 
17265  def _get_jax(self, *args, **kwargs):
17266  return self._proxied._get_jax(*args, **kwargs)
17267 
17268  @staticmethod
17269  def get_from(o):
17270  try:
17271  p = HarmonicUpperBoundSphereDistancePairScore.get_from(o)
17272  except ValueError:
17273  try:
17274  p = HarmonicSphereDistancePairScore.get_from(o)
17275  except ValueError:
17276  try:
17277  p = SoftSpherePairScore.get_from(o)
17278  except ValueError:
17279  p = _SphereDistancePairScore.get_from(o)
17280  obj = object.__new__(SphereDistancePairScore)
17281  obj.__dict__['_proxied'] = p
17282  return obj
17283 
17284 
17285 
17286 def get_all_provenance(p, types=[StructureProvenance, SampleProvenance,
17287  CombineProvenance, FilterProvenance,
17288  ClusterProvenance, ScriptProvenance,
17289  SoftwareProvenance]):
17290  """Yield all provenance decorators of the given types for the particle.
17291  By default, all provenance types are returned. Provenance is returned
17292  in order, most recent first. If the particle has no provenance
17293  information, an empty generator is returned."""
17294  if Provenanced.get_is_setup(p):
17295  prov = Provenanced(p).get_provenance()
17296  while prov:
17297  for c in types:
17298  if c.get_is_setup(prov):
17299  yield c(prov)
17300  prov = prov.get_previous()
17301 
17303  """Tag the given particle with the current Python script.
17304  This is a noop if the particle is already so tagged."""
17305  main = sys.modules['__main__']
17306 # Can't do anything if running from an interactive interpreter
17307  if not hasattr(main, '__file__'):
17308  return
17309  f = IMP.get_absolute_path(main.__file__)
17310  for prov in get_all_provenance(p, types=[ScriptProvenance]):
17311  if prov.get_filename() == f:
17312  return
17313  m = p.get_model()
17314  provp = IMP.Particle(m)
17315  provp.set_name('script')
17316  prov = ScriptProvenance.setup_particle(provp, f)
17317  add_provenance(m, p, prov)
17318 
17319 def add_software_provenance(p, name, version, location):
17320  """Tag the given particle with the software used to create it.
17321  This is a noop if the particle is already so tagged."""
17322  for prov in get_all_provenance(p, types=[SoftwareProvenance]):
17323  if prov.get_software_name() == name and prov.get_version() == version \
17324  and prov.get_location() == location:
17325  return
17326  m = p.get_model()
17327  provp = IMP.Particle(m)
17328  provp.set_name('software')
17329  prov = SoftwareProvenance.setup_particle(provp, name, version, location)
17330  add_provenance(m, p, prov)
17331 
17333  """Tag the given particle as being created by the current version of IMP."""
17334  add_software_provenance(p, name="Integrative Modeling Platform (IMP)",
17335  version=IMP.get_module_version(),
17336  location="https://integrativemodeling.org")
17337 
17338 
17339 def get_module_name():
17340  r"""get_module_name() -> std::string const"""
17341  return _IMP_core.get_module_name()
17342 
17343 def get_module_version():
17344  r"""get_module_version() -> std::string const"""
17345  return _IMP_core.get_module_version()
17346 
17347 def get_example_path(fname):
17348  r"""get_example_path(std::string fname) -> std::string"""
17349  return _IMP_core.get_example_path(fname)
17350 
17351 def get_data_path(fname):
17352  r"""get_data_path(std::string fname) -> std::string"""
17353  return _IMP_core.get_data_path(fname)
17354 
17355 from . import _version_check
17356 _version_check.check_version(get_module_version())
17357 __version__ = get_module_version()
17358 
17359 
F visit_breadth_first(HD d, F f)
Apply the visitor to each particle, breadth first.
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
GenericDistanceToSingletonScore< UnaryFunction > DistanceToSingletonScore
Rotation3D get_rotation_about_normalized_axis(const Vector3D &axis_norm, double angle)
Definition: Rotation3D.h:391
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
double get_height(const Surface &s, const XYZR &d)
Get height of sphere above surface.
Definition: Surface.h:129
algebra::Transformation3D get_transformation_aligning_first_to_second(XYZsOrVector3ds a, XYZsOrVector3ds b)
double get_mean(const cv::Mat &mat, const cvIntMat &mask)
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
def add_script_provenance
Tag the given particle with the current Python script.
GenericBoundingSphere3DSingletonScore< UnaryFunction > BoundingSphere3DSingletonScore
Abstract predicate function.
Definition: QuadPredicate.h:31
Restraint * create_restraint(Score *s, const typename Score::Argument &t, std::string name=std::string())
Definition: generic.h:36
ParticleIndex get_root_rigid_body(RigidMember m)
Return the index of the outer-most rigid body containing the member.
algebra::ReferenceFrame3D get_initial_reference_frame(Model *m, const ParticleIndexes &pis)
The base class for geometry.
F visit_depth_first(HD d, F &f)
Apply functor F to each particle, traversing the hierarchy depth first.
XYZRs create_xyzr_particles(Model *m, unsigned int num, Float radius, Float box_side=10)
Create a set of particles with random coordinates.
A base class for geometry contained in particles.
double get_angle(Direction a, Direction b)
Get angle between directions.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
Make CGAL functionality available to IMP.
ParticlesTemp create_rigid_bodies(Model *m, unsigned int n, bool no_members=false)
An unbounded space with no periodic boundary conditions.
Definition: jax.py:33
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
void add_rigid_body_cache_key(ObjectKey k)
Base class for all samplers.
Definition: Sampler.h:31
Key< 34897493 > ParticleType
An IMP::Key object for identifying types of particles by strings.
Definition: Typed.h:28
algebra::Vector3D get_centroid(const XYZs &ps)
Get the centroid.
void add_particle(RMF::FileHandle fh, Particle *hs)
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
static FloatKeys get_internal_coordinate_keys()
Definition: rigid_bodies.h:618
Composable functors to implement scores via compile-time composition.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
GenericHierarchies get_all_descendants(Hierarchy mhd)
Get all the particles in the subtree.
A base class for geometry from a set of particles.
def add_imp_provenance
Tag the given particle as being created by the current version of IMP.
display::Geometries create_blame_geometries(const RestraintsTemp &rs, const ParticlesTemp &ps, double max=NO_MAX, std::string name=std::string())
void show_rigid_body_hierarchy(RigidBody rb, TextOutput out=TextOutput(std::cout))
Implement a constraint on the Model.
Definition: Constraint.h:49
void add_restraint(RMF::FileHandle fh, Restraint *hs)
def add_software_provenance
Tag the given particle with the software used to create it.
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
Abstract predicate function.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
int get_number_of_frames(const ::npctransport_proto::Assignment &config, double time_step)
Abstract class for scoring object(s) of type ParticleIndex.
ScoreStates maintain invariants in the Model.
Definition: ScoreState.h:56
Base class for all optimizers.
Definition: Optimizer.h:48
GenericAttributeSingletonScore< UnaryFunction > AttributeSingletonScore
SurfaceGeometry * create_geometry(const Surface s, std::string name=std::string("SurfaceGeometry%1%"))
Create a geometry from a Surface.
Definition: Surface.h:191
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
algebra::BoundingBoxD< 3 > get_bounding_box(const XYZRs &ps)
Get the bounding box.
const algebra::Vector3D & get_vector_geometry(XYZ d)
Definition: XYZ.h:135
Support for the JAX Python library.
Definition: jax.py:1
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
Provenance create_clone(Provenance p, Model *m=nullptr)
Clone provenance (including previous provenance)
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract predicate function.
GenericBoundingBox3DSingletonScore< UnaryFunction > BoundingBox3DSingletonScore
Abstract class to implement hierarchical methods.
Definition: Refiner.h:36
double get_depth(const Surface &s, const XYZR &d)
Get depth of sphere below surface.
Definition: Surface.h:143
void set_enclosing_radius(XYZR b, const XYZs &v)
Set the radius of the first to enclose the list.
Class to handle individual particles of a Model object.
Definition: Particle.h:45
GenericAttributeSingletonScore< UF > * create_generic_attribute_singleton_score(UF *uf, FloatKey k)
void transform(RigidBody a, const algebra::Transformation3D &tr)
Transform a rigid body.
Definition: rigid_bodies.h:748
void assign_blame(const RestraintsTemp &rs, const ParticlesTemp &ps, FloatKey attribute)
std::string get_module_version()
Return the version of this module, as a string.
TruncatedHarmonic< BOTH > TruncatedHarmonicBound
TruncatedHarmonic< UPPER > TruncatedHarmonicUpperBound
static const FloatKeys & get_xyz_keys()
Get a vector containing the keys for x,y,z.
BallMover
Definition: BallMover.py:1
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
def get_all_provenance
Yield all provenance decorators of the given types for the particle.
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
void add_provenance(Model *m, ParticleIndex pi, Provenance p)
Add provenance to part of the model.
Tag part of the system to track how it was created.
Definition: provenance.h:632
double get_distance(const Surface &s, const XYZR &d)
Get distance from sphere to surface.
Definition: Surface.h:153
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
void set_enclosing_sphere(XYZR b, const XYZs &v, double slack=0)
Set the coordinates and radius of the first to enclose the list.
TruncatedHarmonic< LOWER > TruncatedHarmonicLowerBound
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56