Home | nevrax.com |
|
animated_morph.cppGo to the documentation of this file.00001 00007 /* Copyright, 2001 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #include "std3d.h" 00027 00028 #include "3d/animated_morph.h" 00029 #include "nel/misc/common.h" 00030 00031 using namespace NLMISC; 00032 00033 namespace NL3D 00034 { 00035 00036 // *************************************************************************** 00037 // *************************************************************************** 00038 // *************************************************************************** 00039 // *************************************************************************** 00040 00041 CMorphBase::CMorphBase() 00042 { 00043 DefaultFactor.setValue (0.0f); 00044 } 00045 00046 // *************************************************************************** 00047 void CMorphBase::serial(NLMISC::IStream &f) 00048 { 00049 f.serial (Name); 00050 } 00051 00052 // *************************************************************************** 00053 // *************************************************************************** 00054 // *************************************************************************** 00055 // *************************************************************************** 00056 00057 00058 // *************************************************************************** 00059 CAnimatedMorph::CAnimatedMorph (CMorphBase*mb) 00060 { 00061 // IAnimatable. 00062 IAnimatable::resize (AnimValueLast); 00063 00064 _MorphBase = mb; 00065 00066 _Factor.affect (mb->DefaultFactor.getValue()); 00067 } 00068 00069 // *************************************************************************** 00070 IAnimatedValue* CAnimatedMorph::getValue (uint valueId) 00071 { 00072 switch(valueId) 00073 { 00074 case FactorValue: return &_Factor; 00075 }; 00076 00077 return NULL; 00078 } 00079 // *************************************************************************** 00080 const char *CAnimatedMorph::getValueName (uint valueId) const 00081 { 00082 switch(valueId) 00083 { 00084 case FactorValue: return "MorphFactor"; 00085 }; 00086 00087 return ""; 00088 } 00089 // *************************************************************************** 00090 ITrack* CAnimatedMorph::getDefaultTrack (uint valueId) 00091 { 00092 //nlassert(_morphBase); 00093 00094 switch(valueId) 00095 { 00096 case FactorValue: return &_DefaultFactor; 00097 }; 00098 00099 return NULL; 00100 } 00101 // *************************************************************************** 00102 void CAnimatedMorph::registerToChannelMixer(CChannelMixer *chanMixer, const std::string &prefix) 00103 { 00104 // For CAnimatedMorph, channels are detailled (morph evaluated after clip)! 00105 addValue(chanMixer, FactorValue, OwnerBit, prefix, true); 00106 00107 } 00108 00109 00110 } // NL3D |