IParticleChannelTabUVVert.h

Go to the documentation of this file.
00001 
00008 /**********************************************************************
00009  *<
00010     CREATED BY: Oleg Bayborodin
00011 
00012     HISTORY: created 06-19-02
00013 
00014  *> Copyright (c) 2001, All Rights Reserved.
00015  **********************************************************************/
00016 
00017 #pragma once
00018 
00019 #include "PFExport.h"
00020 #include "..\ifnpub.h"
00021 #include "..\tab.h"
00022 #include "..\point3.h"
00023 
00024 #define TabUVVert Tab<UVVert>
00025 
00026 // standard particle channel "Tab<UVVert>"
00027 // interface ID
00028 #define PARTICLECHANNELTABUVVERTR_INTERFACE Interface_ID(0x74f93c14, 0x1eb34500)
00029 #define PARTICLECHANNELTABUVVERTW_INTERFACE Interface_ID(0x74f93c14, 0x1eb34501)
00030 
00031 // since it's a "type" channel there is no "GetChannel" defines
00032 //#define GetParticleChannelTabUVVertRInterface(obj) ((IParticleChannelTabUVVertR*)obj->GetInterface(PARTICLECHANNELTABUVVERTR_INTERFACE))
00033 //#define GetParticleChannelTabUVVertWInterface(obj) ((IParticleChannelTabUVVertW*)obj->GetInterface(PARTICLECHANNELTABUVVERTW_INTERFACE))
00034 
00035 class IParticleChannelTabUVVertR : public FPMixinInterface
00036 {
00037 public:
00046     virtual bool        IsShared() const = 0;
00047 
00051     virtual int         GetValueCount() const = 0;
00052 
00056     virtual int         GetValueIndex(int particleIndex) const = 0;
00057 
00066     virtual const TabUVVert* GetValue(int particleIndex) const = 0;
00067 
00072     virtual const TabUVVert* GetValue() const = 0;
00073 
00077     FPInterfaceDesc* GetDesc() { return GetDescByID(PARTICLECHANNELTABUVVERTR_INTERFACE); }
00078 };
00079 
00080 class IParticleChannelTabUVVertW : public FPMixinInterface
00081 {
00082 public:
00091     virtual bool    SetValue(int particleIndex, const TabUVVert* value) = 0;
00092 
00098     virtual bool    SetValue(int particleIndex, UVVert value) = 0;
00099 
00104     virtual bool    SetValue(Tab<int>& particleIndices, const TabUVVert* value) = 0;
00105 
00111     virtual bool    SetValue(Tab<int>& particleIndices, UVVert value) = 0;
00112 
00117     virtual bool    SetValue(const TabUVVert* value) = 0;
00118 
00124     virtual bool    SetValue(UVVert value) = 0;
00125 
00129     virtual bool    CopyValue(int fromParticle, int toParticle) = 0;
00130 
00134     virtual bool    CopyValue(int fromParticle, Tab<int>& toParticles) = 0;
00135 
00139     virtual bool    CopyValue(int fromParticle) = 0;
00140 
00144     FPInterfaceDesc* GetDesc() { return GetDescByID(PARTICLECHANNELTABUVVERTW_INTERFACE); }
00145 
00148 };
00149