Source code for siconos.mechanics.collision.bullet

# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _pybullet
else:
    import _pybullet

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


import weakref

class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _pybullet.delete_SwigPyIterator

    def value(self) -> "PyObject *":
        return _pybullet.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _pybullet.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _pybullet.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _pybullet.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _pybullet.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _pybullet.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _pybullet.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _pybullet.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _pybullet.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _pybullet.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _pybullet.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _pybullet.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _pybullet.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _pybullet.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _pybullet.SwigPyIterator___add__(self, n)

    def __sub__(self, *args) -> "ptrdiff_t":
        return _pybullet.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _pybullet:
_pybullet.SwigPyIterator_swigregister(SwigPyIterator)

SHARED_PTR_DISOWN = _pybullet.SHARED_PTR_DISOWN
[docs]class nullDeleter(object): r""" Using a shared_ptr to hold a pointer to a statically allocated object use create<type>SPtr(<type> &x) cf http://www.boost.org/doc/ """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") __repr__ = _swig_repr def __call__(self, arg2: "void const *") -> "void": return _pybullet.nullDeleter___call__(self, arg2) __swig_destroy__ = _pybullet.delete_nullDeleter
# Register nullDeleter in _pybullet: _pybullet.nullDeleter_swigregister(nullDeleter) class VectorOfVectors(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfVectors_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfVectors___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfVectors___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _pybullet.VectorOfVectors___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< SiconosVector > >::difference_type", j: "std::vector< std::shared_ptr< SiconosVector > >::difference_type") -> "std::vector< std::shared_ptr< SiconosVector >,std::allocator< std::shared_ptr< SiconosVector > > > *": return _pybullet.VectorOfVectors___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfVectors___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< SiconosVector > >::difference_type", j: "std::vector< std::shared_ptr< SiconosVector > >::difference_type") -> "void": return _pybullet.VectorOfVectors___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfVectors___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _pybullet.VectorOfVectors___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfVectors___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type": return _pybullet.VectorOfVectors_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosVector > >::value_type const &") -> "void": return _pybullet.VectorOfVectors_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfVectors_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _pybullet.VectorOfVectors_size(self) def swap(self, v: "VectorOfVectors") -> "void": return _pybullet.VectorOfVectors_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _pybullet.VectorOfVectors_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _pybullet.VectorOfVectors_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosVector > >::reverse_iterator": return _pybullet.VectorOfVectors_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosVector > >::reverse_iterator": return _pybullet.VectorOfVectors_rend(self) def clear(self) -> "void": return _pybullet.VectorOfVectors_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosVector > >::allocator_type": return _pybullet.VectorOfVectors_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfVectors_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _pybullet.VectorOfVectors_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfVectors_swiginit(self, _pybullet.new_VectorOfVectors(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosVector > >::value_type const &") -> "void": return _pybullet.VectorOfVectors_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _pybullet.VectorOfVectors_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _pybullet.VectorOfVectors_back(self) def assign(self, n: "std::vector< std::shared_ptr< SiconosVector > >::size_type", x: "std::vector< std::shared_ptr< SiconosVector > >::value_type const &") -> "void": return _pybullet.VectorOfVectors_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfVectors_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfVectors_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosVector > >::size_type") -> "void": return _pybullet.VectorOfVectors_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _pybullet.VectorOfVectors_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfVectors # Register VectorOfVectors in _pybullet: _pybullet.VectorOfVectors_swigregister(VectorOfVectors) class VectorOfBlockVectors(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfBlockVectors_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfBlockVectors___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfBlockVectors___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _pybullet.VectorOfBlockVectors___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< BlockVector > >::difference_type", j: "std::vector< std::shared_ptr< BlockVector > >::difference_type") -> "std::vector< std::shared_ptr< BlockVector >,std::allocator< std::shared_ptr< BlockVector > > > *": return _pybullet.VectorOfBlockVectors___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfBlockVectors___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< BlockVector > >::difference_type", j: "std::vector< std::shared_ptr< BlockVector > >::difference_type") -> "void": return _pybullet.VectorOfBlockVectors___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfBlockVectors___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _pybullet.VectorOfBlockVectors___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfBlockVectors___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type": return _pybullet.VectorOfBlockVectors_pop(self) def append(self, x: "std::vector< std::shared_ptr< BlockVector > >::value_type const &") -> "void": return _pybullet.VectorOfBlockVectors_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfBlockVectors_empty(self) def size(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _pybullet.VectorOfBlockVectors_size(self) def swap(self, v: "VectorOfBlockVectors") -> "void": return _pybullet.VectorOfBlockVectors_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _pybullet.VectorOfBlockVectors_begin(self) def end(self) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _pybullet.VectorOfBlockVectors_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< BlockVector > >::reverse_iterator": return _pybullet.VectorOfBlockVectors_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< BlockVector > >::reverse_iterator": return _pybullet.VectorOfBlockVectors_rend(self) def clear(self) -> "void": return _pybullet.VectorOfBlockVectors_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< BlockVector > >::allocator_type": return _pybullet.VectorOfBlockVectors_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfBlockVectors_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _pybullet.VectorOfBlockVectors_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfBlockVectors_swiginit(self, _pybullet.new_VectorOfBlockVectors(*args)) def push_back(self, x: "std::vector< std::shared_ptr< BlockVector > >::value_type const &") -> "void": return _pybullet.VectorOfBlockVectors_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _pybullet.VectorOfBlockVectors_front(self) def back(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _pybullet.VectorOfBlockVectors_back(self) def assign(self, n: "std::vector< std::shared_ptr< BlockVector > >::size_type", x: "std::vector< std::shared_ptr< BlockVector > >::value_type const &") -> "void": return _pybullet.VectorOfBlockVectors_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfBlockVectors_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfBlockVectors_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< BlockVector > >::size_type") -> "void": return _pybullet.VectorOfBlockVectors_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _pybullet.VectorOfBlockVectors_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfBlockVectors # Register VectorOfBlockVectors in _pybullet: _pybullet.VectorOfBlockVectors_swigregister(VectorOfBlockVectors) class VectorOfMatrices(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfMatrices_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfMatrices___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfMatrices___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _pybullet.VectorOfMatrices___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< SiconosMatrix > >::difference_type", j: "std::vector< std::shared_ptr< SiconosMatrix > >::difference_type") -> "std::vector< std::shared_ptr< SiconosMatrix >,std::allocator< std::shared_ptr< SiconosMatrix > > > *": return _pybullet.VectorOfMatrices___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfMatrices___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< SiconosMatrix > >::difference_type", j: "std::vector< std::shared_ptr< SiconosMatrix > >::difference_type") -> "void": return _pybullet.VectorOfMatrices___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfMatrices___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _pybullet.VectorOfMatrices___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfMatrices___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type": return _pybullet.VectorOfMatrices_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfMatrices_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfMatrices_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _pybullet.VectorOfMatrices_size(self) def swap(self, v: "VectorOfMatrices") -> "void": return _pybullet.VectorOfMatrices_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _pybullet.VectorOfMatrices_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _pybullet.VectorOfMatrices_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::reverse_iterator": return _pybullet.VectorOfMatrices_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::reverse_iterator": return _pybullet.VectorOfMatrices_rend(self) def clear(self) -> "void": return _pybullet.VectorOfMatrices_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::allocator_type": return _pybullet.VectorOfMatrices_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfMatrices_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _pybullet.VectorOfMatrices_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfMatrices_swiginit(self, _pybullet.new_VectorOfMatrices(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfMatrices_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _pybullet.VectorOfMatrices_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _pybullet.VectorOfMatrices_back(self) def assign(self, n: "std::vector< std::shared_ptr< SiconosMatrix > >::size_type", x: "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfMatrices_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfMatrices_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfMatrices_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosMatrix > >::size_type") -> "void": return _pybullet.VectorOfMatrices_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _pybullet.VectorOfMatrices_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfMatrices # Register VectorOfMatrices in _pybullet: _pybullet.VectorOfMatrices_swigregister(VectorOfMatrices) class VectorOfSMatrices(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfSMatrices_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfSMatrices___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfSMatrices___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _pybullet.VectorOfSMatrices___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< SimpleMatrix > >::difference_type", j: "std::vector< std::shared_ptr< SimpleMatrix > >::difference_type") -> "std::vector< std::shared_ptr< SimpleMatrix >,std::allocator< std::shared_ptr< SimpleMatrix > > > *": return _pybullet.VectorOfSMatrices___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfSMatrices___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< SimpleMatrix > >::difference_type", j: "std::vector< std::shared_ptr< SimpleMatrix > >::difference_type") -> "void": return _pybullet.VectorOfSMatrices___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfSMatrices___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _pybullet.VectorOfSMatrices___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfSMatrices___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type": return _pybullet.VectorOfSMatrices_pop(self) def append(self, x: "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfSMatrices_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfSMatrices_empty(self) def size(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _pybullet.VectorOfSMatrices_size(self) def swap(self, v: "VectorOfSMatrices") -> "void": return _pybullet.VectorOfSMatrices_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _pybullet.VectorOfSMatrices_begin(self) def end(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _pybullet.VectorOfSMatrices_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::reverse_iterator": return _pybullet.VectorOfSMatrices_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::reverse_iterator": return _pybullet.VectorOfSMatrices_rend(self) def clear(self) -> "void": return _pybullet.VectorOfSMatrices_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::allocator_type": return _pybullet.VectorOfSMatrices_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfSMatrices_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _pybullet.VectorOfSMatrices_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfSMatrices_swiginit(self, _pybullet.new_VectorOfSMatrices(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfSMatrices_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _pybullet.VectorOfSMatrices_front(self) def back(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _pybullet.VectorOfSMatrices_back(self) def assign(self, n: "std::vector< std::shared_ptr< SimpleMatrix > >::size_type", x: "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &") -> "void": return _pybullet.VectorOfSMatrices_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfSMatrices_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfSMatrices_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SimpleMatrix > >::size_type") -> "void": return _pybullet.VectorOfSMatrices_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _pybullet.VectorOfSMatrices_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfSMatrices # Register VectorOfSMatrices in _pybullet: _pybullet.VectorOfSMatrices_swigregister(VectorOfSMatrices) class VectorOfMemories(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfMemories_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfMemories___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfMemories___bool__(self) def __len__(self) -> "std::vector< SiconosMemory >::size_type": return _pybullet.VectorOfMemories___len__(self) def __getslice__(self, i: "std::vector< SiconosMemory >::difference_type", j: "std::vector< SiconosMemory >::difference_type") -> "std::vector< SiconosMemory,std::allocator< SiconosMemory > > *": return _pybullet.VectorOfMemories___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfMemories___setslice__(self, *args) def __delslice__(self, i: "std::vector< SiconosMemory >::difference_type", j: "std::vector< SiconosMemory >::difference_type") -> "void": return _pybullet.VectorOfMemories___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfMemories___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< SiconosMemory >::value_type const &": return _pybullet.VectorOfMemories___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfMemories___setitem__(self, *args) def pop(self) -> "std::vector< SiconosMemory >::value_type": return _pybullet.VectorOfMemories_pop(self) def append(self, x: "SiconosMemory") -> "void": return _pybullet.VectorOfMemories_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfMemories_empty(self) def size(self) -> "std::vector< SiconosMemory >::size_type": return _pybullet.VectorOfMemories_size(self) def swap(self, v: "VectorOfMemories") -> "void": return _pybullet.VectorOfMemories_swap(self, v) def begin(self) -> "std::vector< SiconosMemory >::iterator": return _pybullet.VectorOfMemories_begin(self) def end(self) -> "std::vector< SiconosMemory >::iterator": return _pybullet.VectorOfMemories_end(self) def rbegin(self) -> "std::vector< SiconosMemory >::reverse_iterator": return _pybullet.VectorOfMemories_rbegin(self) def rend(self) -> "std::vector< SiconosMemory >::reverse_iterator": return _pybullet.VectorOfMemories_rend(self) def clear(self) -> "void": return _pybullet.VectorOfMemories_clear(self) def get_allocator(self) -> "std::vector< SiconosMemory >::allocator_type": return _pybullet.VectorOfMemories_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfMemories_pop_back(self) def erase(self, *args) -> "std::vector< SiconosMemory >::iterator": return _pybullet.VectorOfMemories_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfMemories_swiginit(self, _pybullet.new_VectorOfMemories(*args)) def push_back(self, x: "SiconosMemory") -> "void": return _pybullet.VectorOfMemories_push_back(self, x) def front(self) -> "std::vector< SiconosMemory >::value_type const &": return _pybullet.VectorOfMemories_front(self) def back(self) -> "std::vector< SiconosMemory >::value_type const &": return _pybullet.VectorOfMemories_back(self) def assign(self, n: "std::vector< SiconosMemory >::size_type", x: "SiconosMemory") -> "void": return _pybullet.VectorOfMemories_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfMemories_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfMemories_insert(self, *args) def reserve(self, n: "std::vector< SiconosMemory >::size_type") -> "void": return _pybullet.VectorOfMemories_reserve(self, n) def capacity(self) -> "std::vector< SiconosMemory >::size_type": return _pybullet.VectorOfMemories_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfMemories # Register VectorOfMemories in _pybullet: _pybullet.VectorOfMemories_swigregister(VectorOfMemories) class UnsignedIntVector(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.UnsignedIntVector_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.UnsignedIntVector___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.UnsignedIntVector___bool__(self) def __len__(self) -> "std::vector< unsigned int >::size_type": return _pybullet.UnsignedIntVector___len__(self) def __getslice__(self, i: "std::vector< unsigned int >::difference_type", j: "std::vector< unsigned int >::difference_type") -> "std::vector< unsigned int,std::allocator< unsigned int > > *": return _pybullet.UnsignedIntVector___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.UnsignedIntVector___setslice__(self, *args) def __delslice__(self, i: "std::vector< unsigned int >::difference_type", j: "std::vector< unsigned int >::difference_type") -> "void": return _pybullet.UnsignedIntVector___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.UnsignedIntVector___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< unsigned int >::value_type const &": return _pybullet.UnsignedIntVector___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.UnsignedIntVector___setitem__(self, *args) def pop(self) -> "std::vector< unsigned int >::value_type": return _pybullet.UnsignedIntVector_pop(self) def append(self, x: "std::vector< unsigned int >::value_type const &") -> "void": return _pybullet.UnsignedIntVector_append(self, x) def empty(self) -> "bool": return _pybullet.UnsignedIntVector_empty(self) def size(self) -> "std::vector< unsigned int >::size_type": return _pybullet.UnsignedIntVector_size(self) def swap(self, v: "UnsignedIntVector") -> "void": return _pybullet.UnsignedIntVector_swap(self, v) def begin(self) -> "std::vector< unsigned int >::iterator": return _pybullet.UnsignedIntVector_begin(self) def end(self) -> "std::vector< unsigned int >::iterator": return _pybullet.UnsignedIntVector_end(self) def rbegin(self) -> "std::vector< unsigned int >::reverse_iterator": return _pybullet.UnsignedIntVector_rbegin(self) def rend(self) -> "std::vector< unsigned int >::reverse_iterator": return _pybullet.UnsignedIntVector_rend(self) def clear(self) -> "void": return _pybullet.UnsignedIntVector_clear(self) def get_allocator(self) -> "std::vector< unsigned int >::allocator_type": return _pybullet.UnsignedIntVector_get_allocator(self) def pop_back(self) -> "void": return _pybullet.UnsignedIntVector_pop_back(self) def erase(self, *args) -> "std::vector< unsigned int >::iterator": return _pybullet.UnsignedIntVector_erase(self, *args) def __init__(self, *args): _pybullet.UnsignedIntVector_swiginit(self, _pybullet.new_UnsignedIntVector(*args)) def push_back(self, x: "std::vector< unsigned int >::value_type const &") -> "void": return _pybullet.UnsignedIntVector_push_back(self, x) def front(self) -> "std::vector< unsigned int >::value_type const &": return _pybullet.UnsignedIntVector_front(self) def back(self) -> "std::vector< unsigned int >::value_type const &": return _pybullet.UnsignedIntVector_back(self) def assign(self, n: "std::vector< unsigned int >::size_type", x: "std::vector< unsigned int >::value_type const &") -> "void": return _pybullet.UnsignedIntVector_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.UnsignedIntVector_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.UnsignedIntVector_insert(self, *args) def reserve(self, n: "std::vector< unsigned int >::size_type") -> "void": return _pybullet.UnsignedIntVector_reserve(self, n) def capacity(self) -> "std::vector< unsigned int >::size_type": return _pybullet.UnsignedIntVector_capacity(self) __swig_destroy__ = _pybullet.delete_UnsignedIntVector # Register UnsignedIntVector in _pybullet: _pybullet.UnsignedIntVector_swigregister(UnsignedIntVector) import siconos.kernel class SpaceFilter(siconos.kernel.InteractionManager, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _bboxfactor = property(_pybullet.SpaceFilter__bboxfactor_get, _pybullet.SpaceFilter__bboxfactor_set, doc=r""" the bounding box factor is multiplicated by the largest object dimension """) _cellsize = property(_pybullet.SpaceFilter__cellsize_get, _pybullet.SpaceFilter__cellsize_set, doc=r""" the cell size""") _plans = property(_pybullet.SpaceFilter__plans_get, _pybullet.SpaceFilter__plans_set, doc=r""" plans""") _moving_plans = property(_pybullet.SpaceFilter__moving_plans_get, _pybullet.SpaceFilter__moving_plans_set, doc=r""" moving plans""") _hash_table = property(_pybullet.SpaceFilter__hash_table_get, _pybullet.SpaceFilter__hash_table_set) diskdisk_relations = property(_pybullet.SpaceFilter_diskdisk_relations_get, _pybullet.SpaceFilter_diskdisk_relations_set) diskplan_relations = property(_pybullet.SpaceFilter_diskplan_relations_get, _pybullet.SpaceFilter_diskplan_relations_set) circlecircle_relations = property(_pybullet.SpaceFilter_circlecircle_relations_get, _pybullet.SpaceFilter_circlecircle_relations_set) def _PlanCircularFilter(self, arg2: "SP::Simulation", A: "double", B: "double", C: "double", xCenter: "double", yCenter: "double", width: "double", ds: "SP::CircularDS") -> "void": return _pybullet.SpaceFilter__PlanCircularFilter(self, arg2, A, B, C, xCenter, yCenter, width, ds) def _MovingPlanCircularFilter(self, arg2: "SP::Simulation", i: "unsigned int", ds: "SP::CircularDS", time: "double") -> "void": return _pybullet.SpaceFilter__MovingPlanCircularFilter(self, arg2, i, ds, time) def _PlanSphereLDSFilter(self, arg2: "SP::Simulation", A: "double", B: "double", C: "double", D: "double", ds: "SP::SphereLDS") -> "void": return _pybullet.SpaceFilter__PlanSphereLDSFilter(self, arg2, A, B, C, D, ds) def _PlanSphereNEDSFilter(self, arg2: "SP::Simulation", A: "double", B: "double", C: "double", D: "double", ds: "SP::SphereNEDS") -> "void": return _pybullet.SpaceFilter__PlanSphereNEDSFilter(self, arg2, A, B, C, D, ds) def __init__(self, *args): if self.__class__ == SpaceFilter: _self = None else: _self = self _pybullet.SpaceFilter_swiginit(self, _pybullet.new_SpaceFilter(_self, *args)) def insert(self, *args) -> "void": r""" *Overload 1:* 2D/3D objects insertion | *Overload 2:* general hashed object """ return _pybullet.SpaceFilter_insert(self, *args) def bboxfactor(self) -> "unsigned int": r""" get parameters""" return _pybullet.SpaceFilter_bboxfactor(self) def cellsize(self) -> "unsigned int": return _pybullet.SpaceFilter_cellsize(self) def setBBoxfactor(self, value: "unsigned int") -> "void": return _pybullet.SpaceFilter_setBBoxfactor(self, value) def setCellsize(self, value: "unsigned int") -> "void": return _pybullet.SpaceFilter_setCellsize(self, value) def haveNeighbours(self, h: "SP::Hashed") -> "bool": r""" get the neighbours Just test the presence of neighbours. :type h: SP::Hashed :param h: hashed component of a body. """ return _pybullet.SpaceFilter_haveNeighbours(self, h) def minDistance(self, h: "SP::Hashed") -> "double": r""" Give the minimal distance. :type h: SP::Hashed :param h: hashed component of a body. """ return _pybullet.SpaceFilter_minDistance(self, h) def updateInteractions(self, simulation: "SP::Simulation") -> "void": r""" Broadphase contact detection: add interactions in indexSet 0. :type simulation: :py:class:`Simulation` :param simulation: the current simulation setup """ return _pybullet.SpaceFilter_updateInteractions(self, simulation) def insertLine(self, a: "double", b: "double", c: "double") -> "void": return _pybullet.SpaceFilter_insertLine(self, a, b, c) __swig_destroy__ = _pybullet.delete_SpaceFilter def __disown__(self): self.this.disown() _pybullet.disown_SpaceFilter(self) return weakref.proxy(self) # Register SpaceFilter in _pybullet: _pybullet.SpaceFilter_swigregister(SpaceFilter)
[docs]class SiconosBodies(object): r""" SiconosBodies : a Siconos Model, some plans and space filtering capabilities""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _moving_plans = property(_pybullet.SiconosBodies__moving_plans_get, _pybullet.SiconosBodies__moving_plans_set) _plans = property(_pybullet.SiconosBodies__plans_get, _pybullet.SiconosBodies__plans_set) _sim = property(_pybullet.SiconosBodies__sim_get, _pybullet.SiconosBodies__sim_set) _playground = property(_pybullet.SiconosBodies__playground_get, _pybullet.SiconosBodies__playground_set) def init(self) -> "void": return _pybullet.SiconosBodies_init(self) def compute(self) -> "void": return _pybullet.SiconosBodies_compute(self) def simulation(self) -> "SP::Simulation": return _pybullet.SiconosBodies_simulation(self) def movingPlans(self) -> "SP::FMatrix": return _pybullet.SiconosBodies_movingPlans(self) def plans(self) -> "SP::SiconosMatrix": return _pybullet.SiconosBodies_plans(self) def spaceFilter(self) -> "SP::SpaceFilter": return _pybullet.SiconosBodies_spaceFilter(self) __swig_destroy__ = _pybullet.delete_SiconosBodies def __init__(self): if self.__class__ == SiconosBodies: _self = None else: _self = self _pybullet.SiconosBodies_swiginit(self, _pybullet.new_SiconosBodies(_self, )) def __disown__(self): self.this.disown() _pybullet.disown_SiconosBodies(self) return weakref.proxy(self)
# Register SiconosBodies in _pybullet: _pybullet.SiconosBodies_swigregister(SiconosBodies) class VectorOfSPSiconosContactor(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfSPSiconosContactor_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfSPSiconosContactor___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfSPSiconosContactor___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::size_type": return _pybullet.VectorOfSPSiconosContactor___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< SiconosContactor > >::difference_type", j: "std::vector< std::shared_ptr< SiconosContactor > >::difference_type") -> "std::vector< std::shared_ptr< SiconosContactor >,std::allocator< std::shared_ptr< SiconosContactor > > > *": return _pybullet.VectorOfSPSiconosContactor___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosContactor___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< SiconosContactor > >::difference_type", j: "std::vector< std::shared_ptr< SiconosContactor > >::difference_type") -> "void": return _pybullet.VectorOfSPSiconosContactor___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosContactor___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &": return _pybullet.VectorOfSPSiconosContactor___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosContactor___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::value_type": return _pybullet.VectorOfSPSiconosContactor_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosContactor_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfSPSiconosContactor_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::size_type": return _pybullet.VectorOfSPSiconosContactor_size(self) def begin(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::iterator": return _pybullet.VectorOfSPSiconosContactor_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::iterator": return _pybullet.VectorOfSPSiconosContactor_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::reverse_iterator": return _pybullet.VectorOfSPSiconosContactor_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::reverse_iterator": return _pybullet.VectorOfSPSiconosContactor_rend(self) def clear(self) -> "void": return _pybullet.VectorOfSPSiconosContactor_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::allocator_type": return _pybullet.VectorOfSPSiconosContactor_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfSPSiconosContactor_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosContactor > >::iterator": return _pybullet.VectorOfSPSiconosContactor_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfSPSiconosContactor_swiginit(self, _pybullet.new_VectorOfSPSiconosContactor(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosContactor_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &": return _pybullet.VectorOfSPSiconosContactor_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &": return _pybullet.VectorOfSPSiconosContactor_back(self) def assign(self, n: "std::vector< std::shared_ptr< SiconosContactor > >::size_type", x: "std::vector< std::shared_ptr< SiconosContactor > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosContactor_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfSPSiconosContactor_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfSPSiconosContactor_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosContactor > >::size_type") -> "void": return _pybullet.VectorOfSPSiconosContactor_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosContactor > >::size_type": return _pybullet.VectorOfSPSiconosContactor_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfSPSiconosContactor # Register VectorOfSPSiconosContactor in _pybullet: _pybullet.VectorOfSPSiconosContactor_swigregister(VectorOfSPSiconosContactor) class VectorOfSPSiconosCollisionQueryResult(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.VectorOfSPSiconosCollisionQueryResult_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.VectorOfSPSiconosCollisionQueryResult___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.VectorOfSPSiconosCollisionQueryResult___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::size_type": return _pybullet.VectorOfSPSiconosCollisionQueryResult___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::difference_type", j: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::difference_type") -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult >,std::allocator< std::shared_ptr< SiconosCollisionQueryResult > > > *": return _pybullet.VectorOfSPSiconosCollisionQueryResult___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::difference_type", j: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::difference_type") -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &": return _pybullet.VectorOfSPSiconosCollisionQueryResult___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type": return _pybullet.VectorOfSPSiconosCollisionQueryResult_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_append(self, x) def empty(self) -> "bool": return _pybullet.VectorOfSPSiconosCollisionQueryResult_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::size_type": return _pybullet.VectorOfSPSiconosCollisionQueryResult_size(self) def begin(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::iterator": return _pybullet.VectorOfSPSiconosCollisionQueryResult_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::iterator": return _pybullet.VectorOfSPSiconosCollisionQueryResult_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::reverse_iterator": return _pybullet.VectorOfSPSiconosCollisionQueryResult_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::reverse_iterator": return _pybullet.VectorOfSPSiconosCollisionQueryResult_rend(self) def clear(self) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::allocator_type": return _pybullet.VectorOfSPSiconosCollisionQueryResult_get_allocator(self) def pop_back(self) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::iterator": return _pybullet.VectorOfSPSiconosCollisionQueryResult_erase(self, *args) def __init__(self, *args): _pybullet.VectorOfSPSiconosCollisionQueryResult_swiginit(self, _pybullet.new_VectorOfSPSiconosCollisionQueryResult(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &": return _pybullet.VectorOfSPSiconosCollisionQueryResult_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &": return _pybullet.VectorOfSPSiconosCollisionQueryResult_back(self) def assign(self, n: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::size_type", x: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::value_type const &") -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::size_type") -> "void": return _pybullet.VectorOfSPSiconosCollisionQueryResult_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosCollisionQueryResult > >::size_type": return _pybullet.VectorOfSPSiconosCollisionQueryResult_capacity(self) __swig_destroy__ = _pybullet.delete_VectorOfSPSiconosCollisionQueryResult # Register VectorOfSPSiconosCollisionQueryResult in _pybullet: _pybullet.VectorOfSPSiconosCollisionQueryResult_swigregister(VectorOfSPSiconosCollisionQueryResult) class SiconosShape(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _inside_margin = property(_pybullet.SiconosShape__inside_margin_get, _pybullet.SiconosShape__inside_margin_set) _outside_margin = property(_pybullet.SiconosShape__outside_margin_get, _pybullet.SiconosShape__outside_margin_set) _version = property(_pybullet.SiconosShape__version_get, _pybullet.SiconosShape__version_set) def __init__(self): if self.__class__ == SiconosShape: _self = None else: _self = self _pybullet.SiconosShape_swiginit(self, _pybullet.new_SiconosShape(_self, )) __swig_destroy__ = _pybullet.delete_SiconosShape def setInsideMargin(self, margin: "double") -> "void": r""" Set the inside margin of the shape. This is a distance that the contour should be shrunk to improve contact detection robustness. It will have an effect on the roundness of corners. """ return _pybullet.SiconosShape_setInsideMargin(self, margin) def setOutsideMargin(self, margin: "double") -> "void": r""" Set the outside margin of the shape. This is the distance from the contact shell to an external shell used to detect contacts in advance. The implementation will detect contact points on the external shell and project them back to the contact shell. Note: Currently not working in Bullet implementation! Better to leave at zero. """ return _pybullet.SiconosShape_setOutsideMargin(self, margin) def insideMargin(self) -> "double": return _pybullet.SiconosShape_insideMargin(self) def outsideMargin(self) -> "double": return _pybullet.SiconosShape_outsideMargin(self) def version(self) -> "unsigned int": return _pybullet.SiconosShape_version(self) def __disown__(self): self.this.disown() _pybullet.disown_SiconosShape(self) return weakref.proxy(self) # Register SiconosShape in _pybullet: _pybullet.SiconosShape_swigregister(SiconosShape) class SiconosPlane(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == SiconosPlane: _self = None else: _self = self _pybullet.SiconosPlane_swiginit(self, _pybullet.new_SiconosPlane(_self, )) __swig_destroy__ = _pybullet.delete_SiconosPlane def __disown__(self): self.this.disown() _pybullet.disown_SiconosPlane(self) return weakref.proxy(self) # Register SiconosPlane in _pybullet: _pybullet.SiconosPlane_swigregister(SiconosPlane) class SiconosSphere(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _radius = property(_pybullet.SiconosSphere__radius_get, _pybullet.SiconosSphere__radius_set) def __init__(self, radius: "float"): if self.__class__ == SiconosSphere: _self = None else: _self = self _pybullet.SiconosSphere_swiginit(self, _pybullet.new_SiconosSphere(_self, radius)) __swig_destroy__ = _pybullet.delete_SiconosSphere def radius(self) -> "float": return _pybullet.SiconosSphere_radius(self) def setRadius(self, r: "float") -> "void": return _pybullet.SiconosSphere_setRadius(self, r) def __disown__(self): self.this.disown() _pybullet.disown_SiconosSphere(self) return weakref.proxy(self) # Register SiconosSphere in _pybullet: _pybullet.SiconosSphere_swigregister(SiconosSphere) class SiconosBox(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _dimensions = property(_pybullet.SiconosBox__dimensions_get, _pybullet.SiconosBox__dimensions_set) def __init__(self, *args): if self.__class__ == SiconosBox: _self = None else: _self = self _pybullet.SiconosBox_swiginit(self, _pybullet.new_SiconosBox(_self, *args)) __swig_destroy__ = _pybullet.delete_SiconosBox def dimensions(self) -> "SP::SiconosVector": return _pybullet.SiconosBox_dimensions(self) def setDimensions(self, *args) -> "void": return _pybullet.SiconosBox_setDimensions(self, *args) def __disown__(self): self.this.disown() _pybullet.disown_SiconosBox(self) return weakref.proxy(self) # Register SiconosBox in _pybullet: _pybullet.SiconosBox_swigregister(SiconosBox) class SiconosCylinder(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _radius = property(_pybullet.SiconosCylinder__radius_get, _pybullet.SiconosCylinder__radius_set) _length = property(_pybullet.SiconosCylinder__length_get, _pybullet.SiconosCylinder__length_set) def __init__(self, radius: "float", length: "float"): if self.__class__ == SiconosCylinder: _self = None else: _self = self _pybullet.SiconosCylinder_swiginit(self, _pybullet.new_SiconosCylinder(_self, radius, length)) __swig_destroy__ = _pybullet.delete_SiconosCylinder def setRadius(self, radius: "double") -> "void": return _pybullet.SiconosCylinder_setRadius(self, radius) def radius(self) -> "double": return _pybullet.SiconosCylinder_radius(self) def setLength(self, length: "double") -> "void": return _pybullet.SiconosCylinder_setLength(self, length) def length(self) -> "double": return _pybullet.SiconosCylinder_length(self) def __disown__(self): self.this.disown() _pybullet.disown_SiconosCylinder(self) return weakref.proxy(self) # Register SiconosCylinder in _pybullet: _pybullet.SiconosCylinder_swigregister(SiconosCylinder) class SiconosCone(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _radius = property(_pybullet.SiconosCone__radius_get, _pybullet.SiconosCone__radius_set) _length = property(_pybullet.SiconosCone__length_get, _pybullet.SiconosCone__length_set) def __init__(self, radius: "float", length: "float"): if self.__class__ == SiconosCone: _self = None else: _self = self _pybullet.SiconosCone_swiginit(self, _pybullet.new_SiconosCone(_self, radius, length)) __swig_destroy__ = _pybullet.delete_SiconosCone def setRadius(self, radius: "double") -> "void": return _pybullet.SiconosCone_setRadius(self, radius) def radius(self) -> "double": return _pybullet.SiconosCone_radius(self) def setLength(self, length: "double") -> "void": return _pybullet.SiconosCone_setLength(self, length) def length(self) -> "double": return _pybullet.SiconosCone_length(self) def __disown__(self): self.this.disown() _pybullet.disown_SiconosCone(self) return weakref.proxy(self) # Register SiconosCone in _pybullet: _pybullet.SiconosCone_swigregister(SiconosCone) class SiconosCapsule(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _radius = property(_pybullet.SiconosCapsule__radius_get, _pybullet.SiconosCapsule__radius_set) _length = property(_pybullet.SiconosCapsule__length_get, _pybullet.SiconosCapsule__length_set) def __init__(self, radius: "float", length: "float"): if self.__class__ == SiconosCapsule: _self = None else: _self = self _pybullet.SiconosCapsule_swiginit(self, _pybullet.new_SiconosCapsule(_self, radius, length)) __swig_destroy__ = _pybullet.delete_SiconosCapsule def setRadius(self, radius: "double") -> "void": return _pybullet.SiconosCapsule_setRadius(self, radius) def radius(self) -> "double": return _pybullet.SiconosCapsule_radius(self) def setLength(self, length: "double") -> "void": return _pybullet.SiconosCapsule_setLength(self, length) def length(self) -> "double": return _pybullet.SiconosCapsule_length(self) def __disown__(self): self.this.disown() _pybullet.disown_SiconosCapsule(self) return weakref.proxy(self) # Register SiconosCapsule in _pybullet: _pybullet.SiconosCapsule_swigregister(SiconosCapsule) class SiconosConvexHull(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _vertices = property(_pybullet.SiconosConvexHull__vertices_get, _pybullet.SiconosConvexHull__vertices_set) def __init__(self, vertices: "SP::SiconosMatrix"): if self.__class__ == SiconosConvexHull: _self = None else: _self = self _pybullet.SiconosConvexHull_swiginit(self, _pybullet.new_SiconosConvexHull(_self, vertices)) __swig_destroy__ = _pybullet.delete_SiconosConvexHull def vertices(self) -> "SP::SiconosMatrix": return _pybullet.SiconosConvexHull_vertices(self) def setVertices(self, vertices: "SP::SiconosMatrix") -> "void": return _pybullet.SiconosConvexHull_setVertices(self, vertices) def __disown__(self): self.this.disown() _pybullet.disown_SiconosConvexHull(self) return weakref.proxy(self) # Register SiconosConvexHull in _pybullet: _pybullet.SiconosConvexHull_swigregister(SiconosConvexHull) class SiconosMesh(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _indexes = property(_pybullet.SiconosMesh__indexes_get, _pybullet.SiconosMesh__indexes_set) _vertices = property(_pybullet.SiconosMesh__vertices_get, _pybullet.SiconosMesh__vertices_set) def __init__(self, indexes: "unsignedintv", vertices: "SP::SiconosMatrix"): if self.__class__ == SiconosMesh: _self = None else: _self = self _pybullet.SiconosMesh_swiginit(self, _pybullet.new_SiconosMesh(_self, indexes, vertices)) def indexes(self) -> "SP::VUInt": return _pybullet.SiconosMesh_indexes(self) def vertices(self) -> "SP::SiconosMatrix": return _pybullet.SiconosMesh_vertices(self) __swig_destroy__ = _pybullet.delete_SiconosMesh def __disown__(self): self.this.disown() _pybullet.disown_SiconosMesh(self) return weakref.proxy(self) # Register SiconosMesh in _pybullet: _pybullet.SiconosMesh_swigregister(SiconosMesh) class SiconosHeightMap(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _height_data = property(_pybullet.SiconosHeightMap__height_data_get, _pybullet.SiconosHeightMap__height_data_set) _length_x = property(_pybullet.SiconosHeightMap__length_x_get, _pybullet.SiconosHeightMap__length_x_set) _length_y = property(_pybullet.SiconosHeightMap__length_y_get, _pybullet.SiconosHeightMap__length_y_set) def __init__(self, height_data: "SP::SiconosMatrix", length_x: "double", length_y: "double"): if self.__class__ == SiconosHeightMap: _self = None else: _self = self _pybullet.SiconosHeightMap_swiginit(self, _pybullet.new_SiconosHeightMap(_self, height_data, length_x, length_y)) def height_data(self) -> "SP::SiconosMatrix": return _pybullet.SiconosHeightMap_height_data(self) def length_x(self) -> "double": return _pybullet.SiconosHeightMap_length_x(self) def length_y(self) -> "double": return _pybullet.SiconosHeightMap_length_y(self) __swig_destroy__ = _pybullet.delete_SiconosHeightMap def __disown__(self): self.this.disown() _pybullet.disown_SiconosHeightMap(self) return weakref.proxy(self) # Register SiconosHeightMap in _pybullet: _pybullet.SiconosHeightMap_swigregister(SiconosHeightMap) class SiconosDisk(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _radius = property(_pybullet.SiconosDisk__radius_get, _pybullet.SiconosDisk__radius_set) def __init__(self, radius: "float"): if self.__class__ == SiconosDisk: _self = None else: _self = self _pybullet.SiconosDisk_swiginit(self, _pybullet.new_SiconosDisk(_self, radius)) __swig_destroy__ = _pybullet.delete_SiconosDisk def radius(self) -> "float": return _pybullet.SiconosDisk_radius(self) def setRadius(self, r: "float") -> "void": return _pybullet.SiconosDisk_setRadius(self, r) def __disown__(self): self.this.disown() _pybullet.disown_SiconosDisk(self) return weakref.proxy(self) # Register SiconosDisk in _pybullet: _pybullet.SiconosDisk_swigregister(SiconosDisk) class SiconosBox2d(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _dimensions = property(_pybullet.SiconosBox2d__dimensions_get, _pybullet.SiconosBox2d__dimensions_set) def __init__(self, *args): if self.__class__ == SiconosBox2d: _self = None else: _self = self _pybullet.SiconosBox2d_swiginit(self, _pybullet.new_SiconosBox2d(_self, *args)) __swig_destroy__ = _pybullet.delete_SiconosBox2d def dimensions(self) -> "SP::SiconosVector": return _pybullet.SiconosBox2d_dimensions(self) def setDimensions(self, *args) -> "void": return _pybullet.SiconosBox2d_setDimensions(self, *args) def __disown__(self): self.this.disown() _pybullet.disown_SiconosBox2d(self) return weakref.proxy(self) # Register SiconosBox2d in _pybullet: _pybullet.SiconosBox2d_swigregister(SiconosBox2d) class SiconosConvexHull2d(SiconosShape, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _vertices = property(_pybullet.SiconosConvexHull2d__vertices_get, _pybullet.SiconosConvexHull2d__vertices_set) _avoidInternalEdgeContact = property(_pybullet.SiconosConvexHull2d__avoidInternalEdgeContact_get, _pybullet.SiconosConvexHull2d__avoidInternalEdgeContact_set) _normal_edge_pointA = property(_pybullet.SiconosConvexHull2d__normal_edge_pointA_get, _pybullet.SiconosConvexHull2d__normal_edge_pointA_set) _normal_edge_pointB = property(_pybullet.SiconosConvexHull2d__normal_edge_pointB_get, _pybullet.SiconosConvexHull2d__normal_edge_pointB_set) def __init__(self, vertices: "SP::SiconosMatrix"): if self.__class__ == SiconosConvexHull2d: _self = None else: _self = self _pybullet.SiconosConvexHull2d_swiginit(self, _pybullet.new_SiconosConvexHull2d(_self, vertices)) __swig_destroy__ = _pybullet.delete_SiconosConvexHull2d def vertices(self) -> "SP::SiconosMatrix": return _pybullet.SiconosConvexHull2d_vertices(self) def setVertices(self, vertices: "SP::SiconosMatrix") -> "void": return _pybullet.SiconosConvexHull2d_setVertices(self, vertices) def avoidInternalEdgeContact(self) -> "bool": return _pybullet.SiconosConvexHull2d_avoidInternalEdgeContact(self) def setAvoidInternalEdgeContact(self, value: "bool") -> "void": return _pybullet.SiconosConvexHull2d_setAvoidInternalEdgeContact(self, value) def __disown__(self): self.this.disown() _pybullet.disown_SiconosConvexHull2d(self) return weakref.proxy(self) # Register SiconosConvexHull2d in _pybullet: _pybullet.SiconosConvexHull2d_swigregister(SiconosConvexHull2d)
[docs]class SiconosContactor(object): r""" Class to hold the shape assigned to a body, and to associate each shape with an offset and collision group. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): _pybullet.SiconosContactor_swiginit(self, _pybullet.new_SiconosContactor(*args)) shape = property(_pybullet.SiconosContactor_shape_get, _pybullet.SiconosContactor_shape_set) offset = property(_pybullet.SiconosContactor_offset_get, _pybullet.SiconosContactor_offset_set) collision_group = property(_pybullet.SiconosContactor_collision_group_get, _pybullet.SiconosContactor_collision_group_set) __swig_destroy__ = _pybullet.delete_SiconosContactor
# Register SiconosContactor in _pybullet: _pybullet.SiconosContactor_swigregister(SiconosContactor) class SiconosContactorSet(VectorOfSPSiconosContactor): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def append(self, *args) -> "void": return _pybullet.SiconosContactorSet_append(self, *args) def __init__(self): _pybullet.SiconosContactorSet_swiginit(self, _pybullet.new_SiconosContactorSet()) __swig_destroy__ = _pybullet.delete_SiconosContactorSet # Register SiconosContactorSet in _pybullet: _pybullet.SiconosContactorSet_swigregister(SiconosContactorSet)
[docs]class ContactR(siconos.kernel.NewtonEuler3DR): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == ContactR: _self = None else: _self = self _pybullet.ContactR_swiginit(self, _pybullet.new_ContactR(_self, )) bodyShapeRecordA = property(_pybullet.ContactR_bodyShapeRecordA_get, _pybullet.ContactR_bodyShapeRecordA_set) bodyShapeRecordB = property(_pybullet.ContactR_bodyShapeRecordB_get, _pybullet.ContactR_bodyShapeRecordB_set)
[docs] def computeh(self, time: "double", q0: "BlockVector", y: "SiconosVector") -> "void": r""" to compute the output y = h(t,q,z) of the Relation :type time: float :param time: current time value :param q: coordinates of the dynamical systems involved in the relation :type y: :py:class:`SiconosVector` :param y: the resulting vector """ return _pybullet.ContactR_computeh(self, time, q0, y)
[docs] def updateContactPoints(self, pos1: "SiconosVector", pos2: "SiconosVector", normal: "SiconosVector") -> "void": r""" Update this contact point information. :type pos1: :py:class:`SiconosVector` :param pos1: Position on ds1 in ds1 frame. :type pos2: :py:class:`SiconosVector` :param pos2: Position on ds2 in ds2 frame (or world frame if ds2=null). :type normal: :py:class:`SiconosVector` :param normal: Normal in ds2 frame (or world frame if ds2=null). """ return _pybullet.ContactR_updateContactPoints(self, pos1, pos2, normal)
def preDelete(self) -> "void": return _pybullet.ContactR_preDelete(self)
[docs] def display(self) -> "void": return _pybullet.ContactR_display(self)
__swig_destroy__ = _pybullet.delete_ContactR def __disown__(self): self.this.disown() _pybullet.disown_ContactR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _pybullet.ContactR__zeroPlugin(self)
# Register ContactR in _pybullet: _pybullet.ContactR_swigregister(ContactR)
[docs]class RigidBodyDS(siconos.kernel.NewtonEulerDS, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _contactors = property(_pybullet.RigidBodyDS__contactors_get, _pybullet.RigidBodyDS__contactors_set) _useContactorInertia = property(_pybullet.RigidBodyDS__useContactorInertia_get, _pybullet.RigidBodyDS__useContactorInertia_set) _allowSelfCollide = property(_pybullet.RigidBodyDS__allowSelfCollide_get, _pybullet.RigidBodyDS__allowSelfCollide_set, doc=r""" If false, bodies connected to this body by a joint will not collide. See also NewtonEulerJointR::_allowSelfCollide """) def __init__(self, *args): if self.__class__ == RigidBodyDS: _self = None else: _self = self _pybullet.RigidBodyDS_swiginit(self, _pybullet.new_RigidBodyDS(_self, *args)) __swig_destroy__ = _pybullet.delete_RigidBodyDS def setUseContactorInertia(self, use: "bool") -> "void": return _pybullet.RigidBodyDS_setUseContactorInertia(self, use) def useContactorInertia(self) -> "bool": return _pybullet.RigidBodyDS_useContactorInertia(self)
[docs] def allowSelfCollide(self) -> "bool": r""" Return the value of the _allowSelfCollide flag.""" return _pybullet.RigidBodyDS_allowSelfCollide(self)
[docs] def setAllowSelfCollide(self, x: "bool") -> "void": r""" Set the value of the _allowSelfCollide flag.""" return _pybullet.RigidBodyDS_setAllowSelfCollide(self, x)
[docs] def contactors(self) -> "SP::SiconosContactorSet": r""" Access the contactor set associated with this body. :rtype: :py:class:`SiconosContactorSet` :return: A SP::SiconosContactorSet """ return _pybullet.RigidBodyDS_contactors(self)
[docs] def setContactors(self, c: "SP::SiconosContactorSet") -> "void": r""" Provide a set of contactors to the body. :type c: :py:class:`SiconosContactorSet` :param c: A SP::SiconosContactorSet """ return _pybullet.RigidBodyDS_setContactors(self, c)
[docs] def base_position(self) -> "SP::SiconosVector": r""" Make the base position of the contactors equal to the DS q vector. :rtype: :py:class:`SiconosVector` :return: a SP::SiconosVector """ return _pybullet.RigidBodyDS_base_position(self)
def acceptSPBase(self, tourist: "SP::SiconosVisitor") -> "void": return _pybullet.RigidBodyDS_acceptSPBase(self, tourist) def acceptBase(self, tourist: "SiconosVisitor &") -> "void": return _pybullet.RigidBodyDS_acceptBase(self, tourist) def acceptSerializerBase(self, serializer: "SiconosVisitor &") -> "void": return _pybullet.RigidBodyDS_acceptSerializerBase(self, serializer) def __disown__(self): self.this.disown() _pybullet.disown_RigidBodyDS(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" build all _plugin... PluggedObject""" return _pybullet.RigidBodyDS__zeroPlugin(self)
# Register RigidBodyDS in _pybullet: _pybullet.RigidBodyDS_swigregister(RigidBodyDS) class Contact2dR(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == Contact2dR: _self = None else: _self = self _pybullet.Contact2dR_swiginit(self, _pybullet.new_Contact2dR(_self, )) __swig_destroy__ = _pybullet.delete_Contact2dR bodyShapeRecordA = property(_pybullet.Contact2dR_bodyShapeRecordA_get, _pybullet.Contact2dR_bodyShapeRecordA_set) bodyShapeRecordB = property(_pybullet.Contact2dR_bodyShapeRecordB_get, _pybullet.Contact2dR_bodyShapeRecordB_set) def updateContactPointsInAbsoluteFrame(self, pos1: "SiconosVector", pos2: "SiconosVector", normal: "SiconosVector") -> "void": r""" Update this contact point information. :type pos1: :py:class:`SiconosVector` :param pos1: Position on ds1 in ds1 frame. :type pos2: :py:class:`SiconosVector` :param pos2: Position on ds2 in ds2 frame (or world frame if ds2=null). :type normal: :py:class:`SiconosVector` :param normal: Normal in ds2 frame (or world frame if ds2=null). """ return _pybullet.Contact2dR_updateContactPointsInAbsoluteFrame(self, pos1, pos2, normal) def preDelete(self) -> "void": return _pybullet.Contact2dR_preDelete(self) def __disown__(self): self.this.disown() _pybullet.disown_Contact2dR(self) return weakref.proxy(self) # Register Contact2dR in _pybullet: _pybullet.Contact2dR_swigregister(Contact2dR) class Contact2d3DR(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == Contact2d3DR: _self = None else: _self = self _pybullet.Contact2d3DR_swiginit(self, _pybullet.new_Contact2d3DR(_self, )) __swig_destroy__ = _pybullet.delete_Contact2d3DR bodyShapeRecordA = property(_pybullet.Contact2d3DR_bodyShapeRecordA_get, _pybullet.Contact2d3DR_bodyShapeRecordA_set) bodyShapeRecordB = property(_pybullet.Contact2d3DR_bodyShapeRecordB_get, _pybullet.Contact2d3DR_bodyShapeRecordB_set) def updateContactPointsInAbsoluteFrame(self, pos1: "SiconosVector", pos2: "SiconosVector", normal: "SiconosVector") -> "void": r""" Update this contact point information. :type pos1: :py:class:`SiconosVector` :param pos1: Position on ds1 in ds1 frame. :type pos2: :py:class:`SiconosVector` :param pos2: Position on ds2 in ds2 frame (or world frame if ds2=null). :type normal: :py:class:`SiconosVector` :param normal: Normal in ds2 frame (or world frame if ds2=null). """ return _pybullet.Contact2d3DR_updateContactPointsInAbsoluteFrame(self, pos1, pos2, normal) def preDelete(self) -> "void": return _pybullet.Contact2d3DR_preDelete(self) def __disown__(self): self.this.disown() _pybullet.disown_Contact2d3DR(self) return weakref.proxy(self) # Register Contact2d3DR in _pybullet: _pybullet.Contact2d3DR_swigregister(Contact2d3DR)
[docs]class Contact5DR(siconos.kernel.NewtonEuler5DR): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == Contact5DR: _self = None else: _self = self _pybullet.Contact5DR_swiginit(self, _pybullet.new_Contact5DR(_self, )) bodyShapeRecordA = property(_pybullet.Contact5DR_bodyShapeRecordA_get, _pybullet.Contact5DR_bodyShapeRecordA_set) bodyShapeRecordB = property(_pybullet.Contact5DR_bodyShapeRecordB_get, _pybullet.Contact5DR_bodyShapeRecordB_set)
[docs] def computeh(self, time: "double", q0: "BlockVector", y: "SiconosVector") -> "void": r""" to compute the output y = h(t,q) of the Relation :type time: float :param time: current time value :param q: coordinates of the dynamical systems involved in the relation :type y: :py:class:`SiconosVector` :param y: the resulting vector """ return _pybullet.Contact5DR_computeh(self, time, q0, y)
[docs] def updateContactPoints(self, pos1: "SiconosVector", pos2: "SiconosVector", normal: "SiconosVector") -> "void": r""" Update this contact point information. :type pos1: :py:class:`SiconosVector` :param pos1: Position on ds1 in ds1 frame. :type pos2: :py:class:`SiconosVector` :param pos2: Position on ds2 in ds2 frame (or world frame if ds2=null). :type normal: :py:class:`SiconosVector` :param normal: Normal in ds2 frame (or world frame if ds2=null). """ return _pybullet.Contact5DR_updateContactPoints(self, pos1, pos2, normal)
def preDelete(self) -> "void": return _pybullet.Contact5DR_preDelete(self) __swig_destroy__ = _pybullet.delete_Contact5DR def __disown__(self): self.this.disown() _pybullet.disown_Contact5DR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _pybullet.Contact5DR__zeroPlugin(self)
# Register Contact5DR in _pybullet: _pybullet.Contact5DR_swigregister(Contact5DR)
[docs]class RigidBody2dDS(siconos.kernel.LagrangianLinearTIDS, ): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _scalarMass = property(_pybullet.RigidBody2dDS__scalarMass_get, _pybullet.RigidBody2dDS__scalarMass_set, doc=r""" a scalar mass in the case of RigidBody2dDS""") _contactors = property(_pybullet.RigidBody2dDS__contactors_get, _pybullet.RigidBody2dDS__contactors_set) _useContactorInertia = property(_pybullet.RigidBody2dDS__useContactorInertia_get, _pybullet.RigidBody2dDS__useContactorInertia_set) _allowSelfCollide = property(_pybullet.RigidBody2dDS__allowSelfCollide_get, _pybullet.RigidBody2dDS__allowSelfCollide_set, doc=r""" If false, bodies connected to this body by a joint will not collide. See also NewtonEulerJointR::_allowSelfCollide """) def __init__(self, *args): if self.__class__ == RigidBody2dDS: _self = None else: _self = self _pybullet.RigidBody2dDS_swiginit(self, _pybullet.new_RigidBody2dDS(_self, *args)) __swig_destroy__ = _pybullet.delete_RigidBody2dDS def scalarMass(self) -> "double": return _pybullet.RigidBody2dDS_scalarMass(self) def setUseContactorInertia(self, use: "bool") -> "void": return _pybullet.RigidBody2dDS_setUseContactorInertia(self, use) def useContactorInertia(self) -> "bool": return _pybullet.RigidBody2dDS_useContactorInertia(self)
[docs] def allowSelfCollide(self) -> "bool": r""" Return the value of the _allowSelfCollide flag.""" return _pybullet.RigidBody2dDS_allowSelfCollide(self)
[docs] def setAllowSelfCollide(self, x: "bool") -> "void": r""" Set the value of the _allowSelfCollide flag.""" return _pybullet.RigidBody2dDS_setAllowSelfCollide(self, x)
[docs] def contactors(self) -> "SP::SiconosContactorSet": r""" :rtype: :py:class:`SiconosContactorSet` :return: the contactor set associated with this body """ return _pybullet.RigidBody2dDS_contactors(self)
[docs] def setContactors(self, c: "SP::SiconosContactorSet") -> "void": r""" Provide a set of contactors to the body. :type c: :py:class:`SiconosContactorSet` :param c: A SP::SiconosContactorSet """ return _pybullet.RigidBody2dDS_setContactors(self, c)
[docs] def base_position(self) -> "SP::SiconosVector": r""" Make the base position of the contactors equal to the DS q vector. :rtype: :py:class:`SiconosVector` :return: a SP::SiconosVector """ return _pybullet.RigidBody2dDS_base_position(self)
def acceptSPBase(self, tourist: "SP::SiconosVisitor") -> "void": return _pybullet.RigidBody2dDS_acceptSPBase(self, tourist) def acceptBase(self, tourist: "SiconosVisitor &") -> "void": return _pybullet.RigidBody2dDS_acceptBase(self, tourist) def acceptSerializerBase(self, serializer: "SiconosVisitor &") -> "void": return _pybullet.RigidBody2dDS_acceptSerializerBase(self, serializer) def __disown__(self): self.this.disown() _pybullet.disown_RigidBody2dDS(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" build all _plugin... PluggedObject""" return _pybullet.RigidBody2dDS__zeroPlugin(self)
# Register RigidBody2dDS in _pybullet: _pybullet.RigidBody2dDS_swigregister(RigidBody2dDS)
[docs]class SiconosCollisionQueryResult(object): r""" Holds one result of a line segment intersection query against the graph of body contactors maintained by a SiconosCollisionManager """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr distance = property(_pybullet.SiconosCollisionQueryResult_distance_get, _pybullet.SiconosCollisionQueryResult_distance_set, doc=r""" Distance from reference point (start of line segment or query center)""") body = property(_pybullet.SiconosCollisionQueryResult_body_get, _pybullet.SiconosCollisionQueryResult_body_set, doc=r""" Body owning the contactor that was intersected, may be null for static contactors. """) shape = property(_pybullet.SiconosCollisionQueryResult_shape_get, _pybullet.SiconosCollisionQueryResult_shape_set, doc=r""" The shape that was intersected.""") contactor = property(_pybullet.SiconosCollisionQueryResult_contactor_get, _pybullet.SiconosCollisionQueryResult_contactor_set, doc=r""" The contactor that was intersected.""") point = property(_pybullet.SiconosCollisionQueryResult_point_get, _pybullet.SiconosCollisionQueryResult_point_set, doc=r""" Closest point on contactor in world coordinates.""") def __init__(self): _pybullet.SiconosCollisionQueryResult_swiginit(self, _pybullet.new_SiconosCollisionQueryResult()) __swig_destroy__ = _pybullet.delete_SiconosCollisionQueryResult
# Register SiconosCollisionQueryResult in _pybullet: _pybullet.SiconosCollisionQueryResult_swigregister(SiconosCollisionQueryResult) class SiconosCollisionManager(siconos.kernel.InteractionManager): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == SiconosCollisionManager: _self = None else: _self = self _pybullet.SiconosCollisionManager_swiginit(self, _pybullet.new_SiconosCollisionManager(_self, )) __swig_destroy__ = _pybullet.delete_SiconosCollisionManager def removeBody(self, body: "SP::SecondOrderDS const &") -> "void": r""" Remove a body from the collision detector. This must be done after removing a body from the NonSmoothDynamicalSystem otherwise contact will occur with a non-graph body which results in failure. """ return _pybullet.SiconosCollisionManager_removeBody(self, body) def addStaticBody(self, *args) -> "SP::StaticBody": r""" Add a static body in the collision detector.""" return _pybullet.SiconosCollisionManager_addStaticBody(self, *args) def removeStaticBody(self, body: "SP::StaticBody const &") -> "void": r""" Remove a body from the collision detector.""" return _pybullet.SiconosCollisionManager_removeStaticBody(self, body) def lineIntersectionQuery(self, start: "SiconosVector", end: "SiconosVector", closestOnly: "bool"=False, sorted: "bool"=True) -> "std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > >": r""" Perform an intersection test on all shapes in the contactors and return a vector of all results, ordered by distance from start. :type start: :py:class:`SiconosVector` :param start: The starting point of the line segment in inertial frame (world) coordinates. :type end: :py:class:`SiconosVector` :param end: The ending point of the line segment in inertial frame (world) coordinates. :type closestOnly: boolean, optional :param closestOnly: If true, indicates only interested in first result closest to half-space boundary, max size of returned vector = 1. :type sorted: boolean, optional :param sorted: If true, results are sorted by distance. :rtype: std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > > :return: A vector of SiconosCollisionQueryResult that contain information about the query results. """ return _pybullet.SiconosCollisionManager_lineIntersectionQuery(self, start, end, closestOnly, sorted) def inSphereQuery(self, center: "SiconosVector", radius: "double", closestOnly: "bool"=False, sorted: "bool"=True) -> "std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > >": r""" Find all shapes that are within a sphere defined by a point and a radius and return them in an ordered list based on distance to the center :type center: :py:class:`SiconosVector` :param center: The center of the sphere in inertial frame (world) coordinates. :type radius: float :param radius: The radius of the sphere. :type closestOnly: boolean, optional :param closestOnly: If true, indicates only interested in first result closest to half-space boundary, max size of returned vector = 1. :type sorted: boolean, optional :param sorted: If true, results are sorted by distance. :rtype: std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > > :return: A vector of SiconosCollisionQueryResult that contain information about the query results. """ return _pybullet.SiconosCollisionManager_inSphereQuery(self, center, radius, closestOnly, sorted) def inBoxQuery(self, center: "SiconosVector", dimensions: "SiconosVector", closestOnly: "bool"=False, sorted: "bool"=True) -> "std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > >": r""" Find all shapes that are within a box defined by a center point and a dimensions (3-vector), and return them in an ordered list based on distance to the center. :type center: :py:class:`SiconosVector` :param center: The center of the box in inertial frame (world) coordinates. :type dimensions: :py:class:`SiconosVector` :param dimensions: The dimensions of the box (3-vector). :type closestOnly: boolean, optional :param closestOnly: If true, indicates only interested in first result closest to half-space boundary, max size of returned vector = 1. :type sorted: boolean, optional :param sorted: If true, results are sorted by distance. :rtype: std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > > :return: A vector of SiconosCollisionQueryResult that contain information about the query results. """ return _pybullet.SiconosCollisionManager_inBoxQuery(self, center, dimensions, closestOnly, sorted) def inHalfSpaceQuery(self, point: "SiconosVector", normal: "SiconosVector", closestOnly: "bool"=False, sorted: "bool"=True) -> "std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > >": r""" Find all shapes that are inside a half-space, defined by a point and a normal direction. :type point: :py:class:`SiconosVector` :param point: The point defining the boundary of the half-space. :type normal: :py:class:`SiconosVector` :param normal: The normal pointing away from the surface of the half-space. :type closestOnly: boolean, optional :param closestOnly: If true, indicates only interested in first result closest to half-space boundary, max size of returned vector = 1. :type sorted: boolean, optional :param sorted: If true, results are sorted by distance. :rtype: std::vector< SP::SiconosCollisionQueryResult,std::allocator< SP::SiconosCollisionQueryResult > > :return: A vector of SiconosCollisionQueryResult that contain information about the query results. """ return _pybullet.SiconosCollisionManager_inHalfSpaceQuery(self, point, normal, closestOnly, sorted) def __disown__(self): self.this.disown() _pybullet.disown_SiconosCollisionManager(self) return weakref.proxy(self) # Register SiconosCollisionManager in _pybullet: _pybullet.SiconosCollisionManager_swigregister(SiconosCollisionManager) class StaticBody(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self): if self.__class__ == StaticBody: _self = None else: _self = self _pybullet.StaticBody_swiginit(self, _pybullet.new_StaticBody(_self, )) contactorSet = property(_pybullet.StaticBody_contactorSet_get, _pybullet.StaticBody_contactorSet_set) base = property(_pybullet.StaticBody_base_get, _pybullet.StaticBody_base_set) number = property(_pybullet.StaticBody_number_get, _pybullet.StaticBody_number_set) __swig_destroy__ = _pybullet.delete_StaticBody def __disown__(self): self.this.disown() _pybullet.disown_StaticBody(self) return weakref.proxy(self) # Register StaticBody in _pybullet: _pybullet.StaticBody_swigregister(StaticBody) class BodyShapeRecord(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, b: "SP::SiconosVector", d: "SP::SecondOrderDS", sh: "SP::SiconosShape", con: "SP::SiconosContactor", staticCSR: "SP::StaticBody"): if self.__class__ == BodyShapeRecord: _self = None else: _self = self _pybullet.BodyShapeRecord_swiginit(self, _pybullet.new_BodyShapeRecord(_self, b, d, sh, con, staticCSR)) __swig_destroy__ = _pybullet.delete_BodyShapeRecord base = property(_pybullet.BodyShapeRecord_base_get, _pybullet.BodyShapeRecord_base_set) ds = property(_pybullet.BodyShapeRecord_ds_get, _pybullet.BodyShapeRecord_ds_set) sshape = property(_pybullet.BodyShapeRecord_sshape_get, _pybullet.BodyShapeRecord_sshape_set) contactor = property(_pybullet.BodyShapeRecord_contactor_get, _pybullet.BodyShapeRecord_contactor_set) shape_version = property(_pybullet.BodyShapeRecord_shape_version_get, _pybullet.BodyShapeRecord_shape_version_set) staticBody = property(_pybullet.BodyShapeRecord_staticBody_get, _pybullet.BodyShapeRecord_staticBody_set) def display(self) -> "void": return _pybullet.BodyShapeRecord_display(self) def __disown__(self): self.this.disown() _pybullet.disown_BodyShapeRecord(self) return weakref.proxy(self) # Register BodyShapeRecord in _pybullet: _pybullet.BodyShapeRecord_swigregister(BodyShapeRecord) def cast_ContactR(rel: "SP::Relation") -> "SP::ContactR": return _pybullet.cast_ContactR(rel) def cast_Contact2dR(rel: "SP::Relation") -> "SP::Contact2dR": return _pybullet.cast_Contact2dR(rel) def cast_Contact2d3DR(rel: "SP::Relation") -> "SP::Contact2d3DR": return _pybullet.cast_Contact2d3DR(rel) def cast_Contact5DR(rel: "SP::Relation") -> "SP::Contact5DR": return _pybullet.cast_Contact5DR(rel) btVector3DataName = _pybullet.btVector3DataName
[docs]class btVector3(object): r""" btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte alignment when btVector3 is stored in containers. This extra component can be used by derived classes (Quaternion?) or by user Ideally, this class should be replaced by a platform optimized SIMD version that keeps the data in registers """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): r""" *Overload 1:* No initialization constructor | *Overload 2:* Constructor from scalars :param x: X value :param y: Y value :param z: Z value """ _pybullet.btVector3_swiginit(self, _pybullet.new_btVector3(*args)) def __iadd__(self, v: "btVector3") -> "btVector3 &": r""" Add a vector to this one :param The: vector to add to this one """ return _pybullet.btVector3___iadd__(self, v) def __isub__(self, v: "btVector3") -> "btVector3 &": r""" Subtract a vector from this one :param The: vector to subtract """ return _pybullet.btVector3___isub__(self, v) def __itruediv__(self, *args): return _pybullet.btVector3___itruediv__(self, *args) __idiv__ = __itruediv__
[docs] def dot(self, v: "btVector3") -> "btScalar": r""" Return the dot product :type v: :py:class:`btVector3` :param v: The other vector in the dot product """ return _pybullet.btVector3_dot(self, v)
[docs] def length2(self) -> "btScalar": r"""Return the length of the vector squared""" return _pybullet.btVector3_length2(self)
[docs] def length(self) -> "btScalar": r"""Return the length of the vector""" return _pybullet.btVector3_length(self)
[docs] def norm(self) -> "btScalar": r"""Return the norm (length) of the vector""" return _pybullet.btVector3_norm(self)
[docs] def safeNorm(self) -> "btScalar": r"""Return the norm (length) of the vector""" return _pybullet.btVector3_safeNorm(self)
[docs] def distance2(self, v: "btVector3") -> "btScalar": r""" Return the distance squared between the ends of this and another vector This is symantically treating the vector like a point """ return _pybullet.btVector3_distance2(self, v)
[docs] def distance(self, v: "btVector3") -> "btScalar": r""" Return the distance between the ends of this and another vector This is symantically treating the vector like a point """ return _pybullet.btVector3_distance(self, v)
def safeNormalize(self) -> "btVector3 &": return _pybullet.btVector3_safeNormalize(self)
[docs] def normalize(self) -> "btVector3 &": r""" Normalize this vector x^2 + y^2 + z^2 = 1 """ return _pybullet.btVector3_normalize(self)
[docs] def normalized(self) -> "btVector3": r"""Return a normalized version of this vector""" return _pybullet.btVector3_normalized(self)
[docs] def rotate(self, wAxis: "btVector3", angle: "btScalar const") -> "btVector3": r""" Return a rotated version of this vector :type wAxis: :py:class:`btVector3` :param wAxis: The axis to rotate about :type angle: float :param angle: The angle to rotate by """ return _pybullet.btVector3_rotate(self, wAxis, angle)
[docs] def angle(self, v: "btVector3") -> "btScalar": r""" Return the angle between this and another vector :type v: :py:class:`btVector3` :param v: The other vector """ return _pybullet.btVector3_angle(self, v)
[docs] def absolute(self) -> "btVector3": r"""Return a vector with the absolute values of each element""" return _pybullet.btVector3_absolute(self)
[docs] def cross(self, v: "btVector3") -> "btVector3": r""" Return the cross product between this and another vector :type v: :py:class:`btVector3` :param v: The other vector """ return _pybullet.btVector3_cross(self, v)
def triple(self, v1: "btVector3", v2: "btVector3") -> "btScalar": return _pybullet.btVector3_triple(self, v1, v2)
[docs] def minAxis(self) -> "int": r""" Return the axis with the smallest value Note return values are 0,1,2 for x, y, or z """ return _pybullet.btVector3_minAxis(self)
[docs] def maxAxis(self) -> "int": r""" Return the axis with the largest value Note return values are 0,1,2 for x, y, or z """ return _pybullet.btVector3_maxAxis(self)
def furthestAxis(self) -> "int": return _pybullet.btVector3_furthestAxis(self) def closestAxis(self) -> "int": return _pybullet.btVector3_closestAxis(self) def setInterpolate3(self, v0: "btVector3", v1: "btVector3", rt: "btScalar") -> "void": return _pybullet.btVector3_setInterpolate3(self, v0, v1, rt)
[docs] def lerp(self, v: "btVector3", t: "btScalar const &") -> "btVector3": r""" Return the linear interpolation between this and another vector :type v: :py:class:`btVector3` :param v: The other vector :type t: float :param t: The ration of this to v (t = 0 => return this, t=1 => return other) """ return _pybullet.btVector3_lerp(self, v, t)
def __imul__(self, *args) -> "btVector3 &": r""" *Overload 1:* Scale the vector :type s: float :param s: Scale factor | *Overload 2:* Elementwise multiply this vector by the other :type v: :py:class:`btVector3` :param v: The other vector """ return _pybullet.btVector3___imul__(self, *args)
[docs] def getX(self) -> "btScalar const &": r"""Return the x value""" return _pybullet.btVector3_getX(self)
[docs] def getY(self) -> "btScalar const &": r"""Return the y value""" return _pybullet.btVector3_getY(self)
[docs] def getZ(self) -> "btScalar const &": r"""Return the z value""" return _pybullet.btVector3_getZ(self)
[docs] def setX(self, _x: "btScalar") -> "void": r"""Set the x value""" return _pybullet.btVector3_setX(self, _x)
[docs] def setY(self, _y: "btScalar") -> "void": r"""Set the y value""" return _pybullet.btVector3_setY(self, _y)
[docs] def setZ(self, _z: "btScalar") -> "void": r"""Set the z value""" return _pybullet.btVector3_setZ(self, _z)
[docs] def setW(self, _w: "btScalar") -> "void": r"""Set the w value""" return _pybullet.btVector3_setW(self, _w)
[docs] def x(self) -> "btScalar const &": r"""Return the x value""" return _pybullet.btVector3_x(self)
[docs] def y(self) -> "btScalar const &": r"""Return the y value""" return _pybullet.btVector3_y(self)
[docs] def z(self) -> "btScalar const &": r"""Return the z value""" return _pybullet.btVector3_z(self)
[docs] def w(self) -> "btScalar const &": r"""Return the w value""" return _pybullet.btVector3_w(self)
def __eq__(self, other: "btVector3") -> "bool": return _pybullet.btVector3___eq__(self, other) def __ne__(self, other: "btVector3") -> "bool": return _pybullet.btVector3___ne__(self, other)
[docs] def setMax(self, other: "btVector3") -> "void": r""" Set each element to the max of the current values and the values of another btVector3 :type other: :py:class:`btVector3` :param other: The other btVector3 to compare with """ return _pybullet.btVector3_setMax(self, other)
[docs] def setMin(self, other: "btVector3") -> "void": r""" Set each element to the min of the current values and the values of another btVector3 :type other: :py:class:`btVector3` :param other: The other btVector3 to compare with """ return _pybullet.btVector3_setMin(self, other)
def setValue(self, _x: "btScalar const &", _y: "btScalar const &", _z: "btScalar const &") -> "void": return _pybullet.btVector3_setValue(self, _x, _y, _z) def getSkewSymmetricMatrix(self, v0: "btVector3", v1: "btVector3", v2: "btVector3") -> "void": return _pybullet.btVector3_getSkewSymmetricMatrix(self, v0, v1, v2) def setZero(self) -> "void": return _pybullet.btVector3_setZero(self) def isZero(self) -> "bool": return _pybullet.btVector3_isZero(self) def fuzzyZero(self) -> "bool": return _pybullet.btVector3_fuzzyZero(self) def serialize(self, dataOut: "btVector3FloatData") -> "void": return _pybullet.btVector3_serialize(self, dataOut) def deSerialize(self, *args) -> "void": return _pybullet.btVector3_deSerialize(self, *args) def serializeFloat(self, dataOut: "btVector3FloatData") -> "void": return _pybullet.btVector3_serializeFloat(self, dataOut) def deSerializeFloat(self, dataIn: "btVector3FloatData") -> "void": return _pybullet.btVector3_deSerializeFloat(self, dataIn) def serializeDouble(self, dataOut: "btVector3DoubleData") -> "void": return _pybullet.btVector3_serializeDouble(self, dataOut) def deSerializeDouble(self, dataIn: "btVector3DoubleData") -> "void": return _pybullet.btVector3_deSerializeDouble(self, dataIn)
[docs] def maxDot(self, array: "btVector3", array_count: "long", dotOut: "btScalar &") -> "long": r""" returns index of maximum dot product between this and vectors in array[] :type array: :py:class:`btVector3` :param array: The other vectors :type array_count: int :param array_count: The number of other vectors :type dotOut: float :param dotOut: The maximum dot product """ return _pybullet.btVector3_maxDot(self, array, array_count, dotOut)
[docs] def minDot(self, array: "btVector3", array_count: "long", dotOut: "btScalar &") -> "long": r""" returns index of minimum dot product between this and vectors in array[] :type array: :py:class:`btVector3` :param array: The other vectors :type array_count: int :param array_count: The number of other vectors :type dotOut: float :param dotOut: The minimum dot product """ return _pybullet.btVector3_minDot(self, array, array_count, dotOut)
def dot3(self, v0: "btVector3", v1: "btVector3", v2: "btVector3") -> "btVector3": return _pybullet.btVector3_dot3(self, v0, v1, v2) __swig_destroy__ = _pybullet.delete_btVector3
# Register btVector3 in _pybullet: _pybullet.btVector3_swigregister(btVector3) def __div__(*args) -> "btVector3": r""" *Overload 1:* Return the vector inversely scaled by s | *Overload 2:* Return the vector inversely scaled by s """ return _pybullet.__div__(*args)
[docs]def btDot(v1: "btVector3", v2: "btVector3") -> "btScalar": r"""Return the dot product between two vectors""" return _pybullet.btDot(v1, v2)
[docs]def btDistance2(v1: "btVector3", v2: "btVector3") -> "btScalar": r"""Return the distance squared between two vectors""" return _pybullet.btDistance2(v1, v2)
[docs]def btDistance(v1: "btVector3", v2: "btVector3") -> "btScalar": r"""Return the distance between two vectors""" return _pybullet.btDistance(v1, v2)
[docs]def btCross(v1: "btVector3", v2: "btVector3") -> "btVector3": r"""Return the cross product of two vectors""" return _pybullet.btCross(v1, v2)
def btTriple(v1: "btVector3", v2: "btVector3", v3: "btVector3") -> "btScalar": return _pybullet.btTriple(v1, v2, v3)
[docs]def lerp(v1: "btVector3", v2: "btVector3", t: "btScalar const &") -> "btVector3": r""" Return the linear interpolation between two vectors :type v1: :py:class:`btVector3` :param v1: One vector :type v2: :py:class:`btVector3` :param v2: The other vector :type t: float :param t: The ration of this to v (t = 0 => return v1, t=1 => return v2) """ return _pybullet.lerp(v1, v2, t)
[docs]def btSwapScalarEndian(sourceVal: "btScalar const &", destVal: "btScalar &") -> "void": r"""btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization""" return _pybullet.btSwapScalarEndian(sourceVal, destVal)
[docs]def btSwapVector3Endian(sourceVec: "btVector3", destVec: "btVector3") -> "void": r"""btSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization""" return _pybullet.btSwapVector3Endian(sourceVec, destVec)
[docs]def btUnSwapVector3Endian(vector: "btVector3") -> "void": r"""btUnSwapVector3Endian swaps vector endianness, useful for network and cross-platform serialization""" return _pybullet.btUnSwapVector3Endian(vector)
class btVector3FloatData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_floats = property(_pybullet.btVector3FloatData_m_floats_get, _pybullet.btVector3FloatData_m_floats_set) def __init__(self): _pybullet.btVector3FloatData_swiginit(self, _pybullet.new_btVector3FloatData()) __swig_destroy__ = _pybullet.delete_btVector3FloatData # Register btVector3FloatData in _pybullet: _pybullet.btVector3FloatData_swigregister(btVector3FloatData) class btVector3DoubleData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_floats = property(_pybullet.btVector3DoubleData_m_floats_get, _pybullet.btVector3DoubleData_m_floats_set) def __init__(self): _pybullet.btVector3DoubleData_swiginit(self, _pybullet.new_btVector3DoubleData()) __swig_destroy__ = _pybullet.delete_btVector3DoubleData # Register btVector3DoubleData in _pybullet: _pybullet.btVector3DoubleData_swigregister(btVector3DoubleData)
[docs]class btQuadWord(object): r""" The btQuadWord class is base class for btVector3 and btQuaternion. Some issues under PS3 Linux with IBM 2.1 SDK, gcc compiler prevent from using aligned quadword. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr
[docs] def getX(self) -> "btScalar const &": r"""Return the x value""" return _pybullet.btQuadWord_getX(self)
[docs] def getY(self) -> "btScalar const &": r"""Return the y value""" return _pybullet.btQuadWord_getY(self)
[docs] def getZ(self) -> "btScalar const &": r"""Return the z value""" return _pybullet.btQuadWord_getZ(self)
[docs] def setX(self, _x: "btScalar") -> "void": r"""Set the x value""" return _pybullet.btQuadWord_setX(self, _x)
[docs] def setY(self, _y: "btScalar") -> "void": r"""Set the y value""" return _pybullet.btQuadWord_setY(self, _y)
[docs] def setZ(self, _z: "btScalar") -> "void": r"""Set the z value""" return _pybullet.btQuadWord_setZ(self, _z)
[docs] def setW(self, _w: "btScalar") -> "void": r"""Set the w value""" return _pybullet.btQuadWord_setW(self, _w)
[docs] def x(self) -> "btScalar const &": r"""Return the x value""" return _pybullet.btQuadWord_x(self)
[docs] def y(self) -> "btScalar const &": r"""Return the y value""" return _pybullet.btQuadWord_y(self)
[docs] def z(self) -> "btScalar const &": r"""Return the z value""" return _pybullet.btQuadWord_z(self)
[docs] def w(self) -> "btScalar const &": r"""Return the w value""" return _pybullet.btQuadWord_w(self)
def __eq__(self, other: "btQuadWord") -> "bool": return _pybullet.btQuadWord___eq__(self, other) def __ne__(self, other: "btQuadWord") -> "bool": return _pybullet.btQuadWord___ne__(self, other)
[docs] def setValue(self, *args) -> "void": r""" *Overload 1:* Set x,y,z and zero w :param x: Value of x :param y: Value of y :param z: Value of z | *Overload 2:* Set the values :param x: Value of x :param y: Value of y :param z: Value of z :param w: Value of w """ return _pybullet.btQuadWord_setValue(self, *args)
def __init__(self, *args): r""" *Overload 1:* No initialization constructor | *Overload 2:* Three argument constructor (zeros w) :param x: Value of x :param y: Value of y :param z: Value of z | *Overload 3:* Initializing constructor :param x: Value of x :param y: Value of y :param z: Value of z :param w: Value of w """ _pybullet.btQuadWord_swiginit(self, _pybullet.new_btQuadWord(*args))
[docs] def setMax(self, other: "btQuadWord") -> "void": r""" Set each element to the max of the current values and the values of another btQuadWord :type other: :py:class:`btQuadWord` :param other: The other btQuadWord to compare with """ return _pybullet.btQuadWord_setMax(self, other)
[docs] def setMin(self, other: "btQuadWord") -> "void": r""" Set each element to the min of the current values and the values of another btQuadWord :type other: :py:class:`btQuadWord` :param other: The other btQuadWord to compare with """ return _pybullet.btQuadWord_setMin(self, other)
__swig_destroy__ = _pybullet.delete_btQuadWord
# Register btQuadWord in _pybullet: _pybullet.btQuadWord_swigregister(btQuadWord) btQuaternionDataName = _pybullet.btQuaternionDataName
[docs]class btQuaternion(btQuadWord): r"""The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatrix3x3, btVector3 and btTransform.""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): r""" *Overload 1:* No initialization constructor | *Overload 2:* Constructor from scalars | *Overload 3:* Axis angle Constructor :param axis: The axis which the rotation is around :param angle: The magnitude of the rotation around the angle (Radians) | *Overload 4:* Constructor from Euler angles :type yaw: float :param yaw: Angle around Y unless BT_EULER_DEFAULT_ZYX defined then Z :type pitch: float :param pitch: Angle around X unless BT_EULER_DEFAULT_ZYX defined then Y :type roll: float :param roll: Angle around Z unless BT_EULER_DEFAULT_ZYX defined then X """ _pybullet.btQuaternion_swiginit(self, _pybullet.new_btQuaternion(*args))
[docs] def setRotation(self, axis: "btVector3", _angle: "btScalar const &") -> "void": r""" Set the rotation using axis angle notation :type axis: :py:class:`btVector3` :param axis: The axis around which to rotate :param angle: The magnitude of the rotation in Radians """ return _pybullet.btQuaternion_setRotation(self, axis, _angle)
[docs] def setEuler(self, yaw: "btScalar const &", pitch: "btScalar const &", roll: "btScalar const &") -> "void": r""" Set the quaternion using Euler angles :type yaw: float :param yaw: Angle around Y :type pitch: float :param pitch: Angle around X :type roll: float :param roll: Angle around Z """ return _pybullet.btQuaternion_setEuler(self, yaw, pitch, roll)
[docs] def setEulerZYX(self, yawZ: "btScalar const &", pitchY: "btScalar const &", rollX: "btScalar const &") -> "void": r""" Set the quaternion using euler angles :param yaw: Angle around Z :param pitch: Angle around Y :param roll: Angle around X """ return _pybullet.btQuaternion_setEulerZYX(self, yawZ, pitchY, rollX)
[docs] def getEulerZYX(self, yawZ: "btScalar &", pitchY: "btScalar &", rollX: "btScalar &") -> "void": r""" Get the euler angles from this quaternion :param yaw: Angle around Z :param pitch: Angle around Y :param roll: Angle around X """ return _pybullet.btQuaternion_getEulerZYX(self, yawZ, pitchY, rollX)
def __iadd__(self, q: "btQuaternion") -> "btQuaternion &": r""" Add two quaternions :type q: :py:class:`btQuaternion` :param q: The quaternion to add to this one """ return _pybullet.btQuaternion___iadd__(self, q) def __isub__(self, q: "btQuaternion") -> "btQuaternion &": r""" Subtract out a quaternion :type q: :py:class:`btQuaternion` :param q: The quaternion to subtract from this one """ return _pybullet.btQuaternion___isub__(self, q) def __imul__(self, *args) -> "btQuaternion &": r""" *Overload 1:* Scale this quaternion :type s: float :param s: The scalar to scale by | *Overload 2:* Multiply this quaternion by q on the right :type q: :py:class:`btQuaternion` :param q: The other quaternion Equivilant to this = this * q """ return _pybullet.btQuaternion___imul__(self, *args)
[docs] def dot(self, q: "btQuaternion") -> "btScalar": r""" Return the dot product between this quaternion and another :type q: :py:class:`btQuaternion` :param q: The other quaternion """ return _pybullet.btQuaternion_dot(self, q)
[docs] def length2(self) -> "btScalar": r"""Return the length squared of the quaternion""" return _pybullet.btQuaternion_length2(self)
[docs] def length(self) -> "btScalar": r"""Return the length of the quaternion""" return _pybullet.btQuaternion_length(self)
def safeNormalize(self) -> "btQuaternion &": return _pybullet.btQuaternion_safeNormalize(self)
[docs] def normalize(self) -> "btQuaternion &": r""" Normalize the quaternion Such that x^2 + y^2 + z^2 +w^2 = 1 """ return _pybullet.btQuaternion_normalize(self)
def __mul__(self, s: "btScalar const &") -> "btQuaternion": r""" Return a scaled version of this quaternion :type s: float :param s: The scale factor """ return _pybullet.btQuaternion___mul__(self, s) def __truediv__(self, *args): return _pybullet.btQuaternion___truediv__(self, *args) __div__ = __truediv__ def __itruediv__(self, *args): return _pybullet.btQuaternion___itruediv__(self, *args) __idiv__ = __itruediv__
[docs] def normalized(self) -> "btQuaternion": r"""Return a normalized version of this quaternion""" return _pybullet.btQuaternion_normalized(self)
[docs] def angle(self, q: "btQuaternion") -> "btScalar": r""" Return the ***half*** angle between this quaternion and the other :type q: :py:class:`btQuaternion` :param q: The other quaternion """ return _pybullet.btQuaternion_angle(self, q)
[docs] def angleShortestPath(self, q: "btQuaternion") -> "btScalar": r""" Return the angle between this quaternion and the other along the shortest path :type q: :py:class:`btQuaternion` :param q: The other quaternion """ return _pybullet.btQuaternion_angleShortestPath(self, q)
[docs] def getAngle(self) -> "btScalar": r"""Return the angle [0, 2Pi] of rotation represented by this quaternion""" return _pybullet.btQuaternion_getAngle(self)
[docs] def getAngleShortestPath(self) -> "btScalar": r"""Return the angle [0, Pi] of rotation represented by this quaternion along the shortest path""" return _pybullet.btQuaternion_getAngleShortestPath(self)
[docs] def getAxis(self) -> "btVector3": r"""Return the axis of the rotation represented by this quaternion""" return _pybullet.btQuaternion_getAxis(self)
[docs] def inverse(self) -> "btQuaternion": r"""Return the inverse of this quaternion""" return _pybullet.btQuaternion_inverse(self)
def __add__(self, q2: "btQuaternion") -> "btQuaternion": r""" Return the sum of this quaternion and the other :type q2: :py:class:`btQuaternion` :param q2: The other quaternion """ return _pybullet.btQuaternion___add__(self, q2) def __sub__(self, q2: "btQuaternion") -> "btQuaternion": r""" Return the difference between this quaternion and the other :type q2: :py:class:`btQuaternion` :param q2: The other quaternion """ return _pybullet.btQuaternion___sub__(self, q2) def __neg__(self) -> "btQuaternion": r""" Return the negative of this quaternion This simply negates each element """ return _pybullet.btQuaternion___neg__(self)
[docs] def farthest(self, qd: "btQuaternion") -> "btQuaternion": r"""TODO: document this and it's use""" return _pybullet.btQuaternion_farthest(self, qd)
[docs] def nearest(self, qd: "btQuaternion") -> "btQuaternion": r"""TODO: document this and it's use""" return _pybullet.btQuaternion_nearest(self, qd)
[docs] def slerp(self, q: "btQuaternion", t: "btScalar const &") -> "btQuaternion": r""" Return the quaternion which is the result of Spherical Linear Interpolation between this and the other quaternion :type q: :py:class:`btQuaternion` :param q: The other quaternion to interpolate with :type t: float :param t: The ratio between this and q to interpolate. If t = 0 the result is this, if t=1 the result is q. Slerp interpolates assuming constant velocity. """ return _pybullet.btQuaternion_slerp(self, q, t)
@staticmethod def getIdentity() -> "btQuaternion const &": return _pybullet.btQuaternion_getIdentity() def getW(self) -> "btScalar const &": return _pybullet.btQuaternion_getW(self) def serialize(self, dataOut: "btQuaternionFloatData") -> "void": return _pybullet.btQuaternion_serialize(self, dataOut) def deSerialize(self, *args) -> "void": return _pybullet.btQuaternion_deSerialize(self, *args) def serializeFloat(self, dataOut: "btQuaternionFloatData") -> "void": return _pybullet.btQuaternion_serializeFloat(self, dataOut) def deSerializeFloat(self, dataIn: "btQuaternionFloatData") -> "void": return _pybullet.btQuaternion_deSerializeFloat(self, dataIn) def serializeDouble(self, dataOut: "btQuaternionDoubleData") -> "void": return _pybullet.btQuaternion_serializeDouble(self, dataOut) def deSerializeDouble(self, dataIn: "btQuaternionDoubleData") -> "void": return _pybullet.btQuaternion_deSerializeDouble(self, dataIn) __swig_destroy__ = _pybullet.delete_btQuaternion
# Register btQuaternion in _pybullet: _pybullet.btQuaternion_swigregister(btQuaternion) def btQuaternion_getIdentity() -> "btQuaternion const &": return _pybullet.btQuaternion_getIdentity()
[docs]def dot(q1: "btQuaternion", q2: "btQuaternion") -> "btScalar": r"""Calculate the dot product between two quaternions""" return _pybullet.dot(q1, q2)
[docs]def length(q: "btQuaternion") -> "btScalar": r"""Return the length of a quaternion""" return _pybullet.length(q)
[docs]def btAngle(*args) -> "btScalar": r""" *Overload 1:* Return the angle between two vectors | *Overload 2:* Return the angle between two quaternions """ return _pybullet.btAngle(*args)
[docs]def inverse(q: "btQuaternion") -> "btQuaternion": r"""Return the inverse of a quaternion""" return _pybullet.inverse(q)
[docs]def slerp(q1: "btQuaternion", q2: "btQuaternion", t: "btScalar const &") -> "btQuaternion": r""" Return the result of spherical linear interpolation betwen two quaternions :type q1: :py:class:`btQuaternion` :param q1: The first quaternion :type q2: :py:class:`btQuaternion` :param q2: The second quaternion :type t: float :param t: The ration between q1 and q2. t = 0 return q1, t=1 returns q2 Slerp assumes constant velocity between positions. """ return _pybullet.slerp(q1, q2, t)
def quatRotate(rotation: "btQuaternion", v: "btVector3") -> "btVector3": return _pybullet.quatRotate(rotation, v) def shortestArcQuat(v0: "btVector3", v1: "btVector3") -> "btQuaternion": return _pybullet.shortestArcQuat(v0, v1) def shortestArcQuatNormalize2(v0: "btVector3", v1: "btVector3") -> "btQuaternion": return _pybullet.shortestArcQuatNormalize2(v0, v1) class btQuaternionFloatData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_floats = property(_pybullet.btQuaternionFloatData_m_floats_get, _pybullet.btQuaternionFloatData_m_floats_set) def __init__(self): _pybullet.btQuaternionFloatData_swiginit(self, _pybullet.new_btQuaternionFloatData()) __swig_destroy__ = _pybullet.delete_btQuaternionFloatData # Register btQuaternionFloatData in _pybullet: _pybullet.btQuaternionFloatData_swigregister(btQuaternionFloatData) class btQuaternionDoubleData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_floats = property(_pybullet.btQuaternionDoubleData_m_floats_get, _pybullet.btQuaternionDoubleData_m_floats_set) def __init__(self): _pybullet.btQuaternionDoubleData_swiginit(self, _pybullet.new_btQuaternionDoubleData()) __swig_destroy__ = _pybullet.delete_btQuaternionDoubleData # Register btQuaternionDoubleData in _pybullet: _pybullet.btQuaternionDoubleData_swigregister(btQuaternionDoubleData)
[docs]class btMatrix3x3(object): r""" The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with btQuaternion, btTransform and btVector3. Make sure to only include a pure orthogonal matrix without scaling. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): _pybullet.btMatrix3x3_swiginit(self, _pybullet.new_btMatrix3x3(*args))
[docs] def getColumn(self, i: "int") -> "btVector3": r""" Get a column of the matrix as a vector :type i: int :param i: Column number 0 indexed """ return _pybullet.btMatrix3x3_getColumn(self, i)
[docs] def getRow(self, i: "int") -> "btVector3 const &": r""" Get a row of the matrix as a vector :type i: int :param i: Row number 0 indexed """ return _pybullet.btMatrix3x3_getRow(self, i)
def __imul__(self, m: "btMatrix3x3") -> "btMatrix3x3 &": r""" Multiply by the target matrix on the right :type m: :py:class:`btMatrix3x3` :param m: Rotation matrix to be applied Equivilant to this = this * m """ return _pybullet.btMatrix3x3___imul__(self, m) def __iadd__(self, m: "btMatrix3x3") -> "btMatrix3x3 &": r""" Adds by the target matrix on the right :type m: :py:class:`btMatrix3x3` :param m: matrix to be applied Equivilant to this = this + m """ return _pybullet.btMatrix3x3___iadd__(self, m) def __isub__(self, m: "btMatrix3x3") -> "btMatrix3x3 &": r""" Substractss by the target matrix on the right :type m: :py:class:`btMatrix3x3` :param m: matrix to be applied Equivilant to this = this - m """ return _pybullet.btMatrix3x3___isub__(self, m)
[docs] def setFromOpenGLSubMatrix(self, m: "btScalar const *") -> "void": r""" Set from the rotational part of a 4x4 OpenGL matrix :type m: float :param m: A pointer to the beginning of the array of scalars """ return _pybullet.btMatrix3x3_setFromOpenGLSubMatrix(self, m)
[docs] def setValue(self, xx: "btScalar const &", xy: "btScalar const &", xz: "btScalar const &", yx: "btScalar const &", yy: "btScalar const &", yz: "btScalar const &", zx: "btScalar const &", zy: "btScalar const &", zz: "btScalar const &") -> "void": r""" Set the values of the matrix explicitly (row major) :type xx: float :param xx: Top left :type xy: float :param xy: Top Middle :type xz: float :param xz: Top Right :type yx: float :param yx: Middle Left :type yy: float :param yy: Middle Middle :type yz: float :param yz: Middle Right :type zx: float :param zx: Bottom Left :type zy: float :param zy: Bottom Middle :type zz: float :param zz: Bottom Right """ return _pybullet.btMatrix3x3_setValue(self, xx, xy, xz, yx, yy, yz, zx, zy, zz)
[docs] def setRotation(self, q: "btQuaternion") -> "void": r""" Set the matrix from a quaternion :type q: :py:class:`btQuaternion` :param q: The Quaternion to match """ return _pybullet.btMatrix3x3_setRotation(self, q)
[docs] def setEulerYPR(self, yaw: "btScalar const &", pitch: "btScalar const &", roll: "btScalar const &") -> "void": r""" Set the matrix from euler angles using YPR around YXZ respectively :type yaw: float :param yaw: Yaw about Y axis :type pitch: float :param pitch: Pitch about X axis :type roll: float :param roll: Roll about Z axis """ return _pybullet.btMatrix3x3_setEulerYPR(self, yaw, pitch, roll)
[docs] def setEulerZYX(self, eulerX: "btScalar", eulerY: "btScalar", eulerZ: "btScalar") -> "void": r""" Set the matrix from euler angles YPR around ZYX axes :type eulerX: float :param eulerX: Roll about X axis :type eulerY: float :param eulerY: Pitch around Y axis :type eulerZ: float :param eulerZ: Yaw about Z axis These angles are used to produce a rotation matrix. The euler angles are applied in ZYX order. I.e a vector is first rotated about X then Y and then Z """ return _pybullet.btMatrix3x3_setEulerZYX(self, eulerX, eulerY, eulerZ)
[docs] def setIdentity(self) -> "void": r"""Set the matrix to the identity""" return _pybullet.btMatrix3x3_setIdentity(self)
[docs] def setZero(self) -> "void": r"""Set the matrix to the identity""" return _pybullet.btMatrix3x3_setZero(self)
@staticmethod def getIdentity() -> "btMatrix3x3 const &": return _pybullet.btMatrix3x3_getIdentity()
[docs] def getOpenGLSubMatrix(self, m: "btScalar *") -> "void": r""" Fill the rotational part of an OpenGL matrix and clear the shear/perspective :type m: float :param m: The array to be filled """ return _pybullet.btMatrix3x3_getOpenGLSubMatrix(self, m)
[docs] def getRotation(self, q: "btQuaternion") -> "void": r""" Get the matrix represented as a quaternion :type q: :py:class:`btQuaternion` :param q: The quaternion which will be set """ return _pybullet.btMatrix3x3_getRotation(self, q)
[docs] def getEulerYPR(self, yaw: "btScalar &", pitch: "btScalar &", roll: "btScalar &") -> "void": r""" Get the matrix represented as euler angles around YXZ, roundtrip with setEulerYPR :type yaw: float :param yaw: Yaw around Y axis :type pitch: float :param pitch: Pitch around X axis :type roll: float :param roll: around Z axis """ return _pybullet.btMatrix3x3_getEulerYPR(self, yaw, pitch, roll)
[docs] def getEulerZYX(self, yaw: "btScalar &", pitch: "btScalar &", roll: "btScalar &", solution_number: "unsigned int"=1) -> "void": r""" Get the matrix represented as euler angles around ZYX :type yaw: float :param yaw: Yaw around Z axis :type pitch: float :param pitch: Pitch around Y axis :type roll: float :param roll: around X axis :type solution_number: int, optional :param solution_number: Which solution of two possible solutions ( 1 or 2) are possible values """ return _pybullet.btMatrix3x3_getEulerZYX(self, yaw, pitch, roll, solution_number)
[docs] def scaled(self, s: "btVector3") -> "btMatrix3x3": r""" Create a scaled copy of the matrix :type s: :py:class:`btVector3` :param s: Scaling vector The elements of the vector will scale each column """ return _pybullet.btMatrix3x3_scaled(self, s)
[docs] def determinant(self) -> "btScalar": r"""Return the determinant of the matrix""" return _pybullet.btMatrix3x3_determinant(self)
[docs] def adjoint(self) -> "btMatrix3x3": r"""Return the adjoint of the matrix""" return _pybullet.btMatrix3x3_adjoint(self)
[docs] def absolute(self) -> "btMatrix3x3": r"""Return the matrix with all values non negative""" return _pybullet.btMatrix3x3_absolute(self)
[docs] def transpose(self) -> "btMatrix3x3": r"""Return the transpose of the matrix""" return _pybullet.btMatrix3x3_transpose(self)
[docs] def inverse(self) -> "btMatrix3x3": r"""Return the inverse of the matrix""" return _pybullet.btMatrix3x3_inverse(self)
[docs] def solve33(self, b: "btVector3") -> "btVector3": r""" Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases. Solve33 is from Box2d, thanks to Erin Catto, """ return _pybullet.btMatrix3x3_solve33(self, b)
def transposeTimes(self, m: "btMatrix3x3") -> "btMatrix3x3": return _pybullet.btMatrix3x3_transposeTimes(self, m) def timesTranspose(self, m: "btMatrix3x3") -> "btMatrix3x3": return _pybullet.btMatrix3x3_timesTranspose(self, m) def tdotx(self, v: "btVector3") -> "btScalar": return _pybullet.btMatrix3x3_tdotx(self, v) def tdoty(self, v: "btVector3") -> "btScalar": return _pybullet.btMatrix3x3_tdoty(self, v) def tdotz(self, v: "btVector3") -> "btScalar": return _pybullet.btMatrix3x3_tdotz(self, v)
[docs] def extractRotation(self, q: "btQuaternion", tolerance: "btScalar"=1.0e-9, maxIter: "int"=100) -> "void": r""" extractRotation is from "A robust method to extract the rotational part of deformations" See http://dl.acm.org/citation.cfm?doid=2994258.2994269 decomposes a matrix A in a orthogonal matrix R and a symmetric matrix S: A = R*S. note that R can include both rotation and scaling. """ return _pybullet.btMatrix3x3_extractRotation(self, q, tolerance, maxIter)
[docs] def diagonalize(self, rot: "btMatrix3x3", threshold: "btScalar", maxSteps: "int") -> "void": r""" diagonalizes this matrix by the Jacobi method. :type rot: :py:class:`btMatrix3x3` :param rot: stores the rotation from the coordinate system in which the matrix is diagonal to the original coordinate system, i.e., old_this = rot * new_this * rot^T. :type threshold: float :param threshold: See iteration :param iteration: The iteration stops when all off-diagonal elements are less than the threshold multiplied by the sum of the absolute values of the diagonal, or when maxSteps have been executed. Note that this matrix is assumed to be symmetric. """ return _pybullet.btMatrix3x3_diagonalize(self, rot, threshold, maxSteps)
[docs] def cofac(self, r1: "int", c1: "int", r2: "int", c2: "int") -> "btScalar": r""" Calculate the matrix cofactor :type r1: int :param r1: The first row to use for calculating the cofactor :type c1: int :param c1: The first column to use for calculating the cofactor :type r1: int :param r1: The second row to use for calculating the cofactor :type c1: int :param c1: The second column to use for calculating the cofactor See http://en.wikipedia.org/wiki/Cofactor_(linear_algebra) for more details """ return _pybullet.btMatrix3x3_cofac(self, r1, c1, r2, c2)
def serialize(self, dataOut: "btMatrix3x3FloatData") -> "void": return _pybullet.btMatrix3x3_serialize(self, dataOut) def serializeFloat(self, dataOut: "btMatrix3x3FloatData") -> "void": return _pybullet.btMatrix3x3_serializeFloat(self, dataOut) def deSerialize(self, dataIn: "btMatrix3x3FloatData") -> "void": return _pybullet.btMatrix3x3_deSerialize(self, dataIn) def deSerializeFloat(self, dataIn: "btMatrix3x3FloatData") -> "void": return _pybullet.btMatrix3x3_deSerializeFloat(self, dataIn) def deSerializeDouble(self, dataIn: "btMatrix3x3DoubleData") -> "void": return _pybullet.btMatrix3x3_deSerializeDouble(self, dataIn) __swig_destroy__ = _pybullet.delete_btMatrix3x3
# Register btMatrix3x3 in _pybullet: _pybullet.btMatrix3x3_swigregister(btMatrix3x3) def btMatrix3x3_getIdentity() -> "btMatrix3x3 const &": return _pybullet.btMatrix3x3_getIdentity() def __add__(*args) -> "btMatrix3x3": return _pybullet.__add__(*args) def __less__(*args) -> "btMatrix3x3": return _pybullet.__less__(*args) def __mul__(*args) -> "btMatrix3x3": return _pybullet.__mul__(*args)
[docs]class btMatrix3x3FloatData(object): r"""for serialization""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_el = property(_pybullet.btMatrix3x3FloatData_m_el_get, _pybullet.btMatrix3x3FloatData_m_el_set) def __init__(self): _pybullet.btMatrix3x3FloatData_swiginit(self, _pybullet.new_btMatrix3x3FloatData()) __swig_destroy__ = _pybullet.delete_btMatrix3x3FloatData
# Register btMatrix3x3FloatData in _pybullet: _pybullet.btMatrix3x3FloatData_swigregister(btMatrix3x3FloatData)
[docs]class btMatrix3x3DoubleData(object): r"""for serialization""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_el = property(_pybullet.btMatrix3x3DoubleData_m_el_get, _pybullet.btMatrix3x3DoubleData_m_el_set) def __init__(self): _pybullet.btMatrix3x3DoubleData_swiginit(self, _pybullet.new_btMatrix3x3DoubleData()) __swig_destroy__ = _pybullet.delete_btMatrix3x3DoubleData
# Register btMatrix3x3DoubleData in _pybullet: _pybullet.btMatrix3x3DoubleData_swigregister(btMatrix3x3DoubleData)
[docs]class btTransform(object): r""" The btTransform class supports rigid transforms with only translation and rotation and no scaling/shear. It can be used in combination with btVector3, btQuaternion and btMatrix3x3 linear algebra classes. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): r""" *Overload 1:* No initialization constructor | *Overload 2:* Constructor from btQuaternion (optional btVector3 ) :type q: :py:class:`btQuaternion` :param q: Rotation from quaternion :type c: :py:class:`btVector3`, optional :param c: Translation from Vector (default 0,0,0) | *Overload 3:* Constructor from btQuaternion (optional btVector3 ) :type q: :py:class:`btQuaternion` :param q: Rotation from quaternion :param c: Translation from Vector (default 0,0,0) | *Overload 4:* Constructor from btMatrix3x3 (optional btVector3) :type b: :py:class:`btMatrix3x3` :param b: Rotation from Matrix :type c: :py:class:`btVector3`, optional :param c: Translation from Vector default (0,0,0) | *Overload 5:* Constructor from btMatrix3x3 (optional btVector3) :type b: :py:class:`btMatrix3x3` :param b: Rotation from Matrix :param c: Translation from Vector default (0,0,0) | *Overload 6:* Copy constructor """ _pybullet.btTransform_swiginit(self, _pybullet.new_btTransform(*args))
[docs] def mult(self, t1: "btTransform", t2: "btTransform") -> "void": r""" Set the current transform as the value of the product of two transforms :type t1: :py:class:`btTransform` :param t1: Transform 1 :type t2: :py:class:`btTransform` :param t2: Transform 2 This = Transform1 * Transform2 """ return _pybullet.btTransform_mult(self, t1, t2)
def __call__(self, x: "btVector3") -> "btVector3": r"""Return the transform of the vector""" return _pybullet.btTransform___call__(self, x)
[docs] def getBasis(self, *args) -> "btMatrix3x3 const &": r""" *Overload 1:* Return the basis matrix for the rotation | *Overload 2:* Return the basis matrix for the rotation """ return _pybullet.btTransform_getBasis(self, *args)
[docs] def getOrigin(self, *args) -> "btVector3 const &": r""" *Overload 1:* Return the origin vector translation | *Overload 2:* Return the origin vector translation """ return _pybullet.btTransform_getOrigin(self, *args)
[docs] def getRotation(self) -> "btQuaternion": r"""Return a quaternion representing the rotation""" return _pybullet.btTransform_getRotation(self)
[docs] def setFromOpenGLMatrix(self, m: "btScalar const *") -> "void": r""" Set from an array :type m: float :param m: A pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation """ return _pybullet.btTransform_setFromOpenGLMatrix(self, m)
[docs] def getOpenGLMatrix(self, m: "btScalar *") -> "void": r""" Fill an array representation :type m: float :param m: A pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation """ return _pybullet.btTransform_getOpenGLMatrix(self, m)
[docs] def setOrigin(self, origin: "btVector3") -> "void": r""" Set the translational element :type origin: :py:class:`btVector3` :param origin: The vector to set the translation to """ return _pybullet.btTransform_setOrigin(self, origin)
def invXform(self, inVec: "btVector3") -> "btVector3": return _pybullet.btTransform_invXform(self, inVec)
[docs] def setBasis(self, basis: "btMatrix3x3") -> "void": r"""Set the rotational element by btMatrix3x3""" return _pybullet.btTransform_setBasis(self, basis)
[docs] def setRotation(self, q: "btQuaternion") -> "void": r"""Set the rotational element by btQuaternion""" return _pybullet.btTransform_setRotation(self, q)
[docs] def setIdentity(self) -> "void": r"""Set this transformation to the identity""" return _pybullet.btTransform_setIdentity(self)
def __imul__(self, t: "btTransform") -> "btTransform &": r""" Multiply this Transform by another(this = this * another) :type t: :py:class:`btTransform` :param t: The other transform """ return _pybullet.btTransform___imul__(self, t)
[docs] def inverse(self) -> "btTransform": r"""Return the inverse of this transform""" return _pybullet.btTransform_inverse(self)
[docs] def inverseTimes(self, t: "btTransform") -> "btTransform": r""" Return the inverse of this transform times the other transform :type t: :py:class:`btTransform` :param t: The other transform return this.inverse() * the other """ return _pybullet.btTransform_inverseTimes(self, t)
def __mul__(self, *args) -> "btTransform": r""" *Overload 1:* Return the transform of the vector | *Overload 2:* Return the transform of the btQuaternion | *Overload 3:* Return the product of this transform and the other """ return _pybullet.btTransform___mul__(self, *args)
[docs] @staticmethod def getIdentity() -> "btTransform const &": r"""Return an identity transform""" return _pybullet.btTransform_getIdentity()
def serialize(self, dataOut: "btTransformFloatData") -> "void": return _pybullet.btTransform_serialize(self, dataOut) def serializeFloat(self, dataOut: "btTransformFloatData") -> "void": return _pybullet.btTransform_serializeFloat(self, dataOut) def deSerialize(self, dataIn: "btTransformFloatData") -> "void": return _pybullet.btTransform_deSerialize(self, dataIn) def deSerializeDouble(self, dataIn: "btTransformDoubleData") -> "void": return _pybullet.btTransform_deSerializeDouble(self, dataIn) def deSerializeFloat(self, dataIn: "btTransformFloatData") -> "void": return _pybullet.btTransform_deSerializeFloat(self, dataIn) __swig_destroy__ = _pybullet.delete_btTransform
# Register btTransform in _pybullet: _pybullet.btTransform_swigregister(btTransform)
[docs]def btTransform_getIdentity() -> "btTransform const &": r"""Return an identity transform""" return _pybullet.btTransform_getIdentity()
[docs]class btTransformFloatData(object): r"""for serialization""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_basis = property(_pybullet.btTransformFloatData_m_basis_get, _pybullet.btTransformFloatData_m_basis_set) m_origin = property(_pybullet.btTransformFloatData_m_origin_get, _pybullet.btTransformFloatData_m_origin_set) def __init__(self): _pybullet.btTransformFloatData_swiginit(self, _pybullet.new_btTransformFloatData()) __swig_destroy__ = _pybullet.delete_btTransformFloatData
# Register btTransformFloatData in _pybullet: _pybullet.btTransformFloatData_swigregister(btTransformFloatData) class btTransformDoubleData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_basis = property(_pybullet.btTransformDoubleData_m_basis_get, _pybullet.btTransformDoubleData_m_basis_set) m_origin = property(_pybullet.btTransformDoubleData_m_origin_get, _pybullet.btTransformDoubleData_m_origin_set) def __init__(self): _pybullet.btTransformDoubleData_swiginit(self, _pybullet.new_btTransformDoubleData()) __swig_destroy__ = _pybullet.delete_btTransformDoubleData # Register btTransformDoubleData in _pybullet: _pybullet.btTransformDoubleData_swigregister(btTransformDoubleData) class btDefaultCollisionConstructionInfo(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_persistentManifoldPool = property(_pybullet.btDefaultCollisionConstructionInfo_m_persistentManifoldPool_get, _pybullet.btDefaultCollisionConstructionInfo_m_persistentManifoldPool_set) m_collisionAlgorithmPool = property(_pybullet.btDefaultCollisionConstructionInfo_m_collisionAlgorithmPool_get, _pybullet.btDefaultCollisionConstructionInfo_m_collisionAlgorithmPool_set) m_defaultMaxPersistentManifoldPoolSize = property(_pybullet.btDefaultCollisionConstructionInfo_m_defaultMaxPersistentManifoldPoolSize_get, _pybullet.btDefaultCollisionConstructionInfo_m_defaultMaxPersistentManifoldPoolSize_set) m_defaultMaxCollisionAlgorithmPoolSize = property(_pybullet.btDefaultCollisionConstructionInfo_m_defaultMaxCollisionAlgorithmPoolSize_get, _pybullet.btDefaultCollisionConstructionInfo_m_defaultMaxCollisionAlgorithmPoolSize_set) m_customCollisionAlgorithmMaxElementSize = property(_pybullet.btDefaultCollisionConstructionInfo_m_customCollisionAlgorithmMaxElementSize_get, _pybullet.btDefaultCollisionConstructionInfo_m_customCollisionAlgorithmMaxElementSize_set) m_useEpaPenetrationAlgorithm = property(_pybullet.btDefaultCollisionConstructionInfo_m_useEpaPenetrationAlgorithm_get, _pybullet.btDefaultCollisionConstructionInfo_m_useEpaPenetrationAlgorithm_set) def __init__(self): _pybullet.btDefaultCollisionConstructionInfo_swiginit(self, _pybullet.new_btDefaultCollisionConstructionInfo()) __swig_destroy__ = _pybullet.delete_btDefaultCollisionConstructionInfo # Register btDefaultCollisionConstructionInfo in _pybullet: _pybullet.btDefaultCollisionConstructionInfo_swigregister(btDefaultCollisionConstructionInfo)
[docs]class btDefaultCollisionConfiguration(object): r""" btCollisionConfiguration allows to configure Bullet collision detection stack allocator, pool memory allocators TODO: : describe the meaning """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): _pybullet.btDefaultCollisionConfiguration_swiginit(self, _pybullet.new_btDefaultCollisionConfiguration(*args)) __swig_destroy__ = _pybullet.delete_btDefaultCollisionConfiguration
[docs] def getPersistentManifoldPool(self) -> "btPoolAllocator *": r"""memory pools""" return _pybullet.btDefaultCollisionConfiguration_getPersistentManifoldPool(self)
def getCollisionAlgorithmPool(self) -> "btPoolAllocator *": return _pybullet.btDefaultCollisionConfiguration_getCollisionAlgorithmPool(self) def getCollisionAlgorithmCreateFunc(self, proxyType0: "int", proxyType1: "int") -> "btCollisionAlgorithmCreateFunc *": return _pybullet.btDefaultCollisionConfiguration_getCollisionAlgorithmCreateFunc(self, proxyType0, proxyType1) def getClosestPointsAlgorithmCreateFunc(self, proxyType0: "int", proxyType1: "int") -> "btCollisionAlgorithmCreateFunc *": return _pybullet.btDefaultCollisionConfiguration_getClosestPointsAlgorithmCreateFunc(self, proxyType0, proxyType1)
[docs] def setConvexConvexMultipointIterations(self, numPerturbationIterations: "int"=3, minimumPointsPerturbationThreshold: "int"=3) -> "void": r""" Use this method to allow to generate multiple contact points between at once, between two objects using the generic convex-convex algorithm. By default, this feature is disabled for best performance. :type numPerturbationIterations: int, optional :param numPerturbationIterations: controls the number of collision queries. Set it to zero to disable the feature. :type minimumPointsPerturbationThreshold: int, optional :param minimumPointsPerturbationThreshold: is the minimum number of points in the contact cache, above which the feature is disabled 3 is a good value for both params, if you want to enable the feature. This is because the default contact cache contains a maximum of 4 points, and one collision query at the unperturbed orientation is performed first. See Bullet/Demos/CollisionDemo for an example how this feature gathers multiple points. TODO: we could add a per-object setting of those parameters, for level-of-detail collision detection. """ return _pybullet.btDefaultCollisionConfiguration_setConvexConvexMultipointIterations(self, numPerturbationIterations, minimumPointsPerturbationThreshold)
def setPlaneConvexMultipointIterations(self, numPerturbationIterations: "int"=3, minimumPointsPerturbationThreshold: "int"=3) -> "void": return _pybullet.btDefaultCollisionConfiguration_setPlaneConvexMultipointIterations(self, numPerturbationIterations, minimumPointsPerturbationThreshold)
# Register btDefaultCollisionConfiguration in _pybullet: _pybullet.btDefaultCollisionConfiguration_swigregister(btDefaultCollisionConfiguration) ACTIVE_TAG = _pybullet.ACTIVE_TAG ISLAND_SLEEPING = _pybullet.ISLAND_SLEEPING WANTS_DEACTIVATION = _pybullet.WANTS_DEACTIVATION DISABLE_DEACTIVATION = _pybullet.DISABLE_DEACTIVATION DISABLE_SIMULATION = _pybullet.DISABLE_SIMULATION btCollisionObjectDataName = _pybullet.btCollisionObjectDataName
[docs]class btCollisionObject(object): r""" btCollisionObject can be used to manage collision detection objects. btCollisionObject maintains all information that is needed for a collision detection: Shape, Transform and AABB proxy. They can be added to the btCollisionWorld. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr CF_STATIC_OBJECT = _pybullet.btCollisionObject_CF_STATIC_OBJECT CF_KINEMATIC_OBJECT = _pybullet.btCollisionObject_CF_KINEMATIC_OBJECT CF_NO_CONTACT_RESPONSE = _pybullet.btCollisionObject_CF_NO_CONTACT_RESPONSE CF_CUSTOM_MATERIAL_CALLBACK = _pybullet.btCollisionObject_CF_CUSTOM_MATERIAL_CALLBACK CF_CHARACTER_OBJECT = _pybullet.btCollisionObject_CF_CHARACTER_OBJECT CF_DISABLE_VISUALIZE_OBJECT = _pybullet.btCollisionObject_CF_DISABLE_VISUALIZE_OBJECT CF_DISABLE_SPU_COLLISION_PROCESSING = _pybullet.btCollisionObject_CF_DISABLE_SPU_COLLISION_PROCESSING CF_HAS_CONTACT_STIFFNESS_DAMPING = _pybullet.btCollisionObject_CF_HAS_CONTACT_STIFFNESS_DAMPING CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR = _pybullet.btCollisionObject_CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR CF_HAS_FRICTION_ANCHOR = _pybullet.btCollisionObject_CF_HAS_FRICTION_ANCHOR CF_HAS_COLLISION_SOUND_TRIGGER = _pybullet.btCollisionObject_CF_HAS_COLLISION_SOUND_TRIGGER CO_COLLISION_OBJECT = _pybullet.btCollisionObject_CO_COLLISION_OBJECT CO_RIGID_BODY = _pybullet.btCollisionObject_CO_RIGID_BODY CO_GHOST_OBJECT = _pybullet.btCollisionObject_CO_GHOST_OBJECT r""" CO_GHOST_OBJECT keeps track of all objects overlapping its AABB and that pass its collision filter It is useful for collision sensors, explosion objects, character controller etc. """ CO_SOFT_BODY = _pybullet.btCollisionObject_CO_SOFT_BODY CO_HF_FLUID = _pybullet.btCollisionObject_CO_HF_FLUID CO_USER_TYPE = _pybullet.btCollisionObject_CO_USER_TYPE CO_FEATHERSTONE_LINK = _pybullet.btCollisionObject_CO_FEATHERSTONE_LINK CF_ANISOTROPIC_FRICTION_DISABLED = _pybullet.btCollisionObject_CF_ANISOTROPIC_FRICTION_DISABLED CF_ANISOTROPIC_FRICTION = _pybullet.btCollisionObject_CF_ANISOTROPIC_FRICTION CF_ANISOTROPIC_ROLLING_FRICTION = _pybullet.btCollisionObject_CF_ANISOTROPIC_ROLLING_FRICTION def mergesSimulationIslands(self) -> "bool": return _pybullet.btCollisionObject_mergesSimulationIslands(self) def getAnisotropicFriction(self) -> "btVector3 const &": return _pybullet.btCollisionObject_getAnisotropicFriction(self) def setAnisotropicFriction(self, *args) -> "void": return _pybullet.btCollisionObject_setAnisotropicFriction(self, *args) def hasAnisotropicFriction(self, *args) -> "bool": return _pybullet.btCollisionObject_hasAnisotropicFriction(self, *args)
[docs] def setContactProcessingThreshold(self, contactProcessingThreshold: "btScalar") -> "void": r""" the constraint solver can discard solving contacts, if the distance is above this threshold. 0 by default. Note that using contacts with positive distance can improve stability. It increases, however, the chance of colliding with degerate contacts, such as 'interior' triangle edges """ return _pybullet.btCollisionObject_setContactProcessingThreshold(self, contactProcessingThreshold)
def getContactProcessingThreshold(self) -> "btScalar": return _pybullet.btCollisionObject_getContactProcessingThreshold(self) def isStaticObject(self) -> "bool": return _pybullet.btCollisionObject_isStaticObject(self) def isKinematicObject(self) -> "bool": return _pybullet.btCollisionObject_isKinematicObject(self) def isStaticOrKinematicObject(self) -> "bool": return _pybullet.btCollisionObject_isStaticOrKinematicObject(self) def hasContactResponse(self) -> "bool": return _pybullet.btCollisionObject_hasContactResponse(self) def __init__(self): _pybullet.btCollisionObject_swiginit(self, _pybullet.new_btCollisionObject()) __swig_destroy__ = _pybullet.delete_btCollisionObject def setCollisionShape(self, collisionShape: "btCollisionShape") -> "void": return _pybullet.btCollisionObject_setCollisionShape(self, collisionShape) def getCollisionShape(self, *args) -> "btCollisionShape *": return _pybullet.btCollisionObject_getCollisionShape(self, *args) def setIgnoreCollisionCheck(self, co: "btCollisionObject", ignoreCollisionCheck: "bool") -> "void": return _pybullet.btCollisionObject_setIgnoreCollisionCheck(self, co, ignoreCollisionCheck) def getNumObjectsWithoutCollision(self) -> "int": return _pybullet.btCollisionObject_getNumObjectsWithoutCollision(self) def getObjectWithoutCollision(self, index: "int") -> "btCollisionObject const *": return _pybullet.btCollisionObject_getObjectWithoutCollision(self, index) def checkCollideWithOverride(self, co: "btCollisionObject") -> "bool": return _pybullet.btCollisionObject_checkCollideWithOverride(self, co)
[docs] def internalGetExtensionPointer(self) -> "void *": r""" Avoid using this internal API call, the extension pointer is used by some Bullet extensions. If you need to store your own user pointer, use 'setUserPointer/getUserPointer' instead. """ return _pybullet.btCollisionObject_internalGetExtensionPointer(self)
[docs] def internalSetExtensionPointer(self, pointer: "void *") -> "void": r""" Avoid using this internal API call, the extension pointer is used by some Bullet extensions If you need to store your own user pointer, use 'setUserPointer/getUserPointer' instead. """ return _pybullet.btCollisionObject_internalSetExtensionPointer(self, pointer)
def getActivationState(self) -> "int": return _pybullet.btCollisionObject_getActivationState(self) def setActivationState(self, newState: "int") -> "void": return _pybullet.btCollisionObject_setActivationState(self, newState) def setDeactivationTime(self, time: "btScalar") -> "void": return _pybullet.btCollisionObject_setDeactivationTime(self, time) def getDeactivationTime(self) -> "btScalar": return _pybullet.btCollisionObject_getDeactivationTime(self) def forceActivationState(self, newState: "int") -> "void": return _pybullet.btCollisionObject_forceActivationState(self, newState) def activate(self, forceActivation: "bool"=False) -> "void": return _pybullet.btCollisionObject_activate(self, forceActivation) def isActive(self) -> "bool": return _pybullet.btCollisionObject_isActive(self) def setRestitution(self, rest: "btScalar") -> "void": return _pybullet.btCollisionObject_setRestitution(self, rest) def getRestitution(self) -> "btScalar": return _pybullet.btCollisionObject_getRestitution(self) def setFriction(self, frict: "btScalar") -> "void": return _pybullet.btCollisionObject_setFriction(self, frict) def getFriction(self) -> "btScalar": return _pybullet.btCollisionObject_getFriction(self) def setRollingFriction(self, frict: "btScalar") -> "void": return _pybullet.btCollisionObject_setRollingFriction(self, frict) def getRollingFriction(self) -> "btScalar": return _pybullet.btCollisionObject_getRollingFriction(self) def setSpinningFriction(self, frict: "btScalar") -> "void": return _pybullet.btCollisionObject_setSpinningFriction(self, frict) def getSpinningFriction(self) -> "btScalar": return _pybullet.btCollisionObject_getSpinningFriction(self) def setContactStiffnessAndDamping(self, stiffness: "btScalar", damping: "btScalar") -> "void": return _pybullet.btCollisionObject_setContactStiffnessAndDamping(self, stiffness, damping) def getContactStiffness(self) -> "btScalar": return _pybullet.btCollisionObject_getContactStiffness(self) def getContactDamping(self) -> "btScalar": return _pybullet.btCollisionObject_getContactDamping(self)
[docs] def getInternalType(self) -> "int": r"""reserved for Bullet internal usage""" return _pybullet.btCollisionObject_getInternalType(self)
def getWorldTransform(self, *args) -> "btTransform const &": return _pybullet.btCollisionObject_getWorldTransform(self, *args) def setWorldTransform(self, worldTrans: "btTransform") -> "void": return _pybullet.btCollisionObject_setWorldTransform(self, worldTrans) def getBroadphaseHandle(self, *args) -> "btBroadphaseProxy const *": return _pybullet.btCollisionObject_getBroadphaseHandle(self, *args) def setBroadphaseHandle(self, handle: "btBroadphaseProxy *") -> "void": return _pybullet.btCollisionObject_setBroadphaseHandle(self, handle) def getInterpolationWorldTransform(self, *args) -> "btTransform &": return _pybullet.btCollisionObject_getInterpolationWorldTransform(self, *args) def setInterpolationWorldTransform(self, trans: "btTransform") -> "void": return _pybullet.btCollisionObject_setInterpolationWorldTransform(self, trans) def setInterpolationLinearVelocity(self, linvel: "btVector3") -> "void": return _pybullet.btCollisionObject_setInterpolationLinearVelocity(self, linvel) def setInterpolationAngularVelocity(self, angvel: "btVector3") -> "void": return _pybullet.btCollisionObject_setInterpolationAngularVelocity(self, angvel) def getInterpolationLinearVelocity(self) -> "btVector3 const &": return _pybullet.btCollisionObject_getInterpolationLinearVelocity(self) def getInterpolationAngularVelocity(self) -> "btVector3 const &": return _pybullet.btCollisionObject_getInterpolationAngularVelocity(self) def getIslandTag(self) -> "int": return _pybullet.btCollisionObject_getIslandTag(self) def setIslandTag(self, tag: "int") -> "void": return _pybullet.btCollisionObject_setIslandTag(self, tag) def getCompanionId(self) -> "int": return _pybullet.btCollisionObject_getCompanionId(self) def setCompanionId(self, id: "int") -> "void": return _pybullet.btCollisionObject_setCompanionId(self, id) def getWorldArrayIndex(self) -> "int": return _pybullet.btCollisionObject_getWorldArrayIndex(self) def setWorldArrayIndex(self, ix: "int") -> "void": return _pybullet.btCollisionObject_setWorldArrayIndex(self, ix) def getHitFraction(self) -> "btScalar": return _pybullet.btCollisionObject_getHitFraction(self) def setHitFraction(self, hitFraction: "btScalar") -> "void": return _pybullet.btCollisionObject_setHitFraction(self, hitFraction) def getCollisionFlags(self) -> "int": return _pybullet.btCollisionObject_getCollisionFlags(self) def setCollisionFlags(self, flags: "int") -> "void": return _pybullet.btCollisionObject_setCollisionFlags(self, flags)
[docs] def getCcdSweptSphereRadius(self) -> "btScalar": r"""Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::""" return _pybullet.btCollisionObject_getCcdSweptSphereRadius(self)
[docs] def setCcdSweptSphereRadius(self, radius: "btScalar") -> "void": r"""Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::""" return _pybullet.btCollisionObject_setCcdSweptSphereRadius(self, radius)
def getCcdMotionThreshold(self) -> "btScalar": return _pybullet.btCollisionObject_getCcdMotionThreshold(self) def getCcdSquareMotionThreshold(self) -> "btScalar": return _pybullet.btCollisionObject_getCcdSquareMotionThreshold(self)
[docs] def setCcdMotionThreshold(self, ccdMotionThreshold: "btScalar") -> "void": r""" Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold""" return _pybullet.btCollisionObject_setCcdMotionThreshold(self, ccdMotionThreshold)
[docs] def getUserPointer(self) -> "void *": r"""users can point to their objects, userPointer is not used by Bullet""" return _pybullet.btCollisionObject_getUserPointer(self)
def getUserIndex(self) -> "int": return _pybullet.btCollisionObject_getUserIndex(self) def getUserIndex2(self) -> "int": return _pybullet.btCollisionObject_getUserIndex2(self) def getUserIndex3(self) -> "int": return _pybullet.btCollisionObject_getUserIndex3(self)
[docs] def setUserPointer(self, userPointer: "void *") -> "void": r"""users can point to their objects, userPointer is not used by Bullet""" return _pybullet.btCollisionObject_setUserPointer(self, userPointer)
[docs] def setUserIndex(self, index: "int") -> "void": r"""users can point to their objects, userPointer is not used by Bullet""" return _pybullet.btCollisionObject_setUserIndex(self, index)
def setUserIndex2(self, index: "int") -> "void": return _pybullet.btCollisionObject_setUserIndex2(self, index) def setUserIndex3(self, index: "int") -> "void": return _pybullet.btCollisionObject_setUserIndex3(self, index) def getUpdateRevisionInternal(self) -> "int": return _pybullet.btCollisionObject_getUpdateRevisionInternal(self) def setCustomDebugColor(self, colorRGB: "btVector3") -> "void": return _pybullet.btCollisionObject_setCustomDebugColor(self, colorRGB) def removeCustomDebugColor(self) -> "void": return _pybullet.btCollisionObject_removeCustomDebugColor(self) def getCustomDebugColor(self, colorRGB: "btVector3") -> "bool": return _pybullet.btCollisionObject_getCustomDebugColor(self, colorRGB) def checkCollideWith(self, co: "btCollisionObject") -> "bool": return _pybullet.btCollisionObject_checkCollideWith(self, co) def calculateSerializeBufferSize(self) -> "int": return _pybullet.btCollisionObject_calculateSerializeBufferSize(self)
[docs] def serialize(self, dataBuffer: "void *", serializer: "btSerializer *") -> "char const *": r"""fills the dataBuffer and returns the struct name (and 0 on failure)""" return _pybullet.btCollisionObject_serialize(self, dataBuffer, serializer)
def serializeSingleObject(self, serializer: "btSerializer *") -> "void": return _pybullet.btCollisionObject_serializeSingleObject(self, serializer) def __hash__(self) -> "size_t": return _pybullet.btCollisionObject___hash__(self)
# Register btCollisionObject in _pybullet: _pybullet.btCollisionObject_swigregister(btCollisionObject)
[docs]class btCollisionObjectDoubleData(object): r"""do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_broadphaseHandle = property(_pybullet.btCollisionObjectDoubleData_m_broadphaseHandle_get, _pybullet.btCollisionObjectDoubleData_m_broadphaseHandle_set) m_collisionShape = property(_pybullet.btCollisionObjectDoubleData_m_collisionShape_get, _pybullet.btCollisionObjectDoubleData_m_collisionShape_set) m_rootCollisionShape = property(_pybullet.btCollisionObjectDoubleData_m_rootCollisionShape_get, _pybullet.btCollisionObjectDoubleData_m_rootCollisionShape_set) m_name = property(_pybullet.btCollisionObjectDoubleData_m_name_get, _pybullet.btCollisionObjectDoubleData_m_name_set) m_worldTransform = property(_pybullet.btCollisionObjectDoubleData_m_worldTransform_get, _pybullet.btCollisionObjectDoubleData_m_worldTransform_set) m_interpolationWorldTransform = property(_pybullet.btCollisionObjectDoubleData_m_interpolationWorldTransform_get, _pybullet.btCollisionObjectDoubleData_m_interpolationWorldTransform_set) m_interpolationLinearVelocity = property(_pybullet.btCollisionObjectDoubleData_m_interpolationLinearVelocity_get, _pybullet.btCollisionObjectDoubleData_m_interpolationLinearVelocity_set) m_interpolationAngularVelocity = property(_pybullet.btCollisionObjectDoubleData_m_interpolationAngularVelocity_get, _pybullet.btCollisionObjectDoubleData_m_interpolationAngularVelocity_set) m_anisotropicFriction = property(_pybullet.btCollisionObjectDoubleData_m_anisotropicFriction_get, _pybullet.btCollisionObjectDoubleData_m_anisotropicFriction_set) m_contactProcessingThreshold = property(_pybullet.btCollisionObjectDoubleData_m_contactProcessingThreshold_get, _pybullet.btCollisionObjectDoubleData_m_contactProcessingThreshold_set) m_deactivationTime = property(_pybullet.btCollisionObjectDoubleData_m_deactivationTime_get, _pybullet.btCollisionObjectDoubleData_m_deactivationTime_set) m_friction = property(_pybullet.btCollisionObjectDoubleData_m_friction_get, _pybullet.btCollisionObjectDoubleData_m_friction_set) m_rollingFriction = property(_pybullet.btCollisionObjectDoubleData_m_rollingFriction_get, _pybullet.btCollisionObjectDoubleData_m_rollingFriction_set) m_contactDamping = property(_pybullet.btCollisionObjectDoubleData_m_contactDamping_get, _pybullet.btCollisionObjectDoubleData_m_contactDamping_set) m_contactStiffness = property(_pybullet.btCollisionObjectDoubleData_m_contactStiffness_get, _pybullet.btCollisionObjectDoubleData_m_contactStiffness_set) m_restitution = property(_pybullet.btCollisionObjectDoubleData_m_restitution_get, _pybullet.btCollisionObjectDoubleData_m_restitution_set) m_hitFraction = property(_pybullet.btCollisionObjectDoubleData_m_hitFraction_get, _pybullet.btCollisionObjectDoubleData_m_hitFraction_set) m_ccdSweptSphereRadius = property(_pybullet.btCollisionObjectDoubleData_m_ccdSweptSphereRadius_get, _pybullet.btCollisionObjectDoubleData_m_ccdSweptSphereRadius_set) m_ccdMotionThreshold = property(_pybullet.btCollisionObjectDoubleData_m_ccdMotionThreshold_get, _pybullet.btCollisionObjectDoubleData_m_ccdMotionThreshold_set) m_hasAnisotropicFriction = property(_pybullet.btCollisionObjectDoubleData_m_hasAnisotropicFriction_get, _pybullet.btCollisionObjectDoubleData_m_hasAnisotropicFriction_set) m_collisionFlags = property(_pybullet.btCollisionObjectDoubleData_m_collisionFlags_get, _pybullet.btCollisionObjectDoubleData_m_collisionFlags_set) m_islandTag1 = property(_pybullet.btCollisionObjectDoubleData_m_islandTag1_get, _pybullet.btCollisionObjectDoubleData_m_islandTag1_set) m_companionId = property(_pybullet.btCollisionObjectDoubleData_m_companionId_get, _pybullet.btCollisionObjectDoubleData_m_companionId_set) m_activationState1 = property(_pybullet.btCollisionObjectDoubleData_m_activationState1_get, _pybullet.btCollisionObjectDoubleData_m_activationState1_set) m_internalType = property(_pybullet.btCollisionObjectDoubleData_m_internalType_get, _pybullet.btCollisionObjectDoubleData_m_internalType_set) m_checkCollideWith = property(_pybullet.btCollisionObjectDoubleData_m_checkCollideWith_get, _pybullet.btCollisionObjectDoubleData_m_checkCollideWith_set) m_collisionFilterGroup = property(_pybullet.btCollisionObjectDoubleData_m_collisionFilterGroup_get, _pybullet.btCollisionObjectDoubleData_m_collisionFilterGroup_set) m_collisionFilterMask = property(_pybullet.btCollisionObjectDoubleData_m_collisionFilterMask_get, _pybullet.btCollisionObjectDoubleData_m_collisionFilterMask_set) m_uniqueId = property(_pybullet.btCollisionObjectDoubleData_m_uniqueId_get, _pybullet.btCollisionObjectDoubleData_m_uniqueId_set) def __init__(self): _pybullet.btCollisionObjectDoubleData_swiginit(self, _pybullet.new_btCollisionObjectDoubleData()) __swig_destroy__ = _pybullet.delete_btCollisionObjectDoubleData
# Register btCollisionObjectDoubleData in _pybullet: _pybullet.btCollisionObjectDoubleData_swigregister(btCollisionObjectDoubleData)
[docs]class btCollisionObjectFloatData(object): r"""do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_broadphaseHandle = property(_pybullet.btCollisionObjectFloatData_m_broadphaseHandle_get, _pybullet.btCollisionObjectFloatData_m_broadphaseHandle_set) m_collisionShape = property(_pybullet.btCollisionObjectFloatData_m_collisionShape_get, _pybullet.btCollisionObjectFloatData_m_collisionShape_set) m_rootCollisionShape = property(_pybullet.btCollisionObjectFloatData_m_rootCollisionShape_get, _pybullet.btCollisionObjectFloatData_m_rootCollisionShape_set) m_name = property(_pybullet.btCollisionObjectFloatData_m_name_get, _pybullet.btCollisionObjectFloatData_m_name_set) m_worldTransform = property(_pybullet.btCollisionObjectFloatData_m_worldTransform_get, _pybullet.btCollisionObjectFloatData_m_worldTransform_set) m_interpolationWorldTransform = property(_pybullet.btCollisionObjectFloatData_m_interpolationWorldTransform_get, _pybullet.btCollisionObjectFloatData_m_interpolationWorldTransform_set) m_interpolationLinearVelocity = property(_pybullet.btCollisionObjectFloatData_m_interpolationLinearVelocity_get, _pybullet.btCollisionObjectFloatData_m_interpolationLinearVelocity_set) m_interpolationAngularVelocity = property(_pybullet.btCollisionObjectFloatData_m_interpolationAngularVelocity_get, _pybullet.btCollisionObjectFloatData_m_interpolationAngularVelocity_set) m_anisotropicFriction = property(_pybullet.btCollisionObjectFloatData_m_anisotropicFriction_get, _pybullet.btCollisionObjectFloatData_m_anisotropicFriction_set) m_contactProcessingThreshold = property(_pybullet.btCollisionObjectFloatData_m_contactProcessingThreshold_get, _pybullet.btCollisionObjectFloatData_m_contactProcessingThreshold_set) m_deactivationTime = property(_pybullet.btCollisionObjectFloatData_m_deactivationTime_get, _pybullet.btCollisionObjectFloatData_m_deactivationTime_set) m_friction = property(_pybullet.btCollisionObjectFloatData_m_friction_get, _pybullet.btCollisionObjectFloatData_m_friction_set) m_rollingFriction = property(_pybullet.btCollisionObjectFloatData_m_rollingFriction_get, _pybullet.btCollisionObjectFloatData_m_rollingFriction_set) m_contactDamping = property(_pybullet.btCollisionObjectFloatData_m_contactDamping_get, _pybullet.btCollisionObjectFloatData_m_contactDamping_set) m_contactStiffness = property(_pybullet.btCollisionObjectFloatData_m_contactStiffness_get, _pybullet.btCollisionObjectFloatData_m_contactStiffness_set) m_restitution = property(_pybullet.btCollisionObjectFloatData_m_restitution_get, _pybullet.btCollisionObjectFloatData_m_restitution_set) m_hitFraction = property(_pybullet.btCollisionObjectFloatData_m_hitFraction_get, _pybullet.btCollisionObjectFloatData_m_hitFraction_set) m_ccdSweptSphereRadius = property(_pybullet.btCollisionObjectFloatData_m_ccdSweptSphereRadius_get, _pybullet.btCollisionObjectFloatData_m_ccdSweptSphereRadius_set) m_ccdMotionThreshold = property(_pybullet.btCollisionObjectFloatData_m_ccdMotionThreshold_get, _pybullet.btCollisionObjectFloatData_m_ccdMotionThreshold_set) m_hasAnisotropicFriction = property(_pybullet.btCollisionObjectFloatData_m_hasAnisotropicFriction_get, _pybullet.btCollisionObjectFloatData_m_hasAnisotropicFriction_set) m_collisionFlags = property(_pybullet.btCollisionObjectFloatData_m_collisionFlags_get, _pybullet.btCollisionObjectFloatData_m_collisionFlags_set) m_islandTag1 = property(_pybullet.btCollisionObjectFloatData_m_islandTag1_get, _pybullet.btCollisionObjectFloatData_m_islandTag1_set) m_companionId = property(_pybullet.btCollisionObjectFloatData_m_companionId_get, _pybullet.btCollisionObjectFloatData_m_companionId_set) m_activationState1 = property(_pybullet.btCollisionObjectFloatData_m_activationState1_get, _pybullet.btCollisionObjectFloatData_m_activationState1_set) m_internalType = property(_pybullet.btCollisionObjectFloatData_m_internalType_get, _pybullet.btCollisionObjectFloatData_m_internalType_set) m_checkCollideWith = property(_pybullet.btCollisionObjectFloatData_m_checkCollideWith_get, _pybullet.btCollisionObjectFloatData_m_checkCollideWith_set) m_collisionFilterGroup = property(_pybullet.btCollisionObjectFloatData_m_collisionFilterGroup_get, _pybullet.btCollisionObjectFloatData_m_collisionFilterGroup_set) m_collisionFilterMask = property(_pybullet.btCollisionObjectFloatData_m_collisionFilterMask_get, _pybullet.btCollisionObjectFloatData_m_collisionFilterMask_set) m_uniqueId = property(_pybullet.btCollisionObjectFloatData_m_uniqueId_get, _pybullet.btCollisionObjectFloatData_m_uniqueId_set) def __init__(self): _pybullet.btCollisionObjectFloatData_swiginit(self, _pybullet.new_btCollisionObjectFloatData()) __swig_destroy__ = _pybullet.delete_btCollisionObjectFloatData
# Register btCollisionObjectFloatData in _pybullet: _pybullet.btCollisionObjectFloatData_swigregister(btCollisionObjectFloatData) class btDispatcherInfo(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr DISPATCH_DISCRETE = _pybullet.btDispatcherInfo_DISPATCH_DISCRETE DISPATCH_CONTINUOUS = _pybullet.btDispatcherInfo_DISPATCH_CONTINUOUS def __init__(self): _pybullet.btDispatcherInfo_swiginit(self, _pybullet.new_btDispatcherInfo()) m_timeStep = property(_pybullet.btDispatcherInfo_m_timeStep_get, _pybullet.btDispatcherInfo_m_timeStep_set) m_stepCount = property(_pybullet.btDispatcherInfo_m_stepCount_get, _pybullet.btDispatcherInfo_m_stepCount_set) m_dispatchFunc = property(_pybullet.btDispatcherInfo_m_dispatchFunc_get, _pybullet.btDispatcherInfo_m_dispatchFunc_set) m_timeOfImpact = property(_pybullet.btDispatcherInfo_m_timeOfImpact_get, _pybullet.btDispatcherInfo_m_timeOfImpact_set) m_useContinuous = property(_pybullet.btDispatcherInfo_m_useContinuous_get, _pybullet.btDispatcherInfo_m_useContinuous_set) m_debugDraw = property(_pybullet.btDispatcherInfo_m_debugDraw_get, _pybullet.btDispatcherInfo_m_debugDraw_set) m_enableSatConvex = property(_pybullet.btDispatcherInfo_m_enableSatConvex_get, _pybullet.btDispatcherInfo_m_enableSatConvex_set) m_enableSPU = property(_pybullet.btDispatcherInfo_m_enableSPU_get, _pybullet.btDispatcherInfo_m_enableSPU_set) m_useEpa = property(_pybullet.btDispatcherInfo_m_useEpa_get, _pybullet.btDispatcherInfo_m_useEpa_set) m_allowedCcdPenetration = property(_pybullet.btDispatcherInfo_m_allowedCcdPenetration_get, _pybullet.btDispatcherInfo_m_allowedCcdPenetration_set) m_useConvexConservativeDistanceUtil = property(_pybullet.btDispatcherInfo_m_useConvexConservativeDistanceUtil_get, _pybullet.btDispatcherInfo_m_useConvexConservativeDistanceUtil_set) m_convexConservativeDistanceThreshold = property(_pybullet.btDispatcherInfo_m_convexConservativeDistanceThreshold_get, _pybullet.btDispatcherInfo_m_convexConservativeDistanceThreshold_set) m_deterministicOverlappingPairs = property(_pybullet.btDispatcherInfo_m_deterministicOverlappingPairs_get, _pybullet.btDispatcherInfo_m_deterministicOverlappingPairs_set) __swig_destroy__ = _pybullet.delete_btDispatcherInfo # Register btDispatcherInfo in _pybullet: _pybullet.btDispatcherInfo_swigregister(btDispatcherInfo) BT_CONTACT_POINT_ALGORITHMS = _pybullet.BT_CONTACT_POINT_ALGORITHMS BT_CLOSEST_POINT_ALGORITHMS = _pybullet.BT_CLOSEST_POINT_ALGORITHMS
[docs]class btDispatcher(object): r""" The btDispatcher interface class can be used in combination with broadphase to dispatch calculations for overlapping pairs. For example for pairwise collision detection, calculating contact points stored in btPersistentManifold or user callbacks (game logic). """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr __swig_destroy__ = _pybullet.delete_btDispatcher def findAlgorithm(self, body0Wrap: "btCollisionObjectWrapper const *", body1Wrap: "btCollisionObjectWrapper const *", sharedManifold: "btPersistentManifold", queryType: "ebtDispatcherQueryType") -> "btCollisionAlgorithm *": return _pybullet.btDispatcher_findAlgorithm(self, body0Wrap, body1Wrap, sharedManifold, queryType) def getNewManifold(self, b0: "btCollisionObject", b1: "btCollisionObject") -> "btPersistentManifold *": return _pybullet.btDispatcher_getNewManifold(self, b0, b1) def releaseManifold(self, manifold: "btPersistentManifold") -> "void": return _pybullet.btDispatcher_releaseManifold(self, manifold) def clearManifold(self, manifold: "btPersistentManifold") -> "void": return _pybullet.btDispatcher_clearManifold(self, manifold) def needsCollision(self, body0: "btCollisionObject", body1: "btCollisionObject") -> "bool": return _pybullet.btDispatcher_needsCollision(self, body0, body1) def needsResponse(self, body0: "btCollisionObject", body1: "btCollisionObject") -> "bool": return _pybullet.btDispatcher_needsResponse(self, body0, body1) def dispatchAllCollisionPairs(self, pairCache: "btOverlappingPairCache *", dispatchInfo: "btDispatcherInfo", dispatcher: "btDispatcher") -> "void": return _pybullet.btDispatcher_dispatchAllCollisionPairs(self, pairCache, dispatchInfo, dispatcher) def getNumManifolds(self) -> "int": return _pybullet.btDispatcher_getNumManifolds(self) def getManifoldByIndexInternal(self, index: "int") -> "btPersistentManifold *": return _pybullet.btDispatcher_getManifoldByIndexInternal(self, index) def getInternalManifoldPointer(self) -> "btPersistentManifold **": return _pybullet.btDispatcher_getInternalManifoldPointer(self) def getInternalManifoldPool(self, *args) -> "btPoolAllocator const *": return _pybullet.btDispatcher_getInternalManifoldPool(self, *args) def allocateCollisionAlgorithm(self, size: "int") -> "void *": return _pybullet.btDispatcher_allocateCollisionAlgorithm(self, size) def freeCollisionAlgorithm(self, ptr: "void *") -> "void": return _pybullet.btDispatcher_freeCollisionAlgorithm(self, ptr)
# Register btDispatcher in _pybullet: _pybullet.btDispatcher_swigregister(btDispatcher) class btBroadphaseAabbCallback(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr __swig_destroy__ = _pybullet.delete_btBroadphaseAabbCallback def process(self, proxy: "btBroadphaseProxy const *") -> "bool": return _pybullet.btBroadphaseAabbCallback_process(self, proxy) # Register btBroadphaseAabbCallback in _pybullet: _pybullet.btBroadphaseAabbCallback_swigregister(btBroadphaseAabbCallback) class btBroadphaseRayCallback(btBroadphaseAabbCallback): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr m_rayDirectionInverse = property(_pybullet.btBroadphaseRayCallback_m_rayDirectionInverse_get, _pybullet.btBroadphaseRayCallback_m_rayDirectionInverse_set, doc=r"""added some cached data to accelerate ray-AABB tests""") m_signs = property(_pybullet.btBroadphaseRayCallback_m_signs_get, _pybullet.btBroadphaseRayCallback_m_signs_set) m_lambda_max = property(_pybullet.btBroadphaseRayCallback_m_lambda_max_get, _pybullet.btBroadphaseRayCallback_m_lambda_max_set) __swig_destroy__ = _pybullet.delete_btBroadphaseRayCallback # Register btBroadphaseRayCallback in _pybullet: _pybullet.btBroadphaseRayCallback_swigregister(btBroadphaseRayCallback)
[docs]class btBroadphaseInterface(object): r""" The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs. Some implementations for this broadphase interface include btAxisSweep3, bt32BitAxisSweep3 and btDbvtBroadphase. The actual overlapping pair management, storage, adding and removing of pairs is dealt by the btOverlappingPairCache class. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr __swig_destroy__ = _pybullet.delete_btBroadphaseInterface def createProxy(self, aabbMin: "btVector3", aabbMax: "btVector3", shapeType: "int", userPtr: "void *", collisionFilterGroup: "int", collisionFilterMask: "int", dispatcher: "btDispatcher") -> "btBroadphaseProxy *": return _pybullet.btBroadphaseInterface_createProxy(self, aabbMin, aabbMax, shapeType, userPtr, collisionFilterGroup, collisionFilterMask, dispatcher) def destroyProxy(self, proxy: "btBroadphaseProxy *", dispatcher: "btDispatcher") -> "void": return _pybullet.btBroadphaseInterface_destroyProxy(self, proxy, dispatcher) def setAabb(self, proxy: "btBroadphaseProxy *", aabbMin: "btVector3", aabbMax: "btVector3", dispatcher: "btDispatcher") -> "void": return _pybullet.btBroadphaseInterface_setAabb(self, proxy, aabbMin, aabbMax, dispatcher) def getAabb(self, proxy: "btBroadphaseProxy *", aabbMin: "btVector3", aabbMax: "btVector3") -> "void": return _pybullet.btBroadphaseInterface_getAabb(self, proxy, aabbMin, aabbMax) def rayTest(self, *args) -> "void": return _pybullet.btBroadphaseInterface_rayTest(self, *args) def aabbTest(self, aabbMin: "btVector3", aabbMax: "btVector3", callback: "btBroadphaseAabbCallback") -> "void": return _pybullet.btBroadphaseInterface_aabbTest(self, aabbMin, aabbMax, callback)
[docs] def calculateOverlappingPairs(self, dispatcher: "btDispatcher") -> "void": r"""calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb""" return _pybullet.btBroadphaseInterface_calculateOverlappingPairs(self, dispatcher)
def getOverlappingPairCache(self, *args) -> "btOverlappingPairCache const *": return _pybullet.btBroadphaseInterface_getOverlappingPairCache(self, *args)
[docs] def getBroadphaseAabb(self, aabbMin: "btVector3", aabbMax: "btVector3") -> "void": r""" getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later """ return _pybullet.btBroadphaseInterface_getBroadphaseAabb(self, aabbMin, aabbMax)
[docs] def resetPool(self, dispatcher: "btDispatcher") -> "void": r"""reset broadphase internal structures, to ensure determinism/reproducability""" return _pybullet.btBroadphaseInterface_resetPool(self, dispatcher)
def printStats(self) -> "void": return _pybullet.btBroadphaseInterface_printStats(self)
# Register btBroadphaseInterface in _pybullet: _pybullet.btBroadphaseInterface_swigregister(btBroadphaseInterface)
[docs]class btCollisionWorld(object): r"""CollisionWorld is interface and container for the collision detection""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, dispatcher: "btDispatcher", broadphasePairCache: "btBroadphaseInterface", collisionConfiguration: "btCollisionConfiguration *"): _pybullet.btCollisionWorld_swiginit(self, _pybullet.new_btCollisionWorld(dispatcher, broadphasePairCache, collisionConfiguration)) __swig_destroy__ = _pybullet.delete_btCollisionWorld def setBroadphase(self, pairCache: "btBroadphaseInterface") -> "void": return _pybullet.btCollisionWorld_setBroadphase(self, pairCache) def getBroadphase(self, *args) -> "btBroadphaseInterface *": return _pybullet.btCollisionWorld_getBroadphase(self, *args) def getPairCache(self) -> "btOverlappingPairCache *": return _pybullet.btCollisionWorld_getPairCache(self) def getDispatcher(self, *args) -> "btDispatcher const *": return _pybullet.btCollisionWorld_getDispatcher(self, *args) def updateSingleAabb(self, colObj: "btCollisionObject") -> "void": return _pybullet.btCollisionWorld_updateSingleAabb(self, colObj) def updateAabbs(self) -> "void": return _pybullet.btCollisionWorld_updateAabbs(self)
[docs] def computeOverlappingPairs(self) -> "void": r""" the computeOverlappingPairs is usually already called by performDiscreteCollisionDetection (or stepSimulation) it can be useful to use if you perform ray tests without collision detection/simulation """ return _pybullet.btCollisionWorld_computeOverlappingPairs(self)
def setDebugDrawer(self, debugDrawer: "btIDebugDraw *") -> "void": return _pybullet.btCollisionWorld_setDebugDrawer(self, debugDrawer) def getDebugDrawer(self) -> "btIDebugDraw *": return _pybullet.btCollisionWorld_getDebugDrawer(self) def debugDrawWorld(self) -> "void": return _pybullet.btCollisionWorld_debugDrawWorld(self) def debugDrawObject(self, worldTransform: "btTransform", shape: "btCollisionShape", color: "btVector3") -> "void": return _pybullet.btCollisionWorld_debugDrawObject(self, worldTransform, shape, color) def getNumCollisionObjects(self) -> "int": return _pybullet.btCollisionWorld_getNumCollisionObjects(self)
[docs] def rayTest(self, rayFromWorld: "btVector3", rayToWorld: "btVector3", resultCallback: "btCollisionWorld::RayResultCallback &") -> "void": r""" rayTest performs a raycast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value returned by the callback. """ return _pybullet.btCollisionWorld_rayTest(self, rayFromWorld, rayToWorld, resultCallback)
[docs] def convexSweepTest(self, *args) -> "void": r""" convexTest performs a swept convex cast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value return by the callback. """ return _pybullet.btCollisionWorld_convexSweepTest(self, *args)
[docs] def contactTest(self, colObj: "btCollisionObject", resultCallback: "btCollisionWorld::ContactResultCallback &") -> "void": r""" contactTest performs a discrete collision test between colObj against all objects in the btCollisionWorld, and calls the resultCallback. it reports one or more contact points for every overlapping object (including the one with deepest penetration) """ return _pybullet.btCollisionWorld_contactTest(self, colObj, resultCallback)
[docs] def contactPairTest(self, colObjA: "btCollisionObject", colObjB: "btCollisionObject", resultCallback: "btCollisionWorld::ContactResultCallback &") -> "void": r""" contactTest performs a discrete collision test between two collision objects and calls the resultCallback if overlap if detected. it reports one or more contact points (including the one with deepest penetration) """ return _pybullet.btCollisionWorld_contactPairTest(self, colObjA, colObjB, resultCallback)
[docs] @staticmethod def rayTestSingle(rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObject: "btCollisionObject", collisionShape: "btCollisionShape", colObjWorldTransform: "btTransform", resultCallback: "btCollisionWorld::RayResultCallback &") -> "void": r""" rayTestSingle performs a raycast call and calls the resultCallback. It is used internally by rayTest. In a future implementation, we consider moving the ray test as a virtual method in btCollisionShape. This allows more customization. """ return _pybullet.btCollisionWorld_rayTestSingle(rayFromTrans, rayToTrans, collisionObject, collisionShape, colObjWorldTransform, resultCallback)
@staticmethod def rayTestSingleInternal(rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObjectWrap: "btCollisionObjectWrapper const *", resultCallback: "btCollisionWorld::RayResultCallback &") -> "void": return _pybullet.btCollisionWorld_rayTestSingleInternal(rayFromTrans, rayToTrans, collisionObjectWrap, resultCallback)
[docs] @staticmethod def objectQuerySingle(castShape: "btConvexShape", rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObject: "btCollisionObject", collisionShape: "btCollisionShape", colObjWorldTransform: "btTransform", resultCallback: "btCollisionWorld::ConvexResultCallback &", allowedPenetration: "btScalar") -> "void": r""" objectQuerySingle performs a collision detection query and calls the resultCallback. It is used internally by rayTest.""" return _pybullet.btCollisionWorld_objectQuerySingle(castShape, rayFromTrans, rayToTrans, collisionObject, collisionShape, colObjWorldTransform, resultCallback, allowedPenetration)
@staticmethod def objectQuerySingleInternal(castShape: "btConvexShape", convexFromTrans: "btTransform", convexToTrans: "btTransform", colObjWrap: "btCollisionObjectWrapper const *", resultCallback: "btCollisionWorld::ConvexResultCallback &", allowedPenetration: "btScalar") -> "void": return _pybullet.btCollisionWorld_objectQuerySingleInternal(castShape, convexFromTrans, convexToTrans, colObjWrap, resultCallback, allowedPenetration) def addCollisionObject(self, *args) -> "void": return _pybullet.btCollisionWorld_addCollisionObject(self, *args) def refreshBroadphaseProxy(self, collisionObject: "btCollisionObject") -> "void": return _pybullet.btCollisionWorld_refreshBroadphaseProxy(self, collisionObject) def getCollisionObjectArray(self, *args) -> "btCollisionObjectArray const &": return _pybullet.btCollisionWorld_getCollisionObjectArray(self, *args) def removeCollisionObject(self, collisionObject: "btCollisionObject") -> "void": return _pybullet.btCollisionWorld_removeCollisionObject(self, collisionObject) def performDiscreteCollisionDetection(self) -> "void": return _pybullet.btCollisionWorld_performDiscreteCollisionDetection(self) def getDispatchInfo(self, *args) -> "btDispatcherInfo const &": return _pybullet.btCollisionWorld_getDispatchInfo(self, *args) def getForceUpdateAllAabbs(self) -> "bool": return _pybullet.btCollisionWorld_getForceUpdateAllAabbs(self) def setForceUpdateAllAabbs(self, forceUpdateAllAabbs: "bool") -> "void": return _pybullet.btCollisionWorld_setForceUpdateAllAabbs(self, forceUpdateAllAabbs)
[docs] def serialize(self, serializer: "btSerializer *") -> "void": r"""Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (Bullet/Demos/SerializeDemo)""" return _pybullet.btCollisionWorld_serialize(self, serializer)
# Register btCollisionWorld in _pybullet: _pybullet.btCollisionWorld_swigregister(btCollisionWorld)
[docs]def btCollisionWorld_rayTestSingle(rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObject: "btCollisionObject", collisionShape: "btCollisionShape", colObjWorldTransform: "btTransform", resultCallback: "btCollisionWorld::RayResultCallback &") -> "void": r""" rayTestSingle performs a raycast call and calls the resultCallback. It is used internally by rayTest. In a future implementation, we consider moving the ray test as a virtual method in btCollisionShape. This allows more customization. """ return _pybullet.btCollisionWorld_rayTestSingle(rayFromTrans, rayToTrans, collisionObject, collisionShape, colObjWorldTransform, resultCallback)
def btCollisionWorld_rayTestSingleInternal(rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObjectWrap: "btCollisionObjectWrapper const *", resultCallback: "btCollisionWorld::RayResultCallback &") -> "void": return _pybullet.btCollisionWorld_rayTestSingleInternal(rayFromTrans, rayToTrans, collisionObjectWrap, resultCallback)
[docs]def btCollisionWorld_objectQuerySingle(castShape: "btConvexShape", rayFromTrans: "btTransform", rayToTrans: "btTransform", collisionObject: "btCollisionObject", collisionShape: "btCollisionShape", colObjWorldTransform: "btTransform", resultCallback: "btCollisionWorld::ConvexResultCallback &", allowedPenetration: "btScalar") -> "void": r""" objectQuerySingle performs a collision detection query and calls the resultCallback. It is used internally by rayTest.""" return _pybullet.btCollisionWorld_objectQuerySingle(castShape, rayFromTrans, rayToTrans, collisionObject, collisionShape, colObjWorldTransform, resultCallback, allowedPenetration)
def btCollisionWorld_objectQuerySingleInternal(castShape: "btConvexShape", convexFromTrans: "btTransform", convexToTrans: "btTransform", colObjWrap: "btCollisionObjectWrapper const *", resultCallback: "btCollisionWorld::ConvexResultCallback &", allowedPenetration: "btScalar") -> "void": return _pybullet.btCollisionWorld_objectQuerySingleInternal(castShape, convexFromTrans, convexToTrans, colObjWrap, resultCallback, allowedPenetration) class collisionObjects(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def iterator(self) -> "swig::SwigPyIterator *": return _pybullet.collisionObjects_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _pybullet.collisionObjects___nonzero__(self) def __bool__(self) -> "bool": return _pybullet.collisionObjects___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::size_type": return _pybullet.collisionObjects___len__(self) def __getslice__(self, i: "std::vector< std::shared_ptr< btCollisionObject > >::difference_type", j: "std::vector< std::shared_ptr< btCollisionObject > >::difference_type") -> "std::vector< std::shared_ptr< btCollisionObject >,std::allocator< std::shared_ptr< btCollisionObject > > > *": return _pybullet.collisionObjects___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _pybullet.collisionObjects___setslice__(self, *args) def __delslice__(self, i: "std::vector< std::shared_ptr< btCollisionObject > >::difference_type", j: "std::vector< std::shared_ptr< btCollisionObject > >::difference_type") -> "void": return _pybullet.collisionObjects___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _pybullet.collisionObjects___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &": return _pybullet.collisionObjects___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _pybullet.collisionObjects___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::value_type": return _pybullet.collisionObjects_pop(self) def append(self, x: "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &") -> "void": return _pybullet.collisionObjects_append(self, x) def empty(self) -> "bool": return _pybullet.collisionObjects_empty(self) def size(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::size_type": return _pybullet.collisionObjects_size(self) def begin(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::iterator": return _pybullet.collisionObjects_begin(self) def end(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::iterator": return _pybullet.collisionObjects_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::reverse_iterator": return _pybullet.collisionObjects_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::reverse_iterator": return _pybullet.collisionObjects_rend(self) def clear(self) -> "void": return _pybullet.collisionObjects_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::allocator_type": return _pybullet.collisionObjects_get_allocator(self) def pop_back(self) -> "void": return _pybullet.collisionObjects_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< btCollisionObject > >::iterator": return _pybullet.collisionObjects_erase(self, *args) def __init__(self, *args): _pybullet.collisionObjects_swiginit(self, _pybullet.new_collisionObjects(*args)) def push_back(self, x: "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &") -> "void": return _pybullet.collisionObjects_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &": return _pybullet.collisionObjects_front(self) def back(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &": return _pybullet.collisionObjects_back(self) def assign(self, n: "std::vector< std::shared_ptr< btCollisionObject > >::size_type", x: "std::vector< std::shared_ptr< btCollisionObject > >::value_type const &") -> "void": return _pybullet.collisionObjects_assign(self, n, x) def resize(self, *args) -> "void": return _pybullet.collisionObjects_resize(self, *args) def insert(self, *args) -> "void": return _pybullet.collisionObjects_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< btCollisionObject > >::size_type") -> "void": return _pybullet.collisionObjects_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< btCollisionObject > >::size_type": return _pybullet.collisionObjects_capacity(self) __swig_destroy__ = _pybullet.delete_collisionObjects # Register collisionObjects in _pybullet: _pybullet.collisionObjects_swigregister(collisionObjects) class btConstraintRow(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_normal = property(_pybullet.btConstraintRow_m_normal_get, _pybullet.btConstraintRow_m_normal_set) m_rhs = property(_pybullet.btConstraintRow_m_rhs_get, _pybullet.btConstraintRow_m_rhs_set) m_jacDiagInv = property(_pybullet.btConstraintRow_m_jacDiagInv_get, _pybullet.btConstraintRow_m_jacDiagInv_set) m_lowerLimit = property(_pybullet.btConstraintRow_m_lowerLimit_get, _pybullet.btConstraintRow_m_lowerLimit_set) m_upperLimit = property(_pybullet.btConstraintRow_m_upperLimit_get, _pybullet.btConstraintRow_m_upperLimit_set) m_accumImpulse = property(_pybullet.btConstraintRow_m_accumImpulse_get, _pybullet.btConstraintRow_m_accumImpulse_set) def __init__(self): _pybullet.btConstraintRow_swiginit(self, _pybullet.new_btConstraintRow()) __swig_destroy__ = _pybullet.delete_btConstraintRow # Register btConstraintRow in _pybullet: _pybullet.btConstraintRow_swigregister(btConstraintRow) BT_CONTACT_FLAG_LATERAL_FRICTION_INITIALIZED = _pybullet.BT_CONTACT_FLAG_LATERAL_FRICTION_INITIALIZED BT_CONTACT_FLAG_HAS_CONTACT_CFM = _pybullet.BT_CONTACT_FLAG_HAS_CONTACT_CFM BT_CONTACT_FLAG_HAS_CONTACT_ERP = _pybullet.BT_CONTACT_FLAG_HAS_CONTACT_ERP BT_CONTACT_FLAG_CONTACT_STIFFNESS_DAMPING = _pybullet.BT_CONTACT_FLAG_CONTACT_STIFFNESS_DAMPING BT_CONTACT_FLAG_FRICTION_ANCHOR = _pybullet.BT_CONTACT_FLAG_FRICTION_ANCHOR
[docs]class btManifoldPoint(object): r""" ManifoldContactPoint collects and maintains persistent contactpoints. used to improve stability and performance of rigidbody dynamics response. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr def __init__(self, *args): _pybullet.btManifoldPoint_swiginit(self, _pybullet.new_btManifoldPoint(*args)) m_localPointA = property(_pybullet.btManifoldPoint_m_localPointA_get, _pybullet.btManifoldPoint_m_localPointA_set) m_localPointB = property(_pybullet.btManifoldPoint_m_localPointB_get, _pybullet.btManifoldPoint_m_localPointB_set) m_positionWorldOnB = property(_pybullet.btManifoldPoint_m_positionWorldOnB_get, _pybullet.btManifoldPoint_m_positionWorldOnB_set) m_positionWorldOnA = property(_pybullet.btManifoldPoint_m_positionWorldOnA_get, _pybullet.btManifoldPoint_m_positionWorldOnA_set, doc=r"""m_positionWorldOnA is redundant information, see getPositionWorldOnA(), but for clarity""") m_normalWorldOnB = property(_pybullet.btManifoldPoint_m_normalWorldOnB_get, _pybullet.btManifoldPoint_m_normalWorldOnB_set) m_distance1 = property(_pybullet.btManifoldPoint_m_distance1_get, _pybullet.btManifoldPoint_m_distance1_set) m_combinedFriction = property(_pybullet.btManifoldPoint_m_combinedFriction_get, _pybullet.btManifoldPoint_m_combinedFriction_set) m_combinedRollingFriction = property(_pybullet.btManifoldPoint_m_combinedRollingFriction_get, _pybullet.btManifoldPoint_m_combinedRollingFriction_set) m_combinedSpinningFriction = property(_pybullet.btManifoldPoint_m_combinedSpinningFriction_get, _pybullet.btManifoldPoint_m_combinedSpinningFriction_set) m_combinedRestitution = property(_pybullet.btManifoldPoint_m_combinedRestitution_get, _pybullet.btManifoldPoint_m_combinedRestitution_set) m_partId0 = property(_pybullet.btManifoldPoint_m_partId0_get, _pybullet.btManifoldPoint_m_partId0_set) m_partId1 = property(_pybullet.btManifoldPoint_m_partId1_get, _pybullet.btManifoldPoint_m_partId1_set) m_index0 = property(_pybullet.btManifoldPoint_m_index0_get, _pybullet.btManifoldPoint_m_index0_set) m_index1 = property(_pybullet.btManifoldPoint_m_index1_get, _pybullet.btManifoldPoint_m_index1_set) m_userPersistentData = property(_pybullet.btManifoldPoint_m_userPersistentData_get, _pybullet.btManifoldPoint_m_userPersistentData_set) m_contactPointFlags = property(_pybullet.btManifoldPoint_m_contactPointFlags_get, _pybullet.btManifoldPoint_m_contactPointFlags_set) m_appliedImpulse = property(_pybullet.btManifoldPoint_m_appliedImpulse_get, _pybullet.btManifoldPoint_m_appliedImpulse_set) m_prevRHS = property(_pybullet.btManifoldPoint_m_prevRHS_get, _pybullet.btManifoldPoint_m_prevRHS_set) m_appliedImpulseLateral1 = property(_pybullet.btManifoldPoint_m_appliedImpulseLateral1_get, _pybullet.btManifoldPoint_m_appliedImpulseLateral1_set) m_appliedImpulseLateral2 = property(_pybullet.btManifoldPoint_m_appliedImpulseLateral2_get, _pybullet.btManifoldPoint_m_appliedImpulseLateral2_set) m_contactMotion1 = property(_pybullet.btManifoldPoint_m_contactMotion1_get, _pybullet.btManifoldPoint_m_contactMotion1_set) m_contactMotion2 = property(_pybullet.btManifoldPoint_m_contactMotion2_get, _pybullet.btManifoldPoint_m_contactMotion2_set) m_frictionCFM = property(_pybullet.btManifoldPoint_m_frictionCFM_get, _pybullet.btManifoldPoint_m_frictionCFM_set) m_lifeTime = property(_pybullet.btManifoldPoint_m_lifeTime_get, _pybullet.btManifoldPoint_m_lifeTime_set) m_lateralFrictionDir1 = property(_pybullet.btManifoldPoint_m_lateralFrictionDir1_get, _pybullet.btManifoldPoint_m_lateralFrictionDir1_set) m_lateralFrictionDir2 = property(_pybullet.btManifoldPoint_m_lateralFrictionDir2_get, _pybullet.btManifoldPoint_m_lateralFrictionDir2_set) def getDistance(self) -> "btScalar": return _pybullet.btManifoldPoint_getDistance(self) def getLifeTime(self) -> "int": return _pybullet.btManifoldPoint_getLifeTime(self) def getPositionWorldOnA(self) -> "btVector3 const &": return _pybullet.btManifoldPoint_getPositionWorldOnA(self) def getPositionWorldOnB(self) -> "btVector3 const &": return _pybullet.btManifoldPoint_getPositionWorldOnB(self) def setDistance(self, dist: "btScalar") -> "void": return _pybullet.btManifoldPoint_setDistance(self, dist)
[docs] def getAppliedImpulse(self) -> "btScalar": r"""this returns the most recent applied impulse, to satisfy contact constraints by the constraint solver""" return _pybullet.btManifoldPoint_getAppliedImpulse(self)
__swig_destroy__ = _pybullet.delete_btManifoldPoint
# Register btManifoldPoint in _pybullet: _pybullet.btManifoldPoint_swigregister(btManifoldPoint) MIN_CONTACT_MANIFOLD_TYPE = _pybullet.MIN_CONTACT_MANIFOLD_TYPE BT_PERSISTENT_MANIFOLD_TYPE = _pybullet.BT_PERSISTENT_MANIFOLD_TYPE MANIFOLD_CACHE_SIZE = _pybullet.MANIFOLD_CACHE_SIZE
[docs]class btPersistentManifold(object): r""" btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping in the broadphase. Those contact points are created by the collision narrow phase. The cache can be empty, or hold 1,2,3 or 4 points. Some collision algorithms (GJK) might only add one point at a time. updates/refreshes old contact points, and throw them away if necessary (distance becomes too large) reduces the cache to 4 points, when more then 4 points are added, using following rules: the contact point with deepest penetration is always kept, and it tries to maximuze the area covered by the points note that some pairs of objects might have more then one contact manifold. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_companionIdA = property(_pybullet.btPersistentManifold_m_companionIdA_get, _pybullet.btPersistentManifold_m_companionIdA_set) m_companionIdB = property(_pybullet.btPersistentManifold_m_companionIdB_get, _pybullet.btPersistentManifold_m_companionIdB_set) m_index1a = property(_pybullet.btPersistentManifold_m_index1a_get, _pybullet.btPersistentManifold_m_index1a_set) def __init__(self, *args): _pybullet.btPersistentManifold_swiginit(self, _pybullet.new_btPersistentManifold(*args)) def getBody0(self) -> "btCollisionObject const *": return _pybullet.btPersistentManifold_getBody0(self) def getBody1(self) -> "btCollisionObject const *": return _pybullet.btPersistentManifold_getBody1(self) def setBodies(self, body0: "btCollisionObject", body1: "btCollisionObject") -> "void": return _pybullet.btPersistentManifold_setBodies(self, body0, body1) def clearUserCache(self, pt: "btManifoldPoint") -> "void": return _pybullet.btPersistentManifold_clearUserCache(self, pt) def getNumContacts(self) -> "int": return _pybullet.btPersistentManifold_getNumContacts(self)
[docs] def setNumContacts(self, cachedPoints: "int") -> "void": r""" the setNumContacts API is usually not used, except when you gather/fill all contacts manually""" return _pybullet.btPersistentManifold_setNumContacts(self, cachedPoints)
def getContactPoint(self, *args) -> "btManifoldPoint &": return _pybullet.btPersistentManifold_getContactPoint(self, *args)
[docs] def getContactBreakingThreshold(self) -> "btScalar": r"""TODO: : get this margin from the current physics / collision environment""" return _pybullet.btPersistentManifold_getContactBreakingThreshold(self)
def getContactProcessingThreshold(self) -> "btScalar": return _pybullet.btPersistentManifold_getContactProcessingThreshold(self) def setContactBreakingThreshold(self, contactBreakingThreshold: "btScalar") -> "void": return _pybullet.btPersistentManifold_setContactBreakingThreshold(self, contactBreakingThreshold) def setContactProcessingThreshold(self, contactProcessingThreshold: "btScalar") -> "void": return _pybullet.btPersistentManifold_setContactProcessingThreshold(self, contactProcessingThreshold) def getCacheEntry(self, newPoint: "btManifoldPoint") -> "int": return _pybullet.btPersistentManifold_getCacheEntry(self, newPoint) def addManifoldPoint(self, newPoint: "btManifoldPoint", isPredictive: "bool"=False) -> "int": return _pybullet.btPersistentManifold_addManifoldPoint(self, newPoint, isPredictive) def removeContactPoint(self, index: "int") -> "void": return _pybullet.btPersistentManifold_removeContactPoint(self, index) def replaceContactPoint(self, newPoint: "btManifoldPoint", insertIndex: "int") -> "void": return _pybullet.btPersistentManifold_replaceContactPoint(self, newPoint, insertIndex) def validContactDistance(self, pt: "btManifoldPoint") -> "bool": return _pybullet.btPersistentManifold_validContactDistance(self, pt)
[docs] def refreshContactPoints(self, trA: "btTransform", trB: "btTransform") -> "void": r""" calculated new worldspace coordinates and depth, and reject points that exceed the collision margin""" return _pybullet.btPersistentManifold_refreshContactPoints(self, trA, trB)
def clearManifold(self) -> "void": return _pybullet.btPersistentManifold_clearManifold(self) def calculateSerializeBufferSize(self) -> "int": return _pybullet.btPersistentManifold_calculateSerializeBufferSize(self) def serialize(self, manifold: "btPersistentManifold", dataBuffer: "void *", serializer: "btSerializer *") -> "char const *": return _pybullet.btPersistentManifold_serialize(self, manifold, dataBuffer, serializer) def deSerialize(self, *args) -> "void": return _pybullet.btPersistentManifold_deSerialize(self, *args) __swig_destroy__ = _pybullet.delete_btPersistentManifold
# Register btPersistentManifold in _pybullet: _pybullet.btPersistentManifold_swigregister(btPersistentManifold) cvar = _pybullet.cvar class btPersistentManifoldDoubleData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_pointCacheLocalPointA = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheLocalPointA_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheLocalPointA_set) m_pointCacheLocalPointB = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheLocalPointB_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheLocalPointB_set) m_pointCachePositionWorldOnA = property(_pybullet.btPersistentManifoldDoubleData_m_pointCachePositionWorldOnA_get, _pybullet.btPersistentManifoldDoubleData_m_pointCachePositionWorldOnA_set) m_pointCachePositionWorldOnB = property(_pybullet.btPersistentManifoldDoubleData_m_pointCachePositionWorldOnB_get, _pybullet.btPersistentManifoldDoubleData_m_pointCachePositionWorldOnB_set) m_pointCacheNormalWorldOnB = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheNormalWorldOnB_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheNormalWorldOnB_set) m_pointCacheLateralFrictionDir1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheLateralFrictionDir1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheLateralFrictionDir1_set) m_pointCacheLateralFrictionDir2 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheLateralFrictionDir2_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheLateralFrictionDir2_set) m_pointCacheDistance = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheDistance_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheDistance_set) m_pointCacheAppliedImpulse = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulse_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulse_set) m_pointCachePrevRHS = property(_pybullet.btPersistentManifoldDoubleData_m_pointCachePrevRHS_get, _pybullet.btPersistentManifoldDoubleData_m_pointCachePrevRHS_set) m_pointCacheCombinedFriction = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedFriction_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedFriction_set) m_pointCacheCombinedRollingFriction = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedRollingFriction_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedRollingFriction_set) m_pointCacheCombinedSpinningFriction = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedSpinningFriction_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedSpinningFriction_set) m_pointCacheCombinedRestitution = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedRestitution_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedRestitution_set) m_pointCachePartId0 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCachePartId0_get, _pybullet.btPersistentManifoldDoubleData_m_pointCachePartId0_set) m_pointCachePartId1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCachePartId1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCachePartId1_set) m_pointCacheIndex0 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheIndex0_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheIndex0_set) m_pointCacheIndex1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheIndex1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheIndex1_set) m_pointCacheContactPointFlags = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheContactPointFlags_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheContactPointFlags_set) m_pointCacheAppliedImpulseLateral1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulseLateral1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulseLateral1_set) m_pointCacheAppliedImpulseLateral2 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulseLateral2_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheAppliedImpulseLateral2_set) m_pointCacheContactMotion1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheContactMotion1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheContactMotion1_set) m_pointCacheContactMotion2 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheContactMotion2_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheContactMotion2_set) m_pointCacheContactCFM = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheContactCFM_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheContactCFM_set) m_pointCacheCombinedContactStiffness1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedContactStiffness1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedContactStiffness1_set) m_pointCacheContactERP = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheContactERP_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheContactERP_set) m_pointCacheCombinedContactDamping1 = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedContactDamping1_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheCombinedContactDamping1_set) m_pointCacheFrictionCFM = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheFrictionCFM_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheFrictionCFM_set) m_pointCacheLifeTime = property(_pybullet.btPersistentManifoldDoubleData_m_pointCacheLifeTime_get, _pybullet.btPersistentManifoldDoubleData_m_pointCacheLifeTime_set) m_numCachedPoints = property(_pybullet.btPersistentManifoldDoubleData_m_numCachedPoints_get, _pybullet.btPersistentManifoldDoubleData_m_numCachedPoints_set) m_companionIdA = property(_pybullet.btPersistentManifoldDoubleData_m_companionIdA_get, _pybullet.btPersistentManifoldDoubleData_m_companionIdA_set) m_companionIdB = property(_pybullet.btPersistentManifoldDoubleData_m_companionIdB_get, _pybullet.btPersistentManifoldDoubleData_m_companionIdB_set) m_index1a = property(_pybullet.btPersistentManifoldDoubleData_m_index1a_get, _pybullet.btPersistentManifoldDoubleData_m_index1a_set) m_objectType = property(_pybullet.btPersistentManifoldDoubleData_m_objectType_get, _pybullet.btPersistentManifoldDoubleData_m_objectType_set) m_contactBreakingThreshold = property(_pybullet.btPersistentManifoldDoubleData_m_contactBreakingThreshold_get, _pybullet.btPersistentManifoldDoubleData_m_contactBreakingThreshold_set) m_contactProcessingThreshold = property(_pybullet.btPersistentManifoldDoubleData_m_contactProcessingThreshold_get, _pybullet.btPersistentManifoldDoubleData_m_contactProcessingThreshold_set) m_padding = property(_pybullet.btPersistentManifoldDoubleData_m_padding_get, _pybullet.btPersistentManifoldDoubleData_m_padding_set) m_body0 = property(_pybullet.btPersistentManifoldDoubleData_m_body0_get, _pybullet.btPersistentManifoldDoubleData_m_body0_set) m_body1 = property(_pybullet.btPersistentManifoldDoubleData_m_body1_get, _pybullet.btPersistentManifoldDoubleData_m_body1_set) def __init__(self): _pybullet.btPersistentManifoldDoubleData_swiginit(self, _pybullet.new_btPersistentManifoldDoubleData()) __swig_destroy__ = _pybullet.delete_btPersistentManifoldDoubleData # Register btPersistentManifoldDoubleData in _pybullet: _pybullet.btPersistentManifoldDoubleData_swigregister(btPersistentManifoldDoubleData) class btPersistentManifoldFloatData(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_pointCacheLocalPointA = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheLocalPointA_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheLocalPointA_set) m_pointCacheLocalPointB = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheLocalPointB_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheLocalPointB_set) m_pointCachePositionWorldOnA = property(_pybullet.btPersistentManifoldFloatData_m_pointCachePositionWorldOnA_get, _pybullet.btPersistentManifoldFloatData_m_pointCachePositionWorldOnA_set) m_pointCachePositionWorldOnB = property(_pybullet.btPersistentManifoldFloatData_m_pointCachePositionWorldOnB_get, _pybullet.btPersistentManifoldFloatData_m_pointCachePositionWorldOnB_set) m_pointCacheNormalWorldOnB = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheNormalWorldOnB_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheNormalWorldOnB_set) m_pointCacheLateralFrictionDir1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheLateralFrictionDir1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheLateralFrictionDir1_set) m_pointCacheLateralFrictionDir2 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheLateralFrictionDir2_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheLateralFrictionDir2_set) m_pointCacheDistance = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheDistance_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheDistance_set) m_pointCacheAppliedImpulse = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulse_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulse_set) m_pointCachePrevRHS = property(_pybullet.btPersistentManifoldFloatData_m_pointCachePrevRHS_get, _pybullet.btPersistentManifoldFloatData_m_pointCachePrevRHS_set) m_pointCacheCombinedFriction = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedFriction_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedFriction_set) m_pointCacheCombinedRollingFriction = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedRollingFriction_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedRollingFriction_set) m_pointCacheCombinedSpinningFriction = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedSpinningFriction_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedSpinningFriction_set) m_pointCacheCombinedRestitution = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedRestitution_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedRestitution_set) m_pointCachePartId0 = property(_pybullet.btPersistentManifoldFloatData_m_pointCachePartId0_get, _pybullet.btPersistentManifoldFloatData_m_pointCachePartId0_set) m_pointCachePartId1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCachePartId1_get, _pybullet.btPersistentManifoldFloatData_m_pointCachePartId1_set) m_pointCacheIndex0 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheIndex0_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheIndex0_set) m_pointCacheIndex1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheIndex1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheIndex1_set) m_pointCacheContactPointFlags = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheContactPointFlags_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheContactPointFlags_set) m_pointCacheAppliedImpulseLateral1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulseLateral1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulseLateral1_set) m_pointCacheAppliedImpulseLateral2 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulseLateral2_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheAppliedImpulseLateral2_set) m_pointCacheContactMotion1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheContactMotion1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheContactMotion1_set) m_pointCacheContactMotion2 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheContactMotion2_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheContactMotion2_set) m_pointCacheContactCFM = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheContactCFM_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheContactCFM_set) m_pointCacheCombinedContactStiffness1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedContactStiffness1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedContactStiffness1_set) m_pointCacheContactERP = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheContactERP_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheContactERP_set) m_pointCacheCombinedContactDamping1 = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedContactDamping1_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheCombinedContactDamping1_set) m_pointCacheFrictionCFM = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheFrictionCFM_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheFrictionCFM_set) m_pointCacheLifeTime = property(_pybullet.btPersistentManifoldFloatData_m_pointCacheLifeTime_get, _pybullet.btPersistentManifoldFloatData_m_pointCacheLifeTime_set) m_numCachedPoints = property(_pybullet.btPersistentManifoldFloatData_m_numCachedPoints_get, _pybullet.btPersistentManifoldFloatData_m_numCachedPoints_set) m_companionIdA = property(_pybullet.btPersistentManifoldFloatData_m_companionIdA_get, _pybullet.btPersistentManifoldFloatData_m_companionIdA_set) m_companionIdB = property(_pybullet.btPersistentManifoldFloatData_m_companionIdB_get, _pybullet.btPersistentManifoldFloatData_m_companionIdB_set) m_index1a = property(_pybullet.btPersistentManifoldFloatData_m_index1a_get, _pybullet.btPersistentManifoldFloatData_m_index1a_set) m_objectType = property(_pybullet.btPersistentManifoldFloatData_m_objectType_get, _pybullet.btPersistentManifoldFloatData_m_objectType_set) m_contactBreakingThreshold = property(_pybullet.btPersistentManifoldFloatData_m_contactBreakingThreshold_get, _pybullet.btPersistentManifoldFloatData_m_contactBreakingThreshold_set) m_contactProcessingThreshold = property(_pybullet.btPersistentManifoldFloatData_m_contactProcessingThreshold_get, _pybullet.btPersistentManifoldFloatData_m_contactProcessingThreshold_set) m_padding = property(_pybullet.btPersistentManifoldFloatData_m_padding_get, _pybullet.btPersistentManifoldFloatData_m_padding_set) m_body0 = property(_pybullet.btPersistentManifoldFloatData_m_body0_get, _pybullet.btPersistentManifoldFloatData_m_body0_set) m_body1 = property(_pybullet.btPersistentManifoldFloatData_m_body1_get, _pybullet.btPersistentManifoldFloatData_m_body1_set) def __init__(self): _pybullet.btPersistentManifoldFloatData_swiginit(self, _pybullet.new_btPersistentManifoldFloatData()) __swig_destroy__ = _pybullet.delete_btPersistentManifoldFloatData # Register btPersistentManifoldFloatData in _pybullet: _pybullet.btPersistentManifoldFloatData_swigregister(btPersistentManifoldFloatData) btPersistentManifoldDataName = _pybullet.btPersistentManifoldDataName
[docs]class btCollisionShape(object): r"""The btCollisionShape class provides an interface for collision shapes that can be shared among btCollisionObjects.""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr __swig_destroy__ = _pybullet.delete_btCollisionShape
[docs] def getAabb(self, t: "btTransform", aabbMin: "btVector3", aabbMax: "btVector3") -> "void": r"""getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.""" return _pybullet.btCollisionShape_getAabb(self, t, aabbMin, aabbMax)
def getBoundingSphere(self, center: "btVector3", radius: "btScalar &") -> "void": return _pybullet.btCollisionShape_getBoundingSphere(self, center, radius)
[docs] def getAngularMotionDisc(self) -> "btScalar": r"""getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of-impact with rotations.""" return _pybullet.btCollisionShape_getAngularMotionDisc(self)
def getContactBreakingThreshold(self, defaultContactThresholdFactor: "btScalar") -> "btScalar": return _pybullet.btCollisionShape_getContactBreakingThreshold(self, defaultContactThresholdFactor)
[docs] def calculateTemporalAabb(self, curTrans: "btTransform", linvel: "btVector3", angvel: "btVector3", timeStep: "btScalar", temporalAabbMin: "btVector3", temporalAabbMax: "btVector3") -> "void": r""" calculateTemporalAabb calculates the enclosing aabb for the moving object over interval [0..timeStep) result is conservative """ return _pybullet.btCollisionShape_calculateTemporalAabb(self, curTrans, linvel, angvel, timeStep, temporalAabbMin, temporalAabbMax)
def isPolyhedral(self) -> "bool": return _pybullet.btCollisionShape_isPolyhedral(self) def isConvex2d(self) -> "bool": return _pybullet.btCollisionShape_isConvex2d(self) def isConvex(self) -> "bool": return _pybullet.btCollisionShape_isConvex(self) def isNonMoving(self) -> "bool": return _pybullet.btCollisionShape_isNonMoving(self) def isConcave(self) -> "bool": return _pybullet.btCollisionShape_isConcave(self) def isCompound(self) -> "bool": return _pybullet.btCollisionShape_isCompound(self) def isSoftBody(self) -> "bool": return _pybullet.btCollisionShape_isSoftBody(self)
[docs] def isInfinite(self) -> "bool": r"""isInfinite is used to catch simulation error (aabb check)""" return _pybullet.btCollisionShape_isInfinite(self)
def setLocalScaling(self, scaling: "btVector3") -> "void": return _pybullet.btCollisionShape_setLocalScaling(self, scaling) def getLocalScaling(self) -> "btVector3 const &": return _pybullet.btCollisionShape_getLocalScaling(self) def calculateLocalInertia(self, mass: "btScalar", inertia: "btVector3") -> "void": return _pybullet.btCollisionShape_calculateLocalInertia(self, mass, inertia) def getName(self) -> "char const *": return _pybullet.btCollisionShape_getName(self) def getShapeType(self) -> "int": return _pybullet.btCollisionShape_getShapeType(self)
[docs] def getAnisotropicRollingFrictionDirection(self) -> "btVector3": r""" the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example """ return _pybullet.btCollisionShape_getAnisotropicRollingFrictionDirection(self)
def setMargin(self, margin: "btScalar") -> "void": return _pybullet.btCollisionShape_setMargin(self, margin) def getMargin(self) -> "btScalar": return _pybullet.btCollisionShape_getMargin(self)
[docs] def setUserPointer(self, userPtr: "void *") -> "void": r"""optional user data pointer""" return _pybullet.btCollisionShape_setUserPointer(self, userPtr)
def getUserPointer(self) -> "void *": return _pybullet.btCollisionShape_getUserPointer(self) def setUserIndex(self, index: "int") -> "void": return _pybullet.btCollisionShape_setUserIndex(self, index) def getUserIndex(self) -> "int": return _pybullet.btCollisionShape_getUserIndex(self) def setUserIndex2(self, index: "int") -> "void": return _pybullet.btCollisionShape_setUserIndex2(self, index) def getUserIndex2(self) -> "int": return _pybullet.btCollisionShape_getUserIndex2(self) def calculateSerializeBufferSize(self) -> "int": return _pybullet.btCollisionShape_calculateSerializeBufferSize(self)
[docs] def serialize(self, dataBuffer: "void *", serializer: "btSerializer *") -> "char const *": r"""fills the dataBuffer and returns the struct name (and 0 on failure)""" return _pybullet.btCollisionShape_serialize(self, dataBuffer, serializer)
def serializeSingleShape(self, serializer: "btSerializer *") -> "void": return _pybullet.btCollisionShape_serializeSingleShape(self, serializer)
# Register btCollisionShape in _pybullet: _pybullet.btCollisionShape_swigregister(btCollisionShape)
[docs]class btCollisionShapeData(object): r"""do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr m_name = property(_pybullet.btCollisionShapeData_m_name_get, _pybullet.btCollisionShapeData_m_name_set) m_shapeType = property(_pybullet.btCollisionShapeData_m_shapeType_get, _pybullet.btCollisionShapeData_m_shapeType_set) m_padding = property(_pybullet.btCollisionShapeData_m_padding_get, _pybullet.btCollisionShapeData_m_padding_set) def __init__(self): _pybullet.btCollisionShapeData_swiginit(self, _pybullet.new_btCollisionShapeData()) __swig_destroy__ = _pybullet.delete_btCollisionShapeData
# Register btCollisionShapeData in _pybullet: _pybullet.btCollisionShapeData_swigregister(btCollisionShapeData) MAX_PREFERRED_PENETRATION_DIRECTIONS = _pybullet.MAX_PREFERRED_PENETRATION_DIRECTIONS
[docs]class btConvexShape(btCollisionShape): r""" The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc. It describes general convex shapes using the localGetSupportingVertex interface, used by collision detectors such as btGjkPairDetector. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract") __repr__ = _swig_repr __swig_destroy__ = _pybullet.delete_btConvexShape def localGetSupportingVertex(self, vec: "btVector3") -> "btVector3": return _pybullet.btConvexShape_localGetSupportingVertex(self, vec) def localGetSupportingVertexWithoutMargin(self, vec: "btVector3") -> "btVector3": return _pybullet.btConvexShape_localGetSupportingVertexWithoutMargin(self, vec) def localGetSupportVertexWithoutMarginNonVirtual(self, vec: "btVector3") -> "btVector3": return _pybullet.btConvexShape_localGetSupportVertexWithoutMarginNonVirtual(self, vec) def localGetSupportVertexNonVirtual(self, vec: "btVector3") -> "btVector3": return _pybullet.btConvexShape_localGetSupportVertexNonVirtual(self, vec) def getMarginNonVirtual(self) -> "btScalar": return _pybullet.btConvexShape_getMarginNonVirtual(