/*! ========================================================================
** Extended Template and Library
** Surface Class Implementation
-** $Id: _surface.h,v 1.1.1.1 2005/01/04 01:31:48 darco Exp $
+** $Id$
**
** Copyright (c) 2002 Robert B. Quattlebaum Jr.
**
#include "_pen.h"
#include "_misc.h"
#include <algorithm>
+#include <cstring>
/* === M A C R O S ========================================================= */
typedef VP value_prep_type;
typedef alpha_pen<const_pen> const_alpha_pen;
- typedef alpha_pen<pen> alpha_pen;
+ typedef alpha_pen<pen> non_const_alpha_pen;
typedef typename pen::difference_type size_type;
typedef typename pen::difference_type difference_type;
#define R(x) ( P(x+2) - 4.0f*P(x+1) + 6.0f*P(x) - 4.0f*P(x-1) )*(1.0f/6.0f)
#define F(i,j) (cooker_.cook((*this)[max(min(j+v,h_-1),0)][max(min(i+u,w_-1),0)])*(R((i)-a)*R(b-(j))))
#define Z(i,j) ret+=F(i,j)
- #define X(i,j) // placeholder... To make box more symetric
+ #define X(i,j) // placeholder... To make box more symmetric
int u(floor_to_int(x)), v(floor_to_int(y));
float a, b;
if(y0 > y1) std::swap(y0,y1);
//local variable madness
- //all things that want to interoperate should provide a default value constructor for = 0
+ //all things that want to inter-operate should provide a default value constructor for = 0
accumulator_type acum = 0;
int xi=0,yi=0;
if(y0 > y1) std::swap(y0,y1);
//local variable madness
- //all things that want to interoperate should provide a default value constructor for = 0
+ //all things that want to inter-operate should provide a default value constructor for = 0
accumulator_type acum = 0;
int xi=0,yi=0;