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

SpecFVR/Transform.h

Go to the documentation of this file.
00001 #ifndef _TRANSFORM_H_
00002 #define _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 "vuSimpleTypes.h"
00018 
00019 namespace SpecFVRNS 
00020 {
00021     
00022 // general init/destroy
00023 void initTransforms(void);
00024 void destroyTransforms(void);
00025 
00026 // inverse 2D transform -- out of place!! Put answer in y!
00027 void initTransform2D(dword XSize, dword YSize);
00028 void transform2D(float* x);
00029 void destroyTransform2D(void);
00030 
00031 // 3D transform
00032 void initTransform3D(dword XSize, dword YSize, dword ZSize);
00033 void transform3D(float* x);
00034 void destroyTransform3D(void);
00035 
00036 void shift2D(float* x, dword XSize, dword YSize);
00037 void shift_copy2D(float* dest, float* src, dword XSize, dword YSize);
00038 void shift3D(float* x, dword XSize, dword YSize, dword ZSize);
00039  
00040 } // of namespace
00041 
00042 #endif

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