1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
/*=========================================================================
Program: ParaView
Module: $RCSfile$
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.
=========================================================================*/
/**
* @class vtkPVKeyFrameAnimationCueForProxies
*
* vtkPVKeyFrameAnimationCueForProxies extends vtkPVKeyFrameAnimationCue to
* update properties on proxies in SetAnimationValue().
*/
#ifndef vtkPVKeyFrameAnimationCueForProxies_h
#define vtkPVKeyFrameAnimationCueForProxies_h
#include "vtkPVKeyFrameAnimationCue.h"
class vtkSMProxy;
class vtkSMProperty;
class vtkSMDomain;
class VTKPVANIMATION_EXPORT vtkPVKeyFrameAnimationCueForProxies : public vtkPVKeyFrameAnimationCue
{
public:
static vtkPVKeyFrameAnimationCueForProxies* New();
vtkTypeMacro(vtkPVKeyFrameAnimationCueForProxies, vtkPVKeyFrameAnimationCue);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
//@{
/**
* Set/Get the animated proxy.
*/
void SetAnimatedProxy(vtkSMProxy*);
vtkGetObjectMacro(AnimatedProxy, vtkSMProxy);
//@}
void RemoveAnimatedProxy();
//@{
/**
* Set/Get the animated property name.
*/
vtkSetStringMacro(AnimatedPropertyName);
vtkGetStringMacro(AnimatedPropertyName);
//@}
//@{
/**
* Set/Get the animated domain name.
*/
vtkSetStringMacro(AnimatedDomainName);
vtkGetStringMacro(AnimatedDomainName);
//@}
//@{
/**
* Used to update the animated item. This API makes it possible for vtk-level
* classes to update properties without actually linking with the
* ServerManager library. This only works since they object are created only
* on the client.
*/
virtual void BeginUpdateAnimationValues() VTK_OVERRIDE;
virtual void SetAnimationValue(int index, double value) VTK_OVERRIDE;
virtual void EndUpdateAnimationValues() VTK_OVERRIDE;
//@}
protected:
vtkPVKeyFrameAnimationCueForProxies();
~vtkPVKeyFrameAnimationCueForProxies();
/**
* Get the property being animated.
*/
vtkSMProperty* GetAnimatedProperty();
/**
* Get the domain being animated.
*/
vtkSMDomain* GetAnimatedDomain();
vtkSMProxy* AnimatedProxy;
char* AnimatedPropertyName;
char* AnimatedDomainName;
int ValueIndexMax;
private:
vtkPVKeyFrameAnimationCueForProxies(
const vtkPVKeyFrameAnimationCueForProxies&) VTK_DELETE_FUNCTION;
void operator=(const vtkPVKeyFrameAnimationCueForProxies&) VTK_DELETE_FUNCTION;
};
#endif
|