Source code for siconos.mechanics.joints

# 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 _sicpyjoints
else:
    import _sicpyjoints

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__ = _sicpyjoints.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SHARED_PTR_DISOWN = _sicpyjoints.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 _sicpyjoints.nullDeleter___call__(self, arg2) __swig_destroy__ = _sicpyjoints.delete_nullDeleter
# Register nullDeleter in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.VectorOfVectors_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.VectorOfVectors___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.VectorOfVectors___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _sicpyjoints.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 _sicpyjoints.VectorOfVectors___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.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 _sicpyjoints.VectorOfVectors___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.VectorOfVectors___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _sicpyjoints.VectorOfVectors___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.VectorOfVectors___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type": return _sicpyjoints.VectorOfVectors_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosVector > >::value_type const &") -> "void": return _sicpyjoints.VectorOfVectors_append(self, x) def empty(self) -> "bool": return _sicpyjoints.VectorOfVectors_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _sicpyjoints.VectorOfVectors_size(self) def swap(self, v: "VectorOfVectors") -> "void": return _sicpyjoints.VectorOfVectors_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _sicpyjoints.VectorOfVectors_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _sicpyjoints.VectorOfVectors_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosVector > >::reverse_iterator": return _sicpyjoints.VectorOfVectors_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosVector > >::reverse_iterator": return _sicpyjoints.VectorOfVectors_rend(self) def clear(self) -> "void": return _sicpyjoints.VectorOfVectors_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosVector > >::allocator_type": return _sicpyjoints.VectorOfVectors_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.VectorOfVectors_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosVector > >::iterator": return _sicpyjoints.VectorOfVectors_erase(self, *args) def __init__(self, *args): _sicpyjoints.VectorOfVectors_swiginit(self, _sicpyjoints.new_VectorOfVectors(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosVector > >::value_type const &") -> "void": return _sicpyjoints.VectorOfVectors_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _sicpyjoints.VectorOfVectors_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosVector > >::value_type const &": return _sicpyjoints.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 _sicpyjoints.VectorOfVectors_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.VectorOfVectors_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.VectorOfVectors_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosVector > >::size_type") -> "void": return _sicpyjoints.VectorOfVectors_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosVector > >::size_type": return _sicpyjoints.VectorOfVectors_capacity(self) __swig_destroy__ = _sicpyjoints.delete_VectorOfVectors # Register VectorOfVectors in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.VectorOfBlockVectors_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.VectorOfBlockVectors___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.VectorOfBlockVectors___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _sicpyjoints.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 _sicpyjoints.VectorOfBlockVectors___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.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 _sicpyjoints.VectorOfBlockVectors___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.VectorOfBlockVectors___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _sicpyjoints.VectorOfBlockVectors___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.VectorOfBlockVectors___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type": return _sicpyjoints.VectorOfBlockVectors_pop(self) def append(self, x: "std::vector< std::shared_ptr< BlockVector > >::value_type const &") -> "void": return _sicpyjoints.VectorOfBlockVectors_append(self, x) def empty(self) -> "bool": return _sicpyjoints.VectorOfBlockVectors_empty(self) def size(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _sicpyjoints.VectorOfBlockVectors_size(self) def swap(self, v: "VectorOfBlockVectors") -> "void": return _sicpyjoints.VectorOfBlockVectors_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _sicpyjoints.VectorOfBlockVectors_begin(self) def end(self) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _sicpyjoints.VectorOfBlockVectors_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< BlockVector > >::reverse_iterator": return _sicpyjoints.VectorOfBlockVectors_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< BlockVector > >::reverse_iterator": return _sicpyjoints.VectorOfBlockVectors_rend(self) def clear(self) -> "void": return _sicpyjoints.VectorOfBlockVectors_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< BlockVector > >::allocator_type": return _sicpyjoints.VectorOfBlockVectors_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.VectorOfBlockVectors_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< BlockVector > >::iterator": return _sicpyjoints.VectorOfBlockVectors_erase(self, *args) def __init__(self, *args): _sicpyjoints.VectorOfBlockVectors_swiginit(self, _sicpyjoints.new_VectorOfBlockVectors(*args)) def push_back(self, x: "std::vector< std::shared_ptr< BlockVector > >::value_type const &") -> "void": return _sicpyjoints.VectorOfBlockVectors_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _sicpyjoints.VectorOfBlockVectors_front(self) def back(self) -> "std::vector< std::shared_ptr< BlockVector > >::value_type const &": return _sicpyjoints.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 _sicpyjoints.VectorOfBlockVectors_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.VectorOfBlockVectors_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.VectorOfBlockVectors_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< BlockVector > >::size_type") -> "void": return _sicpyjoints.VectorOfBlockVectors_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< BlockVector > >::size_type": return _sicpyjoints.VectorOfBlockVectors_capacity(self) __swig_destroy__ = _sicpyjoints.delete_VectorOfBlockVectors # Register VectorOfBlockVectors in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.VectorOfMatrices_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.VectorOfMatrices___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.VectorOfMatrices___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _sicpyjoints.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 _sicpyjoints.VectorOfMatrices___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.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 _sicpyjoints.VectorOfMatrices___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.VectorOfMatrices___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _sicpyjoints.VectorOfMatrices___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.VectorOfMatrices___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type": return _sicpyjoints.VectorOfMatrices_pop(self) def append(self, x: "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &") -> "void": return _sicpyjoints.VectorOfMatrices_append(self, x) def empty(self) -> "bool": return _sicpyjoints.VectorOfMatrices_empty(self) def size(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _sicpyjoints.VectorOfMatrices_size(self) def swap(self, v: "VectorOfMatrices") -> "void": return _sicpyjoints.VectorOfMatrices_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _sicpyjoints.VectorOfMatrices_begin(self) def end(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _sicpyjoints.VectorOfMatrices_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::reverse_iterator": return _sicpyjoints.VectorOfMatrices_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::reverse_iterator": return _sicpyjoints.VectorOfMatrices_rend(self) def clear(self) -> "void": return _sicpyjoints.VectorOfMatrices_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::allocator_type": return _sicpyjoints.VectorOfMatrices_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.VectorOfMatrices_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SiconosMatrix > >::iterator": return _sicpyjoints.VectorOfMatrices_erase(self, *args) def __init__(self, *args): _sicpyjoints.VectorOfMatrices_swiginit(self, _sicpyjoints.new_VectorOfMatrices(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &") -> "void": return _sicpyjoints.VectorOfMatrices_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _sicpyjoints.VectorOfMatrices_front(self) def back(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::value_type const &": return _sicpyjoints.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 _sicpyjoints.VectorOfMatrices_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.VectorOfMatrices_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.VectorOfMatrices_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SiconosMatrix > >::size_type") -> "void": return _sicpyjoints.VectorOfMatrices_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SiconosMatrix > >::size_type": return _sicpyjoints.VectorOfMatrices_capacity(self) __swig_destroy__ = _sicpyjoints.delete_VectorOfMatrices # Register VectorOfMatrices in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.VectorOfSMatrices_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.VectorOfSMatrices___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.VectorOfSMatrices___bool__(self) def __len__(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _sicpyjoints.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 _sicpyjoints.VectorOfSMatrices___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.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 _sicpyjoints.VectorOfSMatrices___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.VectorOfSMatrices___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _sicpyjoints.VectorOfSMatrices___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.VectorOfSMatrices___setitem__(self, *args) def pop(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type": return _sicpyjoints.VectorOfSMatrices_pop(self) def append(self, x: "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &") -> "void": return _sicpyjoints.VectorOfSMatrices_append(self, x) def empty(self) -> "bool": return _sicpyjoints.VectorOfSMatrices_empty(self) def size(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _sicpyjoints.VectorOfSMatrices_size(self) def swap(self, v: "VectorOfSMatrices") -> "void": return _sicpyjoints.VectorOfSMatrices_swap(self, v) def begin(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _sicpyjoints.VectorOfSMatrices_begin(self) def end(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _sicpyjoints.VectorOfSMatrices_end(self) def rbegin(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::reverse_iterator": return _sicpyjoints.VectorOfSMatrices_rbegin(self) def rend(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::reverse_iterator": return _sicpyjoints.VectorOfSMatrices_rend(self) def clear(self) -> "void": return _sicpyjoints.VectorOfSMatrices_clear(self) def get_allocator(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::allocator_type": return _sicpyjoints.VectorOfSMatrices_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.VectorOfSMatrices_pop_back(self) def erase(self, *args) -> "std::vector< std::shared_ptr< SimpleMatrix > >::iterator": return _sicpyjoints.VectorOfSMatrices_erase(self, *args) def __init__(self, *args): _sicpyjoints.VectorOfSMatrices_swiginit(self, _sicpyjoints.new_VectorOfSMatrices(*args)) def push_back(self, x: "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &") -> "void": return _sicpyjoints.VectorOfSMatrices_push_back(self, x) def front(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _sicpyjoints.VectorOfSMatrices_front(self) def back(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::value_type const &": return _sicpyjoints.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 _sicpyjoints.VectorOfSMatrices_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.VectorOfSMatrices_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.VectorOfSMatrices_insert(self, *args) def reserve(self, n: "std::vector< std::shared_ptr< SimpleMatrix > >::size_type") -> "void": return _sicpyjoints.VectorOfSMatrices_reserve(self, n) def capacity(self) -> "std::vector< std::shared_ptr< SimpleMatrix > >::size_type": return _sicpyjoints.VectorOfSMatrices_capacity(self) __swig_destroy__ = _sicpyjoints.delete_VectorOfSMatrices # Register VectorOfSMatrices in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.VectorOfMemories_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.VectorOfMemories___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.VectorOfMemories___bool__(self) def __len__(self) -> "std::vector< SiconosMemory >::size_type": return _sicpyjoints.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 _sicpyjoints.VectorOfMemories___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.VectorOfMemories___setslice__(self, *args) def __delslice__(self, i: "std::vector< SiconosMemory >::difference_type", j: "std::vector< SiconosMemory >::difference_type") -> "void": return _sicpyjoints.VectorOfMemories___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.VectorOfMemories___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< SiconosMemory >::value_type const &": return _sicpyjoints.VectorOfMemories___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.VectorOfMemories___setitem__(self, *args) def pop(self) -> "std::vector< SiconosMemory >::value_type": return _sicpyjoints.VectorOfMemories_pop(self) def append(self, x: "SiconosMemory") -> "void": return _sicpyjoints.VectorOfMemories_append(self, x) def empty(self) -> "bool": return _sicpyjoints.VectorOfMemories_empty(self) def size(self) -> "std::vector< SiconosMemory >::size_type": return _sicpyjoints.VectorOfMemories_size(self) def swap(self, v: "VectorOfMemories") -> "void": return _sicpyjoints.VectorOfMemories_swap(self, v) def begin(self) -> "std::vector< SiconosMemory >::iterator": return _sicpyjoints.VectorOfMemories_begin(self) def end(self) -> "std::vector< SiconosMemory >::iterator": return _sicpyjoints.VectorOfMemories_end(self) def rbegin(self) -> "std::vector< SiconosMemory >::reverse_iterator": return _sicpyjoints.VectorOfMemories_rbegin(self) def rend(self) -> "std::vector< SiconosMemory >::reverse_iterator": return _sicpyjoints.VectorOfMemories_rend(self) def clear(self) -> "void": return _sicpyjoints.VectorOfMemories_clear(self) def get_allocator(self) -> "std::vector< SiconosMemory >::allocator_type": return _sicpyjoints.VectorOfMemories_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.VectorOfMemories_pop_back(self) def erase(self, *args) -> "std::vector< SiconosMemory >::iterator": return _sicpyjoints.VectorOfMemories_erase(self, *args) def __init__(self, *args): _sicpyjoints.VectorOfMemories_swiginit(self, _sicpyjoints.new_VectorOfMemories(*args)) def push_back(self, x: "SiconosMemory") -> "void": return _sicpyjoints.VectorOfMemories_push_back(self, x) def front(self) -> "std::vector< SiconosMemory >::value_type const &": return _sicpyjoints.VectorOfMemories_front(self) def back(self) -> "std::vector< SiconosMemory >::value_type const &": return _sicpyjoints.VectorOfMemories_back(self) def assign(self, n: "std::vector< SiconosMemory >::size_type", x: "SiconosMemory") -> "void": return _sicpyjoints.VectorOfMemories_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.VectorOfMemories_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.VectorOfMemories_insert(self, *args) def reserve(self, n: "std::vector< SiconosMemory >::size_type") -> "void": return _sicpyjoints.VectorOfMemories_reserve(self, n) def capacity(self) -> "std::vector< SiconosMemory >::size_type": return _sicpyjoints.VectorOfMemories_capacity(self) __swig_destroy__ = _sicpyjoints.delete_VectorOfMemories # Register VectorOfMemories in _sicpyjoints: _sicpyjoints.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 _sicpyjoints.UnsignedIntVector_iterator(self) def __iter__(self): return self.iterator() def __nonzero__(self) -> "bool": return _sicpyjoints.UnsignedIntVector___nonzero__(self) def __bool__(self) -> "bool": return _sicpyjoints.UnsignedIntVector___bool__(self) def __len__(self) -> "std::vector< unsigned int >::size_type": return _sicpyjoints.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 _sicpyjoints.UnsignedIntVector___getslice__(self, i, j) def __setslice__(self, *args) -> "void": return _sicpyjoints.UnsignedIntVector___setslice__(self, *args) def __delslice__(self, i: "std::vector< unsigned int >::difference_type", j: "std::vector< unsigned int >::difference_type") -> "void": return _sicpyjoints.UnsignedIntVector___delslice__(self, i, j) def __delitem__(self, *args) -> "void": return _sicpyjoints.UnsignedIntVector___delitem__(self, *args) def __getitem__(self, *args) -> "std::vector< unsigned int >::value_type const &": return _sicpyjoints.UnsignedIntVector___getitem__(self, *args) def __setitem__(self, *args) -> "void": return _sicpyjoints.UnsignedIntVector___setitem__(self, *args) def pop(self) -> "std::vector< unsigned int >::value_type": return _sicpyjoints.UnsignedIntVector_pop(self) def append(self, x: "std::vector< unsigned int >::value_type const &") -> "void": return _sicpyjoints.UnsignedIntVector_append(self, x) def empty(self) -> "bool": return _sicpyjoints.UnsignedIntVector_empty(self) def size(self) -> "std::vector< unsigned int >::size_type": return _sicpyjoints.UnsignedIntVector_size(self) def swap(self, v: "UnsignedIntVector") -> "void": return _sicpyjoints.UnsignedIntVector_swap(self, v) def begin(self) -> "std::vector< unsigned int >::iterator": return _sicpyjoints.UnsignedIntVector_begin(self) def end(self) -> "std::vector< unsigned int >::iterator": return _sicpyjoints.UnsignedIntVector_end(self) def rbegin(self) -> "std::vector< unsigned int >::reverse_iterator": return _sicpyjoints.UnsignedIntVector_rbegin(self) def rend(self) -> "std::vector< unsigned int >::reverse_iterator": return _sicpyjoints.UnsignedIntVector_rend(self) def clear(self) -> "void": return _sicpyjoints.UnsignedIntVector_clear(self) def get_allocator(self) -> "std::vector< unsigned int >::allocator_type": return _sicpyjoints.UnsignedIntVector_get_allocator(self) def pop_back(self) -> "void": return _sicpyjoints.UnsignedIntVector_pop_back(self) def erase(self, *args) -> "std::vector< unsigned int >::iterator": return _sicpyjoints.UnsignedIntVector_erase(self, *args) def __init__(self, *args): _sicpyjoints.UnsignedIntVector_swiginit(self, _sicpyjoints.new_UnsignedIntVector(*args)) def push_back(self, x: "std::vector< unsigned int >::value_type const &") -> "void": return _sicpyjoints.UnsignedIntVector_push_back(self, x) def front(self) -> "std::vector< unsigned int >::value_type const &": return _sicpyjoints.UnsignedIntVector_front(self) def back(self) -> "std::vector< unsigned int >::value_type const &": return _sicpyjoints.UnsignedIntVector_back(self) def assign(self, n: "std::vector< unsigned int >::size_type", x: "std::vector< unsigned int >::value_type const &") -> "void": return _sicpyjoints.UnsignedIntVector_assign(self, n, x) def resize(self, *args) -> "void": return _sicpyjoints.UnsignedIntVector_resize(self, *args) def insert(self, *args) -> "void": return _sicpyjoints.UnsignedIntVector_insert(self, *args) def reserve(self, n: "std::vector< unsigned int >::size_type") -> "void": return _sicpyjoints.UnsignedIntVector_reserve(self, n) def capacity(self) -> "std::vector< unsigned int >::size_type": return _sicpyjoints.UnsignedIntVector_capacity(self) __swig_destroy__ = _sicpyjoints.delete_UnsignedIntVector # Register UnsignedIntVector in _sicpyjoints: _sicpyjoints.UnsignedIntVector_swigregister(UnsignedIntVector) import siconos.kernel
[docs] class NewtonEulerJointR(siconos.kernel.NewtonEulerR): r""" This class implements an abstract Joint relation (articulation) between one or two Newton/Euler dynamical systems.""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _allowSelfCollide = property(_sicpyjoints.NewtonEulerJointR__allowSelfCollide_get, _sicpyjoints.NewtonEulerJointR__allowSelfCollide_set, doc=r""" A flag determining whether this joint should block "self-collision", i.e., if true, bodies connected by this joint will not enter into unilateral contact. """) _points = property(_sicpyjoints.NewtonEulerJointR__points_get, _sicpyjoints.NewtonEulerJointR__points_set, doc=r""" Points used to defined the joint constraint.""") _axes = property(_sicpyjoints.NewtonEulerJointR__axes_get, _sicpyjoints.NewtonEulerJointR__axes_set, doc=r""" Axes used to defined the joint constraint.""") _absoluteRef = property(_sicpyjoints.NewtonEulerJointR__absoluteRef_get, _sicpyjoints.NewtonEulerJointR__absoluteRef_set, doc=r""" Defines whether points and axes are specified in absolute or relative frame. """) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Private version of normalDoF for subclasses to override.""" return _sicpyjoints.NewtonEulerJointR__normalDoF(self, ans, q0, axis, absoluteRef) def __init__(self): r""" Empty constructor. The relation may be initialized later by setPoint, setAbsolute, and setBasePositions. """ if self.__class__ == NewtonEulerJointR: _self = None else: _self = self _sicpyjoints.NewtonEulerJointR_swiginit(self, _sicpyjoints.new_NewtonEulerJointR(_self, ))
[docs] def setPoint(self, index: "unsigned int", point: "SP::SiconosVector") -> "void": r""" Set a point for this joint. The role of each point is specific to the joint subclass. Won't take effect until setBasePositions is called. :type index: int :param index: The index of the points. :type point: :py:class:`SiconosVector` :param point: A SiconosVector of size 3. """ return _sicpyjoints.NewtonEulerJointR_setPoint(self, index, point)
[docs] def point(self, index: "unsigned int") -> "SP::SiconosVector": r""" Get a point for this joint. :type index: int :param index: The index of the point. :rtype: :py:class:`SiconosVector` :return: The requested point. """ return _sicpyjoints.NewtonEulerJointR_point(self, index)
[docs] def points(self) -> "VectorOfVectors &": r""" Get the vector of points for this joint. :rtype: :py:class:`VectorOfVectors` :return: The vector of points. """ return _sicpyjoints.NewtonEulerJointR_points(self)
[docs] def setAxis(self, index: "unsigned int", axis: "SP::SiconosVector") -> "void": r""" Set an axis for this joint. The role of each axis is specific to the joint subclass. Won't take effect until setBasePositions is called. :type index: int :param index: The index of the points. :type axis: :py:class:`SiconosVector` :param axis: A SiconosVector of size 3. """ return _sicpyjoints.NewtonEulerJointR_setAxis(self, index, axis)
[docs] def axis(self, index: "unsigned int") -> "SP::SiconosVector": r""" Get an axis for this joint. :type index: int :param index: The index of the point. :rtype: :py:class:`SiconosVector` :return: The requested axis. """ return _sicpyjoints.NewtonEulerJointR_axis(self, index)
[docs] def axes(self) -> "VectorOfVectors &": r""" Get the vector of axes for this joint. :rtype: :py:class:`VectorOfVectors` :return: The vector of axes. """ return _sicpyjoints.NewtonEulerJointR_axes(self)
[docs] def setAbsolute(self, absoluteRef: "bool") -> "void": r""" Set whether points and axes should be interpreted in absolute or relative frame. Won't take effect until setBasePositions is called. :type absoluteRef: boolean :param absoluteRef: true for absolute frame, false for relative frame. """ return _sicpyjoints.NewtonEulerJointR_setAbsolute(self, absoluteRef)
[docs] def absolute(self) -> "bool": r""" Get whether points and axes are interpreted in absolute or relative frame. :rtype: boolean :return: True for absolute frame, false for relative frame. """ return _sicpyjoints.NewtonEulerJointR_absolute(self)
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.NewtonEulerJointR_setBasePositions(self, *args)
[docs] def computehDoF(self, time: "double", q0: "BlockVector", y: "SiconosVector", axis: "unsigned int"=0) -> "void": r""" Compute the vector of linear and angular positions of the free axes""" return _sicpyjoints.NewtonEulerJointR_computehDoF(self, time, q0, y, axis)
[docs] def computeJachqDoF(self, time: "double", inter: "Interaction", q0: "SP::BlockVector", jachq: "SimpleMatrix", axis: "unsigned int"=0) -> "void": r""" Compute the jacobian of linear and angular DoF with respect to some q""" return _sicpyjoints.NewtonEulerJointR_computeJachqDoF(self, time, inter, q0, jachq, axis)
def projectVectorDoF(self, *args) -> "SP::SiconosVector": return _sicpyjoints.NewtonEulerJointR_projectVectorDoF(self, *args) def normalDoF(self, *args) -> "SP::SiconosVector": return _sicpyjoints.NewtonEulerJointR_normalDoF(self, *args)
[docs] def allowSelfCollide(self) -> "bool": r""" Return the value of the _allowSelfCollide flag.""" return _sicpyjoints.NewtonEulerJointR_allowSelfCollide(self)
[docs] def setAllowSelfCollide(self, x: "bool") -> "void": r""" Set the value of the _allowSelfCollide flag.""" return _sicpyjoints.NewtonEulerJointR_setAllowSelfCollide(self, x)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.NewtonEulerJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Return the number of degrees of freedom of this joint. :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.NewtonEulerJointR_numberOfDoF(self)
DOF_TYPE_INVALID = _sicpyjoints.NewtonEulerJointR_DOF_TYPE_INVALID DOF_TYPE_LINEAR = _sicpyjoints.NewtonEulerJointR_DOF_TYPE_LINEAR DOF_TYPE_ANGULAR = _sicpyjoints.NewtonEulerJointR_DOF_TYPE_ANGULAR
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.NewtonEulerJointR_typeOfDoF(self, axis)
__swig_destroy__ = _sicpyjoints.delete_NewtonEulerJointR def __disown__(self): self.this.disown() _sicpyjoints.disown_NewtonEulerJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.NewtonEulerJointR__zeroPlugin(self)
# Register NewtonEulerJointR in _sicpyjoints: _sicpyjoints.NewtonEulerJointR_swigregister(NewtonEulerJointR)
[docs] class KneeJointR(NewtonEulerJointR): r""" This class implements a knee joint between one or two Newton/Euler Dynamical system""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _P0 = property(_sicpyjoints.KneeJointR__P0_get, _sicpyjoints.KneeJointR__P0_set, doc=r""" Coordinate of the knee point in the body frame of the first dynamical system _d1""") _G1P0x = property(_sicpyjoints.KneeJointR__G1P0x_get, _sicpyjoints.KneeJointR__G1P0x_set, doc=r""" Absolute coodinates of the vector G1P0 when d1 is located in q=(0,0,0,1,0,0,0) i.e. P0 in the body frame of d1. These values are computed when the constructor is called. """) _G1P0y = property(_sicpyjoints.KneeJointR__G1P0y_get, _sicpyjoints.KneeJointR__G1P0y_set) _G1P0z = property(_sicpyjoints.KneeJointR__G1P0z_get, _sicpyjoints.KneeJointR__G1P0z_set) _G2P0x = property(_sicpyjoints.KneeJointR__G2P0x_get, _sicpyjoints.KneeJointR__G2P0x_set, doc=r""" Absolute coodinates of the vector G2P0 when d2 is located in q=(0,0,0,1,0,0,0) i.e. P0 in the body frame of d2. These values are computed when the constructor is called. """) _G2P0y = property(_sicpyjoints.KneeJointR__G2P0y_get, _sicpyjoints.KneeJointR__G2P0y_set) _G2P0z = property(_sicpyjoints.KneeJointR__G2P0z_get, _sicpyjoints.KneeJointR__G2P0z_set) def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setPoint, setAbsolute, and setBasePositions. | *Overload 2:* Constructor based on one or two dynamical systems and a point. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :type d2: :py:class:`NewtonEulerDS`, optional :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type absoluteRef: boolean :param absoluteRef: if true, P is in the absolute frame, otherwise P is in d1 frame. | *Overload 3:* Constructor based on one or two dynamical systems and a point. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type absoluteRef: boolean :param absoluteRef: if true, P is in the absolute frame, otherwise P is in d1 frame. | *Overload 4:* Constructor based on one or two dynamical systems and a point. :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type absoluteRef: boolean :param absoluteRef: if true, P is in the absolute frame, otherwise P is in d1 frame. """ if self.__class__ == KneeJointR: _self = None else: _self = self _sicpyjoints.KneeJointR_swiginit(self, _sicpyjoints.new_KneeJointR(_self, *args)) __swig_destroy__ = _sicpyjoints.delete_KneeJointR
[docs] def initialize(self, inter: "Interaction") -> "void": return _sicpyjoints.KneeJointR_initialize(self, inter)
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.KneeJointR_setBasePositions(self, *args)
[docs] def checkInitPos(self, q1: "SP::SiconosVector", q2: "SP::SiconosVector") -> "void": r""" Perform some checks on the initial conditions.""" return _sicpyjoints.KneeJointR_checkInitPos(self, q1, q2)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.KneeJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Get the number of degrees of freedom defined in the joint :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.KneeJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.KneeJointR_typeOfDoF(self, axis)
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.KneeJointR_computeJachq(self, time, inter, q0)
[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 _sicpyjoints.KneeJointR_computeh(self, time, q0, y)
def computeDotJachq(self, *args) -> "void": return _sicpyjoints.KneeJointR_computeDotJachq(self, *args) def P(self) -> "SP::SiconosVector": return _sicpyjoints.KneeJointR_P(self) def Jd1d2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "void": return _sicpyjoints.KneeJointR_Jd1d2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double") -> "void": return _sicpyjoints.KneeJointR_Jd1(self, X1, Y1, Z1, q10, q11, q12, q13) def DotJd1d2(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double", Xdot2: "double", Ydot2: "double", Zdot2: "double", qdot20: "double", qdot21: "double", qdot22: "double", qdot23: "double") -> "void": return _sicpyjoints.KneeJointR_DotJd1d2(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13, Xdot2, Ydot2, Zdot2, qdot20, qdot21, qdot22, qdot23) def DotJd1(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double") -> "void": return _sicpyjoints.KneeJointR_DotJd1(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13) def Hx(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.KneeJointR_Hx(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Hy(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.KneeJointR_Hy(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Hz(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.KneeJointR_Hz(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def __disown__(self): self.this.disown() _sicpyjoints.disown_KneeJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.KneeJointR__zeroPlugin(self) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Private version of normalDoF for subclasses to override.""" return _sicpyjoints.KneeJointR__normalDoF(self, ans, q0, axis, absoluteRef)
# Register KneeJointR in _sicpyjoints: _sicpyjoints.KneeJointR_swigregister(KneeJointR)
[docs] class PivotJointR(KneeJointR): r""" This class implements a pivots joint between one or two Newton/Euler Dynamical system. - Inherits from KneeJointR""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _A = property(_sicpyjoints.PivotJointR__A_get, _sicpyjoints.PivotJointR__A_set) _A1x = property(_sicpyjoints.PivotJointR__A1x_get, _sicpyjoints.PivotJointR__A1x_set) _A1y = property(_sicpyjoints.PivotJointR__A1y_get, _sicpyjoints.PivotJointR__A1y_set) _A1z = property(_sicpyjoints.PivotJointR__A1z_get, _sicpyjoints.PivotJointR__A1z_set) _A2x = property(_sicpyjoints.PivotJointR__A2x_get, _sicpyjoints.PivotJointR__A2x_set) _A2y = property(_sicpyjoints.PivotJointR__A2y_get, _sicpyjoints.PivotJointR__A2y_set) _A2z = property(_sicpyjoints.PivotJointR__A2z_get, _sicpyjoints.PivotJointR__A2z_set) _cq2q101 = property(_sicpyjoints.PivotJointR__cq2q101_get, _sicpyjoints.PivotJointR__cq2q101_set) _cq2q102 = property(_sicpyjoints.PivotJointR__cq2q102_get, _sicpyjoints.PivotJointR__cq2q102_set) _cq2q103 = property(_sicpyjoints.PivotJointR__cq2q103_get, _sicpyjoints.PivotJointR__cq2q103_set) _cq2q104 = property(_sicpyjoints.PivotJointR__cq2q104_get, _sicpyjoints.PivotJointR__cq2q104_set) _initial_AscalA = property(_sicpyjoints.PivotJointR__initial_AscalA_get, _sicpyjoints.PivotJointR__initial_AscalA_set) _initial_AscalA1 = property(_sicpyjoints.PivotJointR__initial_AscalA1_get, _sicpyjoints.PivotJointR__initial_AscalA1_set) _initial_AscalA2 = property(_sicpyjoints.PivotJointR__initial_AscalA2_get, _sicpyjoints.PivotJointR__initial_AscalA2_set) _twistCount = property(_sicpyjoints.PivotJointR__twistCount_get, _sicpyjoints.PivotJointR__twistCount_set, doc=r""" Cumulative number of twists around the joint relative to initial angular difference. """) _previousAngle = property(_sicpyjoints.PivotJointR__previousAngle_get, _sicpyjoints.PivotJointR__previousAngle_set) def buildA1A2(self) -> "void": return _sicpyjoints.PivotJointR_buildA1A2(self) def Jd1d2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "void": return _sicpyjoints.PivotJointR_Jd1d2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double") -> "void": return _sicpyjoints.PivotJointR_Jd1(self, X1, Y1, Z1, q10, q11, q12, q13) def rot2to1(self, q10: "double", q11: "double", q12: "double", q13: "double", q20: "double", q21: "double", q22: "double", q23: "double", q2to1w: "double *", q2to1x: "double *", q2to1y: "double *", q2to1z: "double *") -> "void": return _sicpyjoints.PivotJointR_rot2to1(self, q10, q11, q12, q13, q20, q21, q22, q23, q2to1w, q2to1x, q2to1y, q2to1z) def AscalA1(self, q2to1x: "double", q2to1y: "double", q2to1z: "double") -> "double": return _sicpyjoints.PivotJointR_AscalA1(self, q2to1x, q2to1y, q2to1z) def AscalA2(self, q2to1x: "double", q2to1y: "double", q2to1z: "double") -> "double": return _sicpyjoints.PivotJointR_AscalA2(self, q2to1x, q2to1y, q2to1z) def AscalA(self, q2to1x: "double", q2to1y: "double", q2to1z: "double") -> "double": return _sicpyjoints.PivotJointR_AscalA(self, q2to1x, q2to1y, q2to1z) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Return the normal of the angular DoF axis of rotation. :type axis: int :param axis: must be 0 """ return _sicpyjoints.PivotJointR__normalDoF(self, ans, q0, axis, absoluteRef) def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setPoint, setAxis, setAbsolute, and setBasePositions. | *Overload 2:* Constructor based on one or two dynamical systems, a point and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :type d2: :py:class:`NewtonEulerDS`, optional :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. | *Overload 3:* Constructor based on one or two dynamical systems, a point and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. | *Overload 4:* Constructor based on one or two dynamical systems, a point and an axis. :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. """ if self.__class__ == PivotJointR: _self = None else: _self = self _sicpyjoints.PivotJointR_swiginit(self, _sicpyjoints.new_PivotJointR(_self, *args))
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.PivotJointR_setBasePositions(self, *args)
__swig_destroy__ = _sicpyjoints.delete_PivotJointR def A(self) -> "SP::SiconosVector": return _sicpyjoints.PivotJointR_A(self)
[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 _sicpyjoints.PivotJointR_computeh(self, time, q0, y)
[docs] def computehDoF(self, time: "double", q0: "BlockVector", y: "SiconosVector", axis: "unsigned int") -> "void": r""" Compute the vector of linear and angular positions of the free axes""" return _sicpyjoints.PivotJointR_computehDoF(self, time, q0, y, axis)
[docs] def computeJachqDoF(self, time: "double", inter: "Interaction", q0: "SP::BlockVector", jachq: "SimpleMatrix", axis: "unsigned int") -> "void": r""" Compute the jacobian of linear and angular DoF with respect to some q""" return _sicpyjoints.PivotJointR_computeJachqDoF(self, time, inter, q0, jachq, axis)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.PivotJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Return the number of degrees of freedom of this joint. :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.PivotJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.PivotJointR_typeOfDoF(self, axis)
def __disown__(self): self.this.disown() _sicpyjoints.disown_PivotJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.PivotJointR__zeroPlugin(self) def DotJd1d2(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double", Xdot2: "double", Ydot2: "double", Zdot2: "double", qdot20: "double", qdot21: "double", qdot22: "double", qdot23: "double") -> "void": return _sicpyjoints.PivotJointR_DotJd1d2(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13, Xdot2, Ydot2, Zdot2, qdot20, qdot21, qdot22, qdot23) def DotJd1(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double") -> "void": return _sicpyjoints.PivotJointR_DotJd1(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13)
# Register PivotJointR in _sicpyjoints: _sicpyjoints.PivotJointR_swigregister(PivotJointR)
[docs] class PrismaticJointR(NewtonEulerJointR): r""" This class implements a prismatic joint between one or two Newton/Euler Dynamical system From a given axis, we construct two unit othorgonal vectors to the axis V1 and V2 such that (axis,V1,V2) is an orthogonal frame """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _axis0 = property(_sicpyjoints.PrismaticJointR__axis0_get, _sicpyjoints.PrismaticJointR__axis0_set, doc=r""" Axis of the prismatic point in the q1 frame of reference""") _V1 = property(_sicpyjoints.PrismaticJointR__V1_get, _sicpyjoints.PrismaticJointR__V1_set, doc=r""" _V1 is an unit vector that is orthogonal to the prismatic axis _axis0. It forms with _V2 and _axis0 a base such that (_axis0,_V1,_v2) is an orthogonal frame """) _V2 = property(_sicpyjoints.PrismaticJointR__V2_get, _sicpyjoints.PrismaticJointR__V2_set, doc=r""" _V2 is an unit vector that is orthogonal to the prismatic axis _axis0. It forms with _V2 and _axis0 a base such that (_axis0,_V1,_v2) is an orthogonal frame """) _V1x = property(_sicpyjoints.PrismaticJointR__V1x_get, _sicpyjoints.PrismaticJointR__V1x_set, doc=r""" Convenient storage of the components of _V1 and _V2""") _V1y = property(_sicpyjoints.PrismaticJointR__V1y_get, _sicpyjoints.PrismaticJointR__V1y_set) _V1z = property(_sicpyjoints.PrismaticJointR__V1z_get, _sicpyjoints.PrismaticJointR__V1z_set) _V2x = property(_sicpyjoints.PrismaticJointR__V2x_get, _sicpyjoints.PrismaticJointR__V2x_set) _V2y = property(_sicpyjoints.PrismaticJointR__V2y_get, _sicpyjoints.PrismaticJointR__V2y_set) _V2z = property(_sicpyjoints.PrismaticJointR__V2z_get, _sicpyjoints.PrismaticJointR__V2z_set) _G10G20d1x = property(_sicpyjoints.PrismaticJointR__G10G20d1x_get, _sicpyjoints.PrismaticJointR__G10G20d1x_set) _G10G20d1y = property(_sicpyjoints.PrismaticJointR__G10G20d1y_get, _sicpyjoints.PrismaticJointR__G10G20d1y_set) _G10G20d1z = property(_sicpyjoints.PrismaticJointR__G10G20d1z_get, _sicpyjoints.PrismaticJointR__G10G20d1z_set) _cq2q101 = property(_sicpyjoints.PrismaticJointR__cq2q101_get, _sicpyjoints.PrismaticJointR__cq2q101_set) _cq2q102 = property(_sicpyjoints.PrismaticJointR__cq2q102_get, _sicpyjoints.PrismaticJointR__cq2q102_set) _cq2q103 = property(_sicpyjoints.PrismaticJointR__cq2q103_get, _sicpyjoints.PrismaticJointR__cq2q103_set) _cq2q104 = property(_sicpyjoints.PrismaticJointR__cq2q104_get, _sicpyjoints.PrismaticJointR__cq2q104_set) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Return the normal of the linear DoF axis. :type ans: :py:class:`SiconosVector` :param ans: :type q0: :py:class:`BlockVector` :param q0: :type axis: int :param axis: must be 0 :type absoluteRef: boolean, optional :param absoluteRef: """ return _sicpyjoints.PrismaticJointR__normalDoF(self, ans, q0, axis, absoluteRef) def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setPoint, setAbsolute, and setBasePositions. | *Overload 2:* Constructor based on one or two dynamical systems and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :type d2: :py:class:`NewtonEulerDS`, optional :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type axis: :py:class:`SiconosVector` :param axis: SiconosVector of size 3 that defines the prismatic axis. :type absoluteRef: boolean :param absoluteRef: if true, A is in the absolute frame, otherwise A is in d1 frame. | *Overload 3:* Constructor based on one or two dynamical systems and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type axis: :py:class:`SiconosVector` :param axis: SiconosVector of size 3 that defines the prismatic axis. :type absoluteRef: boolean :param absoluteRef: if true, A is in the absolute frame, otherwise A is in d1 frame. | *Overload 4:* Constructor based on one or two dynamical systems and an axis. :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type axis: :py:class:`SiconosVector` :param axis: SiconosVector of size 3 that defines the prismatic axis. :type absoluteRef: boolean :param absoluteRef: if true, A is in the absolute frame, otherwise A is in d1 frame. """ if self.__class__ == PrismaticJointR: _self = None else: _self = self _sicpyjoints.PrismaticJointR_swiginit(self, _sicpyjoints.new_PrismaticJointR(_self, *args))
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.PrismaticJointR_setBasePositions(self, *args)
def displayInitialPosition(self) -> "void": return _sicpyjoints.PrismaticJointR_displayInitialPosition(self) def computeV1V2FromAxis(self) -> "void": return _sicpyjoints.PrismaticJointR_computeV1V2FromAxis(self)
[docs] def computehDoF(self, time: "double", q0: "BlockVector", y: "SiconosVector", axis: "unsigned int") -> "void": r""" Compute the vector of linear and angular positions of the free axes""" return _sicpyjoints.PrismaticJointR_computehDoF(self, time, q0, y, axis)
[docs] def computeJachqDoF(self, time: "double", inter: "Interaction", q0: "SP::BlockVector", jachq: "SimpleMatrix", axis: "unsigned int") -> "void": r""" Compute the jacobian of linear and angular DoF with respect to some q""" return _sicpyjoints.PrismaticJointR_computeJachqDoF(self, time, inter, q0, jachq, axis)
__swig_destroy__ = _sicpyjoints.delete_PrismaticJointR
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.PrismaticJointR_computeJachq(self, time, inter, q0)
[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 _sicpyjoints.PrismaticJointR_computeh(self, time, q0, y)
def computeDotJachq(self, time: "double", workQ: "BlockVector", workZ: "BlockVector", workQdot: "BlockVector") -> "void": return _sicpyjoints.PrismaticJointR_computeDotJachq(self, time, workQ, workZ, workQdot) def H1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.PrismaticJointR_H1(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def H2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.PrismaticJointR_H2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def H3(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.PrismaticJointR_H3(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def H5(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.PrismaticJointR_H5(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def H4(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "double": return _sicpyjoints.PrismaticJointR_H4(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1d2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "void": return _sicpyjoints.PrismaticJointR_Jd1d2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double") -> "void": return _sicpyjoints.PrismaticJointR_Jd1(self, X1, Y1, Z1, q10, q11, q12, q13) def DotJd1d2(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double", Xdot2: "double", Ydot2: "double", Zdot2: "double", qdot20: "double", qdot21: "double", qdot22: "double", qdot23: "double") -> "void": return _sicpyjoints.PrismaticJointR_DotJd1d2(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13, Xdot2, Ydot2, Zdot2, qdot20, qdot21, qdot22, qdot23) def DotJd2(self, Xdot1: "double", Ydot1: "double", Zdot1: "double", qdot10: "double", qdot11: "double", qdot12: "double", qdot13: "double", X2: "double", Y2: "double", Z2: "double", qdot20: "double", qdot21: "double", qdot22: "double", qdot23: "double") -> "void": return _sicpyjoints.PrismaticJointR_DotJd2(self, Xdot1, Ydot1, Zdot1, qdot10, qdot11, qdot12, qdot13, X2, Y2, Z2, qdot20, qdot21, qdot22, qdot23)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.PrismaticJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Return the number of degrees of freedom of this joint. :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.PrismaticJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.PrismaticJointR_typeOfDoF(self, axis)
def __disown__(self): self.this.disown() _sicpyjoints.disown_PrismaticJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.PrismaticJointR__zeroPlugin(self)
# Register PrismaticJointR in _sicpyjoints: _sicpyjoints.PrismaticJointR_swigregister(PrismaticJointR)
[docs] class FixedJointR(NewtonEulerJointR): r""" This class implements a fixed joint between one or two Newton/Euler Dynamical system""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _G10G20d1x = property(_sicpyjoints.FixedJointR__G10G20d1x_get, _sicpyjoints.FixedJointR__G10G20d1x_set) _G10G20d1y = property(_sicpyjoints.FixedJointR__G10G20d1y_get, _sicpyjoints.FixedJointR__G10G20d1y_set) _G10G20d1z = property(_sicpyjoints.FixedJointR__G10G20d1z_get, _sicpyjoints.FixedJointR__G10G20d1z_set) _cq2q101 = property(_sicpyjoints.FixedJointR__cq2q101_get, _sicpyjoints.FixedJointR__cq2q101_set) _cq2q102 = property(_sicpyjoints.FixedJointR__cq2q102_get, _sicpyjoints.FixedJointR__cq2q102_set) _cq2q103 = property(_sicpyjoints.FixedJointR__cq2q103_get, _sicpyjoints.FixedJointR__cq2q103_set) _cq2q104 = property(_sicpyjoints.FixedJointR__cq2q104_get, _sicpyjoints.FixedJointR__cq2q104_set) def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setBasePositions. | *Overload 2:* constructor, :param a: SP::NewtonEulerDS d1, a dynamical system containing the initial position :param a: SP::NewtonEulerDS d2, a dynamical system containing the initial position | *Overload 3:* constructor, :param a: SP::NewtonEulerDS d1, a dynamical system containing the initial position :param a: SP::NewtonEulerDS d2, a dynamical system containing the initial position """ if self.__class__ == FixedJointR: _self = None else: _self = self _sicpyjoints.FixedJointR_swiginit(self, _sicpyjoints.new_FixedJointR(_self, *args)) __swig_destroy__ = _sicpyjoints.delete_FixedJointR
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.FixedJointR_setBasePositions(self, *args)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.FixedJointR_numberOfConstraints(self)
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.FixedJointR_computeJachq(self, time, inter, q0)
[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 _sicpyjoints.FixedJointR_computeh(self, time, q0, y)
[docs] def numberOfDoF(self) -> "unsigned int": return _sicpyjoints.FixedJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": return _sicpyjoints.FixedJointR_typeOfDoF(self, axis)
def Jd1d2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "void": return _sicpyjoints.FixedJointR_Jd1d2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double") -> "void": return _sicpyjoints.FixedJointR_Jd1(self, X1, Y1, Z1, q10, q11, q12, q13) def __disown__(self): self.this.disown() _sicpyjoints.disown_FixedJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.FixedJointR__zeroPlugin(self) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Private version of normalDoF for subclasses to override.""" return _sicpyjoints.FixedJointR__normalDoF(self, ans, q0, axis, absoluteRef)
# Register FixedJointR in _sicpyjoints: _sicpyjoints.FixedJointR_swigregister(FixedJointR)
[docs] class CylindricalJointR(NewtonEulerJointR): r""" This class implements a cylindrical joint between one or two Newton/Euler Dynamical system. It is similar to a PrismaticJointR but allows for rotation around the axis. From a given axis, we construct two unit othorgonal vectors to the axis V1 and V2 such that (axis,V1,V2) is an orthogonal frame """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _axis0 = property(_sicpyjoints.CylindricalJointR__axis0_get, _sicpyjoints.CylindricalJointR__axis0_set, doc=r""" Axis of the cylindrical point in the q1 frame of reference""") _V1 = property(_sicpyjoints.CylindricalJointR__V1_get, _sicpyjoints.CylindricalJointR__V1_set, doc=r""" _V1 is an unit vector that is orthogonal to the cylindrical axis _axis0. It forms with _V2 and _axis0 a base such that (_axis0,_V1,_v2) is an orthogonal frame """) _V2 = property(_sicpyjoints.CylindricalJointR__V2_get, _sicpyjoints.CylindricalJointR__V2_set, doc=r""" _V2 is an unit vector that is orthogonal to the cylindrical axis _axis0. It forms with _V2 and _axis0 a base such that (_axis0,_V1,_v2) is an orthogonal frame """) _cq2q101 = property(_sicpyjoints.CylindricalJointR__cq2q101_get, _sicpyjoints.CylindricalJointR__cq2q101_set) _cq2q102 = property(_sicpyjoints.CylindricalJointR__cq2q102_get, _sicpyjoints.CylindricalJointR__cq2q102_set) _cq2q103 = property(_sicpyjoints.CylindricalJointR__cq2q103_get, _sicpyjoints.CylindricalJointR__cq2q103_set) _cq2q104 = property(_sicpyjoints.CylindricalJointR__cq2q104_get, _sicpyjoints.CylindricalJointR__cq2q104_set) _G1P0 = property(_sicpyjoints.CylindricalJointR__G1P0_get, _sicpyjoints.CylindricalJointR__G1P0_set, doc=r""" P is the point defining the location of the line created by _axis0. It is stored in the q1 frame, i.e. the vector from initial G1 to P, called _G1P0. """) _G2P0 = property(_sicpyjoints.CylindricalJointR__G2P0_get, _sicpyjoints.CylindricalJointR__G2P0_set, doc=r""" _G2P0 is the vector from initial G1 to P""") _twistCount = property(_sicpyjoints.CylindricalJointR__twistCount_get, _sicpyjoints.CylindricalJointR__twistCount_set, doc=r""" Cumulative number of twists around the joint relative to initial angular difference. """) _previousAngle = property(_sicpyjoints.CylindricalJointR__previousAngle_get, _sicpyjoints.CylindricalJointR__previousAngle_set) _initialAngle = property(_sicpyjoints.CylindricalJointR__initialAngle_get, _sicpyjoints.CylindricalJointR__initialAngle_set) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Return the normal of the angular DoF axis of rotation. :type axis: int :param axis: must be 0 """ return _sicpyjoints.CylindricalJointR__normalDoF(self, ans, q0, axis, absoluteRef) def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setPoint, setAbsolute, and setBasePositions. | *Overload 2:* Constructor based on one or two dynamical systems, a point and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :type d2: :py:class:`NewtonEulerDS`, optional :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. | *Overload 3:* Constructor based on one or two dynamical systems, a point and an axis. :type d1: :py:class:`NewtonEulerDS`, optional :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. | *Overload 4:* Constructor based on one or two dynamical systems, a point and an axis. :param d1: first DynamicalSystem linked by the joint. :param d2: second DynamicalSystem linked by the joint, or NULL for absolute frame. :type P: :py:class:`SiconosVector` :param P: SiconosVector of size 3 that defines the point around which rotation is allowed. :type A: :py:class:`SiconosVector` :param A: SiconosVector of size 3 that defines the cylindrical axis. :type absoluteRef: boolean :param absoluteRef: if true, P and A are in the absolute frame, otherwise P and A are in d1 frame. """ if self.__class__ == CylindricalJointR: _self = None else: _self = self _sicpyjoints.CylindricalJointR_swiginit(self, _sicpyjoints.new_CylindricalJointR(_self, *args))
[docs] def setBasePositions(self, *args) -> "void": r""" Initialize the joint constants based on the provided base positions. :type q1: :py:class:`SiconosVector` :param q1: A SiconosVector of size 7 indicating translation and orientation in inertial coordinates. :type q2: :py:class:`SiconosVector`, optional :param q2: An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base. """ return _sicpyjoints.CylindricalJointR_setBasePositions(self, *args)
def computeV1V2FromAxis(self) -> "void": return _sicpyjoints.CylindricalJointR_computeV1V2FromAxis(self) def twistCount(self) -> "int": return _sicpyjoints.CylindricalJointR_twistCount(self) __swig_destroy__ = _sicpyjoints.delete_CylindricalJointR
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.CylindricalJointR_computeJachq(self, time, inter, q0)
[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 _sicpyjoints.CylindricalJointR_computeh(self, time, q0, y)
[docs] def computehDoF(self, time: "double", q0: "BlockVector", y: "SiconosVector", axis: "unsigned int") -> "void": r""" Compute the vector of linear and angular positions of the free axes""" return _sicpyjoints.CylindricalJointR_computehDoF(self, time, q0, y, axis)
[docs] def computeJachqDoF(self, time: "double", inter: "Interaction", q0: "SP::BlockVector", jachq: "SimpleMatrix", axis: "unsigned int") -> "void": r""" Compute the jacobian of linear and angular DoF with respect to some q""" return _sicpyjoints.CylindricalJointR_computeJachqDoF(self, time, inter, q0, jachq, axis)
def Jd1d2(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double", X2: "double", Y2: "double", Z2: "double", q20: "double", q21: "double", q22: "double", q23: "double") -> "void": return _sicpyjoints.CylindricalJointR_Jd1d2(self, X1, Y1, Z1, q10, q11, q12, q13, X2, Y2, Z2, q20, q21, q22, q23) def Jd1(self, X1: "double", Y1: "double", Z1: "double", q10: "double", q11: "double", q12: "double", q13: "double") -> "void": return _sicpyjoints.CylindricalJointR_Jd1(self, X1, Y1, Z1, q10, q11, q12, q13)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.CylindricalJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Return the number of degrees of freedom of this joint. :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.CylindricalJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.CylindricalJointR_typeOfDoF(self, axis)
def __disown__(self): self.this.disown() _sicpyjoints.disown_CylindricalJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.CylindricalJointR__zeroPlugin(self)
# Register CylindricalJointR in _sicpyjoints: _sicpyjoints.CylindricalJointR_swigregister(CylindricalJointR)
[docs] class CouplerJointR(NewtonEulerJointR): r""" This class implements a coupling (equality) between two DoFs of any NewtonEulerJointR. Can be used e.g. to implement a screw relation (coupled rotation and translation) based on CylindricalJointR. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _joint1 = property(_sicpyjoints.CouplerJointR__joint1_get, _sicpyjoints.CouplerJointR__joint1_set) _joint2 = property(_sicpyjoints.CouplerJointR__joint2_get, _sicpyjoints.CouplerJointR__joint2_set) _ref1 = property(_sicpyjoints.CouplerJointR__ref1_get, _sicpyjoints.CouplerJointR__ref1_set) _ref2 = property(_sicpyjoints.CouplerJointR__ref2_get, _sicpyjoints.CouplerJointR__ref2_set) _dof1 = property(_sicpyjoints.CouplerJointR__dof1_get, _sicpyjoints.CouplerJointR__dof1_set) _dof2 = property(_sicpyjoints.CouplerJointR__dof2_get, _sicpyjoints.CouplerJointR__dof2_set) _ref1_index = property(_sicpyjoints.CouplerJointR__ref1_index_get, _sicpyjoints.CouplerJointR__ref1_index_set) _ref2_index = property(_sicpyjoints.CouplerJointR__ref2_index_get, _sicpyjoints.CouplerJointR__ref2_index_set) _ratio = property(_sicpyjoints.CouplerJointR__ratio_get, _sicpyjoints.CouplerJointR__ratio_set) _offset = property(_sicpyjoints.CouplerJointR__offset_get, _sicpyjoints.CouplerJointR__offset_set) def _normalDoF(self, ans: "SiconosVector", q0: "BlockVector", axis: "int", absoluteRef: "bool"=True) -> "void": r""" Return the normal of the linear DoF axis. :type axis: int :param axis: must be 0 """ return _sicpyjoints.CouplerJointR__normalDoF(self, ans, q0, axis, absoluteRef)
[docs] def makeBlockVectors(self, q1: "SP::SiconosVector", q2: "SP::SiconosVector", q01: "BlockVector", q02: "BlockVector") -> "void": r""" An internal helper function to assign reference vectors during computeh and computeJachq. """ return _sicpyjoints.CouplerJointR_makeBlockVectors(self, q1, q2, q01, q02)
def __init__(self, *args): r""" *Overload 1:* Empty constructor. The relation may be initialized later by setPoint, setAbsolute, and setBasePositions. | *Overload 2:* Initialize a coupler. See setReferences() for an explanation of the parameters. | *Overload 3:* Initialize a coupler. See setReferences() for an explanation of the parameters. | *Overload 4:* Initialize a coupler. See setReferences() for an explanation of the parameters. | *Overload 5:* Initialize a coupler. See setReferences() for an explanation of the parameters. | *Overload 6:* Initialize a coupler. See setReferences() for an explanation of the parameters. | *Overload 7:* Initialize a coupler. See setReferences() for an explanation of the parameters. """ if self.__class__ == CouplerJointR: _self = None else: _self = self _sicpyjoints.CouplerJointR_swiginit(self, _sicpyjoints.new_CouplerJointR(_self, *args))
[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 _sicpyjoints.CouplerJointR_computeh(self, time, q0, y)
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.CouplerJointR_computeJachq(self, time, inter, q0)
def dof1(self) -> "unsigned int": return _sicpyjoints.CouplerJointR_dof1(self) def dof2(self) -> "unsigned int": return _sicpyjoints.CouplerJointR_dof2(self) def joint1(self) -> "SP::NewtonEulerJointR": return _sicpyjoints.CouplerJointR_joint1(self) def joint2(self) -> "SP::NewtonEulerJointR": return _sicpyjoints.CouplerJointR_joint2(self)
[docs] def setReferences(self, *args) -> "void": r""" *Overload 1:* Set reference joints and vectors. This constraint maintains the equality theta2=theta1*ratio; theta1 is measured by joint1 with reference to some vector ref1 which must replace either the first or second DS of the current relation being defined. If ref1 and ref2 are null, then no reference is used. Typically ref1 and ref2 will be equal in order to implement gear ratios for example. joint1 must be between ref1 and ds1 specified in setBasePositions(), while joint2 must be between ref2 and ds2. :type joint1: :py:class:`NewtonEulerJointR` :param joint1: The joint for the first reference measurement theta1. :type dof1: int :param dof1: The degree of freedom index of joint1 to use for the first reference measurement theta1. :type ref1: :py:class:`SiconosVector` :param ref1: The optional reference position for the first reference measurement theta1. :type ref1_index: int :param ref1_index: Must be 0 or 1, depending on where ref1 appears in joint1. :type joint2: :py:class:`NewtonEulerJointR` :param joint2: The joint for the second reference measurement theta2. :type dof2: int :param dof2: The degree of freedom index of joint2 to use for the second reference measurement theta2. :type ref2: :py:class:`SiconosVector` :param ref2: The optional reference position for the second reference measurement theta2. :type ref2_index: int :param ref2_index: Must be 0 or 1, depending on where ref2 appears in joint2. | *Overload 2:* Set reference joints and vectors. This constraint maintains the equality theta2=theta1*ratio; theta1 is measured by joint1 with reference to some vector ref1 which must replace either the first or second DS of the current relation being defined. If ref1 and ref2 are null, then no reference is used. Typically ref1 and ref2 will be equal in order to implement gear ratios for example. joint1 must be between ref1 and ds1 specified in setBasePositions(), while joint2 must be between ref2 and ds2. This alternative setReferences() takes NewtonEulerDS as parameters, but the reference vectors will be taken as refds1->q() and refds2->q() respectively. :type joint1: :py:class:`NewtonEulerJointR` :param joint1: The joint for the first reference measurement theta1. :type dof1: int :param dof1: The degree of freedom index of joint1 to use for the first reference measurement theta1. :type refds1: :py:class:`NewtonEulerDS` :param refds1: The optional reference vector for the first reference measurement theta1. :type ref1_index: int :param ref1_index: Must be 0 or 1, depending on where ref1 appears in joint1. :type joint2: :py:class:`NewtonEulerJointR` :param joint2: The joint for the second reference measurement theta2. :type dof2: int :param dof2: The degree of freedom index of joint2 to use for the second reference measurement theta2. :type refds2: :py:class:`NewtonEulerDS` :param refds2: The optional reference vector for the second reference measurement theta2. :type ref2_index: int :param ref2_index: Must be 0 or 1, depending on where ref2 appears in joint2. """ return _sicpyjoints.CouplerJointR_setReferences(self, *args)
def setRatio(self, ratio: "double") -> "void": return _sicpyjoints.CouplerJointR_setRatio(self, ratio)
[docs] def setBasePositions(self, *args) -> "void": return _sicpyjoints.CouplerJointR_setBasePositions(self, *args)
[docs] def numberOfConstraints(self) -> "unsigned int": r""" Get the number of constraints defined in the joint :rtype: int :return: the number of constraints """ return _sicpyjoints.CouplerJointR_numberOfConstraints(self)
[docs] def numberOfDoF(self) -> "unsigned int": r""" Get the number of degrees of freedom defined in the joint :rtype: int :return: the number of degrees of freedom (DoF) """ return _sicpyjoints.CouplerJointR_numberOfDoF(self)
[docs] def typeOfDoF(self, axis: "unsigned int") -> "NewtonEulerJointR::DoF_Type": r""" Return the type of a degree of freedom of this joint. :rtype: int :return: the type of the degree of freedom (DoF) """ return _sicpyjoints.CouplerJointR_typeOfDoF(self, axis)
[docs] def computehDoF(self, time: "double", q0: "BlockVector", y: "SiconosVector", axis: "unsigned int") -> "void": r""" Compute the vector of linear and angular positions of the free axes""" return _sicpyjoints.CouplerJointR_computehDoF(self, time, q0, y, axis)
[docs] def computeJachqDoF(self, time: "double", inter: "Interaction", q0: "SP::BlockVector", jachq: "SimpleMatrix", axis: "unsigned int") -> "void": r""" Compute the jacobian of linear and angular DoF with respect to some q""" return _sicpyjoints.CouplerJointR_computeJachqDoF(self, time, inter, q0, jachq, axis)
__swig_destroy__ = _sicpyjoints.delete_CouplerJointR def __disown__(self): self.this.disown() _sicpyjoints.disown_CouplerJointR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.CouplerJointR__zeroPlugin(self)
# Register CouplerJointR in _sicpyjoints: _sicpyjoints.CouplerJointR_swigregister(CouplerJointR)
[docs] class JointStopR(siconos.kernel.NewtonEulerR): r""" This class implements a stop on a DoF for any NewtonEulerJointR.""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _joint = property(_sicpyjoints.JointStopR__joint_get, _sicpyjoints.JointStopR__joint_set) _axis = property(_sicpyjoints.JointStopR__axis_get, _sicpyjoints.JointStopR__axis_set) _pos = property(_sicpyjoints.JointStopR__pos_get, _sicpyjoints.JointStopR__pos_set) _dir = property(_sicpyjoints.JointStopR__dir_get, _sicpyjoints.JointStopR__dir_set) _axisMin = property(_sicpyjoints.JointStopR__axisMin_get, _sicpyjoints.JointStopR__axisMin_set) _axisMax = property(_sicpyjoints.JointStopR__axisMax_get, _sicpyjoints.JointStopR__axisMax_set) _jachqTmp = property(_sicpyjoints.JointStopR__jachqTmp_get, _sicpyjoints.JointStopR__jachqTmp_set) def __init__(self, *args): r""" *Overload 1:* Initialize a joint stop for a common case: a single axis with a single stop, either positive or negative. For use with NewtonImpactNSL. | *Overload 2:* Initialize a joint stop for a common case: a single axis with a single stop, either positive or negative. For use with NewtonImpactNSL. | *Overload 3:* Initialize a multidimensional joint stop, e.g. the cone stop on a ball joint. For use with NewtonImpactFrictionNSL size 2 or 3. """ if self.__class__ == JointStopR: _self = None else: _self = self _sicpyjoints.JointStopR_swiginit(self, _sicpyjoints.new_JointStopR(_self, *args))
[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 _sicpyjoints.JointStopR_computeh(self, time, q0, y)
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.JointStopR_computeJachq(self, time, inter, q0)
def numberOfConstraints(self) -> "unsigned int": return _sicpyjoints.JointStopR_numberOfConstraints(self)
[docs] def axis(self, _index: "unsigned int") -> "unsigned int": r""" Return the joint axis number assigned to a stop index.""" return _sicpyjoints.JointStopR_axis(self, _index)
[docs] def position(self, _index: "unsigned int") -> "double": r""" Return the joint position assigned to a stop index.""" return _sicpyjoints.JointStopR_position(self, _index)
[docs] def direction(self, _index: "unsigned int") -> "double": r""" Return the direction (1 or -1) assigned to a stop index.""" return _sicpyjoints.JointStopR_direction(self, _index)
[docs] def joint(self) -> "SP::NewtonEulerJointR": r""" Return the joint assigned to this joint stop relation.""" return _sicpyjoints.JointStopR_joint(self)
[docs] def numberOfAxes(self) -> "unsigned int": r""" Return the number of joint axes indexed by this relation.""" return _sicpyjoints.JointStopR_numberOfAxes(self)
__swig_destroy__ = _sicpyjoints.delete_JointStopR def __disown__(self): self.this.disown() _sicpyjoints.disown_JointStopR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.JointStopR__zeroPlugin(self)
# Register JointStopR in _sicpyjoints: _sicpyjoints.JointStopR_swigregister(JointStopR)
[docs] class JointFrictionR(siconos.kernel.NewtonEulerR): r""" This class implements a friction on a DoF for any NewtonEulerJointR.""" thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") __repr__ = _swig_repr _joint = property(_sicpyjoints.JointFrictionR__joint_get, _sicpyjoints.JointFrictionR__joint_set) _axis = property(_sicpyjoints.JointFrictionR__axis_get, _sicpyjoints.JointFrictionR__axis_set) _axisMin = property(_sicpyjoints.JointFrictionR__axisMin_get, _sicpyjoints.JointFrictionR__axisMin_set) _axisMax = property(_sicpyjoints.JointFrictionR__axisMax_get, _sicpyjoints.JointFrictionR__axisMax_set) _jachqTmp = property(_sicpyjoints.JointFrictionR__jachqTmp_get, _sicpyjoints.JointFrictionR__jachqTmp_set) def __init__(self, *args): r""" *Overload 1:* Initialize a multidimensional joint friction, e.g. the cone friction on a ball joint. For use with NewtonImpactFrictionNSL size 2 or 3. | *Overload 2:* Initialize a multidimensional joint friction, e.g. the cone friction on a ball joint. For use with NewtonImpactFrictionNSL size 2 or 3. """ if self.__class__ == JointFrictionR: _self = None else: _self = self _sicpyjoints.JointFrictionR_swiginit(self, _sicpyjoints.new_JointFrictionR(_self, *args))
[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 _sicpyjoints.JointFrictionR_computeh(self, time, q0, y)
[docs] def computeJachq(self, time: "double", inter: "Interaction", q0: "SP::BlockVector") -> "void": return _sicpyjoints.JointFrictionR_computeJachq(self, time, inter, q0)
def numberOfConstraints(self) -> "unsigned int": return _sicpyjoints.JointFrictionR_numberOfConstraints(self)
[docs] def axis(self, _index: "unsigned int") -> "unsigned int": r""" Return the joint axis number assigned to a friction axis.""" return _sicpyjoints.JointFrictionR_axis(self, _index)
[docs] def joint(self) -> "SP::NewtonEulerJointR": r""" Return the joint assigned to this friction relation.""" return _sicpyjoints.JointFrictionR_joint(self)
[docs] def numberOfAxes(self) -> "unsigned int": r""" Return the number of joint axes indexed by this relation.""" return _sicpyjoints.JointFrictionR_numberOfAxes(self)
__swig_destroy__ = _sicpyjoints.delete_JointFrictionR def __disown__(self): self.this.disown() _sicpyjoints.disown_JointFrictionR(self) return weakref.proxy(self) def _zeroPlugin(self) -> "void": r""" To initialize all the plugin functions with nullptr.""" return _sicpyjoints.JointFrictionR__zeroPlugin(self)
# Register JointFrictionR in _sicpyjoints: _sicpyjoints.JointFrictionR_swigregister(JointFrictionR) def cast_NewtonEulerJointR(rel: "SP::Relation") -> "SP::NewtonEulerJointR": return _sicpyjoints.cast_NewtonEulerJointR(rel) def cast_KneeJointR(rel: "SP::Relation") -> "SP::KneeJointR": return _sicpyjoints.cast_KneeJointR(rel) def cast_PivotJointR(rel: "SP::Relation") -> "SP::PivotJointR": return _sicpyjoints.cast_PivotJointR(rel) def cast_PrismaticJointR(rel: "SP::Relation") -> "SP::PrismaticJointR": return _sicpyjoints.cast_PrismaticJointR(rel) def cast_FixedJointR(rel: "SP::Relation") -> "SP::FixedJointR": return _sicpyjoints.cast_FixedJointR(rel) def cast_CylindricalJointR(rel: "SP::Relation") -> "SP::CylindricalJointR": return _sicpyjoints.cast_CylindricalJointR(rel) def cast_CouplerJointR(rel: "SP::Relation") -> "SP::CouplerJointR": return _sicpyjoints.cast_CouplerJointR(rel) def cast_JointStopR(rel: "SP::Relation") -> "SP::JointStopR": return _sicpyjoints.cast_JointStopR(rel) def cast_JointFrictionR(rel: "SP::Relation") -> "SP::JointFrictionR": return _sicpyjoints.cast_JointFrictionR(rel)