- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# FCDocument/FCDEffectProfile.h

Go to the documentation of this file.

    00001 /*
    00002     Copyright (C) 2005-2007 Feeling Software Inc.
    00003     Portions of the code are:
    00004     Copyright (C) 2005-2007 Sony Computer Entertainment America
    00005
    00006     MIT License: http://www.opensource.org/licenses/mit-license.php
    00007 */
    00008
    00014 #ifndef _FCD_EFFECT_PROFILE_H_
    00015 #define _FCD_EFFECT_PROFILE_H_
    00016
    00017 #ifndef _FU_DAE_ENUM_H_
    00018 #include "FUtils/FUDaeEnum.h"
    00019 #endif // _FU_DAE_ENUM_H_
    00020 #ifndef __FCD_OBJECT_H_
    00021 #include "FCDocument/FCDObject.h"
    00022 #endif // __FCD_OBJECT_H_
    00023
    00024 class FCDocument;
    00025 class FCDEffect;
    00026 class FCDEffectParameter;
    00027 class FCDExtra;
    00028
    00041 class FCOLLADA_EXPORT FCDEffectProfile : public FCDObject
    00042 {
    00043 private:
    00044     DeclareObjectType(FCDObject);
    00045     FCDEffect* parent;
    00046     DeclareParameterContainer(FCDEffectParameter, parameters, FC("Effect Parameters"));
    00047     DeclareParameterRef(FCDExtra, extra, FC("Extra Tree"));
    00048
    00049 public:
    00054     FCDEffectProfile(FCDocument* document, FCDEffect* parent);
    00055
    00057     virtual ~FCDEffectProfile();
    00058
    00063     virtual FUDaeProfileType::Type GetType() const = 0;
    00064
    00068     FCDEffect* GetParent() { return parent; }
    00069     const FCDEffect* GetParent() const { return parent; }
    00074     DEPRECATED(3.05A, GetParent()->GetDaeId) const fm::string& GetDaeId() const { return emptyString; }
    00075
    00080     inline FCDExtra* GetExtra() { return extra; }
    00081     inline const FCDExtra* GetExtra() const { return extra; }
    00089     virtual FCDEffectProfile* Clone(FCDEffectProfile* clone = NULL) const;
    00090
    00093     inline size_t GetEffectParameterCount() const { return parameters.size(); }
    00094
    00098     inline FCDEffectParameter* GetEffectParameter(size_t index) { FUAssert(index < parameters.size(), return NULL); return parameters.at(index); }
    00099     inline const FCDEffectParameter* GetEffectParameter(size_t index) const { FUAssert(index < parameters.size(), return NULL); return parameters.at(index); }
    00100
    00105     FCDEffectParameter* AddEffectParameter(uint32 type);
    00106
    00111     DEPRECATED(3.05A, not recommended) void Flatten() {}
    00112 };
    00113
    00114 #endif // _FCD_EFFECT_PROFILE_H_