![]() |
Tulip
4.6.0
Better Visualization Through Research
|
00001 /* 00002 * 00003 * This file is part of Tulip (www.tulip-software.org) 00004 * 00005 * Authors: David Auber and the Tulip development Team 00006 * from LaBRI, University of Bordeaux 00007 * 00008 * Tulip is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License 00010 * as published by the Free Software Foundation, either version 3 00011 * of the License, or (at your option) any later version. 00012 * 00013 * Tulip is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 * See the GNU General Public License for more details. 00017 * 00018 */ 00019 ///@cond DOXYGEN_HIDDEN 00020 00021 #ifndef VECTORPROPERTYANIMATION_H_ 00022 #define VECTORPROPERTYANIMATION_H_ 00023 00024 #include "tulip/CachedPropertyAnimation.h" 00025 00026 namespace tlp { 00027 00028 template<typename PropType, typename RealType, typename VectorType, unsigned int SIZE> 00029 class VectorPropertyAnimation: public CachedPropertyAnimation<PropType, RealType, RealType> { 00030 public: 00031 VectorPropertyAnimation(tlp::Graph *graph, PropType *start, PropType *end, PropType *out, tlp::BooleanProperty *selection = NULL, int frameCount = 1, 00032 bool computeNodes = true, bool computeEdges = true, QObject* parent=NULL); 00033 00034 virtual ~VectorPropertyAnimation() {} 00035 00036 protected: 00037 virtual RealType 00038 getNodeFrameValue(const RealType &startValue, const RealType &endValue, int frame); 00039 virtual RealType 00040 getEdgeFrameValue(const RealType &startValue, const RealType &endValue, int frame); 00041 00042 private: 00043 typedef tlp::Vector<VectorType, SIZE> PropVector; 00044 00045 std::map<std::pair<tlp::Vector<VectorType, SIZE>, tlp::Vector<VectorType, SIZE> >, tlp::Vector<double, SIZE> > steps; 00046 }; 00047 00048 #include "cxx/VectorPropertyAnimation.cxx" 00049 00050 } 00051 00052 #endif /* VECTORPROPERTYANIMATION_H_ */ 00053 ///@endcond