17 #ifndef __tsid_python_constriant_inequality_hpp__ 18 #define __tsid_python_constriant_inequality_hpp__ 28 template <
typename Constra
intInequality>
30 :
public boost::python::def_visitor<
31 ConstraintIneqPythonVisitor<ConstraintInequality> > {
32 template <
class PyClass>
35 cl.def(bp::init<std::string>((bp::arg(
"name")),
36 "Default constructor with name."))
37 .def(bp::init<std::string, unsigned int, unsigned int>(
38 (bp::arg(
"name"), bp::arg(
"row"), bp::arg(
"col")),
39 "Default constructor with name and size."))
40 .def(
bp::init<std::string, Eigen::MatrixXd, Eigen::VectorXd,
42 (bp::arg(
"name"), bp::arg(
"A"), bp::arg(
"lb"), bp::arg(
"ub")),
43 "Default constructor with name and constraint."))
45 .add_property(
"rows", &ConstraintInequality::rows)
46 .add_property(
"cols", &ConstraintInequality::cols)
47 .def(
"resize", &ConstraintInequality::resize,
48 (bp::arg(
"r"), bp::arg(
"c")),
"Resize constraint size.")
50 .add_property(
"isEquality", &ConstraintInequality::isEquality)
51 .add_property(
"isInequality", &ConstraintInequality::isInequality)
52 .add_property(
"isBound", &ConstraintInequality::isBound)
60 (
bool(ConstraintInequality::*)(
61 const Eigen::Ref<const Eigen::MatrixXd>)) &
62 ConstraintInequality::setMatrix,
63 bp::args(
"matrix"),
"Set Matrix")
65 (
bool(ConstraintInequality::*)(
66 const Eigen::Ref<const Eigen::VectorXd>)) &
67 ConstraintInequality::setVector,
68 bp::args(
"vector"),
"Set Vector")
70 (
bool(ConstraintInequality::*)(
71 const Eigen::Ref<const Eigen::VectorXd>)) &
72 ConstraintInequality::setLowerBound,
73 bp::args(
"lb"),
"Set LowerBound")
75 (
bool(ConstraintInequality::*)(
76 const Eigen::Ref<const Eigen::VectorXd>)) &
77 ConstraintInequality::setUpperBound,
78 bp::args(
"ub"),
"Set UpperBound");
80 static Eigen::MatrixXd
matrix(
const ConstraintInequality&
self) {
83 static Eigen::VectorXd
vector(
const ConstraintInequality&
self) {
86 static Eigen::VectorXd
lowerBound(
const ConstraintInequality&
self) {
87 return self.lowerBound();
89 static Eigen::VectorXd
upperBound(
const ConstraintInequality&
self) {
90 return self.upperBound();
93 static void expose(
const std::string& class_name) {
94 std::string doc =
"Constraint Inequality info.";
95 bp::class_<ConstraintInequality>(class_name.c_str(), doc.c_str(),
103 #endif // ifndef __tsid_python_constriant_inequality_hpp__ static Eigen::VectorXd upperBound(const ConstraintInequality &self)
static Eigen::VectorXd vector(const ConstraintInequality &self)
void def(const char *name, Func func)
static Eigen::MatrixXd matrix(const ConstraintInequality &self)
void init(bool compute_local_aabb=true)
static void expose(const std::string &class_name)
static Eigen::VectorXd lowerBound(const ConstraintInequality &self)
void visit(PyClass &cl) const