00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __GAUSSIANFUNCTION_H__
00030 #define __GAUSSIANFUNCTION_H__
00031
00032 #include "H3DFunctionNode.h"
00033 #include "SFFloat.h"
00034
00035 namespace H3D {
00038 class H3DAPI_API GaussianFunction : public H3DFunctionNode {
00039 public:
00041 GaussianFunction( Inst< SFNode > _metadata = 0,
00042 Inst< SFFloat > _center = 0,
00043 Inst< SFFloat > _amplitude = 0,
00044 Inst< SFFloat > _width = 0 );
00045
00047 inline unsigned char getChar(unsigned char x){
00048 return (unsigned char)( 255.0f*get((H3DFloat)(x/255.0f)) );
00049 }
00051 H3D::H3DFloat get(H3DFloat x);
00052
00057 auto_ptr< SFFloat > center;
00058
00063 auto_ptr< SFFloat > amplitude;
00064
00069 auto_ptr< SFFloat > width;
00070
00071 static H3DNodeDatabase database;
00072 };
00073 }
00074
00075 #endif