# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

animated_morph.cpp

Go 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