5#include <OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh>
7typedef OpenMesh::PolyMesh_ArrayKernelT<> MeshType;
8typedef MeshType::VertexHandle VertexHandle;
9typedef MeshType::FaceHandle FaceHandle;
10typedef MeshType::HalfedgeHandle HalfedgeHandle;
12namespace HalfedgeOperation
15VertexHandle
get_vert(
const MeshType& a_Mesh, HalfedgeHandle& a_HalfedgeHandle,
const std::vector<int> a_Commands);
16VertexHandle
get_vert_fixed_halfedge(
const MeshType& a_Mesh, HalfedgeHandle a_HalfedgeHandle,
const std::vector<int> a_Commands);
18FaceHandle
get_face(
const MeshType& a_Mesh, HalfedgeHandle& a_HalfedgeHandle,
const std::vector<int> a_Commands);
20std::vector<VertexHandle>
get_verts(
const MeshType& a_Mesh, HalfedgeHandle& a_HalfedgeHandle,
const std::vector<int> a_Commands);
21std::vector<VertexHandle>
get_verts_fixed_halfedge(
const MeshType& a_Mesh, HalfedgeHandle a_HalfedgeHandle,
const std::vector<int> a_Commands);
23void init_verts(
const MeshType& a_Mesh, HalfedgeHandle a_HalfedgeHandle, std::vector<VertexHandle>& a_TargetVertexHandles,
24 const std::vector<std::vector<int> >& a_OrderOfVertIdx,
const std::vector<int>& a_CommandForOneSet);
25void init_verts(
const MeshType& a_Mesh, HalfedgeHandle& a_HalfedgeHandle, std::vector<VertexHandle>& a_TargetVertexHandles,
26 const std::vector<int>& a_OrderOfVertIdx,
const std::vector<int>& a_Commands);
27void init_verts_fixed_halfedge(
const MeshType& a_Mesh, HalfedgeHandle a_HalfedgeHandle, std::vector<VertexHandle>& a_TargetVertexHandles,
28 const std::vector<int>& a_OrderOfVertIdx,
const std::vector<int>& a_Commands);
void init_verts(const MeshType &a_Mesh, HalfedgeHandle a_HalfedgeHandle, std::vector< VertexHandle > &a_TargetVertexHandles, const std::vector< std::vector< int > > &a_OrderOfVertIdx, const std::vector< int > &a_CommandForOneSet)
Fill the TargetVertexHandles vector by given the index ordering and commands. The same commands will ...
Definition HalfedgeOperation.cpp:157
VertexHandle get_vert_fixed_halfedge(const MeshType &a_Mesh, HalfedgeHandle a_HalfedgeHandle, const std::vector< int > a_Commands)
Halfedge operation to get one vert.
Definition HalfedgeOperation.cpp:63
VertexHandle get_vert(const MeshType &a_Mesh, HalfedgeHandle &a_HalfedgeHandle, const std::vector< int > a_Commands)
Halfedge operation to get one vert. Will return the last vertex handle if multiple get commands are g...
Definition HalfedgeOperation.cpp:30
std::vector< VertexHandle > get_verts(const MeshType &a_Mesh, HalfedgeHandle &a_HalfedgeHandle, const std::vector< int > a_Commands)
Halfedge operation to get multiple vertices.
Definition HalfedgeOperation.cpp:77
std::vector< VertexHandle > get_verts_fixed_halfedge(const MeshType &a_Mesh, HalfedgeHandle a_HalfedgeHandle, const std::vector< int > a_Commands)
Halfedge operation to get multiple vertices.
Definition HalfedgeOperation.cpp:108
FaceHandle get_face(const MeshType &a_Mesh, HalfedgeHandle &a_HalfedgeHandle, const std::vector< int > a_Commands)
Halfedge operation to get one face.
Definition HalfedgeOperation.cpp:122
void init_verts_fixed_halfedge(const MeshType &a_Mesh, HalfedgeHandle a_HalfedgeHandle, std::vector< VertexHandle > &a_TargetVertexHandles, const std::vector< int > &a_OrderOfVertIdx, const std::vector< int > &a_Commands)
Fill the TargetVertexHandles vector by given the index ordering and commands.
Definition HalfedgeOperation.cpp:202
std::vector< int > duplicate_commands(int a_Times, const std::vector< int > &a_Commands)
Duplicate commands by specific times.
Definition HalfedgeOperation.cpp:218