OpenMesh
|
This namespace contains classes and functions that are used to expose OpenMesh to Python. More...
Classes | |
class | CirculatorWrapperT |
Wrapper for circulators. More... | |
class | IteratorWrapperT |
Wrapper for mesh item iterators. More... | |
struct | MeshTraits |
Typedefs | |
typedef OpenMesh::TriMesh_ArrayKernelT < MeshTraits > | TriMesh |
typedef OpenMesh::PolyMesh_ArrayKernelT < MeshTraits > | PolyMesh |
Functions | |
void | expose_items () |
Expose mesh items to Python. | |
void | expose_handles () |
Expose item and property handles to Python. | |
void | expose_status_bits_and_info () |
Expose the StatusBits enum and StatusInfo class to Python. | |
BOOST_PYTHON_MODULE (openmesh) | |
template<class Circulator , class CenterEntityHandle > | |
void | expose_circulator (const char *_name) |
Expose a circulator type to Python. More... | |
template<class Handle > | |
void | expose_module_handle (const char *_name) |
template<class Module > | |
list | infolist (Module &_self) |
template<class Mesh > | |
void | expose_decimater (const char *_name) |
void | expose_io () |
Expose the input/output functions and options to Python. | |
template<class Iterator , size_t(OpenMesh::ArrayKernel::*)() const n_items> | |
void | expose_iterator (const char *_name) |
Expose an iterator type to Python. More... | |
template<class Mesh , class IndexHandle > | |
void | set_status (Mesh &_self, IndexHandle _h, const OpenMesh::Attributes::StatusInfo &_info) |
Set the status of an item. More... | |
template<class Mesh , class PropHandle , class IndexHandle > | |
void | set_property (Mesh &_self, PropHandle _ph, IndexHandle _h, const object &_value) |
Set the value of a property of an item. More... | |
template<class Mesh , class PropHandle > | |
void | set_property (Mesh &_self, PropHandle _ph, const object &_value) |
Set the value of a mesh property. More... | |
template<class Mesh , class OtherMesh > | |
void | assign_connectivity (Mesh &_self, const OtherMesh &_other) |
Thin wrapper for assign_connectivity. More... | |
template<class Mesh , class Iterator , size_t(ArrayKernel::*)() const n_items> | |
IteratorWrapperT< Iterator, n_items > | get_iterator (Mesh &_self) |
Get an iterator. | |
template<class Mesh , class Iterator , size_t(ArrayKernel::*)() const n_items> | |
IteratorWrapperT< Iterator, n_items > | get_skipping_iterator (Mesh &_self) |
Get a skipping iterator. | |
template<class Mesh , class Circulator , class CenterEntityHandle > | |
CirculatorWrapperT< Circulator, CenterEntityHandle > | get_circulator (Mesh &_self, CenterEntityHandle _handle) |
Get a circulator. More... | |
template<class Mesh > | |
void | garbage_collection (Mesh &_self, list &_vh_to_update, list &_hh_to_update, list &_fh_to_update, bool _v=true, bool _e=true, bool _f=true) |
Garbage collection using lists instead of vectors to keep track of a set of handles. More... | |
template<class Mesh > | |
FaceHandle | add_face (Mesh &_self, const list &_vhandles) |
Add a new face from a Python list of vertex handles. More... | |
template<class Class > | |
void | expose_type_specific_functions (Class &_class) |
This function template is used to expose mesh member functions that are only available for a specific type of mesh (i.e. More... | |
template<> | |
void | expose_type_specific_functions (class_< PolyMesh > &_class) |
Function template specialization for polygon meshes. | |
template<> | |
void | expose_type_specific_functions (class_< TriMesh > &_class) |
Function template specialization for triangle meshes. | |
template<class Mesh > | |
void | expose_mesh (const char *_name) |
Expose a mesh type to Python. More... | |
template<class PropertyManager , class IndexHandle > | |
object | propman_get_item (PropertyManager &_self, IndexHandle _handle) |
Implementation of Python's __getitem__ magic method. More... | |
template<class PropertyManager , class IndexHandle > | |
void | propman_set_item (PropertyManager &_self, IndexHandle _handle, object _value) |
Implementation of Python's __setitem__ magic method. More... | |
template<class PropertyManager , class Iterator > | |
void | propman_set_range (PropertyManager &_self, Iterator _it, object _value) |
Conveniently set the property value for an entire range of mesh items using a Python iterator. More... | |
template<class PropertyManager , class Mesh > | |
bool | property_exists (Mesh &_mesh, const char *_propname) |
Thin wrapper for propertyExists. More... | |
template<class PropHandle , class IndexHandle , class Iterator > | |
void | expose_property_manager (const char *_name) |
Expose a property manager type to Python. More... | |
template<class Vector , class Scalar > | |
void | set_item (Vector &_vec, int _index, Scalar _value) |
template<class Vector , class Scalar > | |
Scalar | get_item (Vector &_vec, int _index) |
template<class Scalar > | |
void | defInitMod (class_< OpenMesh::VectorT< Scalar, 2 > > &classVector) |
template<class Scalar > | |
void | defInitMod (class_< OpenMesh::VectorT< Scalar, 3 > > &classVector) |
template<class Scalar > | |
void | defInitMod (class_< OpenMesh::VectorT< Scalar, 4 > > &classVector) |
template<class Scalar , int N> | |
void | expose_vec (const char *_name) |
Expose a vector type to Python. More... | |
Variables | |
const IO::Options::Flag | FLAG_DEFAULT = IO::Options::Default |
const IO::Options::Flag | FLAG_BINARY = IO::Options::Binary |
const IO::Options::Flag | FLAG_MSB = IO::Options::MSB |
const IO::Options::Flag | FLAG_LSB = IO::Options::LSB |
const IO::Options::Flag | FLAG_SWAP = IO::Options::Swap |
const IO::Options::Flag | FLAG_VERTEXNORMAL = IO::Options::VertexNormal |
const IO::Options::Flag | FLAG_VERTEXCOLOR = IO::Options::VertexColor |
const IO::Options::Flag | FLAG_VERTEXTEXCOORD = IO::Options::VertexTexCoord |
const IO::Options::Flag | FLAG_EDGECOLOR = IO::Options::EdgeColor |
const IO::Options::Flag | FLAG_FACENORMAL = IO::Options::FaceNormal |
const IO::Options::Flag | FLAG_FACECOLOR = IO::Options::FaceColor |
const IO::Options::Flag | FLAG_FACETEXCOORD = IO::Options::FaceTexCoord |
const IO::Options::Flag | FLAG_COLORALPHA = IO::Options::ColorAlpha |
const IO::Options::Flag | FLAG_COLORFLOAT = IO::Options::ColorFloat |
This namespace contains classes and functions that are used to expose OpenMesh to Python.
FaceHandle OpenMesh::Python::add_face | ( | Mesh & | _self, |
const list & | _vhandles | ||
) |
Add a new face from a Python list of vertex handles.
Mesh | A Mesh type. |
_self | The mesh instance that is to be used. |
_vhandles | The list of vertex handles. |
void OpenMesh::Python::assign_connectivity | ( | Mesh & | _self, |
const OtherMesh & | _other | ||
) |
Thin wrapper for assign_connectivity.
Mesh | A mesh type. |
OtherMesh | A mesh type. |
_self | The mesh instance that is to be used. |
_other | The mesh from which the connectivity is to be copied. |
void OpenMesh::Python::expose_circulator | ( | const char * | _name | ) |
Expose a circulator type to Python.
Circulator | A circulator type. |
_name | The name of the circulator type to be exposed. |
void OpenMesh::Python::expose_iterator | ( | const char * | _name | ) |
Expose an iterator type to Python.
Iterator | An iterator type. |
n_items | A member function pointer that points to the mesh function that returns the number of items to iterate over (e.g. n_vertices). |
_name | The name of the iterator type to be exposed. |
void OpenMesh::Python::expose_mesh | ( | const char * | _name | ) |
Expose a mesh type to Python.
Mesh | A mesh type. |
_name | The name of the mesh type to be exposed. |
void OpenMesh::Python::expose_property_manager | ( | const char * | _name | ) |
Expose a property manager type to Python.
This function template is used to expose property managers to Python. The template parameters are used to instantiate the appropriate property manager type.
PropHandle | A property handle type (e.g. VPropHandle<object>). |
IndexHandle | The appropriate handle type (e.g. VertexHandle for VPropHandle<object>). |
Iterator | A Python iterator type. This type is used to instantiate the propman_set_range function. |
_name | The name of the property manager type to be exposed. |
void OpenMesh::Python::expose_type_specific_functions | ( | Class & | _class | ) |
This function template is used to expose mesh member functions that are only available for a specific type of mesh (i.e.
they are available for polygon meshes or triangle meshes, but not both).
Class | A boost::python::class type. |
_class | The boost::python::class instance for which the member functions are to be defined. |
void OpenMesh::Python::expose_vec | ( | const char * | _name | ) |
Expose a vector type to Python.
This function template is used to expose vectors to Python. The template parameters are used to instantiate the appropriate vector type.
Scalar | A scalar type. |
N | The dimension of the vector. |
_name | The name of the vector type to be exposed. |
void OpenMesh::Python::garbage_collection | ( | Mesh & | _self, |
list & | _vh_to_update, | ||
list & | _hh_to_update, | ||
list & | _fh_to_update, | ||
bool | _v = true , |
||
bool | _e = true , |
||
bool | _f = true |
||
) |
Garbage collection using lists instead of vectors to keep track of a set of handles.
Mesh | A Mesh type. |
_self | The mesh instance that is to be used. |
_vh_to_update | The list of vertex handles to be updated. |
_hh_to_update | The list of halfedge handles to be updated. |
_fh_to_update | The list of face handles to be updated. |
_v | Remove deleted vertices? |
_e | Remove deleted edges? |
_f | Remove deleted faces? |
CirculatorWrapperT<Circulator, CenterEntityHandle> OpenMesh::Python::get_circulator | ( | Mesh & | _self, |
CenterEntityHandle | _handle | ||
) |
Get a circulator.
Mesh | A Mesh type. |
Circulator | A circulator type. |
CenterEntityHandle | The appropriate handle type. |
_self | The mesh instance that is to be used. |
_handle | The handle of the item to circulate around. |
bool OpenMesh::Python::property_exists | ( | Mesh & | _mesh, |
const char * | _propname | ||
) |
Thin wrapper for propertyExists.
PropertyManager | A property manager type. |
Mesh | A mesh type. |
_mesh | The mesh that is used to check if the property exists. |
_propname | The name of the property. |
object OpenMesh::Python::propman_get_item | ( | PropertyManager & | _self, |
IndexHandle | _handle | ||
) |
Implementation of Python's __getitem__ magic method.
PropertyManager | A property manager type. |
IndexHandle | The appropriate handle type. |
_self | The property manager instance that is to be used. |
_handle | The index of the property value to be returned. |
void OpenMesh::Python::propman_set_item | ( | PropertyManager & | _self, |
IndexHandle | _handle, | ||
object | _value | ||
) |
Implementation of Python's __setitem__ magic method.
PropertyManager | A property manager type. |
IndexHandle | The appropriate handle type. |
_self | The property manager instance that is to be used. |
_handle | The index of the property value to be set. |
_value | The property value to be set. |
void OpenMesh::Python::propman_set_range | ( | PropertyManager & | _self, |
Iterator | _it, | ||
object | _value | ||
) |
Conveniently set the property value for an entire range of mesh items using a Python iterator.
PropertyManager | A property manager type. |
Iterator | A Python iterator type. |
_self | The property manager instance that is to be used. |
_it | An iterator that iterates over the items in the range. |
_value | The value the range will be set to. |
void OpenMesh::Python::set_property | ( | Mesh & | _self, |
PropHandle | _ph, | ||
IndexHandle | _h, | ||
const object & | _value | ||
) |
Set the value of a property of an item.
Mesh | A mesh type. |
PropHandle | A property handle type. |
IndexHandle | The appropriate handle type. |
_self | The mesh instance that is to be used. |
_ph | The property that is to be set. |
_h | The handle of the item whose property is to be set. |
_value | The value to be set. |
Depending on OPENMESH_PYTHON_DEFAULT_POLICY, Mesh::property may return by value instead of reference. This function ensures that the property value of an item can be changed nonetheless.
void OpenMesh::Python::set_property | ( | Mesh & | _self, |
PropHandle | _ph, | ||
const object & | _value | ||
) |
Set the value of a mesh property.
Mesh | A mesh type. |
PropHandle | A property handle type. |
_self | The mesh instance that is to be used. |
_ph | The property that is to be set. |
_value | The value to be set. |
Depending on OPENMESH_PYTHON_DEFAULT_POLICY, Mesh::property may return by value instead of reference. This function ensures that the property value of an item can be changed nonetheless.
void OpenMesh::Python::set_status | ( | Mesh & | _self, |
IndexHandle | _h, | ||
const OpenMesh::Attributes::StatusInfo & | _info | ||
) |
Set the status of an item.
Mesh | A mesh type. |
PropHandle | A handle type. |
_self | The mesh instance that is to be used. |
_h | The handle of the item whose status is to be set. |
_info | The status to be set. |
Depending on OPENMESH_PYTHON_DEFAULT_POLICY, Mesh::status may return by value instead of reference. This function ensures that the status of an item can be changed nonetheless.