00001 #ifndef OPENTISSUE_KINEMATICS_SKINNING_SKINNING_SKIN_TRAITS_H 00002 #define OPENTISSUE_KINEMATICS_SKINNING_SKINNING_SKIN_TRAITS_H 00003 // 00004 // OpenTissue Template Library 00005 // - A generic toolbox for physics-based modeling and simulation. 00006 // Copyright (C) 2008 Department of Computer Science, University of Copenhagen. 00007 // 00008 // OTTL is licensed under zlib: http://opensource.org/licenses/zlib-license.php 00009 // 00010 #include <OpenTissue/configuration.h> 00011 00012 00013 00014 namespace OpenTissue 00015 { 00016 namespace skinning 00017 { 00018 00019 template<typename types> 00020 class SkinVertexTraits 00021 { 00022 public: 00023 00024 typedef typename types::vector3_type vector3_type; 00025 typedef typename types::real_type real_type; 00026 00027 public: 00028 vector3_type m_coord; 00029 vector3_type m_normal; 00030 real_type m_u; 00031 real_type m_v; 00032 vector3_type m_color; 00033 int m_tag; 00034 00035 //--- Members used for skinning 00036 vector3_type m_original_coord; // Moved by spreak - now we can use vertex arrrays :-) 00037 vector3_type m_original_normal; 00038 00039 size_t m_key; // Used by SBS skinning 00040 int m_influences; 00041 size_t m_bone[4]; 00042 real_type m_weight[4]; 00043 // Note: weights/bones reset to 4 from 6 by spreak (to enable GPU skinning) 00044 }; 00045 00046 template<typename types> 00047 class SkinFaceTraits 00048 { 00049 public: 00050 00051 }; 00052 00053 } // namespace skinning 00054 } // namespace OpenTissue 00055 00056 //OPENTISSUE_KINEMATICS_SKINNING_SKINNING_SKIN_TRAITS_H 00057 #endif