FCDocument/FCDEffectPassState.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_PASS_STATE_H_
00015 #define _FCD_EFFECT_PASS_STATE_H_
00016 
00017 #ifndef __FCD_OBJECT_H_
00018 #include "FCDocument/FCDObject.h"
00019 #endif // __FCD_OBJECT_H_
00020 #ifndef _FU_DAE_ENUM_H_
00021 #include "FUtils/FUDaeEnum.h"
00022 #endif // _FU_DAE_ENUM_H_
00023 #ifndef _FU_PARAMETER_H_
00024 #include "FUtils/FUParameter.h"
00025 #endif // _FU_PARAMETER_H_
00026 
00036 class FCOLLADA_EXPORT FCDEffectPassState : public FCDObject
00037 {
00038 private:
00039     DeclareObjectType(FCDObject);
00040     DeclareParameter(uint32, FUParameterQualifiers::SIMPLE, type, FC("Type")); // FUDaePassState::State
00041 
00042     // Data remains state-specific, un-parameterizable and will
00043     // pretty much always require custom UI.
00044     uint8* data;
00045     size_t dataSize;
00046 
00047 public:
00054     FCDEffectPassState(FCDocument* document, FUDaePassState::State renderState);
00055 
00057     virtual ~FCDEffectPassState();
00058 
00061     FUDaePassState::State GetType() const { return (FUDaePassState::State) *type; }
00062 
00065     size_t GetDataSize() const { return dataSize; }
00066 
00069     uint8* GetData() { return data; }
00070     const uint8* GetData() const { return data; } 
00074     void SetDefaultValue();
00075 
00081     FCDEffectPassState* Clone(FCDEffectPassState* clone = NULL) const;
00082 };
00083 
00084 #endif // _FCD_EFFECT_PASS_STATE_H_

Generated on Thu Feb 14 16:58:34 2008 for FCollada by  doxygen 1.4.6-NO