Merge branch 'main/rendor-staging' into fixes
[ryzomcore.git] / nel / src / 3d / skeleton_weight.cpp
blob2f9c412c1dda2f9190be3184c6d748c7d181f71b
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #include "std3d.h"
19 #include "nel/3d/skeleton_weight.h"
20 #include "nel/misc/stream.h"
22 #ifdef DEBUG_NEW
23 #define new DEBUG_NEW
24 #endif
26 namespace NL3D
30 // ***************************************************************************
32 uint CSkeletonWeight::getNumNode () const
34 return (uint)_Elements.size();
37 // ***************************************************************************
39 const std::string& CSkeletonWeight::getNodeName (uint node) const
41 // Return the name of the n-th node
42 return _Elements[node].Name;
45 // ***************************************************************************
47 float CSkeletonWeight::getNodeWeight (uint node) const
49 // Return the name of the n-th node
50 return _Elements[node].Weight;
53 // ***************************************************************************
55 void CSkeletonWeight::build (const TNodeArray& array)
57 // Copy the array
58 _Elements=array;
61 // ***************************************************************************
63 void CSkeletonWeight::serial (NLMISC::IStream& f)
65 // Serial a header
66 f.serialCheck (NELID("TWKS"));
68 // Serial a version number
69 (void)f.serialVersion (0);
71 // Serial the array
72 f.serialCont (_Elements);
75 // ***************************************************************************
77 void CSkeletonWeight::CNode::serial (NLMISC::IStream& f)
79 // Serial a version number
80 (void)f.serialVersion (0);
82 // Serial the name
83 f.serial (Name);
85 // Serial the weight
86 f.serial (Weight);
89 // ***************************************************************************
91 } // NL3D