Page MenuHomec4science

surface.hh
No OneTemporary

File Metadata

Created
Wed, Aug 14, 17:04

surface.hh

/* -------------------------------------------------------------------------- */
#ifndef __SURFACE_HH__
#define __SURFACE_HH__
/* -------------------------------------------------------------------------- */
#include <string>
#include <math.h>
#include <iostream>
#include <limits>
#include <complex>
/* -------------------------------------------------------------------------- */
#include "map_2d_square.hh"
/* -------------------------------------------------------------------------- */
template <typename T>
class Surface : public Map2dSquare<T> {
/* ------------------------------------------------------------------------ */
/* Constructors/Destructors */
/* ------------------------------------------------------------------------ */
public:
Surface(UInt a, Real L);
~Surface();
/* ------------------------------------------------------------------------ */
/* Methods */
/* ------------------------------------------------------------------------ */
//! Write VTU file that is a set of points
void dumpToParaview(std::string filename) const;
//! create a new surface with linear interpolated points
void expandByLinearInterpolation();
//! create a new surface with linear interpolated points
void expandByShannonInterpolation(int factor);
//! create a new surface with mirroring
void expandByMirroring();
//! create a new surface with mirroring
void expandByPuttingZeros();
//! contract the surface by ignoring extra data
void contractByIgnoringMidPoints();
//! contract the surface by taking left bottom part of it
void contractByTakingSubRegion();
//recenter the heights to zero value
void recenterHeights();
// set all the members of the map to a given value
using Map2d<T>::operator=;
static void generateWhiteNoiseSurface(Surface<Real> & surface, long random_seed);
virtual const Surface<T> & getWrappedNumpy(){return *this;};
};
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
#include "surface_complex.hh"
/* -------------------------------------------------------------------------- */
#endif /* __SURFACE_HH__ */

Event Timeline