1 #ifndef _DDD_AssetBase_h_
2 #define _DDD_AssetBase_h_
55 class DDD_ObjectEvent;
56 class DDD_ObjectEventSubscriber;
68 virtual void OnAssetAttributeListDeleted(
DDD_AssetBase *asset) = 0;
74 virtual void OnAssetAttributeListAdded(
DDD_AssetBase *asset) = 0;
103 virtual DDD_AssetBase* FindAsset(
const std::string &assetName) = 0;
140 const char* DataDirectorVersion();
157 const char* GetAttributeNames();
165 int NumberOfConnections();
171 int NumberOfAttributes();
181 virtual void RefreshAttributesList();
199 void NotifyAttributeListAdded();
202 void NotifyAttributeListDeleted();
208 virtual const char *Description() = 0;
211 virtual bool Live() = 0;
214 virtual const char* ClassName() = 0;
217 virtual void Start();
223 virtual void Pause();
226 virtual void Resume();
229 virtual void Calculate(
double time) = 0;
235 static bool IsAssetNameLegal(
const std::string& assetName);
240 void RevertAttributes();
243 virtual const char* GetName() {
return GetInstanceName();}
257 virtual void ExecuteLuaScript(
const char *script,
void *userData);
264 virtual bool EvaluateLuaScript(
const char *script,
void *userData);
284 virtual void PopulateAttributeList() = 0;
291 virtual DDD_AttributeBase* GetDictionaryAttribute(
const char *attributeName) = 0;
297 virtual void GenerateInstanceName(
const DDD_AssetList& assetList);
DDD_AttributeContainer. A virtual interface class for containers of attributes.
Definition: DDD_AttributeBase.h:57
A virtual interface class for subscribers to object events.
Definition: DDD_ObjectEventSubscriber.h:52
virtual DDD_AttributeBase * FindAttributeLocalScope(const std::string &name, void *userData)
Definition: DDD_AssetBase.h:251
A virtual interface class for all DataDirector attribute types.
Definition: DDD_AttributeBase.h:87
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
A virtual interface class for all DataDirector assets.
Definition: DDD_AssetBase.h:115
AssetObserverList _assetObserverList
Definition: DDD_AssetBase.h:278
The DDD_AttributeList class. Maintains a list of Data Director attributes.
Definition: DDD_AttributeList.h:52
The DDD_AssetList class. Maintains a list of Data Director assets.
Definition: DDD_AssetList.h:51
A virtual interface class for observers of assets. AssetObservers are able to be notified when an ass...
Definition: DDD_AssetBase.h:61
bool _refreshAttributeList
Definition: DDD_AssetBase.h:125
void * _luaState
Definition: DDD_AssetBase.h:274
The DDD_RevertableAttribute class. Container for.
DDD_AttributeList _attributes
Definition: DDD_AssetBase.h:119
DDD_AssetContainer * GetContainer()
Definition: DDD_AssetBase.h:161
A virtual interface class for containers of assets. Allows assets to find each other, exchange events and update attributes of each other.
Definition: DDD_AssetBase.h:80
The DDD_Base class. Base class for Data Director objects.
Definition: DDD_Base.h:53
DDD_AssetContainer * _container
Definition: DDD_AssetBase.h:129
Definition: AttributeChangedEmitter.h:46
The DDD_ObjectEvent class. A Data Director class for GL Studio object events.
Definition: DDD_ObjectEvent.h:51