VDirectorTrack.cpp
Engine/source/Verve/Extension/Director/VDirectorTrack.cpp
Public Functions
Detailed Description
Public Functions
IMPLEMENT_CONOBJECT(VDirectorTrack )
1 2//----------------------------------------------------------------------------- 3// Verve 4// Copyright (C) 2014 - Violent Tulip 5// 6// Permission is hereby granted, free of charge, to any person obtaining a copy 7// of this software and associated documentation files (the "Software"), to 8// deal in the Software without restriction, including without limitation the 9// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10// sell copies of the Software, and to permit persons to whom the Software is 11// furnished to do so, subject to the following conditions: 12// 13// The above copyright notice and this permission notice shall be included in 14// all copies or substantial portions of the Software. 15// 16// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22// IN THE SOFTWARE. 23//----------------------------------------------------------------------------- 24#include "Verve/Extension/Director/VDirectorTrack.h" 25 26#include "math/mMathFn.h" 27 28//----------------------------------------------------------------------------- 29IMPLEMENT_CONOBJECT( VDirectorTrack ); 30//----------------------------------------------------------------------------- 31 32VDirectorTrack::VDirectorTrack( void ) 33{ 34 setLabel( "DirectorTrack" ); 35} 36 37#ifdef VT_EDITOR 38//----------------------------------------------------------------------------- 39// 40// Debug Methods. 41// 42//----------------------------------------------------------------------------- 43 44DefineEngineMethod( VDirectorTrack, updateTrack, void, (),, "( void ) - Update the Track.\n" 45 "@return No return value." ) 46{ 47 for ( ITreeNode *node = object->mChildNode; node != NULL; node = node->mSiblingNextNode ) 48 { 49 VEvent *currEvent = ( VEvent* )node; 50 VEvent *nextEvent = ( VEvent* )node->mSiblingNextNode; 51 52 if ( !nextEvent ) 53 { 54 // Update Duration. 55 currEvent->setDuration( object->getControllerDuration() - currEvent->getTriggerTime() ); 56 } 57 else 58 { 59 // Update Duration. 60 currEvent->setDuration( mAbs( nextEvent->getTriggerTime() - currEvent->getTriggerTime() ) ); 61 } 62 } 63} 64#endif 65