FCDocument/FCDEffectProfile.h

Go to the documentation of this file.
00001 /*
00002     Copyright (C) 2005-2006 Feeling Software Inc.
00003     MIT License: http://www.opensource.org/licenses/mit-license.php
00004 */
00005 
00011 #ifndef _FCD_EFFECT_PROFILE_H_
00012 #define _FCD_EFFECT_PROFILE_H_
00013 
00014 #include "FUtils/FUDaeEnum.h"
00015 #include "FCDocument/FCDObject.h"
00016 
00017 class FCDocument;
00018 class FCDEffect;
00019 
00032 class FCOLLADA_EXPORT FCDEffectProfile : public FCDObject
00033 {
00034 private:
00035     DeclareObjectType;
00036     FCDEffect* parent;
00037 
00038 public:
00043     FCDEffectProfile(FCDocument* document, FCDEffect* parent);
00044 
00047     virtual ~FCDEffectProfile();
00048 
00053     virtual FUDaeProfileType::Type GetType() const = 0;
00054 
00058     FCDEffect* GetParent() { return parent; }
00059     const FCDEffect* GetParent() const { return parent; } 
00064     const string& GetDaeId() const;
00065 
00072     virtual FCDEffectParameter* FindParameterBySemantic(const string& semantic) = 0;
00073 
00079     virtual void FindParametersBySemantic(const string& semantic, FCDEffectParameterList& parameters) = 0;
00080 
00087     virtual void FindParametersByReference(const string& reference, FCDEffectParameterList& parameters) = 0;
00088 
00092     virtual FCDEffectProfile* Clone(FCDEffect* newParent) = 0;
00093 
00098     virtual void Flatten() = 0;
00099 
00104     virtual FUStatus LoadFromXML(xmlNode* profileNode) = 0;
00105 
00109     virtual xmlNode* WriteToXML(xmlNode* parentNode) const = 0;
00110 };
00111 
00112 #endif // _FCD_EFFECT_PROFILE_H_

Generated on Fri May 12 16:44:38 2006 for FCollada by  doxygen 1.4.6-NO