Revision: 16372
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16372
Author:   sirdude
Date:     2008-09-05 04:29:59 +0200 (Fri, 05 Sep 2008)

Log Message:
-----------
Found dos line endings.  (removed them)

Kent

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp        
2008-09-05 00:28:17 UTC (rev 16371)
+++ trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp        
2008-09-05 02:29:59 UTC (rev 16372)
@@ -1,789 +1,789 @@
-/**
-* $Id$
-*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
-*/
-
-#if defined (__sgi)
-#include <math.h>
-#else
-#include <cmath>
-#endif
-
-#include "SCA_LogicManager.h"
-#include "BL_ShapeActionActuator.h"
-#include "BL_ActionActuator.h"
-#include "BL_ShapeDeformer.h"
-#include "KX_GameObject.h"
-#include "STR_HashedString.h"
-#include "DNA_action_types.h"
-#include "DNA_nla_types.h"
-#include "DNA_actuator_types.h"
-#include "BKE_action.h"
-#include "DNA_armature_types.h"
-#include "MEM_guardedalloc.h"
-#include "BLI_blenlib.h"
-#include "BLI_arithb.h"
-#include "MT_Matrix4x4.h"
-#include "BKE_utildefines.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-BL_ShapeActionActuator::~BL_ShapeActionActuator()
-{
-}
-
-void BL_ShapeActionActuator::ProcessReplica()
-{
-       m_localtime=m_startframe;
-       m_lastUpdate=-1;
-}
-
-void BL_ShapeActionActuator::SetBlendTime (float newtime)
-{
-       m_blendframe = newtime;
-}
-
-CValue* BL_ShapeActionActuator::GetReplica() 
-{
-       BL_ShapeActionActuator* replica = new 
BL_ShapeActionActuator(*this);//m_float,GetName());
-       replica->ProcessReplica();
-       
-       // this will copy properties and so on...
-       CValue::AddDataToReplica(replica);
-       return replica;
-}
-
-bool BL_ShapeActionActuator::ClampLocalTime()
-{
-       if (m_startframe < m_endframe)  {
-               if (m_localtime < m_startframe)
-               {
-                       m_localtime = m_startframe;
-                       return true;
-               } 
-               else if (m_localtime > m_endframe)
-               {
-                       m_localtime = m_endframe;
-                       return true;
-               }
-       } else {
-               if (m_localtime > m_startframe)
-               {
-                       m_localtime = m_startframe;
-                       return true;
-               }
-               else if (m_localtime < m_endframe)
-               {
-                       m_localtime = m_endframe;
-                       return true;
-               }
-       }
-       return false;
-}
-
-void BL_ShapeActionActuator::SetStartTime(float curtime)
-{
-       float direction = m_startframe < m_endframe ? 1.0 : -1.0;
-       
-       if (!(m_flag & ACT_FLAG_REVERSE))
-               m_starttime = curtime - direction*(m_localtime - 
m_startframe)/KX_KetsjiEngine::GetAnimFrameRate();
-       else
-               m_starttime = curtime - direction*(m_endframe - 
m_localtime)/KX_KetsjiEngine::GetAnimFrameRate();
-}
-
-void BL_ShapeActionActuator::SetLocalTime(float curtime)
-{
-       float delta_time = (curtime - 
m_starttime)*KX_KetsjiEngine::GetAnimFrameRate();
-       
-       if (m_endframe < m_startframe)
-               delta_time = -delta_time;
-
-       if (!(m_flag & ACT_FLAG_REVERSE))
-               m_localtime = m_startframe + delta_time;
-       else
-               m_localtime = m_endframe - delta_time;
-}
-
-void BL_ShapeActionActuator::BlendShape(Key* key, float srcweight)
-{
-       vector<float>::const_iterator it;
-       float dstweight;
-       KeyBlock *kb;
-       
-       dstweight = 1.0F - srcweight;
-
-       for (it=m_blendshape.begin(), kb = (KeyBlock*)key->block.first; 
-                kb && it != m_blendshape.end(); 
-                kb = (KeyBlock*)kb->next, it++) {
-               kb->curval = kb->curval * dstweight + (*it) * srcweight;
-       }
-}
-
-bool BL_ShapeActionActuator::Update(double curtime, bool frame)
-{
-       bool bNegativeEvent = false;
-       bool bPositiveEvent = false;
-       bool keepgoing = true;
-       bool wrap = false;
-       bool apply=true;
-       int     priority;
-       float newweight;
-       
-       // result = true if animation has to be continued, false if animation 
stops
-       // maybe there are events for us in the queue !
-       if (frame)
-       {
-               for (vector<CValue*>::iterator i=m_events.begin(); 
!(i==m_events.end());i++)
-               {
-                       if ((*i)->GetNumber() == 0.0f)
-                               bNegativeEvent = true;
-                       else
-                               bPositiveEvent= true;
-                       (*i)->Release();
-               
-               }
-               m_events.clear();
-               
-               if (bPositiveEvent)
-                       m_flag |= ACT_FLAG_ACTIVE;
-               
-               if (bNegativeEvent)
-               {
-                       if (!(m_flag & ACT_FLAG_ACTIVE))
-                               return false;
-                       m_flag &= ~ACT_FLAG_ACTIVE;
-               }
-       }
-       
-       /*      This action can only be attached to a deform object */
-       BL_DeformableGameObject *obj = (BL_DeformableGameObject*)GetParent();
-       float length = m_endframe - m_startframe;
-       
-       priority = m_priority;
-       
-       /* Determine pre-incrementation behaviour and set appropriate flags */
-       switch (m_playtype){
-       case ACT_ACTION_MOTION:
-               if (bNegativeEvent){
-                       keepgoing=false;
-                       apply=false;
-               };
-               break;
-       case ACT_ACTION_FROM_PROP:
-               if (bNegativeEvent){
-                       apply=false;
-                       keepgoing=false;
-               }
-               break;
-       case ACT_ACTION_LOOP_END:
-               if (bPositiveEvent){
-                       if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-                               m_flag &= ~ACT_FLAG_KEYUP;
-                               m_flag &= ~ACT_FLAG_REVERSE;
-                               m_flag |= ACT_FLAG_LOCKINPUT;
-                               m_localtime = m_startframe;
-                               m_starttime = curtime;
-                       }
-               }
-               if (bNegativeEvent){
-                       m_flag |= ACT_FLAG_KEYUP;
-               }
-               break;
-       case ACT_ACTION_LOOP_STOP:
-               if (bPositiveEvent){
-                       if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-                               m_flag &= ~ACT_FLAG_REVERSE;
-                               m_flag &= ~ACT_FLAG_KEYUP;
-                               m_flag |= ACT_FLAG_LOCKINPUT;
-                               SetStartTime(curtime);
-                       }
-               }
-               if (bNegativeEvent){
-                       m_flag |= ACT_FLAG_KEYUP;
-                       m_flag &= ~ACT_FLAG_LOCKINPUT;
-                       keepgoing=false;
-                       apply=false;
-               }
-               break;
-       case ACT_ACTION_FLIPPER:
-               if (bPositiveEvent){
-                       if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-                               m_flag &= ~ACT_FLAG_REVERSE;
-                               m_flag |= ACT_FLAG_LOCKINPUT;
-                               SetStartTime(curtime);
-                       }
-               }
-               else if (bNegativeEvent){
-                       m_flag |= ACT_FLAG_REVERSE;
-                       m_flag &= ~ACT_FLAG_LOCKINPUT;
-                       SetStartTime(curtime);
-               }
-               break;
-       case ACT_ACTION_PLAY:
-               if (bPositiveEvent){
-                       if (!(m_flag & ACT_FLAG_LOCKINPUT)){
-                               m_flag &= ~ACT_FLAG_REVERSE;
-                               m_localtime = m_starttime;
-                               m_starttime = curtime;
-                               m_flag |= ACT_FLAG_LOCKINPUT;
-                       }
-               }
-               break;
-       default:
-               break;
-       }
-       
-       /* Perform increment */
-       if (keepgoing){
-               if (m_playtype == ACT_ACTION_MOTION){
-                       MT_Point3       newpos;
-                       MT_Point3       deltapos;
-                       
-                       newpos = obj->NodeGetWorldPosition();
-                       
-                       /* Find displacement */
-                       deltapos = newpos-m_lastpos;
-                       m_localtime += (length/m_stridelength) * 
deltapos.length();
-                       m_lastpos = newpos;
-               }
-               else{
-                       SetLocalTime(curtime);
-               }
-       }
-       
-       /* Check if a wrapping response is needed */
-       if (length){
-               if (m_localtime < m_startframe || m_localtime > m_endframe)
-               {
-                       m_localtime = m_startframe + fmod(m_localtime, length);
-                       wrap = true;
-               }
-       }
-       else
-               m_localtime = m_startframe;
-       
-       /* Perform post-increment tasks */
-       switch (m_playtype){
-       case ACT_ACTION_FROM_PROP:
-               {
-                       CValue* propval = GetParent()->GetProperty(m_propname);
-                       if (propval)
-                               m_localtime = propval->GetNumber();
-                       
-                       if (bNegativeEvent){
-                               keepgoing=false;
-                       }
-               }
-               break;
-       case ACT_ACTION_MOTION:
-               break;
-       case ACT_ACTION_LOOP_STOP:
-               break;
-       case ACT_ACTION_FLIPPER:
-               if (wrap){
-                       if (!(m_flag & ACT_FLAG_REVERSE)){
-                               m_localtime=m_endframe;
-                               //keepgoing = false;
-                       }
-                       else {
-                               m_localtime=m_startframe;
-                               keepgoing = false;
-                       }
-               }
-               break;
-       case ACT_ACTION_LOOP_END:
-               if (wrap){
-                       if (m_flag & ACT_FLAG_KEYUP){
-                               keepgoing = false;
-                               m_localtime = m_endframe;
-                               m_flag &= ~ACT_FLAG_LOCKINPUT;
-                       }
-                       SetStartTime(curtime);
-               }
-               break;
-       case ACT_ACTION_PLAY:
-               if (wrap){
-                       m_localtime = m_endframe;
-                       keepgoing = false;
-                       m_flag &= ~ACT_FLAG_LOCKINPUT;
-               }
-               break;
-       default:
-               keepgoing = false;
-               break;
-       }
-       
-       
-       if (bNegativeEvent)
-               m_blendframe=0.0f;
-       
-       /* Apply the pose if necessary*/
-       if (apply) {
-
-               /* Priority test */
-               if (obj->SetActiveAction(this, priority, curtime)){
-                       Key *key = obj->GetKey();
-
-                       if (!key) {
-                               // this could happen if the mesh was changed in 
the middle of an action
-                               // and the new mesh has no key, stop the action
-                               keepgoing = false;
-                       }
-                       else {
-                               ListBase tchanbase= {NULL, NULL};
-                       
-                               if (m_blendin && m_blendframe==0.0f){
-                                       // this is the start of the blending, 
remember the startup shape
-                                       obj->GetShape(m_blendshape);
-                                       m_blendstart = curtime;
-                               }
-                               // only interested in shape channel
-                               extract_ipochannels_from_action(&tchanbase, 
&key->id, m_action, "Shape", m_localtime);
-               
-                               if (!execute_ipochannels(&tchanbase)) {
-                                       // no update, this is possible if 
action does not match the keys, stop the action
-                                       keepgoing = false;
-                               } 
-                               else {
-                                       // the key have changed, apply blending 
if needed
-                                       if (m_blendin && 
(m_blendframe<m_blendin)){
-                                               newweight = 
(m_blendframe/(float)m_blendin);
-
-                                               BlendShape(key, 1.0f - 
newweight);
-
-                                               /* Increment current blending 
percentage */
-                                               m_blendframe = (curtime - 
m_blendstart)*KX_KetsjiEngine::GetAnimFrameRate();
-                                               if (m_blendframe>m_blendin)
-                                                       m_blendframe = 
m_blendin;
-                                       }
-                                       m_lastUpdate = m_localtime;
-                               }
-                               BLI_freelistN(&tchanbase);
-                       }
-               }
-               else{
-                       m_blendframe = 0.0f;
-               }
-       }
-       
-       if (!keepgoing){
-               m_blendframe = 0.0f;
-       }
-       return keepgoing;
-};
-
-/* ------------------------------------------------------------------------- */
-/* Python functions                                                          */
-/* ------------------------------------------------------------------------- */
-
-/* Integration hooks ------------------------------------------------------- */
-
-PyTypeObject BL_ShapeActionActuator::Type = {
-       PyObject_HEAD_INIT(&PyType_Type)
-               0,
-               "BL_ShapeActionActuator",
-               sizeof(BL_ShapeActionActuator),
-               0,
-               PyDestructor,
-               0,
-               __getattr,
-               __setattr,
-               0, //&MyPyCompare,
-               __repr,
-               0, //&cvalue_as_number,
-               0,
-               0,
-               0,
-               0
-};
-
-PyParentObject BL_ShapeActionActuator::Parents[] = {

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to