# Path: src/python/TOPPopenravepy.py
# class RAVEBindings(QuadraticConstraints):
#     """Wrapper around TOPPbindings for OpenRAVE robot models.
# 
#     robot -- OpenRAVE robot object
#     pbname -- string identifier of the underlying TOPPbindings problem
#     constring -- constraints string (problem - dependant)
#     trajstring -- trajectory string
# 
#     """
# 
#     def __init__(self, robot, pbname, constring, trajstring,
#                  discrtimestep=None, integrationtimestep=None):
#         if discrtimestep is None:
#             discrtimestep = 1e-2
#         if integrationtimestep is None:
#             integrationtimestep = 1e-3
#         self.discrtimestep = discrtimestep
#         self.integrationtimestep = integrationtimestep
#         self.solver = TOPPbindings.TOPPInstance(robot, pbname, constring,
#                                                 trajstring)
# 
# Path: src/python/Utilities.py
# def vect2str(v):
#     return " ".join(map(str, v))


from .TOPPopenravepy import RAVEBindings
from .Utilities import vect2str
# -*- coding: utf-8 -*-
# Copyright (C) 2013 Stéphane Caron <caron@ynl.t.u-tokyo.ac.jp>
#
# This file is part of the Time-Optimal Path Parameterization (TOPP) library.
# TOPP is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# at your option, any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.




class TorqueLimits(RAVEBindings):
    """Bindings for the 'TorqueLimitsRave' problem."""

    def __init__(self, robot, traj, taumin, taumax, vmax, discrtimestep=None,
                 integrationtimestep=None):
        constring = str(discrtimestep) + "\n"
        constring += vect2str(taumin) + "\n"

# Path: src/python/TOPPopenravepy.py
# class RAVEBindings(QuadraticConstraints):
#     """Wrapper around TOPPbindings for OpenRAVE robot models.
# 
#     robot -- OpenRAVE robot object
#     pbname -- string identifier of the underlying TOPPbindings problem
#     constring -- constraints string (problem - dependant)
#     trajstring -- trajectory string
# 
#     """
# 
#     def __init__(self, robot, pbname, constring, trajstring,
#                  discrtimestep=None, integrationtimestep=None):
#         if discrtimestep is None:
#             discrtimestep = 1e-2
#         if integrationtimestep is None:
#             integrationtimestep = 1e-3
#         self.discrtimestep = discrtimestep
#         self.integrationtimestep = integrationtimestep
#         self.solver = TOPPbindings.TOPPInstance(robot, pbname, constring,
#                                                 trajstring)
# 
# Path: src/python/Utilities.py
# def vect2str(v):
#     return " ".join(map(str, v))


# Path: src/python/TorqueLimits.py
from .TOPPopenravepy import RAVEBindings
from .Utilities import vect2str

# -*- coding: utf-8 -*-
# Copyright (C) 2013 Stéphane Caron <caron@ynl.t.u-tokyo.ac.jp>
#
# This file is part of the Time-Optimal Path Parameterization (TOPP) library.
# TOPP is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# at your option, any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.




class TorqueLimits(RAVEBindings):
    """Bindings for the 'TorqueLimitsRave' problem."""

    def __init__(self, robot, traj, taumin, taumax, vmax, discrtimestep=None,
                 integrationtimestep=None):
        constring = str(discrtimestep) + "\n"
        constring += vect2str(taumin) + "\n"

        constring += vect2str(taumax) + "\n"