/** @file */ #ifndef OPENMESH_PYTHON_BINDINGS_HH #define OPENMESH_PYTHON_BINDINGS_HH #include #include #include #include #include "OpenMesh/Core/IO/MeshIO.hh" #include "OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh" #include "OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh" using namespace boost::python; namespace OpenMesh { /** * This namespace contains classes and functions that are used to expose * %OpenMesh to %Python. */ namespace Python { /** * Return value policy for functions that return references to objects that are * managed by %OpenMesh. */ #define OPENMESH_PYTHON_DEFAULT_POLICY return_value_policy() struct MeshTraits : public OpenMesh::DefaultTraits { /** Use double precision points */ typedef OpenMesh::Vec3d Point; /** Use double precision normals */ typedef OpenMesh::Vec3d Normal; /** Use RGBA colors */ typedef OpenMesh::Vec4f Color; }; typedef OpenMesh::TriMesh_ArrayKernelT TriMesh; typedef OpenMesh::PolyMesh_ArrayKernelT PolyMesh; } // namespace OpenMesh } // namespace Python #endif