mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
ParaView-5.0.1: Added the source-tree to ThirdParty-dev and patched as described in the README file
Resolves bug-report http://bugs.openfoam.org/view.php?id=2098
This commit is contained in:
82
ParaView-5.0.1/ParaViewCore/Animation/vtkPVRampKeyFrame.cxx
Normal file
82
ParaView-5.0.1/ParaViewCore/Animation/vtkPVRampKeyFrame.cxx
Normal file
@ -0,0 +1,82 @@
|
||||
/*=========================================================================
|
||||
|
||||
Program: ParaView
|
||||
Module: vtkPVRampKeyFrame.cxx
|
||||
|
||||
Copyright (c) Kitware, Inc.
|
||||
All rights reserved.
|
||||
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even
|
||||
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the above copyright notice for more information.
|
||||
|
||||
=========================================================================*/
|
||||
#include "vtkPVRampKeyFrame.h"
|
||||
|
||||
#include "vtkObjectFactory.h"
|
||||
#include "vtkPVAnimationCue.h"
|
||||
|
||||
vtkStandardNewMacro(vtkPVRampKeyFrame);
|
||||
//----------------------------------------------------------------------------
|
||||
vtkPVRampKeyFrame::vtkPVRampKeyFrame()
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
vtkPVRampKeyFrame::~vtkPVRampKeyFrame()
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// remeber that currenttime is 0 at the KeyTime of this key frame
|
||||
// and 1 and the KeyTime of the next key frame. Hence,
|
||||
// currenttime belongs to the interval [0,1).
|
||||
void vtkPVRampKeyFrame::UpdateValue(double currenttime,
|
||||
vtkPVAnimationCue* cue, vtkPVKeyFrame* next)
|
||||
{
|
||||
if (!next)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
cue->BeginUpdateAnimationValues();
|
||||
int animated_element = cue->GetAnimatedElement();
|
||||
if (animated_element != -1)
|
||||
{
|
||||
double vmax = next->GetKeyValue();
|
||||
double vmin = this->GetKeyValue();
|
||||
double value = vmin + currenttime * (vmax - vmin);
|
||||
cue->SetAnimationValue(animated_element, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned int i;
|
||||
unsigned int start_novalues = this->GetNumberOfKeyValues();
|
||||
unsigned int end_novalues = next->GetNumberOfKeyValues();
|
||||
unsigned int min = (start_novalues < end_novalues)
|
||||
? start_novalues : end_novalues;
|
||||
|
||||
// interpolate comman indices.
|
||||
for (i=0; i < min; i++)
|
||||
{
|
||||
double vmax = next->GetKeyValue(i);
|
||||
double vmin = this->GetKeyValue(i);
|
||||
double value = vmin + currenttime * (vmax - vmin);
|
||||
cue->SetAnimationValue(i, value);
|
||||
}
|
||||
|
||||
// add any additional indices in start key frame.
|
||||
for (i = min; i < start_novalues; i++)
|
||||
{
|
||||
cue->SetAnimationValue(i, this->GetKeyValue(i));
|
||||
}
|
||||
}
|
||||
cue->EndUpdateAnimationValues();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void vtkPVRampKeyFrame::PrintSelf(ostream& os, vtkIndent indent)
|
||||
{
|
||||
this->Superclass::PrintSelf(os, indent);
|
||||
}
|
||||
Reference in New Issue
Block a user