Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FVR/Transform.h

Go to the documentation of this file.
00001 #ifndef _FVR_TRANSFORM_H_
00002 #define _FVR_TRANSFORM_H_
00003 
00004 // basic transform fns -- since we only need one type of transform at a time,
00005 // it would be a waste to make this more general. The transforms directory
00006 // should contain any number of source files which implement this header
00007 // with a particular transform. This was only a relinking is necessary to
00008 // change compatible transforms. As a result, there should be no data
00009 // members declared here, but should instead be static members of a source
00010 // file. All data members are therefore global, so this is not a class since
00011 // instantiation does not create local vars If there are worries about scoping,
00012 // just add in a namespace.
00013 
00014 // The shift fns can be either in the current domain or using a shift theorem,
00015 // whichever is faster
00016 
00017 #include "SimpleDefs.h"
00018 #include "vuSimpleTypes.h"
00019 #include "vuVector.h"
00020 
00021 namespace FVR_NS
00022 {
00023 
00024 // general init/destroy
00025 void initTransforms(void);
00026 void destroyTransforms(void);
00027 
00028 // inverse 2D transform -- out of place!! Put answer in y!
00029 void initTransform2D(dword XSize, dword YSize);
00030 void transform2D(t_data* x);
00031 void destroyTransform2D(void);
00032 
00033 // 3D transform
00034 void initTransform3D(dword XSize, dword YSize, dword ZSize);
00035 void transform3D(t_data* x);
00036 void iTransform3D(t_data* x);
00037 void destroyTransform3D(void);
00038 
00039 void shift2D(t_data* x, dword XSize, dword YSize);
00040 void shift_copy2D(t_data* dest, t_data* src, dword XSize, dword YSize);
00041 void shift3D(t_data* x, dword XSize, dword YSize, dword ZSize);
00042 
00043 //compute gradient from frequency data, Fourier moments.
00044 vuVector* computeGradient(t_data* x);
00045 } // END_NS
00046 
00047 #endif

Generated on Wed Dec 15 21:20:32 2004 for vuVolume by  doxygen 1.3.9.1