Changeset e70818


Ignore:
Timestamp:
Apr 23, 2021, 8:51:43 PM (5 years ago)
Author:
Frederik Heber <frederik.heber@…>
Branches:
Candidate_v1.7.0, stable
Children:
c30959
Parents:
5fa1e86
git-author:
Frederik Heber <frederik.heber@…> (11/17/20 21:01:07)
git-committer:
Frederik Heber <frederik.heber@…> (04/23/21 20:51:43)
Message:

Added getSelectedAtomPositions() python function.

Location:
src/Python
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • src/Python/Makefile.am

    r5fa1e86 re70818  
    88        Python/getSelectedAtomElements.cpp \
    99        Python/getSelectedAtomIds.cpp \
     10        Python/getSelectedAtomPositions.cpp \
    1011        Python/getSelectedMolarMass.cpp \
    1112        Python/PythonScripting.cpp \
  • src/Python/PythonScripting_impl.hpp

    r5fa1e86 re70818  
    105105      "returns the element numbers of all currently selected atoms."
    106106  );
     107  boost::python::def< MoleCuilder::detail::atomPositionsVec() >(
     108      "getSelectedAtomPositions",
     109      MoleCuilder::detail::module_getSelectedAtomPositions,
     110      "returns the positions of all currently selected atoms."
     111  );
    107112  boost::python::def< MoleCuilder::detail::atomIdVec() >(
    108113      "getSelectedAtomIds",
     
    143148      .def("__iter__", boost::python::iterator< std::vector< double > >())
    144149  ;
     150  // positions
     151  boost::python::class_< std::vector< std::vector< double > > >("PythonType_positions")
     152      .def("__len__", &std::vector< std::vector< double > >::size)
     153      .def("clear", &std::vector< std::vector< double > >::clear)
     154      .def("append", &MoleCuilder::PythonTypes::vec_item< std::vector< std::vector< double > > >::add,
     155            boost::python::with_custodian_and_ward<1, 2>()) // let container keep value
     156      .def("__getitem__", &MoleCuilder::PythonTypes::vec_item< std::vector< std::vector< double > > >::get,
     157           boost::python::return_value_policy<boost::python::copy_non_const_reference>())
     158      .def("__setitem__", &MoleCuilder::PythonTypes::vec_item< std::vector< std::vector< double > > >::set,
     159           boost::python::with_custodian_and_ward<1,2>()) // to let container keep value
     160      .def("__delitem__", &MoleCuilder::PythonTypes::vec_item< std::vector< std::vector< double > > >::del)
     161      .def("__iter__", boost::python::iterator< std::vector< std::vector< double > > >())
     162  ;
    145163
    146164  // access to all Actions
  • src/Python/getSelectedAtomElements.cpp

    r5fa1e86 re70818  
    2222
    2323/*
    24  * getSelectedMolarMass.cpp
     24 * getSelectedAtomElements.cpp
    2525 *
    2626 *  Created on: Oct 07, 2020
  • src/Python/getSelectedAtomIds.cpp

    r5fa1e86 re70818  
    2222
    2323/*
    24  * getSelectedMolarMass.cpp
     24 * getSelectedAtomIds.cpp
    2525 *
    2626 *  Created on: Oct 07, 2020
  • src/Python/modules.hpp

    r5fa1e86 re70818  
    2929typedef std::vector<atomicNumber_t> elementVec;
    3030typedef std::vector<double> doubleVec;
     31typedef std::vector< std::vector<double> > atomPositionsVec;
    3132
    3233doubleVec module_getBoundingBox();
    3334double module_getDomainVolume();
    3435atomIdVec module_getSelectedAtomIds();
     36atomPositionsVec module_getSelectedAtomPositions();
    3537elementVec module_getSelectedAtomElements();
    3638double module_getSelectedMolarMass();
Note: See TracChangeset for help on using the changeset viewer.