def __init__(self): replacement = default_replacement replacement['::ompl::tools::Benchmark::benchmark'] = ( 'def("benchmark", &benchmarkWrapper)', \ """ void benchmarkWrapper(%s* obj, const ompl::tools::Benchmark::Request& request) { ompl::tools::Benchmark::Request req(request); req.useThreads = false; obj->benchmark(request); } """) replacement['printResultsInfo'] = ('def("printResultsInfo", &__printResultsInfo)', """ std::string __printResultsInfo(%s* obj) { std::ostringstream s; obj->printResultsInfo(s); return s.str(); } """) replacement['printLogs'] = ('def("printLogs", &__printLogs)', """ std::string __printLogs(%s* obj) { std::ostringstream s; obj->printLogs(s); return s.str(); } """) replacement['saveDataLog'] = ('def("saveDataLog", &__saveDataLog)', """ std::string __saveDataLog(%s* obj) { std::ostringstream s; obj->saveDataLog(s); return s.str(); } """) replacement['setPlannerSwitchEvent'] = ( 'def("setPlannerSwitchEvent", &__setPlannerSwitchEvent)', """ void __setPlannerSwitchEvent(%s* obj, std::function<void(ompl::base::PlannerPtr)> event) { obj->setPlannerSwitchEvent(event); } """) replacement['setPreRunEvent'] = ('def("setPreRunEvent", &__setPreRunEvent)', """ void __setPreRunEvent(%s* obj, std::function<void(ompl::base::PlannerPtr)> event) { obj->setPreRunEvent(event); } """) replacement['setPostRunEvent'] = ('def("setPostRunEvent", &__setPostRunEvent)', """ void __setPostRunEvent(%s* obj, std::function<void(ompl::base::PlannerPtr, ompl::tools::Benchmark::RunProperties &)> event) { obj->setPostRunEvent(event); } """) code_generator_t.__init__(self, 'tools', \ ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], \ replacement, 1)
def __init__(self): replacement = default_replacement # A C++ call like "foo.printControl(control, std::cout)" will be replaced with # something more pythonesque: "print(foo.string(control))" replacement['printControl'] = ('def("string", &__printControl)', """ std::string __printControl(%s* space, ompl::control::Control* control) { std::ostringstream s; space->printControl(control, s); return s.str(); } """) replacement['::ompl::control::ODESolver::getStatePropagator'] = (""" def("getStatePropagator", &getStatePropagator1); ODESolver_exposer.def("getStatePropagator", &getStatePropagator2); ODESolver_exposer.staticmethod( "getStatePropagator" )""", """ // %s ompl::control::StatePropagatorPtr getStatePropagator2(ompl::control::ODESolverPtr solver, const ompl::control::ODESolver::PostPropagationEvent &postEvent) { return ompl::control::ODESolver::getStatePropagator(solver, postEvent); } ompl::control::StatePropagatorPtr getStatePropagator1(ompl::control::ODESolverPtr solver) { return ompl::control::ODESolver::getStatePropagator(solver); } """) code_generator_t.__init__(self, 'control', ['bindings/util', 'bindings/base', 'bindings/geometric'], replacement)
def __init__(self): replacement = default_replacement replacement['printAsMatrix'] = ('def("printAsMatrix", &__printAsMatrix)', """ std::string __printAsMatrix(%s* path) { std::ostringstream s; path->printAsMatrix(s); return s.str(); } """) code_generator_t.__init__(self, 'geometric', ['bindings/util', 'bindings/base'], replacement)
def __init__(self): replacement = default_replacement replacement['::ompl::tools::Benchmark::benchmark'] = ('def("benchmark", &benchmarkWrapper)', """ void benchmarkWrapper(%s* obj, const ompl::tools::Benchmark::Request& request) { ompl::tools::Benchmark::Request req(request); req.useThreads = false; obj->benchmark(request); } """) code_generator_t.__init__(self, 'tools', ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], replacement)
def __init__(self): replacement = default_replacement # A C++ call like "foo.printControl(control, std::cout)" will be replaced with # something more pythonesque: "print(foo.string(control))" replacement['printControl'] = ('def("string", &__printControl)', """ std::string __printControl(%s* space, ompl::control::Control* control) { std::ostringstream s; space->printControl(control, s); return s.str(); } """) code_generator_t.__init__(self, 'control', ['bindings/util', 'bindings/base', 'bindings/geometric'], replacement)
def __init__(self): replacement = default_replacement replacement['::ompl::tools::Benchmark::benchmark'] = ('def("benchmark", &benchmarkWrapper)', \ """ void benchmarkWrapper(%s* obj, const ompl::tools::Benchmark::Request& request) { ompl::tools::Benchmark::Request req(request); req.useThreads = false; obj->benchmark(request); } """) replacement['printResultsInfo'] = ('def("printResultsInfo", &__printResultsInfo)', """ std::string __printResultsInfo(%s* obj) { std::ostringstream s; obj->printResultsInfo(s); return s.str(); } """) replacement['printLogs'] = ('def("printLogs", &__printLogs)', """ std::string __printLogs(%s* obj) { std::ostringstream s; obj->printLogs(s); return s.str(); } """) replacement['saveDataLog'] = ('def("saveDataLog", &__saveDataLog)', """ std::string __saveDataLog(%s* obj) { std::ostringstream s; obj->saveDataLog(s); return s.str(); } """) code_generator_t.__init__(self, 'tools', \ ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], \ replacement, 1)
def __init__(self): replacement = default_replacement # A C++ call like "foo.printControl(control, std::cout)" will be replaced with # something more pythonesque: "print(foo.string(control))" replacement['printControl'] = ('def("string", &__printControl)', """ std::string __printControl(%s* space, ompl::control::Control* control) { std::ostringstream s; space->printControl(control, s); return s.str(); } """) replacement['printAsMatrix'] = ( 'def("printAsMatrix", &__printAsMatrix)', """ std::string __printAsMatrix(%s* path) { std::ostringstream s; path->printAsMatrix(s); return s.str(); } """) replacement['::ompl::control::ODESolver::getStatePropagator'] = (""" def("getStatePropagator", &getStatePropagator1); ODESolver_exposer.def("getStatePropagator", &getStatePropagator2); ODESolver_exposer.staticmethod( "getStatePropagator" )""", """ // %s ompl::control::StatePropagatorPtr getStatePropagator2(ompl::control::ODESolverPtr solver, const ompl::control::ODESolver::PostPropagationEvent &postEvent) { return ompl::control::ODESolver::getStatePropagator(solver, postEvent); } ompl::control::StatePropagatorPtr getStatePropagator1(ompl::control::ODESolverPtr solver) { return ompl::control::ODESolver::getStatePropagator(solver); } """) code_generator_t.__init__(self, 'control', \ ['bindings/util', 'bindings/base', 'bindings/geometric'], replacement)
def __init__(self): replacement = default_replacement replacement['::ompl::tools::Benchmark::benchmark'] = ('def("benchmark", &benchmarkWrapper)', """ void benchmarkWrapper(%s* obj, const ompl::tools::Benchmark::Request& request) { ompl::tools::Benchmark::Request req(request); req.useThreads = false; obj->benchmark(request); } """) replacement['printResultsInfo'] = ('def("printResultsInfo", &__printResultsInfo)', """ std::string __printResultsInfo(%s* obj) { std::ostringstream s; obj->printResultsInfo(s); return s.str(); } """) replacement['printLogs'] = ('def("printLogs", &__printLogs)', """ std::string __printLogs(%s* obj) { std::ostringstream s; obj->printLogs(s); return s.str(); } """) replacement['saveDataLog'] = ('def("saveDataLog", &__saveDataLog)', """ std::string __saveDataLog(%s* obj) { std::ostringstream s; obj->saveDataLog(s); return s.str(); } """) code_generator_t.__init__(self, 'tools', ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], replacement, 1)
def __init__(self): replacement = default_replacement # special case for abstract base class Path with pure virtual print method: replacement['::ompl::base::Path::print'] = ('def("__str__", bp::pure_virtual(&__str__))', """ std::string __str__(%s* obj) { std::ostringstream s; obj->print(s); return s.str(); } """) # A C++ call like "foo.printState(state, std::cout)" will be replaced with # something more pythonesque: "print(foo.string(state))" replacement['printState'] = ('def("string", &__printState)', """ std::string __printState(%s* space, ompl::base::State* state) { std::ostringstream s; space->printState(state, s); return s.str(); } """) # A C++ call like "foo.printProperties(std::cout)" will be replaced with # something more pythonesque: "print(foo.properties())" default_replacement['printProperties'] = ('def("properties", &__printProperties)', """ std::string __printProperties(%s* obj) { std::ostringstream s; obj->printProperties(s); return s.str(); } """) # A C++ call like "foo.printProjections(std::cout)" will be replaced with # something more pythonesque: "print(foo.projections())" replacement['printProjections'] = ('def("projections", &__printProjections)', """ std::string __printProjections(%s* obj) { std::ostringstream s; obj->printProjections(s); return s.str(); } """) # A C++ call like "foo.printProjection(projection, std::cout)" will be replaced with # something more pythonesque: "print(foo.projection())" replacement['printProjection'] = ('def("projection", &__printProjection)', """ std::string __printProjection(%s* obj, const ompl::base::EuclideanProjection &projection) { std::ostringstream s; obj->printProjection(projection, s); return s.str(); } """) # "StateSpace::Diagram(std::cout)" will be replaced with # something more pythonesque: "print(StateSpace.Diagram())" replacement['::ompl::base::StateSpace::Diagram'] = ('def("Diagram", &DiagramWrapper)', """ std::string DiagramWrapper(%s* obj) { std::ostringstream s; obj->Diagram(s); return s.str(); } """) # "StateSpace::List(std::cout)" will be replaced with # something more pythonesque: "print(StateSpace.List())" replacement['::ompl::base::StateSpace::List'] = ('def("List", &ListWrapper)', """ std::string ListWrapper(%s* obj) { std::ostringstream s; obj->List(s); return s.str(); } """) # "PlannerData::printGraphML(std::cout)" will be replaced with # something more pythonesque: "print(PlannerData.printGraphML())" replacement['::ompl::base::PlannerData::printGraphML'] = ('def("printGraphML", &__printGraphML)', """ std::string __printGraphML(%s* obj) { std::ostringstream s; obj->printGraphML(s); return s.str(); } """) # "PlannerData::printGraphviz(std::cout)" will be replaced with # something more pythonesque: "print(PlannerData.printGraphviz())" replacement['::ompl::base::PlannerData::printGraphviz'] = ('def("printGraphviz", &__printGraphviz)', """ std::string __printGraphviz(%s* obj) { std::ostringstream s; obj->printGraphviz(s); return s.str(); } """) code_generator_t.__init__(self, 'base', ['bindings/util'], replacement)
def __init__(self): replacement = default_replacement code_generator_t.__init__(self, 'morse', \ ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], \ replacement)
def __init__(self): replacement = default_replacement code_generator_t.__init__(self, 'util', None, replacement, 1)
def __init__(self): replacement = default_replacement # special case for abstract base class Path with pure virtual print method: replacement['::ompl::base::Path::print'] = ('def("__str__", bp::pure_virtual(&__str__))', \ """std::string __str__(%s* obj) { std::ostringstream s; obj->print(s); return s.str(); } """) # A C++ call like "foo.printState(state, std::cout)" will be replaced with # something more pythonesque: "print(foo.string(state))" replacement['printState'] = ('def("string", &__printState)', """ std::string __printState(%s* space, ompl::base::State* state) { std::ostringstream s; space->printState(state, s); return s.str(); } """) # A C++ call like "foo.printProperties(std::cout)" will be replaced with # something more pythonesque: "print(foo.properties())" replacement['printProperties'] = ('def("properties", &__printProperties)', """ std::string __printProperties(%s* obj) { std::ostringstream s; obj->printProperties(s); return s.str(); } """) # A C++ call like "foo.printProjections(std::cout)" will be replaced with # something more pythonesque: "print(foo.projections())" replacement['printProjections'] = ('def("projections", &__printProjections)', """ std::string __printProjections(%s* obj) { std::ostringstream s; obj->printProjections(s); return s.str(); } """) # A C++ call like "foo.printProjection(projection, std::cout)" will be replaced with # something more pythonesque: "print(foo.projection())" replacement['printProjection'] = ('def("projection", &__printProjection)', """ std::string __printProjection(%s* obj, const Eigen::Ref<Eigen::VectorXd> &projection) { std::ostringstream s; obj->printProjection(projection, s); return s.str(); } """) # "StateSpace::Diagram(std::cout)" will be replaced with # something more pythonesque: "print(StateSpace.Diagram())" replacement['::ompl::base::StateSpace::Diagram'] = ('def("Diagram", &DiagramWrapper)', """ std::string DiagramWrapper(%s* obj) { std::ostringstream s; obj->Diagram(s); return s.str(); } """) # "StateSpace::List(std::cout)" will be replaced with # something more pythonesque: "print(StateSpace.List())" replacement['::ompl::base::StateSpace::List'] = ('def("List", &ListWrapper)', """ std::string ListWrapper(%s* obj) { std::ostringstream s; obj->List(s); return s.str(); } """) # "PlannerData::printGraphML(std::cout)" will be replaced with # something more pythonesque: "print(PlannerData.printGraphML())" replacement['::ompl::base::PlannerData::printGraphML'] = \ ('def("printGraphML", &__printGraphML)', """ std::string __printGraphML(%s* obj) { std::ostringstream s; obj->printGraphML(s); return s.str(); } """) # "PlannerData::printGraphviz(std::cout)" will be replaced with # something more pythonesque: "print(PlannerData.printGraphviz())" replacement['::ompl::base::PlannerData::printGraphviz'] = \ ('def("printGraphviz", &__printGraphviz)', """ std::string __printGraphviz(%s* obj) { std::ostringstream s; obj->printGraphviz(s); return s.str(); } """) # "Atlas::printPLY(std::cout)" will be replaced with # something more pythonesque: "print(PlannerData.printGraphviz())" replacement['::ompl::base::AtlasStateSpace::printPLY'] = \ ('def("printPLY", &__printPLY)', """ std::string __printPLY(%s* obj) { std::ostringstream s; obj->printPLY(s); return s.str(); } """) code_generator_t.__init__(self, 'base', ['bindings/util'], replacement)
def __init__(self): code_generator_t.__init__(self, 'app', [ '../ompl/py-bindings/bindings/base', '../ompl/py-bindings/bindings/geometric', '../ompl/py-bindings/bindings/control' ])
def __init__(self): replacement = default_replacement code_generator_t.__init__(self, 'util', None, replacement, 1)
def __init__(self): code_generator_t.__init__(self, 'app', ['../ompl/py-bindings/bindings/base', '../ompl/py-bindings/bindings/geometric', '../ompl/py-bindings/bindings/control'])
def __init__(self): replacement = default_replacement code_generator_t.__init__(self, 'morse', ['bindings/util', 'bindings/base', 'bindings/geometric', 'bindings/control'], replacement)
def __init__(self): replacement = default_replacement code_generator_t.__init__(self, 'rrtstar', [join(ompl_binding_dir, 'bindings/geometric')], replacement)