17 #ifndef __tsid_python_constriant_inequality_hpp__
18 #define __tsid_python_constriant_inequality_hpp__
28 namespace bp = boost::python;
30 template<
typename Constra
intInequality>
32 :
public boost::python::def_visitor< ConstraintIneqPythonVisitor<ConstraintInequality> >
34 template<
class PyClass>
39 .def(bp::init<std::string>((bp::arg(
"name")),
"Default constructor with name."))
40 .def(bp::init<std::string, unsigned int, unsigned int>((bp::arg(
"name"), bp::arg(
"row"), bp::arg(
"col")),
"Default constructor with name and size."))
41 .def(bp::init<std::string, Eigen::MatrixXd, Eigen::VectorXd, Eigen::VectorXd>((bp::arg(
"name"), bp::arg(
"A"), bp::arg(
"lb"), bp::arg(
"ub")),
"Default constructor with name and constraint."))
43 .add_property(
"rows", &ConstraintInequality::rows)
44 .add_property(
"cols", &ConstraintInequality::cols)
45 .def(
"resize",&ConstraintInequality::resize, (bp::arg(
"r"), bp::arg(
"c")),
"Resize constraint size.")
47 .add_property(
"isEquality", &ConstraintInequality::isEquality)
48 .add_property(
"isInequality", &ConstraintInequality::isInequality)
49 .add_property(
"isBound", &ConstraintInequality::isBound)
56 .def(
"setMatrix", (
bool (ConstraintInequality::*)(
const Eigen::MatrixXd &)
const) &ConstraintInequality::setMatrix, bp::args(
"matrix"),
"Set Matrix")
57 .def(
"setVector", (
bool (ConstraintInequality::*)(
const Eigen::VectorXd &)
const) &ConstraintInequality::setVector, bp::args(
"vector"),
"Set Vector")
58 .def(
"setLowerBound", (
bool (ConstraintInequality::*)(
const Eigen::VectorXd &)
const) &ConstraintInequality::setLowerBound, bp::args(
"lb"),
"Set LowerBound")
59 .def(
"setUpperBound", (
bool (ConstraintInequality::*)(
const Eigen::VectorXd &)
const) &ConstraintInequality::setUpperBound, bp::args(
"ub"),
"Set UpperBound")
62 static Eigen::MatrixXd
matrix (
const ConstraintInequality &
self) {
return self.matrix();}
63 static Eigen::VectorXd
vector (
const ConstraintInequality &
self) {
return self.vector();}
64 static Eigen::VectorXd
lowerBound (
const ConstraintInequality &
self) {
return self.lowerBound();}
65 static Eigen::VectorXd
upperBound (
const ConstraintInequality &
self) {
return self.upperBound();}
67 static void expose(
const std::string & class_name)
69 std::string doc =
"Constraint Inequality info.";
70 bp::class_<ConstraintInequality>(class_name.c_str(),
80 #endif // ifndef __tsid_python_constriant_inequality_hpp__