37#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
45 return std::make_shared<Interface>(indx, edge, skipCoordCheck);
51 return std::make_shared<InterfacePair>(leftInterface, rightInterface);
56 py::class_<std::vector<unsigned int>>(
"UIntList")
57 .def(py::vector_indexing_suite<std::vector<unsigned int>,
true>());
59 py::class_<Interface, std::shared_ptr<Interface>>(
"Interface", py::no_init)
61 .def<
const std::map<int, GeometrySharedPtr> &(
Interface::*)()
const>(
62 "GetEdge", &Interface::GetEdge, py::return_internal_reference<>())
63 .def(
"IsEmpty", &Interface::IsEmpty)
64 .def(
"GetId", &Interface::GetId,
65 py::return_value_policy<py::copy_non_const_reference>())
66 .def(
"GetOppInterace", &Interface::GetOppInterface,
67 py::return_internal_reference<>())
68 .def(
"GetCompositeIDs", &Interface::GetCompositeIDs,
69 py::return_value_policy<py::copy_const_reference>());
71 py::class_<InterfacePair, std::shared_ptr<InterfacePair>>(
"InterfacePair",
74 .def(
"GetLeftInterface", &InterfacePair::GetLeftInterface,
75 py::return_value_policy<py::copy_const_reference>())
76 .def(
"GetRightInterface", &InterfacePair::GetRightInterface,
77 py::return_value_policy<py::copy_const_reference>());
std::shared_ptr< InterfacePair > InterfacePair_Init(const InterfaceShPtr &leftInterface, const InterfaceShPtr &rightInterface)
std::shared_ptr< Interface > Interface_Init(int indx, const CompositeMap &edge, bool skipCoordCheck)
std::shared_ptr< Interface > InterfaceShPtr
std::map< int, CompositeSharedPtr > CompositeMap
A interface which is a single edge on a zone for handling non-conformality.