#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Define the OpenSim Simulator API.

This is the main interface that communicates with the OpenSim simulator [1]. By defining this interface, it allows to
decouple the PyRoboLearn framework from the simulator. It also converts some data types to the ones required by
OpenSim.

Warnings: This simulator only works for musculoskeletal models.

Dependencies in PRL:
* `pyrobolearn.simulators.simulator.Simulator`

References:
    [1] OpenSim: https://opensim.stanford.edu/
    [2] OpenSim Core: https://github.com/opensim-org/opensim-core
    [3] OpenSim Reinforcement Learning: https://github.com/stanfordnmbl/osim-rl
"""

# TODO

from pyrobolearn.simulators.simulator import Simulator

__author__ = "<NAME>"
__copyright__ = "Copyright 2018, PyRoboLearn"
__credits__ = ["OpenSim (National Centers for Biomedical Computing at Stanford)", "<NAME>"]
__license__ = "GNU GPLv3"
__version__ = "1.0.0"
__maintainer__ = "<NAME>"
__email__ = "<EMAIL>"
__status__ = "Development"


class OpenSim(Simulator):
    r"""OpenSim simulator

    """

    def __init__(self):
        super(OpenSim, self).__init__()
        raise NotImplementedError

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Define the OpenSim Simulator API.

This is the main interface that communicates with the OpenSim simulator [1]. By defining this interface, it allows to
decouple the PyRoboLearn framework from the simulator. It also converts some data types to the ones required by
OpenSim.

Warnings: This simulator only works for musculoskeletal models.

Dependencies in PRL:
* `pyrobolearn.simulators.simulator.Simulator`

References:
    [1] OpenSim: https://opensim.stanford.edu/
    [2] OpenSim Core: https://github.com/opensim-org/opensim-core
    [3] OpenSim Reinforcement Learning: https://github.com/stanfordnmbl/osim-rl
"""

# TODO

from pyrobolearn.simulators.simulator import Simulator

__author__ = "<NAME>"
__copyright__ = "Copyright 2018, PyRoboLearn"
__credits__ = ["OpenSim (National Centers for Biomedical Computing at Stanford)", "<NAME>"]
__license__ = "GNU GPLv3"
__version__ = "1.0.0"
__maintainer__ = "<NAME>"
__email__ = "<EMAIL>"
__status__ = "Development"


class OpenSim(Simulator):
    r"""OpenSim simulator

    """

    def __init__(self):
        super(OpenSim, self).__init__()
        raise NotImplementedError

#!/usr/bin/env python # -*- coding: utf-8 -*- Define the OpenSim Simulator API.  This is the main interface that communicates with the OpenSim simulator [1]. By defining this interface, it allows to decouple the PyRoboLearn framework from the simulator. It also converts some data types to the ones required by OpenSim.  Warnings: This simulator only works for musculoskeletal models.  Dependencies in PRL: * `pyrobolearn.simulators.simulator.Simulator`  References:     [1] OpenSim: https://opensim.stanford.edu/     [2] OpenSim Core: https://github.com/opensim-org/opensim-core     [3] OpenSim Reinforcement Learning: https://github.com/stanfordnmbl/osim-rl # TODO OpenSim simulator