00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef OPENMESH_CASTS_HH
00027 #define OPENMESH_CASTS_HH
00028
00029
00030 #include <OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh>
00031 #include <OpenMesh/Core/Mesh/TriMesh_ArrayKernelT.hh>
00032
00033
00034 namespace OpenMesh
00035 {
00036
00037 template <class Traits>
00038 inline TriMesh_ArrayKernelT<Traits>& TRIMESH_CAST(PolyMesh_ArrayKernelT<Traits>& _poly_mesh)
00039 { return reinterpret_cast< TriMesh_ArrayKernelT<Traits>& >(_poly_mesh); }
00040
00041 template <class Traits>
00042 inline const TriMesh_ArrayKernelT<Traits>& TRIMESH_CAST(const PolyMesh_ArrayKernelT<Traits>& _poly_mesh)
00043 { return reinterpret_cast< const TriMesh_ArrayKernelT<Traits>& >(_poly_mesh); }
00044
00045 template <class Traits>
00046 inline PolyMesh_ArrayKernelT<Traits>& POLYMESH_CAST(TriMesh_ArrayKernelT<Traits>& _tri_mesh)
00047 { return reinterpret_cast< PolyMesh_ArrayKernelT<Traits>& >(_tri_mesh); }
00048
00049 template <class Traits>
00050 inline const PolyMesh_ArrayKernelT<Traits>& POLYMESH_CAST(const TriMesh_ArrayKernelT<Traits>& _tri_mesh)
00051 { return reinterpret_cast< const PolyMesh_ArrayKernelT<Traits>& >(_tri_mesh); }
00052
00053 };
00054 #endif//OPENMESH_CASTS_HH