00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef DF3FUNCTION_H
00022
#define DF3FUNCTION_H
00023
00024
#include "isosurface.h"
00025
#include <iostream>
00026
00031 class DF3Function:
public Isosurface::IsosurfaceFunction {
00032
00033
public:
00034
DF3Function(std::istream& df3stream);
00035 ~
DF3Function();
00036
private:
00037
DF3Function(
const DF3Function&);
00038
DF3Function& operator=(
const DF3Function&);
00039
00040
public:
00041 DBL
evaluateAt(
const Vector3&)
const;
00042
00043
private:
00044
00045 DBL interpolateTRI(
const Vector3&)
const;
00046 DBL interpolateBI(
const Vector3&)
const;
00047
00048
unsigned char data(CNT x, CNT y, CNT z)
const;
00049
00050
00051
static const unsigned char OUT_OF_RANGE_VALUE = 0;
00052
00053
unsigned short int dim[3];
00054
unsigned char* voxels;
00055
00056
00057 };
00058
00059
#endif