00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CEL_PF_MESHDEFORM__
00021 #define __CEL_PF_MESHDEFORM__
00022
00023 #include "cstypes.h"
00024 #include "csutil/scf.h"
00025 #include "csutil/weakref.h"
00026
00031 struct iMeshWrapper;
00032
00033 struct iPcMeshDeform : public virtual iBase
00034 {
00035 SCF_INTERFACE (iPcMeshDeform, 0, 0, 1);
00036
00040 virtual void SetMesh (iMeshWrapper* mesh) = 0;
00041
00045 virtual iMeshWrapper* GetMesh () = 0;
00046
00050 virtual void DeformMesh
00051 (const csVector3& position, const csVector3& direction,
00052 bool worldspace = false) = 0;
00053
00057 virtual void ResetDeform () = 0;
00058
00062 virtual void SetDeformFactor(float deformfactor) = 0;
00063
00068 virtual void SetNoise(float deformnoise) = 0;
00069
00074 virtual void SetMaxFrequency(float frequency) = 0;
00075
00079 virtual void SetMaxDeform(float maxdeform) = 0;
00080
00084 virtual void SetRadius(float radius) = 0;
00085
00089 virtual float GetDeformFactor() = 0;
00090
00094 virtual float GetNoise() = 0;
00095
00099 virtual float GetMaxFrequency() = 0;
00100
00104 virtual float GetMaxDeform() = 0;
00105
00109 virtual float GetRadius() = 0;
00110 };
00111
00112 #endif // __CEL_PF_MESHDEFORM__
00113