OPTPiX SpriteStudio SDK
Loading...
Searching...
No Matches
ssattribute.h
Go to the documentation of this file.
1#ifndef __SSATRIBUTE__
2#define __SSATRIBUTE__
3
4#include "sstypes.h"
5#include "ssvalue.h"
6#include "ssInterpolation.h"
7#include <list>
8#include <map>
9
10
11namespace spritestudio6
12{
13
14
15//アニメーション中のキーフレームの内容を表現するクラス
44
45typedef std::vector<SsKeyframe*> AttributeKeyList;
46typedef std::map<int,SsKeyframe*> AttributeKeyDic;
47
48
49//タグ毎に存在するキーフレームを格納するクラス
50class SsAttribute //Tag毎に存在する
51{
52
53public:
54 //キーフレームデータ : Value(タグによって異なるの組み)
57
59
60public:
62 virtual ~SsAttribute(){
63 for ( AttributeKeyList::iterator itr = key.begin() ;
64 itr != key.end() ; itr ++ ) delete (*itr);
65 }
66
67
69 {
72
73 key_dic.clear();
74 for ( AttributeKeyList::iterator itr = key.begin() ; itr != key.end() ; itr++)
75 {
76 int time = (*itr)->time;
77 SsKeyframe* key = (*itr);
78 key_dic[time] = key;
79 }
80 }
81
82 bool isEmpty()
83 {
84 return key.empty();
85 }
86
87 const SsKeyframe* firstKey();
88
90 const SsKeyframe* findLeftKey( int time );
91
92 //時間から右側のキーを取得する
93 const SsKeyframe* findRightKey( int time );
94
95
96};
97
98
99void GetSsPartsColorValue( const SsKeyframe* key , SsPartsColorAnime& v );
100void GetSsColorValue(const SsKeyframe* key, SsColorAnime& v);
101void GetSsShaderValue(const SsKeyframe* key, SsShaderAnime& v);
102void GetSsVertexAnime( const SsKeyframe* key , SsVertexAnime& v );
103void GetSsRefCell( const SsKeyframe* key , SsRefCell& v );
104void GetSsUserDataAnime( const SsKeyframe* key , SsUserDataAnime& v );
105void GetSsSignalAnime( const SsKeyframe* key , SsSignalAttr& v );
106void GetSsInstparamAnime( const SsKeyframe* key , SsInstanceAttr& v );
107void GetSsEffectParamAnime( const SsKeyframe* key , SsEffectAttr& v );
108void GetSsDeformAnime(const SsKeyframe* key, SsDeformAttr& v);
109
110
111} // namespace spritestudio6
112
113#endif
bool isEmpty()
Definition ssattribute.h:82
SsAttribute()
Definition ssattribute.h:61
const SsKeyframe * firstKey()
Definition ssattribute.cpp:10
AttributeKeyList key
Definition ssattribute.h:56
const SsKeyframe * findRightKey(int time)
Definition ssattribute.cpp:51
virtual ~SsAttribute()
Definition ssattribute.h:62
AttributeKeyDic key_dic
Definition ssattribute.h:58
SPRITESTUDIO6SDK_SSAR_DECLARE_LISTEX(key, "")
SPRITESTUDIO6SDK_SERIALIZE_BLOCK
Definition ssattribute.h:69
SsAttributeKind::_enum tag
Definition ssattribute.h:55
const SsKeyframe * findLeftKey(int time)
時間から左側のキーを取得
Definition ssattribute.cpp:20
曲線補間計算用パラメータ
Definition sstypes.h:355
Definition ssattribute.h:17
SsCurve curve
曲線補間計算用パラメータ
Definition ssattribute.h:21
virtual ~SsKeyframe()
Definition ssattribute.h:28
SPRITESTUDIO6SDK_SSAR_DECLARE_ATTRIBUTE_ENUM(ipType)
SsValue value
Definition ssattribute.h:22
SsKeyframe()
Definition ssattribute.h:24
SPRITESTUDIO6SDK_SERIALIZE_BLOCK
Definition ssattribute.h:31
int time
時間
Definition ssattribute.h:19
SsInterpolationType::_enum ipType
補間タイプ
Definition ssattribute.h:20
Definition ssvalue.h:23
GLdouble v
Definition glad.h:2712
_enum
Definition sstypes.h:534
補間モードの定義
Definition sstypes.h:483
_enum
Definition sstypes.h:485
Definition ISsEffectRender.h:5
void GetSsPartsColorValue(const SsKeyframe *key, SsPartsColorAnime &v)
Definition ssattribute.cpp:67
void GetSsInstparamAnime(const SsKeyframe *key, SsInstanceAttr &v)
Definition ssattribute.cpp:288
void GetSsUserDataAnime(const SsKeyframe *key, SsUserDataAnime &v)
Definition ssattribute.cpp:179
void GetSsShaderValue(const SsKeyframe *key, SsShaderAnime &v)
Definition ssattribute.cpp:145
void GetSsRefCell(const SsKeyframe *key, SsRefCell &v)
Definition ssattribute.cpp:169
void GetSsColorValue(const SsKeyframe *key, SsColorAnime &v)
Definition ssattribute.cpp:106
void GetSsDeformAnime(const SsKeyframe *key, SsDeformAttr &v)
Definition ssattribute.cpp:339
std::vector< SsKeyframe * > AttributeKeyList
Definition ssattribute.h:45
std::map< int, SsKeyframe * > AttributeKeyDic
Definition ssattribute.h:46
void GetSsEffectParamAnime(const SsKeyframe *key, SsEffectAttr &v)
Definition ssattribute.cpp:271
void GetSsVertexAnime(const SsKeyframe *key, SsVertexAnime &v)
Definition ssattribute.cpp:155
void GetSsSignalAnime(const SsKeyframe *key, SsSignalAttr &v)
Definition ssattribute.cpp:215
bool SsNeedsCurveParams(SsInterpolationType::_enum type)
補間でカーブパラメータが必要なタイプか判定する
Definition ssInterpolation.h:10
#define SPRITESTUDIO6SDK_SSAR_DECLARE_ATTRIBUTE_ENUM(t)
Definition ssarchiver.h:272
#define SPRITESTUDIO6SDK_SSAR_DECLARE_ATTRIBUTE(t)
Definition ssarchiver.h:216
#define SPRITESTUDIO6SDK_SSAR_DECLARE(t)
Definition ssarchiver.h:215