diff --git a/src/OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh b/src/OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh index 3012c266..16f8f5c8 100644 --- a/src/OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh +++ b/src/OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh @@ -74,7 +74,8 @@ namespace OpenMesh { - +template +class TriMesh_ArrayKernelT; //== CLASS DEFINITION ========================================================= /// Helper class to build a PolyMesh-type @@ -97,7 +98,18 @@ struct PolyMesh_ArrayKernel_GeneratorT template class PolyMesh_ArrayKernelT : public PolyMesh_ArrayKernel_GeneratorT::Mesh -{}; +{ +public: + PolyMesh_ArrayKernelT() {} + template + PolyMesh_ArrayKernelT( const TriMesh_ArrayKernelT & t) + { + //assign the connectivity (add vertices) + this->assign(t); + //copy properties from triMesh + this->copy_all_kernel_properties(t); + } +}; //============================================================================= diff --git a/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh b/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh index c179051a..f29cbe0c 100644 --- a/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh +++ b/src/OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh @@ -74,7 +74,8 @@ namespace OpenMesh { - +template +class PolyMesh_ArrayKernelT; //== CLASS DEFINITION ========================================================= @@ -97,7 +98,18 @@ struct TriMesh_ArrayKernel_GeneratorT template class TriMesh_ArrayKernelT : public TriMesh_ArrayKernel_GeneratorT::Mesh -{}; +{ +public: + TriMesh_ArrayKernelT() {} + template + TriMesh_ArrayKernelT( const PolyMesh_ArrayKernelT & t) + { + //assign the connectivity (add vertices) + this->assign(t); + //copy properties from polyMesh + this->copy_all_kernel_properties(t); + } +}; //=============================================================================